mirror of
https://github.com/JasonsGong/JasonsGong.github.io.git
synced 2024-11-24 09:29:35 +08:00
258 lines
79 KiB
HTML
258 lines
79 KiB
HTML
<!DOCTYPE html><html lang="zh-CN" data-theme="light"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0,viewport-fit=cover"><title>网址 | The Blog</title><meta name="author" content="Jason"><meta name="copyright" content="Jason"><meta name="format-detection" content="telephone=no"><meta name="theme-color" content="#ffffff"><meta name="description" content="Here's something encrypted, password is required to continue reading.">
|
|
<meta property="og:type" content="website">
|
|
<meta property="og:title" content="网址">
|
|
<meta property="og:url" content="https://qingling.icu/website/index.html">
|
|
<meta property="og:site_name" content="The Blog">
|
|
<meta property="og:description" content="Here's something encrypted, password is required to continue reading.">
|
|
<meta property="og:locale" content="zh_CN">
|
|
<meta property="og:image" content="https://qingling.icu/img/2.png">
|
|
<meta property="article:published_time" content="2023-12-02T05:27:01.000Z">
|
|
<meta property="article:modified_time" content="2024-05-10T02:11:34.468Z">
|
|
<meta property="article:author" content="Jason">
|
|
<meta name="twitter:card" content="summary">
|
|
<meta name="twitter:image" content="https://qingling.icu/img/2.png"><link rel="shortcut icon" href="/img/%E5%9B%BE%E6%A0%87.png"><link rel="canonical" href="https://qingling.icu/website/index.html"><link rel="preconnect" href="//fastly.jsdelivr.net"/><link rel="preconnect" href="//busuanzi.ibruce.info"/><link rel="stylesheet" href="/css/index.css"><link rel="stylesheet" href="/cdn/icon/fontawesome-free/css/all.min.css" media="print" onload="this.media='all'"><link rel="stylesheet" href="/cdn/css/snackbar.min.css" media="print" onload="this.media='all'"><link rel="stylesheet" href="/cdn/css/fancybox.min.css" media="print" onload="this.media='all'"><script>const GLOBAL_CONFIG = {
|
|
root: '/',
|
|
algolia: undefined,
|
|
localSearch: {"path":"/search.xml","preload":true,"top_n_per_article":1,"unescape":false,"languages":{"hits_empty":"找不到您查询的内容:${query}","hits_stats":"共找到 ${hits} 篇文章"}},
|
|
translate: undefined,
|
|
noticeOutdate: undefined,
|
|
highlight: {"plugin":"highlighjs","highlightCopy":true,"highlightLang":true,"highlightHeightLimit":400},
|
|
copy: {
|
|
success: '复制成功',
|
|
error: '复制错误',
|
|
noSupport: '浏览器不支持'
|
|
},
|
|
relativeDate: {
|
|
homepage: true,
|
|
post: true
|
|
},
|
|
runtime: '天',
|
|
dateSuffix: {
|
|
just: '刚刚',
|
|
min: '分钟前',
|
|
hour: '小时前',
|
|
day: '天前',
|
|
month: '个月前'
|
|
},
|
|
copyright: undefined,
|
|
lightbox: 'mediumZoom',
|
|
Snackbar: {"chs_to_cht":"你已切换为繁体","cht_to_chs":"你已切换为简体","day_to_night":"你已切换为深色模式","night_to_day":"你已切换为浅色模式","bgLight":"#006650","bgDark":"#006650","position":"top-center"},
|
|
source: {
|
|
justifiedGallery: {
|
|
js: 'https://fastly.jsdelivr.net/npm/flickr-justified-gallery/dist/fjGallery.min.js',
|
|
css: 'https://fastly.jsdelivr.net/npm/flickr-justified-gallery/dist/fjGallery.min.css'
|
|
}
|
|
},
|
|
isPhotoFigcaption: false,
|
|
islazyload: false,
|
|
isAnchor: true,
|
|
percent: {
|
|
toc: true,
|
|
rightside: false,
|
|
},
|
|
autoDarkmode: true
|
|
}</script><script id="config-diff">var GLOBAL_CONFIG_SITE = {
|
|
title: '网址',
|
|
isPost: false,
|
|
isHome: false,
|
|
isHighlightShrink: false,
|
|
isToc: false,
|
|
postUpdate: '2024-05-10 10:11:34'
|
|
}</script><noscript><style type="text/css">
|
|
#nav {
|
|
opacity: 1
|
|
}
|
|
.justified-gallery img {
|
|
opacity: 1
|
|
}
|
|
|
|
#recent-posts time,
|
|
#post-meta time {
|
|
display: inline !important
|
|
}
|
|
</style></noscript><script>(win=>{
|
|
win.saveToLocal = {
|
|
set: function setWithExpiry(key, value, ttl) {
|
|
if (ttl === 0) return
|
|
const now = new Date()
|
|
const expiryDay = ttl * 86400000
|
|
const item = {
|
|
value: value,
|
|
expiry: now.getTime() + expiryDay,
|
|
}
|
|
localStorage.setItem(key, JSON.stringify(item))
|
|
},
|
|
|
|
get: function getWithExpiry(key) {
|
|
const itemStr = localStorage.getItem(key)
|
|
|
|
if (!itemStr) {
|
|
return undefined
|
|
}
|
|
const item = JSON.parse(itemStr)
|
|
const now = new Date()
|
|
|
|
if (now.getTime() > item.expiry) {
|
|
localStorage.removeItem(key)
|
|
return undefined
|
|
}
|
|
return item.value
|
|
}
|
|
}
|
|
|
|
win.getScript = url => new Promise((resolve, reject) => {
|
|
const script = document.createElement('script')
|
|
script.src = url
|
|
script.async = true
|
|
script.onerror = reject
|
|
script.onload = script.onreadystatechange = function() {
|
|
const loadState = this.readyState
|
|
if (loadState && loadState !== 'loaded' && loadState !== 'complete') return
|
|
script.onload = script.onreadystatechange = null
|
|
resolve()
|
|
}
|
|
document.head.appendChild(script)
|
|
})
|
|
|
|
win.getCSS = (url,id = false) => new Promise((resolve, reject) => {
|
|
const link = document.createElement('link')
|
|
link.rel = 'stylesheet'
|
|
link.href = url
|
|
if (id) link.id = id
|
|
link.onerror = reject
|
|
link.onload = link.onreadystatechange = function() {
|
|
const loadState = this.readyState
|
|
if (loadState && loadState !== 'loaded' && loadState !== 'complete') return
|
|
link.onload = link.onreadystatechange = null
|
|
resolve()
|
|
}
|
|
document.head.appendChild(link)
|
|
})
|
|
|
|
win.activateDarkMode = function () {
|
|
document.documentElement.setAttribute('data-theme', 'dark')
|
|
if (document.querySelector('meta[name="theme-color"]') !== null) {
|
|
document.querySelector('meta[name="theme-color"]').setAttribute('content', '#0d0d0d')
|
|
}
|
|
}
|
|
win.activateLightMode = function () {
|
|
document.documentElement.setAttribute('data-theme', 'light')
|
|
if (document.querySelector('meta[name="theme-color"]') !== null) {
|
|
document.querySelector('meta[name="theme-color"]').setAttribute('content', '#ffffff')
|
|
}
|
|
}
|
|
const t = saveToLocal.get('theme')
|
|
|
|
const isDarkMode = window.matchMedia('(prefers-color-scheme: dark)').matches
|
|
const isLightMode = window.matchMedia('(prefers-color-scheme: light)').matches
|
|
const isNotSpecified = window.matchMedia('(prefers-color-scheme: no-preference)').matches
|
|
const hasNoSupport = !isDarkMode && !isLightMode && !isNotSpecified
|
|
|
|
if (t === undefined) {
|
|
if (isLightMode) activateLightMode()
|
|
else if (isDarkMode) activateDarkMode()
|
|
else if (isNotSpecified || hasNoSupport) {
|
|
const now = new Date()
|
|
const hour = now.getHours()
|
|
const isNight = hour <= 8 || hour >= 22
|
|
isNight ? activateDarkMode() : activateLightMode()
|
|
}
|
|
window.matchMedia('(prefers-color-scheme: dark)').addListener(function (e) {
|
|
if (saveToLocal.get('theme') === undefined) {
|
|
e.matches ? activateDarkMode() : activateLightMode()
|
|
}
|
|
})
|
|
} else if (t === 'light') activateLightMode()
|
|
else activateDarkMode()
|
|
|
|
const asideStatus = saveToLocal.get('aside-status')
|
|
if (asideStatus !== undefined) {
|
|
if (asideStatus === 'hide') {
|
|
document.documentElement.classList.add('hide-aside')
|
|
} else {
|
|
document.documentElement.classList.remove('hide-aside')
|
|
}
|
|
}
|
|
|
|
const detectApple = () => {
|
|
if(/iPad|iPhone|iPod|Macintosh/.test(navigator.userAgent)){
|
|
document.documentElement.classList.add('apple')
|
|
}
|
|
}
|
|
detectApple()
|
|
})(window)</script><script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script><script type="text/javascript" src ="/js/welcome.js" ></script><script src="/js/sweetalert.js"></script><link rel="stylesheet" href="/css/sweetalert.css"><!-- hexo injector head_end start --><link rel="stylesheet" href="https://npm.elemecdn.com/hexo-butterfly-swiper/lib/swiper.min.css" media="print" onload="this.media='all'"><link rel="stylesheet" href="https://npm.elemecdn.com/hexo-butterfly-swiper/lib/swiperstyle.css" media="print" onload="this.media='all'"><!-- hexo injector head_end end --><meta name="generator" content="Hexo 6.3.0"></head><body><div id="sidebar"><div id="menu-mask"></div><div id="sidebar-menus"><div class="avatar-img is-center"><img src="/img/avatar.jpg" onerror="onerror=null;src='/img/loading.gif'" alt="avatar"/></div><div class="sidebar-site-data site-data is-center"><a href="/archives/"><div class="headline">文章</div><div class="length-num">60</div></a><a href="/tags/"><div class="headline">标签</div><div class="length-num">39</div></a><a href="/categories/"><div class="headline">分类</div><div class="length-num">10</div></a></div><br/><div class="menus_items"><div class="menus_item"><a class="site-page" target="_blank" rel="noopener" href="https://www.tutorialspoint.com/compile_java8_online.php"><i class="fa-fw fas fa-code"></i><span> 代码</span></a></div><div class="menus_item"><a class="site-page" href="/notice/"><i class="fa-fw fas fa-stream"></i><span> 公告</span></a></div><div class="menus_item"><a class="site-page" href="/website/"><i class="fa-fw fas fa-list"></i><span> 网址</span></a></div><div class="menus_item"><a class="site-page" href="/"><i class="fa-fw fas fa-home"></i><span> 主页</span></a></div></div></div></div><div class="page" id="body-wrap"><header class="not-top-img" id="page-header"><nav id="nav"><span id="blog-info"><a href="/" title="The Blog"><img class="site-icon" src="/img/logo.png"/><span class="site-name">The Blog</span></a></span><div id="menus"><div id="search-button"><a class="site-page social-icon search" href="javascript:void(0);"><i class="fas fa-search fa-fw"></i><span> 搜索</span></a></div><div class="menus_items"><div class="menus_item"><a class="site-page" target="_blank" rel="noopener" href="https://www.tutorialspoint.com/compile_java8_online.php"><i class="fa-fw fas fa-code"></i><span> 代码</span></a></div><div class="menus_item"><a class="site-page" href="/notice/"><i class="fa-fw fas fa-stream"></i><span> 公告</span></a></div><div class="menus_item"><a class="site-page" href="/website/"><i class="fa-fw fas fa-list"></i><span> 网址</span></a></div><div class="menus_item"><a class="site-page" href="/"><i class="fa-fw fas fa-home"></i><span> 主页</span></a></div></div><div id="toggle-menu"><a class="site-page" href="javascript:void(0);"><i class="fas fa-bars fa-fw"></i></a></div></div></nav></header><main class="layout hide-aside" id="content-inner"><div id="page"><h1 class="page-title">网址</h1><div id="article-container"><div class="hbe hbe-container" id="hexo-blog-encrypt" data-wpm="Error" data-whm="OOPS, these decrypted content may changed, but you can still have a look.">
|
|
<script id="hbeData" type="hbeData" data-hmacdigest="91ecf6884ba3d95b7b7b15293e18b4ab72fbcedc9a1987a47e54ce76e886ea84">4630436162ade97ba2718b7d0c4b3b63529037e4bf2c78678907611385183a03302a25d3d164f14f210ea5c982912a01f7df8a744763771fb01c68445a0fb4110a5765fc4db649f9318cafd29447988b2a490328cafb3b46a123397a1b998f6784d9f4fd93ece9cabad36b71b8ce6eda6b0345f2953d2f849f242d2f63b905786b82511e5d3368c4fde817d210299665af26b7e1d9fb8f9a051b086f7af7b546bc7b90c829918759a1c867578782a48b5f889332d113fc7ae0a259d6102082f5e06605f851e070fba7632a2c3cc6260679877bbc0c8853ee817bc5d84966113071256e90cb304ccdb5ba9df35aaf41c543bf266c07fb40ff3c77040fed3a5df359eb560557d6470971522f808be0a7ce7a884f86c2e0ff0d268054e9cccec7c9244d3c2b022ebd357d0d98718200dd0e95747c004dc4f57bcc3d632276991ec0d2c8758a9f7bac5dbfc174053f139ad72ac09371a1908dfc1686f3f943fc669e34b94b38d9f94595fd75fd54655e841f4a92ae33690d4c6356914a6e8c34d608eccb83a8b110d09593438ae875629fc866ccd3fd8d70b53dbba03a1dbd9142300f1824d5f3facbc9d597f4d2d561202e8690314f4cfee77a0d23335de004800513d72730aef0be1534095b100bf76cdd0c7a72ab6a73a2a800239e3649d1326885a53ff320839fbcea2b2c3bee60085d2a9b1aed0dec5ead2c6b4e64d6fb890b6aac69a032f3880f33e143d30faf696ff008bf75a8ff990ffca51d9ea3835a35a3fd206f9f0aa1788075049df751124f8b4986e08ab558fd950c785ce490182ab482170fbf2c4d0da4b34178f986259d4d0bfaf4927017fef645ce9e330078694812fe4218a77e67978d4515717cc7d70c44861491e9d0eb9ce69f3ee7f4110bfa6c28c18e8d4a725e656cf1b1a992842a9a66dd83212c1b56380850cdf5a07caae0afc657e180a13b670588aa4f5ad1f01ef25acf0831124481a11151a6356bde3845b0e4c361ed1c0f1b9350268225702c78de6c01256194ca3d888245be62fb31b8b721f4828d079fc76dae55846fce3d7d9114a298e0e41dd77660af0a4b9555b86a49059d7acc0bb8390ec0e9e2d9173225f4b5cd6ab58ebdc7bbe30cdaf4aa0c3a443ccdda16c16cfa5248a99fe0a598ced37468375335eefda63a835fb6d26a486573d1667ad3c2411c420788e35a9f2517c89bde0928ea33142672b2ee1840856470c53fb9eff2e94da216c7004a222053d9d41615fb087ce22e070974cfb880c120d21c81cddf0a6b78451484dee17dbedff36b8f9b1da7e7326c3a19b5de8735a4f3c3c6045406eec055aaec24a538574465d41362559b23e2d133df9ab18c1ab8bd3b8f8a2610a32911c833f6b984d87099210bb32bb89d1d3fa4be8f1930d4a3c6fb65c4690649cb28643136a3121d514d300829f52062bf1e3e6fe7cf8b8918265e3403eee889686c20213ef8ef1203ac2e4d907d7148ec6e6d5bbde2750d344b8808d551bee132ce190910afe06a508e46c3244e9c71f47360c602a983e29899ba039163e640c68a4b9c495befd426b3009c400d0bf87f7812eb8dd25c3eeceff1becc0030914d3d2b93feb727c1955828ef600030672a761d88925953224267ad6e9356adafabe7d358dbd97a0ec616ad4126699c2b4f85f582ad572456bb2ffd39d2601f4ccc8c5e9038ade71075e0026935cfe3bf7fde8b6b4ffd9b16d879846907ea7c7ee7a73e03e6bf19fe7b0eed2323ccd9153e67bfcc2a7345d95aa174e59a28ac208ec59f3784c34751e414aae47d5d9191e9efb9687906e0088bf81d32d6e1b7c5794ff38230409ccf580e4e35eabaa55be3289f5ac4cd6993b02685d6c0989cba76b74b4969ef71d3e11a209141e867803a8673097a1fd57830f08b591f389c2d923dda077feb9a1c66ef37a4a2aedfc199add74150cde6c74fb1679c48f846063c1b00163fff5c6202a08b0a4132287d7992bc76380a5189705840e514f4eabc06c38bfe7e532ea6d1910316da74ca7836d1662ce810d14cd530b648cc53e7cdd4beb5682a5eba223384b2ec70d0419854af6608a4d46043a619e9443f557132338fcbe757fe4a07f0cdcc9e8c6fbbaef52a20a3106be1b0af9d079ecabc479f82493b152c95dc32dac0fc28447ef23d02d9b5d64de522eac346b5a85373bf72757120543810981a09eca242ef74bb12df0c02e1289b8d56a4e2f5c73749a24d10df6697c824bfdc56576165c6a5a4dc11d681622519d49ecd75072e969aac71bcc34c1bf1b50e54102e70e7b597e8b3eebc8907fa661f75858796f5130110b52fbf62656e25037645681d83b944da3d2f4aa5623a404dad19f5e6146ca612dfb5f644d97282f781fd41b5507cf05429282d8217058d1d7518511f01486bbed7efc2b20496ea8d3f92013b62d32175563ddbbb2a9e0c8313bc388411d9b67d54ed5ef79f7c59f2762e716d332d726b3daaddf06a1a432ca9052a764fadc9973e32afa40af93b46db20f98015594d0eac01529e83d1901c6fef6e5707af4b7d5616ac36e42935d9509b64ae9df09c17d9fae30bf8a096da48ea4b57a906e5f19730bb6e8a17da6a2ecca2f110e66c49271e20fe7cb523eaadae853d0574ca87de507f5e42d773c3f7243cec85c53b90f84ae55ab55f58e5856dd12c7ef17e2e7de41cb59a6fe8fc95eb48c4447b66928c34e225866f936ce83d4d5c936697ea1581be780bcada21045edc1053409ab00c7215c7cf78f34ccd71ea3919dac11817785f1791f8da20593de7333152057295f7dea6fa122ba9ac507ccb971dfd7f691ec97904e9e33dc6375cb6a89b88c564fd1efefc0ee0675aba314c326bf585d176ca128148f0c2d1d02e28a9ea582f725042c5aa96cdf1b9d344c495a1bbb38b6d633d8d5c2aa1c9446e4d58b3182d11abc8fd365aea908d306511c68e5717fbda6b6d6c65c072e40690e7ed13dacadaecc12526d173248b931fb3a84ad96d09902cbfdc38a5447dd27539276686c5960db520bc3ceb3dcb8c93f345adb54c7dfd642d055cbb967c87860481b26f9fb05e4b7ab18a78e84b43aa9eea4c9a6e8132425f55e7793a4c4f8c344ac0024977d6d98ee6674c6d7651002f1ac842344a1ff0ea51d286f282804dab6efdd5ca661a5752d5d6e764a6200f28139f3d07c5eeeb7a365b482a0b28159fd9c8c8899e40de5e99f9ea8a571d93d07e3e0e02b2d799c18886f53e7f977de4e321af5c5fc46abc46d5238aec3710ae44dc78ec28c5715eb3d6854a58c936aca4f84d82b15c38127cfdbb1931b91ae1538e18ff048306518356afad17fa3777f531123b085987ac20aa12ff101b67605855b6eddac0efd0765c06df7cf30ed10e8ddfe890ab26a86208dcfc1cb98b0b3d42d8adb959b76c02cb7d9a04f009ae6a03a55ab7cdd3dc170c96278bed7291928f4f9e634bf52030517782b647402b8fd64394c9305af5438b988cfa9aaac6ac0e67fd2d761470fc48292802a76e1efc717dec56f061d005762c1d182071bac84b54a7a8c9334a953227be450db92950dcdf7d19cf6a4645eead9043681e7a3dfc8eaab6f7d284e58aa1278c70d65904a47eb257a6f9fa4800f1ed26230ecbd2680da39593453173afe29ed9ed82c2ec309ee7f20319cff433c835ba2484364edaada7db17e25a449ddf099a24d64979c06f19629cd2c8a38a369305ed1d7ab9ad2ecd3d4ad712718c0e318cff7fc81f61cc4009833cf995181f3b6ca981f918a2ef92b9fbd0e005d00aa89dae9c93b9123c2bafd0515cbaa6fe40c7f0513248fffb2f5c2ef7c10062b23a353320c69a39d5f99590b6dc84d071ef11a5405263e84afe36acc6ae4dc3dbbeb05c23ac3af2dfdeb16f3b8579e7ad2c3b2275e45a162472ce99c6bd8662ae12f1f4565c60a4ca674779b3099c595b68257ecc5ca95e579528c607e4ad256050efb3b756be8a26c94685e98e4ac1c23610817b1693b2dd96f15558c86f4ae546e6f7c6b8e57afc084747644dc27ce8032d178debd4513e407e05e0ada255edfbd44276fc7e461c6884177f768114346b2a1e821697ac09395ee9b895b19167a97f18f392ea72531c09c183d6cf4ee4e8cb7158e1be33e53b93d62205ad30fd387fa04237a69e75f44f471b50c62df89c338059a83c24e2efacf7f4293e2764e4086daa1b508a9acd39f2bb10ffe6872e58f8a69b3cbaa67b1d248c54bd02d051d8acca6440b4cb773fbd499bcdfaa8f1ecaf0b43dae9948d7c4c54f9ce383bb7bb38f0f3b8292be62abef6205b8affdc1d0a464c858c5c6a7c16950148bd426c714c2b736c7c7398256a50fa4ec3de20b3a277dbf58eea16750adf41fd3aa802edcffffb5574c78cf7462c7e219ce63a5ae43a51e92c1bf6d8a00d0e8da1dd48fb5eaa481ceeb7cc108d444f2ad1c63d20b682b76ff7f3be179f5ebf8dcb873cdc47fffb52c56805306b9afbe27d77447de4e2a232b9b647308ecdeaa3df859dbde6348ced4bd8fd9ef68995cf24f20e56b19d9f0220916ba4dbcb41c224b0e72f878d72f23747ba931aa21c9f94bdeba639f8b6d7bbe0c83cafbf74b69ce55ef17642e2657ee9894fef7df7e8c60b354ae85f69568979339370aab56445ab5e0f774bc7835f121df892c699b4256ab2bded3153c650ff478c3fc6ee48b46bc077980959ce73323092117fc8ee0909505eea01c0806729a0f548c6dcb8c4abf900b7cb085ea10b827a5caf877eaef08b9ba2f3981736dc4774fadc0754f5be4babd50d3c2ef0d307261fc402b25e33e98be9f28c41a0d7c29627fb028ab1423c0d89da80d29a87f12365e089e9e96e7f39159f70460c58f42325e44dc005fe1d339bf11ac72f89c7d618cd7a50e8c8d81e172583d34503c7ba7915403212f4326acb1fabacd767d5f8737dc83228c14d7f14b0b26e1d636866f13aa22fda079089463e4785f87ddb1ae5df64d9290d23b152e5c1da555db0b151ed6c77e603f1dc410ff38f7c777c635cc8c993fc441717ca870ede925d3702f66b4c828854756c62cd4297e0a0ff60bd2066fbacf2c6324516649fa38aecb2d563b8779deb53ac8f81a7dad12826c1c52c415a3aaf78c1a9ae1cc613b7589ce84e25b9f6ffb8efa99b02810f8a4c208ffb0f1ff3ee584ad2cdc78a194bcd73ecfd32d059c6a8799f4b54e4b5e1d3cc817d4bdb165273633f45fedb9b9a4ff51acdd2b002b90b5fe898302b751022f0a3eb23ee21704b1781056150b4b3fc79a40210f1f59a4625a2a39f0b880543ed84c84330a6707cdadd6d648f4eba9c8b54cb66d9efecbc8d4c34856e8503c6ed4772d647e4fc18d14da8ccd2c2ca4cf07a15e91c5fed14ba2e8b27f3fb0a059b2dfd36a41b2a4a00a4cf0da62767af57fe105de74b0247b2bd690448b1d7571c24f65279f01cd287185d65ef70e626afbaa59ab4cede1d1a8b7e0645ff582355fe0cda1890312df77f168b107254752be03c03e8791395bd65e4678e3198e632f6278d240f9ac39deae8fb3df9cc3dc4906bda910828f8686a8f879c074c92c209d1d0163ddda19f8d30d25dfefb9debcbd89bb8283413beb2f7c82102f009e560d220be4296ba2325a57466c97adb20dc3e022bcd086d4c2b86145a69dc50feb1006a08b7d0553b008e83daf94c9625b577007cc5a6b8849682eb9c3e9635afdb7616eaf893638fe5190e8b15f4cab139be46da451317913aa5e5d5712b5c0b4adae640fca067a7250e332b2c3b953167af0f2284842a9f1c3610ef4afe084a8a4c91316a5071728fde16cba4fa251eb9f9e8b5c6122c90594aa80008ee684d57b5f98c3061284819f5022189c26218f4d00bea7db7962790929c86009b6d01b236181547e731bb806d2086465cba4324578ec15e9f942375486f3ee420d8801fd88136271edf05f1346e70e7351b0819560d71adc7a1a73ac9568f40642ec602cb522969fbb4c1137a68f691012f64d22ded262ffed857780569e533ec1a68c20101e24e14d065964a2c69370cf5ba38e4130a99c64b371d16c876b917127bc84d16c16bd232e4dbfa3e6f9cd2d60895960d5e64eb06b06e97b74cfda23dee83f2009722eefd2f5cd35e111cde1772fda725cea4a9a8952f62c9811d5429be6c96301f026bafc86c4d6a9a6d06e85f01032ab0b1e8066dcaa57a9893f7d5e3da213c4d7bbcdf7a455d01d05b2c716d80dd109fe4de44330be20279a9edef4229919407777cce77cbb179de01a9d835b6f2fac114e56a824c03d418361674b6fc7e2a6b21385fffd995f491fb7c29d7d8c35567ad0522a3e7b4c114239fba5efffd946d8f54d379e7dd1cd1a8f26fa6e4104446506ae89eb559baeb5d67c833a897c9611f286cd7a787e9f8c734ff592beff3fc6be36c6800cc356cf5aafd15ec96546417124cdcc3d6203c6e4e0eeaee5b7599655baa1d0f7c9547196bcaacaafc8740dd4c03410698ca38467a465eacf59bbfe35eb5121e4ba633ac3f1072de02b256f4f9d4bd2e195fb737885bcc37b84c27063ac77ba525546d738ecfd2389583714f774e6562442a224a261fbf93b97102b2c2b32f7466ea4d077c6bdb20bad8540c38af0c5efa5f16b55723cdf80b4545af1fe08106eaad6e107967a6c085dd33f651f677dd21af5c30b43b5cde20f613c93d4b932bdfbb7252038e820e88a8373b16fcf1e5b77422f197d826140c258b727b161b10ad43949b04fdf7b0815a1f5b1057cb0977fe4e071192151acd2834a25e040c33c544e1bb382f22135281425e887876ffab25f9ad89577ba8712f842f1d9defc281236877bd6bde5f3098b28e1d5c73f7adcc7467586a874698ff4abfdeadd1e69656dea938e4d766d35f1e022434b683c3c842e91b224cc80623f9ab26f4658250fad0f0c2cce4bd219cb96a27681b14816a4851d9dbb3cc6b3e3d054ea27b0080eb5bee1e1481285730c6a76cadd9d5341cdd159735fa5c142a00162e6d81c27037854cd8c961d01e43f37f0709e7957058ce721de81f6db878de00094c27c4530f5ddeef96b30c49b01b7541f48a4344fd8dfe022b2aea00d6335c0f4439242803c33a043f308dfbae49658356a1a3bcf863465533a5a21be687ac8634a92cfbe06ca018cad9747156b884e8d2a998532bfd73b96c63c00c9171389ef689a1aa2df842e55df0a6c13b42737b52a7a3ec976d7de85e4bea62920899377b43f42b0f502c88a8d1b2685509d6ef6fd1e7856f1dc6d3782fc401b712127acd413f73e6d3628edcd07c5df2fc10ed4845296da98849a76a14c188297a484791c8c2d577b6c10979040d1d7ebdad9965b8e6cbf5446c86c11124b21045795fb5c2abc86d8cbb131175a474c003effb29b42638a0b7cc1aaeba6f278ea4a0fc0e2f117494f5e2399517bd5a929a7945e76fc2938c2a55df1338a90a2883b4b08b9032a47d53de918d1777da8de626930bc1b2869e480023ff4dfb42de21033e4b265658afdd6609c503973bcc66e8fe479d574e217cba39d0d9ee6cae35d9a81722eff7ff4ec3717f07341f77e3d973cee10759e1bf4501381dd4fc668662a274da5b70138a3326b2824e40299e6561d1ab05ecb655b7f6c64c5a35519c735065997db2924a2f2c13587eebd31d08cccdf94ed90c011a17364a80f255fc6941fce6982864b3e27d99c815641a72f65a96fd9da6773e22629da4be349437b3fd8d5b419b30b61c6ef9ee19d437169a9b516c8366fba684cace6ef08274bf572a3975ed1de2a93fce046621f9801128cec9a5e6338a49c0a8315930e0ff951227b3ffee171acac5eda4ee57032f72b36d45e50f5403c6f0d68621429cc7f1ca6c2243c2baf522731d5d41caeb71766519e8a5683577f185d371a745987ceb8ed033eabcedf0fb25de960bf19ddffd7cf597d9e2bba23d53ec4cacd3de17d0fada7521ef655d7521dd83b1f87c08f80080742ec2a1208e303c337453c26043306fca415c5d3d1bcd1511630603676559266565e35df6cab6c167a072407c04c51ce1dfe3dbb3671ea7b38a87caa70e08e794112b7ee49fd70f0768bff4095710f03f07d7624cc292dd5c718e8bb0c60ce9834ac32cfa78932638af435b60632552d1a8e15347fe185d9e4092af2173027e5ede87a1ec6877c0fbb38f91f6c982544ff5446329ed57527f3a2ff427ce2a6371035b6faf04de80275f411299396837b87c38a92a165596355a0de2a61e1561a979bc0fae8804524763440ab39795b4ac9cf21e57304e73d6911bd6adc3ff3998987b8cc885406c8d349ffa6d78f3614c5b3759681893c9dbca8ecbc8be9589068b7eabd442d0ac8d60c59c353c25586810efb10d65aa42cf73ae8436ea51e3cac3a66ca6ef81161888e62c99bd0104d01d0aeef04403a5e6548944116622fa3ddee2a0da3a64092ea869594c1dcf09b585b1c78ea67ee2d648b4d554986a093b05fe537a37df6c166e9b4403cb9c92aa3a5581cf6f0dcee18e17bd843de317042e4315fe590f0a3f2df4f101b0f6a8917d4d5ac49f813e130b16fb61f6981a3e88dd55e1dd2d5e3929f8458c3dd748a8d833bbefff14b4f8c10f7871e3beefa292d7b35fd6daaf4fbda62d7a1b545cb4d847be95988c682cb9bb27a6c6d80bc8b41ed8290ddced6cf968a6e3ec0282ff8785518d8c35362a4a74d96eb158c29ff2c9100565e7e091638904e22dbac8e99243f9dc45353cabcdacccef32a12d66b79533c1601d7e776fa5bd4e17a808df457888d562a5cd64b3cedaa88e27c6d8dda4ccc4d22e0b6c9d86ddec40d959cc7dd0e9532e867a72f477b005214492d850738aa8b95d8f13ad8ce3bb790969fd6d01b94bf63adfed5b406f038f290997d4e5f99981620a2a0087957de959e8f357a16745b7c3f9fe5a1cbad413998269a6e37312b4ec9ee666e105fc5230b2e23ac764355ebcce22b5e18c76cc238f9a98fc9b46b089bcdf95312df9f7e7479c7eee98130a64e89f5fa5629e4bfc9af1e86b298bee95d43345785ca80be4e4384696849cb81395c80922d0aa919877ffc697a034f65eb43928e328ca6e17a04e8a18863d0f05b3e7d49ea8dcb2adaff9ae0040c140d12e7d198e404c846c8d6a44104057d2e481360a91bb24c78d0701a892776180032ba1e28116ddded94ccc45f33c370b2db857bcc0c044b3304bbf1f02bfcc404e066a6b893219caa54127e85931e4835f819cbfbbc855df605889f45e24d6b38c40e3d3b9b881be2f74595cb4d36a03ada0e92bdb5c94e1d1acb3170ca5865554a590f185f4411114a1984869c85851ecbcc7e766a24a47ca41ad5d9e4d5715ec1086811dfb308603938cc87bcd9f9b0a998e9ef7614f76367c8178223850e747936063d0ccee2b5ab08007d563ab08da12fb0f0d4d2d20293af7ca0c83b4001cb9526d7dd4a5841e86bc413803e94b82b1ffeb7d452c07ddac899790314386911782d1a689a8e1571ca086821f91a894a9e7058898f0aa46d0b2996edc3aed1c7b0a60fdae38be0fa0d3bba4d80e9bd961cb48dacc41cda6fa7fd89cd0b0c5929859dd58a8566f9085bf12b58d40f2113212f495a15764ec8b7759631e3e5e38fe32dabff4f25058ea9daf496504aee16e3de18405793d9c5e322262a998695c7506f7665f259a13ba078eee7a013d473f010aff6265491bcbf0ba21de40440bc4c0f20935aedc779351889dcde5650b1b0e3f6266ebbb30447381faa23470b73674834896df7a7acb008eaa366a8a2424364f2d8d8b95ff6784ca39b767feecc31861422bb8e44286679dc98019773f86050b1288ea108acad22482c5d3ebf26a85ebade854605cd3c751b6f49efddc864627851916ff2006b51972aa07cc58bc6a92d60af0170c45e7fa1698ceebee3c689eb5c9e2dbbd87481d3a41a5a1dc19eb4c5c415e8ff581b53ac968d43c29eca61d61e485afaa44f353ff6ac960e9344084d40c983307e6013a7f5612296888ca340749995c28eafb76df14d58f1b9fa21d15a4a3530bf7bb4982f3d7573254309cd875b1c99a887eeee636ad73246b4ea6479a5969010409cdc020455881bc51daabaa8294e1290d4ef5d3b8524b3b4cac4fe4c797007f68af63fecec5b52cc78f7c534f8cd55cc04e0970309ba49c1f0a4191822ca7a7948e9860da6a0c312696557ef14e6b0bc56b1f63f3a6aff40ad0725fe0f524666745141b309549bfb1fe330dc2f650cb490e704701b6072ad23a4b94c27c5c6a1c77c196c2818f803da2939735558ac0de528684ee0a8b7cd96a9f2418747cd0f9bd60fe9a328636e5dcea968badd10d280cb30dc909c1783ec7a4da32ca8b037b8d0d821fa31304556468a797b8b4f07aff5de2696c21d153306688aa9723e8e8a96925952d7768b603d9eb71cba33fe8d77644eaa357a6500256dbe8735a6552ca514e9cdea0877e2e385aa0b419ad61dde1e539aa14f54e689e3af8b891056cb6ba0daabc59a70906cf8b48d3bccf84c0521435f4f42b35149c140d35ca3199bb92c1aa7f8c1271456dd678aa9e25e0346eab522e43ec19eb4b28ca62631f650cdc081ed00ae9f4530a3f8cc449215e7f09a2e15183976d8fcc4d2d75c9a0d5c3719b94559c31630ffea088f1412296e150431a21664b3170156ac24b7a4843876085ea7b5b9504293091b6fe34d09855e95d3868b4fbbf4cc66c5f0e210a8464f573cc9ada5e7aa49f89551f7df286206510b219a0c4242ad8e6963e565955fb9144857edb0a7ec8e1b539434d30a805890b70b4f912ee6f36136e566c3c91e9c9265f2019799aeb26a3b86da77f316e9215329fe5dbb892ee8ae1e3c48bcb08fc93768f57a52bb95c6b6eb9052cb16a42c7b0b6908c35e4fe7dfb189536facca7294ffb0a6db7cd4a8cb5c7cb876b59322b953e1aaadad896554422fa5ff9381ed805d4304a49703a9c2c023d889543a4dbaf072338df2a81a792b72f58d998b9f1be5a801289ac2dfe2ef9e9135938099f76a25484a1a69a4f6d73541785120059a64be057a9700c249bedc4b4f5db5b13108a8c548bbe88d2131d451708d7ed7d2fff95bc4d85afd44a575f79f45638ee5441fa279cc0a2d63db4ad0192dfc8becb805879c8a7d5d94badd457106bf57f5bcd0fc0111ca73237e8d4f99530c594f09b99ded2cff303640ae82b0a51dbafe2ea6f6e7e74f005e42df0c32dbf10d1307e94815456330ad07ed0cd6a13d1dc2c59c26807b70e95b9158e5b9c138a2bead04bf5b20cf9791d5dcd37198727fa50b64fd158a86173c639e3e006d8229aa971bb017058dacece74fb4ede0b3be686869da9f35267f608fd2ea2edcc55fe908c38ead795542d95ef5e6d72dacae90ef45ec1c9a8cb4e3cdde200c6c0e8826501bfbf4a0b300ade68d1b8c4c6a1f681644affce543bbac7eb1cc06b4765c79210427cefcf48c85de2467d0dd4d9a1e148f2c9c06d73585322562e3da2a814108c88a3ff1e699ff7343343f17565fa8836fdb3d9a0e3cfb5f2758212f4e5e668e5007bbd1257a11f39e9f5a92efb5d04bb89f1cd5aa97323481025f4bda8ea49962abd984c6cff1be4d68bbcb6d647546fe72d18fd7c8eb3cd36e2772f47a423ee309270ca705508947ab2b342aa8693a4498a79da463cfab648815e4d7e0564f721ba2aef4472a1e20ad144c122e692c78e8a99e7dce6c547e826bc17a54941b7f5c86f75711901f5731a16473bafd88eada627b87503ae028e1dde6726b3d60e4124bbc21b90e5e6107e21820512baeb5e8e7b0c32a806dccbfd41f78b6088275f4f50d1c95e42f5ba31a3937ec920073fbaca85e18cc2b5d7c1fbbbce5af12c9c794160949053b2e76dd1c56caf8ec8a08a90121fdfaa62225b12e5c14ee7cd251ac5aa723f83c5f9bafe715c02432fc1c1a70d6a457b37bb1b419640b8f9555a897c1dbe7b085e7235c52863832e250e0eb0bebd0a2068f96f97d2eb8cf65a016a5add0916593914f482f637e5534716336f575d36825ec676e14226c8513c0e62f1da8e7e59fb355d7cbe9c9a0ec53365a3f995a2635d784ac74060ea5f4a17d8c8f1d62383992189fe9fe338e1f3822ca16f46f7b18e7113cb9af407aecbb4694aa2ebb529a69a03796b993bcf3ee5f7faf8586618a75a79273685e668e12aaf991ce015518e3c0e017f3edf0323ba3167e252a5fea28a89b564096b295a6a059799d18b95bad5035565053def8d7b0399ae8a0c809a45d89bc61bf41cdf21de5d5bf719f13fd9d1b31c60d1089a51d6888a5d141204caf457baa36792b9d3cb57a6a2c243bdc88d59528aa68bb67e62777a54072fd70032cc2ab11323e6d15318d67bce4419abcd739654bbc67ffb53552b818de008982974e86788b212a4cc5aa1fef80500db1299185226677a668e3bf325c51ab395e77777cd02e00005045c300df1fdf858f903ff84701b9d2ddc4869215493e9e95248bcda40ded937f4dea1cae57c88dbc1f2ead4c7dd85495d639233bcc346a8a5ac4fb0a57939514e51f8b82ef1ecc9802067a96d39ca8613eec921099abb0b523a01136305b6362c774b7df7a11e89a030008477f4268a0cb355f38c172a653bef57eb1a4041fba9d82a3b28199c35963d2aef08d1861ce3a193844245717b13cb20152c5126179bbada81ec5ac7c4986561296ee7a8f34003caec8faf87109d306ddaa9b3e6c1781204397d9b3a90cb9ff2c95f0b66cc7adcd3f7951ee1e334f960c92d846db29d3d64bddeacc9d1e799f1cbb5fa9131256d2fee0d232b7682c596d2f4c2b402c120522af19c25b97b576eec2abf94e6771b24182137eaea32650a344d5a1be605a7c9d8d2a39354128d23256f267ef2c982e48e624fce682bf2f3e839bdc2f3fe7739e205264b85c24824660cf6702d058b5ebe1356a3937ce6eada951fd815851316e6896d202709bcfe5e32e8ebd19e0771ab42e3b5e15166d2440f9900cd7d355cdd6b03c80c701ffd57978650e7117226bde4755cfff3d2ba1118b1fd0627411413237ad69023681f4c24fe626906b8730f604ae1225f6e8b47dd2a44ce04f7f1e0d45f4182d63de02418a163a808596d8ac11680ff1c4028e9cd2cd55f0972692b28feccd2e13c709b404254b5723bb49f91e7a3f58222882fdcaef12416175213a8ed1af02422cbd7ff12a1e46f350d0903d80fccc52402bb1d7fb5ef22025ccb38fbc88b4213a926e64ec6e9a834587c6fbc37009c7af6bcea05ab76ab4faf2e771d3a09426fe24f667b5b481ebe29e72dc186b49fd8e397cf908f1a6bb16c5fc1fb4b46e8f8d88b3d83801a47e8d2ebfb17490ac4fe7e7de4f1e500ba8eb7f01b467ab89eeb0801450a93cb178d5c9a80265ed9de869352d17a8614a1ee72f690174a831617e4f44af147cda653c5b8e1e9a90fd94878895166fec343e7da04660ce7eae1089acbc48c0ec7bb5460db7c8e59cd3175691aff0c0bd811e1b3fe09f9472e8e692127af4a99177d7d2b743877ee2ce18c1555046dc304d9fe55db8627a5933ce215195966b45a9fadd53ce33a213e4673f6be50edbc605a54b77a25d6a2094a5b040d71090b6516794f73ae7a7a1b4212608a416a5ba40dff7f8ae6ca64161a7d558dde10938cbc83352cf5c550186a227b33b3a23f15650ca46bc7ae182ee48527b24c572467eeb0076e5774c84970d768501c6ced5b7bc504acf2eb70f40161ff0475668852d9283ec8278c32bdada623478a8473eba1453ef600a766e7b8e9b48de1c00034d69bca93b99901c03a615157f93981ae25d86ca28e280aac6662a4ba14bc58fef0a9e8a9dae434dab95f487527db0e51bd6abd712d5ab9fcca3afc305cf5d720377b99709b11de213638e6816bc46466622c4d45621d2b93309fcce1e78a7b77e8f365e7b93821adf4decd318bc71eab4403468faf544bb540522e0cc09390f52026f1a95feb6802b944e300bb323811c741c76d3594ff25da31f88ee5eafe65b0e31b221fee6db2f61fa6217efcb97b832e11e0592e113f548e81c94553fc2574357caa27bd763a6d24582fa70096ca4d1e526b2886f761ad287a6a85e14f0bc9b32258d6c003f6df214c58a75d824ca420bb2ea544bbaf954c80d657029dd6d58d6c1417bb9f55977880806552e152d7c2ea948bf331656d66dfca2f2183b52ac714b8603b9dda6cd76223d9683e578952d9cd4c5decfd5234c25eba3f031857596a2140177c09644d4a530fcfa01b7b5489e77f262d5440e1012b746fdbdf2a50aadfe944842811040ec0792f074a16d3eabaf96dfb05bd00ccafd929c0856dcb72ccb0de07f701768bab45385a483a2db287b642994117d808504caa6dfa2a7753b9009af226dfad98424bf3c523e9d2f80e57a89cefe71cd3532026a4acea573765438543daa79fa16f1250d750257640c6dc6d612780e2efcccf85e9f0ae42ec0555d999525dae2538fcfe1fe5ac65e7029d668f06a7c1a0ccb3f540041fc9ac0f468a2e0ae093d2152a7ade6f010ef013fb1a7cd96591c199925315bf13cc7b55e8b9b06fcbdcd7dda73778a1748eca35d04d5eb58343b41144d28645418bfe9b04afc417e90fa68f9407e6037923f74fbc0c54a28c7a66a860f43896769d7a2fa3c745b73d93787307d6550b5837e166bcdd6f80bae9689bb337ace9276f06458b131c91ca6511a1143e23e264b17270ea8bc7139baf112028864c0a0e607590cbb4911dec90163dbc6e15ef92629253061d21ff836dcf1e1185905d8708620ad6a747091cf00f831c60ad02cd08e29295e4a2d5e485c91177d721a2a5b3477b18888660a5c8ba301aa2e0497d5543b9ce27d19c64e22b1f67b33a48921e8ca2bdf8b39fb5f5bad0fca4796c3c841f9598586e3178a4005ebe84d15c6fc8fa4002878192458528fa29446a8d20e380b05d144871753ab660cc03c299b082f0d5cc28fe8f5e127d9d96e535e13d2dcca4a32403a443213a9ca6e35743bf4c383ac867e9bdcbe54bf2e1c619f664171c38643d819c757b357dd527e7310d452d5ef984694ab6cb330bcbf2aaaed7a358fb91d78345abbecb992190f0a0a79ecf4ec19483170ca59bcc8e1a1a2067e50d1caae2807d10ca19f7baa83464a8a355cade4ce7f21c878a28f4d261cb8e15bd0570472d232d2d26f96b7ac3a2726e2d793369027c21dd188456927f3b0b1dc1c79f3a2779e01e1d3da7776b11629d4d1b77bfcd865e6d324daeff9b61dde861c0fd5d2be0daaeeb5fc1f5835af7ae003a59444d40ad719fed8d0de85a9bffe37aac9994fe27c8fd467813f7a3609f12035b81eec6276039c6bcd40e20288c80d32de0f25a4f9c3f1a250aa11756415a404d2e5b3320484b62be88f0b4955eb5ea22f63dfc7c15b42bd94add0f31eaf2d828b90d37580011716199100ee764ce9e89e8eccc48369bcda2a6f1bde7c894d925cc2105834264138cbf8b0a9040eaed68af70373009c8a1240a85ed8c9fe21ac8641f66545a5a07c72cc5b74cc8e2428b7373a56e01655a72e7f97f436415608b445f467cd52ab67423e3fe5068563892464c214d22f1c3b43fc1997bf8c221018b1ac7a286ace04d45c2bd13c94387c26d2644aac9838fdc9475704fda859a13303480b384c37c529a3ca57b13a6109582bcd11f6b071d3c5c668a9922b4aa8555dcd82ac6cd35385e35aba2d472c406c84d959216eb91e2edd7874c22107e65c0ac96745d9d2bba76571dc32fa76d984a7082a3b427e2ae8ff1e278bd1b0bd0b4ddc5789165563275aeb85cd30c3034b479a06057112cab350a47252d0e7079db614563f57d0682bf16953b7991b2f702dad8df3d50089beea7cef17d0d36805279bea7eacca5b15379ad7a1a046903f6b9ff3009e009013add8ddb4c1936e7dad3960d53e71c91cd8490e3fa7cf572720d9b3c9997d04704321b4fa5d7aafcd2ba59f05bdf183875c0ed0a55beade89188652ecd4a76847c54d5f20ede0a9f30160087db3ed6d993f3bed50afafbd213f11fd05c195e90a29b769d7de6d0c542f3be412ea81e762ef29cee43120f4d53088c5253050c09a52a3949b5707a2061b02b0efddfbbb60966ee66e864194de0a4a5655d941694b535e2671e4163407d6c9152acbd4952bd1faf95049c7f78859301d32311bb0ffdd3aa048c30f7519899304ef4c55ec2f358f70e847f1902a35457978e527171c9e28f3be5c9384bd057c50b54c02920f1038aba67e32bf5e65a89bf2b668d484bbd8031c037655727ff3025ee291ef5a5732b22ac2da76b36405adc96929bee150a7d7f5e3609315df452aee56547a9d064a732b730793d7d4474b0fe593baa58952e05ce8c5d34fb049a28ca499f466d3d1684a6163c7b9c003807afded3f011981346d1ba3a55ea3e91b5ba8d5ed6dc241fa6d1bfdc42740ec72f20e3db37e067129adff5390c0e334cb477b14834db8f39e5abfdede9bc09f0da1eec459efb6a71008f780f71a52eed69e269f1b65ff3fb25015d1f6f87bf59833b7c4b62e6c15b8dd6c22bfba7d787e484aa507fc069b20568ba59a451a41a481922e87cdee22f5494f7a7611e9c7f5811c4c0b7e59fea39eff751fca360f6ab5fd3e5331b67a0c0946d5dd9144bdb423bf3126cc9e4e70c9e0405b7dd9bba6e0543d5e44a2c181fcfece322808b0dfb62f3984cb0040d76a6707aa9367e0e73f227096737e211130aaa62699bf950300fd14170b723e455f125d1a735a67d4f7b789cb47f622e9527ad1bf71468fff2ab01905fbd49312120791aaa05950d69cfe184556cba1f62f75fb6d063d94efd02129b3ab300135d303e4f0e4c68d1550aed62a14139ba018663c1588c57a007d57b30c5fbb66796a7c9ff439712f3d74047794cfb65be85bba3ad61ac8bc19f7d0ec0f78d98607b476ac92b2beecbd041d2e9020c226c23a672ad376837bc1ed26398616359894c7e9cdfbd91c2c91ae986654ae825cd1cca53c6b006a6e4c7959c63ed220c63fda33f05ddea73756993c14acde3a4722e7033019209b0deae6ad21c6a14b486bea23933453f9e2ecf3c0c938890543238793c5a7e1a383f0bc7d42322d50321413d01b1909377b692c72efe18ca0cb301c6cac2a21c352b8f3663534a77c3c8340877fa19871d256a7c606b65651eedbfbfb1f91aaaa0954b23e5bd2a0df9b1ad95b97226ea43d5b9e76e83d170f2f774da9e2895214533ad3868f695051c6c18f64fce9eb822dd36c4f4647f601475ed03c01de4a774cb1066dfb67bcd6a2cfdafb75c199e7b3ef658a5b406d9bccc8c48bfed80d53721bd3c107eb866196f8cab3866dde93941023cdc06cdf47d1bb7e3c870dca07cff789c8c5d7702329321f75e2d6ddadc3e98c3cc8c0eb3cae11b19d98afcce0b2105ec0a66ca89a6cd6603aa4efd7667c883d41d32b9ae50bac179832634f98cb5e499f77eddc4579bbfbac81d38f44d4f7adbbd7e2b7b7c1f9d69d45adefe5a2e25e52183e9eb7fc16a1f22aeba9f2da53aeda8dea0f7b726bba02b33ef46af883a4615825fe2c8bf2345bbf44b0b039a01ad2ef03263e5596ab422b95938eca8b3d5cc549aa9b24971c82d0209017dd09822728547502fffe6bd3df1de4d3ed5add8277937898695b2978d343beafd959823015817e3b652551264581b202e2703cb46dc46d51387aa8e30c257676843afe921400e34f9886cffce8352a41fe4509536e6063a651ee2ba141495fda345746c5472ad87556f1309605e41e08bf5533636a4421a6c27c06cadf47a275647ad94433f8c84b0cc7dc9805d2e0462015adf7351ff5eff6dc74ac279100b4c2528625ac1e6ed0bda50114868700ed7282508172281148d294817cee52d6ca71f5da524ebecabf7b19fe643ed31b0c3295191757c0e015ade418307028a52dca25aa9e8bdec5d2476e014cdecc72452b4371e982573c5760379cbb62d48e2b3cf39f49d2fbf6dd9230c62357dbb4f785f537484a8f436400a13330936ec3f77dadaffaa9cc72e9f47a8a38d3ac927f8383e1c5153369ddc3864e7a9a576dcaa5dff38e4c92c9b6f7e672c1ab4411741b6b3144f2b4b2b3e84048cb4635683d19a7579da152c9f3c36aaecee9988bb16fbce4aa5f233682ffd223b948d851eaa8f8e95b146c87fbf2a84ed47441db6c16fa16c03f7979e6a15e0fbd8308ad5a3c64ff8962823599b2e09840e16fb11e50b1f8150a0f27b5164a8f033a42862e7efec870a42352e3c0174cc16446731b62ef8a4206488856c6314374d1f77e334fdd5e3f27d0ee6e28e9d9591e79b6d16ca8644b266aa49c07f5dd770f707106d614f921d29fb11518b913376c71f0bd032fc5d7c33cd9ee1f625e0a80283ff1253cd41c9ca94f9f4823d2881539a61203ae8b20e8f72fa7204ca765944a8acfed9ee90a4dce84e8df53a6d47c7013f3964125c99b3dba9752fa432731405109685dfc8f8a0af577c65375796dd8c70e29a18b26230979b1516e3e251fb41322c9a718ef37aa8838e48d7cced3e8b9560736a4301b37fe8bf11885978176572d3ee1ea1368209f2dfe984cd5f2aebcd6d7328d7edeacec88cd90b38f65dd7f72de318f2b4c10cef4a5dbaa6d8cf8aee1d03f85fd052c0c66145ba1dd54152bf3312af56ed2901bfb5e5d23261a1edfa18f3ddac9820ed289c4502d0684ff1a2d79d0e627cf2784a6bec93e90d951457f4b1161301ee2092d4e9c2f2dae240a57f3fac012de0742dd8cf4949fefe0bcaeca604081566ebb32282445bb66a17ab190f183b04aa4ffc92e230fff91df780ac68c51d71c9cfd2408b88db66f288d8b2d9f9b1d65ba35ea19de64203332dfeee054dec33440fed6869637667cb11cb1473e099dd4848a2432a40e08430863ae1bd62acdb6423eb893057eab66b05fc26ef74ee11c24b264c22a8d0c4e71928722aae3af6676c7bbac54b59a74ad3c00e03130b73d9ace8ea1ee0bb13f518127c6971f844bdd9c9fe8f7bcd0c66fd8f09f71be005f6b156cbff4043b6713ea02ffb64dab6f3b6960e95c2de7d785fe5d5128650bde3a57373c9c00836faa7654cb0a5f06829e31d5419752d9f641b2c09ef785ec85d2188724d233480af2f5390ab25ccdfd5d9a536afac714a0b3edc5f71685446db865ce6f6ca3a77363b6f87b48a1c473272434912e0e5de5a8f26426cf0dc3431980644395ff632ec770b14f4dbcaed70dfdd267c5ce4a71303d6db8b334c759e82354b704e9ab1356d33aa99fb48c91c51f2bdef4d4f7cb185dfabf66412b715891a0ff06682de5f9eeca49597b829895d9880c5dd50c67e45fdb8ab310f468a0b32fbb621351b4cb50b55c3e763eba8125369f2b86a6d0ec2867cde5c8966dfcb622665948968ab7ca73113c2bbfc7811dd73cb176992509db0b6c5e14f978fbc2c3a4c464de84ca4edcdafdc2a73513613646631ec9fec8b9a803f2dcc8405e493adf4458a00b297bb6dac94276d14a77d7415ed936f7c78d96244354327f5a735e259653023f3e072781396ce2c14c362498bc2b2a1b1f81a2680cf478c035edc92ac6d8aa894314d79b041160f3959db5e6e57624914388701cd8eeed6bf78f9dbe36cb1348dc1ec63837055d7ee7a0112017055914b92d3e300eb176f9329470114da60bf83b381a19682cb422fd4cad46c80d0a803602be6efb84e017f7c1ce0a66d46f1f1f1a2a38e523d2addbb9d4b49a89c704f48f07cde47100c60da0a5dd2c328d6e452452caacf8e793b4c08897bc6cd9e91ace31a23f246d8b3127fc6759b4dff6a543da0a9af0f60f57193471c49015ad96dee6506233ec82f4c1938c098c2c9d0f0ed40e230a46290ca7293b9c827687ed1f0313e8179647bb11f48b5b754aff8b075602ac69787e29ed331206151fe559a9aa07b4be6fcbcb0130d4eedd10aa23f30bef758886ceac2704942677c29aff13f780ecc0dfff32a7c6c1da377a744d63b4427792415e6b35ee8100d017552ed855b8b567e363b4ee413ea1f1f71762f1b882133616dac3cf032c007e2cc6d63ee7a78488d1f07247e454b8f0c61dc6d0053313820e09566cdca6159ef6bcac372d1527286fd325b867a510dbe1314127d48bd40d0f02968bfcad66e6168c894b6154cd07cbefc5b3f192af2f7306a5881e6801ae257eab043597abd9687674671230a7a8da727d3de06e6ece2eaaf94375a9bf90b7a6c20a0a118bd81efb6a8d5071554e67517eaf967a3979788180cc348a0851b5f2e13ca4e70db97b0b65b575cd89405240652d67b09d120761a47a3f01d79c9afa8f070b9d79ae5c07743bebab7763669a1b4705c7dbddec3ff23d9847e423d8a4ead63764b8e57b0dae2f4ac598cdbfbc8df6aef72d310239343c3ed243d1b135a493e62c187c99024fd0b347f9057805ac9fcdf9173e7c7a0023b84da56c0941fe0124c84a202cc109ce86b9be658264402abefa1b6640e5a2af5dca4995c3f0aca43c39c837b97ac7198708c373eb6f3915720b151055fdf7777aa3fbbf4937920c873fc8f47bee9974b081a389353fb47cb35c6345a1f576c745bd41c9b601795e814ce25ea410bc1ef1f0b36d92c1876c1548dc644b3f59e09efcf5c22ad831670b83a3f219a82997f61c32c712689fa210f79c468c493ac89a34c1419b03b0971b675dc3bcdf55a93a9ead0c5873916a4821ce3c7f9c0c72842f78ce5e96576d69a8044eb5eda247143210aa002724c26024719401bc0bebb6ac4e3130e8eb48f4e677813df935a5af586b4d972eab6065ee352793f16fa4d50427b721937aeb4118d385f4a4645d78f115ba2f3222506b260fc48266796b4f835ab400702668894a6f47de39478a8d19eb42b4f1306f2a9e8b4309962a1c8b0a4da24f90cec5bffd54e71ad33ebf9eef2c4632ef6c663031ac50c9b101f1784aa1cdce948df053248c80f461a6f854fea4232a9bee21d1d05dbc01cffb6210a58e7c827653e44f82e3489fb02cb7d31ba88d2c924416bd0454877b7eab2d67b5d9bbad0aedf21df7f4411bb43aa2739162fafa1add787be476705e869c730148103452b2b8ce6dd5e6cb0407cc995435cc24492bbaddf4fdd86c6d52ae7b09438ebfde82570b6f85da07d38020e2f6420842a9191fe102d309e263375c788393d66a1ae4b9fc73d92a4bf033c44518aeb9926f8ff05b8d4bdfb1d6323be857f3d73b0a76b33fe6637824ac5e6745afaee27283e371c049bb5970499454779f18d21cfebb14f6a0320789a648b94b9628b00aef596b76842882cdffe7e9aeed7b7a9960802561d7d5bf8a3f0a7f3daf095362d29aa038c6d9f1d8ff2f39528a9dd1dc9d644bd1a32419b9abe0779d78ad7d5715430b06ad5bcbe83a3d10a0c6ccedd56c414053d789d7aa837e029de26546e665ddc1635b839da17de05171503be0403165cf29bb27e31cef816bbe35ffae1b80a93cb0d9e8e11a0bf8f6c72472e478ba996abd5a8b98a213ea6fb4d272857fadfcd5b4cfe70d0fbec96eb1d8398c7d5ffbc9dceb0764b2e8a1c2a53555474c4b6bde51dc87b015449151ea1934805c5dcc165ae6076f858285b2661a24f87904d831cc2130400866ac43ba8752a1ed64db646446f940eb055e7e379d91bd61c8c683143458eb0c069825ed9caccd532185de4181aad3cea15348fe48e992677aa2863e86228043592bf5fe63eec07b77fa6f62f6bab5d62647bc9f59df0931538230b10176d14139d3585b872afa133643c579a73c5207936e1d1ab860f2ef2d2f243e3aac1adf035d189bc9964cde8d53d76dfac491bb2532f4c56c93a665a07f54e2f17583812cddf3f084139c6da9b136313cdca9ae726864bde6678aaa9dc36cbc901b93809a369858c288d4ac620863757dd8fc3d497d56079cf1e0b868befbc09ee41738a4f5cfe2db488a81d52c16f5b1633eeafcf5e6255b9761cef768a9e818f250511f40416a64e5275cd37d065b269706f707d055e9c8b2602618907993737d7b15a6417b0b107762b42b415641280385d8fea8ee0fa433f47bce350cc112dfe1fc837ca184e12b3c9eee17064620aef0347f66a09fa7c5785194b0c315980ccb37d2e8572793a4161eb7d05fe78362f529513c213728c953c1729a2a6efbbc4c5b44e2a65508e87060b3a23b5bfae6aac27ad05b3cb94ae2897c3a8b210a322df515d1bce80b10d97e656db8befd1d702f4e70f02427f7fa49771ee9a9bd36732780f3178116ba695d3ecd65fa44806ac463ab4775f02654b66d3f721b3414587cc5cc30ba06965f76ad833802bb2668305eafd4aed6a98058a89ea286efad4b83458bbcbb4e196e06ef3822de8dec5f6b1cc65a58c2e53e7b31afe5ba140c37824b5b8886fd579f20b6a90ee4d7b7251f3102d3d74f9e63a6c3bd4cf2f954a538183c7f3fbeca18afba675f65c8ed2981f017417b2578f9766445dcf946d05fa1425adeca876fd6de71085d2050fcda1b80582f40e80df007ce5e74728fb5ca2b60049aea202576275c020128078a162c3c98851f15c067b2e0bfe04faa44569d70d3d377b6317933ff7365aa221165ba964ac78fcabd9ec85d8e320dfedd55e3e1eebeb0ebae8a4343c792243a0a331a9f6da69589098edddeeea1bbba56a95e6d040e7133fd92dd4e6ffa7e2afbba5046e3ca8408659d86fd7e7d5f4f0e3393b1040f90d83259d28117df9ef959026681a7b0e26131e15579e4ec11117695a225e29db507c7f33e19fd3af8d941c3aff1561a6a10b8d6b54c59f4f9a705787535ae65043f07080dd1bf27a0d494bf8bcc10691323cd4922d51ef758d51186169a288811f186ebdc35b4ef603855add6b5d6c9ab468589247629b9f992cf277422011da445fff1d0844f08113e86e704f5e80aa586237d31f69aaccfac43491123ae6da4cf31be668c141105cbf3dd984b0f55af7bd2ff2be352607ac24846684789a694b8351c61da2fc76a34bc707adc5eaa61de204f91d81bdb5ed9e9a31eb54e7b1e7a342e46e94a3a3b96774a456a3b350163ac8ee8719b698531ed6f21cf5511d8de416da93cbfa67dbca7adbc95d9f40c1fb9af0542c2616407412bc5812ff15739b66046c11844ed4f01e580cf5613341e7801829a954d313ec078130c852c0aac37d490fe221e9c3c357250786f23e3c63d0dd9200869bc93a6cc4e9ca3a6c080907d6df68c4cc7aea487a344bf97c0794f74f40b2eb6476673e42a3e936d90e4c71b563a45b635bbffd4ccf2d6d4eb403460a3f929abb61ddc5e767c1d8b54019b2c4ceb2d32d47beae48a18687677c1e612a46fe0760304df1f668e0a64e42ca33e2393d710c40409e54d4af6c8c278111530e661e34f0373a3060f8255a60e04382c25aa8b8f0dc0da4150e1223217299a1240fdf6f494a0128a7ea47076458a9b27373225ece73d491ef0e3a444fb377e2f7a89cb972db63327d44df198107cd7f8785a360653e4564a5bf5d783b28946718c1369edfd4e216bb8a71ebf81c1f51ea41e47de9ec3e48c175b3062403b599706a0c95995266bbc7e87d191935e972e6f6973329268456b24b799ceed1cd0a9460dbdd17fad56d57050acb0f9b22de7e3cc4f93d3f6ade2975533bd79ef436f63483c5a6360f31b43b08d24bc12984db2b86c07058eeeb41aab921de8116bce1300516d9983ba9192f1fcedf0a11d5030deb240f43a8b121568eb8a140ef33102a214940d10b86de2c7eb21023919ea652783d35e44199541f5e34a821b779054b005ad8eb33ddf0a2b95866559df70fdee6747fb60563643994172d5f929a9c0d8c7ab4379459e3ae5b18fc09229611cd6409b5b48e498d30fb241f0675cf0b1f3034fff03d792f8ef10948032a93ac145240b809c0d82b6e0b677e8c5a0c79795566b0f8ae29c94ecae288df9afa4303e1bd95f4d7aadb07553ffa549aaaa7245bfc92ee39c9b55bf1070604e70b4bb50d902d28000df6829942d1c1cf09ecbae5c6018e6b8f2ab02cbe6cb6ac6788518f2595e1fcb88e907b320dab7c1c0a1220ff0e54f2c5ef18f07adfda4721126b5c63b8fe639697ec9d93298b9edec34c79a4a7d9c45af86c6d39fc94a9b7673863626a7c91427f5646c2494d4b38f131135ca7a0252f618fc9c7512210d21c26b0616f41ac9256ebe26dd46887ad3dce70de023d5a3844d82ffd08546a0d0cdf4e3da2064891bfa305a502d14fd0ae924f86d7b7b0da3d37d284e3f4cbde69104dca8a7c087f94d2decfefc83380105ee6b4fd31aa5a4b46c7b133df2c3c67a82ea85e1c75d3704fcc4a88b8ed20e99b85c393f2494c86dd2889f7506586c074f6503dce7004ecd44db270d0dad5689e2cc6eec648aa69b2ff33d854cdc4cf09b6d9d4dfc069f40b9fba8679a20b18d0a0b63b72d8963cd1f581621304fadf3ad15707ee409d1415709a65133ea79af57122d3646cedca20b93987e5473a4ec32f45d72164d19493ea32f0f70c1492fefe311f5e6aedd6880b1d190fbd432cfc0e92ee5ea81928ad450bd4a145a4debe12bf85445f651364a98ab8eed88bdcf9269ebe64744ddc0031b2d557ccd05ed1f004baf6364eefa543b4d44216db89cb462a3034cf8242cd32a0ec3e85a9830317c62b8666f202ed0fbc4035b41857dedb44fd64765d9eb4826c3f65d633732e419fafbda147a8041db5ec14a158f221c000b07ee8d46319f698dab4f323a11e73e3865cc8111cd2751c0b1b171794f980b6adc12c9bf531c2fe0bfabd00b5bfaf77571ea46ae8e5fbf5e785bfc29c01941a2bcda77ec7963455848c8b60a1456f258bdc3f72cfd5acaa3291a32cf606a30d917570a68ba405e3413b8e23e13148b3a67d54df37d9ac346d703520f4d9bf5a6ddfbd3f44220f748e78db783633e52c30071d323af8663002edee2ed75ca78247ddac6dd888b3cc5bddaf8e7f11ce1d97e6e7ef37945b5bcf0a9d01462c300bcb73845be9e71e5772bdf287b4c4eab7adee5a5c4154acdf69d3b20dfb1ec32930d3f6832bd9cbab422096eef0e0fafd05c7254dcb49e19cd9c56894cfee62a3baf0e564ef114ab8463b54af2578e3bd3c3af5321078156c17e64484dccb2cfb03a7172925e0e7c3a86e31812c748ac87a79fc1d0182f9da63e0b42905fcbffc8d9879c3a33160a5293b59077ec6d21f935a1f187f268e6bd76feeb2a9b3fb472d0458a7da72cfb079bb12c22ab7c99816a3901fd79bfea80cb880f60d6f3dae73b2dd71745609d2a890bbc20a3cf2cf44a604fad7635fb9300fa6d419aa0c2a1304e9d1569b06cac111689eb399b822ddba6950e2804ae879e19e618616aa9e07438a6a4fe449de05d3b8c4f4574ba7952cb88ce2763f83473d3984ed5b3f3ad532604455ab60345714c77123bf6a048106b728a15351b2becf40b0de9f28e0e8c6c3d43b536898fdb5fad457782245d50b8c18c5358056e851d5dac8573d98b795b593c1bc3cc9a567cd11a68babca496d03d55d95fa033b9dfe35f8be628a2910f7b2afdbd27b7b8a16b3df06f4e1c8e8c3c0452c18a574ba2bedea88c57c82e615149f9cd9b1c4ca509db39cb556c98e9252bce1df0c07af73d96160ef009c2b743aecd0c6faa4a1f9cfe350c3269e43c76907df1fae51ce639fb57da59c4df09039fdd3c229b94078cf608a594d5bea6aa2708c42315e0bef017a3985e509cf289d686589c71ead993228e3901d3e9eeb905123d597dfbe17c0f078e1ae993941e5a0f3f082943f693273f060088d3f73d8d7bd53d41859b19ece88b3ca63bfb87780891e0751ba2f00753cfdaaa4297fcd4e12cb6eaa851d835559f9b57c3cfa964d059fc5346468979edf604eedd797341439b89487bc12a108dbe472f83f993508f017ed5c92ce54bf61e50893e6f054bc00d9594a408c38f33707605c682e4d257d88099a78f6471f8bd6e91793445e7a5474fcc5855c4316567c959144f656d7af5d56bfdd7441d6d81f6eeb64e8b5113d02ac8638926d659e18700451eddeb9778b8eb97b24ce7b8df6281c5f7c06987d5eed1e1575fe0b047dc2404a5dc8ac8158d2cbe5be6baa7d6fd8c7fb8bdc9b53fa1ed4d5c3cc050196160b1048871c469e2d80a3d563cbef8ea6459a26eaedfb63011e3a060280dbba7c4ecc82c66ccfe54c56a7b440b156df2f89ef777814e68c8ad0d807758561a545baac6b898ac609e872db8b9f609055f989463ac4fef654925729a1e2a2c57c3c1dc37c2e540fc3c8586bf1896eeac0bbff2633c922cc7d659c03b3bf84d3497059b176c275cffe8c709e34d30c82ed0b059c925c7810a5190087aaa75b893375d2f9afb955cffe78beb0e1b760336f76c163618ec871c39a445d6273e7801ef91cc387157ff7e2bcacbb2d7b9f153fa5075d9ac60c088e7823a56b35a1a9627fcf39af8c0822d960d0bfb2816d34520df82c7e064a2bea6a2a6522918f0b4bbb9c31f3b686315dfd9a0a7462898501d0385855792ac6870cef05af22454f9a553c0473d212abedc47909e0c04db136d96e98db1d62995c52e05f12e85f5867764aee7c1835ba0b503fbb2a5f53957165efebf8b43fb4ac3bf2e36251fba59455e25a7fc50f0b7d2d513b2848eb302350eac66e7c5a4c753979cd3c86a5872eee520e2c7ae9baa33a9d67d6e237a74e74d0e221c56cff3182cb0cee8c04ad5d23f187b13732cd3bf01f0c7e1fba2dd2cf202ee73733b41f02d762dadad01d140e2329271715845b96df4e7b5faabec4590bc4d37e0186917c3126ea4d959fe977457ad48c1a2bb6804bfd7e69b2d3fe7eecadd63f1a0be25d894b163b0ca3e5bcd8449d74bf226435da4eec78a11177b7352ff4591b35032a5aec8fe82ee27fdb410624350276f4b7c8ebc36e79ef4580ed8d75d6b8bdf639b608b7b824a749604a840c11c847115c7d4d3181372ab2a524124961a6a7894f62fdcaa036ff363fadc4d9c0aa820e503649e85202bbef5d24f0fbfa094687cce58855fd5e6921520b55595564c859887a961539137f8558e4cf37608dcd501b1e5e9d98f449297fe842fc16e01df5544d1b3e2e71858acb279d3bb3d4f746b8b4534904c8998f7ccaba410641f2badbd0b8d40001681e2763c0eeb4a70ae09555565859238e153c848ce6f02f5ed645d340f7ae2054a81311a62723467b15edbf369922653f7ab6ae542eb865ea1a552b0b47f1a40ad796da2b9d72be3e57dc81e205a0ca58025317e7028babc4c4f55001ffb74f038e8d9b40164aa7909cd76799276c4b90d30fdf65b83cc60203e412801afea30821f0a67cc7b23bb0b06bf63e95c4ff00719c917bde40e5e490e36ddb6bd41ea34e7bcc2e779471c0d0793cf37c0ce75f960d2a4fe488940f527d22a808c32303eaef308f88a52d8152f46daa5f4ecd75b99b59222c8f70036345850c4dc5a1bb7787ba7184768b526c62279998776d9772dc6232ac479472908185bd24aa33bd7ca3c7b7eb4c436148350734eb2959d27801b045838e7712a86506c8794b6d54c3b283445c1fa20a246bf0df8d398e4f44fbd14419ef695bf10bb654c78be6aeeb2a4c4beae0caad3c6fe75300d2d53b122ddf00c20d30e756e49379cce29706202e21f3f18a2ed5a3969f90904b657c1fe8d558719e84b3f0ffcee5ca5514fe2d69329da809832c3a8d770d0c5aefcf5b7b75b37402e58d4518b15e0767c32a9abb7ae3afa6926b55b20e33ff2810b589e85c22ee41f241896aaf052d9efa97a9abe01daf71e7568bc9603841311ad209e49230bdb9113a7b8c9b3b23a57bc7f7ba85723a06075a4dd03ef0430d55492977ed89c60b4d3c9607ba8413f310be290ca4c437faddba3d33797f056e3c52cf19ee9780d089faeea010d4b75de9d17de3eb36b034a24f96f4381bfd3080fac4b722b886769b595c0aa1b5f91cb5ba1e8e55cb03b38ab0deb65bf7c65ba92c0225474b273250356570d6e0eaff807a03bd0d1c66e7db0a8547ae52ca58321474b1e08da6596a4178e3dcf8824fcdec340393366c8a116877d5c105fef4a94124626e16eb0fb86fb217d3dec4eca7f163358955b02d498247df7c056b046b0d1e120744ed4a4d35e19c326f593c513089e3c7b8d0d5f67b76cf3234f10a9c1d16b1ec593edd0992106a25c1541ca6c57f4ed6e95a37de9af5a2c58cb2bfc39f7a7a00da93f77cd79c09ae456d00d7f303a01f20766172326890b8721a4281f844250b203f4081cbc139263701490a3f836bd8a328d0f92b7778eb20b277117a2b6872eed114877198a66e924bf2a7365762cb5d965d746c2df43f4fa379b8619dabfaab61a02fb3164e24045c48b4128845a6fdce8f2f3c1e41fe0458c40afa1323de400c0728286d643a8307e8c409350ace006400caf080a92c05f4488d43a45724943e65f162d8709544b92b643e5c86f498d0d3444417e4b083166ebfc7087631b78899601ce51d6a7024a81284c2f6e80d3846d8fd42e80b98644ca4513fb5d2d99db7ae34667e0213067179adcc2ac14701b9825d99f9346e97a007669b9f1a61c76e4fe39bafab2626f669b5cc8e1f65bc188250a18b1fb0e704b5a193389e7046960fc28f24c8ef267391b4bce1d2c09b498467ed580c35d1914674205fb2fda8b99d6404b12301d1362ece9214fc2f0347f2666794f68886541196c1bb779394e7b036a202eb7dfccf80873b15f5c80e653e5a8bc7212bd80d7816cb305a49d0b3b3bdea691541f9a7a634eeb40eafd5b0b09b95eb5441840ec97e7375f5fec3a49487edef38282e565b11df054115a6f965688baf70da9dc5ccf819ce91caaa7bd3b77cbc591906c5e534d478e16a8c55bb400b51a833d2f8445c2a12b72142b7de5df843bc2151a3e6036f7e724e78867e3435465cb7199052437d36b5c83d6ca42c05ab9eb7a803f9d72a49ad907724325d3695c53b357ad33533e1b6584870fec389c4447e85723c577d76d30662803ed30cc8ad77fa93c986875f4a23540cc54ccf818a9df85f206f5f28127d7d4bc0a921c2d370e954bab94e171d0bf39058ab1ec3b0bcb0c4d034e340928b44ccf3e29dc10938f8369a479536543bdd9d417baabf7671cf7653ab5421588d6fd6be90c88085f218f1dc9bf9c4aa9240d42d5b7e018e0ef8656397138cd5712379b7da46704d873471bbeed36620e16cee05ad95ea498e889cc2274e290817d3cbcb9ec6ad808055b05bddb822c3ddcff8a48d2ff86a8211aeec8cf6b9695621adca4ddf15f7b2ca08eb309605b4e1cb8b41eed9f50a4f5c28572570c53ed0b1872148e3939d085dc0de0c92478ea1a3099825724cc673ca987333dc8b26e8546693ce467458c9064bcdebbae4ee4eaa3cbb93f14ec4d14141875a2bfc244f6a58ad1b35dd4c71778e4b693fd7270987e2d1ce6b682cc1b80f792314b77808392363dc4a5d61bc383e94fc585c22044c313b321532a113295d9f914b1138d8510afcd5ad6e693b85481d719f744fdba8e27673f116ec1353c5bdcf363ea502415caa38b6da51513679439d6acc57f06d7709c3933b832d1c6321ebeb4c7af2ca45b0a14ad2dd0ebc5e623b6d472bed08af3fb6af975818e7b53c03b2679ce24a99a8a3d3043c2409de243d6dd889f2086aca213d2dd88160d672674c93ea0a9b084631b718ee1a266ffabf81cb22c82d68091e303d5180e7c63f4d394a59d3414e45edd5e71cd9d59879959f6580a4b03300b73274aae445b7debd19e60ad4c02e510879cc8ed24db820b424558ec34663887e290b75a86e4e0dc1695292b1a950ae521ebf9e014724f03fd5eae9797881cda7b32025347c1352b997f948962006518929d77aed8fca7580bc2272942b436787a88517fd46cc2a3885a675b3bfa0547a879c249bdf07dc19e37b6c110fdb21a1c8c7600ccef6d3df767be6e190a247f98bcab8d543a3c02d2192a486eca073b8f1522a2ce9ea8ae2f065944554e703f3e84f09f9fa32b06d85f061886e03d1517ad410f44b667742a48f8133ecbfcd3bfc53c3be91ad612624ef61ca8d0f178035e2de6a0de9cae287aec9bd77eb8d9dbf651f1efb81f0b414c31e0bb30f9888f53891a0e39a7586a0adb599b3bd6a12b5a66bcba70ce02b2c66fb28e2ae70e0a59b484341ebe1edb0d98efe72b80f546a0df93ade1680c9a66492a448810dc39c85f4518b42e300e37f342f3aaaad7563d0487f2645ac56508602aa33aa54f2e2a107d2fbf235c05697265ec5bb9c05197c009f96e53cfc0e5a150865931b928fbe8b58b72e7c583c9159c3b548230c6f63a32bcfbbc057d3b11989436c39594a0f1351d09b044b7a1b487ba6890418ee097c057dd071406c246dd102fbfa4539ae6d6341b1aa785f2f8cfd9691154024bc55b02c288e9a1fdd875ba9cfe98dd86acfe391a10aed7edfdeb409a3ea60fb80c84ebb454d9fa1b87b43427e67cd80d5116b7d7c3b64c8548e965310bce7c5493cdb652bf5627d675366f0a4723346ed6038fe1dc3fcadc3faf88452fd7f3f61bc275727322881db3c5da49b1cbe819e4222f243f1a19dda124a8284d931db52129dd63168920a2d43bf3053a2816baa6100b2fd37756ebb7761cbd2f53f098ebc40152e2a13e5b070c4f195e08a523b63c303c346c077719a22466e506eb99860513759bd905c719a264b191493777eb27765b9febe185420bba1043477c04df2dc34777ea85890b1ae536e7c1716b1f5ca18a9dce8a5cd27e45140dc2306b693894fe36534c32ddf581fde55789d825777bc1f268425de768548a44d273b907d8214334b3ae8a0c8597cc1c920dbfe4ffb6caa3bac1efc273655402763201b367663c392501fb62fbd25f7656ee33f97a4bb56211d6314596b37d3d84a35dc57d8427664727dd179505c1c0a80941e83a7247648b98c049e8920c6c1752c5b07eb12af283e577c85ead14d4781fa020061474a13139d3cd206e98f6c36a8dd8eecc589fb706f717714604880364709179dbd7f6ebcae4dd366ba7663d8070ff730110d68920e8bc44c09300452ac678cb5fa89242faff9b9e45e44cd3ad603eeb4adebd206a4e28ed980838d3d1f8920a772691278f5c6bdeabc834d7883506fc8b7a77b2e7aa81c493a992e9a7704d6b77df3a4561c4f73bb763f170ae7a9f10806fe711da7392464d6a0f1a919d4383a01d53fe0c13a57a824fa77b5ba001cabb9085b5bcef9ca43c306fa37e299f72be6a45782c7bdf1429ab668a6da1780d2522df09d0735262bff6cb7f42c94f28ca552eb8665187019d42e5680121fd1d4dc64ba29d4af4d3a291cd933fe09057fbdc2873b9f1410028526747f71bc50248a93141412640b21d67143431f7295a5745b7ed429a1bdc9a06f850d235b7725cec73dba8315777460211a35315aed076e4e2500224841c6cdd31601733ca436ed7d52fdc917c6adf51fff7c5269b19f6f3eb033cdcbef4d07a3aa250a66368b00865f83cb662419a0ba556b11b82e85c6d72927bef3eb71b7c38c2c707d02649fd59f64fe27a6dd49d8276be84c5932f8bb2183dd85d7cbdb80abe22ed3d42d769a517c15838f4a3e0823a87f147aa0c257fd502a8b9aca2c0bc307b1b4b14a36e8c9f081f65346d6fcf60a7bbd16a2138ae83eb5f6d8527b7085f5ff2f2cbc9cb53b5dac0a74ba53f837defb71a65dbb56f034bc7dfda03acd8117384e831221ec1fee167ebf6af8a6ed1d139b2c35289fff9ccc311e3f0525855c715ba855e3aff62e86c33c90917e835b6c859c9c24cc0ca4d74aa44dbed2e62f7a19e0ad38652a0115fcc4836936c178730b50ebc655192d70c4d4bd58b12fefd3c03603b3a6dd7f1f7252f4382bb3effbf7c10610c8c4ff4aa05753362b379d542ded304570b7f3c604141a7c9a30c3ca36600d11bbe43a6c9ff4d111dc50424762017117a6b750144755fd7f73a04145b8a8e1be78f4110150db41789f6a09996a3db8f083f35c444ce27364c91da1e9e760ce47b8c15994e86c73b542682db6748f3ac95286d63f580fba7c3943467951ed7f7176d311fbfd03985e9bf75f71738b99367e0d01a0646ae0951f1102f1d55be2c8487c6d8ec0436de5d62976fd0c2dcc245b80c06566091712ba10073a66b3084a0fa711da0dec20afe40232fc4658558542ee04b4110f00778650e482fc9ece531343e2a596f0fec609ba95d1b66756c14417ab53518c2a11bcbf44b5df5d7be3fbae9cb2b1cac34a96b41883036189ba894643f88f8f713550342eabe56dfcd6a249a5bd4260cfc3d7fd25ae3d22f67479ef6cdf4080bf2ba2b49355ec2a3a8b4fd08cbc98761eae168c52eecdf0d011dbaae2c44459dbbec15ac85dd212acc6dd33acbaacc263d6f9edaac18d2f5f4784b5d765240abb90c550c368c00acdf21c200248254cca3c138e2631e7e4fe128a34f8cc36174c82dc9cc8601b473085194c972257eb9ce85fd6db7e1b15c3fd33831f00adb8718591a5ac155a31675c6994d7798d284f74e157d9710987831ebe79d9223428ab0892a068d5bd72238fc2cf4553331c2939a63a91eef25b34b9152f9f661058bbac22fcc9905165cd98fefd931b25f1b63eb47291291420eaa632552404dca111da73678bb8a71245a6e41591bb0ba4c93fc7641b0d572752a1e00d434b0406fccfc79fc3ab0ea6f4e7c10565df821a9dd005420a871ce4607d229b59b188a7eda7a2e2d0118081c140b37ae21fbb8eb6be054528d854a09d0b40d1fb68cb0dbde941a450d060d65175fdcfa427c1d7e54083effa74397cd86c1a47785db514fe5b74fe863fa56d9a7aa526b59bb01b254f7544926ab2f74ff5db5b7edd13057c96b3f895882b32eb3eae16df3b260859536a525b7c24b085679ae06a8977b3fe182a91af3c71f8bbcc3f15245efc10c33481d362c5149b76e573c8b0215f4662032e479a6efdeef7ada7786ebf5011ae358ac5aa74c8bce9fa87085aa6f0d839cf1f03060e5f42e346fda4812b67129dc028ba5e754595c0ab84da85823a3c788ad6c89967a5fece0cf3a224c8735d1055eb8920550839d7f5a1bf5872e67eab03092bbfb09b9dfb4c6910c93f87b80ce6bd41b0e2ab241b9d507365f93c4ca1499009e7d7c2e6a69658e8d402fbd26fc8e1ceed6c432ee0019370e6ef3b0dbfd9d9f66e70830b5c79c345fe0edae1d316a5a0297f54e109fd0a53f346625cb705ce3f999509ad7c369354ad41416cb6901136988c7d6db5528982aac28429cc2cf119131a769d66ff0e0b67f345b3bb9554b4176bcbb2e74b47b3ac5c82d5526e9bbee1c1929d1086c84a8b4f59c72156ccf2b793a416d34cf04e9cfdd718ef408839465caf872fda597c290b1ee1781206db829b34518812dac28ed2ee6129614b4ae57463abb7626b1f77f1005ee7f5224d944a4cd406963530f7f87b1e87f8d87772a8988bd46c4660457faeaba4bdd988bd312f4872540ed64392661076750087f233bd5502e69167ede5adf03dab9601bc992e35c84494de0b9e795b757950d83e59197666e12599a557fd0ec31888a0b1d65bc24d27207f05c8324be0fb02fdbba6f8fda348c7e44c97e762472ab81741726159754bff550610366d281c5d53f6832e1a6831c285a15b36c33a4b825418ce1c20764e2d48770390cba1552ea598c991f5fdd543400506e72a11ed245c1be9bd2c5202e2f3ff413be380640dd9c7993890d457d5d851a70e7ba90193a8bd234c9e7cb66d9decc4da2ecf5700ceec6db05fb3f19c06d554be61be90b7401d740421e55ec9a97eb2ca2e9aee271a0cd7764fc6c4f61fbf6239153287bde7dd5f066c027bd470c88b88c283a2df89b73cd12450b4a1558efdf015058cbc44e2e06c3332f85773992e659ecefa26908429cf9636d0c73633b80f7a9ac11e5dc6c4d05422d58b70b03c54993a1d1c983867154433df9208f969c096069cb357b240eddcfe56f0fdbd23d73040128c45b7fe3a3b676bc69c6c67db49b2d26712f4d1c4a08920eebb343d310dbf91893173cb95a546dddaff9080551536b9ff5db4f1ff2e8622e70ad8347952949eb03ee36753ea9852a364a91d5ff6ce5a97e51e4459dfc4501fb63257c25e432fc1d47bc2c4ea4ae5a94b6cad4eac4bd42ad1ed9cd54d1bed59d3d92238cc4d39c331328d0e5b57b91e2e65727bb8db68808d8924c90f93632fa251a360f10192557fc367ef130518ee188411e2ec818275653e1d26f782a4430b2ffcae98a4f36389a85114a212e02333924201e6d6c99ef870f2ed11ade4f2b32e7e97a9110d82f659bfc7da54f65c935640812ececa5d37de3f77c92a0ebad201b7691d1f731d17167edfd174658033461e6640482b2b9290cfadecd547aba098073679b9f609c80de93686261cabbdc9da22c226c300da789bc605275fd6c1ef594d4093cc63726158b83f886fef77edf8be6dce620f1796a3efd1cffeb01cd9ba9ffbb3d1e9ecdacabb04bc22ec9bc716847ec975c37fa459c7798a8bb1b7584eedbb35873ec82c90ed434e15f63c0a0c2b95b40ae183089b552254778b913c065e9124c78a04bd79b5787ae5e05e143e9e8e79ee136f9fcd47f9ef185e8b68f0dc7c6bfe8246253449547e5cd24b01650d9d307db890fd9ccbcf315dd8ed09f360be2a3a5395c7aefd8228165d6f47ed438f5d57eb435384699084f086836846d3bf4830c1464a730a2d096d96ca8834e671b04e19bbb0a61deba1c21d20054337f7fbdd231bf65c97826babb9bd1173727896514e46dc3f3d41cf82ae5c3e4e111d374b4d972d906ed6986f905434f4db2c89bfebf2bce810de704cf753075b83580a64279f1e51ed520456a47790ac9b51f820a626d3877c8a1dfbad69a80fc36020dcf21d1ff9b84b657821213b86f521941b6a8f97a62c618901205a26686065d6f78ba93f64720c18a257f58eefe44a23bf285c0c1cf551840c4be5e7f06351083b59105c792ae8df557c84dd5471ffa3f672fe2db4c3f1a0533e0f67ffa5795cae6d6d1492f4ce8e46229ee37154b292649e4bd0e7d2cdbed7aaec039d02473004d700309baad5f4551ecfb32bb392b89ea6977f96dd731935ef92ddaa34be16858c98ce91df7b49db911ce1287ce32ec7e66e7606ca3b900274ae75f0779c5e28de6e1bce4b7937a01fe4a3ad039befee127d80104d15cae2185f0424495a4706afa28427c745f4b2df2fa32d8e8337ed59955a696100f5775cd3769d2e9eb51deacd50c327a0662738c36c92b45e62d8215ddce254b5d403ee61f47910309ae30c81c3fe7b8d9c7c12ce05488e6d592410d1541cdeae931e977a4bfe76be8a1536796ac762c719a38ef28574a001f81e018fb9778047c62d998a17739956a3d66840139f5578b8710b293d439bbb90834d97c8ba794e8122f0968a02ad162411c57021ae3d5b70fcdf7dd61e55bebf265af47d7c42b89eb932b758818431e05932e6ea0c5d719fb8888cfe52142b40fd83f35a28b6a83661f665ecebc0fe05c92e774647e4cad26767624ac29b309520e8d7ee5accb79a6c3d1a9c3a69b4ffdb0ce63ed93ed147618f02794d4c543914b9b1030d8e2c7422b9e133e7da226666f38f88e778d3b8c83d88c983fbdb4ec239161a17247ddace96b5dc633798c3ba1cea647cfb76af8f008508377a71732ee2148bf8964b49a5656f191f418b1ac1229777d1db79e5804ae195845123a896a5dce8a53a9a6f51756896032ad0ff89c1494b0cb5edd7df7300cfa059d623ed9b423d82ef2513ca6c4ecbe1477a7351775742cc08331ef2dd7287b3758c019ecb01d07b6418094514ddfbaaa036532ef4cc3b9eed8d5452f0557cdc93e7b84b8005368bd1dc65a5bda7a686f0114ab54432e12f71afad54fe63bb2bd1bc7047bde8680f2fbe40b2635d5e0576d5bccd276f717b91fde65a12081863071d86660a4583bfa6146d670fc49f49bc166c7674a093e06c1b16a220c0c373ad3593511b7d5d1386eae86104acfefda685d89fb9823529378823ca5612951013baca48c93b5c058f97c93f58fa84f2362d83cf0364780c01d3a64ca54df2debd9bd5ddb99ea06f0c7f0582fb8a52c63e3e860fd63329aac3b108f2230f6e8b47d1f0407b5dd439568c79dd8d3dab299edaeb94895a3979a9a12a1bb75590be706d1121f82a4c4936b3b2828b4b56c833257a55206aaf1a3eaa570477ee334bebdc958e937f1b45629aff728f31be4c904af93808e015d9d945a48003deef2905f74a812bae5456388fbc68415135337e98b0ab0417970728f9b8dca16bb3a153ae97bc88b42ade8197d68f7931e7297cc4f2fa90f2253447997e62e842cab33bf8258d83437d9bf52421849b0cf51daeeda5103cc844507b72a3a19a70b2e36f6aeac6b78db334b18aab4a72e243c98b6c534115d4aab78e518f51f25f298d7fd2348c66bb446cea033f53d943fcc3c45d41d18c4bf5b847be1944850d9af5fe7bfc18b037d90af88a685e1003aa540b7637e00608228935715cda99af82a21129ecebb06e529ae074a619aa5d96c57d1df452090c2ac59fcf62500709216f4f1cbe54bb610b560151d02d49084ab7e2d3a3cde982d8774eb2894e0d4c23ad7f30af7079729540dabcf496f28213f913cc19e30f3d72b6de1204aeeb9085c18a91318cd2f2410d4df6cca9401d7e0f301619fe4bfca0ec491238adf8d8ce0b4ff1430429ad22a5dbb42b67acf7820555016fa38ca7281d7893c62a1f3710f6512a1e53125ee443d3ce5c65fdd2629ca58b231ced3421ca546d80415159ef0974ad96f1a8eabfd96f99c66212f1c7f9a53492ea56d80908d0225dd80d74cd1ca207c6949e36400f6f75d0b9ab6053e172e3ce4f18a9e928b4510ac1f5278500748a8bf757b1de903c2e8c2380311b7fbc2107f5f8ab8e09fc7fe8a88ba81d2e7cdcf025982a62b62e9829c804e18c7433dc373a2e97684dea658638f355d7a2634dc71d16640abcbd2e9b50b83171a4f30b9a62c66ca13682fbcda71c33ab4855e5d725483e27a263327d6b9592f5ca20400e4167caf8e738329cc83234d2f8a647698424456e102acdccc2f0c5ab63b73e1f8bcdfb4454622c5c3e37beb48c2b660e8060e8abd0a744ef50972b547ccb7813507f54f17740839e7e950638b92e06762253c95c7dd51640244a7ecb5b8e1df84fdee675c16258f60a5f7cde777b643bfc9009ab34e9d7fdf64f2892928a3bc43245b70ad76520da5d6a8f868fe4950ae3986dd1df0e7c2c1e8a2ce618e86f441e1c1f13d5d173681c37e2b2992443c5a8f55bd63fbd1ab38027dd9e1fad47aadd6408ad1ecc8d3230ede0527635691a95d0ea9cada8c7086fff79fffe388e882aba29aa59a5ee0576c5bc26133b7d5f879a058e00392314e9b9cc3fe103fcb3e414dfb097759b67f0755d26bfcfe1969cd949c1831076861326adf0851c15605dcccba5cbc05b611e45188699cba88f3c65e53ad7649e7492f03ef3a812f81d055acd014663aabd66c5d7b957500d9d6b6d0f963fef468c0dbf9979f2336ba24ebe744d19ca8d20b1e611f6fb1c766504d0420b788c24397e74e581f168b04651cdbc5e13281f6ae1bf6dd8e50df5ea4f91791ac1d635e5a9f40888782f3b82edb4f28b7c18c373e2cd661edab598ab835b08e11523d3e22ea0ce6168814a016f32c71baf39a66d816d550131c4fb976d815e09673960b297ba051ec116ff0b0b0ec2268aa154cf104799562ae411aba0bf87004a728d065f07ecebca8b410571ce766c5c50c5b043c858966698e146501d7756c7ee6b10c10850ed9f37f4596d9c8f394b945491ec03d1c19b98d54d172dc7db9e1d6c5317a46642ded0b8eb7cf83fec6a75e4ccd176d1a1725b25477a18ef2c02cb0bf9446fb261afff0817ba670fced709465afb9b69ba89334f9ff10e13193084a551441e97330b94a8069e32f26345a96d83d6874cfe12228bb9062fd57e756b3f2f62ec058f4fc7daa8e8348b15c4278a7f8b435113bde26a44cf074e84b7295a477ec059469c886861b35e87f2f988d1716b40317d46de968c4ce9a2da7bc90cf3889559ef28fa8d634f4fc2935f2dcd20aaa503f02d596a83166b5acb0e1a37273e7e8aff259bc9add12c50574dea58fc39f8f737b8de39145e10c70ad6d61275523e902d5e835609f6dcd65bb5d5cb218ed91a67f0177793e303541d8a8dc281382ea40212e459c1f0c0a9afd1708319d07ac2d381db5b502e1cc4e7149a6a165b1504d6f1ede5d62e92fdc60d3f3e908a03bfb82bf9a71c3ce90807c939059e73b07a76ae877b86a68faa2f05c156af02d9bec245568f28b65c5cfeb9fd9ca3ea152e9fe64366b695f543ac669461d009d1d1571ef99e505cb26ae6bb79f04958660ceb40ebaae78c71706a21a734fa968ae4dad364f5769574f8dae8db8ed2735edfb2545f462f14e7f7661e7438bdde2d9ed488775829e538f4d68eb8336e0f0cb2b82a5460d3958972150ff722094a7ccc7fda60971cf204997c0f98ca5702b5e91179abb68b6d5fce06a9d99acf144a75aa73969f4ac056e390ad4e81337afb250a2271e23111b9490ab7986cfee4f245109ec01aa4018f0a6095b4d213670fa11649ae39de96f178f46f18b43addc6997c5ffdfec195138a90da211b0fb125000a9f36050856aa3d6bfb066aa6157d3ab51c84cef63aa496ab32010adfed94df27d58640c4c6d46d5cf9d27458edb58736c6ef2b778fbd22d387b4fa9bdb5640be08bff7e8aa5d01bcda4662768020cca8c3b8913aef269f8596dac3e77d95d06618ccaf40cad8f24f5da9e2fea0f303421c23711fdd066f655a06fab9734354c91b294f23ec2f47def62b607f849aeb90c9aea034b000dc90508b84e663fb9ea4a11aa9edcefb165ad21a6b5193e0b6e0cd226f2673450bd01ad348fd1a7d083934e1797ed8558c93736773ae4043da0f6284a2dd6ce704872e811da07630e841bc8490ec75aac5313ece7ead39d70dae8afa4c4af0e96ec7766b1733b16bb1067964eb924e1e95fc030c7cda8b9ce8bb8e269265f8800c2fa811f5c3ceba7ea4a35b61ec25effca9102c55202dee1b00bf3b673ce6ee68494dfb484165faf7964e54ca524dddae480c4af821d1b68f172a2e888cc28e96980414ebb3b636494be30dced9c798e1328bbe2f7a641210546efb9d34b574f388a0e92bbb131d6abd766435b3bbd2bd4106e12efd6357db01c9562e2e430f376bc8c408b9bbaf2302837ca84fd06244ac6bcef73234f0936466c8f51b1c7be28f3d6f592d8fdb46c2533708bd10bfcb81e2c369022dcd7da5f4a87f25f43488404c5ec8261ab1ff155df46b0a6e44d09a61259c63f98e314e3e53bb460e9b75bf1ace791591456dc3267e816634b89b00fec9af434e912a83f8dc175adb16acf58db19a5b3619b197ee259cbf76f8975cd86d66c3fc50733e8e63d8f38fa407caa5ee9ed02b354cef30113c7468b12541cb45004b9024f7e3aa55945fbfcd08813bbb4ebe85628268010112efe3032935030a3dfb4c34b0bd9416716027102723d94c5cd379fc8733dff2e0cc0d00a1157f37f06284bc9269cf2e794c1c58fe4d0647e19d01b2a7c0365947e7d591a353d4c7fc7bf68defed9632a19fb5ecbd0efa31e5fc68f6ada459f3fc26e399a9e0f4fcb4ff168b6420e6e608f8f95264dd23ea88fe7c9eda8a27699f17dc50c3e391da006578d9003daa8c2ba555b37c8ce784aecace807b93975ef7906cb81e809b960e253029015b644fd6abacd184bba39459910959fe5509413cfc07f1b3cbdaf56d29cf98d8054eff65c804076f217de3ff33bee9c19da3b1a48d4b60aace89a952522ac3874ede464a6b5ae8c29a494494ce224ea62ab020d76627bddc84a9f56f4fa9be84d7edeb83a2c8ebf47d39d70c8b04a3feeb4bbfadca259beccb3d33b9b9395cf77635e277d5c2339fd0862d6bcc4585c1003775beacf5d1b259f8effb510a50889dd8158a66b9645330b05185c6dd487e42d02274da115f55f32c9994dea3293f2a44aa9d99c9e31647ea39ea2a8f1b9fe071bdbabb98026e95d10d65b6b2ac2fc5922b18ba5bb0f9e725cea5023ed5b920f1e30d643524bae3134a7fde195aa889b2ba2ed7e4d698e67ce3613956f6c9ac7912c45cc4a9552d7cbafa31d465c7cd50ece8a03e31fe1f47824d620db60c2700f2f89a78b8f6ba2c62a74b20d44ebae16a83074aa9c8406bf2f5647db5f62ac0bd154b3caa29b348fb5b98ebca188db9bcbd3e062022b2a13f66123e2a3fda4fb3dd48b2103edde7447fa5c8e71cb7df0f8c81cd9f825af587c1e98c69885d11cc90298fad56543996242487db56ae3ac31de2df3c64b2dc153fbce52f71180cf772c34cb7f12a72ae64fb92947dc55c672e2aac54ec29c248b01f0892bd1b9de6ac0ef617212d4c85e636ff62417e8376fbdb429a5fd696a456577789b7203bd405d8d9346a7679c4c12ecc9e4b4348307e77fc77087a56701d3d167e4546cd9543e17c3b27af32c512ec65a9b652f80b3d444e2dd7b72548fff6470415484d3b67111aea353a9b59e1af2eb7c5cfe576655307d5511f8b45c94564b65830688a1db3d426d3a0a0c15669ac9c7017f29683a94e9c19a0f5cfd2b392ef87794d752c53d4057a95dd4605235a9179959666c3e962c4bc934929fe73811f6dad6b79c34cd7a69e980ee255d5580e0d520f0288223e11782a8d2c192969c3d0bc1bc7fc0fd34ca6bae15d318d4f4ab021efaaa1d845920f9eaa448d2f68a47bef7c31cc4e8b476beed9a66107e012e70e231449768cfca0a737bb9fb47d31b3ea58239c08430ce2d1cd8405cbcb7ae38c3834477679fdd22af5238b74798152f5e21b03d8a2f9923396326d9e8d97a8d5e75da7b467fffb92478d1b345b0a3e5cb0908c48e80a973f8bd8b958c9b188f8bdfb7d1a6724b04e6f574659e3c0ac8ff841e82c2a29524aa67ae0c22afb3345fe950e68e91344936e1b8056022cfb06a5274976aebfb7863a425a2c1eda85842154740150600bea9d5e79f59b4eb538a28dd6970bbf314a928e1707f676f08a74dc72be62f89640134b48ea4d263cab6533a0e6ba64039f934a332d90a7555aa45f589d5fd1cbde99c6c96baa62895fd8df2748207bc6850c8f5a71a4bad11393d8c5656e8b805c4de06553371006fc3d35837761edb90e2259426b0c017fbc73bb3908b5d84a89cb4780cddcef2c16cafa853c03250f69209677bdd7cf57eee66fa102955532c22eb81bc0ba57f5f07659a104703a3461f3bd220b165496a2844c94524e9c0fbd438d19de871809cea0f280f8772ce8b002b1669f620e3fa7c64d5084317d08ac3cea7ff5a5dd217d318b12cc2b7e85b18f06296b2cd2cb719244fadbe01468fb5ff2a632b30f76fdbb2762852c4c5933e84ae52333dc2aa6a195e5a599d5d07f1ca31dd004976eda16a23a56d625f23f20373cb5f2b71df9281b2ad51b9c135346f25bd0203f4a53a914f46e67725ee7526fb8a3ac778e7d5d35ca0c6fdb155bdf1e4e2ef12082c4f7b93348c3e8c3c08d8bf129972f2de90eef29660fddeb5dc280dcdcec5ffef7430b2acb4ef7c03924e8669d132fdde6ee6d86cab53b0ef80ad58aa7a801373e8ddc13101f58f89b3328b4f7b47ab475d3f7472b35f50853baf857f1bfbeca9be67459aa399c8ddbb6e9b7adf712417b7e8268a3a58ae028c13e38fd1384437f5652554d5096a180d6802bb81c56171a025edfb302a92e847e129a27b810763559b9e1e45ae15a26840d043ba4e2340a15b2513a6d80d6cdf3d42a7c282360ca6b3667e0425121873fc3e448cf4e17bc1ebae55e809aad50cb0df7ccaeb7f5b61a549e57081afdbd5c025cd65672937a20881fcdf0174c1430eec139537b8d41d1286d10d9d7e10f6e76326c050ee93e147ca08de559ce0691bae62c786b89c5c31d7a6ddc00e4ff959634ef6ac9627d87d7c144d5899edea0010d98967221be89a639a33c4224dcdd426d4e2a11b003b6b6b3f485c699d72bbdacb9a9a7101e97cf1480e0552088df6edd4bd8c6f007599134192d8e64d9120acdbf99282006fb3c8e0e1f1b411673bde82669d276bbe52f81a17892d6cb79f4c1430919f20b1028bb1d842ede37de712b6a6d39cdd33bdcfcf3a981cd98d0b298f92bdb0f8ef981bc82d562b3e836ac8534d57a291059740e0397db448fef367e9a5774ecd2f8a7c6977b06d38e82b5ff90ed5809bd83b80e831a1d9e1624cedb36b26ac8ca587e340f97aedbaa106767ce0b7c5cb7319ab8d62b945b6f1ae6c6bc4bc3a5dcaa160813588be1934a360c81e34182168b3b3c3d64fe69506c9a2600e5a2f2064ac07a032d447481880d4739cbbe54f18d1893ad1a87ed9be659f5815f946df719a34107eb2e153aec0e5f1b2ae89c6562b032400ccb4389aa48bc2ff749f1c7973c6b9e2fdde1bfcca156bf1fd5f15c7b1f0da8da3b64a854132287098626bb60f0d15babcb2121f784a3ac021762801ad550b82c99060c5a8b9914d57688e2f37735818950177aa8c6f40fba2d4965fd825b4f686ecb3e5c591da23f9ac3aafcddc6a7a0b85c1319edf4ad094fa6b4d6c1c0a72ff1ece8ba3e3ea4355f6733b59444f251afd4ef46f87e106485e3301b3911b9c13b5d196294ca323f3930a26ca705135158627d1ee9d556329cf742c863fb1c3b68b7637d9051b136d1c66faf894dfad7a64b839fbf46b17ce019fad0961b63082d0531755e6e753413ad53d478177d117a650ee0208bebe3daedd28eba716847c1945c940d154439cbda6f26f4f2b05c93ed4f708dd3acd8a81937fa31661c036e04ff79f7a4fd18bc4215f7433df5c4c51c0d9b1a5a16756d69eeb667c40a51ae6c0099f7cd2b57895bdf6d6ae8c9e4dce05e5244b0abea9f9a424fb42db36fb0a017f24c0ad0ac31c012d811a029ba4902c52ede5501986bf49fe7c1e8036f5dd03b79b6e16704bd0636f2cbeac8d2c0efaaa208ac511dda665926fc472b0c1b85ac96a459a59b35b52d0b7e76be1bc8af04468ae9f77f9de0d9cf8c004050b6762b52f87cf97d4d181e4a99f0d4ea462046f54113091be6d4b6e2118a834b09c98231ae1d8bc153c9582c65615da13cbdd585e0ee6db67257c1909a88756ab3581f90dace57e3444f37841086b2e60a5061659c4ad6cb19f929a36be7a4385c52cd0198ba7a14ade33e4eccdea2a764fced5d332a38bbe61221d700431721d56d949533b8a168372e7e111542d4db5df5117738a261fd6dac9a9f2ad0f3c29c10ca6833e06be604f84c1cb742da80f8c17a060488db774cf14c0f3923741cd4e4eaf954b2278d44ef91246971526f960927258ba5e787904e1b770f3ab3008c885a673e7f281676b93c38d07d4c3867d13529267541836d8e537060d5134ad0b4281e8f79a597a5fc723774d9a87437eb06e78c3ae3c8586de1608161d6314be292f5c0a9ca4931362cdb8248f0b200439723e38e468ca26fe0ac2c704d23504ac3b4af51333f723af48312e939a1a6b6da28208141e2ef915d04f6de325880271c21a3ca7b51921724453bd135dfdce97dbcb00949daffbe64cc3044a6c501f1b85342963aee431e59cea1ebb4575ed5967fea4e998bbe6687c5b3c8d63099c66486c6a219999d8452c8ebdde1e0bc08b213098e3ded8050e983a47f3665be93f9645132575c4875eec20896186412eb3f3193e7062bb38c8d742af4817f837a70d1488cea7ce8ede56dc4f008eeb6ff671a6209e93a0f7fd5a45150346b5382db3b941ea14bb186bead8f118996a4156942389e9dae166cad92d0bde17a1fbd399f675b3ae4560a92d13db58c016ddd814f376526dfdab7486261f212da879d5bb5c6c599dd899831c6e26fb424d1e5e083aaece0410fc9afa9c1728a6db21af79b3ff423fec322077d6fd9b8e5ea5b03af73e020c9052ee2196693b52c68b5820813fcb7c7358da3d759e9cb6f2b29f3fc8406</script>
|
|
<div class="hbe hbe-content">
|
|
<div class="hbe hbe-input hbe-input-wave">
|
|
<input class="hbe hbe-input-field hbe-input-field-wave" type="password" id="hbePass">
|
|
<label class="hbe hbe-input-label hbe-input-label-wave" for="hbePass">
|
|
<span class="hbe hbe-input-label-content hbe-input-label-content-wave"></span>
|
|
</label>
|
|
<svg class="hbe hbe-graphic hbe-graphic-wave" width="300%" height="100%" viewBox="0 0 1200 60" preserveAspectRatio="none">
|
|
<path d="M0,56.5c0,0,298.666,0,399.333,0C448.336,56.5,513.994,46,597,46c77.327,0,135,10.5,200.999,10.5c95.996,0,402.001,0,402.001,0"></path>
|
|
</svg>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<script data-pjax src="/lib/hbe.js"></script><link href="/css/hbe.style.css" rel="stylesheet" type="text/css"></div><br/><div id="post-comment"><div class="comment-head"><div class="comment-headline"><i class="far fa-comment-alt fa-fw"></i><span> 评论</span></div></div><div class="comment-wrap"><div><div id="gitalk-container"></div></div></div></div></div></main><footer id="footer"><div id="footer-wrap"></div></footer></div><div id="rightside"><div id="rightside-config-hide"><button id="darkmode" type="button" title="浅色和深色模式转换"><i class="fas fa-adjust"></i></button></div><div id="rightside-config-show"><button id="rightside_config" type="button" title="设置"><i class="fas fa-cog fa-spin"></i></button><a id="to_comment" href="#post-comment" title="直达评论"><i class="fas fa-comment-alt"></i></a><button id="go-up" type="button" title="回到顶部"><span class="scroll-percent"></span><i class="fas fa-arrow-up"></i></button></div></div><div><script src="/js/utils.js"></script><script src="/js/main.js"></script><script src="/cdn/js/medium-zoom.min.js"></script><script src="/cdn/js/instantpage.min.js" type="module"></script><script src="/cdn/js/snackbar.min.js"></script><div class="js-pjax"><script>function loadGitalk () {
|
|
function initGitalk () {
|
|
var gitalk = new Gitalk(Object.assign({
|
|
clientID: '00fb27b1e484536359c2',
|
|
clientSecret: 'be41a12281c68b6e228d1a27e8d08aeb91541145',
|
|
repo: 'BlogComment',
|
|
owner: 'JasonsGong',
|
|
admin: ['JasonsGong'],
|
|
id: '4a4327dcbada181e905ac2c4e71a713b',
|
|
updateCountCallback: commentCount
|
|
},null))
|
|
|
|
gitalk.render('gitalk-container')
|
|
}
|
|
|
|
if (typeof Gitalk === 'function') initGitalk()
|
|
else {
|
|
getCSS('/cdn/css/gitalk.min.css')
|
|
getScript('/cdn/js/gitalk.min.js').then(initGitalk)
|
|
}
|
|
}
|
|
|
|
function commentCount(n){
|
|
let isCommentCount = document.querySelector('#post-meta .gitalk-comment-count')
|
|
if (isCommentCount) {
|
|
isCommentCount.textContent= n
|
|
}
|
|
}
|
|
|
|
if ('Gitalk' === 'Gitalk' || !true) {
|
|
if (true) btf.loadComment(document.getElementById('gitalk-container'), loadGitalk)
|
|
else loadGitalk()
|
|
} else {
|
|
function loadOtherComment () {
|
|
loadGitalk()
|
|
}
|
|
}</script></div><script async data-pjax src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script><div id="local-search"><div class="search-dialog"><nav class="search-nav"><span class="search-dialog-title">搜索</span><span id="loading-status"></span><button class="search-close-button"><i class="fas fa-times"></i></button></nav><div class="is-center" id="loading-database"><i class="fas fa-spinner fa-pulse"></i><span> 数据库加载中</span></div><div class="search-wrap"><div id="local-search-input"><div class="local-search-box"><input class="local-search-box--input" placeholder="搜索文章" type="text"/></div></div><br/><div class="no-result" id="local-search-results"></div><div id="local-search-stats-wrap"></div></div></div><div id="search-mask"></div><script src="/js/search/local-search.js"></script></div></div><!-- hexo injector body_end start --><script data-pjax>
|
|
function butterfly_swiper_injector_config(){
|
|
var parent_div_git = document.getElementById('recent-posts');
|
|
var item_html = '<div class="recent-post-item" style="height: auto;width: 100%"><div class="blog-slider swiper-container-fade swiper-container-horizontal" id="swiper_container"><div class="blog-slider__wrp swiper-wrapper" style="transition-duration: 0ms;"><div class="blog-slider__item swiper-slide" style="width: 750px; opacity: 1; transform: translate3d(0px, 0px, 0px); transition-duration: 0ms;"><a class="blog-slider__img" href="posts/19306.html" alt=""><img width="48" height="48" src="/img/1.png" alt="" onerror="this.src=https://unpkg.zhimg.com/akilar-candyassets/image/loading.gif; this.onerror = null;"/></a><div class="blog-slider__content"><span class="blog-slider__code">2023-04-21</span><a class="blog-slider__title" href="posts/19306.html" alt="">Docker容器化技术</a><div class="blog-slider__text">Docker</div><a class="blog-slider__button" href="posts/19306.html" alt="">详情 </a></div></div><div class="blog-slider__item swiper-slide" style="width: 750px; opacity: 1; transform: translate3d(0px, 0px, 0px); transition-duration: 0ms;"><a class="blog-slider__img" href="posts/47003.html" alt=""><img width="48" height="48" src="/img/5.png" alt="" onerror="this.src=https://unpkg.zhimg.com/akilar-candyassets/image/loading.gif; this.onerror = null;"/></a><div class="blog-slider__content"><span class="blog-slider__code">2023-03-10</span><a class="blog-slider__title" href="posts/47003.html" alt="">常用正则表达式大全</a><div class="blog-slider__text">正则表达式</div><a class="blog-slider__button" href="posts/47003.html" alt="">详情 </a></div></div><div class="blog-slider__item swiper-slide" style="width: 750px; opacity: 1; transform: translate3d(0px, 0px, 0px); transition-duration: 0ms;"><a class="blog-slider__img" href="posts/20683.html" alt=""><img width="48" height="48" src="/img/8.png" alt="" onerror="this.src=https://unpkg.zhimg.com/akilar-candyassets/image/loading.gif; this.onerror = null;"/></a><div class="blog-slider__content"><span class="blog-slider__code">2023-06-05</span><a class="blog-slider__title" href="posts/20683.html" alt="">Linux中开发环境的搭建</a><div class="blog-slider__text">环境搭建</div><a class="blog-slider__button" href="posts/20683.html" alt="">详情 </a></div></div><div class="blog-slider__item swiper-slide" style="width: 750px; opacity: 1; transform: translate3d(0px, 0px, 0px); transition-duration: 0ms;"><a class="blog-slider__img" href="posts/63333.html" alt=""><img width="48" height="48" src="/img/10.png" alt="" onerror="this.src=https://unpkg.zhimg.com/akilar-candyassets/image/loading.gif; this.onerror = null;"/></a><div class="blog-slider__content"><span class="blog-slider__code">2023-06-03</span><a class="blog-slider__title" href="posts/63333.html" alt="">开发环境的搭建</a><div class="blog-slider__text">环境搭建</div><a class="blog-slider__button" href="posts/63333.html" alt="">详情 </a></div></div></div><div class="blog-slider__pagination swiper-pagination-clickable swiper-pagination-bullets"></div></div></div>';
|
|
if (parent_div_git !== null && typeof parent_div_git !== 'undefined') {
|
|
parent_div_git.insertAdjacentHTML("afterbegin",item_html)
|
|
}
|
|
}
|
|
var elist = 'undefined'.split(',');
|
|
var cpage = location.pathname;
|
|
var epage = 'all';
|
|
var flag = 0;
|
|
|
|
for (var i=0;i<elist.length;i++){
|
|
if (cpage.includes(elist[i])){
|
|
flag++;
|
|
}
|
|
}
|
|
|
|
if ((epage ==='all')&&(flag == 0)){
|
|
butterfly_swiper_injector_config();
|
|
}
|
|
else if (epage === cpage){
|
|
butterfly_swiper_injector_config();
|
|
}
|
|
</script><script defer src="https://npm.elemecdn.com/hexo-butterfly-swiper/lib/swiper.min.js"></script><script defer data-pjax src="https://npm.elemecdn.com/hexo-butterfly-swiper/lib/swiper_init.js"></script><!-- hexo injector body_end end --></body></html> |