diff --git a/404.html b/404.html index 09cefd8a..632b7f40 100644 --- a/404.html +++ b/404.html @@ -1,50 +1,51 @@ - + - - - + Page not found - Rust Algorithm Club + + - - - + - - - + + + - - + + - - + + - - - - - + + + + - - + + + + +
- - + + -
- - - - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - + + + +
diff --git a/CONTRIBUTING.html b/CONTRIBUTING.html index 15fc76d4..24010ea5 100644 --- a/CONTRIBUTING.html +++ b/CONTRIBUTING.html @@ -1,49 +1,50 @@ - + 貢獻指南 - Rust Algorithm Club - + - - - + - - - + + + - - + + - - + + - - - - - + + + + - - + + + + +
- - + + -
- - - - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - + + + +
diff --git a/ayu-highlight.css b/ayu-highlight.css index 0c45c6f1..32c94322 100644 --- a/ayu-highlight.css +++ b/ayu-highlight.css @@ -8,7 +8,6 @@ Original by Dempfi (https://github.com/dempfi/ayu) overflow-x: auto; background: #191f26; color: #e6e1cf; - padding: 0.5em; } .hljs-comment, diff --git a/book.js b/book.js index 79d40354..178f1e90 100644 --- a/book.js +++ b/book.js @@ -4,14 +4,16 @@ window.onunload = function () { }; // Global variable, shared between modules -function playground_text(playground) { +function playground_text(playground, hidden = true) { let code_block = playground.querySelector("code"); if (window.ace && code_block.classList.contains("editable")) { let editor = window.ace.edit(code_block); return editor.getValue(); - } else { + } else if (hidden) { return code_block.textContent; + } else { + return code_block.innerText; } } @@ -66,7 +68,7 @@ function playground_text(playground) { } // updates the visibility of play button based on `no_run` class and - // used crates vs ones available on http://play.rust-lang.org + // used crates vs ones available on https://play.rust-lang.org function update_play_button(pre_block, playground_crates) { var play_button = pre_block.querySelector(".play-button"); @@ -166,7 +168,6 @@ function playground_text(playground) { .filter(function (node) {return node.classList.contains("editable"); }) .forEach(function (block) { block.classList.remove('language-rust'); }); - Array code_nodes .filter(function (node) {return !node.classList.contains("editable"); }) .forEach(function (block) { hljs.highlightBlock(block); }); @@ -178,7 +179,7 @@ function playground_text(playground) { // even if highlighting doesn't apply code_nodes.forEach(function (block) { block.classList.add('hljs'); }); - Array.from(document.querySelectorAll("code.language-rust")).forEach(function (block) { + Array.from(document.querySelectorAll("code.hljs")).forEach(function (block) { var lines = Array.from(block.querySelectorAll('.boring')); // If no lines were hidden, return @@ -224,7 +225,7 @@ function playground_text(playground) { } var clipButton = document.createElement('button'); - clipButton.className = 'fa fa-copy clip-button'; + clipButton.className = 'clip-button'; clipButton.title = 'Copy to clipboard'; clipButton.setAttribute('aria-label', clipButton.title); clipButton.innerHTML = ''; @@ -257,7 +258,7 @@ function playground_text(playground) { if (window.playground_copyable) { var copyCodeClipboardButton = document.createElement('button'); - copyCodeClipboardButton.className = 'fa fa-copy clip-button'; + copyCodeClipboardButton.className = 'clip-button'; copyCodeClipboardButton.innerHTML = ''; copyCodeClipboardButton.title = 'Copy to clipboard'; copyCodeClipboardButton.setAttribute('aria-label', copyCodeClipboardButton.title); @@ -288,6 +289,10 @@ function playground_text(playground) { var themeToggleButton = document.getElementById('theme-toggle'); var themePopup = document.getElementById('theme-list'); var themeColorMetaTag = document.querySelector('meta[name="theme-color"]'); + var themeIds = []; + themePopup.querySelectorAll('button.theme').forEach(function (el) { + themeIds.push(el.id); + }); var stylesheets = { ayuHighlight: document.querySelector("[href$='ayu-highlight.css']"), tomorrowNight: document.querySelector("[href$='tomorrow-night.css']"), @@ -300,6 +305,13 @@ function playground_text(playground) { themePopup.querySelector("button#" + get_theme()).focus(); } + function updateThemeSelected() { + themePopup.querySelectorAll('.theme-selected').forEach(function (el) { + el.classList.remove('theme-selected'); + }); + themePopup.querySelector("button#" + get_theme()).classList.add('theme-selected'); + } + function hideThemes() { themePopup.style.display = 'none'; themeToggleButton.setAttribute('aria-expanded', false); @@ -309,7 +321,7 @@ function playground_text(playground) { function get_theme() { var theme; try { theme = localStorage.getItem('mdbook-theme'); } catch (e) { } - if (theme === null || theme === undefined) { + if (theme === null || theme === undefined || !themeIds.includes(theme)) { return default_theme; } else { return theme; @@ -338,7 +350,7 @@ function playground_text(playground) { } setTimeout(function () { - themeColorMetaTag.content = getComputedStyle(document.body).backgroundColor; + themeColorMetaTag.content = getComputedStyle(document.documentElement).backgroundColor; }, 1); if (window.ace && window.editors) { @@ -355,6 +367,7 @@ function playground_text(playground) { html.classList.remove(previousTheme); html.classList.add(theme); + updateThemeSelected(); } // Set theme @@ -371,7 +384,14 @@ function playground_text(playground) { }); themePopup.addEventListener('click', function (e) { - var theme = e.target.id || e.target.parentElement.id; + var theme; + if (e.target.className === "theme") { + theme = e.target.id; + } else if (e.target.parentElement.className === "theme") { + theme = e.target.parentElement.id; + } else { + return; + } set_theme(theme); }); @@ -425,7 +445,7 @@ function playground_text(playground) { })(); (function sidebar() { - var html = document.querySelector("html"); + var body = document.querySelector("body"); var sidebar = document.getElementById("sidebar"); var sidebarLinks = document.querySelectorAll('#sidebar a'); var sidebarToggleButton = document.getElementById("sidebar-toggle"); @@ -433,8 +453,8 @@ function playground_text(playground) { var firstContact = null; function showSidebar() { - html.classList.remove('sidebar-hidden') - html.classList.add('sidebar-visible'); + body.classList.remove('sidebar-hidden') + body.classList.add('sidebar-visible'); Array.from(sidebarLinks).forEach(function (link) { link.setAttribute('tabIndex', 0); }); @@ -443,20 +463,9 @@ function playground_text(playground) { try { localStorage.setItem('mdbook-sidebar', 'visible'); } catch (e) { } } - - var sidebarAnchorToggles = document.querySelectorAll('#sidebar a.toggle'); - - function toggleSection(ev) { - ev.currentTarget.parentElement.classList.toggle('expanded'); - } - - Array.from(sidebarAnchorToggles).forEach(function (el) { - el.addEventListener('click', toggleSection); - }); - function hideSidebar() { - html.classList.remove('sidebar-visible') - html.classList.add('sidebar-hidden'); + body.classList.remove('sidebar-visible') + body.classList.add('sidebar-hidden'); Array.from(sidebarLinks).forEach(function (link) { link.setAttribute('tabIndex', -1); }); @@ -467,14 +476,14 @@ function playground_text(playground) { // Toggle sidebar sidebarToggleButton.addEventListener('click', function sidebarToggle() { - if (html.classList.contains("sidebar-hidden")) { + if (body.classList.contains("sidebar-hidden")) { var current_width = parseInt( document.documentElement.style.getPropertyValue('--sidebar-width'), 10); if (current_width < 150) { document.documentElement.style.setProperty('--sidebar-width', '150px'); } showSidebar(); - } else if (html.classList.contains("sidebar-visible")) { + } else if (body.classList.contains("sidebar-visible")) { hideSidebar(); } else { if (getComputedStyle(sidebar)['transform'] === 'none') { @@ -490,14 +499,14 @@ function playground_text(playground) { function initResize(e) { window.addEventListener('mousemove', resize, false); window.addEventListener('mouseup', stopResize, false); - html.classList.add('sidebar-resizing'); + body.classList.add('sidebar-resizing'); } function resize(e) { var pos = (e.clientX - sidebar.offsetLeft); if (pos < 20) { hideSidebar(); } else { - if (html.classList.contains("sidebar-hidden")) { + if (body.classList.contains("sidebar-hidden")) { showSidebar(); } pos = Math.min(pos, window.innerWidth - 100); @@ -506,7 +515,7 @@ function playground_text(playground) { } //on mouseup remove windows functions mousemove & mouseup function stopResize(e) { - html.classList.remove('sidebar-resizing'); + body.classList.remove('sidebar-resizing'); window.removeEventListener('mousemove', resize, false); window.removeEventListener('mouseup', stopResize, false); } @@ -535,33 +544,41 @@ function playground_text(playground) { firstContact = null; } }, { passive: true }); - - // Scroll sidebar to current active section - var activeSection = document.getElementById("sidebar").querySelector(".active"); - if (activeSection) { - // https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoView - activeSection.scrollIntoView({ block: 'center' }); - } })(); (function chapterNavigation() { document.addEventListener('keydown', function (e) { if (e.altKey || e.ctrlKey || e.metaKey || e.shiftKey) { return; } if (window.search && window.search.hasFocus()) { return; } + var html = document.querySelector('html'); + function next() { + var nextButton = document.querySelector('.nav-chapters.next'); + if (nextButton) { + window.location.href = nextButton.href; + } + } + function prev() { + var previousButton = document.querySelector('.nav-chapters.previous'); + if (previousButton) { + window.location.href = previousButton.href; + } + } switch (e.key) { case 'ArrowRight': e.preventDefault(); - var nextButton = document.querySelector('.nav-chapters.next'); - if (nextButton) { - window.location.href = nextButton.href; + if (html.dir == 'rtl') { + prev(); + } else { + next(); } break; case 'ArrowLeft': e.preventDefault(); - var previousButton = document.querySelector('.nav-chapters.previous'); - if (previousButton) { - window.location.href = previousButton.href; + if (html.dir == 'rtl') { + next(); + } else { + prev(); } break; } @@ -573,19 +590,19 @@ function playground_text(playground) { function hideTooltip(elem) { elem.firstChild.innerText = ""; - elem.className = 'fa fa-copy clip-button'; + elem.className = 'clip-button'; } function showTooltip(elem, msg) { elem.firstChild.innerText = msg; - elem.className = 'fa fa-copy tooltipped'; + elem.className = 'clip-button tooltipped'; } var clipboardSnippets = new ClipboardJS('.clip-button', { text: function (trigger) { hideTooltip(trigger); let playground = trigger.closest("pre"); - return playground_text(playground); + return playground_text(playground, false); } }); @@ -660,13 +677,14 @@ function playground_text(playground) { }, { passive: true }); })(); (function controllBorder() { - menu.classList.remove('bordered'); - document.addEventListener('scroll', function () { + function updateBorder() { if (menu.offsetTop === 0) { menu.classList.remove('bordered'); } else { menu.classList.add('bordered'); } - }, { passive: true }); + } + updateBorder(); + document.addEventListener('scroll', updateBorder, { passive: true }); })(); })(); diff --git a/collections/associative-container/index.html b/collections/associative-container/index.html index 92cfefde..e4c7ef60 100644 --- a/collections/associative-container/index.html +++ b/collections/associative-container/index.html @@ -1,49 +1,50 @@ - + 關聯容器概述 - Rust Algorithm Club - + - - - + - - - + + + - - + + - - + + - - - - - + + + + - - + + + + +
- - + + -
- - - - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - + + + +
diff --git a/collections/bloom_filter/index.html b/collections/bloom_filter/index.html index 75dddfc2..215946bf 100644 --- a/collections/bloom_filter/index.html +++ b/collections/bloom_filter/index.html @@ -1,49 +1,50 @@ - + 布隆過濾器 Bloom filter - Rust Algorithm Club - + - - - + - - - + + + - - + + - - + + - - - - - + + + + - - + + + + +
- - + + -
- - - - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - + + + +
diff --git a/collections/deque/index.html b/collections/deque/index.html index 9a3973ca..e8a946fe 100644 --- a/collections/deque/index.html +++ b/collections/deque/index.html @@ -1,49 +1,50 @@ - + 雙端佇列 Deque - Rust Algorithm Club - + - - - + - - - + + + - - + + - - + + - - - - - + + + + - - + + + + +
- - + + -
- - - - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - + + + +
diff --git a/collections/hash_map/index.html b/collections/hash_map/index.html index c9214c3a..c9743faa 100644 --- a/collections/hash_map/index.html +++ b/collections/hash_map/index.html @@ -1,49 +1,50 @@ - + 雜湊表 Hash map - Rust Algorithm Club - + - - - + - - - + + + - - + + - - + + - - - - - + + + + - - + + + + +
- - + + -
- - - - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - + + + +
diff --git a/collections/linked_list/index.html b/collections/linked_list/index.html index 7073a6a0..9c9ba254 100644 --- a/collections/linked_list/index.html +++ b/collections/linked_list/index.html @@ -1,49 +1,50 @@ - + 鏈結串列概述 - Rust Algorithm Club - + - - - + - - - + + + - - + + - - + + - - - - - + + + + - - + + + + +
- - + + -
- - - - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - + + + +
diff --git a/collections/queue/index.html b/collections/queue/index.html index 6ef80b82..203a0b62 100644 --- a/collections/queue/index.html +++ b/collections/queue/index.html @@ -1,49 +1,50 @@ - + 佇列 Queue - Rust Algorithm Club - + - - - + - - - + + + - - + + - - + + - - - - - + + + + - - + + + + +
- - + + -
- - - - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - + + + +
diff --git a/collections/set/index.html b/collections/set/index.html index 7719c05b..0db1743c 100644 --- a/collections/set/index.html +++ b/collections/set/index.html @@ -1,49 +1,50 @@ - + 集合 Set - Rust Algorithm Club - + - - - + - - - + + + - - + + - - + + - - - - - + + + + - - + + + + +
- - + + -
- - - - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - + + + +
diff --git a/collections/singly_linked_list/index.html b/collections/singly_linked_list/index.html index fc3deb2f..91dc4785 100644 --- a/collections/singly_linked_list/index.html +++ b/collections/singly_linked_list/index.html @@ -1,49 +1,50 @@ - + 單向鏈結串列 Singly linked list - Rust Algorithm Club - + - - - + - - - + + + - - + + - - + + - - - - - + + + + - - + + + + +
- - + + -
- - - - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - + + + +
diff --git a/collections/stack/index.html b/collections/stack/index.html index 48d6f812..ef9d2de8 100644 --- a/collections/stack/index.html +++ b/collections/stack/index.html @@ -1,49 +1,50 @@ - + 堆疊 Stack - Rust Algorithm Club - + - - - + - - - + + + - - + + - - + + - - - - - + + + + - - + + + + +
- - + + -
- - - - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - + + + +
diff --git a/concepts/asymptotic-notation/index.html b/concepts/asymptotic-notation/index.html index 30bb9208..9bf1b634 100644 --- a/concepts/asymptotic-notation/index.html +++ b/concepts/asymptotic-notation/index.html @@ -1,49 +1,50 @@ - + 漸進符號 Asymptotic Notation - Rust Algorithm Club - + - - - + - - - + + + - - + + - - + + - - - - - + + + + - - + + + + +
- - + + -
- - - - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - + + + +
diff --git a/css/chrome.css b/css/chrome.css index 21c08b93..4cd73086 100644 --- a/css/chrome.css +++ b/css/chrome.css @@ -1,13 +1,5 @@ /* CSS for UI elements (a.k.a. chrome) */ -@import 'variables.css'; - -::-webkit-scrollbar { - background: var(--bg); -} -::-webkit-scrollbar-thumb { - background: var(--scrollbar); -} html { scrollbar-color: var(--scrollbar) var(--bg); } @@ -18,6 +10,19 @@ a > .hljs { color: var(--links); } +/* + body-container is necessary because mobile browsers don't seem to like + overflow-x on the body tag when there is a tag. +*/ +#body-container { + /* + This is used when the sidebar pushes the body content off the side of + the screen on small screens. Without it, dragging on mobile Safari + will want to reposition the viewport in a weird way. + */ + overflow-x: clip; +} + /* Menu Bar */ #menu-bar, @@ -30,14 +35,14 @@ a > .hljs { display: flex; flex-wrap: wrap; background-color: var(--bg); - border-bottom-color: var(--bg); - border-bottom-width: 1px; - border-bottom-style: solid; + border-block-end-color: var(--bg); + border-block-end-width: 1px; + border-block-end-style: solid; } #menu-bar.sticky, -.js #menu-bar-hover-placeholder:hover + #menu-bar, -.js #menu-bar:hover, -.js.sidebar-visible #menu-bar { +#menu-bar-hover-placeholder:hover + #menu-bar, +#menu-bar:hover, +html.sidebar-visible #menu-bar { position: -webkit-sticky; position: sticky; top: 0 !important; @@ -49,7 +54,7 @@ a > .hljs { height: var(--menu-bar-height); } #menu-bar.bordered { - border-bottom-color: var(--table-border-color); + border-block-end-color: var(--table-border-color); } #menu-bar i, #menu-bar .icon-button { position: relative; @@ -86,7 +91,7 @@ a > .hljs { display: flex; margin: 0 5px; } -.no-js .left-buttons { +html:not(.js) .left-buttons button { display: none; } @@ -102,7 +107,7 @@ a > .hljs { overflow: hidden; text-overflow: ellipsis; } -.js .menu-title { +.menu-title { cursor: pointer; } @@ -153,7 +158,7 @@ a > .hljs { } .nav-wrapper { - margin-top: 50px; + margin-block-start: 50px; display: none; } @@ -166,23 +171,34 @@ a > .hljs { background-color: var(--sidebar-bg); } -.previous { - float: left; -} +/* Only Firefox supports flow-relative values */ +.previous { float: left; } +[dir=rtl] .previous { float: right; } +/* Only Firefox supports flow-relative values */ .next { float: right; right: var(--page-padding); } +[dir=rtl] .next { + float: left; + right: unset; + left: var(--page-padding); +} + +/* Use the correct buttons for RTL layouts*/ +[dir=rtl] .previous i.fa-angle-left:before {content:"\f105";} +[dir=rtl] .next i.fa-angle-right:before { content:"\f104"; } @media only screen and (max-width: 1080px) { .nav-wide-wrapper { display: none; } .nav-wrapper { display: block; } } +/* sidebar-visible */ @media only screen and (max-width: 1380px) { - .sidebar-visible .nav-wide-wrapper { display: none; } - .sidebar-visible .nav-wrapper { display: block; } + #sidebar-toggle-anchor:checked ~ .page-wrapper .nav-wide-wrapper { display: none; } + #sidebar-toggle-anchor:checked ~ .page-wrapper .nav-wrapper { display: block; } } /* Inline code */ @@ -208,26 +224,92 @@ pre { pre > .buttons { position: absolute; z-index: 100; - right: 5px; - top: 5px; + right: 0px; + top: 2px; + margin: 0px; + padding: 2px 0px; color: var(--sidebar-fg); cursor: pointer; + visibility: hidden; + opacity: 0; + transition: visibility 0.1s linear, opacity 0.1s linear; +} +pre:hover > .buttons { + visibility: visible; + opacity: 1 } pre > .buttons :hover { color: var(--sidebar-active); + border-color: var(--icons-hover); + background-color: var(--theme-hover); } pre > .buttons i { - margin-left: 8px; + margin-inline-start: 8px; } pre > .buttons button { - color: inherit; - background: transparent; - border: none; cursor: inherit; + margin: 0px 5px; + padding: 4px 4px 3px 5px; + font-size: 23px; + + border-style: solid; + border-width: 1px; + border-radius: 4px; + border-color: var(--icons); + background-color: var(--theme-popup-bg); + transition: 100ms; + transition-property: color,border-color,background-color; + color: var(--icons); +} + +pre > .buttons button.clip-button { + padding: 2px 4px 0px 6px; +} +pre > .buttons button.clip-button::before { + /* clipboard image from octicons (https://github.com/primer/octicons/tree/v2.0.0) MIT license + */ + content: url('data:image/svg+xml,\ +\ +\ +'); + filter: var(--copy-button-filter); +} +pre > .buttons button.clip-button:hover::before { + filter: var(--copy-button-filter-hover); +} + +@media (pointer: coarse) { + pre > .buttons button { + /* On mobile, make it easier to tap buttons. */ + padding: 0.3rem 1rem; + } + + .sidebar-resize-indicator { + /* Hide resize indicator on devices with limited accuracy */ + display: none; + } +} +pre > code { + display: block; + padding: 1rem; } + +/* FIXME: ACE editors overlap their buttons because ACE does absolute + positioning within the code block which breaks padding. The only solution I + can think of is to move the padding to the outer pre tag (or insert a div + wrapper), but that would require fixing a whole bunch of CSS rules. +*/ +.hljs.ace_editor { + padding: 0rem 0rem; +} + pre > .result { - margin-top: 10px; + margin-block-start: 10px; } /* Search */ @@ -238,8 +320,14 @@ pre > .result { mark { border-radius: 2px; - padding: 0 3px 1px 3px; - margin: 0 -3px -1px -3px; + padding-block-start: 0; + padding-block-end: 1px; + padding-inline-start: 3px; + padding-inline-end: 3px; + margin-block-start: 0; + margin-block-end: -1px; + margin-inline-start: -3px; + margin-inline-end: -3px; background-color: var(--search-mark-bg); transition: background-color 300ms linear; cursor: pointer; @@ -251,14 +339,17 @@ mark.fade-out { } .searchbar-outer { - margin-left: auto; - margin-right: auto; + margin-inline-start: auto; + margin-inline-end: auto; max-width: var(--content-max-width); } #searchbar { width: 100%; - margin: 5px auto 0px auto; + margin-block-start: 5px; + margin-block-end: 0; + margin-inline-start: auto; + margin-inline-end: auto; padding: 10px 16px; transition: box-shadow 300ms ease-in-out; border: 1px solid var(--searchbar-border-color); @@ -274,20 +365,23 @@ mark.fade-out { .searchresults-header { font-weight: bold; font-size: 1em; - padding: 18px 0 0 5px; + padding-block-start: 18px; + padding-block-end: 0; + padding-inline-start: 5px; + padding-inline-end: 0; color: var(--searchresults-header-fg); } .searchresults-outer { - margin-left: auto; - margin-right: auto; + margin-inline-start: auto; + margin-inline-end: auto; max-width: var(--content-max-width); - border-bottom: 1px dashed var(--searchresults-border-color); + border-block-end: 1px dashed var(--searchresults-border-color); } ul#searchresults { list-style: none; - padding-left: 20px; + padding-inline-start: 20px; } ul#searchresults li { margin: 10px 0px; @@ -300,7 +394,10 @@ ul#searchresults li.focus { ul#searchresults span.teaser { display: block; clear: both; - margin: 5px 0 0 20px; + margin-block-start: 5px; + margin-block-end: 0; + margin-inline-start: 20px; + margin-inline-end: 0; font-size: 0.8em; } ul#searchresults span.teaser em { @@ -323,13 +420,30 @@ ul#searchresults span.teaser em { background-color: var(--sidebar-bg); color: var(--sidebar-fg); } +.sidebar-iframe-inner { + background-color: var(--sidebar-bg); + color: var(--sidebar-fg); + padding: 10px 10px; + margin: 0; + font-size: 1.4rem; +} +.sidebar-iframe-outer { + border: none; + height: 100%; + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; +} +[dir=rtl] .sidebar { left: unset; right: 0; } .sidebar-resizing { -moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; user-select: none; } -.js:not(.sidebar-resizing) .sidebar { +html:not(.sidebar-resizing) .sidebar { transition: transform 0.3s; /* Animation: slide away */ } .sidebar code { @@ -348,16 +462,35 @@ ul#searchresults span.teaser em { position: absolute; cursor: col-resize; width: 0; - right: 0; + right: calc(var(--sidebar-resize-indicator-width) * -1); top: 0; bottom: 0; + display: flex; + align-items: center; +} + +.sidebar-resize-handle .sidebar-resize-indicator { + width: 100%; + height: 12px; + background-color: var(--icons); + margin-inline-start: var(--sidebar-resize-indicator-space); +} + +[dir=rtl] .sidebar .sidebar-resize-handle { + left: calc(var(--sidebar-resize-indicator-width) * -1); + right: unset; } .js .sidebar .sidebar-resize-handle { cursor: col-resize; - width: 5px; + width: calc(var(--sidebar-resize-indicator-width) - var(--sidebar-resize-indicator-space)); } -.sidebar-hidden .sidebar { - transform: translateX(calc(0px - var(--sidebar-width))); +/* sidebar-hidden */ +#sidebar-toggle-anchor:not(:checked) ~ .sidebar { + transform: translateX(calc(0px - var(--sidebar-width) - var(--sidebar-resize-indicator-width))); + z-index: -1; +} +[dir=rtl] #sidebar-toggle-anchor:not(:checked) ~ .sidebar { + transform: translateX(calc(var(--sidebar-width) + var(--sidebar-resize-indicator-width))); } .sidebar::-webkit-scrollbar { background: var(--sidebar-bg); @@ -366,19 +499,26 @@ ul#searchresults span.teaser em { background: var(--scrollbar); } -.sidebar-visible .page-wrapper { - transform: translateX(var(--sidebar-width)); +/* sidebar-visible */ +#sidebar-toggle-anchor:checked ~ .page-wrapper { + transform: translateX(calc(var(--sidebar-width) + var(--sidebar-resize-indicator-width))); +} +[dir=rtl] #sidebar-toggle-anchor:checked ~ .page-wrapper { + transform: translateX(calc(0px - var(--sidebar-width) - var(--sidebar-resize-indicator-width))); } @media only screen and (min-width: 620px) { - .sidebar-visible .page-wrapper { + #sidebar-toggle-anchor:checked ~ .page-wrapper { + transform: none; + margin-inline-start: calc(var(--sidebar-width) + var(--sidebar-resize-indicator-width)); + } + [dir=rtl] #sidebar-toggle-anchor:checked ~ .page-wrapper { transform: none; - margin-left: var(--sidebar-width); } } .chapter { list-style: none outside none; - padding-left: 0; + padding-inline-start: 0; line-height: 2.2em; } @@ -408,7 +548,7 @@ ul#searchresults span.teaser em { .chapter li > a.toggle { cursor: pointer; display: block; - margin-left: auto; + margin-inline-start: auto; padding: 0 10px; user-select: none; opacity: 0.68; @@ -425,7 +565,7 @@ ul#searchresults span.teaser em { .chapter li.chapter-item { line-height: 1.5em; - margin-top: 0.6em; + margin-block-start: 0.6em; } .chapter li.expanded > a.toggle div { @@ -448,7 +588,7 @@ ul#searchresults span.teaser em { .section { list-style: none outside none; - padding-left: 20px; + padding-inline-start: 20px; line-height: 1.9em; } @@ -468,7 +608,10 @@ ul#searchresults span.teaser em { padding: 0; list-style: none; display: none; + /* Don't let the children's background extend past the rounded corners. */ + overflow: hidden; } +[dir=rtl] .theme-popup { left: unset; right: 10px; } .theme-popup .default { color: var(--icons); } @@ -476,10 +619,10 @@ ul#searchresults span.teaser em { width: 100%; border: 0; margin: 0; - padding: 2px 10px; + padding: 2px 20px; line-height: 25px; white-space: nowrap; - text-align: left; + text-align: start; cursor: pointer; color: inherit; background: inherit; @@ -488,8 +631,10 @@ ul#searchresults span.teaser em { .theme-popup .theme:hover { background-color: var(--theme-hover); } -.theme-popup .theme:hover:first-child, -.theme-popup .theme:hover:last-child { - border-top-left-radius: inherit; - border-top-right-radius: inherit; + +.theme-selected::before { + display: inline-block; + content: "✓"; + margin-inline-start: -14px; + width: 14px; } diff --git a/css/general.css b/css/general.css index 63317b39..0862b516 100644 --- a/css/general.css +++ b/css/general.css @@ -1,10 +1,9 @@ /* Base styles and content styles */ -@import 'variables.css'; - :root { /* Browser default font-size is 16px, this way 1 rem = 10px */ font-size: 62.5%; + color-scheme: var(--color-scheme); } html { @@ -12,6 +11,7 @@ html { color: var(--fg); background-color: var(--bg); text-size-adjust: none; + -webkit-text-size-adjust: none; } body { @@ -21,8 +21,19 @@ body { } code { - font-family: "Source Code Pro", Consolas, "Ubuntu Mono", Menlo, "DejaVu Sans Mono", monospace, monospace !important; - font-size: 0.875em; /* please adjust the ace font size accordingly in editor.js */ + font-family: var(--mono-font) !important; + font-size: var(--code-font-size); + direction: ltr !important; +} + +/* make long words/inline code not x overflow */ +main { + overflow-wrap: break-word; +} + +/* make wide tables scroll if they overflow */ +.table-wrapper { + overflow-x: auto; } /* Don't change font size in headers. */ @@ -36,13 +47,13 @@ h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { .hide-boring .boring { display: none; } .hidden { display: none !important; } -h2, h3 { margin-top: 2.5em; } -h4, h5 { margin-top: 2em; } +h2, h3 { margin-block-start: 2.5em; } +h4, h5 { margin-block-start: 2em; } .header + .header h3, .header + .header h4, .header + .header h5 { - margin-top: 1em; + margin-block-start: 1em; } h1:target::before, @@ -53,7 +64,7 @@ h5:target::before, h6:target::before { display: inline-block; content: "»"; - margin-left: -30px; + margin-inline-start: -30px; width: 30px; } @@ -62,29 +73,34 @@ h6:target::before { https://bugs.webkit.org/show_bug.cgi?id=218076 */ :target { + /* Safari does not support logical properties */ scroll-margin-top: calc(var(--menu-bar-height) + 0.5em); } .page { outline: 0; padding: 0 var(--page-padding); - margin-top: calc(0px - var(--menu-bar-height)); /* Compensate for the #menu-bar-hover-placeholder */ + margin-block-start: calc(0px - var(--menu-bar-height)); /* Compensate for the #menu-bar-hover-placeholder */ } .page-wrapper { box-sizing: border-box; + background-color: var(--bg); } +.no-js .page-wrapper, .js:not(.sidebar-resizing) .page-wrapper { transition: margin-left 0.3s ease, transform 0.3s ease; /* Animation: slide away */ } +[dir=rtl] .js:not(.sidebar-resizing) .page-wrapper { + transition: margin-right 0.3s ease, transform 0.3s ease; /* Animation: slide away */ +} .content { overflow-y: auto; - padding: 0 15px; - padding-bottom: 50px; + padding: 0 5px 50px 5px; } .content main { - margin-left: auto; - margin-right: auto; + margin-inline-start: auto; + margin-inline-end: auto; max-width: var(--content-max-width); } .content p { line-height: 1.45em; } @@ -134,14 +150,59 @@ blockquote { padding: 0 20px; color: var(--fg); background-color: var(--quote-bg); - border-top: .1em solid var(--quote-border); - border-bottom: .1em solid var(--quote-border); + border-block-start: .1em solid var(--quote-border); + border-block-end: .1em solid var(--quote-border); +} + +.warning { + margin: 20px; + padding: 0 20px; + border-inline-start: 2px solid var(--warning-border); +} + +.warning:before { + position: absolute; + width: 3rem; + height: 3rem; + margin-inline-start: calc(-1.5rem - 21px); + content: "ⓘ"; + text-align: center; + background-color: var(--bg); + color: var(--warning-border); + font-weight: bold; + font-size: 2rem; +} + +blockquote .warning:before { + background-color: var(--quote-bg); +} + +kbd { + background-color: var(--table-border-color); + border-radius: 4px; + border: solid 1px var(--theme-popup-border); + box-shadow: inset 0 -1px 0 var(--theme-hover); + display: inline-block; + font-size: var(--code-font-size); + font-family: var(--mono-font); + line-height: 10px; + padding: 4px 5px; + vertical-align: middle; } +sup { + /* Set the line-height for superscript and footnote references so that there + isn't an awkward space appearing above lines that contain the footnote. + + See https://github.com/rust-lang/mdBook/pull/2443#discussion_r1813773583 + for an explanation. + */ + line-height: 0; +} :not(.footnote-definition) + .footnote-definition, .footnote-definition + :not(.footnote-definition) { - margin-top: 2em; + margin-block-start: 2em; } .footnote-definition { font-size: 0.9em; diff --git a/css/print.css b/css/print.css index 5e690f75..80ec3a54 100644 --- a/css/print.css +++ b/css/print.css @@ -7,8 +7,8 @@ } #page-wrapper.page-wrapper { - transform: none; - margin-left: 0px; + transform: none !important; + margin-inline-start: 0px; overflow-y: initial; } @@ -23,11 +23,7 @@ } code { - background-color: #666666; - border-radius: 5px; - - /* Force background to be printed in Chrome */ - -webkit-print-color-adjust: exact; + direction: ltr !important; } pre > .buttons { diff --git a/css/variables.css b/css/variables.css index 9ff64d6b..12d1db7a 100644 --- a/css/variables.css +++ b/css/variables.css @@ -3,9 +3,13 @@ :root { --sidebar-width: 300px; + --sidebar-resize-indicator-width: 8px; + --sidebar-resize-indicator-space: 2px; --page-padding: 15px; --content-max-width: 750px; --menu-bar-height: 50px; + --mono-font: "Source Code Pro", Consolas, "Ubuntu Mono", Menlo, "DejaVu Sans Mono", monospace, monospace; + --code-font-size: 0.875em /* please adjust the ace font size accordingly in editor.js */ } /* Themes */ @@ -36,6 +40,8 @@ --quote-bg: hsl(226, 15%, 17%); --quote-border: hsl(226, 15%, 22%); + --warning-border: #ff8e00; + --table-border-color: hsl(210, 25%, 13%); --table-header-bg: hsl(210, 25%, 28%); --table-alternate-bg: hsl(210, 25%, 11%); @@ -48,6 +54,13 @@ --searchresults-border-color: #888; --searchresults-li-bg: #252932; --search-mark-bg: #e3b171; + + --color-scheme: dark; + + /* Same as `--icons` */ + --copy-button-filter: invert(45%) sepia(6%) saturate(621%) hue-rotate(198deg) brightness(99%) contrast(85%); + /* Same as `--sidebar-active` */ + --copy-button-filter-hover: invert(68%) sepia(55%) saturate(531%) hue-rotate(341deg) brightness(104%) contrast(101%); } .coal { @@ -67,7 +80,7 @@ --links: #2b79a2; - --inline-code-color: #c5c8c6;; + --inline-code-color: #c5c8c6; --theme-popup-bg: #141617; --theme-popup-border: #43484d; @@ -76,6 +89,8 @@ --quote-bg: hsl(234, 21%, 18%); --quote-border: hsl(234, 21%, 23%); + --warning-border: #ff8e00; + --table-border-color: hsl(200, 7%, 13%); --table-header-bg: hsl(200, 7%, 28%); --table-alternate-bg: hsl(200, 7%, 11%); @@ -88,9 +103,16 @@ --searchresults-border-color: #98a3ad; --searchresults-li-bg: #2b2b2f; --search-mark-bg: #355c7d; + + --color-scheme: dark; + + /* Same as `--icons` */ + --copy-button-filter: invert(26%) sepia(8%) saturate(575%) hue-rotate(169deg) brightness(87%) contrast(82%); + /* Same as `--sidebar-active` */ + --copy-button-filter-hover: invert(36%) sepia(70%) saturate(503%) hue-rotate(167deg) brightness(98%) contrast(89%); } -.light { +.light, html:not(.js) { --bg: hsl(0, 0%, 100%); --fg: hsl(0, 0%, 0%); @@ -116,6 +138,8 @@ --quote-bg: hsl(197, 37%, 96%); --quote-border: hsl(197, 37%, 91%); + --warning-border: #ff8e00; + --table-border-color: hsl(0, 0%, 95%); --table-header-bg: hsl(0, 0%, 80%); --table-alternate-bg: hsl(0, 0%, 97%); @@ -128,6 +152,13 @@ --searchresults-border-color: #888; --searchresults-li-bg: #e4f2fe; --search-mark-bg: #a2cff5; + + --color-scheme: light; + + /* Same as `--icons` */ + --copy-button-filter: invert(45.49%); + /* Same as `--sidebar-active` */ + --copy-button-filter-hover: invert(14%) sepia(93%) saturate(4250%) hue-rotate(243deg) brightness(99%) contrast(130%); } .navy { @@ -147,7 +178,7 @@ --links: #2b79a2; - --inline-code-color: #c5c8c6;; + --inline-code-color: #c5c8c6; --theme-popup-bg: #161923; --theme-popup-border: #737480; @@ -156,6 +187,8 @@ --quote-bg: hsl(226, 15%, 17%); --quote-border: hsl(226, 15%, 22%); + --warning-border: #ff8e00; + --table-border-color: hsl(226, 23%, 16%); --table-header-bg: hsl(226, 23%, 31%); --table-alternate-bg: hsl(226, 23%, 14%); @@ -168,6 +201,13 @@ --searchresults-border-color: #5c5c68; --searchresults-li-bg: #242430; --search-mark-bg: #a2cff5; + + --color-scheme: dark; + + /* Same as `--icons` */ + --copy-button-filter: invert(51%) sepia(10%) saturate(393%) hue-rotate(198deg) brightness(86%) contrast(87%); + /* Same as `--sidebar-active` */ + --copy-button-filter-hover: invert(46%) sepia(20%) saturate(1537%) hue-rotate(156deg) brightness(85%) contrast(90%); } .rust { @@ -196,6 +236,8 @@ --quote-bg: hsl(60, 5%, 75%); --quote-border: hsl(60, 5%, 70%); + --warning-border: #ff8e00; + --table-border-color: hsl(60, 9%, 82%); --table-header-bg: #b3a497; --table-alternate-bg: hsl(60, 9%, 84%); @@ -208,10 +250,15 @@ --searchresults-border-color: #888; --searchresults-li-bg: #dec2a2; --search-mark-bg: #e69f67; + + /* Same as `--icons` */ + --copy-button-filter: invert(51%) sepia(10%) saturate(393%) hue-rotate(198deg) brightness(86%) contrast(87%); + /* Same as `--sidebar-active` */ + --copy-button-filter-hover: invert(77%) sepia(16%) saturate(1798%) hue-rotate(328deg) brightness(98%) contrast(83%); } @media (prefers-color-scheme: dark) { - .light.no-js { + html:not(.js) { --bg: hsl(200, 7%, 8%); --fg: #98a3ad; @@ -228,7 +275,7 @@ --links: #2b79a2; - --inline-code-color: #c5c8c6;; + --inline-code-color: #c5c8c6; --theme-popup-bg: #141617; --theme-popup-border: #43484d; @@ -237,6 +284,8 @@ --quote-bg: hsl(234, 21%, 18%); --quote-border: hsl(234, 21%, 23%); + --warning-border: #ff8e00; + --table-border-color: hsl(200, 7%, 13%); --table-header-bg: hsl(200, 7%, 28%); --table-alternate-bg: hsl(200, 7%, 11%); @@ -249,5 +298,12 @@ --searchresults-border-color: #98a3ad; --searchresults-li-bg: #2b2b2f; --search-mark-bg: #355c7d; + + --color-scheme: dark; + + /* Same as `--icons` */ + --copy-button-filter: invert(26%) sepia(8%) saturate(575%) hue-rotate(169deg) brightness(87%) contrast(82%); + /* Same as `--sidebar-active` */ + --copy-button-filter-hover: invert(36%) sepia(70%) saturate(503%) hue-rotate(167deg) brightness(98%) contrast(89%); } } diff --git a/doc/crates.js b/doc/crates.js index 0fb58667..1eb5be2b 100644 --- a/doc/crates.js +++ b/doc/crates.js @@ -1 +1,2 @@ -window.ALL_CRATES = ["rust_algorithm_club"]; \ No newline at end of file +window.ALL_CRATES = ["rust_algorithm_club"]; +//{"start":21,"fragment_lengths":[21]} \ No newline at end of file diff --git a/doc/help.html b/doc/help.html new file mode 100644 index 00000000..bd621d79 --- /dev/null +++ b/doc/help.html @@ -0,0 +1 @@ +Help

Rustdoc help

Back
\ No newline at end of file diff --git a/doc/rust_algorithm_club/all.html b/doc/rust_algorithm_club/all.html index 88701284..5c3bceea 100644 --- a/doc/rust_algorithm_club/all.html +++ b/doc/rust_algorithm_club/all.html @@ -1,9 +1 @@ -List of all items in this crate - -
- \ No newline at end of file +List of all items in this crate
\ No newline at end of file diff --git a/doc/rust_algorithm_club/collections/index.html b/doc/rust_algorithm_club/collections/index.html index 1bbd533e..be223712 100644 --- a/doc/rust_algorithm_club/collections/index.html +++ b/doc/rust_algorithm_club/collections/index.html @@ -1,21 +1,4 @@ -rust_algorithm_club::collections - Rust - -
Expand description

Colletions are general-purpose or specialized data structures in which elements store.

-

Structs

-

A space efficient probablistic data structures offering an approximate -containment test with only false positive error.

-

A double-ended queue (abbreviated to deque), for which elements can be -added or remove from both back and front ends.

-

A hash map implemented with separate chaining collision resolution strategy.

-

A hash set implementation based on HashMap.

-

A queue-like data structure implement through std::vec::Vec.

-

A singly-linked list with owned nodes.

-

A stack-like data structure implemented through a Vec.

-
- \ No newline at end of file +rust_algorithm_club::collections - Rust
rust_algorithm_club

Module collections

Source
Expand description

Colletions are general-purpose or specialized data structures in which elements store.

+

Structs§

  • A space efficient probablistic data structures offering an approximate +containment test with only false positive error.
  • A double-ended queue (abbreviated to deque), for which elements can be +added or remove from both back and front ends.
  • A hash map implemented with separate chaining collision resolution strategy.
  • A hash set implementation based on HashMap.
  • A queue-like data structure implement through std::vec::Vec.
  • A singly-linked list with owned nodes.
  • A stack-like data structure implemented through a Vec.
\ No newline at end of file diff --git a/doc/rust_algorithm_club/collections/sidebar-items.js b/doc/rust_algorithm_club/collections/sidebar-items.js index 0ff456be..b7c0378d 100644 --- a/doc/rust_algorithm_club/collections/sidebar-items.js +++ b/doc/rust_algorithm_club/collections/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"struct":[["BloomFilter","A space efficient probablistic data structures offering an approximate containment test with only false positive error."],["Deque","A double-ended queue (abbreviated to deque), for which elements can be added or remove from both back and front ends."],["HashMap","A hash map implemented with separate chaining collision resolution strategy."],["HashSet","A hash set implementation based on `HashMap`."],["Queue","A queue-like data structure implement through [`std::vec::Vec`][]."],["SinglyLinkedList","A singly-linked list with owned nodes."],["Stack","A stack-like data structure implemented through a `Vec`."]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"struct":["BloomFilter","Deque","HashMap","HashSet","Queue","SinglyLinkedList","Stack"]}; \ No newline at end of file diff --git a/doc/rust_algorithm_club/collections/struct.BloomFilter.html b/doc/rust_algorithm_club/collections/struct.BloomFilter.html index 3b9f0911..28f8e144 100644 --- a/doc/rust_algorithm_club/collections/struct.BloomFilter.html +++ b/doc/rust_algorithm_club/collections/struct.BloomFilter.html @@ -1,12 +1,4 @@ -BloomFilter in rust_algorithm_club::collections - Rust - -
pub struct BloomFilter<T: ?Sized> { /* private fields */ }
Expand description

A space efficient probablistic data structures offering an approximate +BloomFilter in rust_algorithm_club::collections - Rust

rust_algorithm_club::collections

Struct BloomFilter

Source
pub struct BloomFilter<T: ?Sized> { /* private fields */ }
Expand description

A space efficient probablistic data structures offering an approximate containment test with only false positive error.

The false positive error probability ε of a Bloom filter is defined as the probability that a Bloom filter claims an element is contained in it @@ -28,43 +20,49 @@

Struct rust_algori
  • Google Guava: BloomFilter
  • Onat: Let’s implement a Bloom Filter
  • -

    Implementations

    Creates an empty Bloom filter with desired capacity and error rate.

    +

    Implementations§

    Source§

    impl<T: ?Sized> BloomFilter<T>

    Source

    pub fn new(capacity: usize, err_rate: f64) -> Self

    Creates an empty Bloom filter with desired capacity and error rate.

    This constructor would give an optimal size for bit array based on provided capacity and err_rate.

    -
    Parameters
    +
    §Parameters
    • capacity - Expected size of elements will put in.
    • err_rate - False positive error probability.
    -

    Inserts an element into the container.

    +
    Source

    pub fn insert(&mut self, elem: &T)
    where + T: Hash,

    Inserts an element into the container.

    This function simulates multiple hashers with only two hashers using the following formula:

    g_i(x) = h1(x) + i * h2(x)

    -
    Parameters
    +
    §Parameters
    • elem - Element to be inserted.
    -
    Complexity
    +
    §Complexity

    Linear in the size of hash_fn_count k.

    -

    Returns whether an element is present in the container.

    -
    Parameters
    +
    Source

    pub fn contains(&self, elem: &T) -> bool
    where + T: Hash,

    Returns whether an element is present in the container.

    +
    §Parameters
    • elem - Element to be checked whether is in the container.
    -
    Complexity
    +
    §Complexity

    Linear in the size of hash_fn_count k.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Auto Trait Implementations§

    §

    impl<T> Freeze for BloomFilter<T>
    where + T: ?Sized,

    §

    impl<T> RefUnwindSafe for BloomFilter<T>
    where + T: RefUnwindSafe + ?Sized,

    §

    impl<T> Send for BloomFilter<T>
    where + T: Send + ?Sized,

    §

    impl<T> Sync for BloomFilter<T>
    where + T: Sync + ?Sized,

    §

    impl<T> Unpin for BloomFilter<T>
    where + T: Unpin + ?Sized,

    §

    impl<T> UnwindSafe for BloomFilter<T>
    where + T: UnwindSafe + ?Sized,

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    Source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    Source§

    impl<T> From<T> for T

    Source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    Source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    Source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -
    - \ No newline at end of file +From<T> for U chooses to do.

    +
    Source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    Source§

    type Error = Infallible

    The type returned in the event of a conversion error.
    Source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    Source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    Source§

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    Source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \ No newline at end of file diff --git a/doc/rust_algorithm_club/collections/struct.Deque.html b/doc/rust_algorithm_club/collections/struct.Deque.html index bd8b6269..8ed0eaa8 100644 --- a/doc/rust_algorithm_club/collections/struct.Deque.html +++ b/doc/rust_algorithm_club/collections/struct.Deque.html @@ -1,84 +1,62 @@ -Deque in rust_algorithm_club::collections - Rust - -
    pub struct Deque<T> { /* private fields */ }
    Expand description

    A double-ended queue (abbreviated to deque), for which elements can be +Deque in rust_algorithm_club::collections - Rust

    rust_algorithm_club::collections

    Struct Deque

    Source
    pub struct Deque<T> { /* private fields */ }
    Expand description

    A double-ended queue (abbreviated to deque), for which elements can be added or remove from both back and front ends.

    -

    Underneath the hood, this Deque uses a contiguous memory block as a ring +

    Underneath the hood, this Deque uses a contiguous memory block as a ring buffer to store values.

    References:

    -

    Implementations

    Constructs a new, empty Deque<T>.

    +

    Implementations§

    Source§

    impl<T> Deque<T>

    Source

    pub fn new() -> Self

    Constructs a new, empty Deque<T>.

    For convenience, the deque initially allocates a region of a single T.

    -

    Prepends the given element value to the beginning of the container.

    -
    Parameters
    +
    Source

    pub fn push_front(&mut self, elem: T)

    Prepends the given element value to the beginning of the container.

    +
    §Parameters
    • elem - The element to prepend.
    -
    Complexity
    +
    §Complexity

    Constant.

    -

    Appends the given element value to the end of the container.

    -
    Parameters
    +
    Source

    pub fn push_back(&mut self, elem: T)

    Appends the given element value to the end of the container.

    +
    §Parameters
    • elem - The element to append.
    -
    Complexity
    +
    §Complexity

    Constant.

    -

    Removes and returns the first element of the container. +

    Source

    pub fn pop_front(&mut self) -> Option<T>

    Removes and returns the first element of the container. If there are no elements in the container, return None.

    -
    Complexity
    +
    §Complexity

    Constant.

    -

    Removes and returns the last element of the container. +

    Source

    pub fn pop_back(&mut self) -> Option<T>

    Removes and returns the last element of the container. If there are no elements in the container, return None.

    -
    Complexity
    +
    §Complexity

    Constant.

    -

    Peeks the first element of the container. +

    Source

    pub fn front(&self) -> Option<&T>

    Peeks the first element of the container. If there are no elements in the container, return None.

    -
    Complexity
    +
    §Complexity

    Constant.

    -

    Peeks the last element of the container. +

    Source

    pub fn back(&self) -> Option<&T>

    Peeks the last element of the container. If there are no elements in the container, return None.

    -
    Complexity
    -

    Constant.

    -

    Checks whether the container is empty.

    -
    Complexity
    -

    Constant.

    -

    Gets the number of elements in the container.

    -
    Complexity
    -

    Constant.

    -

    Creates an iterator that yields immutable reference of each element.

    -

    Creates an iterator that yields mutable reference of each element.

    -

    Trait Implementations

    Formats the value using the given formatter. Read more

    -

    Executes the destructor for this type. Read more

    -

    The returned type after indexing.

    -

    Performs the indexing (container[index]) operation. Read more

    -

    Performs the mutable indexing (container[index]) operation. Read more

    -

    The type of the elements being iterated over.

    -

    Which kind of iterator are we turning this into?

    -

    Creates an iterator from a value. Read more

    -

    The type of the elements being iterated over.

    -

    Which kind of iterator are we turning this into?

    -

    Creates an iterator from a value. Read more

    -

    The type of the elements being iterated over.

    -

    Which kind of iterator are we turning this into?

    -

    Creates an iterator from a value. Read more

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +
    §Complexity
    +

    Constant.

    +
    Source

    pub fn is_empty(&self) -> bool

    Checks whether the container is empty.

    +
    §Complexity
    +

    Constant.

    +
    Source

    pub fn len(&self) -> usize

    Gets the number of elements in the container.

    +
    §Complexity
    +

    Constant.

    +
    Source

    pub fn iter(&self) -> Iter<'_, T>

    Creates an iterator that yields immutable reference of each element.

    +
    Source

    pub fn iter_mut(&mut self) -> IterMut<'_, T>

    Creates an iterator that yields mutable reference of each element.

    +

    Trait Implementations§

    Source§

    impl<T: Debug> Debug for Deque<T>

    Source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    Source§

    impl<T> Drop for Deque<T>

    Source§

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    Source§

    impl<T> Index<usize> for Deque<T>

    Source§

    type Output = T

    The returned type after indexing.
    Source§

    fn index(&self, index: usize) -> &Self::Output

    Performs the indexing (container[index]) operation. Read more
    Source§

    impl<T> IndexMut<usize> for Deque<T>

    Source§

    fn index_mut(&mut self, index: usize) -> &mut T

    Performs the mutable indexing (container[index]) operation. Read more
    Source§

    impl<'a, T> IntoIterator for &'a Deque<T>

    Source§

    type Item = &'a T

    The type of the elements being iterated over.
    Source§

    type IntoIter = Iter<'a, T>

    Which kind of iterator are we turning this into?
    Source§

    fn into_iter(self) -> Self::IntoIter

    Creates an iterator from a value. Read more
    Source§

    impl<'a, T> IntoIterator for &'a mut Deque<T>

    Source§

    type Item = &'a mut T

    The type of the elements being iterated over.
    Source§

    type IntoIter = IterMut<'a, T>

    Which kind of iterator are we turning this into?
    Source§

    fn into_iter(self) -> Self::IntoIter

    Creates an iterator from a value. Read more
    Source§

    impl<T> IntoIterator for Deque<T>

    Source§

    type Item = T

    The type of the elements being iterated over.
    Source§

    type IntoIter = IntoIter<T>

    Which kind of iterator are we turning this into?
    Source§

    fn into_iter(self) -> Self::IntoIter

    Creates an iterator from a value. Read more

    Auto Trait Implementations§

    §

    impl<T> Freeze for Deque<T>

    §

    impl<T> RefUnwindSafe for Deque<T>
    where + T: RefUnwindSafe,

    §

    impl<T> !Send for Deque<T>

    §

    impl<T> !Sync for Deque<T>

    §

    impl<T> Unpin for Deque<T>

    §

    impl<T> UnwindSafe for Deque<T>
    where + T: RefUnwindSafe,

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    Source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    Source§

    impl<T> From<T> for T

    Source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    Source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    Source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -
    - \ No newline at end of file +From<T> for U chooses to do.

    +
    Source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    Source§

    type Error = Infallible

    The type returned in the event of a conversion error.
    Source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    Source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    Source§

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    Source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \ No newline at end of file diff --git a/doc/rust_algorithm_club/collections/struct.HashMap.html b/doc/rust_algorithm_club/collections/struct.HashMap.html index 0dd5aa8d..42db1429 100644 --- a/doc/rust_algorithm_club/collections/struct.HashMap.html +++ b/doc/rust_algorithm_club/collections/struct.HashMap.html @@ -1,12 +1,5 @@ -HashMap in rust_algorithm_club::collections - Rust - -
    pub struct HashMap<K, V> where
        K: Hash + Eq
    { /* private fields */ }
    Expand description

    A hash map implemented with separate chaining collision resolution strategy.

    +HashMap in rust_algorithm_club::collections - Rust
    rust_algorithm_club::collections

    Struct HashMap

    Source
    pub struct HashMap<K, V>
    where + K: Hash + Eq,
    { /* private fields */ }
    Expand description

    A hash map implemented with separate chaining collision resolution strategy.

    This implementation is focused on hash map functionalities, so we choose to adopt Rust DefaultHasher to avoid avalanche of details, and vectors as the underlying data structure for separate chaining method.

    @@ -16,14 +9,17 @@

    Struct rust_algori
  • Rust Standard Library: std::collections::HashMap
  • C++ Container Library: std::unordered_map
  • -

    Implementations

    Creates an empty map with capacity 0.

    +

    Implementations§

    Source§

    impl<K, V> HashMap<K, V>
    where + K: Hash + Eq,

    Source

    pub fn new() -> Self

    Creates an empty map with capacity 0.

    The allocation is triggered at the first insertion occurs.

    -

    Creates a map with a given capacity as the number of underlying buckets.

    -
    Parameters
    +
    Source

    pub fn with_capacity(cap: usize) -> Self

    Creates a map with a given capacity as the number of underlying buckets.

    +
    §Parameters
    • cap: The number of bucket in the map.
    -

    Gets a reference to the value under the specified key.

    +
    Source

    pub fn get<Q>(&self, key: &Q) -> Option<&V>
    where + K: Borrow<Q>, + Q: Hash + Eq + ?Sized,

    Gets a reference to the value under the specified key.

    We use Q here to accept any type that K can be borrowed as. For example, given a HashMap m using String as key, both m.get(&String) and m.get(&str) would work because String can be borrow as &str. The same technique is @@ -33,12 +29,14 @@

    Parameters
  • Trait std::borrow:Borrow
  • TRPL 1st edition: Borrow and AsRef
  • -
    Complexity
    +
    §Complexity

    Constant (amortized).

    -

    Gets a mutable reference to the value under the specified key.

    -
    Complexity
    +
    Source

    pub fn get_mut<Q>(&mut self, key: &Q) -> Option<&mut V>
    where + K: Borrow<Q>, + Q: Hash + Eq + ?Sized,

    Gets a mutable reference to the value under the specified key.

    +
    §Complexity

    Constant (amortized).

    -

    Inserts key-value pair into the map. Replaces previous value if +

    Source

    pub fn insert(&mut self, key: K, value: V) -> Option<V>

    Inserts key-value pair into the map. Replaces previous value if the same key exists at the same index.

    Returns the old value if the key presents. Otherwise returns None.

    Steps are described as following:

    @@ -52,56 +50,66 @@
    Complexity
    -
    Parameters
    +
    §Parameters
    • key - Key of the pair to insert.
    • value - Value of the pair to insert.
    -
    Complexity
    +
    §Complexity

    Constant (amortized).

    -
    Panics
    +
    §Panics

    Panics when either hash map cannot make a hash, or cannot access any available bucket to insert new value. These cases shall not happend under a well-implemented resize policy.

    -

    Removes a pair with specified key.

    +
    Source

    pub fn remove<Q>(&mut self, key: &Q) -> Option<V>
    where + K: Borrow<Q>, + Q: Hash + Eq + ?Sized,

    Removes a pair with specified key.

    The caveat is that ordering in the bucket cannot be preserved due to the removal using swap_remove to ensure O(1) deletion.

    -
    Parameters
    +
    §Parameters
    • key - Key of the pair to remove.
    -
    Complexity
    +
    §Complexity

    Constant. This operation won’t shrink to fit automatically.

    -

    Removes all key-value pairs but keeps the allocated memory for reuse.

    -
    Complexity
    +
    Source

    pub fn clear(&mut self)

    Removes all key-value pairs but keeps the allocated memory for reuse.

    +
    §Complexity

    Linear in the size of the container.

    -

    Checks whether the container is empty.

    -
    Complexity
    +
    Source

    pub fn is_empty(&self) -> bool

    Checks whether the container is empty.

    +
    §Complexity

    Constant.

    -

    Gets the number of key-value pairs in the container.

    -
    Complexity
    +
    Source

    pub fn len(&self) -> usize

    Gets the number of key-value pairs in the container.

    +
    §Complexity

    Constant.

    -

    Gets the number of underlying buckets.

    -
    Complexity
    +
    Source

    pub fn bucket_count(&self) -> usize

    Gets the number of underlying buckets.

    +
    §Complexity

    Constant.

    -

    Creates an iterator that yields immutable reference of each element +

    Source

    pub fn iter(&self) -> impl Iterator<Item = (&K, &V)>

    Creates an iterator that yields immutable reference of each element in arbitrary order.

    -

    Creates an iterator that yields mutable reference of each element +

    Source

    pub fn iter_mut(&mut self) -> impl Iterator<Item = (&K, &mut V)>

    Creates an iterator that yields mutable reference of each element in arbitrary order.

    -

    Creates a consuming iterator yielding elements in arbitrary order. +

    Source

    pub fn into_iter(self) -> impl Iterator<Item = (K, V)>

    Creates a consuming iterator yielding elements in arbitrary order. That is, one that moves each value out of the list. The list cannot be used after calling this.

    -

    Trait Implementations

    Returns the “default value” for a type. Read more

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    Source§

    impl<K, V> Default for HashMap<K, V>
    where + K: Hash + Eq,

    Source§

    fn default() -> Self

    Returns the “default value” for a type. Read more

    Auto Trait Implementations§

    §

    impl<K, V> Freeze for HashMap<K, V>

    §

    impl<K, V> RefUnwindSafe for HashMap<K, V>
    where + K: RefUnwindSafe, + V: RefUnwindSafe,

    §

    impl<K, V> Send for HashMap<K, V>
    where + K: Send, + V: Send,

    §

    impl<K, V> Sync for HashMap<K, V>
    where + K: Sync, + V: Sync,

    §

    impl<K, V> Unpin for HashMap<K, V>
    where + K: Unpin, + V: Unpin,

    §

    impl<K, V> UnwindSafe for HashMap<K, V>
    where + K: UnwindSafe, + V: UnwindSafe,

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    Source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    Source§

    impl<T> From<T> for T

    Source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    Source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    Source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -
    - \ No newline at end of file +From<T> for U chooses to do.

    +
    Source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    Source§

    type Error = Infallible

    The type returned in the event of a conversion error.
    Source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    Source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    Source§

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    Source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \ No newline at end of file diff --git a/doc/rust_algorithm_club/collections/struct.HashSet.html b/doc/rust_algorithm_club/collections/struct.HashSet.html index 8f2b6713..6f8fbaa7 100644 --- a/doc/rust_algorithm_club/collections/struct.HashSet.html +++ b/doc/rust_algorithm_club/collections/struct.HashSet.html @@ -1,150 +1,157 @@ -HashSet in rust_algorithm_club::collections - Rust - -
    pub struct HashSet<T> where
        T: Hash + Eq
    { /* private fields */ }
    Expand description

    A hash set implementation based on HashMap.

    +HashSet in rust_algorithm_club::collections - Rust
    rust_algorithm_club::collections

    Struct HashSet

    Source
    pub struct HashSet<T>
    where + T: Hash + Eq,
    { /* private fields */ }
    Expand description

    A hash set implementation based on HashMap.

    References:

    -

    Implementations

    Creates an empty set.

    -

    Gets the number of non-repetitive elements, equivalently to the cardinality of a set.

    -
    Complexity
    +

    Implementations§

    Source§

    impl<T> HashSet<T>
    where + T: Hash + Eq,

    Source

    pub fn new() -> Self

    Creates an empty set.

    +
    Source

    pub fn len(&self) -> usize

    Gets the number of non-repetitive elements, equivalently to the cardinality of a set.

    +
    §Complexity

    Constant.

    -

    Returns whether there is no any element in the set.

    -
    Complexity
    +
    Source

    pub fn is_empty(&self) -> bool

    Returns whether there is no any element in the set.

    +
    §Complexity

    Constant.

    -

    Inserts an element into the set.

    +
    Source

    pub fn insert(&mut self, value: T) -> bool

    Inserts an element into the set.

    Returns true if there were no such element in the set; returns false if an identical element is already in the set.

    -
    Parameters
    +
    §Parameters
    • value - Element to be inserted.
    -
    Complexity
    +
    §Complexity

    Constant.

    -

    Returns whether an element is present in the set.

    +
    Source

    pub fn contains<Q>(&self, value: &Q) -> bool
    where + T: Borrow<Q>, + Q: Hash + Eq + ?Sized,

    Returns whether an element is present in the set.

    This is equivalent to “belongs to ∈” relation in mathematics.

    -
    Parameters
    +
    §Parameters
    • value - Element to be checked whether is in the set.
    -
    Complexity
    +
    §Complexity

    Constant.

    -

    Removes an element from the set.

    +
    Source

    pub fn remove<Q>(&mut self, value: &Q) -> bool
    where + T: Borrow<Q>, + Q: Hash + Eq + ?Sized,

    Removes an element from the set.

    Returns true if such item was present and removed; returns false if no such item was found in the set.

    -
    Parameters
    +
    §Parameters
    • value - Element to be removed.
    -
    Complexity
    +
    §Complexity

    Constant.

    -

    Creates an iterator yielding immutable reference of each item in arbitrary order.

    -

    Returns an iterator visiting items that exists in self, in other, +

    Source

    pub fn iter(&self) -> impl Iterator<Item = &T>

    Creates an iterator yielding immutable reference of each item in arbitrary order.

    +
    Source

    pub fn union<'a>(&'a self, other: &'a HashSet<T>) -> impl Iterator<Item = &T>

    Returns an iterator visiting items that exists in self, in other, or in both self and other

    This is equivalent to self ∪ other in mathematics.

    -
    Parameters
    +
    §Parameters
    • other - The other set.
    -

    Returns an iterator visiting items that exists in self but not in other.

    +
    Source

    pub fn difference<'a>( + &'a self, + other: &'a HashSet<T>, +) -> impl Iterator<Item = &T>

    Returns an iterator visiting items that exists in self but not in other.

    This is equivalent to self \ other in mathematics.

    -
    Parameters
    +
    §Parameters
    • other - The other set.
    -

    Returns an iterator visiting items that only exists in either self or +

    Source

    pub fn symmetric_difference<'a>( + &'a self, + other: &'a HashSet<T>, +) -> impl Iterator<Item = &T>

    Returns an iterator visiting items that only exists in either self or other but not in their intersection.

    This is equivalent to self △ other in mathematics.

    -
    Parameters
    +
    §Parameters
    • other - The other set.
    -

    Returns an iterator visiting items that exists in both self and other.

    +
    Source

    pub fn intersection<'a>( + &'a self, + other: &'a HashSet<T>, +) -> impl Iterator<Item = &T>

    Returns an iterator visiting items that exists in both self and other.

    This is equivalent to self ∩ other in mathematics.

    -
    Parameters
    +
    §Parameters
    • other - The other set.
    -

    Returns true if self has no elements in common with other.

    +
    Source

    pub fn is_disjoint(&self, other: &HashSet<T>) -> bool

    Returns true if self has no elements in common with other.

    This is equivalent to checking for an empty intersection, which means their intersection is the empty set ∅.

    -
    Parameters
    +
    §Parameters
    • other - The other set.
    -
    Complexity
    +
    §Complexity

    Linear in the size of self.

    -

    Returns true if other contains at least all elements in self.

    +
    Source

    pub fn is_subset(&self, other: &HashSet<T>) -> bool

    Returns true if other contains at least all elements in self.

    This is equivalent to self ⊆ other in mathematics.

    -
    Parameters
    +
    §Parameters
    • other - The other set.
    -
    Complexity
    +
    §Complexity

    Linear in the size of self.

    -

    Returns true if self contains at least all elements in other.

    +
    Source

    pub fn is_superset(&self, other: &HashSet<T>) -> bool

    Returns true if self contains at least all elements in other.

    This is equivalent to self ⊇ other in mathematics.

    -
    Parameters
    +
    §Parameters
    • other - The other set.
    -
    Complexity
    +
    §Complexity

    Linear in the size of other.

    -

    Trait Implementations

    The bit_and operator &, as an alias of intersection().

    -

    The resulting type after applying the & operator.

    -

    Performs the & operation. Read more

    -

    The bitor operator |, as an alias of union().

    -

    The resulting type after applying the | operator.

    -

    Performs the | operation. Read more

    -

    The bitxor operator ^, as an alias of symmetric_difference().

    -

    The resulting type after applying the ^ operator.

    -

    Performs the ^ operation. Read more

    -

    Returns the “default value” for a type. Read more

    -

    Creates a value from an iterator. Read more

    -

    Checks the equality of sets.

    +

    Trait Implementations§

    Source§

    impl<'a, 'b, T> BitAnd<&'b HashSet<T>> for &'a HashSet<T>
    where + T: Hash + Eq + Clone,

    The bit_and operator &, as an alias of intersection().

    +
    Source§

    type Output = HashSet<T>

    The resulting type after applying the & operator.
    Source§

    fn bitand(self, rhs: &'b HashSet<T>) -> Self::Output

    Performs the & operation. Read more
    Source§

    impl<'a, 'b, T> BitOr<&'b HashSet<T>> for &'a HashSet<T>
    where + T: Hash + Eq + Clone,

    The bitor operator |, as an alias of union().

    +
    Source§

    type Output = HashSet<T>

    The resulting type after applying the | operator.
    Source§

    fn bitor(self, rhs: &'b HashSet<T>) -> Self::Output

    Performs the | operation. Read more
    Source§

    impl<'a, 'b, T> BitXor<&'b HashSet<T>> for &'a HashSet<T>
    where + T: Hash + Eq + Clone,

    The bitxor operator ^, as an alias of symmetric_difference().

    +
    Source§

    type Output = HashSet<T>

    The resulting type after applying the ^ operator.
    Source§

    fn bitxor(self, rhs: &'b HashSet<T>) -> Self::Output

    Performs the ^ operation. Read more
    Source§

    impl<T> Default for HashSet<T>
    where + T: Hash + Eq,

    Source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    Source§

    impl<T> FromIterator<T> for HashSet<T>
    where + T: Hash + Eq,

    Source§

    fn from_iter<I>(iter: I) -> Self
    where + I: IntoIterator<Item = T>,

    Creates a value from an iterator. Read more
    Source§

    impl<T> PartialEq for HashSet<T>
    where + T: Hash + Eq,

    Source§

    fn eq(&self, other: &HashSet<T>) -> bool

    Checks the equality of sets.

    Two sets are defined to be equal if they contain the same elements and their cardinality are equal.

    Set theory definition: x = y ⇒ ∀z, (z ∈ x ⇔ z ∈ y)

    -
    Parameters
    +
    §Parameters
    • other - The other set.
    -
    Complexity
    +
    §Complexity

    Linear in the size of self.

    -

    This method tests for !=.

    -

    Compares sets to determine whether one is a subset of the other or not.

    -
    Parameters
    +
    1.0.0 · Source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
    Source§

    impl<T> PartialOrd for HashSet<T>
    where + T: Hash + Eq,

    Source§

    fn partial_cmp(&self, other: &HashSet<T>) -> Option<Ordering>

    Compares sets to determine whether one is a subset of the other or not.

    +
    §Parameters
    • other - The other set.
    -
    Complexity
    +
    §Complexity

    Linear in the size of max(self, other).

    -

    This method tests less than (for self and other) and is used by the < operator. Read more

    -

    This method tests less than or equal to (for self and other) and is used by the <= -operator. Read more

    -

    This method tests greater than (for self and other) and is used by the > operator. Read more

    -

    This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more

    -

    The sub operator -, as an alias of difference().

    -

    The resulting type after applying the - operator.

    -

    Performs the - operation. Read more

    -

    A set is reflecxively equal to itself.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +
    1.0.0 · Source§

    fn lt(&self, other: &Rhs) -> bool

    Tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · Source§

    fn le(&self, other: &Rhs) -> bool

    Tests less than or equal to (for self and other) and is used by the +<= operator. Read more
    1.0.0 · Source§

    fn gt(&self, other: &Rhs) -> bool

    Tests greater than (for self and other) and is used by the > +operator. Read more
    1.0.0 · Source§

    fn ge(&self, other: &Rhs) -> bool

    Tests greater than or equal to (for self and other) and is used by +the >= operator. Read more
    Source§

    impl<'a, 'b, T> Sub<&'b HashSet<T>> for &'a HashSet<T>
    where + T: Hash + Eq + Clone,

    The sub operator -, as an alias of difference().

    +
    Source§

    type Output = HashSet<T>

    The resulting type after applying the - operator.
    Source§

    fn sub(self, rhs: &'b HashSet<T>) -> Self::Output

    Performs the - operation. Read more
    Source§

    impl<T> Eq for HashSet<T>
    where + T: Hash + Eq,

    A set is reflecxively equal to itself.

    +

    Auto Trait Implementations§

    §

    impl<T> Freeze for HashSet<T>

    §

    impl<T> RefUnwindSafe for HashSet<T>
    where + T: RefUnwindSafe,

    §

    impl<T> Send for HashSet<T>
    where + T: Send,

    §

    impl<T> Sync for HashSet<T>
    where + T: Sync,

    §

    impl<T> Unpin for HashSet<T>
    where + T: Unpin,

    §

    impl<T> UnwindSafe for HashSet<T>
    where + T: UnwindSafe,

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    Source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    Source§

    impl<T> From<T> for T

    Source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    Source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    Source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -
    - \ No newline at end of file +From<T> for U chooses to do.

    +
    Source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    Source§

    type Error = Infallible

    The type returned in the event of a conversion error.
    Source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    Source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    Source§

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    Source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \ No newline at end of file diff --git a/doc/rust_algorithm_club/collections/struct.Queue.html b/doc/rust_algorithm_club/collections/struct.Queue.html index 6f91e421..52cee1d2 100644 --- a/doc/rust_algorithm_club/collections/struct.Queue.html +++ b/doc/rust_algorithm_club/collections/struct.Queue.html @@ -1,42 +1,37 @@ -Queue in rust_algorithm_club::collections - Rust - -
    pub struct Queue<T> { /* private fields */ }
    Expand description

    A queue-like data structure implement through std::vec::Vec.

    +Queue in rust_algorithm_club::collections - Rust
    rust_algorithm_club::collections

    Struct Queue

    Source
    pub struct Queue<T> { /* private fields */ }
    Expand description

    A queue-like data structure implement through std::vec::Vec.

    This is a naive implementation whose insertion time complexity is O(n), which can be improved trivially by using a Deque or -SinglyLinkedList.

    +SinglyLinkedList.

    References:

    -

    Implementations

    Initialize a queue with empty vector

    -

    Adds an element into queue.

    -
    Complexity
    +

    Implementations§

    Source§

    impl<T> Queue<T>

    Source

    pub fn new() -> Self

    Initialize a queue with empty vector

    +
    Source

    pub fn enqueue(&mut self, item: T)

    Adds an element into queue.

    +
    §Complexity

    Constant.

    -

    Removes the oldest added element in queue.

    -
    Complexity
    +
    Source

    pub fn dequeue(&mut self) -> Option<T>

    Removes the oldest added element in queue.

    +
    §Complexity

    Linear in the size of the container.

    -

    Retrieves the least recently added element without dequeuing.

    -
    Complexity
    +
    Source

    pub fn peek(&self) -> Option<&T>

    Retrieves the least recently added element without dequeuing.

    +
    §Complexity

    Constant.

    -

    Retrieves the size of the queue.

    -
    Complexity
    +
    Source

    pub fn size(&self) -> usize

    Retrieves the size of the queue.

    +
    §Complexity

    Constant.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Auto Trait Implementations§

    §

    impl<T> Freeze for Queue<T>

    §

    impl<T> RefUnwindSafe for Queue<T>
    where + T: RefUnwindSafe,

    §

    impl<T> Send for Queue<T>
    where + T: Send,

    §

    impl<T> Sync for Queue<T>
    where + T: Sync,

    §

    impl<T> Unpin for Queue<T>
    where + T: Unpin,

    §

    impl<T> UnwindSafe for Queue<T>
    where + T: UnwindSafe,

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    Source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    Source§

    impl<T> From<T> for T

    Source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    Source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    Source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -
    - \ No newline at end of file +From<T> for U chooses to do.

    +
    Source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    Source§

    type Error = Infallible

    The type returned in the event of a conversion error.
    Source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    Source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    Source§

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    Source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \ No newline at end of file diff --git a/doc/rust_algorithm_club/collections/struct.SinglyLinkedList.html b/doc/rust_algorithm_club/collections/struct.SinglyLinkedList.html index e366d5f3..a5ab08dd 100644 --- a/doc/rust_algorithm_club/collections/struct.SinglyLinkedList.html +++ b/doc/rust_algorithm_club/collections/struct.SinglyLinkedList.html @@ -1,83 +1,71 @@ -SinglyLinkedList in rust_algorithm_club::collections - Rust - -
    pub struct SinglyLinkedList<T> { /* private fields */ }
    Expand description

    A singly-linked list with owned nodes.

    +SinglyLinkedList in rust_algorithm_club::collections - Rust
    rust_algorithm_club::collections

    Struct SinglyLinkedList

    Source
    pub struct SinglyLinkedList<T> { /* private fields */ }
    Expand description

    Implementations

    Constructs a new, empty SinglyLinkedList<T>.

    +

    Implementations§

    Source§

    impl<T> SinglyLinkedList<T>

    Source

    pub fn new() -> Self

    Constructs a new, empty SinglyLinkedList<T>.

    The list will not allocate until elements are pushed onto it.

    -

    Prepends the given element value to the beginning of the container.

    -
    Parameters
    +
    Source

    pub fn push_front(&mut self, elem: T)

    Prepends the given element value to the beginning of the container.

    +
    §Parameters
    • elem - The element to prepend.
    -
    Complexity
    +
    §Complexity

    Constant.

    -

    Removes and returns the first element of the container. +

    Source

    pub fn pop_front(&mut self) -> Option<T>

    Removes and returns the first element of the container. If there are no elements in the container, return None.

    -
    Complexity
    +
    §Complexity

    Constant.

    -

    Inserts an element after the specified position in the container.

    +
    Source

    pub fn insert_after(&mut self, pos: usize, elem: T) -> Result<(), usize>

    Inserts an element after the specified position in the container.

    If the position is out of bound, returns an Result:Err with the size of the list.

    -
    Parameters
    +
    §Parameters
    • pos - The index after which the element will be inserted.
    • elem - The element to be inserted.
    -
    Complexity
    +
    §Complexity

    Search time O(n) + O(1).

    -

    Removes and returns an element at specified position from the container.

    -
    Parameters
    +
    Source

    pub fn remove(&mut self, pos: usize) -> Option<T>

    Removes and returns an element at specified position from the container.

    +
    §Parameters
    • pos - The index at which the element will be moved.
    -
    Complexity
    +
    §Complexity

    Search time O(n) + constant.

    -

    Removes all elements from the container.

    -
    Complexity
    +
    Source

    pub fn clear(&mut self)

    Removes all elements from the container.

    +
    §Complexity

    Linear in the size of the container.

    -

    Checks whether the container is empty.

    -
    Complexity
    +
    Source

    pub fn is_empty(&self) -> bool

    Checks whether the container is empty.

    +
    §Complexity

    Constant.

    -

    Gets the number of elements in the container.

    -
    Complexity
    +
    Source

    pub fn len(&self) -> usize

    Gets the number of elements in the container.

    +
    §Complexity

    Linear in the size of the container.

    -

    Reverses the order of the elements in the container.

    -
    Complexity
    +
    Source

    pub fn reverse(&mut self)

    Reverses the order of the elements in the container.

    +
    §Complexity

    Linear in the size of the container.

    -

    Creates an iterator that yields immutable reference of each element.

    -

    Creates an iterator that yields mutable reference of each element.

    -

    Trait Implementations

    Formats the value using the given formatter. Read more

    -

    Executes the destructor for this type. Read more

    -

    Creates a consuming iterator, that is, one that moves each value out of +

    Source

    pub fn iter(&self) -> Iter<'_, T>

    Creates an iterator that yields immutable reference of each element.

    +
    Source

    pub fn iter_mut(&mut self) -> IterMut<'_, T>

    Creates an iterator that yields mutable reference of each element.

    +

    Trait Implementations§

    Source§

    impl<T: Debug> Debug for SinglyLinkedList<T>

    Source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    Source§

    impl<T> Drop for SinglyLinkedList<T>

    Source§

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    Source§

    impl<T> IntoIterator for SinglyLinkedList<T>

    Source§

    fn into_iter(self) -> Self::IntoIter

    Creates a consuming iterator, that is, one that moves each value out of the list (from start to end). The list cannot be used after calling this.

    -

    The type of the elements being iterated over.

    -

    Which kind of iterator are we turning this into?

    -

    This method tests for self and other values to be equal, and is used -by ==. Read more

    -

    This method tests for !=.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +
    Source§

    type Item = T

    The type of the elements being iterated over.
    Source§

    type IntoIter = IntoIter<T>

    Which kind of iterator are we turning this into?
    Source§

    impl<T: PartialEq> PartialEq for SinglyLinkedList<T>

    Source§

    fn eq(&self, other: &Self) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.

    Auto Trait Implementations§

    §

    impl<T> Freeze for SinglyLinkedList<T>

    §

    impl<T> RefUnwindSafe for SinglyLinkedList<T>
    where + T: RefUnwindSafe,

    §

    impl<T> Send for SinglyLinkedList<T>
    where + T: Send,

    §

    impl<T> Sync for SinglyLinkedList<T>
    where + T: Sync,

    §

    impl<T> Unpin for SinglyLinkedList<T>

    §

    impl<T> UnwindSafe for SinglyLinkedList<T>
    where + T: UnwindSafe,

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    Source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    Source§

    impl<T> From<T> for T

    Source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    Source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    Source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -
    - \ No newline at end of file +From<T> for U chooses to do.

    +
    Source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    Source§

    type Error = Infallible

    The type returned in the event of a conversion error.
    Source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    Source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    Source§

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    Source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \ No newline at end of file diff --git a/doc/rust_algorithm_club/collections/struct.Stack.html b/doc/rust_algorithm_club/collections/struct.Stack.html index a4486d83..94de0f92 100644 --- a/doc/rust_algorithm_club/collections/struct.Stack.html +++ b/doc/rust_algorithm_club/collections/struct.Stack.html @@ -1,12 +1,4 @@ -Stack in rust_algorithm_club::collections - Rust - -
    pub struct Stack<T> { /* private fields */ }
    Expand description

    A stack-like data structure implemented through a Vec.

    +Stack in rust_algorithm_club::collections - Rust
    rust_algorithm_club::collections

    Struct Stack

    Source
    pub struct Stack<T> { /* private fields */ }
    Expand description

    A stack-like data structure implemented through a Vec.

    The name “stack” for this type of structure comes from the analogy to a set of physical items stacked on top of each other, which makes it easy to take an item off the top of the stack, while getting to an item deeper in the @@ -19,44 +11,47 @@

    Struct rust_algori
  • Stack (abstract data type)
  • Big-O Algorithm Complexity Cheat Sheet
  • -

    Implementations

    Initialize a stack of certain capacity.

    -
    Parameters
    +

    Implementations§

    Source§

    impl<T> Stack<T>

    Source

    pub fn with_capacity(maxsize: usize) -> Self

    Initialize a stack of certain capacity.

    +
    §Parameters
    • maxsize: Capacity of the collection. It limits how many items can be stored.
    -

    Removes the most recently added element that was not yet removed.

    -
    Returns
    +
    Source

    pub fn pop(&mut self) -> Option<T>

    Removes the most recently added element that was not yet removed.

    +
    §Returns

    Returns the most recently added item. If nothing was added, None will be returned.

    -
    Complexity
    +
    §Complexity

    Constant.

    -

    Adds an element to the collection.

    -
    Returns
    +
    Source

    pub fn push(&mut self, item: T) -> bool

    Adds an element to the collection.

    +
    §Returns

    Returns true if the collection has space left and item is successfully added, otherwise returns false.

    -
    Complexity
    +
    §Complexity

    Constant.

    -
    Source

    pub fn size(&self) -> usize

    §Returns

    Returns the size of collection, indicates how many items are added in the collection.

    -
    Note
    +
    §Note

    Size and capacity are different concepts. Capacity limits how many items can be stored, while size indicates how many items is currently stored.

    -

    Peeks the last element added without tampering the collection.

    -
    Returns
    +
    Source

    pub fn peek(&self) -> Option<&T>

    Peeks the last element added without tampering the collection.

    +
    §Returns

    Returns the most recently added item. If nothing was added, None will be returned.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Auto Trait Implementations§

    §

    impl<T> Freeze for Stack<T>

    §

    impl<T> RefUnwindSafe for Stack<T>
    where + T: RefUnwindSafe,

    §

    impl<T> Send for Stack<T>
    where + T: Send,

    §

    impl<T> Sync for Stack<T>
    where + T: Sync,

    §

    impl<T> Unpin for Stack<T>
    where + T: Unpin,

    §

    impl<T> UnwindSafe for Stack<T>
    where + T: UnwindSafe,

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    Source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    Source§

    impl<T> From<T> for T

    Source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    Source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    Source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -
    - \ No newline at end of file +From<T> for U chooses to do.

    +
    Source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    Source§

    type Error = Infallible

    The type returned in the event of a conversion error.
    Source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    Source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    Source§

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    Source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \ No newline at end of file diff --git a/doc/rust_algorithm_club/fn.hamming_distance.html b/doc/rust_algorithm_club/fn.hamming_distance.html index 53c3cc7e..304b204a 100644 --- a/doc/rust_algorithm_club/fn.hamming_distance.html +++ b/doc/rust_algorithm_club/fn.hamming_distance.html @@ -1,11 +1,2 @@ -hamming_distance in rust_algorithm_club - Rust - -
    pub fn hamming_distance(source: u64, target: u64) -> u32
    Expand description

    Calculate Hamming distance to two unsigned intergers.

    -
    - \ No newline at end of file +hamming_distance in rust_algorithm_club - Rust
    rust_algorithm_club

    Function hamming_distance

    Source
    pub fn hamming_distance(source: u64, target: u64) -> u32
    Expand description

    Calculate Hamming distance to two unsigned intergers.

    +
    \ No newline at end of file diff --git a/doc/rust_algorithm_club/fn.hamming_distance_str.html b/doc/rust_algorithm_club/fn.hamming_distance_str.html index 22d655ff..d0fc623c 100644 --- a/doc/rust_algorithm_club/fn.hamming_distance_str.html +++ b/doc/rust_algorithm_club/fn.hamming_distance_str.html @@ -1,11 +1,2 @@ -hamming_distance_str in rust_algorithm_club - Rust - -
    pub fn hamming_distance_str(source: &str, target: &str) -> usize
    Expand description

    Calculate Hamming distance of two UTF-8 encoded strings.

    -
    - \ No newline at end of file +hamming_distance_str in rust_algorithm_club - Rust
    rust_algorithm_club

    Function hamming_distance_str

    Source
    pub fn hamming_distance_str(source: &str, target: &str) -> usize
    Expand description

    Calculate Hamming distance of two UTF-8 encoded strings.

    +
    \ No newline at end of file diff --git a/doc/rust_algorithm_club/fn.levenshtein_distance.html b/doc/rust_algorithm_club/fn.levenshtein_distance.html index 48e42d3d..e3865974 100644 --- a/doc/rust_algorithm_club/fn.levenshtein_distance.html +++ b/doc/rust_algorithm_club/fn.levenshtein_distance.html @@ -1,12 +1,4 @@ -levenshtein_distance in rust_algorithm_club - Rust - -
    pub fn levenshtein_distance(source: &str, target: &str) -> usize
    Expand description

    Calculate Levenshtein distance for two UTF-8 encoded strings.

    +levenshtein_distance in rust_algorithm_club - Rust
    rust_algorithm_club

    Function levenshtein_distance

    Source
    pub fn levenshtein_distance(source: &str, target: &str) -> usize
    Expand description

    Calculate Levenshtein distance for two UTF-8 encoded strings.

    Returns a minimum number of edits to transform from source to target string.

    Levenshtein distance accepts three edit operations: insertion, deletion, and substitution.

    @@ -15,5 +7,4 @@

    Function rust_algorit
  • Levenshtein distance in Cargo
  • Ilia Schelokov: Optimizing loop heavy Rust code
  • -

    - \ No newline at end of file +
    \ No newline at end of file diff --git a/doc/rust_algorithm_club/fn.levenshtein_distance_naive.html b/doc/rust_algorithm_club/fn.levenshtein_distance_naive.html index 518c6e70..239c1503 100644 --- a/doc/rust_algorithm_club/fn.levenshtein_distance_naive.html +++ b/doc/rust_algorithm_club/fn.levenshtein_distance_naive.html @@ -1,12 +1,3 @@ -levenshtein_distance_naive in rust_algorithm_club - Rust - -
    pub fn levenshtein_distance_naive(source: &str, target: &str) -> usize
    Expand description

    Naïvely calculate Levenshtein distance using the whole distance matrix to +levenshtein_distance_naive in rust_algorithm_club - Rust

    rust_algorithm_club

    Function levenshtein_distance_naive

    Source
    pub fn levenshtein_distance_naive(source: &str, target: &str) -> usize
    Expand description

    Naïvely calculate Levenshtein distance using the whole distance matrix to store information for all substrings.

    -
    - \ No newline at end of file +
    \ No newline at end of file diff --git a/doc/rust_algorithm_club/index.html b/doc/rust_algorithm_club/index.html index 4034a157..f899b75b 100644 --- a/doc/rust_algorithm_club/index.html +++ b/doc/rust_algorithm_club/index.html @@ -1,21 +1,3 @@ -rust_algorithm_club - Rust - -
    Expand description

    Modules

    -

    Colletions are general-purpose or specialized data structures in which elements store.

    -

    Searching algorithms.

    -

    Sorting algorithms.

    -

    Functions

    -

    Calculate Hamming distance to two unsigned intergers.

    -

    Calculate Hamming distance of two UTF-8 encoded strings.

    -

    Calculate Levenshtein distance for two UTF-8 encoded strings.

    -

    Naïvely calculate Levenshtein distance using the whole distance matrix to -store information for all substrings.

    -
    - \ No newline at end of file +rust_algorithm_club - Rust

    Crate rust_algorithm_club

    Source
    Expand description

    +

    §Welcome to Rust algorithm club!

    Modules§

    • Colletions are general-purpose or specialized data structures in which elements store.
    • Searching algorithms.
    • Sorting algorithms.

    Functions§

    \ No newline at end of file diff --git a/doc/rust_algorithm_club/searching/fn.binary_search.html b/doc/rust_algorithm_club/searching/fn.binary_search.html index 75a8e827..20c53f4e 100644 --- a/doc/rust_algorithm_club/searching/fn.binary_search.html +++ b/doc/rust_algorithm_club/searching/fn.binary_search.html @@ -1,17 +1,9 @@ -binary_search in rust_algorithm_club::searching - Rust - -
    pub fn binary_search<T>(arr: &[T], target: &T) -> Result<usize, usize> where
        T: PartialOrd
    Expand description

    Handmade binary search for a sorted sequence.

    +binary_search in rust_algorithm_club::searching - Rust
    rust_algorithm_club::searching

    Function binary_search

    Source
    pub fn binary_search<T>(arr: &[T], target: &T) -> Result<usize, usize>
    where + T: PartialOrd,
    Expand description

    Handmade binary search for a sorted sequence.

    This version of binary search does not guarantee retrieval of the leftmost matching position if multiple elements found.

    Reference:

    -
    - \ No newline at end of file +
    \ No newline at end of file diff --git a/doc/rust_algorithm_club/searching/fn.exponential_search.html b/doc/rust_algorithm_club/searching/fn.exponential_search.html index 4965424a..5d67769c 100644 --- a/doc/rust_algorithm_club/searching/fn.exponential_search.html +++ b/doc/rust_algorithm_club/searching/fn.exponential_search.html @@ -1,13 +1,5 @@ -exponential_search in rust_algorithm_club::searching - Rust - -
    pub fn exponential_search<T>(arr: &[T], target: &T) -> Result<usize, usize> where
        T: PartialOrd
    Expand description

    Exponential search. An binary search variant that can perform on +exponential_search in rust_algorithm_club::searching - Rust

    rust_algorithm_club::searching

    Function exponential_search

    Source
    pub fn exponential_search<T>(arr: &[T], target: &T) -> Result<usize, usize>
    where + T: PartialOrd,
    Expand description

    Exponential search. An binary search variant that can perform on unbounded sequences and infinite lists.

    Use crate::searching::binary_search as the underlying algorithm.

    -
    - \ No newline at end of file +
    \ No newline at end of file diff --git a/doc/rust_algorithm_club/searching/fn.interpolation_search.html b/doc/rust_algorithm_club/searching/fn.interpolation_search.html index ee3f422d..b481c298 100644 --- a/doc/rust_algorithm_club/searching/fn.interpolation_search.html +++ b/doc/rust_algorithm_club/searching/fn.interpolation_search.html @@ -1,21 +1,12 @@ -interpolation_search in rust_algorithm_club::searching - Rust - -
    pub fn interpolation_search(arr: &[i32], target: &i32) -> Result<usize, usize>
    Expand description

    Search in sorted sequences by checking the next position based on an +interpolation_search in rust_algorithm_club::searching - Rust

    rust_algorithm_club::searching

    Function interpolation_search

    Source
    pub fn interpolation_search(arr: &[i32], target: &i32) -> Result<usize, usize>
    Expand description

    Search in sorted sequences by checking the next position based on an linear interpolation of the search key.

    -

    Parameters

    +

    §Parameters

    • arr: Slice to search in.
    • target: Object to search for.
    -

    Notes

    +

    §Notes

    Since interpolations only be applied on numeric types, we choose i32 to avoid overkilling. If you desire a full functional trait of numeric types, num crate would meet your needs.

    -
    - \ No newline at end of file +
    \ No newline at end of file diff --git a/doc/rust_algorithm_club/searching/fn.linear_search.html b/doc/rust_algorithm_club/searching/fn.linear_search.html index 75e7a2c5..b8c5cbbe 100644 --- a/doc/rust_algorithm_club/searching/fn.linear_search.html +++ b/doc/rust_algorithm_club/searching/fn.linear_search.html @@ -1,11 +1,3 @@ -linear_search in rust_algorithm_club::searching - Rust - -
    pub fn linear_search<T>(arr: &[T], target: &T) -> Option<usize> where
        T: PartialEq
    Expand description

    Linear search.

    -
    - \ No newline at end of file +linear_search in rust_algorithm_club::searching - Rust
    rust_algorithm_club::searching

    Function linear_search

    Source
    pub fn linear_search<T>(arr: &[T], target: &T) -> Option<usize>
    where + T: PartialEq,
    Expand description

    Linear search.

    +
    \ No newline at end of file diff --git a/doc/rust_algorithm_club/searching/index.html b/doc/rust_algorithm_club/searching/index.html index e29a2d94..a18c2fb8 100644 --- a/doc/rust_algorithm_club/searching/index.html +++ b/doc/rust_algorithm_club/searching/index.html @@ -1,18 +1,4 @@ -rust_algorithm_club::searching - Rust - -
    Expand description

    Searching algorithms.

    -

    Functions

    -

    Handmade binary search for a sorted sequence.

    -

    Exponential search. An binary search variant that can perform on -unbounded sequences and infinite lists.

    -

    Search in sorted sequences by checking the next position based on an -linear interpolation of the search key.

    -

    Linear search.

    -
    - \ No newline at end of file +rust_algorithm_club::searching - Rust
    rust_algorithm_club

    Module searching

    Source
    Expand description

    Searching algorithms.

    +

    Functions§

    • Handmade binary search for a sorted sequence.
    • Exponential search. An binary search variant that can perform on +unbounded sequences and infinite lists.
    • Search in sorted sequences by checking the next position based on an +linear interpolation of the search key.
    • Linear search.
    \ No newline at end of file diff --git a/doc/rust_algorithm_club/searching/sidebar-items.js b/doc/rust_algorithm_club/searching/sidebar-items.js index 017d4dab..c4994184 100644 --- a/doc/rust_algorithm_club/searching/sidebar-items.js +++ b/doc/rust_algorithm_club/searching/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"fn":[["binary_search","Handmade binary search for a sorted sequence."],["exponential_search","Exponential search. An binary search variant that can perform on unbounded sequences and infinite lists."],["interpolation_search","Search in sorted sequences by checking the next position based on an linear interpolation of the search key."],["linear_search","Linear search."]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"fn":["binary_search","exponential_search","interpolation_search","linear_search"]}; \ No newline at end of file diff --git a/doc/rust_algorithm_club/sidebar-items.js b/doc/rust_algorithm_club/sidebar-items.js index a9effd37..972d1599 100644 --- a/doc/rust_algorithm_club/sidebar-items.js +++ b/doc/rust_algorithm_club/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"fn":[["hamming_distance","Calculate Hamming distance to two unsigned intergers."],["hamming_distance_str","Calculate Hamming distance of two UTF-8 encoded strings."],["levenshtein_distance","Calculate Levenshtein distance for two UTF-8 encoded strings."],["levenshtein_distance_naive","Naïvely calculate Levenshtein distance using the whole distance matrix to store information for all substrings."]],"mod":[["collections","Colletions are general-purpose or specialized data structures in which elements store."],["searching","Searching algorithms."],["sorting","Sorting algorithms."]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"fn":["hamming_distance","hamming_distance_str","levenshtein_distance","levenshtein_distance_naive"],"mod":["collections","searching","sorting"]}; \ No newline at end of file diff --git a/doc/rust_algorithm_club/sorting/constant.MARCIN_GAPS.html b/doc/rust_algorithm_club/sorting/constant.MARCIN_GAPS.html index 9ddb83fd..318727ed 100644 --- a/doc/rust_algorithm_club/sorting/constant.MARCIN_GAPS.html +++ b/doc/rust_algorithm_club/sorting/constant.MARCIN_GAPS.html @@ -1,11 +1,2 @@ -MARCIN_GAPS in rust_algorithm_club::sorting - Rust - -
    pub const MARCIN_GAPS: [usize; 8];
    Expand description

    Marcin Ciura’s gap sequence.

    -
    - \ No newline at end of file +MARCIN_GAPS in rust_algorithm_club::sorting - Rust
    rust_algorithm_club::sorting

    Constant MARCIN_GAPS

    Source
    pub const MARCIN_GAPS: [usize; 8];
    Expand description

    Marcin Ciura’s gap sequence.

    +
    \ No newline at end of file diff --git a/doc/rust_algorithm_club/sorting/fn.binary_insertion_sort.html b/doc/rust_algorithm_club/sorting/fn.binary_insertion_sort.html index ccbfc6e2..691150d8 100644 --- a/doc/rust_algorithm_club/sorting/fn.binary_insertion_sort.html +++ b/doc/rust_algorithm_club/sorting/fn.binary_insertion_sort.html @@ -1,13 +1,4 @@ -binary_insertion_sort in rust_algorithm_club::sorting - Rust - -
    pub fn binary_insertion_sort(arr: &mut [i32])
    Expand description

    Binary insertion sort.

    +binary_insertion_sort in rust_algorithm_club::sorting - Rust
    rust_algorithm_club::sorting

    Function binary_insertion_sort

    Source
    pub fn binary_insertion_sort(arr: &mut [i32])
    Expand description

    Binary insertion sort.

    Binary insertion sort is a insertion sort variant that utilizes binary search to reduce comparisons in a normal insertion sort.

    -
    - \ No newline at end of file +
    \ No newline at end of file diff --git a/doc/rust_algorithm_club/sorting/fn.bubble_sort.html b/doc/rust_algorithm_club/sorting/fn.bubble_sort.html index 05ae43f1..d3a7c827 100644 --- a/doc/rust_algorithm_club/sorting/fn.bubble_sort.html +++ b/doc/rust_algorithm_club/sorting/fn.bubble_sort.html @@ -1,11 +1,2 @@ -bubble_sort in rust_algorithm_club::sorting - Rust - -
    pub fn bubble_sort(arr: &mut [i32])
    Expand description

    Bubble sort

    -
    - \ No newline at end of file +bubble_sort in rust_algorithm_club::sorting - Rust
    rust_algorithm_club::sorting

    Function bubble_sort

    Source
    pub fn bubble_sort(arr: &mut [i32])
    Expand description

    Bubble sort

    +
    \ No newline at end of file diff --git a/doc/rust_algorithm_club/sorting/fn.bubble_sort_optimized.html b/doc/rust_algorithm_club/sorting/fn.bubble_sort_optimized.html index 6a3ab677..b1699923 100644 --- a/doc/rust_algorithm_club/sorting/fn.bubble_sort_optimized.html +++ b/doc/rust_algorithm_club/sorting/fn.bubble_sort_optimized.html @@ -1,12 +1,3 @@ -bubble_sort_optimized in rust_algorithm_club::sorting - Rust - -
    pub fn bubble_sort_optimized(arr: &mut [i32])
    Expand description

    Optimized bubble sort

    +bubble_sort_optimized in rust_algorithm_club::sorting - Rust
    rust_algorithm_club::sorting

    Function bubble_sort_optimized

    Source
    pub fn bubble_sort_optimized(arr: &mut [i32])
    Expand description

    Optimized bubble sort

    Memorize last swapped index to avoid unnecessary check.

    -
    - \ No newline at end of file +
    \ No newline at end of file diff --git a/doc/rust_algorithm_club/sorting/fn.bucket_sort.html b/doc/rust_algorithm_club/sorting/fn.bucket_sort.html index 9560a1cf..93a6b589 100644 --- a/doc/rust_algorithm_club/sorting/fn.bucket_sort.html +++ b/doc/rust_algorithm_club/sorting/fn.bucket_sort.html @@ -1,16 +1,10 @@ -bucket_sort in rust_algorithm_club::sorting - Rust - -
    pub fn bucket_sort<H, F, T>(arr: &mut [T], hasher: F) where
        H: Ord,
        F: Fn(&T) -> H,
        T: Ord + Clone
    Expand description

    Bucket sort

    +bucket_sort in rust_algorithm_club::sorting - Rust
    rust_algorithm_club::sorting

    Function bucket_sort

    Source
    pub fn bucket_sort<H, F, T>(arr: &mut [T], hasher: F)
    where + H: Ord, + F: Fn(&T) -> H, + T: Ord + Clone,
    Expand description

    Bucket sort

    • arr - Collection of value to be sorted in place.
    • hasher - Function hashing to map elements to correspoding buckets.

    Ref: https://codereview.stackexchange.com/a/145124

    -
    - \ No newline at end of file +
    \ No newline at end of file diff --git a/doc/rust_algorithm_club/sorting/fn.counting_sort.html b/doc/rust_algorithm_club/sorting/fn.counting_sort.html index 0ccf14a2..196ebca2 100644 --- a/doc/rust_algorithm_club/sorting/fn.counting_sort.html +++ b/doc/rust_algorithm_club/sorting/fn.counting_sort.html @@ -1,17 +1,10 @@ -counting_sort in rust_algorithm_club::sorting - Rust - -
    pub fn counting_sort<F, T>(arr: &mut [T], min: usize, max: usize, key: F) where
        F: Fn(&T) -> usize,
        T: Clone
    Expand description

    Counting sort

    +counting_sort in rust_algorithm_club::sorting - Rust
    rust_algorithm_club::sorting

    Function counting_sort

    Source
    pub fn counting_sort<F, T>(arr: &mut [T], min: usize, max: usize, key: F)
    where + F: Fn(&T) -> usize, + T: Clone,
    Expand description

    Counting sort

    • arr - Collection of value to be sorted in place.
    • min - Lower bound of the integer range.
    • max - Upper bound of the integer range.
    • key - Function extracting key witn the integer range from elements.
    -
    - \ No newline at end of file +
    \ No newline at end of file diff --git a/doc/rust_algorithm_club/sorting/fn.heapsort.html b/doc/rust_algorithm_club/sorting/fn.heapsort.html index 7dabe43c..485dc25c 100644 --- a/doc/rust_algorithm_club/sorting/fn.heapsort.html +++ b/doc/rust_algorithm_club/sorting/fn.heapsort.html @@ -1,11 +1,2 @@ -heapsort in rust_algorithm_club::sorting - Rust - -
    pub fn heapsort(arr: &mut [i32])
    Expand description

    Heapsort.

    -
    - \ No newline at end of file +heapsort in rust_algorithm_club::sorting - Rust
    rust_algorithm_club::sorting

    Function heapsort

    Source
    pub fn heapsort(arr: &mut [i32])
    Expand description

    Heapsort.

    +
    \ No newline at end of file diff --git a/doc/rust_algorithm_club/sorting/fn.insertion_sort.html b/doc/rust_algorithm_club/sorting/fn.insertion_sort.html index f7aff895..eecbac43 100644 --- a/doc/rust_algorithm_club/sorting/fn.insertion_sort.html +++ b/doc/rust_algorithm_club/sorting/fn.insertion_sort.html @@ -1,11 +1,2 @@ -insertion_sort in rust_algorithm_club::sorting - Rust - -
    pub fn insertion_sort(arr: &mut [i32])
    Expand description

    Insertion sort.

    -
    - \ No newline at end of file +insertion_sort in rust_algorithm_club::sorting - Rust
    rust_algorithm_club::sorting

    Function insertion_sort

    Source
    pub fn insertion_sort(arr: &mut [i32])
    Expand description

    Insertion sort.

    +
    \ No newline at end of file diff --git a/doc/rust_algorithm_club/sorting/fn.introsort.html b/doc/rust_algorithm_club/sorting/fn.introsort.html index 60a0dac5..3275278c 100644 --- a/doc/rust_algorithm_club/sorting/fn.introsort.html +++ b/doc/rust_algorithm_club/sorting/fn.introsort.html @@ -1,11 +1,2 @@ -introsort in rust_algorithm_club::sorting - Rust - -
    pub fn introsort(_arr: &mut [i32])
    Expand description

    Introsort.

    -
    - \ No newline at end of file +introsort in rust_algorithm_club::sorting - Rust
    rust_algorithm_club::sorting

    Function introsort

    Source
    pub fn introsort(_arr: &mut [i32])
    Expand description

    Introsort.

    +
    \ No newline at end of file diff --git a/doc/rust_algorithm_club/sorting/fn.mergesort.html b/doc/rust_algorithm_club/sorting/fn.mergesort.html index 7a0afe57..3acfc80c 100644 --- a/doc/rust_algorithm_club/sorting/fn.mergesort.html +++ b/doc/rust_algorithm_club/sorting/fn.mergesort.html @@ -1,15 +1,6 @@ -mergesort in rust_algorithm_club::sorting - Rust - -
    pub fn mergesort(arr: &mut [i32])
    Expand description

    Mergesort.

    +mergesort in rust_algorithm_club::sorting - Rust
    rust_algorithm_club::sorting

    Function mergesort

    Source
    pub fn mergesort(arr: &mut [i32])
    Expand description

    Mergesort.

    • Top-down
    • Recursive
    -
    - \ No newline at end of file +
    \ No newline at end of file diff --git a/doc/rust_algorithm_club/sorting/fn.mergesort_bottom_up.html b/doc/rust_algorithm_club/sorting/fn.mergesort_bottom_up.html index ad075bfd..e1aabd8c 100644 --- a/doc/rust_algorithm_club/sorting/fn.mergesort_bottom_up.html +++ b/doc/rust_algorithm_club/sorting/fn.mergesort_bottom_up.html @@ -1,15 +1,6 @@ -mergesort_bottom_up in rust_algorithm_club::sorting - Rust - -
    pub fn mergesort_bottom_up(arr: &mut [i32])
    Expand description

    Mergesort bottom-up version.

    +mergesort_bottom_up in rust_algorithm_club::sorting - Rust
    rust_algorithm_club::sorting

    Function mergesort_bottom_up

    Source
    pub fn mergesort_bottom_up(arr: &mut [i32])
    Expand description

    Mergesort bottom-up version.

    • Buttom-up (for array-based data structure)
    • Iterative
    -
    - \ No newline at end of file +
    \ No newline at end of file diff --git a/doc/rust_algorithm_club/sorting/fn.pdqsort.html b/doc/rust_algorithm_club/sorting/fn.pdqsort.html index a3653fd8..b1ba25d2 100644 --- a/doc/rust_algorithm_club/sorting/fn.pdqsort.html +++ b/doc/rust_algorithm_club/sorting/fn.pdqsort.html @@ -1,11 +1,2 @@ -pdqsort in rust_algorithm_club::sorting - Rust - -
    pub fn pdqsort(_arr: &mut [i32])
    Expand description

    Pattern-defeating quicksort.

    -
    - \ No newline at end of file +pdqsort in rust_algorithm_club::sorting - Rust
    rust_algorithm_club::sorting

    Function pdqsort

    Source
    pub fn pdqsort(_arr: &mut [i32])
    Expand description

    Pattern-defeating quicksort.

    +
    \ No newline at end of file diff --git a/doc/rust_algorithm_club/sorting/fn.quicksort.html b/doc/rust_algorithm_club/sorting/fn.quicksort.html index 4511d232..58b65058 100644 --- a/doc/rust_algorithm_club/sorting/fn.quicksort.html +++ b/doc/rust_algorithm_club/sorting/fn.quicksort.html @@ -1,11 +1,2 @@ -quicksort in rust_algorithm_club::sorting - Rust - -
    pub fn quicksort(arr: &mut [i32])
    Expand description

    Quicksort with Lomuto parition scheme.

    -
    - \ No newline at end of file +quicksort in rust_algorithm_club::sorting - Rust
    rust_algorithm_club::sorting

    Function quicksort

    Source
    pub fn quicksort(arr: &mut [i32])
    Expand description

    Quicksort with Lomuto parition scheme.

    +
    \ No newline at end of file diff --git a/doc/rust_algorithm_club/sorting/fn.quicksort_3way.html b/doc/rust_algorithm_club/sorting/fn.quicksort_3way.html index dfcbea7b..c01fa4df 100644 --- a/doc/rust_algorithm_club/sorting/fn.quicksort_3way.html +++ b/doc/rust_algorithm_club/sorting/fn.quicksort_3way.html @@ -1,11 +1,2 @@ -quicksort_3way in rust_algorithm_club::sorting - Rust - -
    pub fn quicksort_3way(arr: &mut [i32])
    Expand description

    Quicksort with 3-way parition scheme.

    -
    - \ No newline at end of file +quicksort_3way in rust_algorithm_club::sorting - Rust
    rust_algorithm_club::sorting

    Function quicksort_3way

    Source
    pub fn quicksort_3way(arr: &mut [i32])
    Expand description

    Quicksort with 3-way parition scheme.

    +
    \ No newline at end of file diff --git a/doc/rust_algorithm_club/sorting/fn.quicksort_hoare.html b/doc/rust_algorithm_club/sorting/fn.quicksort_hoare.html index 200b2a17..c54af196 100644 --- a/doc/rust_algorithm_club/sorting/fn.quicksort_hoare.html +++ b/doc/rust_algorithm_club/sorting/fn.quicksort_hoare.html @@ -1,11 +1,2 @@ -quicksort_hoare in rust_algorithm_club::sorting - Rust - -
    pub fn quicksort_hoare(arr: &mut [i32])
    Expand description

    Quicksort with Hoare parition scheme

    -
    - \ No newline at end of file +quicksort_hoare in rust_algorithm_club::sorting - Rust
    rust_algorithm_club::sorting

    Function quicksort_hoare

    Source
    pub fn quicksort_hoare(arr: &mut [i32])
    Expand description

    Quicksort with Hoare parition scheme

    +
    \ No newline at end of file diff --git a/doc/rust_algorithm_club/sorting/fn.quicksort_manual_tco.html b/doc/rust_algorithm_club/sorting/fn.quicksort_manual_tco.html index 54c9f09b..11ca314f 100644 --- a/doc/rust_algorithm_club/sorting/fn.quicksort_manual_tco.html +++ b/doc/rust_algorithm_club/sorting/fn.quicksort_manual_tco.html @@ -1,11 +1,2 @@ -quicksort_manual_tco in rust_algorithm_club::sorting - Rust - -
    pub fn quicksort_manual_tco(arr: &mut [i32])
    Expand description

    Manual tail-call opitimized quicksort with Lomuto parition scheme.

    -
    - \ No newline at end of file +quicksort_manual_tco in rust_algorithm_club::sorting - Rust
    rust_algorithm_club::sorting

    Function quicksort_manual_tco

    Source
    pub fn quicksort_manual_tco(arr: &mut [i32])
    Expand description

    Manual tail-call opitimized quicksort with Lomuto parition scheme.

    +
    \ No newline at end of file diff --git a/doc/rust_algorithm_club/sorting/fn.quicksort_optimized.html b/doc/rust_algorithm_club/sorting/fn.quicksort_optimized.html index ad01e245..d1d8b70d 100644 --- a/doc/rust_algorithm_club/sorting/fn.quicksort_optimized.html +++ b/doc/rust_algorithm_club/sorting/fn.quicksort_optimized.html @@ -1,11 +1,2 @@ -quicksort_optimized in rust_algorithm_club::sorting - Rust - -
    pub fn quicksort_optimized(arr: &mut [i32])
    Expand description

    Tail-call opitimized quicksort with Lomuto parition scheme.

    -
    - \ No newline at end of file +quicksort_optimized in rust_algorithm_club::sorting - Rust
    rust_algorithm_club::sorting

    Function quicksort_optimized

    Source
    pub fn quicksort_optimized(arr: &mut [i32])
    Expand description

    Tail-call opitimized quicksort with Lomuto parition scheme.

    +
    \ No newline at end of file diff --git a/doc/rust_algorithm_club/sorting/fn.radix_sort.html b/doc/rust_algorithm_club/sorting/fn.radix_sort.html index b02cad37..6a376d2b 100644 --- a/doc/rust_algorithm_club/sorting/fn.radix_sort.html +++ b/doc/rust_algorithm_club/sorting/fn.radix_sort.html @@ -1,14 +1,5 @@ -radix_sort in rust_algorithm_club::sorting - Rust - -
    pub fn radix_sort(arr: &mut [i32])
    Expand description

    Radix sort for sorting unsigned integers.

    +radix_sort in rust_algorithm_club::sorting - Rust
    rust_algorithm_club::sorting

    Function radix_sort

    Source
    pub fn radix_sort(arr: &mut [i32])
    Expand description

    Radix sort for sorting unsigned integers.

    • arr - Collection of value to be sorted in place.
    -
    - \ No newline at end of file +
    \ No newline at end of file diff --git a/doc/rust_algorithm_club/sorting/fn.selection_sort.html b/doc/rust_algorithm_club/sorting/fn.selection_sort.html index f290b06e..380100e4 100644 --- a/doc/rust_algorithm_club/sorting/fn.selection_sort.html +++ b/doc/rust_algorithm_club/sorting/fn.selection_sort.html @@ -1,11 +1,2 @@ -selection_sort in rust_algorithm_club::sorting - Rust - -
    pub fn selection_sort(arr: &mut [i32])
    Expand description

    Selection sort.

    -
    - \ No newline at end of file +selection_sort in rust_algorithm_club::sorting - Rust
    rust_algorithm_club::sorting

    Function selection_sort

    Source
    pub fn selection_sort(arr: &mut [i32])
    Expand description

    Selection sort.

    +
    \ No newline at end of file diff --git a/doc/rust_algorithm_club/sorting/fn.shellsort.html b/doc/rust_algorithm_club/sorting/fn.shellsort.html index cc7dbf7f..2fb9695e 100644 --- a/doc/rust_algorithm_club/sorting/fn.shellsort.html +++ b/doc/rust_algorithm_club/sorting/fn.shellsort.html @@ -1,11 +1,2 @@ -shellsort in rust_algorithm_club::sorting - Rust - -
    pub fn shellsort(arr: &mut [i32])
    Expand description

    Shellsort

    -
    - \ No newline at end of file +shellsort in rust_algorithm_club::sorting - Rust
    rust_algorithm_club::sorting

    Function shellsort

    Source
    pub fn shellsort(arr: &mut [i32])
    Expand description

    Shellsort

    +
    \ No newline at end of file diff --git a/doc/rust_algorithm_club/sorting/fn.timsort.html b/doc/rust_algorithm_club/sorting/fn.timsort.html index fc6f7382..7de07870 100644 --- a/doc/rust_algorithm_club/sorting/fn.timsort.html +++ b/doc/rust_algorithm_club/sorting/fn.timsort.html @@ -1,11 +1,2 @@ -timsort in rust_algorithm_club::sorting - Rust - -
    pub fn timsort(_arr: &mut [i32])
    Expand description

    Timsort.

    -
    - \ No newline at end of file +timsort in rust_algorithm_club::sorting - Rust
    rust_algorithm_club::sorting

    Function timsort

    Source
    pub fn timsort(_arr: &mut [i32])
    Expand description

    Timsort.

    +
    \ No newline at end of file diff --git a/doc/rust_algorithm_club/sorting/index.html b/doc/rust_algorithm_club/sorting/index.html index 931f6f71..0c479c91 100644 --- a/doc/rust_algorithm_club/sorting/index.html +++ b/doc/rust_algorithm_club/sorting/index.html @@ -1,34 +1,2 @@ -rust_algorithm_club::sorting - Rust - -
    Expand description

    Sorting algorithms.

    -

    Constants

    -

    Marcin Ciura’s gap sequence.

    -

    Functions

    -

    Binary insertion sort.

    -

    Bubble sort

    -

    Optimized bubble sort

    -

    Bucket sort

    -

    Counting sort

    -

    Heapsort.

    -

    Insertion sort.

    -

    Introsort.

    -

    Mergesort.

    -

    Mergesort bottom-up version.

    -

    Pattern-defeating quicksort.

    -

    Quicksort with Lomuto parition scheme.

    -

    Quicksort with 3-way parition scheme.

    -

    Quicksort with Hoare parition scheme

    -

    Manual tail-call opitimized quicksort with Lomuto parition scheme.

    -

    Tail-call opitimized quicksort with Lomuto parition scheme.

    -

    Radix sort for sorting unsigned integers.

    -

    Selection sort.

    -

    Shellsort

    -

    Timsort.

    -
    - \ No newline at end of file +rust_algorithm_club::sorting - Rust
    rust_algorithm_club

    Module sorting

    Source
    Expand description

    Sorting algorithms.

    +

    Constants§

    Functions§

    \ No newline at end of file diff --git a/doc/rust_algorithm_club/sorting/sidebar-items.js b/doc/rust_algorithm_club/sorting/sidebar-items.js index 1f5d7afb..aa9f3f57 100644 --- a/doc/rust_algorithm_club/sorting/sidebar-items.js +++ b/doc/rust_algorithm_club/sorting/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"constant":[["MARCIN_GAPS","Marcin Ciura’s gap sequence."]],"fn":[["binary_insertion_sort","Binary insertion sort."],["bubble_sort","Bubble sort"],["bubble_sort_optimized","Optimized bubble sort"],["bucket_sort","Bucket sort"],["counting_sort","Counting sort"],["heapsort","Heapsort."],["insertion_sort","Insertion sort."],["introsort","Introsort."],["mergesort","Mergesort."],["mergesort_bottom_up","Mergesort bottom-up version."],["pdqsort","Pattern-defeating quicksort."],["quicksort","Quicksort with Lomuto parition scheme."],["quicksort_3way","Quicksort with 3-way parition scheme."],["quicksort_hoare","Quicksort with Hoare parition scheme"],["quicksort_manual_tco","Manual tail-call opitimized quicksort with Lomuto parition scheme."],["quicksort_optimized","Tail-call opitimized quicksort with Lomuto parition scheme."],["radix_sort","Radix sort for sorting unsigned integers."],["selection_sort","Selection sort."],["shellsort","Shellsort"],["timsort","Timsort."]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"constant":["MARCIN_GAPS"],"fn":["binary_insertion_sort","bubble_sort","bubble_sort_optimized","bucket_sort","counting_sort","heapsort","insertion_sort","introsort","mergesort","mergesort_bottom_up","pdqsort","quicksort","quicksort_3way","quicksort_hoare","quicksort_manual_tco","quicksort_optimized","radix_sort","selection_sort","shellsort","timsort"]}; \ No newline at end of file diff --git a/doc/search-index.js b/doc/search-index.js index 8f62fa81..1123ee1c 100644 --- a/doc/search-index.js +++ b/doc/search-index.js @@ -1,4 +1,4 @@ -var searchIndex = JSON.parse('{\ -"rust_algorithm_club":{"doc":"","t":[0,5,5,5,5,0,0,3,3,3,3,3,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,5,5,5,17,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],"n":["collections","hamming_distance","hamming_distance_str","levenshtein_distance","levenshtein_distance_naive","searching","sorting","BloomFilter","Deque","HashMap","HashSet","Queue","SinglyLinkedList","Stack","back","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","bucket_count","clear","clear","contains","contains","default","default","dequeue","difference","drop","drop","enqueue","eq","eq","fmt","fmt","from","from","from","from","from","from","from","from_iter","front","get","get_mut","index","index_mut","insert","insert","insert","insert_after","intersection","into","into","into","into","into","into","into","into_iter","into_iter","into_iter","is_disjoint","is_empty","is_empty","is_empty","is_empty","is_subset","is_superset","iter","iter","iter","iter","iter_mut","iter_mut","iter_mut","len","len","len","len","new","new","new","new","new","new","partial_cmp","peek","peek","pop","pop_back","pop_front","pop_front","push","push_back","push_front","push_front","remove","remove","remove","reverse","size","size","symmetric_difference","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","union","with_capacity","with_capacity","binary_search","exponential_search","interpolation_search","linear_search","MARCIN_GAPS","binary_insertion_sort","bubble_sort","bubble_sort_optimized","bucket_sort","counting_sort","heapsort","insertion_sort","introsort","mergesort","mergesort_bottom_up","pdqsort","quicksort","quicksort_3way","quicksort_hoare","quicksort_manual_tco","quicksort_optimized","radix_sort","selection_sort","shellsort","timsort"],"q":["rust_algorithm_club","","","","","","","rust_algorithm_club::collections","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","rust_algorithm_club::searching","","","","rust_algorithm_club::sorting","","","","","","","","","","","","","","","","","","","",""],"d":["Colletions are general-purpose or specialized data …","Calculate Hamming distance to two unsigned intergers.","Calculate Hamming distance of two UTF-8 encoded strings.","Calculate Levenshtein distance for two UTF-8 encoded …","Naïvely calculate Levenshtein distance using the whole …","Searching algorithms.","Sorting algorithms.","A space efficient probablistic data structures offering an …","A double-ended queue (abbreviated to deque), for which …","A hash map implemented with separate chaining collision …","A hash set implementation based on HashMap.","A queue-like data structure implement through std::vec::Vec…","A singly-linked list with owned nodes.","A stack-like data structure implemented through a Vec.","Peeks the last element of the container. If there are no …","","","","","","","","","","","","","","","Gets the number of underlying buckets.","Removes all elements from the container.","Removes all key-value pairs but keeps the allocated memory …","Returns whether an element is present in the set.","Returns whether an element is present in the container.","","","Removes the oldest added element in queue.","Returns an iterator visiting items that exists in self but …","","","Adds an element into queue.","","Checks the equality of sets.","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Peeks the first element of the container. If there are no …","Gets a reference to the value under the specified key.","Gets a mutable reference to the value under the specified …","","","Inserts key-value pair into the map. Replaces previous …","Inserts an element into the set.","Inserts an element into the container.","Inserts an element after the specified position in the …","Returns an iterator visiting items that exists in both self…","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Creates a consuming iterator, that is, one that moves each …","Creates a consuming iterator yielding elements in …","","Returns true if self has no elements in common with other.","Checks whether the container is empty.","Checks whether the container is empty.","Returns whether there is no any element in the set.","Checks whether the container is empty.","Returns true if other contains at least all elements in …","Returns true if self contains at least all elements in …","Creates an iterator that yields immutable reference of …","Creates an iterator that yields immutable reference of …","Creates an iterator yielding immutable reference of each …","Creates an iterator that yields immutable reference of …","Creates an iterator that yields mutable reference of each …","Creates an iterator that yields mutable reference of each …","Creates an iterator that yields mutable reference of each …","Gets the number of elements in the container.","Gets the number of key-value pairs in the container.","Gets the number of non-repetitive elements, equivalently …","Gets the number of elements in the container.","Constructs a new, empty SinglyLinkedList<T>.","Creates an empty map with capacity 0.","Creates an empty set.","Creates an empty Bloom filter with desired capacity and …","Constructs a new, empty Deque<T>.","Initialize a queue with empty vector","Compares sets to determine whether one is a subset of the …","Peeks the last element added without tampering the …","Retrieves the least recently added element without …","Removes the most recently added element that was not yet …","Removes and returns the last element of the container. If …","Removes and returns the first element of the container. If …","Removes and returns the first element of the container. If …","Adds an element to the collection.","Appends the given element value to the end of the …","Prepends the given element value to the beginning of the …","Prepends the given element value to the beginning of the …","Removes and returns an element at specified position from …","Removes a pair with specified key.","Removes an element from the set.","Reverses the order of the elements in the container.","Returns","Retrieves the size of the queue.","Returns an iterator visiting items that only exists in …","","","","","","","","","","","","","","","","","","","","","","Returns an iterator visiting items that exists in self, in …","Creates a map with a given capacity as the number of …","Initialize a stack of certain capacity.","Handmade binary search for a sorted sequence.","Exponential search. An binary search variant that can …","Search in sorted sequences by checking the next position …","Linear search.","Marcin Ciura’s gap sequence.","Binary insertion sort.","Bubble sort","Optimized bubble sort","Bucket sort","Counting sort","Heapsort.","Insertion sort.","Introsort.","Mergesort.","Mergesort bottom-up version.","Pattern-defeating quicksort.","Quicksort with Lomuto parition scheme.","Quicksort with 3-way parition scheme.","Quicksort with Hoare parition scheme","Manual tail-call opitimized quicksort with Lomuto parition …","Tail-call opitimized quicksort with Lomuto parition scheme.","Radix sort for sorting unsigned integers.","Selection sort.","Shellsort","Timsort."],"i":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,1,7,2,3,4,5,6,1,7,3,2,3,4,6,3,4,7,4,2,1,7,2,4,2,1,2,3,4,5,6,1,7,4,1,3,3,1,1,3,4,6,2,4,2,3,4,5,6,1,7,2,3,1,4,2,3,4,1,4,4,2,3,4,1,2,3,1,2,3,4,1,2,3,4,6,1,7,4,5,7,5,1,2,1,5,1,2,1,2,3,4,2,5,7,4,2,3,4,5,6,1,7,2,3,4,5,6,1,7,2,3,4,5,6,1,7,4,3,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"f":[null,[[["u64",0],["u64",0]],["u32",0]],[[["str",0],["str",0]],["usize",0]],[[["str",0],["str",0]],["usize",0]],[[["str",0],["str",0]],["usize",0]],null,null,null,null,null,null,null,null,null,[[["",0]],["option",4]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["usize",0]],[[["",0]]],[[["",0]]],[[["",0],["",0]],["bool",0]],[[["",0],["",0]],["bool",0]],[[]],[[]],[[["",0]],["option",4]],[[["",0],["hashset",3]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0],["",0]],["bool",0]],[[["",0],["hashset",3]],["bool",0]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["",0]],["option",4]],[[["",0],["",0]],["option",4]],[[["",0],["",0]],["option",4]],[[["",0],["usize",0]]],[[["",0],["usize",0]],["",0]],[[["",0]],["option",4]],[[["",0]],["bool",0]],[[["",0],["",0]]],[[["",0],["usize",0]],["result",4,[["usize",0]]]],[[["",0],["hashset",3]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["",0],["hashset",3]],["bool",0]],[[["",0]],["bool",0]],[[["",0]],["bool",0]],[[["",0]],["bool",0]],[[["",0]],["bool",0]],[[["",0],["hashset",3]],["bool",0]],[[["",0],["hashset",3]],["bool",0]],[[["",0]],["iter",3]],[[["",0]]],[[["",0]]],[[["",0]],["iter",3]],[[["",0]],["itermut",3]],[[["",0]]],[[["",0]],["itermut",3]],[[["",0]],["usize",0]],[[["",0]],["usize",0]],[[["",0]],["usize",0]],[[["",0]],["usize",0]],[[]],[[]],[[]],[[["usize",0],["f64",0]]],[[]],[[]],[[["",0],["hashset",3]],["option",4,[["ordering",4]]]],[[["",0]],["option",4]],[[["",0]],["option",4]],[[["",0]],["option",4]],[[["",0]],["option",4]],[[["",0]],["option",4]],[[["",0]],["option",4]],[[["",0]],["bool",0]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0],["usize",0]],["option",4]],[[["",0],["",0]],["option",4]],[[["",0],["",0]],["bool",0]],[[["",0]]],[[["",0]],["usize",0]],[[["",0]],["usize",0]],[[["",0],["hashset",3]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0],["hashset",3]]],[[["usize",0]]],[[["usize",0]]],[[["",0]],["result",4,[["usize",0],["usize",0]]]],[[["",0]],["result",4,[["usize",0],["usize",0]]]],[[["i32",0]],["result",4,[["usize",0],["usize",0]]]],[[["",0]],["option",4,[["usize",0]]]],null,[[]],[[]],[[]],[[]],[[["usize",0],["usize",0]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]]],"p":[[3,"Deque"],[3,"SinglyLinkedList"],[3,"HashMap"],[3,"HashSet"],[3,"Stack"],[3,"BloomFilter"],[3,"Queue"]]}\ -}'); -if (window.initSearch) {window.initSearch(searchIndex)}; \ No newline at end of file +var searchIndex = new Map(JSON.parse('[["rust_algorithm_club",{"t":"CHHHHCCFFFFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHHHHSHHHHHHHHHHHHHHHHHHHH","n":["collections","hamming_distance","hamming_distance_str","levenshtein_distance","levenshtein_distance_naive","searching","sorting","BloomFilter","Deque","HashMap","HashSet","Queue","SinglyLinkedList","Stack","back","bitand","bitor","bitxor","borrow","","","","","","","borrow_mut","","","","","","","bucket_count","clear","","contains","","default","","dequeue","difference","drop","","enqueue","eq","","fmt","","from","","","","","","","from_iter","front","get","get_mut","index","index_mut","insert","","","insert_after","intersection","into","","","","","","","into_iter","","","","","is_disjoint","is_empty","","","","is_subset","is_superset","iter","","","","iter_mut","","","len","","","","new","","","","","","partial_cmp","peek","","pop","pop_back","pop_front","","push","push_back","push_front","","remove","","","reverse","size","","sub","symmetric_difference","try_from","","","","","","","try_into","","","","","","","type_id","","","","","","","union","with_capacity","","binary_search","exponential_search","interpolation_search","linear_search","MARCIN_GAPS","binary_insertion_sort","bubble_sort","bubble_sort_optimized","bucket_sort","counting_sort","heapsort","insertion_sort","introsort","mergesort","mergesort_bottom_up","pdqsort","quicksort","quicksort_3way","quicksort_hoare","quicksort_manual_tco","quicksort_optimized","radix_sort","selection_sort","shellsort","timsort"],"q":[[0,"rust_algorithm_club"],[7,"rust_algorithm_club::collections"],[145,"rust_algorithm_club::searching"],[149,"rust_algorithm_club::sorting"],[170,"rust_algorithm_club::collections::deque"],[171,"core::option"],[172,"rust_algorithm_club::collections::set"],[173,"core::hash"],[174,"core::cmp"],[175,"core::clone"],[176,"rust_algorithm_club::collections::hash_map"],[177,"rust_algorithm_club::collections::singly_linked_list"],[178,"core::marker"],[179,"core::borrow"],[180,"rust_algorithm_club::collections::bloom_filter"],[181,"rust_algorithm_club::collections::queue"],[182,"core::iter::traits::iterator"],[183,"core::fmt"],[184,"core::iter::traits::collect"],[185,"core::result"],[186,"rust_algorithm_club::collections::stack"],[187,"core::any"],[188,"core::ops::function"],[189,"rust_algorithm_club::hamming_distance"],[190,"rust_algorithm_club::levenshtein_distance"],[191,"rust_algorithm_club::searching::binary_search"],[192,"rust_algorithm_club::searching::exponential_search"],[193,"rust_algorithm_club::searching::interpolation_search"],[194,"rust_algorithm_club::searching::linear_search"],[195,"rust_algorithm_club::sorting::shellsort"],[196,"rust_algorithm_club::sorting::insertion_sort"],[197,"rust_algorithm_club::sorting::bubble_sort"],[198,"rust_algorithm_club::sorting::bucket_sort"],[199,"rust_algorithm_club::sorting::counting_sort"],[200,"rust_algorithm_club::sorting::heapsort"],[201,"rust_algorithm_club::sorting::introsort"],[202,"rust_algorithm_club::sorting::mergesort"],[203,"rust_algorithm_club::sorting::pdqsort"],[204,"rust_algorithm_club::sorting::quicksort"],[205,"rust_algorithm_club::sorting::radix_sort"],[206,"rust_algorithm_club::sorting::selection_sort"],[207,"rust_algorithm_club::sorting::timsort"]],"i":"``````````````lA`00AlAj2D`Bf5Bh435216034351350546045464352160563366351454352160436665435655435643643564351605202646264643542055435216043521604352160532`````````````````````````","f":"`{{bb}d}{{{h{f}}{h{f}}}j}00`````````{{{h{{l{c}}}}}{{n{{h{c}}}}}{}}{{{h{{A`{c}}}}{h{{A`{c}}}}}e{AbAdAf}{}}{{{h{{A`{c}}}}{h{{A`{c}}}}}e{AbAdAf}{}}{{{h{{A`{c}}}}{h{{A`{c}}}}}e{AbAdAf}{}}{h{{h{c}}}{}}000000{{{h{Ah}}}{{h{Ahc}}}{}}000000{{{h{{Aj{ce}}}}}j{AbAd}{}}{{{h{Ah{Al{c}}}}}An{}}{{{h{Ah{Aj{ce}}}}}An{AbAd}{}}{{{h{{A`{e}}}}{h{c}}}B`{AbAdBb}{{Bd{c}}AbAd}}{{{h{{Bf{c}}}}{h{c}}}B`{AbBb}}{{}{{Aj{ce}}}{AbAd}{}}{{}{{A`{c}}}{AbAd}}{{{h{Ah{Bh{c}}}}}{{n{c}}}{}}{{{h{{A`{c}}}}{h{{A`{c}}}}}{{`{{Bl{}{{Bj{{h{c}}}}}}}}}{AbAd}}7{{{h{Ah{l{c}}}}}An{}}{{{h{Ah{Bh{c}}}}c}An{}}{{{h{{Al{c}}}}{h{{Al{c}}}}}B`Bn}{{{h{{A`{c}}}}{h{{A`{c}}}}}B`{AbAd}}{{{h{{Al{c}}}}{h{AhC`}}}CbCd}{{{h{{l{c}}}}{h{AhC`}}}CbCd}{cc{}}000000{e{{A`{c}}}{AbAd}{{Cf{}{{Bj{c}}}}}}{{{h{{l{c}}}}}{{n{{h{c}}}}}{}}{{{h{{Aj{eg}}}}{h{c}}}{{n{{h{g}}}}}{AbAdBb}{{Bd{c}}AbAd}{}}{{{h{Ah{Aj{eg}}}}{h{c}}}{{n{{h{Ahg}}}}}{AbAdBb}{{Bd{c}}AbAd}{}}{{{h{{l{c}}}}j}{{h{e}}}{}{}}{{{h{Ah{l{c}}}}j}{{h{Ahc}}}{}}{{{h{Ah{Aj{ce}}}}ce}{{n{e}}}{AbAd}{}}{{{h{Ah{A`{c}}}}c}B`{AbAd}}{{{h{Ah{Bf{c}}}}{h{c}}}An{AbBb}}{{{h{Ah{Al{c}}}}jc}{{Ch{Anj}}}{}}{{{h{{A`{c}}}}{h{{A`{c}}}}}{{`{{Bl{}{{Bj{{h{c}}}}}}}}}{AbAd}}{{}c{}}000000{{{Al{c}}}e{}{}}{{{Aj{ce}}}{{`{{Bl{}{{Bj{{Cj{ce}}}}}}}}}{AbAd}{}}{{{h{Ah{l{c}}}}}e{}{}}{{{h{{l{c}}}}}e{}{}}{{{l{c}}}e{}{}}{{{h{{A`{c}}}}{h{{A`{c}}}}}B`{AbAd}}{{{h{{Al{c}}}}}B`{}}{{{h{{Aj{ce}}}}}B`{AbAd}{}}{{{h{{A`{c}}}}}B`{AbAd}}{{{h{{l{c}}}}}B`{}}44{{{h{{Al{c}}}}}{{`{c}}}{}}{{{h{{Aj{ce}}}}}{{`{{Bl{}{{Bj{{Cj{{h{c}}{h{e}}}}}}}}}}}{AbAd}{}}{{{h{{A`{c}}}}}{{`{{Bl{}{{Bj{{h{c}}}}}}}}}{AbAd}}{{{h{{l{c}}}}}{{`{c}}}{}}{{{h{Ah{Al{c}}}}}{{`{c}}}{}}{{{h{Ah{Aj{ce}}}}}{{`{{Bl{}{{Bj{{Cj{{h{c}}{h{Ahe}}}}}}}}}}}{AbAd}{}}{{{h{Ah{l{c}}}}}{{`{c}}}{}}{{{h{{Al{c}}}}}j{}}{{{h{{Aj{ce}}}}}j{AbAd}{}}{{{h{{A`{c}}}}}j{AbAd}}{{{h{{l{c}}}}}j{}}{{}{{Al{c}}}{}}{{}{{Aj{ce}}}{AbAd}{}}{{}{{A`{c}}}{AbAd}}{{jCl}{{Bf{c}}}Bb}{{}{{l{c}}}{}}{{}{{Bh{c}}}{}}{{{h{{A`{c}}}}{h{{A`{c}}}}}{{n{Cn}}}{AbAd}}{{{h{{D`{c}}}}}{{n{{h{c}}}}}{}}{{{h{{Bh{c}}}}}{{n{{h{c}}}}}{}}{{{h{Ah{D`{c}}}}}{{n{c}}}{}}{{{h{Ah{l{c}}}}}{{n{c}}}{}}{{{h{Ah{Al{c}}}}}{{n{c}}}{}}1{{{h{Ah{D`{c}}}}c}B`{}}{{{h{Ah{l{c}}}}c}An{}}{{{h{Ah{Al{c}}}}c}An{}}1{{{h{Ah{Al{c}}}}j}{{n{c}}}{}}{{{h{Ah{Aj{eg}}}}{h{c}}}{{n{g}}}{AbAdBb}{{Bd{c}}AbAd}{}}{{{h{Ah{A`{e}}}}{h{c}}}B`{AbAdBb}{{Bd{c}}AbAd}}{{{h{Ah{Al{c}}}}}An{}}{{{h{{D`{c}}}}}j{}}{{{h{{Bh{c}}}}}j{}}{{{h{{A`{c}}}}{h{{A`{c}}}}}e{AbAdAf}{}}{{{h{{A`{c}}}}{h{{A`{c}}}}}{{`{{Bl{}{{Bj{{h{c}}}}}}}}}{AbAd}}{c{{Ch{e}}}{}{}}000000{{}{{Ch{c}}}{}}000000{hDb}0000003{j{{Aj{ce}}}{AbAd}{}}{j{{D`{c}}}{}}{{{h{{Dd{c}}}}{h{c}}}{{Ch{jj}}}Df}0{{{h{{Dd{Dh}}}}{h{Dh}}}{{Ch{jj}}}}{{{h{{Dd{c}}}}{h{c}}}{{n{j}}}Bn}`{{{h{Ah{Dd{Dh}}}}}An}00{{{h{Ah{Dd{c}}}}g}An{DjAf}Dj{{Dn{{h{c}}}{{Dl{e}}}}}}{{{h{Ah{Dd{c}}}}jje}AnAf{{Dn{{h{c}}}{{Dl{j}}}}}}222222222222222","D":"Nl","p":[[1,"u64"],[1,"u32"],[1,"str"],[1,"reference",null,null,1],[1,"usize"],[5,"Deque",7,170],[6,"Option",171,null,1],[5,"HashSet",7,172],[10,"Hash",173],[10,"Eq",174],[10,"Clone",175],[0,"mut"],[5,"HashMap",7,176],[5,"SinglyLinkedList",7,177],[1,"unit"],[1,"bool"],[10,"Sized",178],[10,"Borrow",179],[5,"BloomFilter",7,180],[5,"Queue",7,181],[17,"Item"],[10,"Iterator",182],[10,"PartialEq",174],[5,"Formatter",183],[8,"Result",183],[10,"Debug",183],[10,"IntoIterator",184],[6,"Result",185,null,1],[1,"tuple",null,null,1],[1,"f64"],[6,"Ordering",174],[5,"Stack",7,186],[5,"TypeId",187],[1,"slice"],[10,"PartialOrd",174],[1,"i32"],[10,"Ord",174],[17,"Output"],[10,"Fn",188]],"r":[[1,189],[2,189],[3,190],[4,190],[7,180],[8,170],[9,176],[10,172],[11,181],[12,177],[13,186],[14,170],[15,172],[16,172],[17,172],[18,177],[19,176],[20,172],[21,186],[22,180],[23,170],[24,181],[25,177],[26,176],[27,172],[28,186],[29,180],[30,170],[31,181],[32,176],[33,177],[34,176],[35,172],[36,180],[37,176],[38,172],[39,181],[40,172],[41,177],[42,170],[43,181],[44,177],[45,172],[46,177],[47,170],[48,177],[49,176],[50,172],[51,186],[52,180],[53,170],[54,181],[55,172],[56,170],[57,176],[58,176],[59,170],[60,170],[61,176],[62,172],[63,180],[64,177],[65,172],[66,177],[67,176],[68,172],[69,186],[70,180],[71,170],[72,181],[73,177],[74,176],[75,170],[76,170],[77,170],[78,172],[79,177],[80,176],[81,172],[82,170],[83,172],[84,172],[85,177],[86,176],[87,172],[88,170],[89,177],[90,176],[91,170],[92,177],[93,176],[94,172],[95,170],[96,177],[97,176],[98,172],[99,180],[100,170],[101,181],[102,172],[103,186],[104,181],[105,186],[106,170],[107,177],[108,170],[109,186],[110,170],[111,177],[112,170],[113,177],[114,176],[115,172],[116,177],[117,186],[118,181],[119,172],[120,172],[121,177],[122,176],[123,172],[124,186],[125,180],[126,170],[127,181],[128,177],[129,176],[130,172],[131,186],[132,180],[133,170],[134,181],[135,177],[136,176],[137,172],[138,186],[139,180],[140,170],[141,181],[142,172],[143,176],[144,186],[145,191],[146,192],[147,193],[148,194],[149,195],[150,196],[151,197],[152,197],[153,198],[154,199],[155,200],[156,196],[157,201],[158,202],[159,202],[160,203],[161,204],[162,204],[163,204],[164,204],[165,204],[166,205],[167,206],[168,195],[169,207]],"b":[[75,"impl-IntoIterator-for-%26mut+Deque%3CT%3E"],[76,"impl-IntoIterator-for-%26Deque%3CT%3E"],[77,"impl-IntoIterator-for-Deque%3CT%3E"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAADQACwAAAAAAEAAQACYAAQAqAAEALQAAAC8AAQA4AAAAPAABAEwAAgB4AAAAegAUAA==","P":[[14,"T"],[15,"T,BitAnd::Output"],[16,"T,BitOr::Output"],[17,"T,BitXor::Output"],[18,"T"],[32,"K,V"],[33,"T"],[34,"K,V"],[35,"Q,T"],[36,"T"],[37,"K,V"],[38,"T"],[55,"T,I"],[56,"T"],[57,"Q,K,V"],[59,"T,Index::Output"],[60,"T"],[61,"K,V"],[62,"T"],[66,"U"],[73,"T,IntoIterator::IntoIter"],[74,"K,V"],[75,"T,IntoIterator::IntoIter"],[78,"T"],[80,"K,V"],[81,"T"],[86,"K,V"],[87,"T"],[90,"K,V"],[91,"T"],[93,"K,V"],[94,"T"],[97,"K,V"],[98,"T"],[114,"Q,K,V"],[115,"Q,T"],[116,"T"],[119,"T,Sub::Output"],[120,"T"],[121,"U,T"],[128,"U"],[135,""],[142,"T"],[143,"K,V"],[144,"T"],[147,""],[148,"T"],[150,""],[153,"T,H,F"],[154,"T,F"],[155,""]]}]]')); +if (typeof exports !== 'undefined') exports.searchIndex = searchIndex; +else if (window.initSearch) window.initSearch(searchIndex); +//{"start":39,"fragment_lengths":[9420]} \ No newline at end of file diff --git a/doc/search.desc/rust_algorithm_club/rust_algorithm_club-desc-0-.js b/doc/search.desc/rust_algorithm_club/rust_algorithm_club-desc-0-.js new file mode 100644 index 00000000..27a18f42 --- /dev/null +++ b/doc/search.desc/rust_algorithm_club/rust_algorithm_club-desc-0-.js @@ -0,0 +1 @@ +searchState.loadedDescShard("rust_algorithm_club", 0, "Colletions are general-purpose or specialized data …\nCalculate Hamming distance to two unsigned intergers.\nCalculate Hamming distance of two UTF-8 encoded strings.\nCalculate Levenshtein distance for two UTF-8 encoded …\nNaïvely calculate Levenshtein distance using the whole …\nSearching algorithms.\nSorting algorithms.\nA space efficient probablistic data structures offering an …\nA double-ended queue (abbreviated to deque), for which …\nA hash map implemented with separate chaining collision …\nA hash set implementation based on HashMap.\nA queue-like data structure implement through std::vec::Vec…\nA singly-linked list with owned nodes.\nA stack-like data structure implemented through a Vec.\nPeeks the last element of the container. If there are no …\nGets the number of underlying buckets.\nRemoves all elements from the container.\nRemoves all key-value pairs but keeps the allocated memory …\nReturns whether an element is present in the set.\nReturns whether an element is present in the container.\nRemoves the oldest added element in queue.\nReturns an iterator visiting items that exists in self but …\nAdds an element into queue.\nChecks the equality of sets.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nPeeks the first element of the container. If there are no …\nGets a reference to the value under the specified key.\nGets a mutable reference to the value under the specified …\nInserts key-value pair into the map. Replaces previous …\nInserts an element into the set.\nInserts an element into the container.\nInserts an element after the specified position in the …\nReturns an iterator visiting items that exists in both self…\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCreates a consuming iterator, that is, one that moves each …\nCreates a consuming iterator yielding elements in …\nReturns true if self has no elements in common with other.\nChecks whether the container is empty.\nChecks whether the container is empty.\nReturns whether there is no any element in the set.\nChecks whether the container is empty.\nReturns true if other contains at least all elements in …\nReturns true if self contains at least all elements in …\nCreates an iterator that yields immutable reference of …\nCreates an iterator that yields immutable reference of …\nCreates an iterator yielding immutable reference of each …\nCreates an iterator that yields immutable reference of …\nCreates an iterator that yields mutable reference of each …\nCreates an iterator that yields mutable reference of each …\nCreates an iterator that yields mutable reference of each …\nGets the number of elements in the container.\nGets the number of key-value pairs in the container.\nGets the number of non-repetitive elements, equivalently …\nGets the number of elements in the container.\nConstructs a new, empty SinglyLinkedList<T>.\nCreates an empty map with capacity 0.\nCreates an empty set.\nCreates an empty Bloom filter with desired capacity and …\nConstructs a new, empty Deque<T>.\nInitialize a queue with empty vector\nCompares sets to determine whether one is a subset of the …\nPeeks the last element added without tampering the …\nRetrieves the least recently added element without …\nRemoves the most recently added element that was not yet …\nRemoves and returns the last element of the container. If …\nRemoves and returns the first element of the container. If …\nRemoves and returns the first element of the container. If …\nAdds an element to the collection.\nAppends the given element value to the end of the …\nPrepends the given element value to the beginning of the …\nPrepends the given element value to the beginning of the …\nRemoves and returns an element at specified position from …\nRemoves a pair with specified key.\nRemoves an element from the set.\nReverses the order of the elements in the container.\nReturns\nRetrieves the size of the queue.\nReturns an iterator visiting items that only exists in …\nReturns an iterator visiting items that exists in self, in …\nCreates a map with a given capacity as the number of …\nInitialize a stack of certain capacity.\nHandmade binary search for a sorted sequence.\nExponential search. An binary search variant that can …\nSearch in sorted sequences by checking the next position …\nLinear search.\nMarcin Ciura’s gap sequence.\nBinary insertion sort.\nBubble sort\nOptimized bubble sort\nBucket sort\nCounting sort\nHeapsort.\nInsertion sort.\nIntrosort.\nMergesort.\nMergesort bottom-up version.\nPattern-defeating quicksort.\nQuicksort with Lomuto parition scheme.\nQuicksort with 3-way parition scheme.\nQuicksort with Hoare parition scheme\nManual tail-call opitimized quicksort with Lomuto parition …\nTail-call opitimized quicksort with Lomuto parition scheme.\nRadix sort for sorting unsigned integers.\nSelection sort.\nShellsort\nTimsort.") \ No newline at end of file diff --git a/doc/settings.html b/doc/settings.html index d6936aa0..df326aed 100644 --- a/doc/settings.html +++ b/doc/settings.html @@ -1,19 +1 @@ -Rustdoc settings - -
    -

    Rustdoc settings

    Back
    Use system theme
    Theme
    Preferred light theme
    Preferred dark theme
    Auto-hide item contents for large items.
    Auto-hide item methods' documentation
    Auto-hide trait implementation documentation
    Directly go to item in search if there is only one result
    Show line numbers on code examples
    Disable keyboard shortcuts
    - \ No newline at end of file +Settings

    Rustdoc settings

    Back
    \ No newline at end of file diff --git a/doc/src-files.js b/doc/src-files.js new file mode 100644 index 00000000..281d5d24 --- /dev/null +++ b/doc/src-files.js @@ -0,0 +1,3 @@ +var srcIndex = new Map(JSON.parse('[["rust_algorithm_club",["",[["collections",[["bloom_filter",[],["mod.rs"]],["deque",[],["mod.rs"]],["hash_map",[],["mod.rs"]],["queue",[],["mod.rs"]],["set",[],["mod.rs"]],["singly_linked_list",[],["mod.rs"]],["stack",[],["mod.rs"]]],["mod.rs"]],["hamming_distance",[],["mod.rs"]],["levenshtein_distance",[],["mod.rs"]],["searching",[["binary_search",[],["mod.rs"]],["exponential_search",[],["mod.rs"]],["interpolation_search",[],["mod.rs"]],["linear_search",[],["mod.rs"]]],["mod.rs"]],["sorting",[["bubble_sort",[],["mod.rs"]],["bucket_sort",[],["mod.rs"]],["counting_sort",[],["mod.rs"]],["heapsort",[],["mod.rs"]],["insertion_sort",[],["mod.rs"]],["introsort",[],["mod.rs"]],["mergesort",[],["mod.rs"]],["pdqsort",[],["mod.rs"]],["quicksort",[],["mod.rs"]],["radix_sort",[],["mod.rs"]],["selection_sort",[],["mod.rs"]],["shellsort",[],["mod.rs"]],["timsort",[],["mod.rs"]]],["mod.rs"]]],["lib.rs"]]]]')); +createSrcSidebar(); +//{"start":36,"fragment_lengths":[903]} \ No newline at end of file diff --git a/doc/src/rust_algorithm_club/collections/bloom_filter/mod.rs.html b/doc/src/rust_algorithm_club/collections/bloom_filter/mod.rs.html index 11d70806..fd1c6b7f 100644 --- a/doc/src/rust_algorithm_club/collections/bloom_filter/mod.rs.html +++ b/doc/src/rust_algorithm_club/collections/bloom_filter/mod.rs.html @@ -1,482 +1,473 @@ -mod.rs - source - -
      1
    -  2
    -  3
    -  4
    -  5
    -  6
    -  7
    -  8
    -  9
    - 10
    - 11
    - 12
    - 13
    - 14
    - 15
    - 16
    - 17
    - 18
    - 19
    - 20
    - 21
    - 22
    - 23
    - 24
    - 25
    - 26
    - 27
    - 28
    - 29
    - 30
    - 31
    - 32
    - 33
    - 34
    - 35
    - 36
    - 37
    - 38
    - 39
    - 40
    - 41
    - 42
    - 43
    - 44
    - 45
    - 46
    - 47
    - 48
    - 49
    - 50
    - 51
    - 52
    - 53
    - 54
    - 55
    - 56
    - 57
    - 58
    - 59
    - 60
    - 61
    - 62
    - 63
    - 64
    - 65
    - 66
    - 67
    - 68
    - 69
    - 70
    - 71
    - 72
    - 73
    - 74
    - 75
    - 76
    - 77
    - 78
    - 79
    - 80
    - 81
    - 82
    - 83
    - 84
    - 85
    - 86
    - 87
    - 88
    - 89
    - 90
    - 91
    - 92
    - 93
    - 94
    - 95
    - 96
    - 97
    - 98
    - 99
    -100
    -101
    -102
    -103
    -104
    -105
    -106
    -107
    -108
    -109
    -110
    -111
    -112
    -113
    -114
    -115
    -116
    -117
    -118
    -119
    -120
    -121
    -122
    -123
    -124
    -125
    -126
    -127
    -128
    -129
    -130
    -131
    -132
    -133
    -134
    -135
    -136
    -137
    -138
    -139
    -140
    -141
    -142
    -143
    -144
    -145
    -146
    -147
    -148
    -149
    -150
    -151
    -152
    -153
    -154
    -155
    -156
    -157
    -158
    -159
    -160
    -161
    -162
    -163
    -164
    -165
    -166
    -167
    -168
    -169
    -170
    -171
    -172
    -173
    -174
    -175
    -176
    -177
    -178
    -179
    -180
    -181
    -182
    -183
    -184
    -185
    -186
    -187
    -188
    -189
    -190
    -191
    -192
    -193
    -194
    -195
    -196
    -197
    -198
    -199
    -200
    -201
    -202
    -203
    -204
    -205
    -206
    -207
    -208
    -209
    -210
    -211
    -212
    -213
    -214
    -215
    -216
    -217
    -218
    -219
    -220
    -221
    -222
    -223
    -224
    -225
    -226
    -227
    -228
    -229
    -230
    -231
    -232
    -233
    -234
    -235
    -236
    -
    use std::collections::hash_map::{DefaultHasher, RandomState};
    -use std::hash::{BuildHasher, Hash, Hasher};
    -use std::marker::PhantomData;
    +mod.rs - source

    rust_algorithm_club/collections/bloom_filter/
    mod.rs

    +1
    +2
    +3
    +4
    +5
    +6
    +7
    +8
    +9
    +10
    +11
    +12
    +13
    +14
    +15
    +16
    +17
    +18
    +19
    +20
    +21
    +22
    +23
    +24
    +25
    +26
    +27
    +28
    +29
    +30
    +31
    +32
    +33
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
    +67
    +68
    +69
    +70
    +71
    +72
    +73
    +74
    +75
    +76
    +77
    +78
    +79
    +80
    +81
    +82
    +83
    +84
    +85
    +86
    +87
    +88
    +89
    +90
    +91
    +92
    +93
    +94
    +95
    +96
    +97
    +98
    +99
    +100
    +101
    +102
    +103
    +104
    +105
    +106
    +107
    +108
    +109
    +110
    +111
    +112
    +113
    +114
    +115
    +116
    +117
    +118
    +119
    +120
    +121
    +122
    +123
    +124
    +125
    +126
    +127
    +128
    +129
    +130
    +131
    +132
    +133
    +134
    +135
    +136
    +137
    +138
    +139
    +140
    +141
    +142
    +143
    +144
    +145
    +146
    +147
    +148
    +149
    +150
    +151
    +152
    +153
    +154
    +155
    +156
    +157
    +158
    +159
    +160
    +161
    +162
    +163
    +164
    +165
    +166
    +167
    +168
    +169
    +170
    +171
    +172
    +173
    +174
    +175
    +176
    +177
    +178
    +179
    +180
    +181
    +182
    +183
    +184
    +185
    +186
    +187
    +188
    +189
    +190
    +191
    +192
    +193
    +194
    +195
    +196
    +197
    +198
    +199
    +200
    +201
    +202
    +203
    +204
    +205
    +206
    +207
    +208
    +209
    +210
    +211
    +212
    +213
    +214
    +215
    +216
    +217
    +218
    +219
    +220
    +221
    +222
    +223
    +224
    +225
    +226
    +227
    +228
    +229
    +230
    +231
    +232
    +233
    +234
    +235
    +236
    use std::collections::hash_map::{DefaultHasher, RandomState};
    +use std::hash::{BuildHasher, Hash, Hasher};
    +use std::marker::PhantomData;
     
    -/// A space efficient probablistic data structures offering an approximate
    -/// containment test with only false positive error.
    -///
    -/// The false positive error probability _ε_ of a Bloom filter is defined as
    -/// the probability that a Bloom filter claims an element is contained in it
    -/// but actually not.
    -///
    -/// The count of hash functions denoted by _k_ indicates thant _k_ different
    -/// hash functions that map _k_ position on the bit array. Typically _k_ is a
    -/// small constant depends on error probability _ε_.
    -///
    -/// The underlying container is a bit array of _m_ bits, where the optimal _m_
    -/// is proportional to count of hash functions _k_.
    -///
    -/// Cheat sheet:
    -///
    -/// - _m_: total bits (memory usage)
    -/// - _n_: expected number of input elements (cardinality)
    -/// - _k_: number of hash functions counted for each input
    -/// - _ε_: expected false positive error probability
    -///
    -/// References:
    -///
    -/// - [Google Guava: BloomFilter][1]
    -/// - [Onat: Let's implement a Bloom Filter][2]
    -///
    -/// [1]: https://github.com/google/guava/blob/v29.0/guava/src/com/google/common/hash/BloomFilter.java
    -/// [2]: https://onatm.dev/2020/08/10/let-s-implement-a-bloom-filter/
    -pub struct BloomFilter<T: ?Sized> {
    -    /// The bit array of _m_ bits that stores existence information of elements.
    -    bits: Vec<bool>,
    -    /// Count of hash functions. Denoted by _k_.
    -    hash_fn_count: usize,
    -    /// The hashers that do real works. See [Less Hashing, Same Performance:Building a Better Bloom Filter][1]
    -    /// to figure out why two-hashers strategy would not significantly deteriorate
    -    /// the performance of a Bloom filter.
    -    ///
    -    /// [1]: https://www.eecs.harvard.edu/~michaelm/postscripts/rsa2008.pdf
    -    hashers: [DefaultHasher; 2],
    -    _phantom: PhantomData<T>,
    +/// A space efficient probablistic data structures offering an approximate
    +/// containment test with only false positive error.
    +///
    +/// The false positive error probability _ε_ of a Bloom filter is defined as
    +/// the probability that a Bloom filter claims an element is contained in it
    +/// but actually not.
    +///
    +/// The count of hash functions denoted by _k_ indicates thant _k_ different
    +/// hash functions that map _k_ position on the bit array. Typically _k_ is a
    +/// small constant depends on error probability _ε_.
    +///
    +/// The underlying container is a bit array of _m_ bits, where the optimal _m_
    +/// is proportional to count of hash functions _k_.
    +///
    +/// Cheat sheet:
    +///
    +/// - _m_: total bits (memory usage)
    +/// - _n_: expected number of input elements (cardinality)
    +/// - _k_: number of hash functions counted for each input
    +/// - _ε_: expected false positive error probability
    +///
    +/// References:
    +///
    +/// - [Google Guava: BloomFilter][1]
    +/// - [Onat: Let's implement a Bloom Filter][2]
    +///
    +/// [1]: https://github.com/google/guava/blob/v29.0/guava/src/com/google/common/hash/BloomFilter.java
    +/// [2]: https://onatm.dev/2020/08/10/let-s-implement-a-bloom-filter/
    +pub struct BloomFilter<T: ?Sized> {
    +    /// The bit array of _m_ bits that stores existence information of elements.
    +    bits: Vec<bool>,
    +    /// Count of hash functions. Denoted by _k_.
    +    hash_fn_count: usize,
    +    /// The hashers that do real works. See [Less Hashing, Same Performance:Building a Better Bloom Filter][1]
    +    /// to figure out why two-hashers strategy would not significantly deteriorate
    +    /// the performance of a Bloom filter.
    +    ///
    +    /// [1]: https://www.eecs.harvard.edu/~michaelm/postscripts/rsa2008.pdf
    +    hashers: [DefaultHasher; 2],
    +    _phantom: PhantomData<T>,
     }
     
    -impl<T: ?Sized> BloomFilter<T> {
    -    /// Creates an empty Bloom filter with desired capacity and error rate.
    -    ///
    -    /// This constructor would give an optimal size for bit array based on
    -    /// provided `capacity` and `err_rate`.
    -    ///
    -    /// # Parameters
    -    ///
    -    /// * `capacity` - Expected size of elements will put in.
    -    /// * `err_rate` - False positive error probability.
    -    pub fn new(capacity: usize, err_rate: f64) -> Self {
    -        let bits_count = Self::optimal_bits_count(capacity, err_rate);
    -        let hash_fn_count = Self::optimal_hashers_count(err_rate);
    -        let hashers = [
    -            RandomState::new().build_hasher(),
    -            RandomState::new().build_hasher(),
    +impl<T: ?Sized> BloomFilter<T> {
    +    /// Creates an empty Bloom filter with desired capacity and error rate.
    +    ///
    +    /// This constructor would give an optimal size for bit array based on
    +    /// provided `capacity` and `err_rate`.
    +    ///
    +    /// # Parameters
    +    ///
    +    /// * `capacity` - Expected size of elements will put in.
    +    /// * `err_rate` - False positive error probability.
    +    pub fn new(capacity: usize, err_rate: f64) -> Self {
    +        let bits_count = Self::optimal_bits_count(capacity, err_rate);
    +        let hash_fn_count = Self::optimal_hashers_count(err_rate);
    +        let hashers = [
    +            RandomState::new().build_hasher(),
    +            RandomState::new().build_hasher(),
             ];
     
    -        Self {
    -            bits: vec![false; bits_count],
    -            hash_fn_count,
    -            hashers,
    -            _phantom: PhantomData,
    +        Self {
    +            bits: vec![false; bits_count],
    +            hash_fn_count,
    +            hashers,
    +            _phantom: PhantomData,
             }
         }
     
    -    /// Inserts an element into the container.
    -    ///
    -    /// This function simulates multiple hashers with only two hashers using
    -    /// the following formula:
    -    ///
    -    /// > g_i(x) = h1(x) + i * h2(x)
    -    ///
    -    /// # Parameters
    -    ///
    -    /// * `elem` - Element to be inserted.
    -    ///
    -    /// # Complexity
    -    ///
    -    /// Linear in the size of `hash_fn_count` _k_.
    -    pub fn insert(&mut self, elem: &T)
    -    where
    -        T: Hash,
    +    /// Inserts an element into the container.
    +    ///
    +    /// This function simulates multiple hashers with only two hashers using
    +    /// the following formula:
    +    ///
    +    /// > g_i(x) = h1(x) + i * h2(x)
    +    ///
    +    /// # Parameters
    +    ///
    +    /// * `elem` - Element to be inserted.
    +    ///
    +    /// # Complexity
    +    ///
    +    /// Linear in the size of `hash_fn_count` _k_.
    +    pub fn insert(&mut self, elem: &T)
    +    where
    +        T: Hash,
         {
    -        // g_i(x) = h1(x) + i * h2(x)
    -        let hashes = self.make_hash(elem);
    -        for fn_i in 0..self.hash_fn_count {
    -            let index = self.get_index(hashes, fn_i as u64);
    -            self.bits[index] = true;
    +        // g_i(x) = h1(x) + i * h2(x)
    +        let hashes = self.make_hash(elem);
    +        for fn_i in 0..self.hash_fn_count {
    +            let index = self.get_index(hashes, fn_i as u64);
    +            self.bits[index] = true;
             }
         }
     
    -    /// Returns whether an element is present in the container.
    -    ///
    -    /// # Parameters
    -    ///
    -    /// * `elem` - Element to be checked whether is in the container.
    -    ///
    -    /// # Complexity
    -    ///
    -    /// Linear in the size of `hash_fn_count` _k_.
    -    pub fn contains(&self, elem: &T) -> bool
    -    where
    -        T: Hash,
    +    /// Returns whether an element is present in the container.
    +    ///
    +    /// # Parameters
    +    ///
    +    /// * `elem` - Element to be checked whether is in the container.
    +    ///
    +    /// # Complexity
    +    ///
    +    /// Linear in the size of `hash_fn_count` _k_.
    +    pub fn contains(&self, elem: &T) -> bool
    +    where
    +        T: Hash,
         {
    -        let hashes = self.make_hash(elem);
    -        (0..self.hash_fn_count).all(|fn_i| {
    -            let index = self.get_index(hashes, fn_i as u64);
    -            self.bits[index]
    +        let hashes = self.make_hash(elem);
    +        (0..self.hash_fn_count).all(|fn_i| {
    +            let index = self.get_index(hashes, fn_i as u64);
    +            self.bits[index]
             })
         }
     
    -    /// Gets index of the bit array for a single hash iteration.
    -    ///
    -    /// As a part of multiple hashers simulation for this formula:
    -    ///
    -    /// > g_i(x) = h1(x) + i * h2(x)
    -    ///
    -    /// This function calculate the right hand side of the formula.
    -    ///
    -    /// Note that the usage fo `wrapping_` is acceptable here for a hash
    -    /// algorithm to get a valid slot.
    -    fn get_index(&self, (h1, h2): (u64, u64), fn_i: u64) -> usize {
    -        (h1.wrapping_add(fn_i.wrapping_mul(h2)) % self.bits.len() as u64) as usize
    +    /// Gets index of the bit array for a single hash iteration.
    +    ///
    +    /// As a part of multiple hashers simulation for this formula:
    +    ///
    +    /// > g_i(x) = h1(x) + i * h2(x)
    +    ///
    +    /// This function calculate the right hand side of the formula.
    +    ///
    +    /// Note that the usage fo `wrapping_` is acceptable here for a hash
    +    /// algorithm to get a valid slot.
    +    fn get_index(&self, (h1, h2): (u64, u64), fn_i: u64) -> usize {
    +        (h1.wrapping_add(fn_i.wrapping_mul(h2)) % self.bits.len() as u64) as usize
         }
     
    -    /// Hashes the element.
    -    ///
    -    /// As a part of multiple hashers simulation for this formula:
    -    ///
    -    /// > g_i(x) = h1(x) + i * h2(x)
    -    ///
    -    /// This function do the actual `hash` work with two independant hashers,
    -    /// returing both h1(x) and h2(x) within a tuple.
    -    fn make_hash(&self, elem: &T) -> (u64, u64)
    -    where
    -        T: Hash,
    +    /// Hashes the element.
    +    ///
    +    /// As a part of multiple hashers simulation for this formula:
    +    ///
    +    /// > g_i(x) = h1(x) + i * h2(x)
    +    ///
    +    /// This function do the actual `hash` work with two independant hashers,
    +    /// returing both h1(x) and h2(x) within a tuple.
    +    fn make_hash(&self, elem: &T) -> (u64, u64)
    +    where
    +        T: Hash,
         {
    -        let hasher1 = &mut self.hashers[0].clone();
    -        let hasher2 = &mut self.hashers[1].clone();
    +        let hasher1 = &mut self.hashers[0].clone();
    +        let hasher2 = &mut self.hashers[1].clone();
     
    -        elem.hash(hasher1);
    -        elem.hash(hasher2);
    +        elem.hash(hasher1);
    +        elem.hash(hasher2);
     
    -        (hasher1.finish(), hasher2.finish())
    +        (hasher1.finish(), hasher2.finish())
         }
     
    -    /// m = -1 * (n * ln ε) / (ln 2)^2
    -    ///
    -    /// See [Wikipedia: Bloom filter][1].
    -    ///
    -    /// [1]: https://en.wikipedia.org/wiki/Bloom_filter#Optimal_number_of_hash_functions
    -    fn optimal_bits_count(capacity: usize, err_rate: f64) -> usize {
    -        let ln_2_2 = std::f64::consts::LN_2.powf(2f64);
    -        (-1f64 * capacity as f64 * err_rate.ln() / ln_2_2).ceil() as usize
    +    /// m = -1 * (n * ln ε) / (ln 2)^2
    +    ///
    +    /// See [Wikipedia: Bloom filter][1].
    +    ///
    +    /// [1]: https://en.wikipedia.org/wiki/Bloom_filter#Optimal_number_of_hash_functions
    +    fn optimal_bits_count(capacity: usize, err_rate: f64) -> usize {
    +        let ln_2_2 = std::f64::consts::LN_2.powf(2f64);
    +        (-1f64 * capacity as f64 * err_rate.ln() / ln_2_2).ceil() as usize
         }
     
    -    /// k = -log_2 ε
    -    ///
    -    /// See [Wikipedia: Bloom filter][1].
    -    ///
    -    /// [1]: https://en.wikipedia.org/wiki/Bloom_filter#Optimal_number_of_hash_functions
    -    fn optimal_hashers_count(err_rate: f64) -> usize {
    -        (-1f64 * err_rate.log2()).ceil() as usize
    +    /// k = -log_2 ε
    +    ///
    +    /// See [Wikipedia: Bloom filter][1].
    +    ///
    +    /// [1]: https://en.wikipedia.org/wiki/Bloom_filter#Optimal_number_of_hash_functions
    +    fn optimal_hashers_count(err_rate: f64) -> usize {
    +        (-1f64 * err_rate.log2()).ceil() as usize
         }
     }
     
    -#[cfg(test)]
    -mod classic {
    -    use super::BloomFilter;
    +#[cfg(test)]
    +mod classic {
    +    use super::BloomFilter;
     
    -    #[test]
    -    fn insert() {
    -        let mut bf = BloomFilter::new(100, 0.01);
    -        (0..20).for_each(|i| bf.insert(&i));
    -        (0..20).for_each(|i| assert!(bf.contains(&i)));
    +    #[test]
    +    fn insert() {
    +        let mut bf = BloomFilter::new(100, 0.01);
    +        (0..20).for_each(|i| bf.insert(&i));
    +        (0..20).for_each(|i| assert!(bf.contains(&i)));
         }
     
    -    #[test]
    -    fn contains() {
    -        let mut bf = BloomFilter::new(100, 0.1);
    -        assert!(!bf.contains("1"));
    -        bf.insert("1");
    -        assert!(bf.contains("1"));
    +    #[test]
    +    fn contains() {
    +        let mut bf = BloomFilter::new(100, 0.1);
    +        assert!(!bf.contains("1"));
    +        bf.insert("1");
    +        assert!(bf.contains("1"));
         }
     
    -    #[test]
    -    fn err_rate_100() {
    -        let bf = BloomFilter::new(100, 1.0);
    -        // Test correctness of optimal formula.
    -        assert_eq!(bf.bits.len(), 0);
    -        // Always positive
    -        assert!(bf.contains("1"));
    -        assert!(bf.contains("2"));
    -        assert!(bf.contains("3"));
    +    #[test]
    +    fn err_rate_100() {
    +        let bf = BloomFilter::new(100, 1.0);
    +        // Test correctness of optimal formula.
    +        assert_eq!(bf.bits.len(), 0);
    +        // Always positive
    +        assert!(bf.contains("1"));
    +        assert!(bf.contains("2"));
    +        assert!(bf.contains("3"));
         }
     
    -    #[test]
    -    fn get_one_slots_bf() {
    -        let mut bf = BloomFilter::new(1, 0.8);
    -        // Test correctness of optimal formula.
    -        assert_eq!(bf.bits.len(), 1);
    -        assert!(!bf.contains("1"));
    -        bf.insert("1");
    -        // Now all slots are occupied.
    -        assert!(bf.contains("2"));
    -        assert!(bf.contains("3"));
    +    #[test]
    +    fn get_one_slots_bf() {
    +        let mut bf = BloomFilter::new(1, 0.8);
    +        // Test correctness of optimal formula.
    +        assert_eq!(bf.bits.len(), 1);
    +        assert!(!bf.contains("1"));
    +        bf.insert("1");
    +        // Now all slots are occupied.
    +        assert!(bf.contains("2"));
    +        assert!(bf.contains("3"));
         }
     
    -    #[test]
    -    fn is_a_generics_container() {
    -        let mut bf = BloomFilter::new(100, 0.1);
    -        bf.insert("1");
    -        assert!(bf.contains("1"));
    -        let mut bf = BloomFilter::new(100, 0.1);
    -        bf.insert(&1);
    -        assert!(bf.contains(&1));
    -        let mut bf = BloomFilter::new(100, 0.1);
    -        bf.insert(&'1');
    -        assert!(bf.contains(&'1'));
    +    #[test]
    +    fn is_a_generics_container() {
    +        let mut bf = BloomFilter::new(100, 0.1);
    +        bf.insert("1");
    +        assert!(bf.contains("1"));
    +        let mut bf = BloomFilter::new(100, 0.1);
    +        bf.insert(&1);
    +        assert!(bf.contains(&1));
    +        let mut bf = BloomFilter::new(100, 0.1);
    +        bf.insert(&'1');
    +        assert!(bf.contains(&'1'));
     
    -        #[derive(Hash)]
    -        struct S;
    -        let mut bf = BloomFilter::new(100, 0.1);
    -        let s = S;
    -        assert!(!bf.contains(&s));
    -        bf.insert(&s);
    -        assert!(bf.contains(&s));
    +        #[derive(Hash)]
    +        struct S;
    +        let mut bf = BloomFilter::new(100, 0.1);
    +        let s = S;
    +        assert!(!bf.contains(&s));
    +        bf.insert(&s);
    +        assert!(bf.contains(&s));
         }
     }
    -
    -
    - \ No newline at end of file +
    \ No newline at end of file diff --git a/doc/src/rust_algorithm_club/collections/deque/mod.rs.html b/doc/src/rust_algorithm_club/collections/deque/mod.rs.html index 3f7893c1..2cdf55bd 100644 --- a/doc/src/rust_algorithm_club/collections/deque/mod.rs.html +++ b/doc/src/rust_algorithm_club/collections/deque/mod.rs.html @@ -1,1578 +1,1569 @@ -mod.rs - source - -
      1
    -  2
    -  3
    -  4
    -  5
    -  6
    -  7
    -  8
    -  9
    - 10
    - 11
    - 12
    - 13
    - 14
    - 15
    - 16
    - 17
    - 18
    - 19
    - 20
    - 21
    - 22
    - 23
    - 24
    - 25
    - 26
    - 27
    - 28
    - 29
    - 30
    - 31
    - 32
    - 33
    - 34
    - 35
    - 36
    - 37
    - 38
    - 39
    - 40
    - 41
    - 42
    - 43
    - 44
    - 45
    - 46
    - 47
    - 48
    - 49
    - 50
    - 51
    - 52
    - 53
    - 54
    - 55
    - 56
    - 57
    - 58
    - 59
    - 60
    - 61
    - 62
    - 63
    - 64
    - 65
    - 66
    - 67
    - 68
    - 69
    - 70
    - 71
    - 72
    - 73
    - 74
    - 75
    - 76
    - 77
    - 78
    - 79
    - 80
    - 81
    - 82
    - 83
    - 84
    - 85
    - 86
    - 87
    - 88
    - 89
    - 90
    - 91
    - 92
    - 93
    - 94
    - 95
    - 96
    - 97
    - 98
    - 99
    -100
    -101
    -102
    -103
    -104
    -105
    -106
    -107
    -108
    -109
    -110
    -111
    -112
    -113
    -114
    -115
    -116
    -117
    -118
    -119
    -120
    -121
    -122
    -123
    -124
    -125
    -126
    -127
    -128
    -129
    -130
    -131
    -132
    -133
    -134
    -135
    -136
    -137
    -138
    -139
    -140
    -141
    -142
    -143
    -144
    -145
    -146
    -147
    -148
    -149
    -150
    -151
    -152
    -153
    -154
    -155
    -156
    -157
    -158
    -159
    -160
    -161
    -162
    -163
    -164
    -165
    -166
    -167
    -168
    -169
    -170
    -171
    -172
    -173
    -174
    -175
    -176
    -177
    -178
    -179
    -180
    -181
    -182
    -183
    -184
    -185
    -186
    -187
    -188
    -189
    -190
    -191
    -192
    -193
    -194
    -195
    -196
    -197
    -198
    -199
    -200
    -201
    -202
    -203
    -204
    -205
    -206
    -207
    -208
    -209
    -210
    -211
    -212
    -213
    -214
    -215
    -216
    -217
    -218
    -219
    -220
    -221
    -222
    -223
    -224
    -225
    -226
    -227
    -228
    -229
    -230
    -231
    -232
    -233
    -234
    -235
    -236
    -237
    -238
    -239
    -240
    -241
    -242
    -243
    -244
    -245
    -246
    -247
    -248
    -249
    -250
    -251
    -252
    -253
    -254
    -255
    -256
    -257
    -258
    -259
    -260
    -261
    -262
    -263
    -264
    -265
    -266
    -267
    -268
    -269
    -270
    -271
    -272
    -273
    -274
    -275
    -276
    -277
    -278
    -279
    -280
    -281
    -282
    -283
    -284
    -285
    -286
    -287
    -288
    -289
    -290
    -291
    -292
    -293
    -294
    -295
    -296
    -297
    -298
    -299
    -300
    -301
    -302
    -303
    -304
    -305
    -306
    -307
    -308
    -309
    -310
    -311
    -312
    -313
    -314
    -315
    -316
    -317
    -318
    -319
    -320
    -321
    -322
    -323
    -324
    -325
    -326
    -327
    -328
    -329
    -330
    -331
    -332
    -333
    -334
    -335
    -336
    -337
    -338
    -339
    -340
    -341
    -342
    -343
    -344
    -345
    -346
    -347
    -348
    -349
    -350
    -351
    -352
    -353
    -354
    -355
    -356
    -357
    -358
    -359
    -360
    -361
    -362
    -363
    -364
    -365
    -366
    -367
    -368
    -369
    -370
    -371
    -372
    -373
    -374
    -375
    -376
    -377
    -378
    -379
    -380
    -381
    -382
    -383
    -384
    -385
    -386
    -387
    -388
    -389
    -390
    -391
    -392
    -393
    -394
    -395
    -396
    -397
    -398
    -399
    -400
    -401
    -402
    -403
    -404
    -405
    -406
    -407
    -408
    -409
    -410
    -411
    -412
    -413
    -414
    -415
    -416
    -417
    -418
    -419
    -420
    -421
    -422
    -423
    -424
    -425
    -426
    -427
    -428
    -429
    -430
    -431
    -432
    -433
    -434
    -435
    -436
    -437
    -438
    -439
    -440
    -441
    -442
    -443
    -444
    -445
    -446
    -447
    -448
    -449
    -450
    -451
    -452
    -453
    -454
    -455
    -456
    -457
    -458
    -459
    -460
    -461
    -462
    -463
    -464
    -465
    -466
    -467
    -468
    -469
    -470
    -471
    -472
    -473
    -474
    -475
    -476
    -477
    -478
    -479
    -480
    -481
    -482
    -483
    -484
    -485
    -486
    -487
    -488
    -489
    -490
    -491
    -492
    -493
    -494
    -495
    -496
    -497
    -498
    -499
    -500
    -501
    -502
    -503
    -504
    -505
    -506
    -507
    -508
    -509
    -510
    -511
    -512
    -513
    -514
    -515
    -516
    -517
    -518
    -519
    -520
    -521
    -522
    -523
    -524
    -525
    -526
    -527
    -528
    -529
    -530
    -531
    -532
    -533
    -534
    -535
    -536
    -537
    -538
    -539
    -540
    -541
    -542
    -543
    -544
    -545
    -546
    -547
    -548
    -549
    -550
    -551
    -552
    -553
    -554
    -555
    -556
    -557
    -558
    -559
    -560
    -561
    -562
    -563
    -564
    -565
    -566
    -567
    -568
    -569
    -570
    -571
    -572
    -573
    -574
    -575
    -576
    -577
    -578
    -579
    -580
    -581
    -582
    -583
    -584
    -585
    -586
    -587
    -588
    -589
    -590
    -591
    -592
    -593
    -594
    -595
    -596
    -597
    -598
    -599
    -600
    -601
    -602
    -603
    -604
    -605
    -606
    -607
    -608
    -609
    -610
    -611
    -612
    -613
    -614
    -615
    -616
    -617
    -618
    -619
    -620
    -621
    -622
    -623
    -624
    -625
    -626
    -627
    -628
    -629
    -630
    -631
    -632
    -633
    -634
    -635
    -636
    -637
    -638
    -639
    -640
    -641
    -642
    -643
    -644
    -645
    -646
    -647
    -648
    -649
    -650
    -651
    -652
    -653
    -654
    -655
    -656
    -657
    -658
    -659
    -660
    -661
    -662
    -663
    -664
    -665
    -666
    -667
    -668
    -669
    -670
    -671
    -672
    -673
    -674
    -675
    -676
    -677
    -678
    -679
    -680
    -681
    -682
    -683
    -684
    -685
    -686
    -687
    -688
    -689
    -690
    -691
    -692
    -693
    -694
    -695
    -696
    -697
    -698
    -699
    -700
    -701
    -702
    -703
    -704
    -705
    -706
    -707
    -708
    -709
    -710
    -711
    -712
    -713
    -714
    -715
    -716
    -717
    -718
    -719
    -720
    -721
    -722
    -723
    -724
    -725
    -726
    -727
    -728
    -729
    -730
    -731
    -732
    -733
    -734
    -735
    -736
    -737
    -738
    -739
    -740
    -741
    -742
    -743
    -744
    -745
    -746
    -747
    -748
    -749
    -750
    -751
    -752
    -753
    -754
    -755
    -756
    -757
    -758
    -759
    -760
    -761
    -762
    -763
    -764
    -765
    -766
    -767
    -768
    -769
    -770
    -771
    -772
    -773
    -774
    -775
    -776
    -777
    -778
    -779
    -780
    -781
    -782
    -783
    -784
    -
    use core::ops::{Index, IndexMut};
    -use core::{fmt, mem, ptr, slice};
    -use std::alloc::{alloc, dealloc, handle_alloc_error, realloc, Layout};
    -
    -/// A double-ended queue (abbreviated to _deque_), for which elements can be
    -/// added or remove from both back and front ends.
    -///
    -/// Underneath the hood, this [`Deque`] uses a contiguous memory block as a ring
    -/// buffer to store values.
    -///
    -/// References:
    -///
    -/// - [Rust Standard Library: std::collections::VecDeque][1]
    -/// - [Wikipedia: Circular buffer][2]
    -///
    -/// [1]: `std::collections::VecDeque`
    -/// [2]: https://en.wikipedia.org/wiki/Circular_buffer
    -// ANCHOR: layout
    -pub struct Deque<T> {
    -    tail: usize,
    -    head: usize,
    -    ring_buf: RawVec<T>,
    +mod.rs - source

    rust_algorithm_club/collections/deque/
    mod.rs

    +1
    +2
    +3
    +4
    +5
    +6
    +7
    +8
    +9
    +10
    +11
    +12
    +13
    +14
    +15
    +16
    +17
    +18
    +19
    +20
    +21
    +22
    +23
    +24
    +25
    +26
    +27
    +28
    +29
    +30
    +31
    +32
    +33
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
    +67
    +68
    +69
    +70
    +71
    +72
    +73
    +74
    +75
    +76
    +77
    +78
    +79
    +80
    +81
    +82
    +83
    +84
    +85
    +86
    +87
    +88
    +89
    +90
    +91
    +92
    +93
    +94
    +95
    +96
    +97
    +98
    +99
    +100
    +101
    +102
    +103
    +104
    +105
    +106
    +107
    +108
    +109
    +110
    +111
    +112
    +113
    +114
    +115
    +116
    +117
    +118
    +119
    +120
    +121
    +122
    +123
    +124
    +125
    +126
    +127
    +128
    +129
    +130
    +131
    +132
    +133
    +134
    +135
    +136
    +137
    +138
    +139
    +140
    +141
    +142
    +143
    +144
    +145
    +146
    +147
    +148
    +149
    +150
    +151
    +152
    +153
    +154
    +155
    +156
    +157
    +158
    +159
    +160
    +161
    +162
    +163
    +164
    +165
    +166
    +167
    +168
    +169
    +170
    +171
    +172
    +173
    +174
    +175
    +176
    +177
    +178
    +179
    +180
    +181
    +182
    +183
    +184
    +185
    +186
    +187
    +188
    +189
    +190
    +191
    +192
    +193
    +194
    +195
    +196
    +197
    +198
    +199
    +200
    +201
    +202
    +203
    +204
    +205
    +206
    +207
    +208
    +209
    +210
    +211
    +212
    +213
    +214
    +215
    +216
    +217
    +218
    +219
    +220
    +221
    +222
    +223
    +224
    +225
    +226
    +227
    +228
    +229
    +230
    +231
    +232
    +233
    +234
    +235
    +236
    +237
    +238
    +239
    +240
    +241
    +242
    +243
    +244
    +245
    +246
    +247
    +248
    +249
    +250
    +251
    +252
    +253
    +254
    +255
    +256
    +257
    +258
    +259
    +260
    +261
    +262
    +263
    +264
    +265
    +266
    +267
    +268
    +269
    +270
    +271
    +272
    +273
    +274
    +275
    +276
    +277
    +278
    +279
    +280
    +281
    +282
    +283
    +284
    +285
    +286
    +287
    +288
    +289
    +290
    +291
    +292
    +293
    +294
    +295
    +296
    +297
    +298
    +299
    +300
    +301
    +302
    +303
    +304
    +305
    +306
    +307
    +308
    +309
    +310
    +311
    +312
    +313
    +314
    +315
    +316
    +317
    +318
    +319
    +320
    +321
    +322
    +323
    +324
    +325
    +326
    +327
    +328
    +329
    +330
    +331
    +332
    +333
    +334
    +335
    +336
    +337
    +338
    +339
    +340
    +341
    +342
    +343
    +344
    +345
    +346
    +347
    +348
    +349
    +350
    +351
    +352
    +353
    +354
    +355
    +356
    +357
    +358
    +359
    +360
    +361
    +362
    +363
    +364
    +365
    +366
    +367
    +368
    +369
    +370
    +371
    +372
    +373
    +374
    +375
    +376
    +377
    +378
    +379
    +380
    +381
    +382
    +383
    +384
    +385
    +386
    +387
    +388
    +389
    +390
    +391
    +392
    +393
    +394
    +395
    +396
    +397
    +398
    +399
    +400
    +401
    +402
    +403
    +404
    +405
    +406
    +407
    +408
    +409
    +410
    +411
    +412
    +413
    +414
    +415
    +416
    +417
    +418
    +419
    +420
    +421
    +422
    +423
    +424
    +425
    +426
    +427
    +428
    +429
    +430
    +431
    +432
    +433
    +434
    +435
    +436
    +437
    +438
    +439
    +440
    +441
    +442
    +443
    +444
    +445
    +446
    +447
    +448
    +449
    +450
    +451
    +452
    +453
    +454
    +455
    +456
    +457
    +458
    +459
    +460
    +461
    +462
    +463
    +464
    +465
    +466
    +467
    +468
    +469
    +470
    +471
    +472
    +473
    +474
    +475
    +476
    +477
    +478
    +479
    +480
    +481
    +482
    +483
    +484
    +485
    +486
    +487
    +488
    +489
    +490
    +491
    +492
    +493
    +494
    +495
    +496
    +497
    +498
    +499
    +500
    +501
    +502
    +503
    +504
    +505
    +506
    +507
    +508
    +509
    +510
    +511
    +512
    +513
    +514
    +515
    +516
    +517
    +518
    +519
    +520
    +521
    +522
    +523
    +524
    +525
    +526
    +527
    +528
    +529
    +530
    +531
    +532
    +533
    +534
    +535
    +536
    +537
    +538
    +539
    +540
    +541
    +542
    +543
    +544
    +545
    +546
    +547
    +548
    +549
    +550
    +551
    +552
    +553
    +554
    +555
    +556
    +557
    +558
    +559
    +560
    +561
    +562
    +563
    +564
    +565
    +566
    +567
    +568
    +569
    +570
    +571
    +572
    +573
    +574
    +575
    +576
    +577
    +578
    +579
    +580
    +581
    +582
    +583
    +584
    +585
    +586
    +587
    +588
    +589
    +590
    +591
    +592
    +593
    +594
    +595
    +596
    +597
    +598
    +599
    +600
    +601
    +602
    +603
    +604
    +605
    +606
    +607
    +608
    +609
    +610
    +611
    +612
    +613
    +614
    +615
    +616
    +617
    +618
    +619
    +620
    +621
    +622
    +623
    +624
    +625
    +626
    +627
    +628
    +629
    +630
    +631
    +632
    +633
    +634
    +635
    +636
    +637
    +638
    +639
    +640
    +641
    +642
    +643
    +644
    +645
    +646
    +647
    +648
    +649
    +650
    +651
    +652
    +653
    +654
    +655
    +656
    +657
    +658
    +659
    +660
    +661
    +662
    +663
    +664
    +665
    +666
    +667
    +668
    +669
    +670
    +671
    +672
    +673
    +674
    +675
    +676
    +677
    +678
    +679
    +680
    +681
    +682
    +683
    +684
    +685
    +686
    +687
    +688
    +689
    +690
    +691
    +692
    +693
    +694
    +695
    +696
    +697
    +698
    +699
    +700
    +701
    +702
    +703
    +704
    +705
    +706
    +707
    +708
    +709
    +710
    +711
    +712
    +713
    +714
    +715
    +716
    +717
    +718
    +719
    +720
    +721
    +722
    +723
    +724
    +725
    +726
    +727
    +728
    +729
    +730
    +731
    +732
    +733
    +734
    +735
    +736
    +737
    +738
    +739
    +740
    +741
    +742
    +743
    +744
    +745
    +746
    +747
    +748
    +749
    +750
    +751
    +752
    +753
    +754
    +755
    +756
    +757
    +758
    +759
    +760
    +761
    +762
    +763
    +764
    +765
    +766
    +767
    +768
    +769
    +770
    +771
    +772
    +773
    +774
    +775
    +776
    +777
    +778
    +779
    +780
    +781
    +782
    +783
    +784
    use core::ops::{Index, IndexMut};
    +use core::{fmt, mem, ptr, slice};
    +use std::alloc::{alloc, dealloc, handle_alloc_error, realloc, Layout};
    +
    +/// A double-ended queue (abbreviated to _deque_), for which elements can be
    +/// added or remove from both back and front ends.
    +///
    +/// Underneath the hood, this [`Deque`] uses a contiguous memory block as a ring
    +/// buffer to store values.
    +///
    +/// References:
    +///
    +/// - [Rust Standard Library: std::collections::VecDeque][1]
    +/// - [Wikipedia: Circular buffer][2]
    +///
    +/// [1]: `std::collections::VecDeque`
    +/// [2]: https://en.wikipedia.org/wiki/Circular_buffer
    +// ANCHOR: layout
    +pub struct Deque<T> {
    +    tail: usize,
    +    head: usize,
    +    ring_buf: RawVec<T>,
     }
    -// ANCHOR_END: layout
    -
    -/// For demo purpose, set default capacity to 1 in order to trigger
    -/// buffer expansions easily. This value must be power of 2.
    -const DEFAULT_CAPACITY: usize = 1;
    -
    -impl<T> Deque<T> {
    -    /// Constructs a new, empty [`Deque<T>`].
    -    ///
    -    /// For convenience, the deque initially allocates a region of a single `T`.
    -    // ANCHOR: new
    -    pub fn new() -> Self {
    -        Self {
    -            tail: 0,
    -            head: 0,
    -            ring_buf: RawVec::with_capacity(DEFAULT_CAPACITY),
    +// ANCHOR_END: layout
    +
    +/// For demo purpose, set default capacity to 1 in order to trigger
    +/// buffer expansions easily. This value must be power of 2.
    +const DEFAULT_CAPACITY: usize = 1;
    +
    +impl<T> Deque<T> {
    +    /// Constructs a new, empty [`Deque<T>`].
    +    ///
    +    /// For convenience, the deque initially allocates a region of a single `T`.
    +    // ANCHOR: new
    +    pub fn new() -> Self {
    +        Self {
    +            tail: 0,
    +            head: 0,
    +            ring_buf: RawVec::with_capacity(DEFAULT_CAPACITY),
             }
         }
    -    // ANCHOR_END: new
    -
    -    /// Prepends the given element value to the beginning of the container.
    -    ///
    -    /// # Parameters
    -    ///
    -    /// * `elem` - The element to prepend.
    -    ///
    -    /// # Complexity
    -    ///
    -    /// Constant.
    -    // ANCHOR: push_front
    -    pub fn push_front(&mut self, elem: T) {
    -        self.try_grow(); // 1
    -        self.tail = self.wrapping_sub(self.tail, 1); // 2
    -
    -        // This is safe because the offset is wrapped inside valid memory region.
    -        unsafe { self.ptr().add(self.tail).write(elem) } // 3
    -    }
    -    // ANCHOR_END: push_front
    -
    -    /// Appends the given element value to the end of the container.
    -    ///
    -    /// # Parameters
    -    ///
    -    /// * `elem` - The element to append.
    -    ///
    -    /// # Complexity
    -    ///
    -    /// Constant.
    -    // ANCHOR: push_back
    -    pub fn push_back(&mut self, elem: T) {
    -        self.try_grow(); // 1
    -        let head = self.head;
    -        self.head = self.wrapping_add(self.head, 1); // 2
    -
    -        // This is safe because the offset is wrapped inside valid memory region.
    -        unsafe { self.ptr().add(head).write(elem) } // 3
    -    }
    -    // ANCHOR_END: push_back
    -
    -    /// Removes and returns the first element of the container.
    -    /// If there are no elements in the container, return `None`.
    -    ///
    -    /// # Complexity
    -    ///
    -    /// Constant.
    -    // ANCHOR: pop_front
    -    pub fn pop_front(&mut self) -> Option<T> {
    -        if self.is_empty() {
    -            return None; // 1
    -        }
    -
    -        let tail = self.tail;
    -        self.tail = self.wrapping_add(self.tail, 1); // 2
    -
    -        // This is safe because the offset is wrapped inside valid memory region.
    -        unsafe { Some(self.ptr().add(tail).read()) } // 3
    -    }
    -    // ANCHOR_END: pop_front
    -
    -    /// Removes and returns the last element of the container.
    -    /// If there are no elements in the container, return `None`.
    -    ///
    -    /// # Complexity
    -    ///
    -    /// Constant.
    -    // ANCHOR: pop_back
    -    pub fn pop_back(&mut self) -> Option<T> {
    -        if self.is_empty() {
    -            return None; // 1
    +    // ANCHOR_END: new
    +
    +    /// Prepends the given element value to the beginning of the container.
    +    ///
    +    /// # Parameters
    +    ///
    +    /// * `elem` - The element to prepend.
    +    ///
    +    /// # Complexity
    +    ///
    +    /// Constant.
    +    // ANCHOR: push_front
    +    pub fn push_front(&mut self, elem: T) {
    +        self.try_grow(); // 1
    +        self.tail = self.wrapping_sub(self.tail, 1); // 2
    +
    +        // This is safe because the offset is wrapped inside valid memory region.
    +        unsafe { self.ptr().add(self.tail).write(elem) } // 3
    +    }
    +    // ANCHOR_END: push_front
    +
    +    /// Appends the given element value to the end of the container.
    +    ///
    +    /// # Parameters
    +    ///
    +    /// * `elem` - The element to append.
    +    ///
    +    /// # Complexity
    +    ///
    +    /// Constant.
    +    // ANCHOR: push_back
    +    pub fn push_back(&mut self, elem: T) {
    +        self.try_grow(); // 1
    +        let head = self.head;
    +        self.head = self.wrapping_add(self.head, 1); // 2
    +
    +        // This is safe because the offset is wrapped inside valid memory region.
    +        unsafe { self.ptr().add(head).write(elem) } // 3
    +    }
    +    // ANCHOR_END: push_back
    +
    +    /// Removes and returns the first element of the container.
    +    /// If there are no elements in the container, return `None`.
    +    ///
    +    /// # Complexity
    +    ///
    +    /// Constant.
    +    // ANCHOR: pop_front
    +    pub fn pop_front(&mut self) -> Option<T> {
    +        if self.is_empty() {
    +            return None; // 1
    +        }
    +
    +        let tail = self.tail;
    +        self.tail = self.wrapping_add(self.tail, 1); // 2
    +
    +        // This is safe because the offset is wrapped inside valid memory region.
    +        unsafe { Some(self.ptr().add(tail).read()) } // 3
    +    }
    +    // ANCHOR_END: pop_front
    +
    +    /// Removes and returns the last element of the container.
    +    /// If there are no elements in the container, return `None`.
    +    ///
    +    /// # Complexity
    +    ///
    +    /// Constant.
    +    // ANCHOR: pop_back
    +    pub fn pop_back(&mut self) -> Option<T> {
    +        if self.is_empty() {
    +            return None; // 1
    +        }
    +
    +        self.head = self.wrapping_sub(self.head, 1); // 2
    +
    +        // This is safe because the offset is wrapped inside valid memory region.
    +        unsafe { Some(self.ptr().add(self.head).read()) } // 3
    +    }
    +    // ANCHOR_END: pop_back
    +
    +    /// Peeks the first element of the container.
    +    /// If there are no elements in the container, return `None`.
    +    ///
    +    /// # Complexity
    +    ///
    +    /// Constant.
    +    // ANCHOR: front
    +    pub fn front(&self) -> Option<&T> {
    +        if self.is_empty() {
    +            return None;
             }
    -
    -        self.head = self.wrapping_sub(self.head, 1); // 2
    -
    -        // This is safe because the offset is wrapped inside valid memory region.
    -        unsafe { Some(self.ptr().add(self.head).read()) } // 3
    -    }
    -    // ANCHOR_END: pop_back
    -
    -    /// Peeks the first element of the container.
    -    /// If there are no elements in the container, return `None`.
    -    ///
    -    /// # Complexity
    -    ///
    -    /// Constant.
    -    // ANCHOR: front
    -    pub fn front(&self) -> Option<&T> {
    -        if self.is_empty() {
    -            return None;
    -        }
    -        // This is safe because the offset is wrapped inside valid memory region.
    -        unsafe { Some(&*self.ptr().add(self.tail)) }
    +        // This is safe because the offset is wrapped inside valid memory region.
    +        unsafe { Some(&*self.ptr().add(self.tail)) }
         }
    -    // ANCHOR_END: front
    -
    -    /// Peeks the last element of the container.
    -    /// If there are no elements in the container, return `None`.
    -    ///
    -    /// # Complexity
    -    ///
    -    /// Constant.
    -    // ANCHOR: back
    -    pub fn back(&self) -> Option<&T> {
    -        if self.is_empty() {
    -            return None;
    +    // ANCHOR_END: front
    +
    +    /// Peeks the last element of the container.
    +    /// If there are no elements in the container, return `None`.
    +    ///
    +    /// # Complexity
    +    ///
    +    /// Constant.
    +    // ANCHOR: back
    +    pub fn back(&self) -> Option<&T> {
    +        if self.is_empty() {
    +            return None;
             }
    -        let head = self.wrapping_sub(self.head, 1);
    -        // This is safe because the offset is wrapped inside valid memory region.
    -        unsafe { Some(&*self.ptr().add(head)) }
    -    }
    -    // ANCHOR_END: back
    -
    -    ///	Checks whether the container is empty.
    -    ///
    -    /// # Complexity
    -    ///
    -    /// Constant.
    -    // ANCHOR: is_empty
    -    pub fn is_empty(&self) -> bool {
    -        self.len() == 0
    +        let head = self.wrapping_sub(self.head, 1);
    +        // This is safe because the offset is wrapped inside valid memory region.
    +        unsafe { Some(&*self.ptr().add(head)) }
         }
    -    // ANCHOR_END: is_empty
    -
    -    ///	Gets the number of elements in the container.
    -    ///
    -    /// # Complexity
    -    ///
    -    /// Constant.
    -    // ANCHOR: len
    -    pub fn len(&self) -> usize {
    -        self.head.wrapping_sub(self.tail) & (self.cap() - 1)
    +    // ANCHOR_END: back
    +
    +    ///	Checks whether the container is empty.
    +    ///
    +    /// # Complexity
    +    ///
    +    /// Constant.
    +    // ANCHOR: is_empty
    +    pub fn is_empty(&self) -> bool {
    +        self.len() == 0
    +    }
    +    // ANCHOR_END: is_empty
    +
    +    ///	Gets the number of elements in the container.
    +    ///
    +    /// # Complexity
    +    ///
    +    /// Constant.
    +    // ANCHOR: len
    +    pub fn len(&self) -> usize {
    +        self.head.wrapping_sub(self.tail) & (self.cap() - 1)
         }
    -    // ANCHOR_END: len
    -
    -    /// Creates an iterator that yields immutable reference of each element.
    -    // ANCHOR: iter
    -    pub fn iter(&self) -> Iter<T> {
    -        Iter {
    -            head: self.head,
    -            tail: self.tail,
    -            // This is safe because only initialized contents would be accessed.
    -            ring_buf: unsafe { self.ring_buf.as_slice() },
    +    // ANCHOR_END: len
    +
    +    /// Creates an iterator that yields immutable reference of each element.
    +    // ANCHOR: iter
    +    pub fn iter(&self) -> Iter<T> {
    +        Iter {
    +            head: self.head,
    +            tail: self.tail,
    +            // This is safe because only initialized contents would be accessed.
    +            ring_buf: unsafe { self.ring_buf.as_slice() },
             }
         }
    -    // ANCHOR_END: iter
    -
    -    /// Creates an iterator that yields mutable reference of each element.
    -    // ANCHOR: iter_mut
    -    pub fn iter_mut(&mut self) -> IterMut<T> {
    -        IterMut {
    -            head: self.head,
    -            tail: self.tail,
    -            // This is safe because only initialized contents would be accessed.
    -            ring_buf: unsafe { self.ring_buf.as_mut_slice() },
    +    // ANCHOR_END: iter
    +
    +    /// Creates an iterator that yields mutable reference of each element.
    +    // ANCHOR: iter_mut
    +    pub fn iter_mut(&mut self) -> IterMut<T> {
    +        IterMut {
    +            head: self.head,
    +            tail: self.tail,
    +            // This is safe because only initialized contents would be accessed.
    +            ring_buf: unsafe { self.ring_buf.as_mut_slice() },
             }
         }
    -    // ANCHOR_END: iter_mut
    -
    -    /// Checks if underlying ring buffer is full.
    -    // ANCHOR: is_full
    -    fn is_full(&self) -> bool {
    -        self.cap() - self.len() == 1
    -    }
    -    // ANCHOR_END: is_full
    -
    -    /// Resizes the underlying ring buffer if necessary.
    -    ///
    -    /// This method simply makes the ring buffer contiguous for the beneath
    -    /// scenario (tail > head). For a thorough Implementation, please refer to
    -    /// [`VecDeque::handle_capacity_increase`][1].
    -    ///
    -    /// ```console,ignore
    -    /// Before:
    -    ///          h   t
    -    /// [o o o o x x o o]
    -    ///
    -    /// Resize:
    -    ///          h   t
    -    /// [o o o o x x o o | x x x x x x x x]
    -    ///
    -    /// Copy:
    -    ///              t           h
    -    /// [x x x x x x o o | o o o o x x x x]
    -    ///  _ _ _ _           _ _ _ _
    -    /// ```
    -    ///
    -    /// # Complexity
    -    ///
    -    /// Linear in the size of the container.
    -    ///
    -    /// [1]: https://github.com/rust-lang/rust/blob/07194ff/library/alloc/src/collections/vec_deque/mod.rs#L405-L447
    -    // ANCHOR: try_grow
    -    fn try_grow(&mut self) {
    -        if self.is_full() {
    -            let old_cap = self.cap(); // 1
    -            self.ring_buf.try_grow(); // 2
    -
    -            // 3
    -            if self.tail > self.head {
    -                // The content of ring buffer won't overlapped, so it's safe to
    -                // call `copy_nonoverlapping`. It's also safe to advance the
    -                // pointer by `old_cap` since the buffer has been doubled.
    -                unsafe {
    -                    let src = self.ptr(); // 4-1
    -                    let dst = self.ptr().add(old_cap); // 4-2
    -                    ptr::copy_nonoverlapping(src, dst, self.head);
    +    // ANCHOR_END: iter_mut
    +
    +    /// Checks if underlying ring buffer is full.
    +    // ANCHOR: is_full
    +    fn is_full(&self) -> bool {
    +        self.cap() - self.len() == 1
    +    }
    +    // ANCHOR_END: is_full
    +
    +    /// Resizes the underlying ring buffer if necessary.
    +    ///
    +    /// This method simply makes the ring buffer contiguous for the beneath
    +    /// scenario (tail > head). For a thorough Implementation, please refer to
    +    /// [`VecDeque::handle_capacity_increase`][1].
    +    ///
    +    /// ```console,ignore
    +    /// Before:
    +    ///          h   t
    +    /// [o o o o x x o o]
    +    ///
    +    /// Resize:
    +    ///          h   t
    +    /// [o o o o x x o o | x x x x x x x x]
    +    ///
    +    /// Copy:
    +    ///              t           h
    +    /// [x x x x x x o o | o o o o x x x x]
    +    ///  _ _ _ _           _ _ _ _
    +    /// ```
    +    ///
    +    /// # Complexity
    +    ///
    +    /// Linear in the size of the container.
    +    ///
    +    /// [1]: https://github.com/rust-lang/rust/blob/07194ff/library/alloc/src/collections/vec_deque/mod.rs#L405-L447
    +    // ANCHOR: try_grow
    +    fn try_grow(&mut self) {
    +        if self.is_full() {
    +            let old_cap = self.cap(); // 1
    +            self.ring_buf.try_grow(); // 2
    +
    +            // 3
    +            if self.tail > self.head {
    +                // The content of ring buffer won't overlapped, so it's safe to
    +                // call `copy_nonoverlapping`. It's also safe to advance the
    +                // pointer by `old_cap` since the buffer has been doubled.
    +                unsafe {
    +                    let src = self.ptr(); // 4-1
    +                    let dst = self.ptr().add(old_cap); // 4-2
    +                    ptr::copy_nonoverlapping(src, dst, self.head);
                     }
    -                self.head += old_cap; // 5
    -            }
    +                self.head += old_cap; // 5
    +            }
             }
         }
    -    // ANCHOR_END: try_grow
    +    // ANCHOR_END: try_grow
     
    -    /// Returns the actual index of the underlying ring buffer for a given
    -    /// logical index + addend.
    -    // ANCHOR: wrapping_add
    -    fn wrapping_add(&self, index: usize, addend: usize) -> usize {
    -        wrap_index(index.wrapping_add(addend), self.cap())
    +    /// Returns the actual index of the underlying ring buffer for a given
    +    /// logical index + addend.
    +    // ANCHOR: wrapping_add
    +    fn wrapping_add(&self, index: usize, addend: usize) -> usize {
    +        wrap_index(index.wrapping_add(addend), self.cap())
         }
    -    // ANCHOR_END: wrapping_add
    +    // ANCHOR_END: wrapping_add
     
    -    /// Returns the actual index of the underlying ring buffer for a given
    -    /// logical index - subtrahend.
    -    // ANCHOR: wrapping_sub
    -    fn wrapping_sub(&self, index: usize, subtrahend: usize) -> usize {
    -        wrap_index(index.wrapping_sub(subtrahend), self.cap())
    +    /// Returns the actual index of the underlying ring buffer for a given
    +    /// logical index - subtrahend.
    +    // ANCHOR: wrapping_sub
    +    fn wrapping_sub(&self, index: usize, subtrahend: usize) -> usize {
    +        wrap_index(index.wrapping_sub(subtrahend), self.cap())
         }
    -    // ANCHOR_END: wrapping_sub
    +    // ANCHOR_END: wrapping_sub
     
    -    /// An abstraction for accessing the pointer of the ring buffer.
    -    // ANCHOR: ptr
    -    fn ptr(&self) -> *mut T {
    -        self.ring_buf.ptr
    +    /// An abstraction for accessing the pointer of the ring buffer.
    +    // ANCHOR: ptr
    +    fn ptr(&self) -> *mut T {
    +        self.ring_buf.ptr
         }
    -    // ANCHOR_END: ptr
    +    // ANCHOR_END: ptr
     
    -    /// An abstraction for accessing the capacity of the ring buffer.
    -    // ANCHOR: cap
    -    fn cap(&self) -> usize {
    -        self.ring_buf.cap()
    +    /// An abstraction for accessing the capacity of the ring buffer.
    +    // ANCHOR: cap
    +    fn cap(&self) -> usize {
    +        self.ring_buf.cap()
         }
    -    // ANCHOR_END: cap
    -}
    +    // ANCHOR_END: cap
    +}
     
    -// ANCHOR: Drop
    -impl<T> Drop for Deque<T> {
    -    fn drop(&mut self) {
    -        while let Some(_) = self.pop_back() {}
    +// ANCHOR: Drop
    +impl<T> Drop for Deque<T> {
    +    fn drop(&mut self) {
    +        while let Some(_) = self.pop_back() {}
         }
     }
    -// ANCHOR_END: Drop
    -
    -/// Returns the actual index of the underlying ring buffer for a given logical index.
    -///
    -/// To ensure all bits of `size - 1` is set to 1, here the size must always be
    -/// power of two.
    -// ANCHOR: wrap_index
    -fn wrap_index(index: usize, size: usize) -> usize {
    -    debug_assert!(size.is_power_of_two());
    -    index & (size - 1)
    +// ANCHOR_END: Drop
    +
    +/// Returns the actual index of the underlying ring buffer for a given logical index.
    +///
    +/// To ensure all bits of `size - 1` is set to 1, here the size must always be
    +/// power of two.
    +// ANCHOR: wrap_index
    +fn wrap_index(index: usize, size: usize) -> usize {
    +    debug_assert!(size.is_power_of_two());
    +    index & (size - 1)
     }
    -// ANCHOR_END: wrap_index
    -
    -/// An immutable iterator over the elements of a [`Deque`].
    -///
    -/// This struct is created by the `iter` method on [`Deque`].
    -// ANCHOR: Iter_layout
    -pub struct Iter<'a, T> {
    -    head: usize,
    -    tail: usize,
    -    ring_buf: &'a [T],
    +// ANCHOR_END: wrap_index
    +
    +/// An immutable iterator over the elements of a [`Deque`].
    +///
    +/// This struct is created by the `iter` method on [`Deque`].
    +// ANCHOR: Iter_layout
    +pub struct Iter<'a, T> {
    +    head: usize,
    +    tail: usize,
    +    ring_buf: &'a [T],
     }
    -// ANCHOR_END: Iter_layout
    -
    -// ANCHOR: Iter
    -impl<'a, T> Iterator for Iter<'a, T> {
    -    type Item = &'a T;
    -
    -    fn next(&mut self) -> Option<Self::Item> {
    -        if self.tail == self.head {
    -            return None; // 1
    -        }
    -        let tail = self.tail; // 2
    -        self.tail = wrap_index(self.tail.wrapping_add(1), self.ring_buf.len()); // 3
    -        self.ring_buf.get(tail) // 4
    -    }
    +// ANCHOR_END: Iter_layout
    +
    +// ANCHOR: Iter
    +impl<'a, T> Iterator for Iter<'a, T> {
    +    type Item = &'a T;
    +
    +    fn next(&mut self) -> Option<Self::Item> {
    +        if self.tail == self.head {
    +            return None; // 1
    +        }
    +        let tail = self.tail; // 2
    +        self.tail = wrap_index(self.tail.wrapping_add(1), self.ring_buf.len()); // 3
    +        self.ring_buf.get(tail) // 4
    +    }
     }
    -// ANCHOR_END: Iter
    -
    -/// A mutable iterator over the elements of a [`Deque`].
    -///
    -/// This struct is created by the `iter_mut` method on [`Deque`].
    -// ANCHOR: IterMut_layout
    -pub struct IterMut<'a, T> {
    -    head: usize,
    -    tail: usize,
    -    ring_buf: &'a mut [T],
    +// ANCHOR_END: Iter
    +
    +/// A mutable iterator over the elements of a [`Deque`].
    +///
    +/// This struct is created by the `iter_mut` method on [`Deque`].
    +// ANCHOR: IterMut_layout
    +pub struct IterMut<'a, T> {
    +    head: usize,
    +    tail: usize,
    +    ring_buf: &'a mut [T],
     }
    -// ANCHOR_END: IterMut_layout
    +// ANCHOR_END: IterMut_layout
     
    -// ANCHOR: IterMut
    -impl<'a, T> Iterator for IterMut<'a, T> {
    -    type Item = &'a mut T;
    +// ANCHOR: IterMut
    +impl<'a, T> Iterator for IterMut<'a, T> {
    +    type Item = &'a mut T;
     
    -    fn next(&mut self) -> Option<Self::Item> {
    -        if self.tail == self.head {
    -            return None;
    -        }
    -        let tail = self.tail;
    -        self.tail = wrap_index(self.tail.wrapping_add(1), self.ring_buf.len());
    -        // This unsafe block is needed for solving the limitation of Iterator
    -        // trait: the `&mut self` is bound to an anonymous lifetime which rustc
    -        // cannot figure out whether it would outlive returning element. Hence
    -        // the explicit pointer casting is required.
    -        unsafe {
    -            let ptr = self.ring_buf as *mut [T]; // 1
    -            let slice = &mut *ptr; // 2
    -            slice.get_mut(tail) // 3
    +    fn next(&mut self) -> Option<Self::Item> {
    +        if self.tail == self.head {
    +            return None;
             }
    +        let tail = self.tail;
    +        self.tail = wrap_index(self.tail.wrapping_add(1), self.ring_buf.len());
    +        // This unsafe block is needed for solving the limitation of Iterator
    +        // trait: the `&mut self` is bound to an anonymous lifetime which rustc
    +        // cannot figure out whether it would outlive returning element. Hence
    +        // the explicit pointer casting is required.
    +        unsafe {
    +            let ptr = self.ring_buf as *mut [T]; // 1
    +            let slice = &mut *ptr; // 2
    +            slice.get_mut(tail) // 3
    +        }
         }
     }
    -// ANCHOR_END: IterMut
    +// ANCHOR_END: IterMut
     
    -/// An owning iterator over the elements of a [`Deque`].
    -///
    -/// This struct is created by the `into_iter` method on [`Deque`].
    -// ANCHOR: IntoIter_layout
    -pub struct IntoIter<T>(Deque<T>);
    -// ANCHOR_END: IntoIter_layout
    +/// An owning iterator over the elements of a [`Deque`].
    +///
    +/// This struct is created by the `into_iter` method on [`Deque`].
    +// ANCHOR: IntoIter_layout
    +pub struct IntoIter<T>(Deque<T>);
    +// ANCHOR_END: IntoIter_layout
     
    -// ANCHOR: IntoIter
    -impl<T> Iterator for IntoIter<T> {
    -    type Item = T;
    +// ANCHOR: IntoIter
    +impl<T> Iterator for IntoIter<T> {
    +    type Item = T;
     
    -    fn next(&mut self) -> Option<Self::Item> {
    -        self.0.pop_front()
    +    fn next(&mut self) -> Option<Self::Item> {
    +        self.0.pop_front()
         }
     }
    -// ANCHOR_END: IntoIter
    +// ANCHOR_END: IntoIter
     
    -// ANCHOR: IntoIterator
    -impl<T> IntoIterator for Deque<T> {
    -    type Item = T;
    -    type IntoIter = IntoIter<T>;
    +// ANCHOR: IntoIterator
    +impl<T> IntoIterator for Deque<T> {
    +    type Item = T;
    +    type IntoIter = IntoIter<T>;
     
    -    fn into_iter(self) -> Self::IntoIter {
    -        IntoIter(self)
    +    fn into_iter(self) -> Self::IntoIter {
    +        IntoIter(self)
         }
     }
    -// ANCHOR_END: IntoIterator
    +// ANCHOR_END: IntoIterator
     
    -// ANCHOR: IntoIterator_ref
    -impl<'a, T> IntoIterator for &'a Deque<T> {
    -    type Item = &'a T;
    -    type IntoIter = Iter<'a, T>;
    +// ANCHOR: IntoIterator_ref
    +impl<'a, T> IntoIterator for &'a Deque<T> {
    +    type Item = &'a T;
    +    type IntoIter = Iter<'a, T>;
     
    -    fn into_iter(self) -> Self::IntoIter {
    -        self.iter()
    +    fn into_iter(self) -> Self::IntoIter {
    +        self.iter()
         }
     }
     
    -impl<'a, T> IntoIterator for &'a mut Deque<T> {
    -    type Item = &'a mut T;
    -    type IntoIter = IterMut<'a, T>;
    +impl<'a, T> IntoIterator for &'a mut Deque<T> {
    +    type Item = &'a mut T;
    +    type IntoIter = IterMut<'a, T>;
     
    -    fn into_iter(self) -> Self::IntoIter {
    -        self.iter_mut()
    +    fn into_iter(self) -> Self::IntoIter {
    +        self.iter_mut()
         }
     }
    -// ANCHOR_END: IntoIterator_ref
    +// ANCHOR_END: IntoIterator_ref
     
    -// ANCHOR: Index
    -impl<T> Index<usize> for Deque<T> {
    -    type Output = T;
    +// ANCHOR: Index
    +impl<T> Index<usize> for Deque<T> {
    +    type Output = T;
     
    -    fn index(&self, index: usize) -> &Self::Output {
    -        assert!(index < self.len(), "Out of bound");
    -        let index = self.wrapping_add(self.tail, index);
    -        // This is safe because the offset is wrapped inside valid memory region.
    -        unsafe { &*self.ptr().add(index) }
    +    fn index(&self, index: usize) -> &Self::Output {
    +        assert!(index < self.len(), "Out of bound");
    +        let index = self.wrapping_add(self.tail, index);
    +        // This is safe because the offset is wrapped inside valid memory region.
    +        unsafe { &*self.ptr().add(index) }
         }
     }
    -// ANCHOR_END: Index
    -
    -// ANCHOR: IndexMut
    -impl<T> IndexMut<usize> for Deque<T> {
    -    fn index_mut(&mut self, index: usize) -> &mut T {
    -        assert!(index < self.len(), "Out of bound");
    -        let index = self.wrapping_add(self.tail, index);
    -        // This is safe because the offset is wrapped inside valid memory region.
    -        unsafe { &mut *self.ptr().add(index) }
    +// ANCHOR_END: Index
    +
    +// ANCHOR: IndexMut
    +impl<T> IndexMut<usize> for Deque<T> {
    +    fn index_mut(&mut self, index: usize) -> &mut T {
    +        assert!(index < self.len(), "Out of bound");
    +        let index = self.wrapping_add(self.tail, index);
    +        // This is safe because the offset is wrapped inside valid memory region.
    +        unsafe { &mut *self.ptr().add(index) }
         }
     }
    -// ANCHOR_END: IndexMut
    +// ANCHOR_END: IndexMut
     
    -// ANCHOR: Debug
    -impl<T: fmt::Debug> fmt::Debug for Deque<T> {
    -    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
    -        f.debug_list().entries(self.iter()).finish()
    +// ANCHOR: Debug
    +impl<T: fmt::Debug> fmt::Debug for Deque<T> {
    +    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
    +        f.debug_list().entries(self.iter()).finish()
         }
     }
    -// ANCHOR_END: Debug
    -
    -/// A growable, contiguous heap memory allocation that stores homogeneous elements.
    -///
    -/// This type can be seen as a simplified version of [`RawVec`] inside Rust
    -/// Standard Library. Use at your own risk.
    -///
    -/// [`RawVec`]: https://github.com/rust-lang/rust/blob/ff6ee2a7/library/alloc/src/raw_vec.rs
    -#[derive(Debug)]
    -// ANCHOR: RawVec
    -struct RawVec<T> {
    -    ptr: *mut T,
    -    cap: usize,
    +// ANCHOR_END: Debug
    +
    +/// A growable, contiguous heap memory allocation that stores homogeneous elements.
    +///
    +/// This type can be seen as a simplified version of [`RawVec`] inside Rust
    +/// Standard Library. Use at your own risk.
    +///
    +/// [`RawVec`]: https://github.com/rust-lang/rust/blob/ff6ee2a7/library/alloc/src/raw_vec.rs
    +#[derive(Debug)]
    +// ANCHOR: RawVec
    +struct RawVec<T> {
    +    ptr: *mut T,
    +    cap: usize,
     }
    -// ANCHOR_END: RawVec
    -
    -impl<T> RawVec<T> {
    -    /// Allocates on the heap with a certain capacity.
    -    ///
    -    /// The `cap` argument would be ignored when allocating zero sized types
    -    /// and use zero instead. The caller would see a quite large capacity.
    -    /// See [`RawVec::cap`] for more.
    -    // ANCHOR: RawVec_with_capacity
    -    pub fn with_capacity(cap: usize) -> Self {
    -        let layout = Layout::array::<T>(cap).unwrap(); // 1
    -
    -        // 2
    -        if layout.size() == 0 {
    -            // This is safe for zero sized types. However, be careful when facing
    -            // zero capacity layouts. It must be replaced with an actual pointer
    -            // before operations such as dereference or read/write.
    -            let ptr = ptr::NonNull::dangling().as_ptr(); // 3
    -            Self { ptr, cap: 0 }
    -        } else {
    -            // This is safe because it conforms to the [safety contracts][1].
    -            //
    -            // [1]: https://doc.rust-lang.org/1.49.0/alloc/alloc/trait.GlobalAlloc.html#safety-1
    -            let ptr = unsafe { alloc(layout) }; // 4
    -            if ptr.is_null() {
    -                handle_alloc_error(layout);
    +// ANCHOR_END: RawVec
    +
    +impl<T> RawVec<T> {
    +    /// Allocates on the heap with a certain capacity.
    +    ///
    +    /// The `cap` argument would be ignored when allocating zero sized types
    +    /// and use zero instead. The caller would see a quite large capacity.
    +    /// See [`RawVec::cap`] for more.
    +    // ANCHOR: RawVec_with_capacity
    +    pub fn with_capacity(cap: usize) -> Self {
    +        let layout = Layout::array::<T>(cap).unwrap(); // 1
    +
    +        // 2
    +        if layout.size() == 0 {
    +            // This is safe for zero sized types. However, be careful when facing
    +            // zero capacity layouts. It must be replaced with an actual pointer
    +            // before operations such as dereference or read/write.
    +            let ptr = ptr::NonNull::dangling().as_ptr(); // 3
    +            Self { ptr, cap: 0 }
    +        } else {
    +            // This is safe because it conforms to the [safety contracts][1].
    +            //
    +            // [1]: https://doc.rust-lang.org/1.49.0/alloc/alloc/trait.GlobalAlloc.html#safety-1
    +            let ptr = unsafe { alloc(layout) }; // 4
    +            if ptr.is_null() {
    +                handle_alloc_error(layout);
                 }
    -            Self {
    -                ptr: ptr.cast(),
    -                cap,
    +            Self {
    +                ptr: ptr.cast(),
    +                cap,
                 }
             }
         }
    -    // ANCHOR_END: RawVec_with_capacity
    -
    -    /// Doubles the size of the memory region.
    -    ///
    -    /// This method maybe only reallocates non-zero sized types. Non-zero sized
    -    /// types would not grow since they are not actually allocated.
    -    // ANCHOR: RawVec_try_grow
    -    pub fn try_grow(&mut self) {
    -        if mem::size_of::<T>() == 0 {
    -            return; // 1
    -        }
    -
    -        if self.cap == 0 {
    -            *self = Self::with_capacity(1); // 2
    -            return;
    +    // ANCHOR_END: RawVec_with_capacity
    +
    +    /// Doubles the size of the memory region.
    +    ///
    +    /// This method maybe only reallocates non-zero sized types. Non-zero sized
    +    /// types would not grow since they are not actually allocated.
    +    // ANCHOR: RawVec_try_grow
    +    pub fn try_grow(&mut self) {
    +        if mem::size_of::<T>() == 0 {
    +            return; // 1
    +        }
    +
    +        if self.cap == 0 {
    +            *self = Self::with_capacity(1); // 2
    +            return;
             }
     
    -        let old_layout = Layout::array::<T>(self.cap).unwrap(); // 3
    -        let new_cap = self.cap << 1;
    -        let new_size = old_layout.size() * new_cap;
    -        // This is safe because it conforms to the [safety contracts][1].
    -        //
    -        // [1]: https://doc.rust-lang.org/1.49.0/alloc/alloc/trait.GlobalAlloc.html#safety-4
    -        let ptr = unsafe { realloc(self.ptr.cast(), old_layout, new_size) };
    -        if ptr.is_null() {
    -            handle_alloc_error(old_layout);
    +        let old_layout = Layout::array::<T>(self.cap).unwrap(); // 3
    +        let new_cap = self.cap << 1;
    +        let new_size = old_layout.size() * new_cap;
    +        // This is safe because it conforms to the [safety contracts][1].
    +        //
    +        // [1]: https://doc.rust-lang.org/1.49.0/alloc/alloc/trait.GlobalAlloc.html#safety-4
    +        let ptr = unsafe { realloc(self.ptr.cast(), old_layout, new_size) };
    +        if ptr.is_null() {
    +            handle_alloc_error(old_layout);
             }
    -        // ...Old allocation is unusable and may be released from here at anytime.
    +        // ...Old allocation is unusable and may be released from here at anytime.
     
    -        self.ptr = ptr.cast(); // 4
    -        self.cap = new_cap;
    +        self.ptr = ptr.cast(); // 4
    +        self.cap = new_cap;
         }
    -    // ANCHOR_END: RawVec_try_grow
    -
    -    /// Gets the capacity of the allocation.
    -    ///
    -    /// If `T` is zero sized, this will always be the largest possible power of
    -    /// two of `usize`. Currently `(usize::MAX + 1) / 2`.
    -    ///
    -    /// Ref: [https://github.com/rust-lang/rust/blob/f7534b/library/alloc/src/collections/vec_deque/mod.rs#L61]
    -    // ANCHOR: RawVec_cap
    -    pub fn cap(&self) -> usize {
    -        if mem::size_of::<T>() == 0 {
    -            1usize << (mem::size_of::<usize>() * 8 - 1)
    -        } else {
    -            self.cap
    +    // ANCHOR_END: RawVec_try_grow
    +
    +    /// Gets the capacity of the allocation.
    +    ///
    +    /// If `T` is zero sized, this will always be the largest possible power of
    +    /// two of `usize`. Currently `(usize::MAX + 1) / 2`.
    +    ///
    +    /// Ref: [https://github.com/rust-lang/rust/blob/f7534b/library/alloc/src/collections/vec_deque/mod.rs#L61]
    +    // ANCHOR: RawVec_cap
    +    pub fn cap(&self) -> usize {
    +        if mem::size_of::<T>() == 0 {
    +            1usize << (mem::size_of::<usize>() * 8 - 1)
    +        } else {
    +            self.cap
             }
         }
    -    // ANCHOR_END: RawVec_cap
    -
    -    /// Returns an immutable slice of underlying allocation.
    -    ///
    -    /// This is unsafe because the slice may not have all its contents initialized.
    -    // ANCHOR: RawVec_as_slice
    -    pub unsafe fn as_slice(&self) -> &[T] {
    -        slice::from_raw_parts(self.ptr.cast(), self.cap())
    +    // ANCHOR_END: RawVec_cap
    +
    +    /// Returns an immutable slice of underlying allocation.
    +    ///
    +    /// This is unsafe because the slice may not have all its contents initialized.
    +    // ANCHOR: RawVec_as_slice
    +    pub unsafe fn as_slice(&self) -> &[T] {
    +        slice::from_raw_parts(self.ptr.cast(), self.cap())
         }
    -    // ANCHOR_END: RawVec_as_slice
    -
    -    /// Returns a mutable slice of underlying allocation.
    -    ///
    -    /// This is unsafe because the slice may not have all its contents initialized.
    -    // ANCHOR: RawVec_as_mut_slice
    -    pub unsafe fn as_mut_slice(&self) -> &mut [T] {
    -        slice::from_raw_parts_mut(self.ptr.cast(), self.cap())
    +    // ANCHOR_END: RawVec_as_slice
    +
    +    /// Returns a mutable slice of underlying allocation.
    +    ///
    +    /// This is unsafe because the slice may not have all its contents initialized.
    +    // ANCHOR: RawVec_as_mut_slice
    +    pub unsafe fn as_mut_slice(&self) -> &mut [T] {
    +        slice::from_raw_parts_mut(self.ptr.cast(), self.cap())
         }
    -    // ANCHOR_END: RawVec_as_mut_slice
    -}
    -
    -// ANCHOR: RawVec_drop
    -impl<T> Drop for RawVec<T> {
    -    /// Deallocates the underlying memory region by calculating the type layout
    -    /// and number of elements.
    -    ///
    -    /// This only drop the memory block allocated by `RawVec` itself but not
    -    /// dropping the contents. Callers need to drop the contents by themselves.
    -    fn drop(&mut self) {
    -        let layout = Layout::array::<T>(self.cap).unwrap(); // 1
    -        if layout.size() > 0 {
    -            // This is safe because it conforms to the [safety contracts][1].
    -            //
    -            // [1]: https://doc.rust-lang.org/1.49.0/alloc/alloc/trait.GlobalAlloc.html#safety-2
    -            unsafe { dealloc(self.ptr.cast(), layout) }
    +    // ANCHOR_END: RawVec_as_mut_slice
    +}
    +
    +// ANCHOR: RawVec_drop
    +impl<T> Drop for RawVec<T> {
    +    /// Deallocates the underlying memory region by calculating the type layout
    +    /// and number of elements.
    +    ///
    +    /// This only drop the memory block allocated by `RawVec` itself but not
    +    /// dropping the contents. Callers need to drop the contents by themselves.
    +    fn drop(&mut self) {
    +        let layout = Layout::array::<T>(self.cap).unwrap(); // 1
    +        if layout.size() > 0 {
    +            // This is safe because it conforms to the [safety contracts][1].
    +            //
    +            // [1]: https://doc.rust-lang.org/1.49.0/alloc/alloc/trait.GlobalAlloc.html#safety-2
    +            unsafe { dealloc(self.ptr.cast(), layout) }
             }
         }
     }
    -// ANCHOR_END: RawVec_drop
    -
    -#[cfg(test)]
    -mod deque {
    -    use super::Deque;
    -
    -    #[test]
    -    fn push_pop() {
    -        let mut d = Deque::new();
    -        assert_eq!(d.len(), 0);
    -        assert_eq!(d.front(), None);
    -        assert_eq!(d.back(), None);
    -
    -        d.push_back(1);
    -        d.push_back(2);
    -        // [1, 2]
    -        assert_eq!(d.len(), 2);
    -        assert_eq!(d.front(), Some(&1));
    -        assert_eq!(d.back(), Some(&2));
    -
    -        d.push_front(3);
    -        d.push_front(4);
    -        // [4, 3, 1, 2]
    -        assert_eq!(d.len(), 4);
    -        assert_eq!(d.front(), Some(&4));
    -        assert_eq!(d.back(), Some(&2));
    -
    -        assert_eq!(d.pop_front(), Some(4));
    -        assert_eq!(d.pop_front(), Some(3));
    -        assert_eq!(d.pop_front(), Some(1));
    -        assert_eq!(d.pop_front(), Some(2));
    -        assert_eq!(d.pop_front(), None);
    -        assert_eq!(d.len(), 0);
    -        assert_eq!(d.front(), None);
    -        assert_eq!(d.back(), None);
    -
    -        d.push_front(5);
    -        d.push_front(6);
    -        // [6, 5]
    -        assert_eq!(d.len(), 2);
    -        assert_eq!(d.front(), Some(&6));
    -        assert_eq!(d.back(), Some(&5));
    -
    -        assert_eq!(d.pop_back(), Some(5));
    -        assert_eq!(d.pop_back(), Some(6));
    -        assert_eq!(d.pop_back(), None);
    -        assert_eq!(d.len(), 0);
    -        assert_eq!(d.front(), None);
    -        assert_eq!(d.back(), None);
    +// ANCHOR_END: RawVec_drop
    +
    +#[cfg(test)]
    +mod deque {
    +    use super::Deque;
    +
    +    #[test]
    +    fn push_pop() {
    +        let mut d = Deque::new();
    +        assert_eq!(d.len(), 0);
    +        assert_eq!(d.front(), None);
    +        assert_eq!(d.back(), None);
    +
    +        d.push_back(1);
    +        d.push_back(2);
    +        // [1, 2]
    +        assert_eq!(d.len(), 2);
    +        assert_eq!(d.front(), Some(&1));
    +        assert_eq!(d.back(), Some(&2));
    +
    +        d.push_front(3);
    +        d.push_front(4);
    +        // [4, 3, 1, 2]
    +        assert_eq!(d.len(), 4);
    +        assert_eq!(d.front(), Some(&4));
    +        assert_eq!(d.back(), Some(&2));
    +
    +        assert_eq!(d.pop_front(), Some(4));
    +        assert_eq!(d.pop_front(), Some(3));
    +        assert_eq!(d.pop_front(), Some(1));
    +        assert_eq!(d.pop_front(), Some(2));
    +        assert_eq!(d.pop_front(), None);
    +        assert_eq!(d.len(), 0);
    +        assert_eq!(d.front(), None);
    +        assert_eq!(d.back(), None);
    +
    +        d.push_front(5);
    +        d.push_front(6);
    +        // [6, 5]
    +        assert_eq!(d.len(), 2);
    +        assert_eq!(d.front(), Some(&6));
    +        assert_eq!(d.back(), Some(&5));
    +
    +        assert_eq!(d.pop_back(), Some(5));
    +        assert_eq!(d.pop_back(), Some(6));
    +        assert_eq!(d.pop_back(), None);
    +        assert_eq!(d.len(), 0);
    +        assert_eq!(d.front(), None);
    +        assert_eq!(d.back(), None);
         }
     
    -    #[test]
    -    fn iter() {
    -        let mut d = Deque::new();
    -        d.push_back(1);
    -        d.push_back(2);
    -        d.push_front(3);
    -        d.push_front(4);
    -        d.push_front(5);
    -        d.push_front(6);
    -        // [6, 5, 4, 3, 1, 2]
    -
    -        let mut iter = d.iter();
    -        assert_eq!(iter.next(), Some(&6));
    -        assert_eq!(iter.next(), Some(&5));
    -        assert_eq!(iter.next(), Some(&4));
    -        assert_eq!(iter.next(), Some(&3));
    -        assert_eq!(iter.next(), Some(&1));
    -        assert_eq!(iter.next(), Some(&2));
    -        assert_eq!(iter.next(), None);
    +    #[test]
    +    fn iter() {
    +        let mut d = Deque::new();
    +        d.push_back(1);
    +        d.push_back(2);
    +        d.push_front(3);
    +        d.push_front(4);
    +        d.push_front(5);
    +        d.push_front(6);
    +        // [6, 5, 4, 3, 1, 2]
    +
    +        let mut iter = d.iter();
    +        assert_eq!(iter.next(), Some(&6));
    +        assert_eq!(iter.next(), Some(&5));
    +        assert_eq!(iter.next(), Some(&4));
    +        assert_eq!(iter.next(), Some(&3));
    +        assert_eq!(iter.next(), Some(&1));
    +        assert_eq!(iter.next(), Some(&2));
    +        assert_eq!(iter.next(), None);
         }
     
    -    #[test]
    -    fn iter_mut() {
    -        let mut d = Deque::new();
    -        d.push_back(1);
    -        d.push_back(2);
    -        d.push_front(3);
    -        d.push_front(4);
    -        // [4, 3, 1, 2]
    -
    -        for elem in d.iter_mut() {
    -            *elem *= *elem;
    +    #[test]
    +    fn iter_mut() {
    +        let mut d = Deque::new();
    +        d.push_back(1);
    +        d.push_back(2);
    +        d.push_front(3);
    +        d.push_front(4);
    +        // [4, 3, 1, 2]
    +
    +        for elem in d.iter_mut() {
    +            *elem *= *elem;
             }
     
    -        let mut iter = d.iter_mut();
    -        assert_eq!(iter.next(), Some(&mut 16));
    -        assert_eq!(iter.next(), Some(&mut 9));
    -        assert_eq!(iter.next(), Some(&mut 1));
    -        assert_eq!(iter.next(), Some(&mut 4));
    -        assert_eq!(iter.next(), None);
    +        let mut iter = d.iter_mut();
    +        assert_eq!(iter.next(), Some(&mut 16));
    +        assert_eq!(iter.next(), Some(&mut 9));
    +        assert_eq!(iter.next(), Some(&mut 1));
    +        assert_eq!(iter.next(), Some(&mut 4));
    +        assert_eq!(iter.next(), None);
         }
     
    -    #[test]
    -    fn into_iter() {
    -        let mut d = Deque::new();
    -        d.push_back(1);
    -        d.push_back(2);
    -        d.push_front(3);
    -        d.push_front(4);
    -        // [4, 3, 1, 2]
    -
    -        let l = d.into_iter().collect::<Vec<_>>();
    -        assert_eq!(&[4, 3, 1, 2], &l[..]);
    -
    -        let mut d = Deque::new();
    -        d.push_back(1);
    -        d.push_back(2);
    -        d.push_front(3);
    -        d.push_front(4);
    -        // [4, 3, 1, 2]
    -        let mut l = vec![];
    -        for elem in &d {
    -            l.push(elem);
    +    #[test]
    +    fn into_iter() {
    +        let mut d = Deque::new();
    +        d.push_back(1);
    +        d.push_back(2);
    +        d.push_front(3);
    +        d.push_front(4);
    +        // [4, 3, 1, 2]
    +
    +        let l = d.into_iter().collect::<Vec<_>>();
    +        assert_eq!(&[4, 3, 1, 2], &l[..]);
    +
    +        let mut d = Deque::new();
    +        d.push_back(1);
    +        d.push_back(2);
    +        d.push_front(3);
    +        d.push_front(4);
    +        // [4, 3, 1, 2]
    +        let mut l = vec![];
    +        for elem in &d {
    +            l.push(elem);
             }
    -        assert_eq!(&[&4, &3, &1, &2], &l[..]);
    +        assert_eq!(&[&4, &3, &1, &2], &l[..]);
     
    -        let mut d = Deque::new();
    -        d.push_back(1);
    -        d.push_back(2);
    -        d.push_front(3);
    -        d.push_front(4);
    -        // [4, 3, 1, 2]
    +        let mut d = Deque::new();
    +        d.push_back(1);
    +        d.push_back(2);
    +        d.push_front(3);
    +        d.push_front(4);
    +        // [4, 3, 1, 2]
     
    -        for elem in &mut d {
    -            *elem *= *elem;
    +        for elem in &mut d {
    +            *elem *= *elem;
             }
     
    -        let mut iter = d.iter_mut();
    -        assert_eq!(iter.next(), Some(&mut 16));
    -        assert_eq!(iter.next(), Some(&mut 9));
    -        assert_eq!(iter.next(), Some(&mut 1));
    -        assert_eq!(iter.next(), Some(&mut 4));
    -        assert_eq!(iter.next(), None);
    +        let mut iter = d.iter_mut();
    +        assert_eq!(iter.next(), Some(&mut 16));
    +        assert_eq!(iter.next(), Some(&mut 9));
    +        assert_eq!(iter.next(), Some(&mut 1));
    +        assert_eq!(iter.next(), Some(&mut 4));
    +        assert_eq!(iter.next(), None);
         }
     
    -    #[test]
    -    fn index() {
    -        let mut d = Deque::new();
    -        d.push_back(1);
    -        d.push_back(2);
    -        d.push_front(3);
    -        d.push_front(4);
    -        // [4, 3, 1, 2]
    -
    -        for i in 0..d.len() {
    -            d[i] *= d[i];
    +    #[test]
    +    fn index() {
    +        let mut d = Deque::new();
    +        d.push_back(1);
    +        d.push_back(2);
    +        d.push_front(3);
    +        d.push_front(4);
    +        // [4, 3, 1, 2]
    +
    +        for i in 0..d.len() {
    +            d[i] *= d[i];
             }
    -        assert_eq!(d[0], 16);
    -        assert_eq!(d[1], 9);
    -        assert_eq!(d[2], 1);
    -        assert_eq!(d[3], 4);
    +        assert_eq!(d[0], 16);
    +        assert_eq!(d[1], 9);
    +        assert_eq!(d[2], 1);
    +        assert_eq!(d[3], 4);
         }
     
    -    #[test]
    -    fn zero_sized() {
    -        let mut d = Deque::new();
    -        d.push_back(());
    -        d.push_front(());
    -        d.push_front(());
    -        d.push_back(());
    -        assert_eq!(d.len(), 4);
    -        assert_eq!(d.pop_back(), Some(()));
    -        assert_eq!(d.pop_back(), Some(()));
    -        assert_eq!(d.len(), 2);
    -        assert_eq!((d[0], d[1]), ((), ()));
    -        assert_eq!(d.front(), Some(&()));
    -        assert_eq!(d.back(), Some(&()));
    -        assert_eq!(d.into_iter().collect::<Vec<_>>(), vec![(), ()],);
    +    #[test]
    +    fn zero_sized() {
    +        let mut d = Deque::new();
    +        d.push_back(());
    +        d.push_front(());
    +        d.push_front(());
    +        d.push_back(());
    +        assert_eq!(d.len(), 4);
    +        assert_eq!(d.pop_back(), Some(()));
    +        assert_eq!(d.pop_back(), Some(()));
    +        assert_eq!(d.len(), 2);
    +        assert_eq!((d[0], d[1]), ((), ()));
    +        assert_eq!(d.front(), Some(&()));
    +        assert_eq!(d.back(), Some(&()));
    +        assert_eq!(d.into_iter().collect::<Vec<_>>(), vec![(), ()],);
         }
     
    -    #[test]
    -    fn complex_data() {
    -        let mut d = Deque::new();
    -        assert_eq!(d.len(), 0);
    -        d.push_front(vec![]);
    -        d.push_back(vec![Box::new(())]);
    -        d.push_back(vec![Box::new(()), Box::new(())]);
    -        d.push_front(vec![Box::new(()), Box::new(()), Box::new(())]);
    -        assert_eq!(d[0].len(), 3);
    -        assert_eq!(d[1].len(), 0);
    -        assert_eq!(d[2].len(), 1);
    -        assert_eq!(d[3].len(), 2);
    +    #[test]
    +    fn complex_data() {
    +        let mut d = Deque::new();
    +        assert_eq!(d.len(), 0);
    +        d.push_front(vec![]);
    +        d.push_back(vec![Box::new(())]);
    +        d.push_back(vec![Box::new(()), Box::new(())]);
    +        d.push_front(vec![Box::new(()), Box::new(()), Box::new(())]);
    +        assert_eq!(d[0].len(), 3);
    +        assert_eq!(d[1].len(), 0);
    +        assert_eq!(d[2].len(), 1);
    +        assert_eq!(d[3].len(), 2);
         }
     
    -    #[test]
    -    fn drop() {
    -        static mut DROPS: u32 = 0;
    -        struct S;
    -        impl Drop for S {
    -            fn drop(&mut self) {
    -                unsafe {
    -                    DROPS += 1;
    +    #[test]
    +    fn drop() {
    +        static mut DROPS: u32 = 0;
    +        struct S;
    +        impl Drop for S {
    +            fn drop(&mut self) {
    +                unsafe {
    +                    DROPS += 1;
                     }
                 }
             }
    -        let mut d = Deque::new();
    -        d.push_back(S);
    -        d.push_back(S);
    -        d.push_back(S);
    -        d.push_front(S);
    -        d.push_front(S);
    -        core::mem::drop(d);
    -        unsafe {
    -            assert_eq!(DROPS, 5);
    +        let mut d = Deque::new();
    +        d.push_back(S);
    +        d.push_back(S);
    +        d.push_back(S);
    +        d.push_front(S);
    +        d.push_front(S);
    +        core::mem::drop(d);
    +        unsafe {
    +            assert_eq!(DROPS, 5);
             }
         }
     }
    -
    -
    - \ No newline at end of file +
    \ No newline at end of file diff --git a/doc/src/rust_algorithm_club/collections/hash_map/mod.rs.html b/doc/src/rust_algorithm_club/collections/hash_map/mod.rs.html index c8e35ccc..a6a06431 100644 --- a/doc/src/rust_algorithm_club/collections/hash_map/mod.rs.html +++ b/doc/src/rust_algorithm_club/collections/hash_map/mod.rs.html @@ -1,1088 +1,1079 @@ -mod.rs - source - -
      1
    -  2
    -  3
    -  4
    -  5
    -  6
    -  7
    -  8
    -  9
    - 10
    - 11
    - 12
    - 13
    - 14
    - 15
    - 16
    - 17
    - 18
    - 19
    - 20
    - 21
    - 22
    - 23
    - 24
    - 25
    - 26
    - 27
    - 28
    - 29
    - 30
    - 31
    - 32
    - 33
    - 34
    - 35
    - 36
    - 37
    - 38
    - 39
    - 40
    - 41
    - 42
    - 43
    - 44
    - 45
    - 46
    - 47
    - 48
    - 49
    - 50
    - 51
    - 52
    - 53
    - 54
    - 55
    - 56
    - 57
    - 58
    - 59
    - 60
    - 61
    - 62
    - 63
    - 64
    - 65
    - 66
    - 67
    - 68
    - 69
    - 70
    - 71
    - 72
    - 73
    - 74
    - 75
    - 76
    - 77
    - 78
    - 79
    - 80
    - 81
    - 82
    - 83
    - 84
    - 85
    - 86
    - 87
    - 88
    - 89
    - 90
    - 91
    - 92
    - 93
    - 94
    - 95
    - 96
    - 97
    - 98
    - 99
    -100
    -101
    -102
    -103
    -104
    -105
    -106
    -107
    -108
    -109
    -110
    -111
    -112
    -113
    -114
    -115
    -116
    -117
    -118
    -119
    -120
    -121
    -122
    -123
    -124
    -125
    -126
    -127
    -128
    -129
    -130
    -131
    -132
    -133
    -134
    -135
    -136
    -137
    -138
    -139
    -140
    -141
    -142
    -143
    -144
    -145
    -146
    -147
    -148
    -149
    -150
    -151
    -152
    -153
    -154
    -155
    -156
    -157
    -158
    -159
    -160
    -161
    -162
    -163
    -164
    -165
    -166
    -167
    -168
    -169
    -170
    -171
    -172
    -173
    -174
    -175
    -176
    -177
    -178
    -179
    -180
    -181
    -182
    -183
    -184
    -185
    -186
    -187
    -188
    -189
    -190
    -191
    -192
    -193
    -194
    -195
    -196
    -197
    -198
    -199
    -200
    -201
    -202
    -203
    -204
    -205
    -206
    -207
    -208
    -209
    -210
    -211
    -212
    -213
    -214
    -215
    -216
    -217
    -218
    -219
    -220
    -221
    -222
    -223
    -224
    -225
    -226
    -227
    -228
    -229
    -230
    -231
    -232
    -233
    -234
    -235
    -236
    -237
    -238
    -239
    -240
    -241
    -242
    -243
    -244
    -245
    -246
    -247
    -248
    -249
    -250
    -251
    -252
    -253
    -254
    -255
    -256
    -257
    -258
    -259
    -260
    -261
    -262
    -263
    -264
    -265
    -266
    -267
    -268
    -269
    -270
    -271
    -272
    -273
    -274
    -275
    -276
    -277
    -278
    -279
    -280
    -281
    -282
    -283
    -284
    -285
    -286
    -287
    -288
    -289
    -290
    -291
    -292
    -293
    -294
    -295
    -296
    -297
    -298
    -299
    -300
    -301
    -302
    -303
    -304
    -305
    -306
    -307
    -308
    -309
    -310
    -311
    -312
    -313
    -314
    -315
    -316
    -317
    -318
    -319
    -320
    -321
    -322
    -323
    -324
    -325
    -326
    -327
    -328
    -329
    -330
    -331
    -332
    -333
    -334
    -335
    -336
    -337
    -338
    -339
    -340
    -341
    -342
    -343
    -344
    -345
    -346
    -347
    -348
    -349
    -350
    -351
    -352
    -353
    -354
    -355
    -356
    -357
    -358
    -359
    -360
    -361
    -362
    -363
    -364
    -365
    -366
    -367
    -368
    -369
    -370
    -371
    -372
    -373
    -374
    -375
    -376
    -377
    -378
    -379
    -380
    -381
    -382
    -383
    -384
    -385
    -386
    -387
    -388
    -389
    -390
    -391
    -392
    -393
    -394
    -395
    -396
    -397
    -398
    -399
    -400
    -401
    -402
    -403
    -404
    -405
    -406
    -407
    -408
    -409
    -410
    -411
    -412
    -413
    -414
    -415
    -416
    -417
    -418
    -419
    -420
    -421
    -422
    -423
    -424
    -425
    -426
    -427
    -428
    -429
    -430
    -431
    -432
    -433
    -434
    -435
    -436
    -437
    -438
    -439
    -440
    -441
    -442
    -443
    -444
    -445
    -446
    -447
    -448
    -449
    -450
    -451
    -452
    -453
    -454
    -455
    -456
    -457
    -458
    -459
    -460
    -461
    -462
    -463
    -464
    -465
    -466
    -467
    -468
    -469
    -470
    -471
    -472
    -473
    -474
    -475
    -476
    -477
    -478
    -479
    -480
    -481
    -482
    -483
    -484
    -485
    -486
    -487
    -488
    -489
    -490
    -491
    -492
    -493
    -494
    -495
    -496
    -497
    -498
    -499
    -500
    -501
    -502
    -503
    -504
    -505
    -506
    -507
    -508
    -509
    -510
    -511
    -512
    -513
    -514
    -515
    -516
    -517
    -518
    -519
    -520
    -521
    -522
    -523
    -524
    -525
    -526
    -527
    -528
    -529
    -530
    -531
    -532
    -533
    -534
    -535
    -536
    -537
    -538
    -539
    -
    use std::borrow::Borrow;
    -use std::collections::hash_map::DefaultHasher;
    -use std::hash::{Hash, Hasher};
    -use std::mem;
    -
    -/// A hash map implemented with separate chaining collision resolution strategy.
    -///
    -/// This implementation is focused on hash map functionalities, so we choose to
    -/// adopt Rust `DefaultHasher` to avoid avalanche of details, and vectors as
    -/// the underlying data structure for separate chaining method.
    -///
    -/// The interface is a simplified version of Rust `HashMap`.
    -///
    -/// References:
    -///
    -/// - [Rust Standard Library: std::collections::HashMap][1]
    -/// - [C++ Container Library: std::unordered_map][2]
    -///
    -/// [1]: https://doc.rust-lang.org/stable/std/collections/struct.HashMap.html
    -/// [2]: https://en.cppreference.com/w/cpp/container/unordered_map
    -pub struct HashMap<K, V>
    -where
    -    K: Hash + Eq,
    +mod.rs - source

    rust_algorithm_club/collections/hash_map/
    mod.rs

    +1
    +2
    +3
    +4
    +5
    +6
    +7
    +8
    +9
    +10
    +11
    +12
    +13
    +14
    +15
    +16
    +17
    +18
    +19
    +20
    +21
    +22
    +23
    +24
    +25
    +26
    +27
    +28
    +29
    +30
    +31
    +32
    +33
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
    +67
    +68
    +69
    +70
    +71
    +72
    +73
    +74
    +75
    +76
    +77
    +78
    +79
    +80
    +81
    +82
    +83
    +84
    +85
    +86
    +87
    +88
    +89
    +90
    +91
    +92
    +93
    +94
    +95
    +96
    +97
    +98
    +99
    +100
    +101
    +102
    +103
    +104
    +105
    +106
    +107
    +108
    +109
    +110
    +111
    +112
    +113
    +114
    +115
    +116
    +117
    +118
    +119
    +120
    +121
    +122
    +123
    +124
    +125
    +126
    +127
    +128
    +129
    +130
    +131
    +132
    +133
    +134
    +135
    +136
    +137
    +138
    +139
    +140
    +141
    +142
    +143
    +144
    +145
    +146
    +147
    +148
    +149
    +150
    +151
    +152
    +153
    +154
    +155
    +156
    +157
    +158
    +159
    +160
    +161
    +162
    +163
    +164
    +165
    +166
    +167
    +168
    +169
    +170
    +171
    +172
    +173
    +174
    +175
    +176
    +177
    +178
    +179
    +180
    +181
    +182
    +183
    +184
    +185
    +186
    +187
    +188
    +189
    +190
    +191
    +192
    +193
    +194
    +195
    +196
    +197
    +198
    +199
    +200
    +201
    +202
    +203
    +204
    +205
    +206
    +207
    +208
    +209
    +210
    +211
    +212
    +213
    +214
    +215
    +216
    +217
    +218
    +219
    +220
    +221
    +222
    +223
    +224
    +225
    +226
    +227
    +228
    +229
    +230
    +231
    +232
    +233
    +234
    +235
    +236
    +237
    +238
    +239
    +240
    +241
    +242
    +243
    +244
    +245
    +246
    +247
    +248
    +249
    +250
    +251
    +252
    +253
    +254
    +255
    +256
    +257
    +258
    +259
    +260
    +261
    +262
    +263
    +264
    +265
    +266
    +267
    +268
    +269
    +270
    +271
    +272
    +273
    +274
    +275
    +276
    +277
    +278
    +279
    +280
    +281
    +282
    +283
    +284
    +285
    +286
    +287
    +288
    +289
    +290
    +291
    +292
    +293
    +294
    +295
    +296
    +297
    +298
    +299
    +300
    +301
    +302
    +303
    +304
    +305
    +306
    +307
    +308
    +309
    +310
    +311
    +312
    +313
    +314
    +315
    +316
    +317
    +318
    +319
    +320
    +321
    +322
    +323
    +324
    +325
    +326
    +327
    +328
    +329
    +330
    +331
    +332
    +333
    +334
    +335
    +336
    +337
    +338
    +339
    +340
    +341
    +342
    +343
    +344
    +345
    +346
    +347
    +348
    +349
    +350
    +351
    +352
    +353
    +354
    +355
    +356
    +357
    +358
    +359
    +360
    +361
    +362
    +363
    +364
    +365
    +366
    +367
    +368
    +369
    +370
    +371
    +372
    +373
    +374
    +375
    +376
    +377
    +378
    +379
    +380
    +381
    +382
    +383
    +384
    +385
    +386
    +387
    +388
    +389
    +390
    +391
    +392
    +393
    +394
    +395
    +396
    +397
    +398
    +399
    +400
    +401
    +402
    +403
    +404
    +405
    +406
    +407
    +408
    +409
    +410
    +411
    +412
    +413
    +414
    +415
    +416
    +417
    +418
    +419
    +420
    +421
    +422
    +423
    +424
    +425
    +426
    +427
    +428
    +429
    +430
    +431
    +432
    +433
    +434
    +435
    +436
    +437
    +438
    +439
    +440
    +441
    +442
    +443
    +444
    +445
    +446
    +447
    +448
    +449
    +450
    +451
    +452
    +453
    +454
    +455
    +456
    +457
    +458
    +459
    +460
    +461
    +462
    +463
    +464
    +465
    +466
    +467
    +468
    +469
    +470
    +471
    +472
    +473
    +474
    +475
    +476
    +477
    +478
    +479
    +480
    +481
    +482
    +483
    +484
    +485
    +486
    +487
    +488
    +489
    +490
    +491
    +492
    +493
    +494
    +495
    +496
    +497
    +498
    +499
    +500
    +501
    +502
    +503
    +504
    +505
    +506
    +507
    +508
    +509
    +510
    +511
    +512
    +513
    +514
    +515
    +516
    +517
    +518
    +519
    +520
    +521
    +522
    +523
    +524
    +525
    +526
    +527
    +528
    +529
    +530
    +531
    +532
    +533
    +534
    +535
    +536
    +537
    +538
    +539
    use std::borrow::Borrow;
    +use std::collections::hash_map::DefaultHasher;
    +use std::hash::{Hash, Hasher};
    +use std::mem;
    +
    +/// A hash map implemented with separate chaining collision resolution strategy.
    +///
    +/// This implementation is focused on hash map functionalities, so we choose to
    +/// adopt Rust `DefaultHasher` to avoid avalanche of details, and vectors as
    +/// the underlying data structure for separate chaining method.
    +///
    +/// The interface is a simplified version of Rust `HashMap`.
    +///
    +/// References:
    +///
    +/// - [Rust Standard Library: std::collections::HashMap][1]
    +/// - [C++ Container Library: std::unordered_map][2]
    +///
    +/// [1]: https://doc.rust-lang.org/stable/std/collections/struct.HashMap.html
    +/// [2]: https://en.cppreference.com/w/cpp/container/unordered_map
    +pub struct HashMap<K, V>
    +where
    +    K: Hash + Eq,
     {
    -    buckets: Vec<Bucket<K, V>>,
    -    len: usize,
    +    buckets: Vec<Bucket<K, V>>,
    +    len: usize,
     }
     
    -/// Internal container to store collided elements.
    -type Bucket<K, V> = Vec<(K, V)>;
    +/// Internal container to store collided elements.
    +type Bucket<K, V> = Vec<(K, V)>;
     
    -/// Default load factor.
    -const LOAD_FACTOR: f64 = 0.75;
    +/// Default load factor.
    +const LOAD_FACTOR: f64 = 0.75;
     
    -/// Computes hash for a given key and modulus.
    -///
    -/// Would fail if `len` equals to zero.
    -fn make_hash<X>(x: &X, len: usize) -> Option<usize>
    -where
    -    X: Hash + ?Sized,
    +/// Computes hash for a given key and modulus.
    +///
    +/// Would fail if `len` equals to zero.
    +fn make_hash<X>(x: &X, len: usize) -> Option<usize>
    +where
    +    X: Hash + ?Sized,
     {
    -    if len == 0 {
    -        return None;
    +    if len == 0 {
    +        return None;
         }
    -    let mut hasher = DefaultHasher::new();
    -    x.hash(&mut hasher);
    -    Some(hasher.finish() as usize % len)
    +    let mut hasher = DefaultHasher::new();
    +    x.hash(&mut hasher);
    +    Some(hasher.finish() as usize % len)
     }
     
    -impl<K, V> HashMap<K, V>
    -where
    -    K: Hash + Eq,
    +impl<K, V> HashMap<K, V>
    +where
    +    K: Hash + Eq,
     {
    -    /// Creates an empty map with capacity 0.
    -    ///
    -    /// The allocation is triggered at the first insertion occurs.
    -    pub fn new() -> Self {
    -        Default::default()
    +    /// Creates an empty map with capacity 0.
    +    ///
    +    /// The allocation is triggered at the first insertion occurs.
    +    pub fn new() -> Self {
    +        Default::default()
         }
     
    -    /// Creates a map with a given capacity as the number of underlying buckets.
    -    ///
    -    /// # Parameters
    -    ///
    -    /// * `cap`: The number of bucket in the map.
    -    pub fn with_capacity(cap: usize) -> Self {
    -        let mut buckets: Vec<Bucket<K, V>> = Vec::with_capacity(cap);
    -        for _ in 0..cap {
    -            buckets.push(Bucket::new());
    +    /// Creates a map with a given capacity as the number of underlying buckets.
    +    ///
    +    /// # Parameters
    +    ///
    +    /// * `cap`: The number of bucket in the map.
    +    pub fn with_capacity(cap: usize) -> Self {
    +        let mut buckets: Vec<Bucket<K, V>> = Vec::with_capacity(cap);
    +        for _ in 0..cap {
    +            buckets.push(Bucket::new());
             }
    -        Self { buckets, len: 0 }
    +        Self { buckets, len: 0 }
         }
     
    -    /// Gets a reference to the value under the specified key.
    -    ///
    -    /// We use Q here to accept any type that K can be borrowed as. For example,
    -    /// given a HashMap m using String as key, both m.get(&String) and m.get(&str)
    -    /// would work because String can be borrow as &str. The same technique is
    -    /// applied for `get_mut` and `remove`.
    -    ///
    -    /// Learn more about Borrow trait:
    -    ///
    -    /// - [Trait std::borrow:Borrow][1]
    -    /// - [TRPL 1st edition: Borrow and AsRef][2]
    -    ///
    -    /// # Complexity
    -    ///
    -    /// Constant (amortized).
    -    ///
    -    /// [1]: https://doc.rust-lang.org/stable/std/borrow/trait.Borrow.html
    -    /// [2]: https://doc.rust-lang.org/stable/book/first-edition/borrow-and-asref.html
    -    pub fn get<Q>(&self, key: &Q) -> Option<&V>
    -    where
    -        K: Borrow<Q>,
    -        Q: Hash + Eq + ?Sized,
    +    /// Gets a reference to the value under the specified key.
    +    ///
    +    /// We use Q here to accept any type that K can be borrowed as. For example,
    +    /// given a HashMap m using String as key, both m.get(&String) and m.get(&str)
    +    /// would work because String can be borrow as &str. The same technique is
    +    /// applied for `get_mut` and `remove`.
    +    ///
    +    /// Learn more about Borrow trait:
    +    ///
    +    /// - [Trait std::borrow:Borrow][1]
    +    /// - [TRPL 1st edition: Borrow and AsRef][2]
    +    ///
    +    /// # Complexity
    +    ///
    +    /// Constant (amortized).
    +    ///
    +    /// [1]: https://doc.rust-lang.org/stable/std/borrow/trait.Borrow.html
    +    /// [2]: https://doc.rust-lang.org/stable/book/first-edition/borrow-and-asref.html
    +    pub fn get<Q>(&self, key: &Q) -> Option<&V>
    +    where
    +        K: Borrow<Q>,
    +        Q: Hash + Eq + ?Sized,
         {
    -        let index = self.make_hash(key)?;
    -        self.buckets.get(index).and_then(|bucket| {
    -            bucket
    -                .iter()
    -                .find(|(k, _)| key == k.borrow())
    -                .map(|(_, v)| v)
    +        let index = self.make_hash(key)?;
    +        self.buckets.get(index).and_then(|bucket| {
    +            bucket
    +                .iter()
    +                .find(|(k, _)| key == k.borrow())
    +                .map(|(_, v)| v)
             })
         }
     
    -    /// Gets a mutable reference to the value under the specified key.
    -    ///
    -    /// # Complexity
    -    ///
    -    /// Constant (amortized).
    -    pub fn get_mut<Q>(&mut self, key: &Q) -> Option<&mut V>
    -    where
    -        K: Borrow<Q>,
    -        Q: Hash + Eq + ?Sized,
    +    /// Gets a mutable reference to the value under the specified key.
    +    ///
    +    /// # Complexity
    +    ///
    +    /// Constant (amortized).
    +    pub fn get_mut<Q>(&mut self, key: &Q) -> Option<&mut V>
    +    where
    +        K: Borrow<Q>,
    +        Q: Hash + Eq + ?Sized,
         {
    -        let index = self.make_hash(key)?;
    -        self.buckets.get_mut(index).and_then(|bucket| {
    -            bucket
    -                .iter_mut()
    -                .find(|(k, _)| key == k.borrow())
    -                .map(|(_, v)| v)
    +        let index = self.make_hash(key)?;
    +        self.buckets.get_mut(index).and_then(|bucket| {
    +            bucket
    +                .iter_mut()
    +                .find(|(k, _)| key == k.borrow())
    +                .map(|(_, v)| v)
             })
         }
     
    -    /// Inserts key-value pair into the map. Replaces previous value if
    -    /// the same key exists at the same index.
    -    ///
    -    /// Returns the old value if the key presents. Otherwise returns `None`.
    -    ///
    -    /// Steps are described as following:
    -    ///
    -    /// 1. Try to resize hashmap to ensure an appropriate load factor.
    -    /// 2. Compute hash of the key to get the inner bucket under certain index.
    -    /// 3. Find if there is already a pair with identical key.
    -    ///     1. If yes, substitute for it.
    -    ///     2. Else, push new value into the bucket.
    -    ///
    -    /// # Parameters
    -    ///
    -    /// * `key` - Key of the pair to insert.
    -    /// * `value` - Value of the pair to insert.
    -    ///
    -    /// # Complexity
    -    ///
    -    /// Constant (amortized).
    -    ///
    -    /// # Panics
    -    ///
    -    /// Panics when either hash map cannot make a hash, or cannot access any
    -    /// available bucket to insert new value. These cases shall not happend
    -    /// under a well-implemented resize policy.
    -    pub fn insert(&mut self, key: K, value: V) -> Option<V> {
    -        self.try_resize();
    -        let index = self
    -            .make_hash(&key)
    -            .expect("Failed to make a hash while insertion");
    -        let bucket = self
    -            .buckets
    -            .get_mut(index)
    -            .expect(&format!("Failed to get bucket[{}] while insetion", index));
    -        match bucket.iter_mut().find(|(k, _)| *k == key) {
    -            Some((_, v)) => Some(mem::replace(v, value)),
    -            None => {
    -                bucket.push((key, value));
    -                self.len += 1; //  Length increase by one.
    -                None
    -            }
    +    /// Inserts key-value pair into the map. Replaces previous value if
    +    /// the same key exists at the same index.
    +    ///
    +    /// Returns the old value if the key presents. Otherwise returns `None`.
    +    ///
    +    /// Steps are described as following:
    +    ///
    +    /// 1. Try to resize hashmap to ensure an appropriate load factor.
    +    /// 2. Compute hash of the key to get the inner bucket under certain index.
    +    /// 3. Find if there is already a pair with identical key.
    +    ///     1. If yes, substitute for it.
    +    ///     2. Else, push new value into the bucket.
    +    ///
    +    /// # Parameters
    +    ///
    +    /// * `key` - Key of the pair to insert.
    +    /// * `value` - Value of the pair to insert.
    +    ///
    +    /// # Complexity
    +    ///
    +    /// Constant (amortized).
    +    ///
    +    /// # Panics
    +    ///
    +    /// Panics when either hash map cannot make a hash, or cannot access any
    +    /// available bucket to insert new value. These cases shall not happend
    +    /// under a well-implemented resize policy.
    +    pub fn insert(&mut self, key: K, value: V) -> Option<V> {
    +        self.try_resize();
    +        let index = self
    +            .make_hash(&key)
    +            .expect("Failed to make a hash while insertion");
    +        let bucket = self
    +            .buckets
    +            .get_mut(index)
    +            .expect(&format!("Failed to get bucket[{}] while insetion", index));
    +        match bucket.iter_mut().find(|(k, _)| *k == key) {
    +            Some((_, v)) => Some(mem::replace(v, value)),
    +            None => {
    +                bucket.push((key, value));
    +                self.len += 1; //  Length increase by one.
    +                None
    +            }
             }
         }
     
    -    /// Removes a pair with specified key.
    -    ///
    -    /// The caveat is that ordering in the bucket cannot be preserved due to
    -    /// the removal using `swap_remove` to ensure O(1) deletion.
    -    ///
    -    /// # Parameters
    -    ///
    -    /// * `key` - Key of the pair to remove.
    -    ///
    -    /// # Complexity
    -    ///
    -    /// Constant. This operation won't shrink to fit automatically.
    -    pub fn remove<Q>(&mut self, key: &Q) -> Option<V>
    -    where
    -        K: Borrow<Q>,
    -        Q: Hash + Eq + ?Sized,
    +    /// Removes a pair with specified key.
    +    ///
    +    /// The caveat is that ordering in the bucket cannot be preserved due to
    +    /// the removal using `swap_remove` to ensure O(1) deletion.
    +    ///
    +    /// # Parameters
    +    ///
    +    /// * `key` - Key of the pair to remove.
    +    ///
    +    /// # Complexity
    +    ///
    +    /// Constant. This operation won't shrink to fit automatically.
    +    pub fn remove<Q>(&mut self, key: &Q) -> Option<V>
    +    where
    +        K: Borrow<Q>,
    +        Q: Hash + Eq + ?Sized,
         {
    -        let index = self.make_hash(key)?;
    -        self.buckets
    -            .get_mut(index)
    -            .and_then(|bucket| {
    -                bucket
    -                    .iter_mut()
    -                    .position(|(k, _)| key == (*k).borrow())
    -                    .map(|index| bucket.swap_remove(index).1) // Extract the pair.
    -            })
    -            .map(|v| {
    -                self.len -= 1; // Length decreases by one.
    -                v
    +        let index = self.make_hash(key)?;
    +        self.buckets
    +            .get_mut(index)
    +            .and_then(|bucket| {
    +                bucket
    +                    .iter_mut()
    +                    .position(|(k, _)| key == (*k).borrow())
    +                    .map(|index| bucket.swap_remove(index).1) // Extract the pair.
    +            })
    +            .map(|v| {
    +                self.len -= 1; // Length decreases by one.
    +                v
                 })
         }
     
    -    /// Removes all key-value pairs but keeps the allocated memory for reuse.
    -    ///
    -    /// # Complexity
    -    ///
    -    /// Linear in the size of the container.
    -    pub fn clear(&mut self) {
    -        for bucket in &mut self.buckets {
    -            *bucket = Bucket::new();
    +    /// Removes all key-value pairs but keeps the allocated memory for reuse.
    +    ///
    +    /// # Complexity
    +    ///
    +    /// Linear in the size of the container.
    +    pub fn clear(&mut self) {
    +        for bucket in &mut self.buckets {
    +            *bucket = Bucket::new();
             }
    -        self.len = 0;
    -    }
    -
    -    ///	Checks whether the container is empty.
    -    ///
    -    /// # Complexity
    -    ///
    -    /// Constant.
    -    pub fn is_empty(&self) -> bool {
    -        self.len == 0
    +        self.len = 0;
         }
     
    -    /// Gets the number of key-value pairs in the container.
    -    ///
    -    /// # Complexity
    -    ///
    -    /// Constant.
    -    pub fn len(&self) -> usize {
    -        self.len
    +    ///	Checks whether the container is empty.
    +    ///
    +    /// # Complexity
    +    ///
    +    /// Constant.
    +    pub fn is_empty(&self) -> bool {
    +        self.len == 0
    +    }
    +
    +    /// Gets the number of key-value pairs in the container.
    +    ///
    +    /// # Complexity
    +    ///
    +    /// Constant.
    +    pub fn len(&self) -> usize {
    +        self.len
         }
     
    -    /// Gets the number of underlying buckets.
    -    ///
    -    /// # Complexity
    -    ///
    -    /// Constant.
    -    pub fn bucket_count(&self) -> usize {
    -        self.buckets.len()
    +    /// Gets the number of underlying buckets.
    +    ///
    +    /// # Complexity
    +    ///
    +    /// Constant.
    +    pub fn bucket_count(&self) -> usize {
    +        self.buckets.len()
         }
     
    -    /// Computes hash for a given key.
    -    ///
    -    /// This is an internal function which calls a private module function.
    -    fn make_hash<X: Hash + ?Sized>(&self, x: &X) -> Option<usize> {
    -        make_hash(x, self.bucket_count())
    +    /// Computes hash for a given key.
    +    ///
    +    /// This is an internal function which calls a private module function.
    +    fn make_hash<X: Hash + ?Sized>(&self, x: &X) -> Option<usize> {
    +        make_hash(x, self.bucket_count())
         }
     
    -    /// Tries to resize the capacity if the usage is over the threshold. The
    -    /// threshold (load factor) of current hash policy is 75%.
    -    ///
    -    /// The are two situation may occur in this function. 1) The capacity is
    -    /// zero, and 2) the capacity reaches the limit. The reason to handle the
    -    /// first situation here is to delay the actual allocation timing for
    -    /// conforming to the lazy allocation pattern of Rust philosophy.
    -    fn try_resize(&mut self) {
    -        let entry_count = self.len();
    -        let capacity = self.bucket_count();
    -
    -        // Initialization.
    -        if capacity == 0 {
    -            self.buckets.push(Bucket::new());
    +    /// Tries to resize the capacity if the usage is over the threshold. The
    +    /// threshold (load factor) of current hash policy is 75%.
    +    ///
    +    /// The are two situation may occur in this function. 1) The capacity is
    +    /// zero, and 2) the capacity reaches the limit. The reason to handle the
    +    /// first situation here is to delay the actual allocation timing for
    +    /// conforming to the lazy allocation pattern of Rust philosophy.
    +    fn try_resize(&mut self) {
    +        let entry_count = self.len();
    +        let capacity = self.bucket_count();
    +
    +        // Initialization.
    +        if capacity == 0 {
    +            self.buckets.push(Bucket::new());
                 return;
             }
     
    -        if entry_count as f64 / capacity as f64 > LOAD_FACTOR {
    -            // Resize. Rehash. Reallocate!
    -            let mut new_map = Self::with_capacity(capacity << 1);
    -            self.buckets
    -                .iter_mut()
    -                .flat_map(|bucket| mem::replace(bucket, vec![]))
    -                .for_each(|(k, v)| {
    -                    new_map.insert(k, v);
    +        if entry_count as f64 / capacity as f64 > LOAD_FACTOR {
    +            // Resize. Rehash. Reallocate!
    +            let mut new_map = Self::with_capacity(capacity << 1);
    +            self.buckets
    +                .iter_mut()
    +                .flat_map(|bucket| mem::replace(bucket, vec![]))
    +                .for_each(|(k, v)| {
    +                    new_map.insert(k, v);
                     });
    -            *self = new_map;
    +            *self = new_map;
             }
         }
     
    -    /// Creates an iterator that yields immutable reference of each element
    -    /// in arbitrary order.
    -    pub fn iter(&self) -> impl Iterator<Item = (&K, &V)> {
    -        self.buckets.iter().flat_map(|b| b).map(|(k, v)| (k, v))
    +    /// Creates an iterator that yields immutable reference of each element
    +    /// in arbitrary order.
    +    pub fn iter(&self) -> impl Iterator<Item = (&K, &V)> {
    +        self.buckets.iter().flat_map(|b| b).map(|(k, v)| (k, v))
         }
     
    -    /// Creates an iterator that yields mutable reference of each element
    -    /// in arbitrary order.
    -    pub fn iter_mut(&mut self) -> impl Iterator<Item = (&K, &mut V)> {
    -        self.buckets
    -            .iter_mut()
    -            .flat_map(|b| b)
    -            .map(|(k, v)| (&*k, v))
    +    /// Creates an iterator that yields mutable reference of each element
    +    /// in arbitrary order.
    +    pub fn iter_mut(&mut self) -> impl Iterator<Item = (&K, &mut V)> {
    +        self.buckets
    +            .iter_mut()
    +            .flat_map(|b| b)
    +            .map(|(k, v)| (&*k, v))
         }
     
    -    /// Creates a consuming iterator yielding elements in arbitrary order.
    -    /// That is, one that moves each value out of the list. The list cannot be
    -    /// used after calling this.
    -    pub fn into_iter(self) -> impl Iterator<Item = (K, V)> {
    -        self.buckets.into_iter().flat_map(|b| b)
    +    /// Creates a consuming iterator yielding elements in arbitrary order.
    +    /// That is, one that moves each value out of the list. The list cannot be
    +    /// used after calling this.
    +    pub fn into_iter(self) -> impl Iterator<Item = (K, V)> {
    +        self.buckets.into_iter().flat_map(|b| b)
         }
     }
     
    -impl<K, V> Default for HashMap<K, V>
    -where
    -    K: Hash + Eq,
    +impl<K, V> Default for HashMap<K, V>
    +where
    +    K: Hash + Eq,
     {
    -    fn default() -> Self {
    -        Self {
    -            buckets: Vec::<Bucket<K, V>>::new(),
    -            len: 0,
    +    fn default() -> Self {
    +        Self {
    +            buckets: Vec::<Bucket<K, V>>::new(),
    +            len: 0,
             }
         }
     }
     
    -#[cfg(test)]
    -mod separate_chaining {
    -    use super::HashMap;
    +#[cfg(test)]
    +mod separate_chaining {
    +    use super::HashMap;
     
    -    type Map<'a> = HashMap<&'a str, &'a str>;
    +    type Map<'a> = HashMap<&'a str, &'a str>;
     
    -    #[test]
    -    fn basics() {
    -        let m = Map::new();
    -        assert_eq!(m.len(), 0);
    -        assert!(m.is_empty());
    +    #[test]
    +    fn basics() {
    +        let m = Map::new();
    +        assert_eq!(m.len(), 0);
    +        assert!(m.is_empty());
         }
     
    -    #[test]
    -    fn insert() {
    -        let mut m = Map::new();
    +    #[test]
    +    fn insert() {
    +        let mut m = Map::new();
     
    -        let ret = m.insert("cat", "cute");
    -        assert!(ret.is_none());
    -        assert_eq!(m.len(), 1);
    +        let ret = m.insert("cat", "cute");
    +        assert!(ret.is_none());
    +        assert_eq!(m.len(), 1);
     
    -        m.insert("dog", "loyal");
    -        assert_eq!(m.len(), 2);
    +        m.insert("dog", "loyal");
    +        assert_eq!(m.len(), 2);
     
    -        // Inserting the same key must replace and return previous entry.
    -        let ret = m.insert("cat", "fat");
    -        assert_eq!(m.len(), 2);
    -        assert_eq!(ret, Some("cute"));
    +        // Inserting the same key must replace and return previous entry.
    +        let ret = m.insert("cat", "fat");
    +        assert_eq!(m.len(), 2);
    +        assert_eq!(ret, Some("cute"));
     
    -        m.insert("rat", "lovely");
    -        assert_eq!(m.len(), 3);
    +        m.insert("rat", "lovely");
    +        assert_eq!(m.len(), 3);
         }
     
    -    #[test]
    -    fn remove() {
    -        let mut m = Map::new();
    +    #[test]
    +    fn remove() {
    +        let mut m = Map::new();
     
    -        m.insert("cat", "cute");
    -        m.insert("dog", "loyal");
    -        m.insert("rat", "lovely");
    +        m.insert("cat", "cute");
    +        m.insert("dog", "loyal");
    +        m.insert("rat", "lovely");
     
    -        // Test remove
    -        m.remove(&"cat");
    -        assert_eq!(m.len(), 2);
    +        // Test remove
    +        m.remove(&"cat");
    +        assert_eq!(m.len(), 2);
     
    -        // No effect
    -        m.remove(&"cat");
    -        assert_eq!(m.len(), 2);
    +        // No effect
    +        m.remove(&"cat");
    +        assert_eq!(m.len(), 2);
     
    -        m.remove(&"dog");
    -        assert_eq!(m.len(), 1);
    +        m.remove(&"dog");
    +        assert_eq!(m.len(), 1);
     
    -        // No effect
    -        m.remove(&"mice");
    -        assert_eq!(m.len(), 1);
    +        // No effect
    +        m.remove(&"mice");
    +        assert_eq!(m.len(), 1);
     
    -        m.remove(&"rat");
    -        assert_eq!(m.len(), 0);
    +        m.remove(&"rat");
    +        assert_eq!(m.len(), 0);
     
    -        // Use String as key
    -        let mut m = HashMap::new();
    -        m.insert("cat".to_string(), "cute");
    -        m.insert("dog".to_string(), "loyal");
    -        m.insert("rat".to_string(), "lovely");
    +        // Use String as key
    +        let mut m = HashMap::new();
    +        m.insert("cat".to_string(), "cute");
    +        m.insert("dog".to_string(), "loyal");
    +        m.insert("rat".to_string(), "lovely");
     
    -        // Query with &String
    -        m.remove(&"cat".to_string());
    -        assert_eq!(m.len(), 2);
    +        // Query with &String
    +        m.remove(&"cat".to_string());
    +        assert_eq!(m.len(), 2);
     
    -        // Query with &str also work
    -        m.remove("dog");
    -        assert_eq!(m.len(), 1);
    +        // Query with &str also work
    +        m.remove("dog");
    +        assert_eq!(m.len(), 1);
         }
     
    -    #[test]
    -    fn get() {
    -        let mut m = Map::new();
    +    #[test]
    +    fn get() {
    +        let mut m = Map::new();
     
    -        m.insert("cat", "cute");
    -        m.insert("dog", "loyal");
    +        m.insert("cat", "cute");
    +        m.insert("dog", "loyal");
     
    -        assert_eq!(m.get(&"cat"), Some(&"cute"));
    -        assert_eq!(m.get(&"dog"), Some(&"loyal"));
    -        assert_eq!(m.get(&"rat"), None);
    +        assert_eq!(m.get(&"cat"), Some(&"cute"));
    +        assert_eq!(m.get(&"dog"), Some(&"loyal"));
    +        assert_eq!(m.get(&"rat"), None);
     
    -        // Use String as key (HashMap<String, &str>)
    -        let mut m = HashMap::new();
    -        m.insert("cat".to_string(), "cute");
    -        m.insert("dog".to_string(), "loyal");
    +        // Use String as key (HashMap<String, &str>)
    +        let mut m = HashMap::new();
    +        m.insert("cat".to_string(), "cute");
    +        m.insert("dog".to_string(), "loyal");
     
    -        // Query with &String
    -        assert_eq!(m.get(&"cat".to_string()), Some(&"cute"));
    -        // Query with &str also work
    -        assert_eq!(m.get("dog"), Some(&"loyal"));
    +        // Query with &String
    +        assert_eq!(m.get(&"cat".to_string()), Some(&"cute"));
    +        // Query with &str also work
    +        assert_eq!(m.get("dog"), Some(&"loyal"));
         }
     
    -    #[test]
    -    fn get_mut() {
    -        let mut m = Map::new();
    -        m.insert("cat", "cute");
    -        m.insert("dog", "loyal");
    -
    -        assert_eq!(m.get_mut(&"cat"), Some(&mut "cute"));
    -        assert_eq!(m.get_mut(&"dog"), Some(&mut "loyal"));
    -        assert!(m.get_mut(&"rat").is_none());
    -
    -        // Mutate the value
    -        m.get_mut(&"cat").map(|v| *v = "lazy");
    -        assert_eq!(m.get_mut(&"cat"), Some(&mut "lazy"));
    -
    -        // Use String as key
    -        let mut m = HashMap::new();
    -        m.insert("cat".to_string(), "cute");
    -        m.insert("dog".to_string(), "loyal");
    -
    -        // Query with &String
    -        assert_eq!(m.get_mut(&"cat".to_string()), Some(&mut "cute"));
    -        // Query with &str also work
    -        assert_eq!(m.get_mut("dog"), Some(&mut "loyal"));
    +    #[test]
    +    fn get_mut() {
    +        let mut m = Map::new();
    +        m.insert("cat", "cute");
    +        m.insert("dog", "loyal");
    +
    +        assert_eq!(m.get_mut(&"cat"), Some(&mut "cute"));
    +        assert_eq!(m.get_mut(&"dog"), Some(&mut "loyal"));
    +        assert!(m.get_mut(&"rat").is_none());
    +
    +        // Mutate the value
    +        m.get_mut(&"cat").map(|v| *v = "lazy");
    +        assert_eq!(m.get_mut(&"cat"), Some(&mut "lazy"));
    +
    +        // Use String as key
    +        let mut m = HashMap::new();
    +        m.insert("cat".to_string(), "cute");
    +        m.insert("dog".to_string(), "loyal");
    +
    +        // Query with &String
    +        assert_eq!(m.get_mut(&"cat".to_string()), Some(&mut "cute"));
    +        // Query with &str also work
    +        assert_eq!(m.get_mut("dog"), Some(&mut "loyal"));
         }
     
    -    #[test]
    -    fn resize() {
    -        let mut m = Map::new();
    -        assert_eq!(m.bucket_count(), 0);
    +    #[test]
    +    fn resize() {
    +        let mut m = Map::new();
    +        assert_eq!(m.bucket_count(), 0);
     
    -        m.insert("cat", "cute");
    -        assert_eq!(m.len(), 1);
    -        assert_eq!(m.bucket_count(), 1);
    +        m.insert("cat", "cute");
    +        assert_eq!(m.len(), 1);
    +        assert_eq!(m.bucket_count(), 1);
     
    -        m.insert("dog", "loyal");
    -        assert_eq!(m.len(), 2);
    -        assert_eq!(m.bucket_count(), 2);
    +        m.insert("dog", "loyal");
    +        assert_eq!(m.len(), 2);
    +        assert_eq!(m.bucket_count(), 2);
     
    -        m.insert("rat", "lovely");
    -        assert_eq!(m.len(), 3);
    -        assert_eq!(m.bucket_count(), 4);
    -
    -        m.insert("dragon", "omnipotent");
    -        assert_eq!(m.len(), 4);
    -        assert_eq!(m.bucket_count(), 4);
    -
    -        m.insert("human", "lazy");
    -        assert_eq!(m.len(), 5);
    -        assert_eq!(m.bucket_count(), 8);
    -    }
    +        m.insert("rat", "lovely");
    +        assert_eq!(m.len(), 3);
    +        assert_eq!(m.bucket_count(), 4);
     
    -    #[test]
    -    fn clear() {
    -        let mut m = Map::new();
    -        m.insert("cat", "cute");
    -        m.insert("dog", "loyal");
    +        m.insert("dragon", "omnipotent");
    +        assert_eq!(m.len(), 4);
    +        assert_eq!(m.bucket_count(), 4);
     
    -        m.clear();
    -        assert!(m.is_empty());
    -        assert_eq!(m.len(), 0);
    -        assert_eq!(m.bucket_count(), 2); // Preserve previous allocation.
    +        m.insert("human", "lazy");
    +        assert_eq!(m.len(), 5);
    +        assert_eq!(m.bucket_count(), 8);
         }
     
    -    #[test]
    -    fn iter() {
    -        let mut m = Map::new();
    -        m.insert("cat", "cute");
    -        m.insert("dog", "loyal");
    -        let mut it = m.iter();
    -        assert!(it.next().is_some());
    -        assert!(it.next().is_some());
    -        assert!(it.next().is_none());
    +    #[test]
    +    fn clear() {
    +        let mut m = Map::new();
    +        m.insert("cat", "cute");
    +        m.insert("dog", "loyal");
    +
    +        m.clear();
    +        assert!(m.is_empty());
    +        assert_eq!(m.len(), 0);
    +        assert_eq!(m.bucket_count(), 2); // Preserve previous allocation.
    +    }
    +
    +    #[test]
    +    fn iter() {
    +        let mut m = Map::new();
    +        m.insert("cat", "cute");
    +        m.insert("dog", "loyal");
    +        let mut it = m.iter();
    +        assert!(it.next().is_some());
    +        assert!(it.next().is_some());
    +        assert!(it.next().is_none());
         }
     
    -    #[test]
    -    fn iter_mut() {
    -        let mut m = Map::new();
    -        m.insert("cat", "cute");
    -        m.insert("dog", "loyal");
    -        m.iter_mut().for_each(|(_, v)| *v = "lazy");
    -        assert_eq!(m.get("cat"), Some(&"lazy"));
    -        assert_eq!(m.get("dog"), Some(&"lazy"));
    +    #[test]
    +    fn iter_mut() {
    +        let mut m = Map::new();
    +        m.insert("cat", "cute");
    +        m.insert("dog", "loyal");
    +        m.iter_mut().for_each(|(_, v)| *v = "lazy");
    +        assert_eq!(m.get("cat"), Some(&"lazy"));
    +        assert_eq!(m.get("dog"), Some(&"lazy"));
         }
     
    -    #[test]
    -    fn into_iter() {
    -        let mut m = Map::new();
    -        m.insert("cat", "cute");
    -        m.insert("dog", "loyal");
    -        m.insert("rat", "lovely");
    -        let vec = m.into_iter().collect::<Vec<_>>();
    -
    -        assert_eq!(vec.len(), 3);
    -        assert!(vec.contains(&("cat", "cute")));
    -        assert!(vec.contains(&("dog", "loyal")));
    -        assert!(vec.contains(&("rat", "lovely")));
    +    #[test]
    +    fn into_iter() {
    +        let mut m = Map::new();
    +        m.insert("cat", "cute");
    +        m.insert("dog", "loyal");
    +        m.insert("rat", "lovely");
    +        let vec = m.into_iter().collect::<Vec<_>>();
    +
    +        assert_eq!(vec.len(), 3);
    +        assert!(vec.contains(&("cat", "cute")));
    +        assert!(vec.contains(&("dog", "loyal")));
    +        assert!(vec.contains(&("rat", "lovely")));
         }
     }
     
    -#[cfg(test)]
    -// TODO: linear probing method
    -mod linear_probing {
    -    #[ignore]
    -    #[test]
    -    fn basics() {}
    +#[cfg(test)]
    +// TODO: linear probing method
    +mod linear_probing {
    +    #[ignore]
    +    #[test]
    +    fn basics() {}
     
    -    #[ignore]
    -    #[test]
    -    fn insert() {}
    +    #[ignore]
    +    #[test]
    +    fn insert() {}
     
    -    #[ignore]
    -    #[test]
    -    fn remove() {}
    +    #[ignore]
    +    #[test]
    +    fn remove() {}
     
    -    #[ignore]
    -    #[test]
    -    fn get() {}
    +    #[ignore]
    +    #[test]
    +    fn get() {}
     
    -    #[ignore]
    -    #[test]
    -    fn get_mut() {}
    +    #[ignore]
    +    #[test]
    +    fn get_mut() {}
     
    -    #[ignore]
    -    #[test]
    -    fn resize() {}
    +    #[ignore]
    +    #[test]
    +    fn resize() {}
     
    -    #[ignore]
    -    #[test]
    -    fn clear() {}
    +    #[ignore]
    +    #[test]
    +    fn clear() {}
     }
    -
    -
    - \ No newline at end of file +
    \ No newline at end of file diff --git a/doc/src/rust_algorithm_club/collections/mod.rs.html b/doc/src/rust_algorithm_club/collections/mod.rs.html index b5ccdc25..7a6fad4c 100644 --- a/doc/src/rust_algorithm_club/collections/mod.rs.html +++ b/doc/src/rust_algorithm_club/collections/mod.rs.html @@ -1,54 +1,45 @@ -mod.rs - source - -
     1
    - 2
    - 3
    - 4
    - 5
    - 6
    - 7
    - 8
    - 9
    -10
    -11
    -12
    -13
    -14
    -15
    -16
    -17
    -18
    -19
    -20
    -21
    -22
    -
    //! Colletions are general-purpose or specialized data structures in which elements store.
    +mod.rs - source

    rust_algorithm_club/collections/
    mod.rs

    +1
    +2
    +3
    +4
    +5
    +6
    +7
    +8
    +9
    +10
    +11
    +12
    +13
    +14
    +15
    +16
    +17
    +18
    +19
    +20
    +21
    +22
    //! Colletions are general-purpose or specialized data structures in which elements store.
     
    -mod singly_linked_list;
    -pub use self::singly_linked_list::SinglyLinkedList;
    +mod singly_linked_list;
    +pub use self::singly_linked_list::SinglyLinkedList;
     
    -mod hash_map;
    -pub use self::hash_map::HashMap;
    +mod hash_map;
    +pub use self::hash_map::HashMap;
     
    -mod set;
    -pub use self::set::HashSet;
    +mod set;
    +pub use self::set::HashSet;
     
    -mod stack;
    -pub use self::stack::Stack;
    +mod stack;
    +pub use self::stack::Stack;
     
    -mod bloom_filter;
    -pub use self::bloom_filter::BloomFilter;
    +mod bloom_filter;
    +pub use self::bloom_filter::BloomFilter;
     
    -mod deque;
    -pub use self::deque::Deque;
    +mod deque;
    +pub use self::deque::Deque;
     
    -mod queue;
    -pub use self::queue::Queue;
    -
    -
    - \ No newline at end of file +mod queue; +pub use self::queue::Queue; +
    \ No newline at end of file diff --git a/doc/src/rust_algorithm_club/collections/queue/mod.rs.html b/doc/src/rust_algorithm_club/collections/queue/mod.rs.html index f97f9be9..e5beb499 100644 --- a/doc/src/rust_algorithm_club/collections/queue/mod.rs.html +++ b/doc/src/rust_algorithm_club/collections/queue/mod.rs.html @@ -1,242 +1,233 @@ -mod.rs - source - -
      1
    -  2
    -  3
    -  4
    -  5
    -  6
    -  7
    -  8
    -  9
    - 10
    - 11
    - 12
    - 13
    - 14
    - 15
    - 16
    - 17
    - 18
    - 19
    - 20
    - 21
    - 22
    - 23
    - 24
    - 25
    - 26
    - 27
    - 28
    - 29
    - 30
    - 31
    - 32
    - 33
    - 34
    - 35
    - 36
    - 37
    - 38
    - 39
    - 40
    - 41
    - 42
    - 43
    - 44
    - 45
    - 46
    - 47
    - 48
    - 49
    - 50
    - 51
    - 52
    - 53
    - 54
    - 55
    - 56
    - 57
    - 58
    - 59
    - 60
    - 61
    - 62
    - 63
    - 64
    - 65
    - 66
    - 67
    - 68
    - 69
    - 70
    - 71
    - 72
    - 73
    - 74
    - 75
    - 76
    - 77
    - 78
    - 79
    - 80
    - 81
    - 82
    - 83
    - 84
    - 85
    - 86
    - 87
    - 88
    - 89
    - 90
    - 91
    - 92
    - 93
    - 94
    - 95
    - 96
    - 97
    - 98
    - 99
    -100
    -101
    -102
    -103
    -104
    -105
    -106
    -107
    -108
    -109
    -110
    -111
    -112
    -113
    -114
    -115
    -116
    -
    /// A queue-like data structure implement through [`std::vec::Vec`][].
    -///
    -/// This is a naive implementation whose insertion time complexity is `O(n)`,
    -/// which can be improved trivially by using a `Deque` or
    -/// [`SinglyLinkedList`](crate::collections::SinglyLinkedList).
    -///
    -/// References:
    -///
    -/// - [Queue (abstract data type)](<https://en.wikipedia.org/wiki/Queue_(abstract_data_type)>)
    -// ANCHOR: struct
    -pub struct Queue<T> {
    -    items: Vec<T>,
    +mod.rs - source

    rust_algorithm_club/collections/queue/
    mod.rs

    +1
    +2
    +3
    +4
    +5
    +6
    +7
    +8
    +9
    +10
    +11
    +12
    +13
    +14
    +15
    +16
    +17
    +18
    +19
    +20
    +21
    +22
    +23
    +24
    +25
    +26
    +27
    +28
    +29
    +30
    +31
    +32
    +33
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
    +67
    +68
    +69
    +70
    +71
    +72
    +73
    +74
    +75
    +76
    +77
    +78
    +79
    +80
    +81
    +82
    +83
    +84
    +85
    +86
    +87
    +88
    +89
    +90
    +91
    +92
    +93
    +94
    +95
    +96
    +97
    +98
    +99
    +100
    +101
    +102
    +103
    +104
    +105
    +106
    +107
    +108
    +109
    +110
    +111
    +112
    +113
    +114
    +115
    +116
    /// A queue-like data structure implement through [`std::vec::Vec`][].
    +///
    +/// This is a naive implementation whose insertion time complexity is `O(n)`,
    +/// which can be improved trivially by using a `Deque` or
    +/// [`SinglyLinkedList`](crate::collections::SinglyLinkedList).
    +///
    +/// References:
    +///
    +/// - [Queue (abstract data type)](<https://en.wikipedia.org/wiki/Queue_(abstract_data_type)>)
    +// ANCHOR: struct
    +pub struct Queue<T> {
    +    items: Vec<T>,
     }
    -// ANCHOR_END: struct
    +// ANCHOR_END: struct
     
    -impl<T> Queue<T> {
    -    /// Initialize a queue with empty vector
    -    // ANCHOR: new
    -    pub fn new() -> Self {
    -        Self { items: Vec::new() }
    +impl<T> Queue<T> {
    +    /// Initialize a queue with empty vector
    +    // ANCHOR: new
    +    pub fn new() -> Self {
    +        Self { items: Vec::new() }
         }
    -    // ANCHOR_END: new
    +    // ANCHOR_END: new
     
    -    /// Adds an element into queue.
    -    ///
    -    /// # Complexity
    -    ///
    -    /// Constant.
    -    // ANCHOR: enqueue
    -    pub fn enqueue(&mut self, item: T) {
    -        self.items.push(item);
    +    /// Adds an element into queue.
    +    ///
    +    /// # Complexity
    +    ///
    +    /// Constant.
    +    // ANCHOR: enqueue
    +    pub fn enqueue(&mut self, item: T) {
    +        self.items.push(item);
         }
    -    // ANCHOR_END: enqueue
    +    // ANCHOR_END: enqueue
     
    -    /// Removes the oldest added element in queue.
    -    ///
    -    /// # Complexity
    -    ///
    -    /// Linear in the size of the container.
    -    // ANCHOR: dequeue
    -    pub fn dequeue(&mut self) -> Option<T> {
    -        match self.items.is_empty() {
    -            false => Some(self.items.remove(0)),
    -            true => None,
    +    /// Removes the oldest added element in queue.
    +    ///
    +    /// # Complexity
    +    ///
    +    /// Linear in the size of the container.
    +    // ANCHOR: dequeue
    +    pub fn dequeue(&mut self) -> Option<T> {
    +        match self.items.is_empty() {
    +            false => Some(self.items.remove(0)),
    +            true => None,
             }
         }
    -    // ANCHOR_END: dequeue
    +    // ANCHOR_END: dequeue
     
    -    /// Retrieves the least recently added element without dequeuing.
    -    ///
    -    /// # Complexity
    -    ///
    -    /// Constant.
    -    // ANCHOR: peek
    -    pub fn peek(&self) -> Option<&T> {
    -        self.items.first()
    +    /// Retrieves the least recently added element without dequeuing.
    +    ///
    +    /// # Complexity
    +    ///
    +    /// Constant.
    +    // ANCHOR: peek
    +    pub fn peek(&self) -> Option<&T> {
    +        self.items.first()
         }
    -    // ANCHOR_END: peek
    +    // ANCHOR_END: peek
     
    -    /// Retrieves the size of the queue.
    -    ///
    -    /// # Complexity
    -    ///
    -    /// Constant.
    -    // ANCHOR: size
    -    pub fn size(&self) -> usize {
    -        self.items.len()
    +    /// Retrieves the size of the queue.
    +    ///
    +    /// # Complexity
    +    ///
    +    /// Constant.
    +    // ANCHOR: size
    +    pub fn size(&self) -> usize {
    +        self.items.len()
         }
    -    // ANCHOR_END: size
    -}
    +    // ANCHOR_END: size
    +}
     
    -#[cfg(test)]
    -mod impl_by_vec {
    -    use super::*;
    +#[cfg(test)]
    +mod impl_by_vec {
    +    use super::*;
     
    -    #[test]
    -    fn new() {
    -        let queue = Queue::<()>::new();
    -        assert!(queue.items.is_empty());
    +    #[test]
    +    fn new() {
    +        let queue = Queue::<()>::new();
    +        assert!(queue.items.is_empty());
         }
     
    -    #[test]
    -    fn enqueue() {
    -        let mut queue = Queue::new();
    -        queue.enqueue(32);
    -        assert_eq!(Some(&32), queue.peek());
    -        assert_eq!(1, queue.size());
    +    #[test]
    +    fn enqueue() {
    +        let mut queue = Queue::new();
    +        queue.enqueue(32);
    +        assert_eq!(Some(&32), queue.peek());
    +        assert_eq!(1, queue.size());
         }
    -    #[test]
    -    fn dequeue() {
    -        let mut queue = Queue::new();
    -        queue.enqueue(32);
    -        assert_eq!(Some(32), queue.dequeue());
    -        assert_eq!(None, queue.dequeue());
    +    #[test]
    +    fn dequeue() {
    +        let mut queue = Queue::new();
    +        queue.enqueue(32);
    +        assert_eq!(Some(32), queue.dequeue());
    +        assert_eq!(None, queue.dequeue());
         }
    -    #[test]
    -    fn size() {
    -        let mut queue = Queue::new();
    -        queue.enqueue(-20);
    -        assert_eq!(1, queue.size());
    -        assert_eq!(Some(&-20), queue.peek());
    +    #[test]
    +    fn size() {
    +        let mut queue = Queue::new();
    +        queue.enqueue(-20);
    +        assert_eq!(1, queue.size());
    +        assert_eq!(Some(&-20), queue.peek());
         }
    -    #[test]
    -    fn integration() {
    -        let mut queue = Queue::new();
    -        queue.enqueue(1);
    -        queue.enqueue(2);
    -        queue.enqueue(3);
    -        assert_eq!(3, queue.size());
    -        assert_eq!(Some(1), queue.dequeue());
    -        assert_eq!(Some(&2), queue.peek());
    -        assert_eq!(Some(2), queue.dequeue());
    -        assert_eq!(Some(3), queue.dequeue());
    -        assert_eq!(0, queue.size());
    +    #[test]
    +    fn integration() {
    +        let mut queue = Queue::new();
    +        queue.enqueue(1);
    +        queue.enqueue(2);
    +        queue.enqueue(3);
    +        assert_eq!(3, queue.size());
    +        assert_eq!(Some(1), queue.dequeue());
    +        assert_eq!(Some(&2), queue.peek());
    +        assert_eq!(Some(2), queue.dequeue());
    +        assert_eq!(Some(3), queue.dequeue());
    +        assert_eq!(0, queue.size());
         }
     }
    -
    -
    - \ No newline at end of file +
    \ No newline at end of file diff --git a/doc/src/rust_algorithm_club/collections/set/mod.rs.html b/doc/src/rust_algorithm_club/collections/set/mod.rs.html index a6b3eea2..adaf1adf 100644 --- a/doc/src/rust_algorithm_club/collections/set/mod.rs.html +++ b/doc/src/rust_algorithm_club/collections/set/mod.rs.html @@ -1,1578 +1,1569 @@ -mod.rs - source - -
      1
    -  2
    -  3
    -  4
    -  5
    -  6
    -  7
    -  8
    -  9
    - 10
    - 11
    - 12
    - 13
    - 14
    - 15
    - 16
    - 17
    - 18
    - 19
    - 20
    - 21
    - 22
    - 23
    - 24
    - 25
    - 26
    - 27
    - 28
    - 29
    - 30
    - 31
    - 32
    - 33
    - 34
    - 35
    - 36
    - 37
    - 38
    - 39
    - 40
    - 41
    - 42
    - 43
    - 44
    - 45
    - 46
    - 47
    - 48
    - 49
    - 50
    - 51
    - 52
    - 53
    - 54
    - 55
    - 56
    - 57
    - 58
    - 59
    - 60
    - 61
    - 62
    - 63
    - 64
    - 65
    - 66
    - 67
    - 68
    - 69
    - 70
    - 71
    - 72
    - 73
    - 74
    - 75
    - 76
    - 77
    - 78
    - 79
    - 80
    - 81
    - 82
    - 83
    - 84
    - 85
    - 86
    - 87
    - 88
    - 89
    - 90
    - 91
    - 92
    - 93
    - 94
    - 95
    - 96
    - 97
    - 98
    - 99
    -100
    -101
    -102
    -103
    -104
    -105
    -106
    -107
    -108
    -109
    -110
    -111
    -112
    -113
    -114
    -115
    -116
    -117
    -118
    -119
    -120
    -121
    -122
    -123
    -124
    -125
    -126
    -127
    -128
    -129
    -130
    -131
    -132
    -133
    -134
    -135
    -136
    -137
    -138
    -139
    -140
    -141
    -142
    -143
    -144
    -145
    -146
    -147
    -148
    -149
    -150
    -151
    -152
    -153
    -154
    -155
    -156
    -157
    -158
    -159
    -160
    -161
    -162
    -163
    -164
    -165
    -166
    -167
    -168
    -169
    -170
    -171
    -172
    -173
    -174
    -175
    -176
    -177
    -178
    -179
    -180
    -181
    -182
    -183
    -184
    -185
    -186
    -187
    -188
    -189
    -190
    -191
    -192
    -193
    -194
    -195
    -196
    -197
    -198
    -199
    -200
    -201
    -202
    -203
    -204
    -205
    -206
    -207
    -208
    -209
    -210
    -211
    -212
    -213
    -214
    -215
    -216
    -217
    -218
    -219
    -220
    -221
    -222
    -223
    -224
    -225
    -226
    -227
    -228
    -229
    -230
    -231
    -232
    -233
    -234
    -235
    -236
    -237
    -238
    -239
    -240
    -241
    -242
    -243
    -244
    -245
    -246
    -247
    -248
    -249
    -250
    -251
    -252
    -253
    -254
    -255
    -256
    -257
    -258
    -259
    -260
    -261
    -262
    -263
    -264
    -265
    -266
    -267
    -268
    -269
    -270
    -271
    -272
    -273
    -274
    -275
    -276
    -277
    -278
    -279
    -280
    -281
    -282
    -283
    -284
    -285
    -286
    -287
    -288
    -289
    -290
    -291
    -292
    -293
    -294
    -295
    -296
    -297
    -298
    -299
    -300
    -301
    -302
    -303
    -304
    -305
    -306
    -307
    -308
    -309
    -310
    -311
    -312
    -313
    -314
    -315
    -316
    -317
    -318
    -319
    -320
    -321
    -322
    -323
    -324
    -325
    -326
    -327
    -328
    -329
    -330
    -331
    -332
    -333
    -334
    -335
    -336
    -337
    -338
    -339
    -340
    -341
    -342
    -343
    -344
    -345
    -346
    -347
    -348
    -349
    -350
    -351
    -352
    -353
    -354
    -355
    -356
    -357
    -358
    -359
    -360
    -361
    -362
    -363
    -364
    -365
    -366
    -367
    -368
    -369
    -370
    -371
    -372
    -373
    -374
    -375
    -376
    -377
    -378
    -379
    -380
    -381
    -382
    -383
    -384
    -385
    -386
    -387
    -388
    -389
    -390
    -391
    -392
    -393
    -394
    -395
    -396
    -397
    -398
    -399
    -400
    -401
    -402
    -403
    -404
    -405
    -406
    -407
    -408
    -409
    -410
    -411
    -412
    -413
    -414
    -415
    -416
    -417
    -418
    -419
    -420
    -421
    -422
    -423
    -424
    -425
    -426
    -427
    -428
    -429
    -430
    -431
    -432
    -433
    -434
    -435
    -436
    -437
    -438
    -439
    -440
    -441
    -442
    -443
    -444
    -445
    -446
    -447
    -448
    -449
    -450
    -451
    -452
    -453
    -454
    -455
    -456
    -457
    -458
    -459
    -460
    -461
    -462
    -463
    -464
    -465
    -466
    -467
    -468
    -469
    -470
    -471
    -472
    -473
    -474
    -475
    -476
    -477
    -478
    -479
    -480
    -481
    -482
    -483
    -484
    -485
    -486
    -487
    -488
    -489
    -490
    -491
    -492
    -493
    -494
    -495
    -496
    -497
    -498
    -499
    -500
    -501
    -502
    -503
    -504
    -505
    -506
    -507
    -508
    -509
    -510
    -511
    -512
    -513
    -514
    -515
    -516
    -517
    -518
    -519
    -520
    -521
    -522
    -523
    -524
    -525
    -526
    -527
    -528
    -529
    -530
    -531
    -532
    -533
    -534
    -535
    -536
    -537
    -538
    -539
    -540
    -541
    -542
    -543
    -544
    -545
    -546
    -547
    -548
    -549
    -550
    -551
    -552
    -553
    -554
    -555
    -556
    -557
    -558
    -559
    -560
    -561
    -562
    -563
    -564
    -565
    -566
    -567
    -568
    -569
    -570
    -571
    -572
    -573
    -574
    -575
    -576
    -577
    -578
    -579
    -580
    -581
    -582
    -583
    -584
    -585
    -586
    -587
    -588
    -589
    -590
    -591
    -592
    -593
    -594
    -595
    -596
    -597
    -598
    -599
    -600
    -601
    -602
    -603
    -604
    -605
    -606
    -607
    -608
    -609
    -610
    -611
    -612
    -613
    -614
    -615
    -616
    -617
    -618
    -619
    -620
    -621
    -622
    -623
    -624
    -625
    -626
    -627
    -628
    -629
    -630
    -631
    -632
    -633
    -634
    -635
    -636
    -637
    -638
    -639
    -640
    -641
    -642
    -643
    -644
    -645
    -646
    -647
    -648
    -649
    -650
    -651
    -652
    -653
    -654
    -655
    -656
    -657
    -658
    -659
    -660
    -661
    -662
    -663
    -664
    -665
    -666
    -667
    -668
    -669
    -670
    -671
    -672
    -673
    -674
    -675
    -676
    -677
    -678
    -679
    -680
    -681
    -682
    -683
    -684
    -685
    -686
    -687
    -688
    -689
    -690
    -691
    -692
    -693
    -694
    -695
    -696
    -697
    -698
    -699
    -700
    -701
    -702
    -703
    -704
    -705
    -706
    -707
    -708
    -709
    -710
    -711
    -712
    -713
    -714
    -715
    -716
    -717
    -718
    -719
    -720
    -721
    -722
    -723
    -724
    -725
    -726
    -727
    -728
    -729
    -730
    -731
    -732
    -733
    -734
    -735
    -736
    -737
    -738
    -739
    -740
    -741
    -742
    -743
    -744
    -745
    -746
    -747
    -748
    -749
    -750
    -751
    -752
    -753
    -754
    -755
    -756
    -757
    -758
    -759
    -760
    -761
    -762
    -763
    -764
    -765
    -766
    -767
    -768
    -769
    -770
    -771
    -772
    -773
    -774
    -775
    -776
    -777
    -778
    -779
    -780
    -781
    -782
    -783
    -784
    -
    use crate::collections::HashMap;
    -use std::borrow::Borrow;
    -use std::cmp::Ordering;
    -use std::hash::Hash;
    -use std::iter::FromIterator;
    -use std::ops::{BitAnd, BitOr, BitXor, Sub};
    -
    -/// A hash set implementation based on `HashMap`.
    -///
    -/// References:
    -///
    -/// - [Rust Standard Library: std::collections::HashSet][1]
    -///
    -/// [1]: https://doc.rust-lang.org/stable/std/collections/struct.HashMap.html
    -pub struct HashSet<T>
    -where
    -    T: Hash + Eq,
    +mod.rs - source

    rust_algorithm_club/collections/set/
    mod.rs

    +1
    +2
    +3
    +4
    +5
    +6
    +7
    +8
    +9
    +10
    +11
    +12
    +13
    +14
    +15
    +16
    +17
    +18
    +19
    +20
    +21
    +22
    +23
    +24
    +25
    +26
    +27
    +28
    +29
    +30
    +31
    +32
    +33
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
    +67
    +68
    +69
    +70
    +71
    +72
    +73
    +74
    +75
    +76
    +77
    +78
    +79
    +80
    +81
    +82
    +83
    +84
    +85
    +86
    +87
    +88
    +89
    +90
    +91
    +92
    +93
    +94
    +95
    +96
    +97
    +98
    +99
    +100
    +101
    +102
    +103
    +104
    +105
    +106
    +107
    +108
    +109
    +110
    +111
    +112
    +113
    +114
    +115
    +116
    +117
    +118
    +119
    +120
    +121
    +122
    +123
    +124
    +125
    +126
    +127
    +128
    +129
    +130
    +131
    +132
    +133
    +134
    +135
    +136
    +137
    +138
    +139
    +140
    +141
    +142
    +143
    +144
    +145
    +146
    +147
    +148
    +149
    +150
    +151
    +152
    +153
    +154
    +155
    +156
    +157
    +158
    +159
    +160
    +161
    +162
    +163
    +164
    +165
    +166
    +167
    +168
    +169
    +170
    +171
    +172
    +173
    +174
    +175
    +176
    +177
    +178
    +179
    +180
    +181
    +182
    +183
    +184
    +185
    +186
    +187
    +188
    +189
    +190
    +191
    +192
    +193
    +194
    +195
    +196
    +197
    +198
    +199
    +200
    +201
    +202
    +203
    +204
    +205
    +206
    +207
    +208
    +209
    +210
    +211
    +212
    +213
    +214
    +215
    +216
    +217
    +218
    +219
    +220
    +221
    +222
    +223
    +224
    +225
    +226
    +227
    +228
    +229
    +230
    +231
    +232
    +233
    +234
    +235
    +236
    +237
    +238
    +239
    +240
    +241
    +242
    +243
    +244
    +245
    +246
    +247
    +248
    +249
    +250
    +251
    +252
    +253
    +254
    +255
    +256
    +257
    +258
    +259
    +260
    +261
    +262
    +263
    +264
    +265
    +266
    +267
    +268
    +269
    +270
    +271
    +272
    +273
    +274
    +275
    +276
    +277
    +278
    +279
    +280
    +281
    +282
    +283
    +284
    +285
    +286
    +287
    +288
    +289
    +290
    +291
    +292
    +293
    +294
    +295
    +296
    +297
    +298
    +299
    +300
    +301
    +302
    +303
    +304
    +305
    +306
    +307
    +308
    +309
    +310
    +311
    +312
    +313
    +314
    +315
    +316
    +317
    +318
    +319
    +320
    +321
    +322
    +323
    +324
    +325
    +326
    +327
    +328
    +329
    +330
    +331
    +332
    +333
    +334
    +335
    +336
    +337
    +338
    +339
    +340
    +341
    +342
    +343
    +344
    +345
    +346
    +347
    +348
    +349
    +350
    +351
    +352
    +353
    +354
    +355
    +356
    +357
    +358
    +359
    +360
    +361
    +362
    +363
    +364
    +365
    +366
    +367
    +368
    +369
    +370
    +371
    +372
    +373
    +374
    +375
    +376
    +377
    +378
    +379
    +380
    +381
    +382
    +383
    +384
    +385
    +386
    +387
    +388
    +389
    +390
    +391
    +392
    +393
    +394
    +395
    +396
    +397
    +398
    +399
    +400
    +401
    +402
    +403
    +404
    +405
    +406
    +407
    +408
    +409
    +410
    +411
    +412
    +413
    +414
    +415
    +416
    +417
    +418
    +419
    +420
    +421
    +422
    +423
    +424
    +425
    +426
    +427
    +428
    +429
    +430
    +431
    +432
    +433
    +434
    +435
    +436
    +437
    +438
    +439
    +440
    +441
    +442
    +443
    +444
    +445
    +446
    +447
    +448
    +449
    +450
    +451
    +452
    +453
    +454
    +455
    +456
    +457
    +458
    +459
    +460
    +461
    +462
    +463
    +464
    +465
    +466
    +467
    +468
    +469
    +470
    +471
    +472
    +473
    +474
    +475
    +476
    +477
    +478
    +479
    +480
    +481
    +482
    +483
    +484
    +485
    +486
    +487
    +488
    +489
    +490
    +491
    +492
    +493
    +494
    +495
    +496
    +497
    +498
    +499
    +500
    +501
    +502
    +503
    +504
    +505
    +506
    +507
    +508
    +509
    +510
    +511
    +512
    +513
    +514
    +515
    +516
    +517
    +518
    +519
    +520
    +521
    +522
    +523
    +524
    +525
    +526
    +527
    +528
    +529
    +530
    +531
    +532
    +533
    +534
    +535
    +536
    +537
    +538
    +539
    +540
    +541
    +542
    +543
    +544
    +545
    +546
    +547
    +548
    +549
    +550
    +551
    +552
    +553
    +554
    +555
    +556
    +557
    +558
    +559
    +560
    +561
    +562
    +563
    +564
    +565
    +566
    +567
    +568
    +569
    +570
    +571
    +572
    +573
    +574
    +575
    +576
    +577
    +578
    +579
    +580
    +581
    +582
    +583
    +584
    +585
    +586
    +587
    +588
    +589
    +590
    +591
    +592
    +593
    +594
    +595
    +596
    +597
    +598
    +599
    +600
    +601
    +602
    +603
    +604
    +605
    +606
    +607
    +608
    +609
    +610
    +611
    +612
    +613
    +614
    +615
    +616
    +617
    +618
    +619
    +620
    +621
    +622
    +623
    +624
    +625
    +626
    +627
    +628
    +629
    +630
    +631
    +632
    +633
    +634
    +635
    +636
    +637
    +638
    +639
    +640
    +641
    +642
    +643
    +644
    +645
    +646
    +647
    +648
    +649
    +650
    +651
    +652
    +653
    +654
    +655
    +656
    +657
    +658
    +659
    +660
    +661
    +662
    +663
    +664
    +665
    +666
    +667
    +668
    +669
    +670
    +671
    +672
    +673
    +674
    +675
    +676
    +677
    +678
    +679
    +680
    +681
    +682
    +683
    +684
    +685
    +686
    +687
    +688
    +689
    +690
    +691
    +692
    +693
    +694
    +695
    +696
    +697
    +698
    +699
    +700
    +701
    +702
    +703
    +704
    +705
    +706
    +707
    +708
    +709
    +710
    +711
    +712
    +713
    +714
    +715
    +716
    +717
    +718
    +719
    +720
    +721
    +722
    +723
    +724
    +725
    +726
    +727
    +728
    +729
    +730
    +731
    +732
    +733
    +734
    +735
    +736
    +737
    +738
    +739
    +740
    +741
    +742
    +743
    +744
    +745
    +746
    +747
    +748
    +749
    +750
    +751
    +752
    +753
    +754
    +755
    +756
    +757
    +758
    +759
    +760
    +761
    +762
    +763
    +764
    +765
    +766
    +767
    +768
    +769
    +770
    +771
    +772
    +773
    +774
    +775
    +776
    +777
    +778
    +779
    +780
    +781
    +782
    +783
    +784
    use crate::collections::HashMap;
    +use std::borrow::Borrow;
    +use std::cmp::Ordering;
    +use std::hash::Hash;
    +use std::iter::FromIterator;
    +use std::ops::{BitAnd, BitOr, BitXor, Sub};
    +
    +/// A hash set implementation based on `HashMap`.
    +///
    +/// References:
    +///
    +/// - [Rust Standard Library: std::collections::HashSet][1]
    +///
    +/// [1]: https://doc.rust-lang.org/stable/std/collections/struct.HashMap.html
    +pub struct HashSet<T>
    +where
    +    T: Hash + Eq,
     {
    -    hash_map: HashMap<T, ()>,
    +    hash_map: HashMap<T, ()>,
     }
     
    -impl<T> HashSet<T>
    -where
    -    T: Hash + Eq,
    +impl<T> HashSet<T>
    +where
    +    T: Hash + Eq,
     {
    -    /// Creates an empty set.
    -    pub fn new() -> Self {
    -        Default::default()
    +    /// Creates an empty set.
    +    pub fn new() -> Self {
    +        Default::default()
         }
     
    -    /// Gets the number of non-repetitive elements, equivalently to the cardinality of a set.
    -    ///
    -    /// # Complexity
    -    ///
    -    /// Constant.
    -    pub fn len(&self) -> usize {
    -        self.hash_map.len()
    +    /// Gets the number of non-repetitive elements, equivalently to the cardinality of a set.
    +    ///
    +    /// # Complexity
    +    ///
    +    /// Constant.
    +    pub fn len(&self) -> usize {
    +        self.hash_map.len()
         }
     
    -    /// Returns whether there is no any element in the set.
    -    ///
    -    /// # Complexity
    -    ///
    -    /// Constant.
    -    pub fn is_empty(&self) -> bool {
    -        self.hash_map.is_empty()
    +    /// Returns whether there is no any element in the set.
    +    ///
    +    /// # Complexity
    +    ///
    +    /// Constant.
    +    pub fn is_empty(&self) -> bool {
    +        self.hash_map.is_empty()
         }
     
    -    /// Inserts an element into the set.
    -    ///
    -    /// Returns `true` if there were no such element in the set; returns `false`
    -    /// if an identical element is already in the set.
    -    ///
    -    /// # Parameters
    -    ///
    -    /// * `value` - Element to be inserted.
    -    ///
    -    /// # Complexity
    -    ///
    -    /// Constant.
    -    pub fn insert(&mut self, value: T) -> bool {
    -        self.hash_map.insert(value, ()).is_none()
    +    /// Inserts an element into the set.
    +    ///
    +    /// Returns `true` if there were no such element in the set; returns `false`
    +    /// if an identical element is already in the set.
    +    ///
    +    /// # Parameters
    +    ///
    +    /// * `value` - Element to be inserted.
    +    ///
    +    /// # Complexity
    +    ///
    +    /// Constant.
    +    pub fn insert(&mut self, value: T) -> bool {
    +        self.hash_map.insert(value, ()).is_none()
         }
     
    -    /// Returns whether an element is present in the set.
    -    ///
    -    /// This is equivalent to "belongs to ∈" relation in mathematics.
    -    ///
    -    /// # Parameters
    -    ///
    -    /// * `value` - Element to be checked whether is in the set.
    -    ///
    -    /// # Complexity
    -    ///
    -    /// Constant.
    -    pub fn contains<Q>(&self, value: &Q) -> bool
    -    where
    -        T: Borrow<Q>,
    -        Q: Hash + Eq + ?Sized,
    +    /// Returns whether an element is present in the set.
    +    ///
    +    /// This is equivalent to "belongs to ∈" relation in mathematics.
    +    ///
    +    /// # Parameters
    +    ///
    +    /// * `value` - Element to be checked whether is in the set.
    +    ///
    +    /// # Complexity
    +    ///
    +    /// Constant.
    +    pub fn contains<Q>(&self, value: &Q) -> bool
    +    where
    +        T: Borrow<Q>,
    +        Q: Hash + Eq + ?Sized,
         {
    -        self.hash_map.get(value).is_some()
    +        self.hash_map.get(value).is_some()
         }
     
    -    /// Removes an element from the set.
    -    ///
    -    /// Returns `true` if such item was present and removed; returns `false`
    -    /// if no such item was found in the set.
    -    ///
    -    /// # Parameters
    -    ///
    -    /// * `value` - Element to be removed.
    -    ///
    -    /// # Complexity
    -    ///
    -    /// Constant.
    -    pub fn remove<Q>(&mut self, value: &Q) -> bool
    -    where
    -        T: Borrow<Q>,
    -        Q: Hash + Eq + ?Sized,
    +    /// Removes an element from the set.
    +    ///
    +    /// Returns `true` if such item was present and removed; returns `false`
    +    /// if no such item was found in the set.
    +    ///
    +    /// # Parameters
    +    ///
    +    /// * `value` - Element to be removed.
    +    ///
    +    /// # Complexity
    +    ///
    +    /// Constant.
    +    pub fn remove<Q>(&mut self, value: &Q) -> bool
    +    where
    +        T: Borrow<Q>,
    +        Q: Hash + Eq + ?Sized,
         {
    -        self.hash_map.remove(value).is_some()
    +        self.hash_map.remove(value).is_some()
         }
     
    -    /// Creates an iterator yielding immutable reference of each item in arbitrary order.
    -    pub fn iter(&self) -> impl Iterator<Item = &T> {
    -        self.hash_map.iter().map(|(k, _)| k)
    +    /// Creates an iterator yielding immutable reference of each item in arbitrary order.
    +    pub fn iter(&self) -> impl Iterator<Item = &T> {
    +        self.hash_map.iter().map(|(k, _)| k)
         }
     
    -    /// Returns an iterator visiting items that exists in `self`, in `other`,
    -    /// or in both `self` and `other`
    -    ///
    -    /// This is equivalent to `self ∪ other` in mathematics.
    -    ///
    -    /// # Parameters
    -    ///
    -    /// * `other` - The other set.
    -    pub fn union<'a>(&'a self, other: &'a HashSet<T>) -> impl Iterator<Item = &T> {
    -        // self ∪ (other \ self)
    -        self.iter().chain(other.difference(self))
    +    /// Returns an iterator visiting items that exists in `self`, in `other`,
    +    /// or in both `self` and `other`
    +    ///
    +    /// This is equivalent to `self ∪ other` in mathematics.
    +    ///
    +    /// # Parameters
    +    ///
    +    /// * `other` - The other set.
    +    pub fn union<'a>(&'a self, other: &'a HashSet<T>) -> impl Iterator<Item = &T> {
    +        // self ∪ (other \ self)
    +        self.iter().chain(other.difference(self))
         }
     
    -    /// Returns an iterator visiting items that exists in `self` but not in `other`.
    -    ///
    -    /// This is equivalent to `self \ other` in mathematics.
    -    ///
    -    /// # Parameters
    -    ///
    -    /// * `other` - The other set.
    -    pub fn difference<'a>(&'a self, other: &'a HashSet<T>) -> impl Iterator<Item = &T> {
    -        self.iter().filter(move |item| !other.contains(item))
    +    /// Returns an iterator visiting items that exists in `self` but not in `other`.
    +    ///
    +    /// This is equivalent to `self \ other` in mathematics.
    +    ///
    +    /// # Parameters
    +    ///
    +    /// * `other` - The other set.
    +    pub fn difference<'a>(&'a self, other: &'a HashSet<T>) -> impl Iterator<Item = &T> {
    +        self.iter().filter(move |item| !other.contains(item))
         }
     
    -    /// Returns an iterator visiting items that only exists in either `self` or
    -    /// `other` but not in their intersection.
    -    ///
    -    /// This is equivalent to `self △ other` in mathematics.
    -    ///
    -    /// # Parameters
    -    ///
    -    /// * `other` - The other set.
    -    pub fn symmetric_difference<'a>(&'a self, other: &'a HashSet<T>) -> impl Iterator<Item = &T> {
    -        // (self \ other) ∪ (other \ self)
    -        self.difference(other).chain(other.difference(self))
    +    /// Returns an iterator visiting items that only exists in either `self` or
    +    /// `other` but not in their intersection.
    +    ///
    +    /// This is equivalent to `self △ other` in mathematics.
    +    ///
    +    /// # Parameters
    +    ///
    +    /// * `other` - The other set.
    +    pub fn symmetric_difference<'a>(&'a self, other: &'a HashSet<T>) -> impl Iterator<Item = &T> {
    +        // (self \ other) ∪ (other \ self)
    +        self.difference(other).chain(other.difference(self))
         }
     
    -    /// Returns an iterator visiting items that exists in both `self` and `other`.
    -    ///
    -    /// This is equivalent to `self ∩ other` in mathematics.
    -    ///
    -    /// # Parameters
    -    ///
    -    /// * `other` - The other set.
    -    pub fn intersection<'a>(&'a self, other: &'a HashSet<T>) -> impl Iterator<Item = &T> {
    -        self.iter().filter(move |item| other.contains(item))
    +    /// Returns an iterator visiting items that exists in both `self` and `other`.
    +    ///
    +    /// This is equivalent to `self ∩ other` in mathematics.
    +    ///
    +    /// # Parameters
    +    ///
    +    /// * `other` - The other set.
    +    pub fn intersection<'a>(&'a self, other: &'a HashSet<T>) -> impl Iterator<Item = &T> {
    +        self.iter().filter(move |item| other.contains(item))
         }
     
    -    /// Returns true if `self` has no elements in common with `other`.
    -    ///
    -    /// This is equivalent to checking for an empty intersection, which means
    -    /// their intersection is the empty set ∅.
    -    ///
    -    /// # Parameters
    -    ///
    -    /// * `other` - The other set.
    -    ///
    -    /// # Complexity
    -    ///
    -    /// Linear in the size of `self`.
    -    pub fn is_disjoint(&self, other: &HashSet<T>) -> bool {
    -        self.intersection(other).count() == 0
    -    }
    -
    -    /// Returns true if `other` contains at least all elements in `self`.
    -    ///
    -    /// This is equivalent to `self ⊆ other` in mathematics.
    -    ///
    -    /// # Parameters
    -    ///
    -    /// * `other` - The other set.
    -    ///
    -    /// # Complexity
    -    ///
    -    /// Linear in the size of `self`.
    -    pub fn is_subset(&self, other: &HashSet<T>) -> bool {
    -        if self.len() > other.len() {
    -            return false;
    +    /// Returns true if `self` has no elements in common with `other`.
    +    ///
    +    /// This is equivalent to checking for an empty intersection, which means
    +    /// their intersection is the empty set ∅.
    +    ///
    +    /// # Parameters
    +    ///
    +    /// * `other` - The other set.
    +    ///
    +    /// # Complexity
    +    ///
    +    /// Linear in the size of `self`.
    +    pub fn is_disjoint(&self, other: &HashSet<T>) -> bool {
    +        self.intersection(other).count() == 0
    +    }
    +
    +    /// Returns true if `other` contains at least all elements in `self`.
    +    ///
    +    /// This is equivalent to `self ⊆ other` in mathematics.
    +    ///
    +    /// # Parameters
    +    ///
    +    /// * `other` - The other set.
    +    ///
    +    /// # Complexity
    +    ///
    +    /// Linear in the size of `self`.
    +    pub fn is_subset(&self, other: &HashSet<T>) -> bool {
    +        if self.len() > other.len() {
    +            return false;
             }
    -        self.iter().all(|item| other.contains(&item))
    +        self.iter().all(|item| other.contains(&item))
         }
     
    -    /// Returns true if `self` contains at least all elements in `other`.
    -    ///
    -    /// This is equivalent to `self ⊇ other` in mathematics.
    -    ///
    -    /// # Parameters
    -    ///
    -    /// * `other` - The other set.
    -    ///
    -    /// # Complexity
    -    ///
    -    /// Linear in the size of `other`.
    -    pub fn is_superset(&self, other: &HashSet<T>) -> bool {
    -        other.is_subset(self)
    +    /// Returns true if `self` contains at least all elements in `other`.
    +    ///
    +    /// This is equivalent to `self ⊇ other` in mathematics.
    +    ///
    +    /// # Parameters
    +    ///
    +    /// * `other` - The other set.
    +    ///
    +    /// # Complexity
    +    ///
    +    /// Linear in the size of `other`.
    +    pub fn is_superset(&self, other: &HashSet<T>) -> bool {
    +        other.is_subset(self)
         }
     }
     
    -impl<T> Default for HashSet<T>
    -where
    -    T: Hash + Eq,
    +impl<T> Default for HashSet<T>
    +where
    +    T: Hash + Eq,
     {
    -    fn default() -> Self {
    -        Self {
    -            hash_map: HashMap::new(),
    +    fn default() -> Self {
    +        Self {
    +            hash_map: HashMap::new(),
             }
         }
     }
     
    -impl<T> PartialEq for HashSet<T>
    -where
    -    T: Hash + Eq,
    +impl<T> PartialEq for HashSet<T>
    +where
    +    T: Hash + Eq,
     {
    -    /// Checks the equality of sets.
    -    ///
    -    /// Two sets are defined to be equal if they contain the same elements and
    -    /// their cardinality are equal.
    -    ///
    -    /// Set theory definition: x = y ⇒ ∀z, (z ∈ x ⇔ z ∈ y)
    -    ///
    -    /// # Parameters
    -    ///
    -    /// * `other` - The other set.
    -    ///
    -    /// # Complexity
    -    ///
    -    /// Linear in the size of `self`.
    -    fn eq(&self, other: &HashSet<T>) -> bool {
    -        if self.len() != other.len() {
    -            return false;
    +    /// Checks the equality of sets.
    +    ///
    +    /// Two sets are defined to be equal if they contain the same elements and
    +    /// their cardinality are equal.
    +    ///
    +    /// Set theory definition: x = y ⇒ ∀z, (z ∈ x ⇔ z ∈ y)
    +    ///
    +    /// # Parameters
    +    ///
    +    /// * `other` - The other set.
    +    ///
    +    /// # Complexity
    +    ///
    +    /// Linear in the size of `self`.
    +    fn eq(&self, other: &HashSet<T>) -> bool {
    +        if self.len() != other.len() {
    +            return false;
             }
    -        self.iter().all(|item| other.contains(&item))
    +        self.iter().all(|item| other.contains(&item))
         }
     }
     
    -/// A set is reflecxively equal to itself.
    -impl<T> Eq for HashSet<T> where T: Hash + Eq {}
    +/// A set is reflecxively equal to itself.
    +impl<T> Eq for HashSet<T> where T: Hash + Eq {}
     
    -impl<T> PartialOrd for HashSet<T>
    -where
    -    T: Hash + Eq,
    +impl<T> PartialOrd for HashSet<T>
    +where
    +    T: Hash + Eq,
     {
    -    /// Compares sets to determine whether one is a subset of the other or not.
    -    ///
    -    /// # Parameters
    -    ///
    -    /// * `other` - The other set.
    -    ///
    -    /// # Complexity
    -    ///
    -    /// Linear in the size of `max(self, other)`.
    -    fn partial_cmp(&self, other: &HashSet<T>) -> Option<Ordering> {
    -        let is_subset = self.is_subset(other);
    -        let same_size = self.len() == other.len();
    -        match (is_subset, same_size) {
    -            (true, true) => Some(Ordering::Equal),
    -            (true, false) => Some(Ordering::Less),
    +    /// Compares sets to determine whether one is a subset of the other or not.
    +    ///
    +    /// # Parameters
    +    ///
    +    /// * `other` - The other set.
    +    ///
    +    /// # Complexity
    +    ///
    +    /// Linear in the size of `max(self, other)`.
    +    fn partial_cmp(&self, other: &HashSet<T>) -> Option<Ordering> {
    +        let is_subset = self.is_subset(other);
    +        let same_size = self.len() == other.len();
    +        match (is_subset, same_size) {
    +            (true, true) => Some(Ordering::Equal),
    +            (true, false) => Some(Ordering::Less),
                 (false, true) => None,
    -            _ => Some(Ordering::Greater).filter(|_| self.is_superset(other)),
    +            _ => Some(Ordering::Greater).filter(|_| self.is_superset(other)),
             }
         }
     }
     
    -impl<T> FromIterator<T> for HashSet<T>
    -where
    -    T: Hash + Eq,
    +impl<T> FromIterator<T> for HashSet<T>
    +where
    +    T: Hash + Eq,
     {
    -    fn from_iter<I>(iter: I) -> Self
    -    where
    -        I: IntoIterator<Item = T>,
    +    fn from_iter<I>(iter: I) -> Self
    +    where
    +        I: IntoIterator<Item = T>,
         {
    -        let mut s = Self::new();
    -        iter.into_iter().for_each(|i| {
    -            s.insert(i);
    +        let mut s = Self::new();
    +        iter.into_iter().for_each(|i| {
    +            s.insert(i);
             });
    -        s
    +        s
         }
     }
     
    -/// The bitor operator `|`, as an alias of `union()`.
    -impl<'a, 'b, T> BitOr<&'b HashSet<T>> for &'a HashSet<T>
    -where
    -    T: Hash + Eq + Clone,
    +/// The bitor operator `|`, as an alias of `union()`.
    +impl<'a, 'b, T> BitOr<&'b HashSet<T>> for &'a HashSet<T>
    +where
    +    T: Hash + Eq + Clone,
     {
    -    type Output = HashSet<T>;
    +    type Output = HashSet<T>;
     
    -    fn bitor(self, rhs: &'b HashSet<T>) -> Self::Output {
    -        self.union(&rhs).cloned().collect()
    +    fn bitor(self, rhs: &'b HashSet<T>) -> Self::Output {
    +        self.union(&rhs).cloned().collect()
         }
     }
     
    -/// The sub operator `-`, as an alias of `difference()`.
    -impl<'a, 'b, T> Sub<&'b HashSet<T>> for &'a HashSet<T>
    -where
    -    T: Hash + Eq + Clone,
    +/// The sub operator `-`, as an alias of `difference()`.
    +impl<'a, 'b, T> Sub<&'b HashSet<T>> for &'a HashSet<T>
    +where
    +    T: Hash + Eq + Clone,
     {
    -    type Output = HashSet<T>;
    +    type Output = HashSet<T>;
     
    -    fn sub(self, rhs: &'b HashSet<T>) -> Self::Output {
    -        self.difference(&rhs).cloned().collect()
    +    fn sub(self, rhs: &'b HashSet<T>) -> Self::Output {
    +        self.difference(&rhs).cloned().collect()
         }
     }
     
    -/// The bitxor operator `^`, as an alias of `symmetric_difference()`.
    -impl<'a, 'b, T> BitXor<&'b HashSet<T>> for &'a HashSet<T>
    -where
    -    T: Hash + Eq + Clone,
    +/// The bitxor operator `^`, as an alias of `symmetric_difference()`.
    +impl<'a, 'b, T> BitXor<&'b HashSet<T>> for &'a HashSet<T>
    +where
    +    T: Hash + Eq + Clone,
     {
    -    type Output = HashSet<T>;
    +    type Output = HashSet<T>;
     
    -    fn bitxor(self, rhs: &'b HashSet<T>) -> Self::Output {
    -        self.symmetric_difference(&rhs).cloned().collect()
    +    fn bitxor(self, rhs: &'b HashSet<T>) -> Self::Output {
    +        self.symmetric_difference(&rhs).cloned().collect()
         }
     }
     
    -/// The bit_and operator `&`, as an alias of intersection().
    -impl<'a, 'b, T> BitAnd<&'b HashSet<T>> for &'a HashSet<T>
    -where
    -    T: Hash + Eq + Clone,
    +/// The bit_and operator `&`, as an alias of intersection().
    +impl<'a, 'b, T> BitAnd<&'b HashSet<T>> for &'a HashSet<T>
    +where
    +    T: Hash + Eq + Clone,
     {
    -    type Output = HashSet<T>;
    +    type Output = HashSet<T>;
     
    -    fn bitand(self, rhs: &'b HashSet<T>) -> Self::Output {
    -        self.intersection(&rhs).cloned().collect()
    +    fn bitand(self, rhs: &'b HashSet<T>) -> Self::Output {
    +        self.intersection(&rhs).cloned().collect()
         }
     }
     
    -#[cfg(test)]
    -mod basics {
    -    use super::*;
    +#[cfg(test)]
    +mod basics {
    +    use super::*;
     
    -    #[test]
    -    fn basic() {
    -        let s: HashSet<String> = HashSet::new();
    -        assert_eq!(s.len(), 0);
    -        assert!(s.is_empty());
    +    #[test]
    +    fn basic() {
    +        let s: HashSet<String> = HashSet::new();
    +        assert_eq!(s.len(), 0);
    +        assert!(s.is_empty());
         }
     
    -    #[test]
    -    fn insert() {
    -        let mut s = HashSet::new();
    -        let ok = s.insert("cat");
    -        assert!(ok);
    -        assert_eq!(s.len(), 1);
    +    #[test]
    +    fn insert() {
    +        let mut s = HashSet::new();
    +        let ok = s.insert("cat");
    +        assert!(ok);
    +        assert_eq!(s.len(), 1);
     
    -        let ok = s.insert("dog");
    -        assert!(ok);
    -        assert_eq!(s.len(), 2);
    +        let ok = s.insert("dog");
    +        assert!(ok);
    +        assert_eq!(s.len(), 2);
     
    -        // dog already exist!
    -        let ok = s.insert("dog");
    +        // dog already exist!
    +        let ok = s.insert("dog");
             assert_eq!(
    -            ok, false,
    -            "Attempting to insert present value returns false"
    -        );
    -        assert_eq!(s.len(), 2, "Certain value can only be inserted to set once");
    +            ok, false,
    +            "Attempting to insert present value returns false"
    +        );
    +        assert_eq!(s.len(), 2, "Certain value can only be inserted to set once");
         }
     
    -    #[test]
    -    fn contains() {
    -        let mut s1: HashSet<&str> = HashSet::new();
    -        s1.insert("cat");
    +    #[test]
    +    fn contains() {
    +        let mut s1: HashSet<&str> = HashSet::new();
    +        s1.insert("cat");
             assert_eq!(
    -            s1.contains("cat"),
    +            s1.contains("cat"),
                 true,
    -            "contains() returns true for present value"
    -        );
    +            "contains() returns true for present value"
    +        );
             assert_eq!(
    -            s1.contains("dog"),
    +            s1.contains("dog"),
                 false,
    -            "contains() returns false for absent value"
    -        );
    +            "contains() returns false for absent value"
    +        );
     
    -        let mut s2: HashSet<String> = HashSet::new();
    -        s2.insert("cat".to_string());
    +        let mut s2: HashSet<String> = HashSet::new();
    +        s2.insert("cat".to_string());
             assert_eq!(
    -            s2.contains(&"cat".to_string()),
    +            s2.contains(&"cat".to_string()),
                 true,
    -            "Can query with String"
    -        );
    -        assert_eq!(s2.contains("cat"), true, "Can query with &str");
    +            "Can query with String"
    +        );
    +        assert_eq!(s2.contains("cat"), true, "Can query with &str");
         }
     
    -    #[test]
    -    fn remove() {
    -        let mut s1: HashSet<&str> = HashSet::new();
    -        s1.insert("cat");
    -        assert!(s1.contains("cat"), "'cat' exists before remove()");
    -        let ok = s1.remove("cat");
    -        assert_eq!(ok, true, "Successful removal returns true");
    -        assert!(!s1.contains("cat"), "'cat' is gone after remove()");
    +    #[test]
    +    fn remove() {
    +        let mut s1: HashSet<&str> = HashSet::new();
    +        s1.insert("cat");
    +        assert!(s1.contains("cat"), "'cat' exists before remove()");
    +        let ok = s1.remove("cat");
    +        assert_eq!(ok, true, "Successful removal returns true");
    +        assert!(!s1.contains("cat"), "'cat' is gone after remove()");
     
    -        let ok = s1.remove("elephant");
    +        let ok = s1.remove("elephant");
             assert_eq!(
    -            ok, false,
    -            "Trying to remove non-existing value returns false"
    -        );
    -
    -        let mut s2: HashSet<String> = HashSet::new();
    -        s2.insert("cat".to_string());
    -        s2.insert("dog".to_string());
    -        assert!(s2.remove(&"cat".to_string()), "Can remove with String");
    +            ok, false,
    +            "Trying to remove non-existing value returns false"
    +        );
    +
    +        let mut s2: HashSet<String> = HashSet::new();
    +        s2.insert("cat".to_string());
    +        s2.insert("dog".to_string());
    +        assert!(s2.remove(&"cat".to_string()), "Can remove with String");
             assert!(
    -            !s2.contains("cat"),
    -            "Successfully removed value with String"
    -        );
    -        assert!(s2.remove("dog"), "Can remove with &str");
    -        assert!(!s2.contains("dog"), "Successfully removed value with &str");
    +            !s2.contains("cat"),
    +            "Successfully removed value with String"
    +        );
    +        assert!(s2.remove("dog"), "Can remove with &str");
    +        assert!(!s2.contains("dog"), "Successfully removed value with &str");
         }
     
    -    #[test]
    -    fn from_iter() {
    -        let s1: HashSet<_> = ["cat", "dog", "rat"].iter().cloned().collect();
    -        assert!(s1.contains("cat"));
    -        assert!(s1.contains("dog"));
    -        assert!(s1.contains("rat"));
    -        assert_eq!(s1.len(), 3);
    +    #[test]
    +    fn from_iter() {
    +        let s1: HashSet<_> = ["cat", "dog", "rat"].iter().cloned().collect();
    +        assert!(s1.contains("cat"));
    +        assert!(s1.contains("dog"));
    +        assert!(s1.contains("rat"));
    +        assert_eq!(s1.len(), 3);
         }
     }
     
    -#[cfg(test)]
    -mod set_relations {
    -    use super::*;
    -
    -    #[test]
    -    fn union() {
    -        // ∅ ∪ ∅ = ∅
    -        let s1: HashSet<&str> = [].iter().cloned().collect();
    -        let s2: HashSet<&str> = [].iter().cloned().collect();
    -        let union = s1.union(&s2);
    -        assert_eq!(union.count(), 0, "∅ ∪ ∅ = ∅");
    -
    -        // ∅ ∪ {cat} = {cat}
    -        let s1: HashSet<&str> = [].iter().cloned().collect();
    -        let s2: HashSet<&str> = ["cat"].iter().cloned().collect();
    -        let union: HashSet<_> = s1.union(&s2).cloned().collect();
    -        let expect: HashSet<&str> = ["cat"].iter().cloned().collect();
    -        assert!(union == expect);
    -
    -        // {cat} ∪ ∅ = {cat}
    -        let s1: HashSet<&str> = ["cat"].iter().cloned().collect();
    -        let s2: HashSet<&str> = [].iter().cloned().collect();
    -        let union: HashSet<_> = s1.union(&s2).cloned().collect();
    -        let expect: HashSet<&str> = ["cat"].iter().cloned().collect();
    -        assert!(union == expect);
    -
    -        // {cat,dog} ∪ {cat,rat} = {cat,dot,rat}
    -        let s1: HashSet<_> = ["cat", "dog"].iter().cloned().collect();
    -        let s2: HashSet<_> = ["cat", "rat"].iter().cloned().collect();
    -        let union: HashSet<_> = s1.union(&s2).cloned().collect();
    -        let expect: HashSet<&str> = ["cat", "dog", "rat"].iter().cloned().collect();
    -        assert!(union == expect);
    +#[cfg(test)]
    +mod set_relations {
    +    use super::*;
    +
    +    #[test]
    +    fn union() {
    +        // ∅ ∪ ∅ = ∅
    +        let s1: HashSet<&str> = [].iter().cloned().collect();
    +        let s2: HashSet<&str> = [].iter().cloned().collect();
    +        let union = s1.union(&s2);
    +        assert_eq!(union.count(), 0, "∅ ∪ ∅ = ∅");
    +
    +        // ∅ ∪ {cat} = {cat}
    +        let s1: HashSet<&str> = [].iter().cloned().collect();
    +        let s2: HashSet<&str> = ["cat"].iter().cloned().collect();
    +        let union: HashSet<_> = s1.union(&s2).cloned().collect();
    +        let expect: HashSet<&str> = ["cat"].iter().cloned().collect();
    +        assert!(union == expect);
    +
    +        // {cat} ∪ ∅ = {cat}
    +        let s1: HashSet<&str> = ["cat"].iter().cloned().collect();
    +        let s2: HashSet<&str> = [].iter().cloned().collect();
    +        let union: HashSet<_> = s1.union(&s2).cloned().collect();
    +        let expect: HashSet<&str> = ["cat"].iter().cloned().collect();
    +        assert!(union == expect);
    +
    +        // {cat,dog} ∪ {cat,rat} = {cat,dot,rat}
    +        let s1: HashSet<_> = ["cat", "dog"].iter().cloned().collect();
    +        let s2: HashSet<_> = ["cat", "rat"].iter().cloned().collect();
    +        let union: HashSet<_> = s1.union(&s2).cloned().collect();
    +        let expect: HashSet<&str> = ["cat", "dog", "rat"].iter().cloned().collect();
    +        assert!(union == expect);
         }
     
    -    #[test]
    -    fn intersection() {
    -        // ∅ ∩ ∅ = ∅
    -        let s1: HashSet<&str> = [].iter().cloned().collect();
    -        let s2: HashSet<&str> = [].iter().cloned().collect();
    -        let intersection = s1.intersection(&s2);
    -        assert_eq!(intersection.count(), 0, "∅ ∩ ∅ = ∅");
    -
    -        // ∅ ∩ {cat} = ∅
    -        let s1: HashSet<&str> = [].iter().cloned().collect();
    -        let s2: HashSet<&str> = ["cat"].iter().cloned().collect();
    -        let intersection = s1.intersection(&s2);
    -        assert_eq!(intersection.count(), 0);
    -
    -        // {cat} ∩ ∅ = ∅
    -        let s1: HashSet<&str> = ["cat"].iter().cloned().collect();
    -        let s2: HashSet<&str> = [].iter().cloned().collect();
    -        let intersection = s1.intersection(&s2);
    -        assert_eq!(intersection.count(), 0);
    -
    -        // {cat,dog} ∩ {cat,rat} = {cat}
    -        let s1: HashSet<_> = ["cat", "dog"].iter().cloned().collect();
    -        let s2: HashSet<_> = ["cat", "rat"].iter().cloned().collect();
    -        let intersection: HashSet<_> = s1.intersection(&s2).cloned().collect();
    -        let expect: HashSet<&str> = ["cat"].iter().cloned().collect();
    -        assert!(intersection == expect);
    +    #[test]
    +    fn intersection() {
    +        // ∅ ∩ ∅ = ∅
    +        let s1: HashSet<&str> = [].iter().cloned().collect();
    +        let s2: HashSet<&str> = [].iter().cloned().collect();
    +        let intersection = s1.intersection(&s2);
    +        assert_eq!(intersection.count(), 0, "∅ ∩ ∅ = ∅");
    +
    +        // ∅ ∩ {cat} = ∅
    +        let s1: HashSet<&str> = [].iter().cloned().collect();
    +        let s2: HashSet<&str> = ["cat"].iter().cloned().collect();
    +        let intersection = s1.intersection(&s2);
    +        assert_eq!(intersection.count(), 0);
    +
    +        // {cat} ∩ ∅ = ∅
    +        let s1: HashSet<&str> = ["cat"].iter().cloned().collect();
    +        let s2: HashSet<&str> = [].iter().cloned().collect();
    +        let intersection = s1.intersection(&s2);
    +        assert_eq!(intersection.count(), 0);
    +
    +        // {cat,dog} ∩ {cat,rat} = {cat}
    +        let s1: HashSet<_> = ["cat", "dog"].iter().cloned().collect();
    +        let s2: HashSet<_> = ["cat", "rat"].iter().cloned().collect();
    +        let intersection: HashSet<_> = s1.intersection(&s2).cloned().collect();
    +        let expect: HashSet<&str> = ["cat"].iter().cloned().collect();
    +        assert!(intersection == expect);
         }
     
    -    #[test]
    -    fn difference() {
    -        // ∅ \ ∅ = ∅
    -        let s1: HashSet<&str> = [].iter().cloned().collect();
    -        let s2: HashSet<&str> = [].iter().cloned().collect();
    -        let difference = s1.difference(&s2);
    -        assert_eq!(difference.count(), 0, r"∅ \ ∅ = ∅");
    -
    -        // ∅ \ {cat} = ∅
    -        let s1: HashSet<&str> = [].iter().cloned().collect();
    -        let s2: HashSet<&str> = ["cat"].iter().cloned().collect();
    -        let difference = s1.difference(&s2);
    -        assert_eq!(difference.count(), 0);
    -
    -        // {cat} \ ∅  = {cat}
    -        let s1: HashSet<&str> = ["cat"].iter().cloned().collect();
    -        let s2: HashSet<&str> = [].iter().cloned().collect();
    -        let difference: HashSet<_> = s1.difference(&s2).cloned().collect();
    -        let expect: HashSet<&str> = ["cat"].iter().cloned().collect();
    -        assert!(difference == expect);
    -
    -        // {cat,dog} \ {cat,rat} = {dog}
    -        let s1: HashSet<_> = ["cat", "dog"].iter().cloned().collect();
    -        let s2: HashSet<_> = ["cat", "rat"].iter().cloned().collect();
    -        let difference: HashSet<_> = s1.difference(&s2).cloned().collect();
    -        let expect: HashSet<&str> = ["dog"].iter().cloned().collect();
    -        assert!(difference == expect);
    +    #[test]
    +    fn difference() {
    +        // ∅ \ ∅ = ∅
    +        let s1: HashSet<&str> = [].iter().cloned().collect();
    +        let s2: HashSet<&str> = [].iter().cloned().collect();
    +        let difference = s1.difference(&s2);
    +        assert_eq!(difference.count(), 0, r"∅ \ ∅ = ∅");
    +
    +        // ∅ \ {cat} = ∅
    +        let s1: HashSet<&str> = [].iter().cloned().collect();
    +        let s2: HashSet<&str> = ["cat"].iter().cloned().collect();
    +        let difference = s1.difference(&s2);
    +        assert_eq!(difference.count(), 0);
    +
    +        // {cat} \ ∅  = {cat}
    +        let s1: HashSet<&str> = ["cat"].iter().cloned().collect();
    +        let s2: HashSet<&str> = [].iter().cloned().collect();
    +        let difference: HashSet<_> = s1.difference(&s2).cloned().collect();
    +        let expect: HashSet<&str> = ["cat"].iter().cloned().collect();
    +        assert!(difference == expect);
    +
    +        // {cat,dog} \ {cat,rat} = {dog}
    +        let s1: HashSet<_> = ["cat", "dog"].iter().cloned().collect();
    +        let s2: HashSet<_> = ["cat", "rat"].iter().cloned().collect();
    +        let difference: HashSet<_> = s1.difference(&s2).cloned().collect();
    +        let expect: HashSet<&str> = ["dog"].iter().cloned().collect();
    +        assert!(difference == expect);
         }
     
    -    #[test]
    -    fn symmetric_difference() {
    -        // ∅ △ ∅ = ∅
    -        let s1: HashSet<&str> = [].iter().cloned().collect();
    -        let s2: HashSet<&str> = [].iter().cloned().collect();
    -        let symmetric_difference = s1.symmetric_difference(&s2);
    -        assert_eq!(symmetric_difference.count(), 0, "∅ △ ∅ = ∅");
    -
    -        // ∅ △ {cat} = {cat}
    -        let s1: HashSet<&str> = [].iter().cloned().collect();
    -        let s2: HashSet<&str> = ["cat"].iter().cloned().collect();
    -        let symmetric_difference: HashSet<_> = s1.symmetric_difference(&s2).cloned().collect();
    -        let expect: HashSet<&str> = ["cat"].iter().cloned().collect();
    -        assert!(symmetric_difference == expect);
    -
    -        // {cat} △ ∅ = {cat}
    -        let s1: HashSet<&str> = ["cat"].iter().cloned().collect();
    -        let s2: HashSet<&str> = [].iter().cloned().collect();
    -        let symmetric_difference: HashSet<_> = s1.symmetric_difference(&s2).cloned().collect();
    -        let expect: HashSet<&str> = ["cat"].iter().cloned().collect();
    -        assert!(symmetric_difference == expect);
    -
    -        // {cat,dog} △ {cat,rat} = {dog, rat}
    -        let s1: HashSet<_> = ["cat", "dog"].iter().cloned().collect();
    -        let s2: HashSet<_> = ["cat", "rat"].iter().cloned().collect();
    -        let symmetric_difference: HashSet<_> = s1.symmetric_difference(&s2).cloned().collect();
    -        let expect: HashSet<&str> = ["dog", "rat"].iter().cloned().collect();
    -        assert!(symmetric_difference == expect);
    +    #[test]
    +    fn symmetric_difference() {
    +        // ∅ △ ∅ = ∅
    +        let s1: HashSet<&str> = [].iter().cloned().collect();
    +        let s2: HashSet<&str> = [].iter().cloned().collect();
    +        let symmetric_difference = s1.symmetric_difference(&s2);
    +        assert_eq!(symmetric_difference.count(), 0, "∅ △ ∅ = ∅");
    +
    +        // ∅ △ {cat} = {cat}
    +        let s1: HashSet<&str> = [].iter().cloned().collect();
    +        let s2: HashSet<&str> = ["cat"].iter().cloned().collect();
    +        let symmetric_difference: HashSet<_> = s1.symmetric_difference(&s2).cloned().collect();
    +        let expect: HashSet<&str> = ["cat"].iter().cloned().collect();
    +        assert!(symmetric_difference == expect);
    +
    +        // {cat} △ ∅ = {cat}
    +        let s1: HashSet<&str> = ["cat"].iter().cloned().collect();
    +        let s2: HashSet<&str> = [].iter().cloned().collect();
    +        let symmetric_difference: HashSet<_> = s1.symmetric_difference(&s2).cloned().collect();
    +        let expect: HashSet<&str> = ["cat"].iter().cloned().collect();
    +        assert!(symmetric_difference == expect);
    +
    +        // {cat,dog} △ {cat,rat} = {dog, rat}
    +        let s1: HashSet<_> = ["cat", "dog"].iter().cloned().collect();
    +        let s2: HashSet<_> = ["cat", "rat"].iter().cloned().collect();
    +        let symmetric_difference: HashSet<_> = s1.symmetric_difference(&s2).cloned().collect();
    +        let expect: HashSet<&str> = ["dog", "rat"].iter().cloned().collect();
    +        assert!(symmetric_difference == expect);
         }
     
    -    #[test]
    -    fn is_disjoint() {
    -        // ∅, ∅ are disjoint.
    -        let s1: HashSet<&str> = [].iter().cloned().collect();
    -        let s2: HashSet<&str> = [].iter().cloned().collect();
    -        assert!(s1.is_disjoint(&s2), "∅, ∅ are disjoint");
    -
    -        // ∅, {cat} are disjoint.
    -        let s1: HashSet<&str> = [].iter().cloned().collect();
    -        let s2: HashSet<&str> = ["cat"].iter().cloned().collect();
    -        assert!(s1.is_disjoint(&s2), "{}", "∅, {cat} are disjoint");
    -        assert!(s2.is_disjoint(&s1), "{}", "∅, {cat} are disjoint");
    -
    -        // {rat}, {cat} are disjoint.
    -        let s1: HashSet<&str> = ["rat"].iter().cloned().collect();
    -        let s2: HashSet<&str> = ["cat"].iter().cloned().collect();
    -        assert!(s1.is_disjoint(&s2));
    -
    -        // {cat}, {cat} are not disjoint.
    -        let s1: HashSet<&str> = ["cat"].iter().cloned().collect();
    -        let s2: HashSet<&str> = ["cat"].iter().cloned().collect();
    -        assert_eq!(s1.is_disjoint(&s2), false);
    -        assert_eq!(s2.is_disjoint(&s1), false);
    +    #[test]
    +    fn is_disjoint() {
    +        // ∅, ∅ are disjoint.
    +        let s1: HashSet<&str> = [].iter().cloned().collect();
    +        let s2: HashSet<&str> = [].iter().cloned().collect();
    +        assert!(s1.is_disjoint(&s2), "∅, ∅ are disjoint");
    +
    +        // ∅, {cat} are disjoint.
    +        let s1: HashSet<&str> = [].iter().cloned().collect();
    +        let s2: HashSet<&str> = ["cat"].iter().cloned().collect();
    +        assert!(s1.is_disjoint(&s2), "{}", "∅, {cat} are disjoint");
    +        assert!(s2.is_disjoint(&s1), "{}", "∅, {cat} are disjoint");
    +
    +        // {rat}, {cat} are disjoint.
    +        let s1: HashSet<&str> = ["rat"].iter().cloned().collect();
    +        let s2: HashSet<&str> = ["cat"].iter().cloned().collect();
    +        assert!(s1.is_disjoint(&s2));
    +
    +        // {cat}, {cat} are not disjoint.
    +        let s1: HashSet<&str> = ["cat"].iter().cloned().collect();
    +        let s2: HashSet<&str> = ["cat"].iter().cloned().collect();
    +        assert_eq!(s1.is_disjoint(&s2), false);
    +        assert_eq!(s2.is_disjoint(&s1), false);
         }
     
    -    #[test]
    -    fn is_subset() {
    -        // ∅ ⊆ ∅
    -        let s1: HashSet<&str> = [].iter().cloned().collect();
    -        let s2: HashSet<&str> = [].iter().cloned().collect();
    -        assert!(s1.is_subset(&s2), "∅ ⊆ ∅");
    -        assert!(s2.is_subset(&s1), "∅ ⊆ ∅");
    -
    -        // ∀𝑨: ∅ ⊆ 𝑨
    -        let s1: HashSet<&str> = [].iter().cloned().collect();
    -        let s2: HashSet<&str> = ["cat"].iter().cloned().collect();
    -        assert!(s1.is_subset(&s2), "∀𝑨: ∅ ⊆ 𝑨");
    -
    -        // ∀𝑨, 𝑨 ≠ ∅: 𝑨 ⊈ ∅
    -        let s1: HashSet<&str> = ["cat"].iter().cloned().collect();
    -        let s2: HashSet<&str> = [].iter().cloned().collect();
    -        assert_eq!(s1.is_subset(&s2), false, "∀𝑨, 𝑨 ≠ ∅: 𝑨 ⊈ ∅");
    -
    -        // {cat} ⊆ {cat}
    -        let s1: HashSet<&str> = ["cat"].iter().cloned().collect();
    -        let s2: HashSet<&str> = ["cat"].iter().cloned().collect();
    -        assert!(s1.is_subset(&s2));
    -
    -        // {cat} ⊆ {cat,rat}
    -        let s1: HashSet<&str> = ["cat"].iter().cloned().collect();
    -        let s2: HashSet<&str> = ["cat", "rat"].iter().cloned().collect();
    -        assert!(s1.is_subset(&s2));
    -
    -        // {cat,rat} ⊈ {cat}
    -        let s1: HashSet<&str> = ["cat", "rat"].iter().cloned().collect();
    -        let s2: HashSet<&str> = ["cat"].iter().cloned().collect();
    -        assert_eq!(s1.is_subset(&s2), false);
    +    #[test]
    +    fn is_subset() {
    +        // ∅ ⊆ ∅
    +        let s1: HashSet<&str> = [].iter().cloned().collect();
    +        let s2: HashSet<&str> = [].iter().cloned().collect();
    +        assert!(s1.is_subset(&s2), "∅ ⊆ ∅");
    +        assert!(s2.is_subset(&s1), "∅ ⊆ ∅");
    +
    +        // ∀𝑨: ∅ ⊆ 𝑨
    +        let s1: HashSet<&str> = [].iter().cloned().collect();
    +        let s2: HashSet<&str> = ["cat"].iter().cloned().collect();
    +        assert!(s1.is_subset(&s2), "∀𝑨: ∅ ⊆ 𝑨");
    +
    +        // ∀𝑨, 𝑨 ≠ ∅: 𝑨 ⊈ ∅
    +        let s1: HashSet<&str> = ["cat"].iter().cloned().collect();
    +        let s2: HashSet<&str> = [].iter().cloned().collect();
    +        assert_eq!(s1.is_subset(&s2), false, "∀𝑨, 𝑨 ≠ ∅: 𝑨 ⊈ ∅");
    +
    +        // {cat} ⊆ {cat}
    +        let s1: HashSet<&str> = ["cat"].iter().cloned().collect();
    +        let s2: HashSet<&str> = ["cat"].iter().cloned().collect();
    +        assert!(s1.is_subset(&s2));
    +
    +        // {cat} ⊆ {cat,rat}
    +        let s1: HashSet<&str> = ["cat"].iter().cloned().collect();
    +        let s2: HashSet<&str> = ["cat", "rat"].iter().cloned().collect();
    +        assert!(s1.is_subset(&s2));
    +
    +        // {cat,rat} ⊈ {cat}
    +        let s1: HashSet<&str> = ["cat", "rat"].iter().cloned().collect();
    +        let s2: HashSet<&str> = ["cat"].iter().cloned().collect();
    +        assert_eq!(s1.is_subset(&s2), false);
         }
     
    -    #[test]
    -    fn is_superset() {
    -        // ∅ ⊇ ∅
    -        let s1: HashSet<&str> = [].iter().cloned().collect();
    -        let s2: HashSet<&str> = [].iter().cloned().collect();
    -        assert!(s1.is_superset(&s2), "∅ ⊇ ∅");
    -        assert!(s2.is_superset(&s1), "∅ ⊇ ∅");
    -
    -        // ∀𝑨, 𝑨 ≠ ∅: ∅ ⊉ 𝑨
    -        let s1: HashSet<&str> = [].iter().cloned().collect();
    -        let s2: HashSet<&str> = ["cat"].iter().cloned().collect();
    -        assert_eq!(s1.is_superset(&s2), false, "∀𝑨, 𝑨 ≠ ∅: ∅ ⊉ 𝑨");
    -
    -        // ∀𝑨: 𝑨 ⊇ ∅
    -        let s1: HashSet<&str> = ["cat"].iter().cloned().collect();
    -        let s2: HashSet<&str> = [].iter().cloned().collect();
    -        assert_eq!(s1.is_superset(&s2), true, "∀𝑨: 𝑨 ⊇ ∅");
    -
    -        // {cat} ⊇ {cat}
    -        let s1: HashSet<&str> = ["cat"].iter().cloned().collect();
    -        let s2: HashSet<&str> = ["cat"].iter().cloned().collect();
    -        assert!(s1.is_superset(&s2));
    -
    -        // {cat} ⊉ {cat,rat}
    -        let s1: HashSet<&str> = ["cat"].iter().cloned().collect();
    -        let s2: HashSet<&str> = ["cat", "rat"].iter().cloned().collect();
    -        assert_eq!(s1.is_superset(&s2), false);
    -
    -        // {cat,rat} ⊇ {cat}
    -        let s1: HashSet<&str> = ["cat", "rat"].iter().cloned().collect();
    -        let s2: HashSet<&str> = ["cat"].iter().cloned().collect();
    -        assert!(s1.is_superset(&s2));
    +    #[test]
    +    fn is_superset() {
    +        // ∅ ⊇ ∅
    +        let s1: HashSet<&str> = [].iter().cloned().collect();
    +        let s2: HashSet<&str> = [].iter().cloned().collect();
    +        assert!(s1.is_superset(&s2), "∅ ⊇ ∅");
    +        assert!(s2.is_superset(&s1), "∅ ⊇ ∅");
    +
    +        // ∀𝑨, 𝑨 ≠ ∅: ∅ ⊉ 𝑨
    +        let s1: HashSet<&str> = [].iter().cloned().collect();
    +        let s2: HashSet<&str> = ["cat"].iter().cloned().collect();
    +        assert_eq!(s1.is_superset(&s2), false, "∀𝑨, 𝑨 ≠ ∅: ∅ ⊉ 𝑨");
    +
    +        // ∀𝑨: 𝑨 ⊇ ∅
    +        let s1: HashSet<&str> = ["cat"].iter().cloned().collect();
    +        let s2: HashSet<&str> = [].iter().cloned().collect();
    +        assert_eq!(s1.is_superset(&s2), true, "∀𝑨: 𝑨 ⊇ ∅");
    +
    +        // {cat} ⊇ {cat}
    +        let s1: HashSet<&str> = ["cat"].iter().cloned().collect();
    +        let s2: HashSet<&str> = ["cat"].iter().cloned().collect();
    +        assert!(s1.is_superset(&s2));
    +
    +        // {cat} ⊉ {cat,rat}
    +        let s1: HashSet<&str> = ["cat"].iter().cloned().collect();
    +        let s2: HashSet<&str> = ["cat", "rat"].iter().cloned().collect();
    +        assert_eq!(s1.is_superset(&s2), false);
    +
    +        // {cat,rat} ⊇ {cat}
    +        let s1: HashSet<&str> = ["cat", "rat"].iter().cloned().collect();
    +        let s2: HashSet<&str> = ["cat"].iter().cloned().collect();
    +        assert!(s1.is_superset(&s2));
         }
     }
     
    -#[cfg(test)]
    -mod logical_ops {
    -    use super::*;
    -
    -    #[test]
    -    fn bitor() {
    -        // Same as union
    -        let s1: HashSet<_> = ["cat", "dog"].iter().cloned().collect();
    -        let s2: HashSet<_> = ["cat", "rat"].iter().cloned().collect();
    -        let union = &s1 | &s2;
    -        let expect: HashSet<&str> = ["cat", "dog", "rat"].iter().cloned().collect();
    -        assert!(union == expect);
    -        assert_eq!(s1.len(), 2, "s1 is still available");
    -        assert_eq!(s2.len(), 2, "s2 is still available");
    +#[cfg(test)]
    +mod logical_ops {
    +    use super::*;
    +
    +    #[test]
    +    fn bitor() {
    +        // Same as union
    +        let s1: HashSet<_> = ["cat", "dog"].iter().cloned().collect();
    +        let s2: HashSet<_> = ["cat", "rat"].iter().cloned().collect();
    +        let union = &s1 | &s2;
    +        let expect: HashSet<&str> = ["cat", "dog", "rat"].iter().cloned().collect();
    +        assert!(union == expect);
    +        assert_eq!(s1.len(), 2, "s1 is still available");
    +        assert_eq!(s2.len(), 2, "s2 is still available");
         }
     
    -    #[test]
    -    fn bitand() {
    -        // Same as intersection
    -        let s1: HashSet<_> = ["cat", "dog"].iter().cloned().collect();
    -        let s2: HashSet<_> = ["cat", "rat"].iter().cloned().collect();
    -        let intersection: HashSet<_> = &s1 & &s2;
    -        let expect: HashSet<&str> = ["cat"].iter().cloned().collect();
    -        assert!(intersection == expect);
    +    #[test]
    +    fn bitand() {
    +        // Same as intersection
    +        let s1: HashSet<_> = ["cat", "dog"].iter().cloned().collect();
    +        let s2: HashSet<_> = ["cat", "rat"].iter().cloned().collect();
    +        let intersection: HashSet<_> = &s1 & &s2;
    +        let expect: HashSet<&str> = ["cat"].iter().cloned().collect();
    +        assert!(intersection == expect);
         }
     
    -    #[test]
    -    fn sub() {
    -        // Same as difference
    -        let s1: HashSet<_> = ["cat", "dog"].iter().cloned().collect();
    -        let s2: HashSet<_> = ["cat", "rat"].iter().cloned().collect();
    -        let difference = &s1 - &s2;
    -        let expect: HashSet<&str> = ["dog"].iter().cloned().collect();
    -        assert!(difference == expect);
    +    #[test]
    +    fn sub() {
    +        // Same as difference
    +        let s1: HashSet<_> = ["cat", "dog"].iter().cloned().collect();
    +        let s2: HashSet<_> = ["cat", "rat"].iter().cloned().collect();
    +        let difference = &s1 - &s2;
    +        let expect: HashSet<&str> = ["dog"].iter().cloned().collect();
    +        assert!(difference == expect);
         }
     
    -    #[test]
    -    fn bitxor() {
    -        // Same as difference
    -        let s1: HashSet<_> = ["cat", "dog"].iter().cloned().collect();
    -        let s2: HashSet<_> = ["cat", "rat"].iter().cloned().collect();
    -        let symmetric_difference: HashSet<_> = &s1 ^ &s2;
    -        let expect: HashSet<&str> = ["dog", "rat"].iter().cloned().collect();
    -        assert!(symmetric_difference == expect);
    +    #[test]
    +    fn bitxor() {
    +        // Same as difference
    +        let s1: HashSet<_> = ["cat", "dog"].iter().cloned().collect();
    +        let s2: HashSet<_> = ["cat", "rat"].iter().cloned().collect();
    +        let symmetric_difference: HashSet<_> = &s1 ^ &s2;
    +        let expect: HashSet<&str> = ["dog", "rat"].iter().cloned().collect();
    +        assert!(symmetric_difference == expect);
         }
     }
     
    -#[cfg(test)]
    -mod cmp_ops {
    -    use super::*;
    +#[cfg(test)]
    +mod cmp_ops {
    +    use super::*;
     
    -    #[test]
    -    fn eq() {
    -        let set: HashSet<_> = ["cat", "dog", "rat"].iter().cloned().collect();
    +    #[test]
    +    fn eq() {
    +        let set: HashSet<_> = ["cat", "dog", "rat"].iter().cloned().collect();
     
    -        let identical: HashSet<_> = ["cat", "dog", "rat"].iter().cloned().collect();
    -        assert!(set == identical, "sets of identical elements are equal");
    +        let identical: HashSet<_> = ["cat", "dog", "rat"].iter().cloned().collect();
    +        assert!(set == identical, "sets of identical elements are equal");
     
    -        let reordered: HashSet<_> = ["rat", "cat", "dog"].iter().cloned().collect();
    -        assert!(set == reordered, "order of elements doesn't matter");
    +        let reordered: HashSet<_> = ["rat", "cat", "dog"].iter().cloned().collect();
    +        assert!(set == reordered, "order of elements doesn't matter");
     
    -        let different: HashSet<_> = ["cat", "dog", "elephant"].iter().cloned().collect();
    -        assert!(set != different);
    +        let different: HashSet<_> = ["cat", "dog", "elephant"].iter().cloned().collect();
    +        assert!(set != different);
     
    -        let superset: HashSet<_> = ["cat", "dog", "rat", "elephant"].iter().cloned().collect();
    -        assert!(set != superset);
    +        let superset: HashSet<_> = ["cat", "dog", "rat", "elephant"].iter().cloned().collect();
    +        assert!(set != superset);
     
    -        let subset: HashSet<_> = ["cat"].iter().cloned().collect();
    -        assert!(set != subset);
    +        let subset: HashSet<_> = ["cat"].iter().cloned().collect();
    +        assert!(set != subset);
     
    -        // ∅ = ∅
    -        let s1: HashSet<&str> = [].iter().cloned().collect();
    -        let s2: HashSet<&str> = [].iter().cloned().collect();
    -        assert!(s1 == s2, "∅ = ∅");
    +        // ∅ = ∅
    +        let s1: HashSet<&str> = [].iter().cloned().collect();
    +        let s2: HashSet<&str> = [].iter().cloned().collect();
    +        assert!(s1 == s2, "∅ = ∅");
     
    -        // ∅ ≠ {cat}
    -        let s1: HashSet<&str> = [].iter().cloned().collect();
    -        let s2: HashSet<&str> = ["cat"].iter().cloned().collect();
    -        assert_eq!(s1 != s2, true);
    +        // ∅ ≠ {cat}
    +        let s1: HashSet<&str> = [].iter().cloned().collect();
    +        let s2: HashSet<&str> = ["cat"].iter().cloned().collect();
    +        assert_eq!(s1 != s2, true);
     
    -        // {cat} ≠ ∅
    -        let s1: HashSet<&str> = ["cat"].iter().cloned().collect();
    -        let s2: HashSet<&str> = [].iter().cloned().collect();
    -        assert_eq!(s1 != s2, true)
    +        // {cat} ≠ ∅
    +        let s1: HashSet<&str> = ["cat"].iter().cloned().collect();
    +        let s2: HashSet<&str> = [].iter().cloned().collect();
    +        assert_eq!(s1 != s2, true)
         }
     
    -    #[test]
    -    fn partial_cmp() {
    -        let set: HashSet<_> = ["cat", "dog", "rat"].iter().cloned().collect();
    -
    -        let identical: HashSet<_> = ["cat", "dog", "rat"].iter().cloned().collect();
    -        assert_eq!(set.partial_cmp(&identical), Some(Ordering::Equal));
    -        assert_eq!(&set > &identical, false);
    -        assert_eq!(&set >= &identical, true);
    -        assert_eq!(&set < &identical, false);
    -        assert_eq!(&set <= &identical, true);
    -        assert_eq!(&set == &identical, true);
    -
    -        let different: HashSet<_> = ["cat", "dog", "elephant"].iter().cloned().collect();
    -        assert_eq!(set.partial_cmp(&different), None);
    -        assert_eq!(&set > &different, false);
    -        assert_eq!(&set >= &different, false);
    -        assert_eq!(&set < &different, false);
    -        assert_eq!(&set <= &different, false);
    -        assert_eq!(&set == &different, false);
    -
    -        let superset: HashSet<_> = ["cat", "dog", "rat", "elephant"].iter().cloned().collect();
    -        assert_eq!(set.partial_cmp(&superset), Some(Ordering::Less));
    -        assert_eq!(&set > &superset, false);
    -        assert_eq!(&set >= &superset, false);
    -        assert_eq!(&set < &superset, true);
    -        assert_eq!(&set <= &superset, true);
    -        assert_eq!(&set == &superset, false);
    -
    -        let subset: HashSet<_> = ["cat"].iter().cloned().collect();
    -        assert_eq!(set.partial_cmp(&subset), Some(Ordering::Greater));
    -        assert_eq!(&set > &subset, true);
    -        assert_eq!(&set < &subset, false);
    -        assert_eq!(&set == &subset, false);
    -
    -        // ∅ = ∅
    -        let s1: HashSet<&str> = [].iter().cloned().collect();
    -        let s2: HashSet<&str> = [].iter().cloned().collect();
    -        assert_eq!(s1.partial_cmp(&s2), Some(Ordering::Equal));
    -        assert_eq!(&s1 > &s2, false);
    -        assert_eq!(&s1 >= &s2, true);
    -        assert_eq!(&s1 < &s2, false);
    -        assert_eq!(&s1 <= &s2, true);
    -        assert_eq!(&s1 == &s2, true);
    -
    -        // ∅ ≠ {cat}
    -        let s1: HashSet<&str> = [].iter().cloned().collect();
    -        let s2: HashSet<&str> = ["cat"].iter().cloned().collect();
    -        assert_eq!(s1.partial_cmp(&s2), Some(Ordering::Less));
    -        assert_eq!(&s1 > &s2, false);
    -        assert_eq!(&s1 >= &s2, false);
    -        assert_eq!(&s1 < &s2, true);
    -        assert_eq!(&s1 <= &s2, true);
    -        assert_eq!(&s1 == &s2, false);
    +    #[test]
    +    fn partial_cmp() {
    +        let set: HashSet<_> = ["cat", "dog", "rat"].iter().cloned().collect();
    +
    +        let identical: HashSet<_> = ["cat", "dog", "rat"].iter().cloned().collect();
    +        assert_eq!(set.partial_cmp(&identical), Some(Ordering::Equal));
    +        assert_eq!(&set > &identical, false);
    +        assert_eq!(&set >= &identical, true);
    +        assert_eq!(&set < &identical, false);
    +        assert_eq!(&set <= &identical, true);
    +        assert_eq!(&set == &identical, true);
    +
    +        let different: HashSet<_> = ["cat", "dog", "elephant"].iter().cloned().collect();
    +        assert_eq!(set.partial_cmp(&different), None);
    +        assert_eq!(&set > &different, false);
    +        assert_eq!(&set >= &different, false);
    +        assert_eq!(&set < &different, false);
    +        assert_eq!(&set <= &different, false);
    +        assert_eq!(&set == &different, false);
    +
    +        let superset: HashSet<_> = ["cat", "dog", "rat", "elephant"].iter().cloned().collect();
    +        assert_eq!(set.partial_cmp(&superset), Some(Ordering::Less));
    +        assert_eq!(&set > &superset, false);
    +        assert_eq!(&set >= &superset, false);
    +        assert_eq!(&set < &superset, true);
    +        assert_eq!(&set <= &superset, true);
    +        assert_eq!(&set == &superset, false);
    +
    +        let subset: HashSet<_> = ["cat"].iter().cloned().collect();
    +        assert_eq!(set.partial_cmp(&subset), Some(Ordering::Greater));
    +        assert_eq!(&set > &subset, true);
    +        assert_eq!(&set < &subset, false);
    +        assert_eq!(&set == &subset, false);
    +
    +        // ∅ = ∅
    +        let s1: HashSet<&str> = [].iter().cloned().collect();
    +        let s2: HashSet<&str> = [].iter().cloned().collect();
    +        assert_eq!(s1.partial_cmp(&s2), Some(Ordering::Equal));
    +        assert_eq!(&s1 > &s2, false);
    +        assert_eq!(&s1 >= &s2, true);
    +        assert_eq!(&s1 < &s2, false);
    +        assert_eq!(&s1 <= &s2, true);
    +        assert_eq!(&s1 == &s2, true);
    +
    +        // ∅ ≠ {cat}
    +        let s1: HashSet<&str> = [].iter().cloned().collect();
    +        let s2: HashSet<&str> = ["cat"].iter().cloned().collect();
    +        assert_eq!(s1.partial_cmp(&s2), Some(Ordering::Less));
    +        assert_eq!(&s1 > &s2, false);
    +        assert_eq!(&s1 >= &s2, false);
    +        assert_eq!(&s1 < &s2, true);
    +        assert_eq!(&s1 <= &s2, true);
    +        assert_eq!(&s1 == &s2, false);
         }
     }
    -
    -
    - \ No newline at end of file +
    \ No newline at end of file diff --git a/doc/src/rust_algorithm_club/collections/singly_linked_list/mod.rs.html b/doc/src/rust_algorithm_club/collections/singly_linked_list/mod.rs.html index f42e6d7e..caac0deb 100644 --- a/doc/src/rust_algorithm_club/collections/singly_linked_list/mod.rs.html +++ b/doc/src/rust_algorithm_club/collections/singly_linked_list/mod.rs.html @@ -1,1012 +1,1003 @@ -mod.rs - source - -
      1
    -  2
    -  3
    -  4
    -  5
    -  6
    -  7
    -  8
    -  9
    - 10
    - 11
    - 12
    - 13
    - 14
    - 15
    - 16
    - 17
    - 18
    - 19
    - 20
    - 21
    - 22
    - 23
    - 24
    - 25
    - 26
    - 27
    - 28
    - 29
    - 30
    - 31
    - 32
    - 33
    - 34
    - 35
    - 36
    - 37
    - 38
    - 39
    - 40
    - 41
    - 42
    - 43
    - 44
    - 45
    - 46
    - 47
    - 48
    - 49
    - 50
    - 51
    - 52
    - 53
    - 54
    - 55
    - 56
    - 57
    - 58
    - 59
    - 60
    - 61
    - 62
    - 63
    - 64
    - 65
    - 66
    - 67
    - 68
    - 69
    - 70
    - 71
    - 72
    - 73
    - 74
    - 75
    - 76
    - 77
    - 78
    - 79
    - 80
    - 81
    - 82
    - 83
    - 84
    - 85
    - 86
    - 87
    - 88
    - 89
    - 90
    - 91
    - 92
    - 93
    - 94
    - 95
    - 96
    - 97
    - 98
    - 99
    -100
    -101
    -102
    -103
    -104
    -105
    -106
    -107
    -108
    -109
    -110
    -111
    -112
    -113
    -114
    -115
    -116
    -117
    -118
    -119
    -120
    -121
    -122
    -123
    -124
    -125
    -126
    -127
    -128
    -129
    -130
    -131
    -132
    -133
    -134
    -135
    -136
    -137
    -138
    -139
    -140
    -141
    -142
    -143
    -144
    -145
    -146
    -147
    -148
    -149
    -150
    -151
    -152
    -153
    -154
    -155
    -156
    -157
    -158
    -159
    -160
    -161
    -162
    -163
    -164
    -165
    -166
    -167
    -168
    -169
    -170
    -171
    -172
    -173
    -174
    -175
    -176
    -177
    -178
    -179
    -180
    -181
    -182
    -183
    -184
    -185
    -186
    -187
    -188
    -189
    -190
    -191
    -192
    -193
    -194
    -195
    -196
    -197
    -198
    -199
    -200
    -201
    -202
    -203
    -204
    -205
    -206
    -207
    -208
    -209
    -210
    -211
    -212
    -213
    -214
    -215
    -216
    -217
    -218
    -219
    -220
    -221
    -222
    -223
    -224
    -225
    -226
    -227
    -228
    -229
    -230
    -231
    -232
    -233
    -234
    -235
    -236
    -237
    -238
    -239
    -240
    -241
    -242
    -243
    -244
    -245
    -246
    -247
    -248
    -249
    -250
    -251
    -252
    -253
    -254
    -255
    -256
    -257
    -258
    -259
    -260
    -261
    -262
    -263
    -264
    -265
    -266
    -267
    -268
    -269
    -270
    -271
    -272
    -273
    -274
    -275
    -276
    -277
    -278
    -279
    -280
    -281
    -282
    -283
    -284
    -285
    -286
    -287
    -288
    -289
    -290
    -291
    -292
    -293
    -294
    -295
    -296
    -297
    -298
    -299
    -300
    -301
    -302
    -303
    -304
    -305
    -306
    -307
    -308
    -309
    -310
    -311
    -312
    -313
    -314
    -315
    -316
    -317
    -318
    -319
    -320
    -321
    -322
    -323
    -324
    -325
    -326
    -327
    -328
    -329
    -330
    -331
    -332
    -333
    -334
    -335
    -336
    -337
    -338
    -339
    -340
    -341
    -342
    -343
    -344
    -345
    -346
    -347
    -348
    -349
    -350
    -351
    -352
    -353
    -354
    -355
    -356
    -357
    -358
    -359
    -360
    -361
    -362
    -363
    -364
    -365
    -366
    -367
    -368
    -369
    -370
    -371
    -372
    -373
    -374
    -375
    -376
    -377
    -378
    -379
    -380
    -381
    -382
    -383
    -384
    -385
    -386
    -387
    -388
    -389
    -390
    -391
    -392
    -393
    -394
    -395
    -396
    -397
    -398
    -399
    -400
    -401
    -402
    -403
    -404
    -405
    -406
    -407
    -408
    -409
    -410
    -411
    -412
    -413
    -414
    -415
    -416
    -417
    -418
    -419
    -420
    -421
    -422
    -423
    -424
    -425
    -426
    -427
    -428
    -429
    -430
    -431
    -432
    -433
    -434
    -435
    -436
    -437
    -438
    -439
    -440
    -441
    -442
    -443
    -444
    -445
    -446
    -447
    -448
    -449
    -450
    -451
    -452
    -453
    -454
    -455
    -456
    -457
    -458
    -459
    -460
    -461
    -462
    -463
    -464
    -465
    -466
    -467
    -468
    -469
    -470
    -471
    -472
    -473
    -474
    -475
    -476
    -477
    -478
    -479
    -480
    -481
    -482
    -483
    -484
    -485
    -486
    -487
    -488
    -489
    -490
    -491
    -492
    -493
    -494
    -495
    -496
    -497
    -498
    -499
    -500
    -501
    -
    /// A singly-linked list with owned nodes.
    -///
    -/// This implementation is a simplified version of `std::forward_list` in C++.
    -///
    -/// References:
    -///
    -/// - [Rust Standard Library: std::collections::LinkedList][1]
    -/// - [Learning Rust With Entirely Too Many Linked Lists][2]
    -/// - [Stack Overflow: Deleting a node from singly linked list ...][3]
    -/// - [Stack Exchange: Reversal of a singly-linked list in Rust][4]
    -///
    -/// [1]: https://doc.rust-lang.org/stable/std/collections/struct.LinkedList.html
    -/// [2]: http://cglab.ca/~abeinges/blah/too-many-lists/book/README.html
    -/// [3]: https://stackoverflow.com/questions/51134192/
    -/// [4]: https://codereview.stackexchange.com/questions/150906
    -// ANCHOR: list_layout
    -pub struct SinglyLinkedList<T> {
    -    head: Option<Box<Node<T>>>,
    +mod.rs - source

    rust_algorithm_club/collections/singly_linked_list/
    mod.rs

    +1
    +2
    +3
    +4
    +5
    +6
    +7
    +8
    +9
    +10
    +11
    +12
    +13
    +14
    +15
    +16
    +17
    +18
    +19
    +20
    +21
    +22
    +23
    +24
    +25
    +26
    +27
    +28
    +29
    +30
    +31
    +32
    +33
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
    +67
    +68
    +69
    +70
    +71
    +72
    +73
    +74
    +75
    +76
    +77
    +78
    +79
    +80
    +81
    +82
    +83
    +84
    +85
    +86
    +87
    +88
    +89
    +90
    +91
    +92
    +93
    +94
    +95
    +96
    +97
    +98
    +99
    +100
    +101
    +102
    +103
    +104
    +105
    +106
    +107
    +108
    +109
    +110
    +111
    +112
    +113
    +114
    +115
    +116
    +117
    +118
    +119
    +120
    +121
    +122
    +123
    +124
    +125
    +126
    +127
    +128
    +129
    +130
    +131
    +132
    +133
    +134
    +135
    +136
    +137
    +138
    +139
    +140
    +141
    +142
    +143
    +144
    +145
    +146
    +147
    +148
    +149
    +150
    +151
    +152
    +153
    +154
    +155
    +156
    +157
    +158
    +159
    +160
    +161
    +162
    +163
    +164
    +165
    +166
    +167
    +168
    +169
    +170
    +171
    +172
    +173
    +174
    +175
    +176
    +177
    +178
    +179
    +180
    +181
    +182
    +183
    +184
    +185
    +186
    +187
    +188
    +189
    +190
    +191
    +192
    +193
    +194
    +195
    +196
    +197
    +198
    +199
    +200
    +201
    +202
    +203
    +204
    +205
    +206
    +207
    +208
    +209
    +210
    +211
    +212
    +213
    +214
    +215
    +216
    +217
    +218
    +219
    +220
    +221
    +222
    +223
    +224
    +225
    +226
    +227
    +228
    +229
    +230
    +231
    +232
    +233
    +234
    +235
    +236
    +237
    +238
    +239
    +240
    +241
    +242
    +243
    +244
    +245
    +246
    +247
    +248
    +249
    +250
    +251
    +252
    +253
    +254
    +255
    +256
    +257
    +258
    +259
    +260
    +261
    +262
    +263
    +264
    +265
    +266
    +267
    +268
    +269
    +270
    +271
    +272
    +273
    +274
    +275
    +276
    +277
    +278
    +279
    +280
    +281
    +282
    +283
    +284
    +285
    +286
    +287
    +288
    +289
    +290
    +291
    +292
    +293
    +294
    +295
    +296
    +297
    +298
    +299
    +300
    +301
    +302
    +303
    +304
    +305
    +306
    +307
    +308
    +309
    +310
    +311
    +312
    +313
    +314
    +315
    +316
    +317
    +318
    +319
    +320
    +321
    +322
    +323
    +324
    +325
    +326
    +327
    +328
    +329
    +330
    +331
    +332
    +333
    +334
    +335
    +336
    +337
    +338
    +339
    +340
    +341
    +342
    +343
    +344
    +345
    +346
    +347
    +348
    +349
    +350
    +351
    +352
    +353
    +354
    +355
    +356
    +357
    +358
    +359
    +360
    +361
    +362
    +363
    +364
    +365
    +366
    +367
    +368
    +369
    +370
    +371
    +372
    +373
    +374
    +375
    +376
    +377
    +378
    +379
    +380
    +381
    +382
    +383
    +384
    +385
    +386
    +387
    +388
    +389
    +390
    +391
    +392
    +393
    +394
    +395
    +396
    +397
    +398
    +399
    +400
    +401
    +402
    +403
    +404
    +405
    +406
    +407
    +408
    +409
    +410
    +411
    +412
    +413
    +414
    +415
    +416
    +417
    +418
    +419
    +420
    +421
    +422
    +423
    +424
    +425
    +426
    +427
    +428
    +429
    +430
    +431
    +432
    +433
    +434
    +435
    +436
    +437
    +438
    +439
    +440
    +441
    +442
    +443
    +444
    +445
    +446
    +447
    +448
    +449
    +450
    +451
    +452
    +453
    +454
    +455
    +456
    +457
    +458
    +459
    +460
    +461
    +462
    +463
    +464
    +465
    +466
    +467
    +468
    +469
    +470
    +471
    +472
    +473
    +474
    +475
    +476
    +477
    +478
    +479
    +480
    +481
    +482
    +483
    +484
    +485
    +486
    +487
    +488
    +489
    +490
    +491
    +492
    +493
    +494
    +495
    +496
    +497
    +498
    +499
    +500
    +501
    /// A singly-linked list with owned nodes.
    +///
    +/// This implementation is a simplified version of `std::forward_list` in C++.
    +///
    +/// References:
    +///
    +/// - [Rust Standard Library: std::collections::LinkedList][1]
    +/// - [Learning Rust With Entirely Too Many Linked Lists][2]
    +/// - [Stack Overflow: Deleting a node from singly linked list ...][3]
    +/// - [Stack Exchange: Reversal of a singly-linked list in Rust][4]
    +///
    +/// [1]: https://doc.rust-lang.org/stable/std/collections/struct.LinkedList.html
    +/// [2]: http://cglab.ca/~abeinges/blah/too-many-lists/book/README.html
    +/// [3]: https://stackoverflow.com/questions/51134192/
    +/// [4]: https://codereview.stackexchange.com/questions/150906
    +// ANCHOR: list_layout
    +pub struct SinglyLinkedList<T> {
    +    head: Option<Box<Node<T>>>,
     }
    -// ANCHOR_END: list_layout
    -
    -/// An owning iterator over the elements of a [`SinglyLinkedList`].
    -///
    -/// This struct is created by the `into_iter` method on [`SinglyLinkedList`].
    -// ANCHOR: IntoIter_layout
    -pub struct IntoIter<T>(SinglyLinkedList<T>);
    -// ANCHOR_END: IntoIter_layout
    -
    -/// A immutable iterator over the elements of a [`SinglyLinkedList`].
    -///
    -/// This struct is created by the `iter` method on [`SinglyLinkedList`].
    -// ANCHOR: Iter_layout
    -pub struct Iter<'a, T> {
    -    next: Option<&'a Node<T>>, // 1
    +// ANCHOR_END: list_layout
    +
    +/// An owning iterator over the elements of a [`SinglyLinkedList`].
    +///
    +/// This struct is created by the `into_iter` method on [`SinglyLinkedList`].
    +// ANCHOR: IntoIter_layout
    +pub struct IntoIter<T>(SinglyLinkedList<T>);
    +// ANCHOR_END: IntoIter_layout
    +
    +/// A immutable iterator over the elements of a [`SinglyLinkedList`].
    +///
    +/// This struct is created by the `iter` method on [`SinglyLinkedList`].
    +// ANCHOR: Iter_layout
    +pub struct Iter<'a, T> {
    +    next: Option<&'a Node<T>>, // 1
    +}
    +// ANCHOR_END: Iter_layout
    +
    +/// A mutable iterator over the elements of a [`SinglyLinkedList`].
    +///
    +/// This struct is created by the `iter_mut` method on [`SinglyLinkedList`].
    +// ANCHOR: IterMut_layout
    +pub struct IterMut<'a, T> {
    +    next: Option<&'a mut Node<T>>,
     }
    -// ANCHOR_END: Iter_layout
    -
    -/// A mutable iterator over the elements of a [`SinglyLinkedList`].
    -///
    -/// This struct is created by the `iter_mut` method on [`SinglyLinkedList`].
    -// ANCHOR: IterMut_layout
    -pub struct IterMut<'a, T> {
    -    next: Option<&'a mut Node<T>>,
    +// ANCHOR_END: IterMut_layout
    +
    +/// Internal node representation.
    +#[derive(Debug)]
    +// ANCHOR: node_layout
    +struct Node<T> {
    +    elem: T,
    +    next: Option<Box<Node<T>>>,
     }
    -// ANCHOR_END: IterMut_layout
    -
    -/// Internal node representation.
    -#[derive(Debug)]
    -// ANCHOR: node_layout
    -struct Node<T> {
    -    elem: T,
    -    next: Option<Box<Node<T>>>,
    -}
    -// ANCHOR_END: node_layout
    -
    -impl<T> SinglyLinkedList<T> {
    -    /// Constructs a new, empty `SinglyLinkedList<T>`.
    -    ///
    -    /// The list will not allocate until elements are pushed onto it.
    -    // ANCHOR: list_new
    -    pub fn new() -> Self {
    -        Self { head: None }
    -    }
    -    // ANCHOR_END: list_new
    -
    -    /// Prepends the given element value to the beginning of the container.
    -    ///
    -    /// # Parameters
    -    ///
    -    /// * `elem` - The element to prepend.
    -    ///
    -    /// # Complexity
    -    ///
    -    /// Constant.
    -    // ANCHOR: list_push_front
    -    pub fn push_front(&mut self, elem: T) {
    -        let next = self.head.take(); // 1
    -        self.head = Some(Box::new(Node { elem, next })); // 2
    +// ANCHOR_END: node_layout
    +
    +impl<T> SinglyLinkedList<T> {
    +    /// Constructs a new, empty `SinglyLinkedList<T>`.
    +    ///
    +    /// The list will not allocate until elements are pushed onto it.
    +    // ANCHOR: list_new
    +    pub fn new() -> Self {
    +        Self { head: None }
         }
    -    // ANCHOR_END: list_push_front
    -
    -    /// Removes and returns the first element of the container.
    -    /// If there are no elements in the container, return `None`.
    -    ///
    -    /// # Complexity
    -    ///
    -    /// Constant.
    -    // ANCHOR: list_pop_front
    -    pub fn pop_front(&mut self) -> Option<T> {
    -        // Take ownership of head
    -        let head = self.head.take()?; // 1
    -        self.head = head.next; // 2
    -        Some(head.elem) // 3
    -    }
    -    // ANCHOR_END: list_pop_front
    -
    -    /// Inserts an element after the specified position in the container.
    -    ///
    -    /// If the position is out of bound, returns an `Result:Err` with the
    -    /// size of the list.
    -    ///
    -    /// # Parameters
    -    ///
    -    /// * `pos` - The index after which the element will be inserted.
    -    /// * `elem` - The element to be inserted.
    -    ///
    -    /// # Complexity
    -    ///
    -    /// Search time O(n) + O(1).
    -    // ANCHOR: list_insert_after
    -    pub fn insert_after(&mut self, pos: usize, elem: T) -> Result<(), usize> {
    -        let mut curr = &mut self.head;
    -        let mut pos_ = pos;
    -
    -        // Find the node at `pos`.
    -        while pos_ > 0 {
    -            // 1
    -            curr = match curr.as_mut() {
    -                Some(node) => &mut node.next,
    -                None => return Err(pos - pos_),
    +    // ANCHOR_END: list_new
    +
    +    /// Prepends the given element value to the beginning of the container.
    +    ///
    +    /// # Parameters
    +    ///
    +    /// * `elem` - The element to prepend.
    +    ///
    +    /// # Complexity
    +    ///
    +    /// Constant.
    +    // ANCHOR: list_push_front
    +    pub fn push_front(&mut self, elem: T) {
    +        let next = self.head.take(); // 1
    +        self.head = Some(Box::new(Node { elem, next })); // 2
    +    }
    +    // ANCHOR_END: list_push_front
    +
    +    /// Removes and returns the first element of the container.
    +    /// If there are no elements in the container, return `None`.
    +    ///
    +    /// # Complexity
    +    ///
    +    /// Constant.
    +    // ANCHOR: list_pop_front
    +    pub fn pop_front(&mut self) -> Option<T> {
    +        // Take ownership of head
    +        let head = self.head.take()?; // 1
    +        self.head = head.next; // 2
    +        Some(head.elem) // 3
    +    }
    +    // ANCHOR_END: list_pop_front
    +
    +    /// Inserts an element after the specified position in the container.
    +    ///
    +    /// If the position is out of bound, returns an `Result:Err` with the
    +    /// size of the list.
    +    ///
    +    /// # Parameters
    +    ///
    +    /// * `pos` - The index after which the element will be inserted.
    +    /// * `elem` - The element to be inserted.
    +    ///
    +    /// # Complexity
    +    ///
    +    /// Search time O(n) + O(1).
    +    // ANCHOR: list_insert_after
    +    pub fn insert_after(&mut self, pos: usize, elem: T) -> Result<(), usize> {
    +        let mut curr = &mut self.head;
    +        let mut pos_ = pos;
    +
    +        // Find the node at `pos`.
    +        while pos_ > 0 {
    +            // 1
    +            curr = match curr.as_mut() {
    +                Some(node) => &mut node.next,
    +                None => return Err(pos - pos_),
                 };
    -            pos_ -= 1;
    +            pos_ -= 1;
             }
     
    -        // Take the ownership of current node.
    -        match curr.take() {
    -            // 2
    -            Some(mut node) => {
    -                // Node A
    -                // Create new node.
    -                let new_node = Box::new(Node {
    -                    // 3: Node B
    -                    elem,
    -                    next: node.next,
    +        // Take the ownership of current node.
    +        match curr.take() {
    +            // 2
    +            Some(mut node) => {
    +                // Node A
    +                // Create new node.
    +                let new_node = Box::new(Node {
    +                    // 3: Node B
    +                    elem,
    +                    next: node.next,
                     });
    -                // Re-link new node and current node.
    -                node.next = Some(new_node); // 4
    +                // Re-link new node and current node.
    +                node.next = Some(new_node); // 4
     
    -                // Assign current node back to the list.
    -                *curr = Some(node); // 5
    -            }
    -            None => return Err(pos - pos_),
    +                // Assign current node back to the list.
    +                *curr = Some(node); // 5
    +            }
    +            None => return Err(pos - pos_),
             }
             Ok(())
         }
    -    // ANCHOR_END: list_insert_after
    -
    -    /// Removes and returns an element at specified position from the container.
    -    ///
    -    /// # Parameters
    -    ///
    -    /// * `pos` - The index at which the element will be moved.
    -    ///
    -    /// # Complexity
    -    ///
    -    /// Search time O(n) + constant.
    -    // ANCHOR: list_remove
    -    pub fn remove(&mut self, pos: usize) -> Option<T> {
    -        let mut curr = &mut self.head;
    -        let mut pos = pos;
    -
    -        // Find the node at `pos`.
    -        while pos > 0 {
    -            // 1
    -            curr = &mut curr.as_mut()?.next;
    -            pos -= 1;
    +    // ANCHOR_END: list_insert_after
    +
    +    /// Removes and returns an element at specified position from the container.
    +    ///
    +    /// # Parameters
    +    ///
    +    /// * `pos` - The index at which the element will be moved.
    +    ///
    +    /// # Complexity
    +    ///
    +    /// Search time O(n) + constant.
    +    // ANCHOR: list_remove
    +    pub fn remove(&mut self, pos: usize) -> Option<T> {
    +        let mut curr = &mut self.head;
    +        let mut pos = pos;
    +
    +        // Find the node at `pos`.
    +        while pos > 0 {
    +            // 1
    +            curr = &mut curr.as_mut()?.next;
    +            pos -= 1;
             }
     
    -        // Assign next node to previous node.next pointer.
    -        let node = curr.take()?; // 2: Node A
    -        *curr = node.next; // 3: node.next is Node B
    -        Some(node.elem) // 4
    -    }
    -    // ANCHOR_END: list_remove
    -
    -    /// Removes all elements from the container.
    -    ///
    -    /// # Complexity
    -    ///
    -    /// Linear in the size of the container.
    -    pub fn clear(&mut self) {
    -        *self = Self::new();
    +        // Assign next node to previous node.next pointer.
    +        let node = curr.take()?; // 2: Node A
    +        *curr = node.next; // 3: node.next is Node B
    +        Some(node.elem) // 4
    +    }
    +    // ANCHOR_END: list_remove
    +
    +    /// Removes all elements from the container.
    +    ///
    +    /// # Complexity
    +    ///
    +    /// Linear in the size of the container.
    +    pub fn clear(&mut self) {
    +        *self = Self::new();
         }
     
    -    ///	Checks whether the container is empty.
    -    ///
    -    /// # Complexity
    -    ///
    -    /// Constant.
    -    pub fn is_empty(&self) -> bool {
    -        self.head.is_none()
    +    ///	Checks whether the container is empty.
    +    ///
    +    /// # Complexity
    +    ///
    +    /// Constant.
    +    pub fn is_empty(&self) -> bool {
    +        self.head.is_none()
         }
     
    -    /// Gets the number of elements in the container.
    -    ///
    -    /// # Complexity
    -    ///
    -    /// Linear in the size of the container.
    -    pub fn len(&self) -> usize {
    -        self.iter().count()
    +    /// Gets the number of elements in the container.
    +    ///
    +    /// # Complexity
    +    ///
    +    /// Linear in the size of the container.
    +    pub fn len(&self) -> usize {
    +        self.iter().count()
         }
     
    -    /// Reverses the order of the elements in the container.
    -    ///
    -    /// # Complexity
    -    ///
    -    /// Linear in the size of the container.
    -    // ANCHOR: list_reverse
    -    pub fn reverse(&mut self) {
    -        let mut prev = None; // 1: prev -> Node P
    -        let mut curr = self.head.take(); // 2
    -        while let Some(mut node) = curr {
    -            // 3: node -> Node A
    -            let next = node.next; // 3-1: next -> Node B
    -            node.next = prev.take(); // 3-2: Take ownership from previous node.
    -            prev = Some(node); // 3-3: Transfer ownership from current node to previous.
    -            curr = next; // 3-4: curr references to next node for next iteration.
    -        }
    -        self.head = prev.take(); // 4
    -    }
    -    // ANCHOR_END: list_reverse
    -
    -    /// Creates an iterator that yields immutable reference of each element.
    -    // ANCHOR: list_iter
    -    pub fn iter(&self) -> Iter<T> {
    -        // 4
    -        Iter {
    -            next: self.head.as_deref(), // 5
    -        }
    +    /// Reverses the order of the elements in the container.
    +    ///
    +    /// # Complexity
    +    ///
    +    /// Linear in the size of the container.
    +    // ANCHOR: list_reverse
    +    pub fn reverse(&mut self) {
    +        let mut prev = None; // 1: prev -> Node P
    +        let mut curr = self.head.take(); // 2
    +        while let Some(mut node) = curr {
    +            // 3: node -> Node A
    +            let next = node.next; // 3-1: next -> Node B
    +            node.next = prev.take(); // 3-2: Take ownership from previous node.
    +            prev = Some(node); // 3-3: Transfer ownership from current node to previous.
    +            curr = next; // 3-4: curr references to next node for next iteration.
    +        }
    +        self.head = prev.take(); // 4
    +    }
    +    // ANCHOR_END: list_reverse
    +
    +    /// Creates an iterator that yields immutable reference of each element.
    +    // ANCHOR: list_iter
    +    pub fn iter(&self) -> Iter<T> {
    +        // 4
    +        Iter {
    +            next: self.head.as_deref(), // 5
    +        }
         }
    -    // ANCHOR_END: list_iter
    +    // ANCHOR_END: list_iter
     
    -    /// Creates an iterator that yields mutable reference of each element.
    -    pub fn iter_mut(&mut self) -> IterMut<T> {
    -        IterMut {
    -            next: self.head.as_deref_mut(),
    +    /// Creates an iterator that yields mutable reference of each element.
    +    pub fn iter_mut(&mut self) -> IterMut<T> {
    +        IterMut {
    +            next: self.head.as_deref_mut(),
             }
         }
     }
     
    -// ANCHOR: list_drop
    -impl<T> Drop for SinglyLinkedList<T> {
    -    fn drop(&mut self) {
    -        let mut link = self.head.take(); // 1
    -        while let Some(mut node) = link {
    -            // 2
    -            link = node.next.take(); // 3: Take ownership of next `link` here.
    -        }
    -        // 4: Previous `node` goes out of scope and gets dropped here.
    -    }
    +// ANCHOR: list_drop
    +impl<T> Drop for SinglyLinkedList<T> {
    +    fn drop(&mut self) {
    +        let mut link = self.head.take(); // 1
    +        while let Some(mut node) = link {
    +            // 2
    +            link = node.next.take(); // 3: Take ownership of next `link` here.
    +        }
    +        // 4: Previous `node` goes out of scope and gets dropped here.
    +    }
     }
    -// ANCHOR_END: list_drop
    +// ANCHOR_END: list_drop
     
    -// ANCHOR: Iter
    -impl<'a, T> Iterator for Iter<'a, T> {
    -    type Item = &'a T; // 2
    +// ANCHOR: Iter
    +impl<'a, T> Iterator for Iter<'a, T> {
    +    type Item = &'a T; // 2
     
    -    fn next(&mut self) -> Option<Self::Item> {
    -        let node = self.next?;
    -        self.next = node.next.as_deref(); // 3
    -        Some(&node.elem)
    +    fn next(&mut self) -> Option<Self::Item> {
    +        let node = self.next?;
    +        self.next = node.next.as_deref(); // 3
    +        Some(&node.elem)
         }
     }
    -// ANCHOR_END: Iter
    +// ANCHOR_END: Iter
     
    -// ANCHOR: IterMut
    -impl<'a, T> Iterator for IterMut<'a, T> {
    -    type Item = &'a mut T;
    +// ANCHOR: IterMut
    +impl<'a, T> Iterator for IterMut<'a, T> {
    +    type Item = &'a mut T;
     
    -    fn next(&mut self) -> Option<Self::Item> {
    -        let node = self.next.take()?;
    -        self.next = node.next.as_deref_mut();
    -        Some(&mut node.elem)
    +    fn next(&mut self) -> Option<Self::Item> {
    +        let node = self.next.take()?;
    +        self.next = node.next.as_deref_mut();
    +        Some(&mut node.elem)
         }
     }
    -// ANCHOR_END: IterMut
    +// ANCHOR_END: IterMut
     
    -// ANCHOR: IntoIter
    -impl<T> Iterator for IntoIter<T> {
    -    type Item = T;
    +// ANCHOR: IntoIter
    +impl<T> Iterator for IntoIter<T> {
    +    type Item = T;
     
    -    fn next(&mut self) -> Option<Self::Item> {
    -        self.0.pop_front()
    +    fn next(&mut self) -> Option<Self::Item> {
    +        self.0.pop_front()
         }
     }
    -// ANCHOR_END: IntoIter
    +// ANCHOR_END: IntoIter
     
    -// ANCHOR: IntoIterator
    -impl<T> IntoIterator for SinglyLinkedList<T> {
    -    type Item = T;
    -    type IntoIter = IntoIter<T>;
    +// ANCHOR: IntoIterator
    +impl<T> IntoIterator for SinglyLinkedList<T> {
    +    type Item = T;
    +    type IntoIter = IntoIter<T>;
     
    -    /// Creates a consuming iterator, that is, one that moves each value out of
    -    /// the list (from start to end). The list cannot be used after calling this.
    -    fn into_iter(self) -> Self::IntoIter {
    -        IntoIter(self)
    +    /// Creates a consuming iterator, that is, one that moves each value out of
    +    /// the list (from start to end). The list cannot be used after calling this.
    +    fn into_iter(self) -> Self::IntoIter {
    +        IntoIter(self)
         }
     }
    -// ANCHOR_END: IntoIterator
    +// ANCHOR_END: IntoIterator
     
    -// ANCHOR: PartialEq
    -impl<T: PartialEq> PartialEq for SinglyLinkedList<T> {
    -    fn eq(&self, other: &Self) -> bool {
    -        if self.len() != other.len() {
    -            return false;
    +// ANCHOR: PartialEq
    +impl<T: PartialEq> PartialEq for SinglyLinkedList<T> {
    +    fn eq(&self, other: &Self) -> bool {
    +        if self.len() != other.len() {
    +            return false;
             }
    -        self.iter().zip(other.iter()).all(|pair| pair.0 == pair.1)
    +        self.iter().zip(other.iter()).all(|pair| pair.0 == pair.1)
         }
     }
    -// ANCHOR_END: PartialEq
    -
    -// ANCHOR: Debug
    -impl<T: std::fmt::Debug> std::fmt::Debug for SinglyLinkedList<T> {
    -    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
    -        for node in self.iter() {
    -            write!(f, "{:?} -> ", node)?
    -        }
    +// ANCHOR_END: PartialEq
    +
    +// ANCHOR: Debug
    +impl<T: std::fmt::Debug> std::fmt::Debug for SinglyLinkedList<T> {
    +    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
    +        for node in self.iter() {
    +            write!(f, "{:?} -> ", node)?
    +        }
             Ok(())
         }
     }
    -// ANCHOR_END: Debug
    -
    -#[cfg(test)]
    -mod tests {
    -    use super::SinglyLinkedList;
    -
    -    #[test]
    -    fn basics() {
    -        let mut l = SinglyLinkedList::<()>::new();
    -        assert_eq!(l.len(), 0);
    -        assert_eq!(l.pop_front(), None);
    -        assert_eq!(l.len(), 0);
    -        assert!(l.is_empty());
    +// ANCHOR_END: Debug
    +
    +#[cfg(test)]
    +mod tests {
    +    use super::SinglyLinkedList;
    +
    +    #[test]
    +    fn basics() {
    +        let mut l = SinglyLinkedList::<()>::new();
    +        assert_eq!(l.len(), 0);
    +        assert_eq!(l.pop_front(), None);
    +        assert_eq!(l.len(), 0);
    +        assert!(l.is_empty());
         }
     
    -    #[test]
    -    fn push_pop() {
    -        let mut l = SinglyLinkedList::new();
    -        l.push_front(1);
    -        l.push_front(2);
    -        l.push_front(3);
    -
    -        // Check length and emptiness.
    -        assert_eq!(l.len(), 3);
    -        assert!(!l.is_empty());
    -
    -        // Check removal.
    -        assert_eq!(l.pop_front(), Some(3));
    -
    -        // Push more element to check popping correctly.
    -        l.push_front(4);
    -        l.push_front(5);
    -        assert_eq!(l.len(), 4);
    -        assert_eq!(l.pop_front(), Some(5));
    -        assert_eq!(l.pop_front(), Some(4));
    -
    -        // Pop all elements to check exhaustion.
    -        assert_eq!(l.pop_front(), Some(2));
    -        assert_eq!(l.pop_front(), Some(1));
    -        assert_eq!(l.pop_front(), None);
    -        assert_eq!(l.len(), 0);
    -
    -        // Check clear works.
    -        l.push_front(6);
    -        l.push_front(7);
    -        l.clear();
    -        assert!(l.is_empty());
    +    #[test]
    +    fn push_pop() {
    +        let mut l = SinglyLinkedList::new();
    +        l.push_front(1);
    +        l.push_front(2);
    +        l.push_front(3);
    +
    +        // Check length and emptiness.
    +        assert_eq!(l.len(), 3);
    +        assert!(!l.is_empty());
    +
    +        // Check removal.
    +        assert_eq!(l.pop_front(), Some(3));
    +
    +        // Push more element to check popping correctly.
    +        l.push_front(4);
    +        l.push_front(5);
    +        assert_eq!(l.len(), 4);
    +        assert_eq!(l.pop_front(), Some(5));
    +        assert_eq!(l.pop_front(), Some(4));
    +
    +        // Pop all elements to check exhaustion.
    +        assert_eq!(l.pop_front(), Some(2));
    +        assert_eq!(l.pop_front(), Some(1));
    +        assert_eq!(l.pop_front(), None);
    +        assert_eq!(l.len(), 0);
    +
    +        // Check clear works.
    +        l.push_front(6);
    +        l.push_front(7);
    +        l.clear();
    +        assert!(l.is_empty());
         }
     
    -    #[test]
    -    fn reverse() {
    -        let mut l = SinglyLinkedList::<()>::new();
    -        // 0 elements without crash;
    -        l.reverse();
    -        let res = SinglyLinkedList::new();
    -        assert!(l == res);
    -
    -        let mut l = SinglyLinkedList::new();
    -        l.push_front(1);
    -        l.reverse();
    -        let mut res = SinglyLinkedList::new();
    -        res.push_front(1);
    -        assert!(l == res);
    -
    -        let mut l = SinglyLinkedList::new();
    -        l.push_front(1);
    -        l.push_front(2);
    -        l.reverse();
    -        let mut res = SinglyLinkedList::new();
    -        res.push_front(2);
    -        res.push_front(1);
    -        assert!(l == res);
    -
    -        let mut l = SinglyLinkedList::new();
    -        l.push_front(1);
    -        l.push_front(2);
    -        l.push_front(3);
    -        l.reverse();
    -        let mut res = SinglyLinkedList::new();
    -        res.push_front(3);
    -        res.push_front(2);
    -        res.push_front(1);
    -        assert!(l == res);
    +    #[test]
    +    fn reverse() {
    +        let mut l = SinglyLinkedList::<()>::new();
    +        // 0 elements without crash;
    +        l.reverse();
    +        let res = SinglyLinkedList::new();
    +        assert!(l == res);
    +
    +        let mut l = SinglyLinkedList::new();
    +        l.push_front(1);
    +        l.reverse();
    +        let mut res = SinglyLinkedList::new();
    +        res.push_front(1);
    +        assert!(l == res);
    +
    +        let mut l = SinglyLinkedList::new();
    +        l.push_front(1);
    +        l.push_front(2);
    +        l.reverse();
    +        let mut res = SinglyLinkedList::new();
    +        res.push_front(2);
    +        res.push_front(1);
    +        assert!(l == res);
    +
    +        let mut l = SinglyLinkedList::new();
    +        l.push_front(1);
    +        l.push_front(2);
    +        l.push_front(3);
    +        l.reverse();
    +        let mut res = SinglyLinkedList::new();
    +        res.push_front(3);
    +        res.push_front(2);
    +        res.push_front(1);
    +        assert!(l == res);
         }
     
    -    #[test]
    -    fn iter() {
    -        let mut l = SinglyLinkedList::new();
    -        l.push_front(1);
    -        l.push_front(2);
    -        l.push_front(3);
    -
    -        let mut it = l.iter();
    -        assert_eq!(it.next(), Some(&3));
    -        assert_eq!(it.next(), Some(&2));
    -        assert_eq!(it.next(), Some(&1));
    +    #[test]
    +    fn iter() {
    +        let mut l = SinglyLinkedList::new();
    +        l.push_front(1);
    +        l.push_front(2);
    +        l.push_front(3);
    +
    +        let mut it = l.iter();
    +        assert_eq!(it.next(), Some(&3));
    +        assert_eq!(it.next(), Some(&2));
    +        assert_eq!(it.next(), Some(&1));
         }
     
    -    #[test]
    -    fn iter_mut() {
    -        let mut l = SinglyLinkedList::new();
    -        l.push_front(1);
    -        l.push_front(2);
    -        l.push_front(3);
    +    #[test]
    +    fn iter_mut() {
    +        let mut l = SinglyLinkedList::new();
    +        l.push_front(1);
    +        l.push_front(2);
    +        l.push_front(3);
     
    -        for elem in l.iter_mut() {
    -            *elem *= *elem;
    +        for elem in l.iter_mut() {
    +            *elem *= *elem;
             }
     
    -        let mut res = SinglyLinkedList::new();
    -        res.push_front(1);
    -        res.push_front(4);
    -        res.push_front(9);
    -        assert_eq!(l, res);
    -    }
    -
    -    #[test]
    -    fn into_iter() {
    -        let mut l = SinglyLinkedList::new();
    -        l.push_front(1);
    -        l.push_front(2);
    -        l.push_front(3);
    -
    -        // 3. `into_iter`
    -        let collected = l.into_iter().collect::<Vec<i32>>();
    -        assert_eq!(vec![3, 2, 1], collected);
    -        // Cannot access `l`. Value moved into `collected`.
    +        let mut res = SinglyLinkedList::new();
    +        res.push_front(1);
    +        res.push_front(4);
    +        res.push_front(9);
    +        assert_eq!(l, res);
         }
     
    -    #[test]
    -    fn insert() {
    -        let mut l = SinglyLinkedList::new();
    -        l.push_front(1);
    -        l.push_front(2);
    -        l.push_front(3);
    -
    -        // Out of bound! Return the size of the list.
    -        assert_eq!(l.insert_after(3, 10).unwrap_err(), 3);
    -
    -        // Insertion succeeded.
    -        assert!(l.insert_after(0, 10).is_ok());
    -
    -        let mut res = SinglyLinkedList::new();
    -        res.push_front(1);
    -        res.push_front(2);
    -        res.push_front(10);
    -        res.push_front(3);
    -        assert_eq!(l, res);
    -
    -        // Insertion succeeded again.
    -        assert!(l.insert_after(3, 11).is_ok());
    -
    -        let mut res = SinglyLinkedList::new();
    -        res.push_front(11);
    -        res.push_front(1);
    -        res.push_front(2);
    -        res.push_front(10);
    -        res.push_front(3);
    -        assert_eq!(l, res);
    +    #[test]
    +    fn into_iter() {
    +        let mut l = SinglyLinkedList::new();
    +        l.push_front(1);
    +        l.push_front(2);
    +        l.push_front(3);
    +
    +        // 3. `into_iter`
    +        let collected = l.into_iter().collect::<Vec<i32>>();
    +        assert_eq!(vec![3, 2, 1], collected);
    +        // Cannot access `l`. Value moved into `collected`.
    +    }
    +
    +    #[test]
    +    fn insert() {
    +        let mut l = SinglyLinkedList::new();
    +        l.push_front(1);
    +        l.push_front(2);
    +        l.push_front(3);
    +
    +        // Out of bound! Return the size of the list.
    +        assert_eq!(l.insert_after(3, 10).unwrap_err(), 3);
    +
    +        // Insertion succeeded.
    +        assert!(l.insert_after(0, 10).is_ok());
    +
    +        let mut res = SinglyLinkedList::new();
    +        res.push_front(1);
    +        res.push_front(2);
    +        res.push_front(10);
    +        res.push_front(3);
    +        assert_eq!(l, res);
    +
    +        // Insertion succeeded again.
    +        assert!(l.insert_after(3, 11).is_ok());
    +
    +        let mut res = SinglyLinkedList::new();
    +        res.push_front(11);
    +        res.push_front(1);
    +        res.push_front(2);
    +        res.push_front(10);
    +        res.push_front(3);
    +        assert_eq!(l, res);
         }
     
    -    #[test]
    -    fn remove() {
    -        let mut l = SinglyLinkedList::new();
    -        l.push_front(1);
    -        l.push_front(2);
    -        l.push_front(3);
    -        assert!(l.remove(5).is_none());
    -        assert_eq!(l.remove(1), Some(2));
    -
    -        // Check remain list is in correct form.
    -        let mut res = SinglyLinkedList::new();
    -        res.push_front(1);
    -        res.push_front(3);
    -        assert_eq!(l, res);
    -
    -        // Remove all elements
    -        assert_eq!(l.remove(1), Some(1));
    -        assert_eq!(l.remove(0), Some(3));
    +    #[test]
    +    fn remove() {
    +        let mut l = SinglyLinkedList::new();
    +        l.push_front(1);
    +        l.push_front(2);
    +        l.push_front(3);
    +        assert!(l.remove(5).is_none());
    +        assert_eq!(l.remove(1), Some(2));
    +
    +        // Check remain list is in correct form.
    +        let mut res = SinglyLinkedList::new();
    +        res.push_front(1);
    +        res.push_front(3);
    +        assert_eq!(l, res);
    +
    +        // Remove all elements
    +        assert_eq!(l.remove(1), Some(1));
    +        assert_eq!(l.remove(0), Some(3));
         }
     }
    -
    -
    - \ No newline at end of file +
    \ No newline at end of file diff --git a/doc/src/rust_algorithm_club/collections/stack/mod.rs.html b/doc/src/rust_algorithm_club/collections/stack/mod.rs.html index b45b195e..c92ef997 100644 --- a/doc/src/rust_algorithm_club/collections/stack/mod.rs.html +++ b/doc/src/rust_algorithm_club/collections/stack/mod.rs.html @@ -1,298 +1,289 @@ -mod.rs - source - -
      1
    -  2
    -  3
    -  4
    -  5
    -  6
    -  7
    -  8
    -  9
    - 10
    - 11
    - 12
    - 13
    - 14
    - 15
    - 16
    - 17
    - 18
    - 19
    - 20
    - 21
    - 22
    - 23
    - 24
    - 25
    - 26
    - 27
    - 28
    - 29
    - 30
    - 31
    - 32
    - 33
    - 34
    - 35
    - 36
    - 37
    - 38
    - 39
    - 40
    - 41
    - 42
    - 43
    - 44
    - 45
    - 46
    - 47
    - 48
    - 49
    - 50
    - 51
    - 52
    - 53
    - 54
    - 55
    - 56
    - 57
    - 58
    - 59
    - 60
    - 61
    - 62
    - 63
    - 64
    - 65
    - 66
    - 67
    - 68
    - 69
    - 70
    - 71
    - 72
    - 73
    - 74
    - 75
    - 76
    - 77
    - 78
    - 79
    - 80
    - 81
    - 82
    - 83
    - 84
    - 85
    - 86
    - 87
    - 88
    - 89
    - 90
    - 91
    - 92
    - 93
    - 94
    - 95
    - 96
    - 97
    - 98
    - 99
    -100
    -101
    -102
    -103
    -104
    -105
    -106
    -107
    -108
    -109
    -110
    -111
    -112
    -113
    -114
    -115
    -116
    -117
    -118
    -119
    -120
    -121
    -122
    -123
    -124
    -125
    -126
    -127
    -128
    -129
    -130
    -131
    -132
    -133
    -134
    -135
    -136
    -137
    -138
    -139
    -140
    -141
    -142
    -143
    -144
    -
    /// A stack-like data structure implemented through a `Vec`.
    -///
    -/// The name "stack" for this type of structure comes from the analogy to a set
    -/// of physical items stacked on top of each other, which makes it easy to take
    -/// an item off the top of the stack, while getting to an item deeper in the
    -/// stack may require taking off multiple other items first.
    -///
    -/// Considered as a linear data structure, or more abstractly a sequential
    -/// collection, the push and pop operations occur only at one end of the
    -/// structure, referred to as the top of the stack.
    -///
    -/// References:
    -///
    -/// * [Stack (abstract data type)](https://en.wikipedia.org/wiki/Stack_\(abstract_data_type\))
    -/// * [Big-O Algorithm Complexity Cheat Sheet](http://bigocheatsheet.com/)
    -// ANCHOR: struct
    -pub struct Stack<T> {
    -    maxsize: usize,
    -    items: Vec<T>,
    +mod.rs - source

    rust_algorithm_club/collections/stack/
    mod.rs

    +1
    +2
    +3
    +4
    +5
    +6
    +7
    +8
    +9
    +10
    +11
    +12
    +13
    +14
    +15
    +16
    +17
    +18
    +19
    +20
    +21
    +22
    +23
    +24
    +25
    +26
    +27
    +28
    +29
    +30
    +31
    +32
    +33
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
    +67
    +68
    +69
    +70
    +71
    +72
    +73
    +74
    +75
    +76
    +77
    +78
    +79
    +80
    +81
    +82
    +83
    +84
    +85
    +86
    +87
    +88
    +89
    +90
    +91
    +92
    +93
    +94
    +95
    +96
    +97
    +98
    +99
    +100
    +101
    +102
    +103
    +104
    +105
    +106
    +107
    +108
    +109
    +110
    +111
    +112
    +113
    +114
    +115
    +116
    +117
    +118
    +119
    +120
    +121
    +122
    +123
    +124
    +125
    +126
    +127
    +128
    +129
    +130
    +131
    +132
    +133
    +134
    +135
    +136
    +137
    +138
    +139
    +140
    +141
    +142
    +143
    +144
    /// A stack-like data structure implemented through a `Vec`.
    +///
    +/// The name "stack" for this type of structure comes from the analogy to a set
    +/// of physical items stacked on top of each other, which makes it easy to take
    +/// an item off the top of the stack, while getting to an item deeper in the
    +/// stack may require taking off multiple other items first.
    +///
    +/// Considered as a linear data structure, or more abstractly a sequential
    +/// collection, the push and pop operations occur only at one end of the
    +/// structure, referred to as the top of the stack.
    +///
    +/// References:
    +///
    +/// * [Stack (abstract data type)](https://en.wikipedia.org/wiki/Stack_\(abstract_data_type\))
    +/// * [Big-O Algorithm Complexity Cheat Sheet](http://bigocheatsheet.com/)
    +// ANCHOR: struct
    +pub struct Stack<T> {
    +    maxsize: usize,
    +    items: Vec<T>,
     }
    -// ANCHOR_END: struct
    +// ANCHOR_END: struct
     
    -impl<T> Stack<T> {
    -    /// Initialize a stack of certain capacity.
    -    ///
    -    /// # Parameters
    -    ///
    -    /// * `maxsize`: Capacity of the collection. It limits how many items can
    -    /// be stored.
    -    // ANCHOR: with_capacity
    -    pub fn with_capacity(maxsize: usize) -> Self {
    -        Self {
    -            maxsize,
    -            items: Vec::with_capacity(maxsize),
    +impl<T> Stack<T> {
    +    /// Initialize a stack of certain capacity.
    +    ///
    +    /// # Parameters
    +    ///
    +    /// * `maxsize`: Capacity of the collection. It limits how many items can
    +    /// be stored.
    +    // ANCHOR: with_capacity
    +    pub fn with_capacity(maxsize: usize) -> Self {
    +        Self {
    +            maxsize,
    +            items: Vec::with_capacity(maxsize),
             }
         }
    -    // ANCHOR_END: with_capacity
    +    // ANCHOR_END: with_capacity
     
    -    /// Removes the most recently added element that was not yet removed.
    -    ///
    -    /// # Returns
    -    ///
    -    /// Returns the most recently added item. If nothing was added, `None` will be returned.
    -    ///
    -    /// # Complexity
    -    ///
    -    /// Constant.
    -    // ANCHOR: pop
    -    pub fn pop(&mut self) -> Option<T> {
    -        self.items.pop()
    +    /// Removes the most recently added element that was not yet removed.
    +    ///
    +    /// # Returns
    +    ///
    +    /// Returns the most recently added item. If nothing was added, `None` will be returned.
    +    ///
    +    /// # Complexity
    +    ///
    +    /// Constant.
    +    // ANCHOR: pop
    +    pub fn pop(&mut self) -> Option<T> {
    +        self.items.pop()
         }
    -    // ANCHOR_END: pop
    +    // ANCHOR_END: pop
     
    -    /// Adds an element to the collection.
    -    ///
    -    /// # Returns
    -    ///
    -    /// Returns `true` if the collection has space left and item is
    -    /// successfully added, otherwise returns `false`.
    -    ///
    -    /// # Complexity
    -    ///
    -    /// Constant.
    -    // ANCHOR: push
    -    pub fn push(&mut self, item: T) -> bool {
    -        if self.items.len() == self.maxsize {
    -            return false;
    +    /// Adds an element to the collection.
    +    ///
    +    /// # Returns
    +    ///
    +    /// Returns `true` if the collection has space left and item is
    +    /// successfully added, otherwise returns `false`.
    +    ///
    +    /// # Complexity
    +    ///
    +    /// Constant.
    +    // ANCHOR: push
    +    pub fn push(&mut self, item: T) -> bool {
    +        if self.items.len() == self.maxsize {
    +            return false;
             }
    -        self.items.push(item);
    -        return true;
    +        self.items.push(item);
    +        return true;
         }
    -    // ANCHOR_END: push
    +    // ANCHOR_END: push
     
    -    /// # Returns
    -    ///
    -    /// Returns the size of collection, indicates how many items are added in
    -    /// the collection.
    -    ///
    -    /// # Note
    -    ///
    -    /// Size and capacity are different concepts.
    -    /// Capacity limits how many items can be stored, while size indicates how
    -    /// many items is currently stored.
    -    // ANCHOR: size
    -    pub fn size(&self) -> usize {
    -        self.items.len()
    +    /// # Returns
    +    ///
    +    /// Returns the size of collection, indicates how many items are added in
    +    /// the collection.
    +    ///
    +    /// # Note
    +    ///
    +    /// Size and capacity are different concepts.
    +    /// Capacity limits how many items can be stored, while size indicates how
    +    /// many items is currently stored.
    +    // ANCHOR: size
    +    pub fn size(&self) -> usize {
    +        self.items.len()
         }
    -    // ANCHOR_END: size
    +    // ANCHOR_END: size
     
    -    /// Peeks the last element added without tampering the collection.
    -    ///
    -    /// # Returns
    -    ///
    -    /// Returns the most recently added item. If nothing was added, `None` will
    -    /// be returned.
    -    // ANCHOR: peek
    -    pub fn peek(&self) -> Option<&T> {
    -        self.items.last()
    +    /// Peeks the last element added without tampering the collection.
    +    ///
    +    /// # Returns
    +    ///
    +    /// Returns the most recently added item. If nothing was added, `None` will
    +    /// be returned.
    +    // ANCHOR: peek
    +    pub fn peek(&self) -> Option<&T> {
    +        self.items.last()
         }
    -    // ANCHOR_END: peek
    -}
    +    // ANCHOR_END: peek
    +}
     
    -#[cfg(test)]
    -mod impl_by_vec {
    -    use super::*;
    +#[cfg(test)]
    +mod impl_by_vec {
    +    use super::*;
     
    -    #[test]
    -    fn new_with_capacity() {
    -        let stack: Stack<u32> = Stack::with_capacity(10);
    -        assert_eq!(10, stack.items.capacity());
    +    #[test]
    +    fn new_with_capacity() {
    +        let stack: Stack<u32> = Stack::with_capacity(10);
    +        assert_eq!(10, stack.items.capacity());
         }
     
    -    #[test]
    -    fn pop() {
    -        let mut stack = Stack::with_capacity(1);
    -        stack.push(1);
    -        assert_eq!(Some(1), stack.pop());
    -        assert_eq!(None, stack.pop());
    +    #[test]
    +    fn pop() {
    +        let mut stack = Stack::with_capacity(1);
    +        stack.push(1);
    +        assert_eq!(Some(1), stack.pop());
    +        assert_eq!(None, stack.pop());
         }
     
    -    #[test]
    -    fn push() {
    -        let mut stack = Stack::with_capacity(1);
    -        stack.push(32);
    -        assert_eq!(Some(&32), stack.peek());
    -        assert_eq!(1, stack.size());
    +    #[test]
    +    fn push() {
    +        let mut stack = Stack::with_capacity(1);
    +        stack.push(32);
    +        assert_eq!(Some(&32), stack.peek());
    +        assert_eq!(1, stack.size());
         }
     
    -    #[test]
    -    fn push_maxsize() {
    -        let mut stack = Stack::with_capacity(1);
    -        assert_eq!(true, stack.push(1));
    -        assert_eq!(Some(&1), stack.peek());
    -        assert_eq!(false, stack.push(2));
    +    #[test]
    +    fn push_maxsize() {
    +        let mut stack = Stack::with_capacity(1);
    +        assert_eq!(true, stack.push(1));
    +        assert_eq!(Some(&1), stack.peek());
    +        assert_eq!(false, stack.push(2));
         }
     
    -    #[test]
    -    fn size() {
    -        let mut stack = Stack::with_capacity(1);
    -        assert_eq!(0, stack.size());
    -        stack.push(1);
    -        assert_eq!(1, stack.size());
    +    #[test]
    +    fn size() {
    +        let mut stack = Stack::with_capacity(1);
    +        assert_eq!(0, stack.size());
    +        stack.push(1);
    +        assert_eq!(1, stack.size());
         }
     }
    -
    -
    - \ No newline at end of file +
    \ No newline at end of file diff --git a/doc/src/rust_algorithm_club/hamming_distance/mod.rs.html b/doc/src/rust_algorithm_club/hamming_distance/mod.rs.html index d3651b1d..5c580603 100644 --- a/doc/src/rust_algorithm_club/hamming_distance/mod.rs.html +++ b/doc/src/rust_algorithm_club/hamming_distance/mod.rs.html @@ -1,139 +1,132 @@ -mod.rs - source - -
     1
    - 2
    - 3
    - 4
    - 5
    - 6
    - 7
    - 8
    - 9
    -10
    -11
    -12
    -13
    -14
    -15
    -16
    -17
    -18
    -19
    -20
    -21
    -22
    -23
    -24
    -25
    -26
    -27
    -28
    -29
    -30
    -31
    -32
    -33
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -44
    -45
    -46
    -47
    -48
    -49
    -50
    -51
    -52
    -53
    -54
    -55
    -56
    -57
    -58
    -59
    -60
    -61
    -62
    -63
    -64
    -65
    -66
    -67
    -68
    -69
    -70
    -71
    -72
    -73
    -74
    -75
    -76
    -77
    -78
    -79
    -80
    -
    /// Calculate Hamming distance to two unsigned intergers.
    -// ANCHOR: bit
    -pub fn hamming_distance(source: u64, target: u64) -> u32 {
    -    let mut count = 0;
    -    let mut xor = source ^ target; // 1
    +mod.rs - source

    rust_algorithm_club/hamming_distance/
    mod.rs

    +1
    +2
    +3
    +4
    +5
    +6
    +7
    +8
    +9
    +10
    +11
    +12
    +13
    +14
    +15
    +16
    +17
    +18
    +19
    +20
    +21
    +22
    +23
    +24
    +25
    +26
    +27
    +28
    +29
    +30
    +31
    +32
    +33
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
    +67
    +68
    +69
    +70
    +71
    +72
    +73
    +74
    +75
    +76
    +77
    +78
    +79
    +80
    /// Calculate Hamming distance to two unsigned intergers.
    +// ANCHOR: bit
    +pub fn hamming_distance(source: u64, target: u64) -> u32 {
    +    let mut count = 0;
    +    let mut xor = source ^ target; // 1
     
    -    // 2
    -    while xor != 0 {
    -        count += xor & 1; // 3
    -        xor >>= 1; // 4
    -    }
    +    // 2
    +    while xor != 0 {
    +        count += xor & 1; // 3
    +        xor >>= 1; // 4
    +    }
     
    -    count as u32
    +    count as u32
     }
    -// ANCHOR_END: bit
    +// ANCHOR_END: bit
     
    -/// Calculate Hamming distance of two UTF-8 encoded strings.
    -// ANCHOR: str
    -pub fn hamming_distance_str(source: &str, target: &str) -> usize {
    -    let mut count = 0;
    -    // 1
    -    let mut source = source.chars();
    -    let mut target = target.chars();
    +/// Calculate Hamming distance of two UTF-8 encoded strings.
    +// ANCHOR: str
    +pub fn hamming_distance_str(source: &str, target: &str) -> usize {
    +    let mut count = 0;
    +    // 1
    +    let mut source = source.chars();
    +    let mut target = target.chars();
     
    -    loop {
    -        // 2
    -        match (source.next(), target.next()) {
    -            // 3
    -            (Some(c1), Some(c2)) if c1 != c2 => count += 1,
    -            // 4
    -            (None, Some(_)) | (Some(_), None) => panic!("Must have the same length"),
    -            // 5
    -            (None, None) => break,
    -            // 6
    -            _ => continue,
    +    loop {
    +        // 2
    +        match (source.next(), target.next()) {
    +            // 3
    +            (Some(c1), Some(c2)) if c1 != c2 => count += 1,
    +            // 4
    +            (None, Some(_)) | (Some(_), None) => panic!("Must have the same length"),
    +            // 5
    +            (None, None) => break,
    +            // 6
    +            _ => continue,
             }
         }
     
    -    count
    +    count
     }
    -// ANCHOR_END: str
    +// ANCHOR_END: str
     
    -#[cfg(test)]
    -mod base {
    -    use super::*;
    +#[cfg(test)]
    +mod base {
    +    use super::*;
     
    -    #[test]
    -    fn bit() {
    -        let cases = [
    +    #[test]
    +    fn bit() {
    +        let cases = [
                 (0, 0b0000_0000, 0b0000_0000),
                 (0, 0b1111_1111, 0b1111_1111),
                 (1, 0b0000_0001, 0b0000_0000),
    @@ -141,30 +134,28 @@
                 (4, 0b1100_0011, 0b0110_0110),
                 (8, 0b0101_0101, 0b1010_1010),
             ];
    -        for &(dist, c1, c2) in &cases {
    -            assert_eq!(hamming_distance(c1, c2), dist);
    +        for &(dist, c1, c2) in &cases {
    +            assert_eq!(hamming_distance(c1, c2), dist);
             }
         }
     
    -    #[test]
    -    fn str() {
    -        let cases = [
    -            (0, "", ""),
    -            (0, "rust", "rust"),
    -            (1, "cat", "bat"),
    -            (3, "abc", "xyz"),
    +    #[test]
    +    fn str() {
    +        let cases = [
    +            (0, "", ""),
    +            (0, "rust", "rust"),
    +            (1, "cat", "bat"),
    +            (3, "abc", "xyz"),
             ];
    -        for &(dist, c1, c2) in &cases {
    -            assert_eq!(hamming_distance_str(c1, c2), dist);
    +        for &(dist, c1, c2) in &cases {
    +            assert_eq!(hamming_distance_str(c1, c2), dist);
             }
         }
     
    -    #[test]
    -    #[should_panic(expected = "Must have the same length")]
    -    fn str_panic() {
    -        hamming_distance_str("abc", "z");
    +    #[test]
    +    #[should_panic(expected = "Must have the same length")]
    +    fn str_panic() {
    +        hamming_distance_str("abc", "z");
         }
     }
    -
    -
    - \ No newline at end of file +
    \ No newline at end of file diff --git a/doc/src/rust_algorithm_club/levenshtein_distance/mod.rs.html b/doc/src/rust_algorithm_club/levenshtein_distance/mod.rs.html index a50b9559..0ef6b148 100644 --- a/doc/src/rust_algorithm_club/levenshtein_distance/mod.rs.html +++ b/doc/src/rust_algorithm_club/levenshtein_distance/mod.rs.html @@ -1,472 +1,463 @@ -mod.rs - source - -
      1
    -  2
    -  3
    -  4
    -  5
    -  6
    -  7
    -  8
    -  9
    - 10
    - 11
    - 12
    - 13
    - 14
    - 15
    - 16
    - 17
    - 18
    - 19
    - 20
    - 21
    - 22
    - 23
    - 24
    - 25
    - 26
    - 27
    - 28
    - 29
    - 30
    - 31
    - 32
    - 33
    - 34
    - 35
    - 36
    - 37
    - 38
    - 39
    - 40
    - 41
    - 42
    - 43
    - 44
    - 45
    - 46
    - 47
    - 48
    - 49
    - 50
    - 51
    - 52
    - 53
    - 54
    - 55
    - 56
    - 57
    - 58
    - 59
    - 60
    - 61
    - 62
    - 63
    - 64
    - 65
    - 66
    - 67
    - 68
    - 69
    - 70
    - 71
    - 72
    - 73
    - 74
    - 75
    - 76
    - 77
    - 78
    - 79
    - 80
    - 81
    - 82
    - 83
    - 84
    - 85
    - 86
    - 87
    - 88
    - 89
    - 90
    - 91
    - 92
    - 93
    - 94
    - 95
    - 96
    - 97
    - 98
    - 99
    -100
    -101
    -102
    -103
    -104
    -105
    -106
    -107
    -108
    -109
    -110
    -111
    -112
    -113
    -114
    -115
    -116
    -117
    -118
    -119
    -120
    -121
    -122
    -123
    -124
    -125
    -126
    -127
    -128
    -129
    -130
    -131
    -132
    -133
    -134
    -135
    -136
    -137
    -138
    -139
    -140
    -141
    -142
    -143
    -144
    -145
    -146
    -147
    -148
    -149
    -150
    -151
    -152
    -153
    -154
    -155
    -156
    -157
    -158
    -159
    -160
    -161
    -162
    -163
    -164
    -165
    -166
    -167
    -168
    -169
    -170
    -171
    -172
    -173
    -174
    -175
    -176
    -177
    -178
    -179
    -180
    -181
    -182
    -183
    -184
    -185
    -186
    -187
    -188
    -189
    -190
    -191
    -192
    -193
    -194
    -195
    -196
    -197
    -198
    -199
    -200
    -201
    -202
    -203
    -204
    -205
    -206
    -207
    -208
    -209
    -210
    -211
    -212
    -213
    -214
    -215
    -216
    -217
    -218
    -219
    -220
    -221
    -222
    -223
    -224
    -225
    -226
    -227
    -228
    -229
    -230
    -231
    -
    use std::cmp;
    +mod.rs - source

    rust_algorithm_club/levenshtein_distance/
    mod.rs

    +1
    +2
    +3
    +4
    +5
    +6
    +7
    +8
    +9
    +10
    +11
    +12
    +13
    +14
    +15
    +16
    +17
    +18
    +19
    +20
    +21
    +22
    +23
    +24
    +25
    +26
    +27
    +28
    +29
    +30
    +31
    +32
    +33
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
    +67
    +68
    +69
    +70
    +71
    +72
    +73
    +74
    +75
    +76
    +77
    +78
    +79
    +80
    +81
    +82
    +83
    +84
    +85
    +86
    +87
    +88
    +89
    +90
    +91
    +92
    +93
    +94
    +95
    +96
    +97
    +98
    +99
    +100
    +101
    +102
    +103
    +104
    +105
    +106
    +107
    +108
    +109
    +110
    +111
    +112
    +113
    +114
    +115
    +116
    +117
    +118
    +119
    +120
    +121
    +122
    +123
    +124
    +125
    +126
    +127
    +128
    +129
    +130
    +131
    +132
    +133
    +134
    +135
    +136
    +137
    +138
    +139
    +140
    +141
    +142
    +143
    +144
    +145
    +146
    +147
    +148
    +149
    +150
    +151
    +152
    +153
    +154
    +155
    +156
    +157
    +158
    +159
    +160
    +161
    +162
    +163
    +164
    +165
    +166
    +167
    +168
    +169
    +170
    +171
    +172
    +173
    +174
    +175
    +176
    +177
    +178
    +179
    +180
    +181
    +182
    +183
    +184
    +185
    +186
    +187
    +188
    +189
    +190
    +191
    +192
    +193
    +194
    +195
    +196
    +197
    +198
    +199
    +200
    +201
    +202
    +203
    +204
    +205
    +206
    +207
    +208
    +209
    +210
    +211
    +212
    +213
    +214
    +215
    +216
    +217
    +218
    +219
    +220
    +221
    +222
    +223
    +224
    +225
    +226
    +227
    +228
    +229
    +230
    +231
    use std::cmp;
     
    -/// Calculate Levenshtein distance for two UTF-8 encoded strings.
    -///
    -/// Returns a minimum number of edits to transform from source to target string.
    -///
    -/// Levenshtein distance accepts three edit operations: insertion, deletion,
    -/// and substitution.
    -///
    -/// References:
    -///
    -/// - [Levenshtein distance in Cargo][1]
    -/// - [Ilia Schelokov: Optimizing loop heavy Rust code][2]
    -///
    -/// [1]: https://github.com/rust-lang/cargo/blob/7d7fe6797ad07f313706380d251796702272b150/src/cargo/util/lev_distance.rs
    -/// [2]: https://thaumant.me/optimizing-loop-heavy-rust/
    -// ANCHOR: lev_dist
    -pub fn levenshtein_distance(source: &str, target: &str) -> usize {
    -    // 1
    -    if source.is_empty() {
    -        return target.len();
    +/// Calculate Levenshtein distance for two UTF-8 encoded strings.
    +///
    +/// Returns a minimum number of edits to transform from source to target string.
    +///
    +/// Levenshtein distance accepts three edit operations: insertion, deletion,
    +/// and substitution.
    +///
    +/// References:
    +///
    +/// - [Levenshtein distance in Cargo][1]
    +/// - [Ilia Schelokov: Optimizing loop heavy Rust code][2]
    +///
    +/// [1]: https://github.com/rust-lang/cargo/blob/7d7fe6797ad07f313706380d251796702272b150/src/cargo/util/lev_distance.rs
    +/// [2]: https://thaumant.me/optimizing-loop-heavy-rust/
    +// ANCHOR: lev_dist
    +pub fn levenshtein_distance(source: &str, target: &str) -> usize {
    +    // 1
    +    if source.is_empty() {
    +        return target.len();
         }
    -    if target.is_empty() {
    -        return source.len();
    +    if target.is_empty() {
    +        return source.len();
         }
     
    -    // 2
    -    let mut distances = (0..=target.chars().count()).collect::<Vec<_>>();
    +    // 2
    +    let mut distances = (0..=target.chars().count()).collect::<Vec<_>>();
     
    -    for (i, ch1) in source.chars().enumerate() {
    -        let mut sub = i; // 3
    -        distances[0] = sub + 1; // 4
    -        for (j, ch2) in target.chars().enumerate() {
    -            let dist = cmp::min(
    -                // 5
    -                cmp::min(
    -                    distances[j],     // insert
    -                    distances[j + 1], // delete
    -                ) + 1,
    -                sub + (ch1 != ch2) as usize, // substitute
    -            );
    +    for (i, ch1) in source.chars().enumerate() {
    +        let mut sub = i; // 3
    +        distances[0] = sub + 1; // 4
    +        for (j, ch2) in target.chars().enumerate() {
    +            let dist = cmp::min(
    +                // 5
    +                cmp::min(
    +                    distances[j],     // insert
    +                    distances[j + 1], // delete
    +                ) + 1,
    +                sub + (ch1 != ch2) as usize, // substitute
    +            );
     
    -            sub = distances[j + 1]; // 6
    -            distances[j + 1] = dist; // 7
    -        }
    +            sub = distances[j + 1]; // 6
    +            distances[j + 1] = dist; // 7
    +        }
         }
     
    -    *distances.last().unwrap() // 8
    -}
    -// ANCHOR_END: lev_dist
    +    *distances.last().unwrap() // 8
    +}
    +// ANCHOR_END: lev_dist
     
    -/// Naïvely calculate Levenshtein distance using the whole distance matrix to
    -/// store information for all substrings.
    -// ANCHOR: naive
    -pub fn levenshtein_distance_naive(source: &str, target: &str) -> usize {
    -    if source.is_empty() {
    -        return target.len();
    +/// Naïvely calculate Levenshtein distance using the whole distance matrix to
    +/// store information for all substrings.
    +// ANCHOR: naive
    +pub fn levenshtein_distance_naive(source: &str, target: &str) -> usize {
    +    if source.is_empty() {
    +        return target.len();
         }
    -    if target.is_empty() {
    -        return source.len();
    +    if target.is_empty() {
    +        return source.len();
         }
     
    -    // ANCHOR: naive_init
    -    let source_count = source.chars().count(); // 1
    -    let target_count = target.chars().count();
    +    // ANCHOR: naive_init
    +    let source_count = source.chars().count(); // 1
    +    let target_count = target.chars().count();
     
    -    let mut distances = vec![vec![0; target_count + 1]; source_count + 1]; // 2
    +    let mut distances = vec![vec![0; target_count + 1]; source_count + 1]; // 2
     
    -    // 3
    -    for i in 1..=source_count {
    -        distances[i][0] = i;
    +    // 3
    +    for i in 1..=source_count {
    +        distances[i][0] = i;
         }
     
    -    for j in 1..=target_count {
    -        distances[0][j] = j;
    +    for j in 1..=target_count {
    +        distances[0][j] = j;
         }
    -    // ANCHOR_END: naive_init
    +    // ANCHOR_END: naive_init
     
    -    // ANCHOR: naive_calc
    -    for (i, ch1) in source.chars().enumerate() {
    -        for (j, ch2) in target.chars().enumerate() {
    -            let ins = distances[i + 1][j] + 1; // 1
    -            let del = distances[i][j + 1] + 1; // 2
    -            let sub = distances[i][j] + (ch1 != ch2) as usize; // 3
    -            distances[i + 1][j + 1] = cmp::min(cmp::min(ins, del), sub); // 4
    -        }
    +    // ANCHOR: naive_calc
    +    for (i, ch1) in source.chars().enumerate() {
    +        for (j, ch2) in target.chars().enumerate() {
    +            let ins = distances[i + 1][j] + 1; // 1
    +            let del = distances[i][j + 1] + 1; // 2
    +            let sub = distances[i][j] + (ch1 != ch2) as usize; // 3
    +            distances[i + 1][j + 1] = cmp::min(cmp::min(ins, del), sub); // 4
    +        }
         }
     
    -    // 5
    -    *distances.last().and_then(|d| d.last()).unwrap()
    -    // ANCHOR_END: naive_calc
    -}
    -// ANCHOR_END: naive
    +    // 5
    +    *distances.last().and_then(|d| d.last()).unwrap()
    +    // ANCHOR_END: naive_calc
    +}
    +// ANCHOR_END: naive
     
    -#[cfg(test)]
    -mod base {
    -    use super::*;
    +#[cfg(test)]
    +mod base {
    +    use super::*;
     
    -    fn test_equality(f: impl Fn(&str, &str) -> usize) {
    -        let cases = ["", "r", "ru", "rus", "rust"];
    -        for &s in &cases {
    -            assert_eq!(f(s, s), 0);
    +    fn test_equality(f: impl Fn(&str, &str) -> usize) {
    +        let cases = ["", "r", "ru", "rus", "rust"];
    +        for &s in &cases {
    +            assert_eq!(f(s, s), 0);
             }
         }
     
    -    fn test_insertion(f: impl Fn(&str, &str) -> usize) {
    -        let cases = [
    -            (1, "rustalgo", "*rustalgo"),
    -            (2, "rustalgo", "**rustalgo"),
    -            (3, "rustalgo", "***rustalgo"),
    -            (1, "rustalgo", "rust*algo"),
    -            (2, "rustalgo", "rust**algo"),
    -            (3, "rustalgo", "rust***algo"),
    -            (1, "rustalgo", "rustalgo*"),
    -            (2, "rustalgo", "rustalgo**"),
    -            (3, "rustalgo", "rustalgo***"),
    -            (2, "rustalgo", "*r*ustalgo"),
    -            (3, "rustalgo", "*r*u*stalgo"),
    -            (4, "rustalgo", "*ru**stalgo*"),
    +    fn test_insertion(f: impl Fn(&str, &str) -> usize) {
    +        let cases = [
    +            (1, "rustalgo", "*rustalgo"),
    +            (2, "rustalgo", "**rustalgo"),
    +            (3, "rustalgo", "***rustalgo"),
    +            (1, "rustalgo", "rust*algo"),
    +            (2, "rustalgo", "rust**algo"),
    +            (3, "rustalgo", "rust***algo"),
    +            (1, "rustalgo", "rustalgo*"),
    +            (2, "rustalgo", "rustalgo**"),
    +            (3, "rustalgo", "rustalgo***"),
    +            (2, "rustalgo", "*r*ustalgo"),
    +            (3, "rustalgo", "*r*u*stalgo"),
    +            (4, "rustalgo", "*ru**stalgo*"),
             ];
    -        for &(dist, s1, s2) in &cases {
    -            assert_eq!(f(s1, s2), dist);
    -            assert_eq!(f(s2, s1), dist);
    +        for &(dist, s1, s2) in &cases {
    +            assert_eq!(f(s1, s2), dist);
    +            assert_eq!(f(s2, s1), dist);
             }
         }
     
    -    fn test_deletion(f: impl Fn(&str, &str) -> usize) {
    -        let cases = [
    -            (1, "rustalgo", "ustalgo"),
    -            (2, "rustalgo", "stalgo"),
    -            (3, "rustalgo", "talgo"),
    -            (1, "rustalgo", "rustalg"),
    -            (2, "rustalgo", "rustal"),
    -            (3, "rustalgo", "rusta"),
    -            (2, "rustalgo", "utalgo"),
    -            (3, "rustalgo", "rstag"),
    -            (8, "rustalgo", ""),
    +    fn test_deletion(f: impl Fn(&str, &str) -> usize) {
    +        let cases = [
    +            (1, "rustalgo", "ustalgo"),
    +            (2, "rustalgo", "stalgo"),
    +            (3, "rustalgo", "talgo"),
    +            (1, "rustalgo", "rustalg"),
    +            (2, "rustalgo", "rustal"),
    +            (3, "rustalgo", "rusta"),
    +            (2, "rustalgo", "utalgo"),
    +            (3, "rustalgo", "rstag"),
    +            (8, "rustalgo", ""),
             ];
    -        for &(dist, s1, s2) in &cases {
    -            assert_eq!(f(s1, s2), dist);
    -            assert_eq!(f(s2, s1), dist);
    +        for &(dist, s1, s2) in &cases {
    +            assert_eq!(f(s1, s2), dist);
    +            assert_eq!(f(s2, s1), dist);
             }
         }
     
    -    fn test_substitution(f: impl Fn(&str, &str) -> usize) {
    -        let cases = [
    -            (1, "rustalgo", "*ustalgo"),
    -            (2, "rustalgo", "**stalgo"),
    -            (3, "rustalgo", "***talgo"),
    -            (1, "rustalgo", "rusta*go"),
    -            (2, "rustalgo", "rusta**o"),
    -            (3, "rustalgo", "rusta***"),
    -            (3, "rustalgo", "*u*t*lgo"),
    -            (4, "rustalgo", "r**t*lg*"),
    -            (8, "rustalgo", "********"),
    +    fn test_substitution(f: impl Fn(&str, &str) -> usize) {
    +        let cases = [
    +            (1, "rustalgo", "*ustalgo"),
    +            (2, "rustalgo", "**stalgo"),
    +            (3, "rustalgo", "***talgo"),
    +            (1, "rustalgo", "rusta*go"),
    +            (2, "rustalgo", "rusta**o"),
    +            (3, "rustalgo", "rusta***"),
    +            (3, "rustalgo", "*u*t*lgo"),
    +            (4, "rustalgo", "r**t*lg*"),
    +            (8, "rustalgo", "********"),
             ];
    -        for &(dist, s1, s2) in &cases {
    -            assert_eq!(f(s1, s2), dist);
    -            assert_eq!(f(s2, s1), dist);
    +        for &(dist, s1, s2) in &cases {
    +            assert_eq!(f(s1, s2), dist);
    +            assert_eq!(f(s2, s1), dist);
             }
         }
     
    -    fn test_mixed(f: impl Fn(&str, &str) -> usize) {
    -        let sample = [
    -            (8, "", "rustalgo"),
    -            (4, "rustalgo", "**ruslgo"),
    -            (3, "kitten", "sitting"),
    -            (3, "saturday", "sunday"),
    -            (3, "台灣國語", "閩南語"),
    -            (7, "⭕️❌肺炎染", "嚴重⭕️傳染性💩肺炎"),
    +    fn test_mixed(f: impl Fn(&str, &str) -> usize) {
    +        let sample = [
    +            (8, "", "rustalgo"),
    +            (4, "rustalgo", "**ruslgo"),
    +            (3, "kitten", "sitting"),
    +            (3, "saturday", "sunday"),
    +            (3, "台灣國語", "閩南語"),
    +            (7, "⭕️❌肺炎染", "嚴重⭕️傳染性💩肺炎"),
             ];
    -        for &(dist, s1, s2) in &sample {
    -            assert_eq!(f(s1, s2), dist);
    -            assert_eq!(f(s2, s1), dist);
    +        for &(dist, s1, s2) in &sample {
    +            assert_eq!(f(s1, s2), dist);
    +            assert_eq!(f(s2, s1), dist);
             }
         }
     
    -    // optimized
    +    // optimized
     
    -    #[test]
    -    fn equality() {
    -        test_equality(levenshtein_distance);
    +    #[test]
    +    fn equality() {
    +        test_equality(levenshtein_distance);
         }
     
    -    #[test]
    -    fn insertion() {
    -        test_insertion(levenshtein_distance);
    +    #[test]
    +    fn insertion() {
    +        test_insertion(levenshtein_distance);
         }
     
    -    #[test]
    -    fn deletion() {
    -        test_deletion(levenshtein_distance);
    +    #[test]
    +    fn deletion() {
    +        test_deletion(levenshtein_distance);
         }
     
    -    #[test]
    -    fn substitution() {
    -        test_substitution(levenshtein_distance);
    +    #[test]
    +    fn substitution() {
    +        test_substitution(levenshtein_distance);
         }
     
    -    #[test]
    -    fn mixed() {
    -        test_mixed(levenshtein_distance);
    +    #[test]
    +    fn mixed() {
    +        test_mixed(levenshtein_distance);
         }
     
    -    // naive implementation
    +    // naive implementation
     
    -    #[test]
    -    fn equality_naive() {
    -        test_equality(levenshtein_distance_naive);
    +    #[test]
    +    fn equality_naive() {
    +        test_equality(levenshtein_distance_naive);
         }
     
    -    #[test]
    -    fn insertion_naive() {
    -        test_insertion(levenshtein_distance_naive);
    +    #[test]
    +    fn insertion_naive() {
    +        test_insertion(levenshtein_distance_naive);
         }
     
    -    #[test]
    -    fn deletion_naive() {
    -        test_deletion(levenshtein_distance_naive);
    +    #[test]
    +    fn deletion_naive() {
    +        test_deletion(levenshtein_distance_naive);
         }
     
    -    #[test]
    -    fn substitution_naive() {
    -        test_substitution(levenshtein_distance_naive);
    +    #[test]
    +    fn substitution_naive() {
    +        test_substitution(levenshtein_distance_naive);
         }
     
    -    #[test]
    -    fn mixed_naive() {
    -        test_mixed(levenshtein_distance_naive);
    +    #[test]
    +    fn mixed_naive() {
    +        test_mixed(levenshtein_distance_naive);
         }
     }
    -
    -
    - \ No newline at end of file +
    \ No newline at end of file diff --git a/doc/src/rust_algorithm_club/lib.rs.html b/doc/src/rust_algorithm_club/lib.rs.html index 974cb8ca..8c7a3b06 100644 --- a/doc/src/rust_algorithm_club/lib.rs.html +++ b/doc/src/rust_algorithm_club/lib.rs.html @@ -1,48 +1,39 @@ -lib.rs - source - -
     1
    - 2
    - 3
    - 4
    - 5
    - 6
    - 7
    - 8
    - 9
    -10
    -11
    -12
    -13
    -14
    -15
    -16
    -17
    -18
    -19
    -
    //! ![](https://rust-algo.club/logo.svg)
    -//!
    -//! # Welcome to Rust algorithm club!
    +lib.rs - source

    rust_algorithm_club/
    lib.rs

    +1
    +2
    +3
    +4
    +5
    +6
    +7
    +8
    +9
    +10
    +11
    +12
    +13
    +14
    +15
    +16
    +17
    +18
    +19
    //! ![](https://weihanglo.tw/rust-algorithm-club/logo.svg)
    +//!
    +//! # Welcome to Rust algorithm club!
     
    -#![warn(missing_docs)]
    -#![warn(dead_code)]
    -#![deny(deprecated)]
    -#![deny(nonstandard_style)]
    -#![doc(html_logo_url = "https://rust-algo.club/favicon.png")]
    +#![warn(missing_docs)]
    +#![warn(dead_code)]
    +#![deny(deprecated)]
    +#![deny(nonstandard_style)]
    +#![doc(html_logo_url = "https://weihanglo.tw/rust-algorithm-club/favicon.png")]
     
    -pub mod collections;
    -pub mod searching;
    -pub mod sorting;
    +pub mod collections;
    +pub mod searching;
    +pub mod sorting;
     
    -mod levenshtein_distance;
    -pub use levenshtein_distance::{levenshtein_distance, levenshtein_distance_naive};
    +mod levenshtein_distance;
    +pub use levenshtein_distance::{levenshtein_distance, levenshtein_distance_naive};
     
    -mod hamming_distance;
    -pub use hamming_distance::{hamming_distance, hamming_distance_str};
    -
    -
    - \ No newline at end of file +mod hamming_distance; +pub use hamming_distance::{hamming_distance, hamming_distance_str}; + \ No newline at end of file diff --git a/doc/src/rust_algorithm_club/searching/binary_search/mod.rs.html b/doc/src/rust_algorithm_club/searching/binary_search/mod.rs.html index 97dc87d5..b8784189 100644 --- a/doc/src/rust_algorithm_club/searching/binary_search/mod.rs.html +++ b/doc/src/rust_algorithm_club/searching/binary_search/mod.rs.html @@ -1,98 +1,89 @@ -mod.rs - source - -
     1
    - 2
    - 3
    - 4
    - 5
    - 6
    - 7
    - 8
    - 9
    -10
    -11
    -12
    -13
    -14
    -15
    -16
    -17
    -18
    -19
    -20
    -21
    -22
    -23
    -24
    -25
    -26
    -27
    -28
    -29
    -30
    -31
    -32
    -33
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -44
    -
    /// Handmade binary search for a sorted sequence.
    -///
    -/// This version of binary search does not guarantee retrieval of the leftmost
    -/// matching position if multiple elements found.
    -///
    -/// Reference:
    -///
    -/// - [`std::slice::binary_search`][1]
    -///
    -/// [1]: https://doc.rust-lang.org/std/primitive.slice.html#method.binary_search
    -pub fn binary_search<T>(arr: &[T], target: &T) -> Result<usize, usize>
    -where
    -    T: PartialOrd,
    +mod.rs - source

    rust_algorithm_club/searching/binary_search/
    mod.rs

    +1
    +2
    +3
    +4
    +5
    +6
    +7
    +8
    +9
    +10
    +11
    +12
    +13
    +14
    +15
    +16
    +17
    +18
    +19
    +20
    +21
    +22
    +23
    +24
    +25
    +26
    +27
    +28
    +29
    +30
    +31
    +32
    +33
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    /// Handmade binary search for a sorted sequence.
    +///
    +/// This version of binary search does not guarantee retrieval of the leftmost
    +/// matching position if multiple elements found.
    +///
    +/// Reference:
    +///
    +/// - [`std::slice::binary_search`][1]
    +///
    +/// [1]: https://doc.rust-lang.org/std/primitive.slice.html#method.binary_search
    +pub fn binary_search<T>(arr: &[T], target: &T) -> Result<usize, usize>
    +where
    +    T: PartialOrd,
     {
    -    let mut size = arr.len();
    -    if size == 0 {
    -        return Err(0);
    +    let mut size = arr.len();
    +    if size == 0 {
    +        return Err(0);
         }
    -    let mut base = 0_usize;
    +    let mut base = 0_usize;
     
    -    while size > 1 {
    -        // mid: [base..size)
    -        let half = size / 2;
    -        let mid = base + half;
    -        if arr[mid] <= *target {
    -            base = mid
    +    while size > 1 {
    +        // mid: [base..size)
    +        let half = size / 2;
    +        let mid = base + half;
    +        if arr[mid] <= *target {
    +            base = mid
             }
    -        size -= half;
    +        size -= half;
         }
     
    -    if arr[base] == *target {
    -        Ok(base)
    -    } else {
    -        // Return the expected position in the array.
    -        Err(base + (arr[base] < *target) as usize)
    +    if arr[base] == *target {
    +        Ok(base)
    +    } else {
    +        // Return the expected position in the array.
    +        Err(base + (arr[base] < *target) as usize)
         }
     }
     
    -#[cfg(test)]
    -mod base {
    -    use super::*;
    +#[cfg(test)]
    +mod base {
    +    use super::*;
     
    -    sorted_no_duplicate_cases!(binary_search);
    +    sorted_no_duplicate_cases!(binary_search);
     }
    -
    -
    - \ No newline at end of file + \ No newline at end of file diff --git a/doc/src/rust_algorithm_club/searching/exponential_search/mod.rs.html b/doc/src/rust_algorithm_club/searching/exponential_search/mod.rs.html index 1c2f9773..662dd8e3 100644 --- a/doc/src/rust_algorithm_club/searching/exponential_search/mod.rs.html +++ b/doc/src/rust_algorithm_club/searching/exponential_search/mod.rs.html @@ -1,80 +1,71 @@ -mod.rs - source - -
     1
    - 2
    - 3
    - 4
    - 5
    - 6
    - 7
    - 8
    - 9
    -10
    -11
    -12
    -13
    -14
    -15
    -16
    -17
    -18
    -19
    -20
    -21
    -22
    -23
    -24
    -25
    -26
    -27
    -28
    -29
    -30
    -31
    -32
    -33
    -34
    -35
    -
    use crate::searching::binary_search;
    +mod.rs - source

    rust_algorithm_club/searching/exponential_search/
    mod.rs

    +1
    +2
    +3
    +4
    +5
    +6
    +7
    +8
    +9
    +10
    +11
    +12
    +13
    +14
    +15
    +16
    +17
    +18
    +19
    +20
    +21
    +22
    +23
    +24
    +25
    +26
    +27
    +28
    +29
    +30
    +31
    +32
    +33
    +34
    +35
    use crate::searching::binary_search;
     
    -/// Exponential search. An binary search variant that can perform on
    -/// unbounded sequences and infinite lists.
    -///
    -/// Use [`crate::searching::binary_search`][1] as the underlying algorithm.
    -///
    -/// [1]: ./fn.binary_search.html
    -pub fn exponential_search<T>(arr: &[T], target: &T) -> Result<usize, usize>
    -where
    -    T: PartialOrd,
    +/// Exponential search. An binary search variant that can perform on
    +/// unbounded sequences and infinite lists.
    +///
    +/// Use [`crate::searching::binary_search`][1] as the underlying algorithm.
    +///
    +/// [1]: ./fn.binary_search.html
    +pub fn exponential_search<T>(arr: &[T], target: &T) -> Result<usize, usize>
    +where
    +    T: PartialOrd,
     {
    -    let size = arr.len();
    -    if size == 0 {
    -        return Err(0);
    +    let size = arr.len();
    +    if size == 0 {
    +        return Err(0);
         }
     
    -    let mut hi = 1_usize; // Upper bound.
    -    while hi < size && arr[hi] < *target {
    -        hi <<= 1;
    +    let mut hi = 1_usize; // Upper bound.
    +    while hi < size && arr[hi] < *target {
    +        hi <<= 1;
         }
    -    let lo = hi >> 1; // Lower bound.
    +    let lo = hi >> 1; // Lower bound.
     
    -    // Search within [lo..size) or [lo..hi]
    -    binary_search(&arr[lo..size.min(hi + 1)], target)
    -        .map(|index| lo + index) // Adjust index offset.
    -        .map_err(|index| lo + index)
    +    // Search within [lo..size) or [lo..hi]
    +    binary_search(&arr[lo..size.min(hi + 1)], target)
    +        .map(|index| lo + index) // Adjust index offset.
    +        .map_err(|index| lo + index)
     }
     
    -#[cfg(test)]
    -mod base {
    -    use super::*;
    +#[cfg(test)]
    +mod base {
    +    use super::*;
     
    -    sorted_no_duplicate_cases!(exponential_search);
    +    sorted_no_duplicate_cases!(exponential_search);
     }
    -
    -
    - \ No newline at end of file + \ No newline at end of file diff --git a/doc/src/rust_algorithm_club/searching/interpolation_search/mod.rs.html b/doc/src/rust_algorithm_club/searching/interpolation_search/mod.rs.html index 8b8bf45f..cb0f117c 100644 --- a/doc/src/rust_algorithm_club/searching/interpolation_search/mod.rs.html +++ b/doc/src/rust_algorithm_club/searching/interpolation_search/mod.rs.html @@ -1,162 +1,153 @@ -mod.rs - source - -
     1
    - 2
    - 3
    - 4
    - 5
    - 6
    - 7
    - 8
    - 9
    -10
    -11
    -12
    -13
    -14
    -15
    -16
    -17
    -18
    -19
    -20
    -21
    -22
    -23
    -24
    -25
    -26
    -27
    -28
    -29
    -30
    -31
    -32
    -33
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -44
    -45
    -46
    -47
    -48
    -49
    -50
    -51
    -52
    -53
    -54
    -55
    -56
    -57
    -58
    -59
    -60
    -61
    -62
    -63
    -64
    -65
    -66
    -67
    -68
    -69
    -70
    -71
    -72
    -73
    -74
    -75
    -76
    -
    /// Search in sorted sequences by checking the next position based on an
    -/// linear interpolation of the search key.
    -///
    -/// # Parameters
    -///
    -/// * `arr`: Slice to search in.
    -/// * `target`: Object to search for.
    -///
    -/// # Notes
    -///
    -/// Since interpolations only be applied on numeric types, we choose `i32` to
    -/// avoid overkilling. If you desire a full functional trait of numeric types,
    -/// [num][1] crate would meet your needs.
    -///
    -/// [1]: https://github.com/rust-num/num
    -pub fn interpolation_search(arr: &[i32], target: &i32) -> Result<usize, usize> {
    -    // 1. Handle empty sequence.
    -    if arr.is_empty() {
    -        return Err(0);
    +mod.rs - source

    rust_algorithm_club/searching/interpolation_search/
    mod.rs

    +1
    +2
    +3
    +4
    +5
    +6
    +7
    +8
    +9
    +10
    +11
    +12
    +13
    +14
    +15
    +16
    +17
    +18
    +19
    +20
    +21
    +22
    +23
    +24
    +25
    +26
    +27
    +28
    +29
    +30
    +31
    +32
    +33
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
    +67
    +68
    +69
    +70
    +71
    +72
    +73
    +74
    +75
    +76
    /// Search in sorted sequences by checking the next position based on an
    +/// linear interpolation of the search key.
    +///
    +/// # Parameters
    +///
    +/// * `arr`: Slice to search in.
    +/// * `target`: Object to search for.
    +///
    +/// # Notes
    +///
    +/// Since interpolations only be applied on numeric types, we choose `i32` to
    +/// avoid overkilling. If you desire a full functional trait of numeric types,
    +/// [num][1] crate would meet your needs.
    +///
    +/// [1]: https://github.com/rust-num/num
    +pub fn interpolation_search(arr: &[i32], target: &i32) -> Result<usize, usize> {
    +    // 1. Handle empty sequence.
    +    if arr.is_empty() {
    +        return Err(0);
         }
     
    -    // 2. Setup variable storing iteration informaion.
    -    // hi -> upper bound of search range.
    -    // lo -> lower bound of search range.
    -    // interpolant -> position to probe in the sequence
    -    let mut hi = arr.len() - 1;
    -    let mut lo = 0_usize;
    -    let mut interpolant = 0_usize;
    +    // 2. Setup variable storing iteration informaion.
    +    // hi -> upper bound of search range.
    +    // lo -> lower bound of search range.
    +    // interpolant -> position to probe in the sequence
    +    let mut hi = arr.len() - 1;
    +    let mut lo = 0_usize;
    +    let mut interpolant = 0_usize;
     
    -    // 3. Main loop to calculate the interpolant.
    -    loop {
    -        let lo_val = arr[lo];
    -        let hi_val = arr[hi];
    +    // 3. Main loop to calculate the interpolant.
    +    loop {
    +        let lo_val = arr[lo];
    +        let hi_val = arr[hi];
     
    -        // 3.1. Three condition to exit the loop
    -        //   a. hi and lo flag overlapping -> all elements are scanned.
    -        //   b. target value is less than the lowest value
    -        //   c. target value exceeds the highest value
    -        if hi <= lo || *target < lo_val || *target > hi_val {
    +        // 3.1. Three condition to exit the loop
    +        //   a. hi and lo flag overlapping -> all elements are scanned.
    +        //   b. target value is less than the lowest value
    +        //   c. target value exceeds the highest value
    +        if hi <= lo || *target < lo_val || *target > hi_val {
                 break;
             }
     
    -        // 3.2. The linear interpolation part
    -        let offset = (*target - lo_val) * (hi - lo) as i32 / (hi_val - lo_val);
    -        interpolant = lo + offset as usize;
    +        // 3.2. The linear interpolation part
    +        let offset = (*target - lo_val) * (hi - lo) as i32 / (hi_val - lo_val);
    +        interpolant = lo + offset as usize;
     
    -        let mid_val = arr[interpolant];
    +        let mid_val = arr[interpolant];
     
    -        // 3.3. Comparison between the interpolant and targert value.
    -        // New boundaries must step one index further to avoid infinite searching.
    -        if mid_val > *target {
    -            hi = interpolant - 1;
    -        } else if mid_val < *target {
    -            lo = interpolant + 1;
    -        } else {
    +        // 3.3. Comparison between the interpolant and targert value.
    +        // New boundaries must step one index further to avoid infinite searching.
    +        if mid_val > *target {
    +            hi = interpolant - 1;
    +        } else if mid_val < *target {
    +            lo = interpolant + 1;
    +        } else {
                 break;
             }
         }
     
    -    // 4. Determine whether the returning interpolant equals to target value.
    -    // `Result::Err` here maps to a position safe to insert while remains ordering.
    -    if *target > arr[hi] {
    -        Err(hi + 1)
    -    } else if *target < arr[lo] {
    -        Err(lo)
    -    } else {
    -        Ok(interpolant)
    +    // 4. Determine whether the returning interpolant equals to target value.
    +    // `Result::Err` here maps to a position safe to insert while remains ordering.
    +    if *target > arr[hi] {
    +        Err(hi + 1)
    +    } else if *target < arr[lo] {
    +        Err(lo)
    +    } else {
    +        Ok(interpolant)
         }
     }
     
    -#[cfg(test)]
    -mod base {
    -    use super::*;
    +#[cfg(test)]
    +mod base {
    +    use super::*;
     
    -    sorted_no_duplicate_cases!(interpolation_search);
    +    sorted_no_duplicate_cases!(interpolation_search);
     }
    -
    -
    - \ No newline at end of file + \ No newline at end of file diff --git a/doc/src/rust_algorithm_club/searching/linear_search/mod.rs.html b/doc/src/rust_algorithm_club/searching/linear_search/mod.rs.html index a48ee2ad..ca1ed6b0 100644 --- a/doc/src/rust_algorithm_club/searching/linear_search/mod.rs.html +++ b/doc/src/rust_algorithm_club/searching/linear_search/mod.rs.html @@ -1,48 +1,39 @@ -mod.rs - source - -
     1
    - 2
    - 3
    - 4
    - 5
    - 6
    - 7
    - 8
    - 9
    -10
    -11
    -12
    -13
    -14
    -15
    -16
    -17
    -18
    -19
    -
    /// Linear search.
    -pub fn linear_search<T>(arr: &[T], target: &T) -> Option<usize>
    -where
    -    T: PartialEq,
    +mod.rs - source

    rust_algorithm_club/searching/linear_search/
    mod.rs

    +1
    +2
    +3
    +4
    +5
    +6
    +7
    +8
    +9
    +10
    +11
    +12
    +13
    +14
    +15
    +16
    +17
    +18
    +19
    /// Linear search.
    +pub fn linear_search<T>(arr: &[T], target: &T) -> Option<usize>
    +where
    +    T: PartialEq,
     {
    -    for (index, item) in arr.iter().enumerate() {
    -        if item == target {
    -            return Some(index);
    +    for (index, item) in arr.iter().enumerate() {
    +        if item == target {
    +            return Some(index);
             }
         }
    -    None
    -}
    +    None
    +}
     
    -#[cfg(test)]
    -mod base {
    -    use super::*;
    +#[cfg(test)]
    +mod base {
    +    use super::*;
     
    -    base_cases!(linear_search);
    +    base_cases!(linear_search);
     }
    -
    -
    - \ No newline at end of file + \ No newline at end of file diff --git a/doc/src/rust_algorithm_club/searching/mod.rs.html b/doc/src/rust_algorithm_club/searching/mod.rs.html index 9018dcaa..bd9a377a 100644 --- a/doc/src/rust_algorithm_club/searching/mod.rs.html +++ b/doc/src/rust_algorithm_club/searching/mod.rs.html @@ -1,44 +1,35 @@ -mod.rs - source - -
     1
    - 2
    - 3
    - 4
    - 5
    - 6
    - 7
    - 8
    - 9
    -10
    -11
    -12
    -13
    -14
    -15
    -16
    -17
    -
    //! Searching algorithms.
    +mod.rs - source

    rust_algorithm_club/searching/
    mod.rs

    +1
    +2
    +3
    +4
    +5
    +6
    +7
    +8
    +9
    +10
    +11
    +12
    +13
    +14
    +15
    +16
    +17
    //! Searching algorithms.
     
    -#[cfg(test)]
    -#[macro_use]
    -mod test_cases;
    +#[cfg(test)]
    +#[macro_use]
    +mod test_cases;
     
    -mod linear_search;
    -pub use self::linear_search::linear_search;
    +mod linear_search;
    +pub use self::linear_search::linear_search;
     
    -mod binary_search;
    -pub use self::binary_search::binary_search;
    +mod binary_search;
    +pub use self::binary_search::binary_search;
     
    -mod interpolation_search;
    -pub use self::interpolation_search::interpolation_search;
    +mod interpolation_search;
    +pub use self::interpolation_search::interpolation_search;
     
    -mod exponential_search;
    -pub use self::exponential_search::exponential_search;
    -
    -
    - \ No newline at end of file +mod exponential_search; +pub use self::exponential_search::exponential_search; + \ No newline at end of file diff --git a/doc/src/rust_algorithm_club/sorting/bubble_sort/mod.rs.html b/doc/src/rust_algorithm_club/sorting/bubble_sort/mod.rs.html index e6ac6046..b4967ec6 100644 --- a/doc/src/rust_algorithm_club/sorting/bubble_sort/mod.rs.html +++ b/doc/src/rust_algorithm_club/sorting/bubble_sort/mod.rs.html @@ -1,104 +1,95 @@ -mod.rs - source - -
     1
    - 2
    - 3
    - 4
    - 5
    - 6
    - 7
    - 8
    - 9
    -10
    -11
    -12
    -13
    -14
    -15
    -16
    -17
    -18
    -19
    -20
    -21
    -22
    -23
    -24
    -25
    -26
    -27
    -28
    -29
    -30
    -31
    -32
    -33
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -44
    -45
    -46
    -47
    -
    /// Bubble sort
    -pub fn bubble_sort(arr: &mut [i32]) {
    -    let mut swapped = true;
    -    while swapped {
    -        // No swap means array is sorted.
    -        swapped = false;
    -        for i in 1..arr.len() {
    -            if arr[i - 1] > arr[i] {
    -                arr.swap(i - 1, i);
    -                swapped = true
    -            }
    +mod.rs - source

    rust_algorithm_club/sorting/bubble_sort/
    mod.rs

    +1
    +2
    +3
    +4
    +5
    +6
    +7
    +8
    +9
    +10
    +11
    +12
    +13
    +14
    +15
    +16
    +17
    +18
    +19
    +20
    +21
    +22
    +23
    +24
    +25
    +26
    +27
    +28
    +29
    +30
    +31
    +32
    +33
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    /// Bubble sort
    +pub fn bubble_sort(arr: &mut [i32]) {
    +    let mut swapped = true;
    +    while swapped {
    +        // No swap means array is sorted.
    +        swapped = false;
    +        for i in 1..arr.len() {
    +            if arr[i - 1] > arr[i] {
    +                arr.swap(i - 1, i);
    +                swapped = true
    +            }
             }
         }
     }
     
    -/// Optimized bubble sort
    -///
    -/// Memorize last swapped index to avoid unnecessary check.
    -pub fn bubble_sort_optimized(arr: &mut [i32]) {
    -    let mut new_len: usize;
    -    let mut len = arr.len();
    -    loop {
    -        new_len = 0;
    -        for i in 1..len {
    -            if arr[i - 1] > arr[i] {
    -                arr.swap(i - 1, i);
    -                new_len = i;
    +/// Optimized bubble sort
    +///
    +/// Memorize last swapped index to avoid unnecessary check.
    +pub fn bubble_sort_optimized(arr: &mut [i32]) {
    +    let mut new_len: usize;
    +    let mut len = arr.len();
    +    loop {
    +        new_len = 0;
    +        for i in 1..len {
    +            if arr[i - 1] > arr[i] {
    +                arr.swap(i - 1, i);
    +                new_len = i;
                 }
             }
    -        if new_len == 0 {
    +        if new_len == 0 {
                 break;
             }
    -        len = new_len;
    +        len = new_len;
         }
     }
     
    -#[cfg(test)]
    -mod base {
    -    use super::*;
    -    base_cases!(bubble_sort);
    +#[cfg(test)]
    +mod base {
    +    use super::*;
    +    base_cases!(bubble_sort);
     }
     
    -#[cfg(test)]
    -mod optimized {
    -    use super::*;
    -    base_cases!(bubble_sort_optimized);
    +#[cfg(test)]
    +mod optimized {
    +    use super::*;
    +    base_cases!(bubble_sort_optimized);
     }
    -
    -
    - \ No newline at end of file + \ No newline at end of file diff --git a/doc/src/rust_algorithm_club/sorting/bucket_sort/mod.rs.html b/doc/src/rust_algorithm_club/sorting/bucket_sort/mod.rs.html index b072c45a..eb5dca57 100644 --- a/doc/src/rust_algorithm_club/sorting/bucket_sort/mod.rs.html +++ b/doc/src/rust_algorithm_club/sorting/bucket_sort/mod.rs.html @@ -1,168 +1,159 @@ -mod.rs - source - -
     1
    - 2
    - 3
    - 4
    - 5
    - 6
    - 7
    - 8
    - 9
    -10
    -11
    -12
    -13
    -14
    -15
    -16
    -17
    -18
    -19
    -20
    -21
    -22
    -23
    -24
    -25
    -26
    -27
    -28
    -29
    -30
    -31
    -32
    -33
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -44
    -45
    -46
    -47
    -48
    -49
    -50
    -51
    -52
    -53
    -54
    -55
    -56
    -57
    -58
    -59
    -60
    -61
    -62
    -63
    -64
    -65
    -66
    -67
    -68
    -69
    -70
    -71
    -72
    -73
    -74
    -75
    -76
    -77
    -78
    -79
    -
    /// Bucket sort
    -///
    -/// * `arr` - Collection of value to be sorted in place.
    -/// * `hasher` - Function hashing to map elements to correspoding buckets.
    -///
    -/// Ref: https://codereview.stackexchange.com/a/145124
    -pub fn bucket_sort<H, F, T>(arr: &mut [T], hasher: F)
    -where
    -    H: Ord,
    -    F: Fn(&T) -> H,
    -    T: Ord + Clone,
    +mod.rs - source

    rust_algorithm_club/sorting/bucket_sort/
    mod.rs

    +1
    +2
    +3
    +4
    +5
    +6
    +7
    +8
    +9
    +10
    +11
    +12
    +13
    +14
    +15
    +16
    +17
    +18
    +19
    +20
    +21
    +22
    +23
    +24
    +25
    +26
    +27
    +28
    +29
    +30
    +31
    +32
    +33
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
    +67
    +68
    +69
    +70
    +71
    +72
    +73
    +74
    +75
    +76
    +77
    +78
    +79
    /// Bucket sort
    +///
    +/// * `arr` - Collection of value to be sorted in place.
    +/// * `hasher` - Function hashing to map elements to correspoding buckets.
    +///
    +/// Ref: https://codereview.stackexchange.com/a/145124
    +pub fn bucket_sort<H, F, T>(arr: &mut [T], hasher: F)
    +where
    +    H: Ord,
    +    F: Fn(&T) -> H,
    +    T: Ord + Clone,
     {
    -    // 1. Create buckets.
    -    let mut buckets: Vec<Bucket<H, T>> = Vec::new();
    +    // 1. Create buckets.
    +    let mut buckets: Vec<Bucket<H, T>> = Vec::new();
     
    -    // 2. Iterate all elements.
    -    for value in arr.iter() {
    -        // 2.1 Create hasher mapping to certain bucket.
    -        let hash = hasher(&value);
    +    // 2. Iterate all elements.
    +    for value in arr.iter() {
    +        // 2.1 Create hasher mapping to certain bucket.
    +        let hash = hasher(&value);
     
    -        // 2.2 Search if the bucket with same hash exists.
    -        let value = value.clone();
    -        match buckets.binary_search_by(|bucket| bucket.hash.cmp(&hash)) {
    -            // If exists, push the value to the bucket.
    -            Ok(index) => buckets[index].values.push(value),
    -            // If none, create and new bucket and insert value in.
    -            Err(index) => buckets.insert(index, Bucket::new(hash, value)),
    +        // 2.2 Search if the bucket with same hash exists.
    +        let value = value.clone();
    +        match buckets.binary_search_by(|bucket| bucket.hash.cmp(&hash)) {
    +            // If exists, push the value to the bucket.
    +            Ok(index) => buckets[index].values.push(value),
    +            // If none, create and new bucket and insert value in.
    +            Err(index) => buckets.insert(index, Bucket::new(hash, value)),
             }
         }
     
    -    // 3. Iterate all buckets and flatten their internal collections.
    -    let ret = buckets
    -        .into_iter()
    -        .flat_map(|mut bucket| {
    -            bucket.values.sort(); // We use built-in sorting here.
    -            bucket.values
    +    // 3. Iterate all buckets and flatten their internal collections.
    +    let ret = buckets
    +        .into_iter()
    +        .flat_map(|mut bucket| {
    +            bucket.values.sort(); // We use built-in sorting here.
    +            bucket.values
             })
    -        .collect::<Vec<T>>();
    +        .collect::<Vec<T>>();
     
    -    // 4. Clone back to original array.
    -    arr.clone_from_slice(&ret);
    +    // 4. Clone back to original array.
    +    arr.clone_from_slice(&ret);
     }
     
    -/// Bucket to store elements.
    -struct Bucket<H, T> {
    -    hash: H,
    -    values: Vec<T>,
    +/// Bucket to store elements.
    +struct Bucket<H, T> {
    +    hash: H,
    +    values: Vec<T>,
     }
     
    -impl<H, T> Bucket<H, T> {
    -    /// Create a new bucket and insert its first value.
    -    ///
    -    /// * `hash` - Hash value generated by hasher param of `bucket_sort`.
    -    /// * `value` - Value to be put in the bucket.
    -    pub fn new(hash: H, value: T) -> Bucket<H, T> {
    -        Bucket {
    -            hash,
    -            values: vec![value],
    +impl<H, T> Bucket<H, T> {
    +    /// Create a new bucket and insert its first value.
    +    ///
    +    /// * `hash` - Hash value generated by hasher param of `bucket_sort`.
    +    /// * `value` - Value to be put in the bucket.
    +    pub fn new(hash: H, value: T) -> Bucket<H, T> {
    +        Bucket {
    +            hash,
    +            values: vec![value],
             }
         }
     }
     
    -#[cfg(test)]
    -mod base {
    -    use super::*;
    -    fn bucket_sort_(arr: &mut [i32]) {
    -        bucket_sort(arr, |int| int / 4);
    +#[cfg(test)]
    +mod base {
    +    use super::*;
    +    fn bucket_sort_(arr: &mut [i32]) {
    +        bucket_sort(arr, |int| int / 4);
         }
    -    base_cases!(bucket_sort_);
    +    base_cases!(bucket_sort_);
     }
     
    -#[cfg(test)]
    -mod stability {
    -    use super::*;
    -    fn bucket_sort_(arr: &mut [(i32, i32)]) {
    -        bucket_sort(arr, |t| t.0 / 4);
    +#[cfg(test)]
    +mod stability {
    +    use super::*;
    +    fn bucket_sort_(arr: &mut [(i32, i32)]) {
    +        bucket_sort(arr, |t| t.0 / 4);
         }
    -    stability_cases!(bucket_sort_);
    +    stability_cases!(bucket_sort_);
     }
    -
    -
    - \ No newline at end of file + \ No newline at end of file diff --git a/doc/src/rust_algorithm_club/sorting/counting_sort/mod.rs.html b/doc/src/rust_algorithm_club/sorting/counting_sort/mod.rs.html index e0cbe8b0..7a04a988 100644 --- a/doc/src/rust_algorithm_club/sorting/counting_sort/mod.rs.html +++ b/doc/src/rust_algorithm_club/sorting/counting_sort/mod.rs.html @@ -1,124 +1,115 @@ -mod.rs - source - -
     1
    - 2
    - 3
    - 4
    - 5
    - 6
    - 7
    - 8
    - 9
    -10
    -11
    -12
    -13
    -14
    -15
    -16
    -17
    -18
    -19
    -20
    -21
    -22
    -23
    -24
    -25
    -26
    -27
    -28
    -29
    -30
    -31
    -32
    -33
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -44
    -45
    -46
    -47
    -48
    -49
    -50
    -51
    -52
    -53
    -54
    -55
    -56
    -57
    -
    /// Counting sort
    -///
    -/// * `arr` - Collection of value to be sorted in place.
    -/// * `min` - Lower bound of the integer range.
    -/// * `max` - Upper bound of the integer range.
    -/// * `key` - Function extracting key witn the integer range from elements.
    -pub fn counting_sort<F, T>(arr: &mut [T], min: usize, max: usize, key: F)
    -where
    -    F: Fn(&T) -> usize,
    -    T: Clone,
    +mod.rs - source

    rust_algorithm_club/sorting/counting_sort/
    mod.rs

    +1
    +2
    +3
    +4
    +5
    +6
    +7
    +8
    +9
    +10
    +11
    +12
    +13
    +14
    +15
    +16
    +17
    +18
    +19
    +20
    +21
    +22
    +23
    +24
    +25
    +26
    +27
    +28
    +29
    +30
    +31
    +32
    +33
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    /// Counting sort
    +///
    +/// * `arr` - Collection of value to be sorted in place.
    +/// * `min` - Lower bound of the integer range.
    +/// * `max` - Upper bound of the integer range.
    +/// * `key` - Function extracting key witn the integer range from elements.
    +pub fn counting_sort<F, T>(arr: &mut [T], min: usize, max: usize, key: F)
    +where
    +    F: Fn(&T) -> usize,
    +    T: Clone,
     {
    -    let mut prefix_sums = {
    -        // 1. Initialize the count array with default value 0.
    -        let len = max - min;
    -        let mut count_arr = Vec::with_capacity(len);
    -        count_arr.resize(len, 0);
    +    let mut prefix_sums = {
    +        // 1. Initialize the count array with default value 0.
    +        let len = max - min;
    +        let mut count_arr = Vec::with_capacity(len);
    +        count_arr.resize(len, 0);
     
    -        // 2. Scan elements to collect counts.
    -        for value in arr.iter() {
    -            count_arr[key(value)] += 1;
    +        // 2. Scan elements to collect counts.
    +        for value in arr.iter() {
    +            count_arr[key(value)] += 1;
             }
     
    -        // 3. Calculate prefix sum.
    -        count_arr
    -            .into_iter()
    -            .scan(0, |state, x| {
    -                *state += x;
    -                Some(*state - x)
    +        // 3. Calculate prefix sum.
    +        count_arr
    +            .into_iter()
    +            .scan(0, |state, x| {
    +                *state += x;
    +                Some(*state - x)
                 })
    -            .collect::<Vec<usize>>()
    +            .collect::<Vec<usize>>()
         };
     
    -    // 4. Use prefix sum as index position of output element.
    -    for value in arr.to_vec().iter() {
    -        let index = key(value);
    -        arr[prefix_sums[index]] = value.clone();
    -        prefix_sums[index] += 1;
    +    // 4. Use prefix sum as index position of output element.
    +    for value in arr.to_vec().iter() {
    +        let index = key(value);
    +        arr[prefix_sums[index]] = value.clone();
    +        prefix_sums[index] += 1;
         }
     }
     
    -#[cfg(test)]
    -mod base {
    -    use super::*;
    -    fn counting_sort_(arr: &mut [i32]) {
    -        counting_sort(arr, 1, 10, |int| *int as usize);
    +#[cfg(test)]
    +mod base {
    +    use super::*;
    +    fn counting_sort_(arr: &mut [i32]) {
    +        counting_sort(arr, 1, 10, |int| *int as usize);
         }
    -    base_cases!(counting_sort_);
    +    base_cases!(counting_sort_);
     }
     
    -#[cfg(test)]
    -mod stability {
    -    use super::*;
    -    fn counting_sort_(arr: &mut [(i32, i32)]) {
    -        counting_sort(arr, 1, 10, |t| t.0 as usize);
    +#[cfg(test)]
    +mod stability {
    +    use super::*;
    +    fn counting_sort_(arr: &mut [(i32, i32)]) {
    +        counting_sort(arr, 1, 10, |t| t.0 as usize);
         }
    -    stability_cases!(counting_sort_);
    +    stability_cases!(counting_sort_);
     }
    -
    -
    - \ No newline at end of file + \ No newline at end of file diff --git a/doc/src/rust_algorithm_club/sorting/heapsort/mod.rs.html b/doc/src/rust_algorithm_club/sorting/heapsort/mod.rs.html index 1147600a..2ea0c8ac 100644 --- a/doc/src/rust_algorithm_club/sorting/heapsort/mod.rs.html +++ b/doc/src/rust_algorithm_club/sorting/heapsort/mod.rs.html @@ -1,108 +1,99 @@ -mod.rs - source - -
     1
    - 2
    - 3
    - 4
    - 5
    - 6
    - 7
    - 8
    - 9
    -10
    -11
    -12
    -13
    -14
    -15
    -16
    -17
    -18
    -19
    -20
    -21
    -22
    -23
    -24
    -25
    -26
    -27
    -28
    -29
    -30
    -31
    -32
    -33
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -44
    -45
    -46
    -47
    -48
    -49
    -
    /// Heapsort.
    -pub fn heapsort(arr: &mut [i32]) {
    -    // -- Heapify part --
    -    // This procedure would build a valid max-heap.
    -    // (or min-heap for sorting descendantly)
    -    let end = arr.len();
    -    for start in (0..end / 2).rev() {
    -        // Skip leaf nodes (end / 2).
    -        sift_down(arr, start, end - 1);
    +mod.rs - source

    rust_algorithm_club/sorting/heapsort/
    mod.rs

    +1
    +2
    +3
    +4
    +5
    +6
    +7
    +8
    +9
    +10
    +11
    +12
    +13
    +14
    +15
    +16
    +17
    +18
    +19
    +20
    +21
    +22
    +23
    +24
    +25
    +26
    +27
    +28
    +29
    +30
    +31
    +32
    +33
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    /// Heapsort.
    +pub fn heapsort(arr: &mut [i32]) {
    +    // -- Heapify part --
    +    // This procedure would build a valid max-heap.
    +    // (or min-heap for sorting descendantly)
    +    let end = arr.len();
    +    for start in (0..end / 2).rev() {
    +        // Skip leaf nodes (end / 2).
    +        sift_down(arr, start, end - 1);
         }
     
    -    // -- Sorting part --
    -    // Iteratively sift down unsorted part (the heap).
    -    for end in (1..arr.len()).rev() {
    -        arr.swap(end, 0);
    -        sift_down(arr, 0, end - 1);
    +    // -- Sorting part --
    +    // Iteratively sift down unsorted part (the heap).
    +    for end in (1..arr.len()).rev() {
    +        arr.swap(end, 0);
    +        sift_down(arr, 0, end - 1);
         }
     }
     
    -/// Internal function for heap to fix itself to conform to heap definition.
    -/// Precondiition: all elements below `start` are in heap order
    -/// expect `start` itself.
    -fn sift_down(arr: &mut [i32], start: usize, end: usize) {
    -    let mut root = start;
    -    loop {
    -        let mut child = root * 2 + 1; // Get the left child
    -        if child > end {
    +/// Internal function for heap to fix itself to conform to heap definition.
    +/// Precondiition: all elements below `start` are in heap order
    +/// expect `start` itself.
    +fn sift_down(arr: &mut [i32], start: usize, end: usize) {
    +    let mut root = start;
    +    loop {
    +        let mut child = root * 2 + 1; // Get the left child
    +        if child > end {
                 break;
             }
    -        if child < end && arr[child] < arr[child + 1] {
    -            // Right child exists and is greater.
    -            child += 1;
    +        if child < end && arr[child] < arr[child + 1] {
    +            // Right child exists and is greater.
    +            child += 1;
             }
     
    -        if arr[root] < arr[child] {
    -            // If child is greater than root, swap'em!
    -            arr.swap(root, child);
    -            root = child;
    -        } else {
    +        if arr[root] < arr[child] {
    +            // If child is greater than root, swap'em!
    +            arr.swap(root, child);
    +            root = child;
    +        } else {
                 break;
             }
         }
     }
     
    -#[cfg(test)]
    -mod base {
    -    use super::*;
    -    base_cases!(heapsort);
    +#[cfg(test)]
    +mod base {
    +    use super::*;
    +    base_cases!(heapsort);
     }
    -
    -
    - \ No newline at end of file + \ No newline at end of file diff --git a/doc/src/rust_algorithm_club/sorting/insertion_sort/mod.rs.html b/doc/src/rust_algorithm_club/sorting/insertion_sort/mod.rs.html index 4d96adc8..83a74402 100644 --- a/doc/src/rust_algorithm_club/sorting/insertion_sort/mod.rs.html +++ b/doc/src/rust_algorithm_club/sorting/insertion_sort/mod.rs.html @@ -1,88 +1,79 @@ -mod.rs - source - -
     1
    - 2
    - 3
    - 4
    - 5
    - 6
    - 7
    - 8
    - 9
    -10
    -11
    -12
    -13
    -14
    -15
    -16
    -17
    -18
    -19
    -20
    -21
    -22
    -23
    -24
    -25
    -26
    -27
    -28
    -29
    -30
    -31
    -32
    -33
    -34
    -35
    -36
    -37
    -38
    -39
    -
    /// Insertion sort.
    -pub fn insertion_sort(arr: &mut [i32]) {
    -    for i in 1..arr.len() {
    -        let mut j = i;
    -        while j > 0 && arr[j - 1] > arr[j] {
    -            arr.swap(j - 1, j);
    -            j -= 1;
    +mod.rs - source

    rust_algorithm_club/sorting/insertion_sort/
    mod.rs

    +1
    +2
    +3
    +4
    +5
    +6
    +7
    +8
    +9
    +10
    +11
    +12
    +13
    +14
    +15
    +16
    +17
    +18
    +19
    +20
    +21
    +22
    +23
    +24
    +25
    +26
    +27
    +28
    +29
    +30
    +31
    +32
    +33
    +34
    +35
    +36
    +37
    +38
    +39
    /// Insertion sort.
    +pub fn insertion_sort(arr: &mut [i32]) {
    +    for i in 1..arr.len() {
    +        let mut j = i;
    +        while j > 0 && arr[j - 1] > arr[j] {
    +            arr.swap(j - 1, j);
    +            j -= 1;
             }
         }
     }
     
    -/// Binary insertion sort.
    -///
    -/// Binary insertion sort is a insertion sort variant that utilizes binary
    -/// search to reduce comparisons in a normal insertion sort.
    -pub fn binary_insertion_sort(arr: &mut [i32]) {
    -    for i in 1..arr.len() {
    -        let val = arr[i];
    -        let mut j = i;
    -        let pos = arr[..i].binary_search(&val).unwrap_or_else(|pos| pos);
    -        // Swap all elements until specific position.
    -        while j > pos {
    -            arr.swap(j - 1, j);
    -            j -= 1;
    +/// Binary insertion sort.
    +///
    +/// Binary insertion sort is a insertion sort variant that utilizes binary
    +/// search to reduce comparisons in a normal insertion sort.
    +pub fn binary_insertion_sort(arr: &mut [i32]) {
    +    for i in 1..arr.len() {
    +        let val = arr[i];
    +        let mut j = i;
    +        let pos = arr[..i].binary_search(&val).unwrap_or_else(|pos| pos);
    +        // Swap all elements until specific position.
    +        while j > pos {
    +            arr.swap(j - 1, j);
    +            j -= 1;
             }
         }
     }
     
    -#[cfg(test)]
    -mod base {
    -    use super::*;
    -    base_cases!(insertion_sort);
    +#[cfg(test)]
    +mod base {
    +    use super::*;
    +    base_cases!(insertion_sort);
     }
     
    -#[cfg(test)]
    -mod binary_insertion {
    -    use super::*;
    -    base_cases!(binary_insertion_sort);
    +#[cfg(test)]
    +mod binary_insertion {
    +    use super::*;
    +    base_cases!(binary_insertion_sort);
     }
    -
    -
    - \ No newline at end of file + \ No newline at end of file diff --git a/doc/src/rust_algorithm_club/sorting/introsort/mod.rs.html b/doc/src/rust_algorithm_club/sorting/introsort/mod.rs.html index fb37f9d9..0624a96b 100644 --- a/doc/src/rust_algorithm_club/sorting/introsort/mod.rs.html +++ b/doc/src/rust_algorithm_club/sorting/introsort/mod.rs.html @@ -1,18 +1,9 @@ -mod.rs - source - -
    1
    -2
    -3
    -4
    -
    /// Introsort.
    -pub fn introsort(_arr: &mut [i32]) {
    +mod.rs - source

    rust_algorithm_club/sorting/introsort/
    mod.rs

    +1
    +2
    +3
    +4
    /// Introsort.
    +pub fn introsort(_arr: &mut [i32]) {
         unimplemented!()
     }
    -
    -
    - \ No newline at end of file + \ No newline at end of file diff --git a/doc/src/rust_algorithm_club/sorting/mergesort/mod.rs.html b/doc/src/rust_algorithm_club/sorting/mergesort/mod.rs.html index 0444db34..1646e66b 100644 --- a/doc/src/rust_algorithm_club/sorting/mergesort/mod.rs.html +++ b/doc/src/rust_algorithm_club/sorting/mergesort/mod.rs.html @@ -1,202 +1,193 @@ -mod.rs - source - -
     1
    - 2
    - 3
    - 4
    - 5
    - 6
    - 7
    - 8
    - 9
    -10
    -11
    -12
    -13
    -14
    -15
    -16
    -17
    -18
    -19
    -20
    -21
    -22
    -23
    -24
    -25
    -26
    -27
    -28
    -29
    -30
    -31
    -32
    -33
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -44
    -45
    -46
    -47
    -48
    -49
    -50
    -51
    -52
    -53
    -54
    -55
    -56
    -57
    -58
    -59
    -60
    -61
    -62
    -63
    -64
    -65
    -66
    -67
    -68
    -69
    -70
    -71
    -72
    -73
    -74
    -75
    -76
    -77
    -78
    -79
    -80
    -81
    -82
    -83
    -84
    -85
    -86
    -87
    -88
    -89
    -90
    -91
    -92
    -93
    -94
    -95
    -96
    -
    /// Mergesort.
    -///
    -/// - Top-down
    -/// - Recursive
    -pub fn mergesort(arr: &mut [i32]) {
    -    let mid = arr.len() / 2;
    -    if mid == 0 {
    +mod.rs - source

    rust_algorithm_club/sorting/mergesort/
    mod.rs

    +1
    +2
    +3
    +4
    +5
    +6
    +7
    +8
    +9
    +10
    +11
    +12
    +13
    +14
    +15
    +16
    +17
    +18
    +19
    +20
    +21
    +22
    +23
    +24
    +25
    +26
    +27
    +28
    +29
    +30
    +31
    +32
    +33
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
    +67
    +68
    +69
    +70
    +71
    +72
    +73
    +74
    +75
    +76
    +77
    +78
    +79
    +80
    +81
    +82
    +83
    +84
    +85
    +86
    +87
    +88
    +89
    +90
    +91
    +92
    +93
    +94
    +95
    +96
    /// Mergesort.
    +///
    +/// - Top-down
    +/// - Recursive
    +pub fn mergesort(arr: &mut [i32]) {
    +    let mid = arr.len() / 2;
    +    if mid == 0 {
             return;
         }
     
    -    mergesort(&mut arr[..mid]);
    -    mergesort(&mut arr[mid..]);
    +    mergesort(&mut arr[..mid]);
    +    mergesort(&mut arr[mid..]);
     
    -    // Create an array to store intermediate result.
    -    let mut ret = arr.to_vec();
    +    // Create an array to store intermediate result.
    +    let mut ret = arr.to_vec();
     
    -    // Merge the two piles.
    -    merge(&arr[..mid], &arr[mid..], &mut ret[..]);
    +    // Merge the two piles.
    +    merge(&arr[..mid], &arr[mid..], &mut ret[..]);
     
    -    // Copy back the result back to original array.
    -    arr.copy_from_slice(&ret);
    +    // Copy back the result back to original array.
    +    arr.copy_from_slice(&ret);
     }
     
    -/// Mergesort bottom-up version.
    -///
    -/// - Buttom-up (for array-based data structure)
    -/// - Iterative
    -pub fn mergesort_bottom_up(arr: &mut [i32]) {
    -    let mut width = 1;
    -    // Create an array to store intermediate result.
    -    let mut ret = arr.to_vec();
    -    let len = arr.len();
    +/// Mergesort bottom-up version.
    +///
    +/// - Buttom-up (for array-based data structure)
    +/// - Iterative
    +pub fn mergesort_bottom_up(arr: &mut [i32]) {
    +    let mut width = 1;
    +    // Create an array to store intermediate result.
    +    let mut ret = arr.to_vec();
    +    let len = arr.len();
     
    -    while width < len {
    -        let mut i = 0;
    -        while i < len {
    -            // Check to avoid upper bound and middle index out of bound.
    -            let upper = ::std::cmp::min(i + 2 * width, len);
    -            let mid = ::std::cmp::min(i + width, len);
    +    while width < len {
    +        let mut i = 0;
    +        while i < len {
    +            // Check to avoid upper bound and middle index out of bound.
    +            let upper = ::std::cmp::min(i + 2 * width, len);
    +            let mid = ::std::cmp::min(i + width, len);
     
    -            merge(&arr[i..mid], &arr[mid..upper], &mut ret[i..upper]);
    +            merge(&arr[i..mid], &arr[mid..upper], &mut ret[i..upper]);
     
    -            // Copy the merged result back to original array.
    -            arr[i..upper].copy_from_slice(&ret[i..upper]);
    +            // Copy the merged result back to original array.
    +            arr[i..upper].copy_from_slice(&ret[i..upper]);
     
    -            // Increase start index to merge next two subsequences.
    -            i += 2 * width;
    +            // Increase start index to merge next two subsequences.
    +            i += 2 * width;
             }
    -        width *= 2;
    +        width *= 2;
         }
     }
     
    -/// Merge helper.
    -///
    -/// * `arr1` - Left pile to sort.
    -/// * `arr2` - Right pile to sort.
    -/// * `ret` - Result array to return
    -fn merge(arr1: &[i32], arr2: &[i32], ret: &mut [i32]) {
    -    let mut left = 0; // Head of left pile.
    -    let mut right = 0; // Head of right pile.
    -    let mut index = 0;
    +/// Merge helper.
    +///
    +/// * `arr1` - Left pile to sort.
    +/// * `arr2` - Right pile to sort.
    +/// * `ret` - Result array to return
    +fn merge(arr1: &[i32], arr2: &[i32], ret: &mut [i32]) {
    +    let mut left = 0; // Head of left pile.
    +    let mut right = 0; // Head of right pile.
    +    let mut index = 0;
     
    -    // Compare element and insert back to result array.
    -    while left < arr1.len() && right < arr2.len() {
    -        if arr1[left] <= arr2[right] {
    -            ret[index] = arr1[left];
    -            index += 1;
    -            left += 1;
    -        } else {
    -            ret[index] = arr2[right];
    -            index += 1;
    -            right += 1;
    +    // Compare element and insert back to result array.
    +    while left < arr1.len() && right < arr2.len() {
    +        if arr1[left] <= arr2[right] {
    +            ret[index] = arr1[left];
    +            index += 1;
    +            left += 1;
    +        } else {
    +            ret[index] = arr2[right];
    +            index += 1;
    +            right += 1;
             }
         }
     
    -    // Copy the reset elements to returned array.
    -    // `memcpy` may be more performant than for-loop assignment.
    -    if left < arr1.len() {
    -        ret[index..].copy_from_slice(&arr1[left..]);
    +    // Copy the reset elements to returned array.
    +    // `memcpy` may be more performant than for-loop assignment.
    +    if left < arr1.len() {
    +        ret[index..].copy_from_slice(&arr1[left..]);
         }
    -    if right < arr2.len() {
    -        ret[index..].copy_from_slice(&arr2[right..]);
    +    if right < arr2.len() {
    +        ret[index..].copy_from_slice(&arr2[right..]);
         }
     }
     
    -#[cfg(test)]
    -mod base {
    -    use super::*;
    -    base_cases!(mergesort);
    +#[cfg(test)]
    +mod base {
    +    use super::*;
    +    base_cases!(mergesort);
     }
     
    -#[cfg(test)]
    -mod bottom_up {
    -    use super::*;
    -    base_cases!(mergesort_bottom_up);
    +#[cfg(test)]
    +mod bottom_up {
    +    use super::*;
    +    base_cases!(mergesort_bottom_up);
     }
    -
    -
    - \ No newline at end of file + \ No newline at end of file diff --git a/doc/src/rust_algorithm_club/sorting/mod.rs.html b/doc/src/rust_algorithm_club/sorting/mod.rs.html index 3b6ec437..967bc3fe 100644 --- a/doc/src/rust_algorithm_club/sorting/mod.rs.html +++ b/doc/src/rust_algorithm_club/sorting/mod.rs.html @@ -1,102 +1,93 @@ -mod.rs - source - -
     1
    - 2
    - 3
    - 4
    - 5
    - 6
    - 7
    - 8
    - 9
    -10
    -11
    -12
    -13
    -14
    -15
    -16
    -17
    -18
    -19
    -20
    -21
    -22
    -23
    -24
    -25
    -26
    -27
    -28
    -29
    -30
    -31
    -32
    -33
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -44
    -45
    -46
    -
    //! Sorting algorithms.
    +mod.rs - source

    rust_algorithm_club/sorting/
    mod.rs

    +1
    +2
    +3
    +4
    +5
    +6
    +7
    +8
    +9
    +10
    +11
    +12
    +13
    +14
    +15
    +16
    +17
    +18
    +19
    +20
    +21
    +22
    +23
    +24
    +25
    +26
    +27
    +28
    +29
    +30
    +31
    +32
    +33
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    //! Sorting algorithms.
     
    -#[cfg(test)]
    -#[macro_use]
    -mod test_cases;
    +#[cfg(test)]
    +#[macro_use]
    +mod test_cases;
     
    -mod bubble_sort;
    -pub use self::bubble_sort::{bubble_sort, bubble_sort_optimized};
    +mod bubble_sort;
    +pub use self::bubble_sort::{bubble_sort, bubble_sort_optimized};
     
    -mod insertion_sort;
    -pub use self::insertion_sort::{binary_insertion_sort, insertion_sort};
    +mod insertion_sort;
    +pub use self::insertion_sort::{binary_insertion_sort, insertion_sort};
     
    -mod selection_sort;
    -pub use self::selection_sort::selection_sort;
    +mod selection_sort;
    +pub use self::selection_sort::selection_sort;
     
    -mod shellsort;
    -pub use self::shellsort::{shellsort, MARCIN_GAPS};
    +mod shellsort;
    +pub use self::shellsort::{shellsort, MARCIN_GAPS};
     
    -mod mergesort;
    -pub use self::mergesort::{mergesort, mergesort_bottom_up};
    +mod mergesort;
    +pub use self::mergesort::{mergesort, mergesort_bottom_up};
     
    -mod heapsort;
    -pub use self::heapsort::heapsort;
    +mod heapsort;
    +pub use self::heapsort::heapsort;
     
    -mod quicksort;
    -pub use self::quicksort::{
    -    quicksort, quicksort_3way, quicksort_hoare, quicksort_manual_tco, quicksort_optimized,
    +mod quicksort;
    +pub use self::quicksort::{
    +    quicksort, quicksort_3way, quicksort_hoare, quicksort_manual_tco, quicksort_optimized,
     };
     
    -mod bucket_sort;
    -pub use self::bucket_sort::bucket_sort;
    +mod bucket_sort;
    +pub use self::bucket_sort::bucket_sort;
     
    -mod counting_sort;
    -pub use self::counting_sort::counting_sort;
    +mod counting_sort;
    +pub use self::counting_sort::counting_sort;
     
    -mod radix_sort;
    -pub use self::radix_sort::radix_sort;
    +mod radix_sort;
    +pub use self::radix_sort::radix_sort;
     
    -mod timsort;
    -pub use self::timsort::timsort;
    +mod timsort;
    +pub use self::timsort::timsort;
     
    -mod introsort;
    -pub use self::introsort::introsort;
    +mod introsort;
    +pub use self::introsort::introsort;
     
    -mod pdqsort;
    -pub use self::pdqsort::pdqsort;
    -
    -
    - \ No newline at end of file +mod pdqsort; +pub use self::pdqsort::pdqsort; + \ No newline at end of file diff --git a/doc/src/rust_algorithm_club/sorting/pdqsort/mod.rs.html b/doc/src/rust_algorithm_club/sorting/pdqsort/mod.rs.html index a23e5b84..c6d6adae 100644 --- a/doc/src/rust_algorithm_club/sorting/pdqsort/mod.rs.html +++ b/doc/src/rust_algorithm_club/sorting/pdqsort/mod.rs.html @@ -1,18 +1,9 @@ -mod.rs - source - -
    1
    -2
    -3
    -4
    -
    /// Pattern-defeating quicksort.
    -pub fn pdqsort(_arr: &mut [i32]) {
    +mod.rs - source

    rust_algorithm_club/sorting/pdqsort/
    mod.rs

    +1
    +2
    +3
    +4
    /// Pattern-defeating quicksort.
    +pub fn pdqsort(_arr: &mut [i32]) {
         unimplemented!()
     }
    -
    -
    - \ No newline at end of file + \ No newline at end of file diff --git a/doc/src/rust_algorithm_club/sorting/quicksort/mod.rs.html b/doc/src/rust_algorithm_club/sorting/quicksort/mod.rs.html index 081400ad..59407d08 100644 --- a/doc/src/rust_algorithm_club/sorting/quicksort/mod.rs.html +++ b/doc/src/rust_algorithm_club/sorting/quicksort/mod.rs.html @@ -1,440 +1,431 @@ -mod.rs - source - -
      1
    -  2
    -  3
    -  4
    -  5
    -  6
    -  7
    -  8
    -  9
    - 10
    - 11
    - 12
    - 13
    - 14
    - 15
    - 16
    - 17
    - 18
    - 19
    - 20
    - 21
    - 22
    - 23
    - 24
    - 25
    - 26
    - 27
    - 28
    - 29
    - 30
    - 31
    - 32
    - 33
    - 34
    - 35
    - 36
    - 37
    - 38
    - 39
    - 40
    - 41
    - 42
    - 43
    - 44
    - 45
    - 46
    - 47
    - 48
    - 49
    - 50
    - 51
    - 52
    - 53
    - 54
    - 55
    - 56
    - 57
    - 58
    - 59
    - 60
    - 61
    - 62
    - 63
    - 64
    - 65
    - 66
    - 67
    - 68
    - 69
    - 70
    - 71
    - 72
    - 73
    - 74
    - 75
    - 76
    - 77
    - 78
    - 79
    - 80
    - 81
    - 82
    - 83
    - 84
    - 85
    - 86
    - 87
    - 88
    - 89
    - 90
    - 91
    - 92
    - 93
    - 94
    - 95
    - 96
    - 97
    - 98
    - 99
    -100
    -101
    -102
    -103
    -104
    -105
    -106
    -107
    -108
    -109
    -110
    -111
    -112
    -113
    -114
    -115
    -116
    -117
    -118
    -119
    -120
    -121
    -122
    -123
    -124
    -125
    -126
    -127
    -128
    -129
    -130
    -131
    -132
    -133
    -134
    -135
    -136
    -137
    -138
    -139
    -140
    -141
    -142
    -143
    -144
    -145
    -146
    -147
    -148
    -149
    -150
    -151
    -152
    -153
    -154
    -155
    -156
    -157
    -158
    -159
    -160
    -161
    -162
    -163
    -164
    -165
    -166
    -167
    -168
    -169
    -170
    -171
    -172
    -173
    -174
    -175
    -176
    -177
    -178
    -179
    -180
    -181
    -182
    -183
    -184
    -185
    -186
    -187
    -188
    -189
    -190
    -191
    -192
    -193
    -194
    -195
    -196
    -197
    -198
    -199
    -200
    -201
    -202
    -203
    -204
    -205
    -206
    -207
    -208
    -209
    -210
    -211
    -212
    -213
    -214
    -215
    -
    // -------------------------------------
    -// Lomuto partition scheme
    -// -------------------------------------
    +mod.rs - source

    rust_algorithm_club/sorting/quicksort/
    mod.rs

    +1
    +2
    +3
    +4
    +5
    +6
    +7
    +8
    +9
    +10
    +11
    +12
    +13
    +14
    +15
    +16
    +17
    +18
    +19
    +20
    +21
    +22
    +23
    +24
    +25
    +26
    +27
    +28
    +29
    +30
    +31
    +32
    +33
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
    +67
    +68
    +69
    +70
    +71
    +72
    +73
    +74
    +75
    +76
    +77
    +78
    +79
    +80
    +81
    +82
    +83
    +84
    +85
    +86
    +87
    +88
    +89
    +90
    +91
    +92
    +93
    +94
    +95
    +96
    +97
    +98
    +99
    +100
    +101
    +102
    +103
    +104
    +105
    +106
    +107
    +108
    +109
    +110
    +111
    +112
    +113
    +114
    +115
    +116
    +117
    +118
    +119
    +120
    +121
    +122
    +123
    +124
    +125
    +126
    +127
    +128
    +129
    +130
    +131
    +132
    +133
    +134
    +135
    +136
    +137
    +138
    +139
    +140
    +141
    +142
    +143
    +144
    +145
    +146
    +147
    +148
    +149
    +150
    +151
    +152
    +153
    +154
    +155
    +156
    +157
    +158
    +159
    +160
    +161
    +162
    +163
    +164
    +165
    +166
    +167
    +168
    +169
    +170
    +171
    +172
    +173
    +174
    +175
    +176
    +177
    +178
    +179
    +180
    +181
    +182
    +183
    +184
    +185
    +186
    +187
    +188
    +189
    +190
    +191
    +192
    +193
    +194
    +195
    +196
    +197
    +198
    +199
    +200
    +201
    +202
    +203
    +204
    +205
    +206
    +207
    +208
    +209
    +210
    +211
    +212
    +213
    +214
    +215
    // -------------------------------------
    +// Lomuto partition scheme
    +// -------------------------------------
     
    -/// Quicksort with Lomuto parition scheme.
    -pub fn quicksort(arr: &mut [i32]) {
    -    let hi = arr.len() as isize - 1;
    -    quicksort_helper(arr, 0, hi);
    +/// Quicksort with Lomuto parition scheme.
    +pub fn quicksort(arr: &mut [i32]) {
    +    let hi = arr.len() as isize - 1;
    +    quicksort_helper(arr, 0, hi);
     }
     
    -/// Recursion helper
    -fn quicksort_helper(arr: &mut [i32], lo: isize, hi: isize) {
    -    if lo <= hi {
    -        let pivot = partition(arr, lo, hi);
    -        quicksort_helper(arr, lo, pivot - 1);
    -        quicksort_helper(arr, pivot + 1, hi);
    +/// Recursion helper
    +fn quicksort_helper(arr: &mut [i32], lo: isize, hi: isize) {
    +    if lo <= hi {
    +        let pivot = partition(arr, lo, hi);
    +        quicksort_helper(arr, lo, pivot - 1);
    +        quicksort_helper(arr, pivot + 1, hi);
         }
     }
     
    -/// Tail-call opitimized quicksort with Lomuto parition scheme.
    -pub fn quicksort_optimized(arr: &mut [i32]) {
    -    let hi = arr.len() as isize - 1;
    -    quicksort_helper_optimized(arr, 0, hi);
    +/// Tail-call opitimized quicksort with Lomuto parition scheme.
    +pub fn quicksort_optimized(arr: &mut [i32]) {
    +    let hi = arr.len() as isize - 1;
    +    quicksort_helper_optimized(arr, 0, hi);
     }
     
    -/// Tail-call optimized recursion helper.
    -///
    -/// Can achieve O(log n) auxiliary space complexity if Rust compiler is
    -/// implemented with tail-call optimization in the future).
    -fn quicksort_helper_optimized(arr: &mut [i32], lo: isize, hi: isize) {
    -    if lo <= hi {
    -        let pivot = partition(arr, lo, hi);
    -        if pivot - lo < hi - pivot {
    -            // 1
    -            quicksort_helper_optimized(arr, lo, pivot - 1);
    -            quicksort_helper_optimized(arr, pivot + 1, hi);
    -        } else {
    -            quicksort_helper_optimized(arr, pivot + 1, hi);
    -            quicksort_helper_optimized(arr, lo, pivot - 1);
    +/// Tail-call optimized recursion helper.
    +///
    +/// Can achieve O(log n) auxiliary space complexity if Rust compiler is
    +/// implemented with tail-call optimization in the future).
    +fn quicksort_helper_optimized(arr: &mut [i32], lo: isize, hi: isize) {
    +    if lo <= hi {
    +        let pivot = partition(arr, lo, hi);
    +        if pivot - lo < hi - pivot {
    +            // 1
    +            quicksort_helper_optimized(arr, lo, pivot - 1);
    +            quicksort_helper_optimized(arr, pivot + 1, hi);
    +        } else {
    +            quicksort_helper_optimized(arr, pivot + 1, hi);
    +            quicksort_helper_optimized(arr, lo, pivot - 1);
             }
         }
     }
     
    -/// Manual tail-call opitimized quicksort with Lomuto parition scheme.
    -pub fn quicksort_manual_tco(arr: &mut [i32]) {
    -    let hi = arr.len() as isize - 1;
    -    quicksort_helper_manual_tco(arr, 0, hi);
    +/// Manual tail-call opitimized quicksort with Lomuto parition scheme.
    +pub fn quicksort_manual_tco(arr: &mut [i32]) {
    +    let hi = arr.len() as isize - 1;
    +    quicksort_helper_manual_tco(arr, 0, hi);
     }
     
    -/// Manual tail-call opitimized recursion helper.
    -///
    -/// Can achieve O(log n) auxiliary space complexity without any
    -/// compiler-optimization of tail-call.
    -fn quicksort_helper_manual_tco(arr: &mut [i32], mut lo: isize, mut hi: isize) {
    -    while lo < hi {
    -        let pivot = partition(arr, lo, hi);
    -        if pivot - lo < hi - pivot {
    -            quicksort_helper_manual_tco(arr, lo, pivot - 1);
    -            lo = pivot + 1;
    -        } else {
    -            quicksort_helper_manual_tco(arr, pivot + 1, hi);
    -            hi = pivot - 1;
    +/// Manual tail-call opitimized recursion helper.
    +///
    +/// Can achieve O(log n) auxiliary space complexity without any
    +/// compiler-optimization of tail-call.
    +fn quicksort_helper_manual_tco(arr: &mut [i32], mut lo: isize, mut hi: isize) {
    +    while lo < hi {
    +        let pivot = partition(arr, lo, hi);
    +        if pivot - lo < hi - pivot {
    +            quicksort_helper_manual_tco(arr, lo, pivot - 1);
    +            lo = pivot + 1;
    +        } else {
    +            quicksort_helper_manual_tco(arr, pivot + 1, hi);
    +            hi = pivot - 1;
             }
         }
     }
     
    -/// Lomuto partition scheme
    -///
    -/// Return index of the pivot.
    -fn partition(arr: &mut [i32], lo: isize, hi: isize) -> isize {
    -    // -- Determine the pivot --
    -    // In Lomuto parition scheme,
    -    // the latest element is always chosen as the pivot.
    -    let pivot = arr[hi as usize];
    -    let mut i = lo;
    +/// Lomuto partition scheme
    +///
    +/// Return index of the pivot.
    +fn partition(arr: &mut [i32], lo: isize, hi: isize) -> isize {
    +    // -- Determine the pivot --
    +    // In Lomuto parition scheme,
    +    // the latest element is always chosen as the pivot.
    +    let pivot = arr[hi as usize];
    +    let mut i = lo;
     
    -    // -- Swap elements --
    -    for j in lo..hi {
    -        if arr[j as usize] < pivot {
    -            arr.swap(i as usize, j as usize);
    -            i += 1;
    +    // -- Swap elements --
    +    for j in lo..hi {
    +        if arr[j as usize] < pivot {
    +            arr.swap(i as usize, j as usize);
    +            i += 1;
             }
         }
    -    // Swap pivot to the middle of two piles.
    -    arr.swap(i as usize, hi as usize);
    -    i // Return the final index of the pivot
    -}
    +    // Swap pivot to the middle of two piles.
    +    arr.swap(i as usize, hi as usize);
    +    i // Return the final index of the pivot
    +}
     
    -// -------------------------------------
    -// 3-way partition scheme
    -// -------------------------------------
    +// -------------------------------------
    +// 3-way partition scheme
    +// -------------------------------------
     
    -/// Quicksort with 3-way parition scheme.
    -pub fn quicksort_3way(arr: &mut [i32]) {
    -    let hi = arr.len() as isize - 1;
    -    quicksort_helper_3way(arr, 0, hi);
    +/// Quicksort with 3-way parition scheme.
    +pub fn quicksort_3way(arr: &mut [i32]) {
    +    let hi = arr.len() as isize - 1;
    +    quicksort_helper_3way(arr, 0, hi);
     }
     
    -/// Recursion helper
    -fn quicksort_helper_3way(arr: &mut [i32], lo: isize, hi: isize) {
    -    if lo <= hi {
    -        let (smaller, larger) = partition_3way(arr, lo, hi);
    -        quicksort_helper_3way(arr, lo, smaller - 1);
    -        quicksort_helper_3way(arr, larger + 1, hi);
    +/// Recursion helper
    +fn quicksort_helper_3way(arr: &mut [i32], lo: isize, hi: isize) {
    +    if lo <= hi {
    +        let (smaller, larger) = partition_3way(arr, lo, hi);
    +        quicksort_helper_3way(arr, lo, smaller - 1);
    +        quicksort_helper_3way(arr, larger + 1, hi);
         }
     }
     
    -/// 3-way paritition scheme
    -///
    -/// Return smaller and larger index. (to avoid redundant work on identical elements)
    -fn partition_3way(arr: &mut [i32], lo: isize, hi: isize) -> (isize, isize) {
    -    let pivot = arr[hi as usize];
    -    let mut i = lo; // smaller
    -    let mut j = lo; // equal
    -    let mut k = hi; // large
    +/// 3-way paritition scheme
    +///
    +/// Return smaller and larger index. (to avoid redundant work on identical elements)
    +fn partition_3way(arr: &mut [i32], lo: isize, hi: isize) -> (isize, isize) {
    +    let pivot = arr[hi as usize];
    +    let mut i = lo; // smaller
    +    let mut j = lo; // equal
    +    let mut k = hi; // large
     
    -    while j <= k {
    -        if arr[j as usize] < pivot {
    -            arr.swap(i as usize, j as usize);
    -            i += 1;
    -            j += 1;
    -        } else if arr[j as usize] > pivot {
    -            arr.swap(k as usize, j as usize);
    -            k -= 1;
    -        } else {
    -            // No swap when identicial.
    -            j += 1;
    +    while j <= k {
    +        if arr[j as usize] < pivot {
    +            arr.swap(i as usize, j as usize);
    +            i += 1;
    +            j += 1;
    +        } else if arr[j as usize] > pivot {
    +            arr.swap(k as usize, j as usize);
    +            k -= 1;
    +        } else {
    +            // No swap when identicial.
    +            j += 1;
             }
         }
     
    -    // Return smaller and larger pointer to avoid iterate duplicate elements.
    -    (i, k)
    +    // Return smaller and larger pointer to avoid iterate duplicate elements.
    +    (i, k)
     }
     
    -// -------------------------------------
    -// Hoare partition scheme
    -// -------------------------------------
    +// -------------------------------------
    +// Hoare partition scheme
    +// -------------------------------------
     
    -/// Quicksort with Hoare parition scheme
    -pub fn quicksort_hoare(arr: &mut [i32]) {
    -    if arr.is_empty() {
    +/// Quicksort with Hoare parition scheme
    +pub fn quicksort_hoare(arr: &mut [i32]) {
    +    if arr.is_empty() {
             return;
         }
    -    let hi = arr.len() - 1;
    -    quicksort_helper_hoare(arr, 0, hi);
    +    let hi = arr.len() - 1;
    +    quicksort_helper_hoare(arr, 0, hi);
     }
     
    -/// Recursion helper
    -fn quicksort_helper_hoare(arr: &mut [i32], lo: usize, hi: usize) {
    -    if lo < hi {
    -        let pivot = partition_hoare(arr, lo, hi);
    -        quicksort_helper_hoare(arr, lo, pivot);
    -        quicksort_helper_hoare(arr, pivot + 1, hi);
    +/// Recursion helper
    +fn quicksort_helper_hoare(arr: &mut [i32], lo: usize, hi: usize) {
    +    if lo < hi {
    +        let pivot = partition_hoare(arr, lo, hi);
    +        quicksort_helper_hoare(arr, lo, pivot);
    +        quicksort_helper_hoare(arr, pivot + 1, hi);
         }
     }
     
    -/// Hoare partition scheme
    -///
    -/// Return the middle index of the two partitions.
    -///
    -/// Note that the return value is not necessarily be the index of the pivot,
    -/// and the pivot is located somewhere of the first partition.
    -fn partition_hoare(arr: &mut [i32], lo: usize, hi: usize) -> usize {
    -    let pivot = arr[lo];
    -    let mut i = lo;
    -    let mut j = hi;
    +/// Hoare partition scheme
    +///
    +/// Return the middle index of the two partitions.
    +///
    +/// Note that the return value is not necessarily be the index of the pivot,
    +/// and the pivot is located somewhere of the first partition.
    +fn partition_hoare(arr: &mut [i32], lo: usize, hi: usize) -> usize {
    +    let pivot = arr[lo];
    +    let mut i = lo;
    +    let mut j = hi;
     
    -    loop {
    -        // Find element >= pivot from leftmost element.
    -        while arr[i] < pivot {
    -            i += 1;
    +    loop {
    +        // Find element >= pivot from leftmost element.
    +        while arr[i] < pivot {
    +            i += 1;
             }
    -        // Find element <= pivot from rightmost element.
    -        while arr[j] > pivot {
    -            j -= 1;
    +        // Find element <= pivot from rightmost element.
    +        while arr[j] > pivot {
    +            j -= 1;
             }
    -        if i >= j {
    -            return j;
    +        if i >= j {
    +            return j;
             }
    -        // Two elements are misplaced, swap them.
    -        arr.swap(i, j);
    -        i += 1;
    -        j -= 1;
    +        // Two elements are misplaced, swap them.
    +        arr.swap(i, j);
    +        i += 1;
    +        j -= 1;
         }
     }
     
    -#[cfg(test)]
    -mod base {
    -    use super::*;
    -    base_cases!(quicksort);
    +#[cfg(test)]
    +mod base {
    +    use super::*;
    +    base_cases!(quicksort);
     }
     
    -#[cfg(test)]
    -mod optimized {
    -    use super::*;
    -    base_cases!(quicksort_optimized);
    +#[cfg(test)]
    +mod optimized {
    +    use super::*;
    +    base_cases!(quicksort_optimized);
     }
     
    -#[cfg(test)]
    -mod manual_tco {
    -    use super::*;
    -    base_cases!(quicksort_manual_tco);
    +#[cfg(test)]
    +mod manual_tco {
    +    use super::*;
    +    base_cases!(quicksort_manual_tco);
     }
     
    -#[cfg(test)]
    -mod three_way {
    -    use super::*;
    -    base_cases!(quicksort_3way);
    +#[cfg(test)]
    +mod three_way {
    +    use super::*;
    +    base_cases!(quicksort_3way);
     }
     
    -#[cfg(test)]
    -mod hoare {
    -    use super::*;
    -    base_cases!(quicksort_hoare);
    +#[cfg(test)]
    +mod hoare {
    +    use super::*;
    +    base_cases!(quicksort_hoare);
     }
    -
    -
    - \ No newline at end of file + \ No newline at end of file diff --git a/doc/src/rust_algorithm_club/sorting/radix_sort/mod.rs.html b/doc/src/rust_algorithm_club/sorting/radix_sort/mod.rs.html index e562f118..f296ace9 100644 --- a/doc/src/rust_algorithm_club/sorting/radix_sort/mod.rs.html +++ b/doc/src/rust_algorithm_club/sorting/radix_sort/mod.rs.html @@ -1,66 +1,57 @@ -mod.rs - source - -
     1
    - 2
    - 3
    - 4
    - 5
    - 6
    - 7
    - 8
    - 9
    -10
    -11
    -12
    -13
    -14
    -15
    -16
    -17
    -18
    -19
    -20
    -21
    -22
    -23
    -24
    -25
    -26
    -27
    -28
    -
    use crate::sorting::counting_sort;
    +mod.rs - source

    rust_algorithm_club/sorting/radix_sort/
    mod.rs

    +1
    +2
    +3
    +4
    +5
    +6
    +7
    +8
    +9
    +10
    +11
    +12
    +13
    +14
    +15
    +16
    +17
    +18
    +19
    +20
    +21
    +22
    +23
    +24
    +25
    +26
    +27
    +28
    use crate::sorting::counting_sort;
     
    -/// Radix sort for sorting unsigned integers.
    -///
    -/// * `arr` - Collection of value to be sorted in place.
    -pub fn radix_sort(arr: &mut [i32]) {
    -    // 1. Choose 10 as our radix.
    -    let radix = 10;
    -    // 2. Started from least significant digit (rightmost).
    -    let mut digit = 1;
    -    // 3. Find the maximum value to determine break point of the loop.
    -    let max_value = arr // 3
    -        .iter()
    -        .max()
    -        .unwrap_or(&0)
    -        .clone();
    -    // 4. Sorting subroutine (use counting sort).
    -    while digit <= max_value {
    -        counting_sort(arr, 0, 9, |t| (t / digit % radix) as usize);
    -        digit *= radix;
    +/// Radix sort for sorting unsigned integers.
    +///
    +/// * `arr` - Collection of value to be sorted in place.
    +pub fn radix_sort(arr: &mut [i32]) {
    +    // 1. Choose 10 as our radix.
    +    let radix = 10;
    +    // 2. Started from least significant digit (rightmost).
    +    let mut digit = 1;
    +    // 3. Find the maximum value to determine break point of the loop.
    +    let max_value = arr // 3
    +        .iter()
    +        .max()
    +        .unwrap_or(&0)
    +        .clone();
    +    // 4. Sorting subroutine (use counting sort).
    +    while digit <= max_value {
    +        counting_sort(arr, 0, 9, |t| (t / digit % radix) as usize);
    +        digit *= radix;
         }
     }
     
    -#[cfg(test)]
    -mod base {
    -    use super::*;
    -    base_cases!(radix_sort);
    +#[cfg(test)]
    +mod base {
    +    use super::*;
    +    base_cases!(radix_sort);
     }
    -
    -
    - \ No newline at end of file + \ No newline at end of file diff --git a/doc/src/rust_algorithm_club/sorting/selection_sort/mod.rs.html b/doc/src/rust_algorithm_club/sorting/selection_sort/mod.rs.html index 121559d4..7e9e36e4 100644 --- a/doc/src/rust_algorithm_club/sorting/selection_sort/mod.rs.html +++ b/doc/src/rust_algorithm_club/sorting/selection_sort/mod.rs.html @@ -1,52 +1,43 @@ -mod.rs - source - -
     1
    - 2
    - 3
    - 4
    - 5
    - 6
    - 7
    - 8
    - 9
    -10
    -11
    -12
    -13
    -14
    -15
    -16
    -17
    -18
    -19
    -20
    -21
    -
    /// Selection sort.
    -pub fn selection_sort(arr: &mut [i32]) {
    -    let len = arr.len();
    -    // Rust would skip iteration if lower bound >= upper bound.
    -    // Hence, no need to `len - 1`.
    -    for i in 0..len {
    -        let mut temp = i;
    -        for j in (i + 1)..len {
    -            if arr[temp] > arr[j] {
    -                temp = j;
    +mod.rs - source

    rust_algorithm_club/sorting/selection_sort/
    mod.rs

    +1
    +2
    +3
    +4
    +5
    +6
    +7
    +8
    +9
    +10
    +11
    +12
    +13
    +14
    +15
    +16
    +17
    +18
    +19
    +20
    +21
    /// Selection sort.
    +pub fn selection_sort(arr: &mut [i32]) {
    +    let len = arr.len();
    +    // Rust would skip iteration if lower bound >= upper bound.
    +    // Hence, no need to `len - 1`.
    +    for i in 0..len {
    +        let mut temp = i;
    +        for j in (i + 1)..len {
    +            if arr[temp] > arr[j] {
    +                temp = j;
                 }
             }
    -        arr.swap(i, temp);
    +        arr.swap(i, temp);
         }
     }
     
    -#[cfg(test)]
    -mod base {
    -    use super::*;
    -    base_cases!(selection_sort);
    +#[cfg(test)]
    +mod base {
    +    use super::*;
    +    base_cases!(selection_sort);
     }
    -
    -
    - \ No newline at end of file + \ No newline at end of file diff --git a/doc/src/rust_algorithm_club/sorting/shellsort/mod.rs.html b/doc/src/rust_algorithm_club/sorting/shellsort/mod.rs.html index d6a4edca..a0a51230 100644 --- a/doc/src/rust_algorithm_club/sorting/shellsort/mod.rs.html +++ b/doc/src/rust_algorithm_club/sorting/shellsort/mod.rs.html @@ -1,58 +1,49 @@ -mod.rs - source - -
     1
    - 2
    - 3
    - 4
    - 5
    - 6
    - 7
    - 8
    - 9
    -10
    -11
    -12
    -13
    -14
    -15
    -16
    -17
    -18
    -19
    -20
    -21
    -22
    -23
    -24
    -
    /// Marcin Ciura's gap sequence.
    -pub const MARCIN_GAPS: [usize; 8] = [701, 301, 132, 57, 23, 10, 4, 1];
    +mod.rs - source

    rust_algorithm_club/sorting/shellsort/
    mod.rs

    +1
    +2
    +3
    +4
    +5
    +6
    +7
    +8
    +9
    +10
    +11
    +12
    +13
    +14
    +15
    +16
    +17
    +18
    +19
    +20
    +21
    +22
    +23
    +24
    /// Marcin Ciura's gap sequence.
    +pub const MARCIN_GAPS: [usize; 8] = [701, 301, 132, 57, 23, 10, 4, 1];
     
    -/// Shellsort
    -pub fn shellsort(arr: &mut [i32]) {
    -    let len = arr.len();
    -    for gap in MARCIN_GAPS.iter() {
    -        let mut i = *gap; // Type of gap is `&usize`. Deference it!
    -        while i < len {
    -            let mut j = i;
    -            while j >= *gap && arr[j - gap] > arr[j] {
    -                arr.swap(j - *gap, j);
    -                j -= *gap;
    +/// Shellsort
    +pub fn shellsort(arr: &mut [i32]) {
    +    let len = arr.len();
    +    for gap in MARCIN_GAPS.iter() {
    +        let mut i = *gap; // Type of gap is `&usize`. Deference it!
    +        while i < len {
    +            let mut j = i;
    +            while j >= *gap && arr[j - gap] > arr[j] {
    +                arr.swap(j - *gap, j);
    +                j -= *gap;
                 }
    -            i += 1;
    +            i += 1;
             }
         }
     }
     
    -#[cfg(test)]
    -mod base {
    -    use super::*;
    -    base_cases!(shellsort);
    +#[cfg(test)]
    +mod base {
    +    use super::*;
    +    base_cases!(shellsort);
     }
    -
    -
    - \ No newline at end of file + \ No newline at end of file diff --git a/doc/src/rust_algorithm_club/sorting/timsort/mod.rs.html b/doc/src/rust_algorithm_club/sorting/timsort/mod.rs.html index 6abe63c2..ef59423a 100644 --- a/doc/src/rust_algorithm_club/sorting/timsort/mod.rs.html +++ b/doc/src/rust_algorithm_club/sorting/timsort/mod.rs.html @@ -1,18 +1,9 @@ -mod.rs - source - -
    1
    -2
    -3
    -4
    -
    /// Timsort.
    -pub fn timsort(_arr: &mut [i32]) {
    +mod.rs - source

    rust_algorithm_club/sorting/timsort/
    mod.rs

    +1
    +2
    +3
    +4
    /// Timsort.
    +pub fn timsort(_arr: &mut [i32]) {
         unimplemented!()
     }
    -
    -
    - \ No newline at end of file + \ No newline at end of file diff --git a/doc/static.files/COPYRIGHT-eb44e4cf.txt b/doc/static.files/COPYRIGHT-eb44e4cf.txt new file mode 100644 index 00000000..1447df79 --- /dev/null +++ b/doc/static.files/COPYRIGHT-eb44e4cf.txt @@ -0,0 +1,50 @@ +# REUSE-IgnoreStart + +These documentation pages include resources by third parties. This copyright +file applies only to those resources. The following third party resources are +included, and carry their own copyright notices and license terms: + +* Fira Sans (FiraSans-Regular.woff2, FiraSans-Medium.woff2): + + Copyright (c) 2014, Mozilla Foundation https://mozilla.org/ + with Reserved Font Name Fira Sans. + + Copyright (c) 2014, Telefonica S.A. + + Licensed under the SIL Open Font License, Version 1.1. + See FiraSans-LICENSE.txt. + +* rustdoc.css, main.js, and playpen.js: + + Copyright 2015 The Rust Developers. + Licensed under the Apache License, Version 2.0 (see LICENSE-APACHE.txt) or + the MIT license (LICENSE-MIT.txt) at your option. + +* normalize.css: + + Copyright (c) Nicolas Gallagher and Jonathan Neal. + Licensed under the MIT license (see LICENSE-MIT.txt). + +* Source Code Pro (SourceCodePro-Regular.ttf.woff2, + SourceCodePro-Semibold.ttf.woff2, SourceCodePro-It.ttf.woff2): + + Copyright 2010, 2012 Adobe Systems Incorporated (http://www.adobe.com/), + with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark + of Adobe Systems Incorporated in the United States and/or other countries. + + Licensed under the SIL Open Font License, Version 1.1. + See SourceCodePro-LICENSE.txt. + +* Source Serif 4 (SourceSerif4-Regular.ttf.woff2, SourceSerif4-Bold.ttf.woff2, + SourceSerif4-It.ttf.woff2): + + Copyright 2014-2021 Adobe (http://www.adobe.com/), with Reserved Font Name + 'Source'. All Rights Reserved. Source is a trademark of Adobe in the United + States and/or other countries. + + Licensed under the SIL Open Font License, Version 1.1. + See SourceSerif4-LICENSE.md. + +This copyright file is intended to be distributed with rustdoc output. + +# REUSE-IgnoreEnd diff --git a/doc/static.files/FiraSans-LICENSE-05ab6dbd.txt b/doc/static.files/FiraSans-LICENSE-05ab6dbd.txt new file mode 100644 index 00000000..d7e9c149 --- /dev/null +++ b/doc/static.files/FiraSans-LICENSE-05ab6dbd.txt @@ -0,0 +1,98 @@ +// REUSE-IgnoreStart + +Digitized data copyright (c) 2012-2015, The Mozilla Foundation and Telefonica S.A. +with Reserved Font Name < Fira >, + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. + +// REUSE-IgnoreEnd diff --git a/doc/static.files/FiraSans-Medium-e1aa3f0a.woff2 b/doc/static.files/FiraSans-Medium-e1aa3f0a.woff2 new file mode 100644 index 00000000..7a1e5fc5 Binary files /dev/null and b/doc/static.files/FiraSans-Medium-e1aa3f0a.woff2 differ diff --git a/doc/static.files/FiraSans-Regular-0fe48ade.woff2 b/doc/static.files/FiraSans-Regular-0fe48ade.woff2 new file mode 100644 index 00000000..e766e06c Binary files /dev/null and b/doc/static.files/FiraSans-Regular-0fe48ade.woff2 differ diff --git a/doc/static.files/LICENSE-APACHE-a60eea81.txt b/doc/static.files/LICENSE-APACHE-a60eea81.txt new file mode 100644 index 00000000..16fe87b0 --- /dev/null +++ b/doc/static.files/LICENSE-APACHE-a60eea81.txt @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + +Copyright [yyyy] [name of copyright owner] + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/doc/static.files/LICENSE-MIT-23f18e03.txt b/doc/static.files/LICENSE-MIT-23f18e03.txt new file mode 100644 index 00000000..31aa7938 --- /dev/null +++ b/doc/static.files/LICENSE-MIT-23f18e03.txt @@ -0,0 +1,23 @@ +Permission is hereby granted, free of charge, to any +person obtaining a copy of this software and associated +documentation files (the "Software"), to deal in the +Software without restriction, including without +limitation the rights to use, copy, modify, merge, +publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software +is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice +shall be included in all copies or substantial portions +of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. diff --git a/doc/static.files/NanumBarunGothic-13b3dcba.ttf.woff2 b/doc/static.files/NanumBarunGothic-13b3dcba.ttf.woff2 new file mode 100644 index 00000000..1866ad4b Binary files /dev/null and b/doc/static.files/NanumBarunGothic-13b3dcba.ttf.woff2 differ diff --git a/doc/static.files/NanumBarunGothic-LICENSE-a37d393b.txt b/doc/static.files/NanumBarunGothic-LICENSE-a37d393b.txt new file mode 100644 index 00000000..4b3edc29 --- /dev/null +++ b/doc/static.files/NanumBarunGothic-LICENSE-a37d393b.txt @@ -0,0 +1,103 @@ +// REUSE-IgnoreStart + +Copyright (c) 2010, NAVER Corporation (https://www.navercorp.com/), + +with Reserved Font Name Nanum, Naver Nanum, NanumGothic, Naver NanumGothic, +NanumMyeongjo, Naver NanumMyeongjo, NanumBrush, Naver NanumBrush, NanumPen, +Naver NanumPen, Naver NanumGothicEco, NanumGothicEco, Naver NanumMyeongjoEco, +NanumMyeongjoEco, Naver NanumGothicLight, NanumGothicLight, NanumBarunGothic, +Naver NanumBarunGothic, NanumSquareRound, NanumBarunPen, MaruBuri + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. + +// REUSE-IgnoreEnd diff --git a/doc/static.files/SourceCodePro-It-fc8b9304.ttf.woff2 b/doc/static.files/SourceCodePro-It-fc8b9304.ttf.woff2 new file mode 100644 index 00000000..462c34ef Binary files /dev/null and b/doc/static.files/SourceCodePro-It-fc8b9304.ttf.woff2 differ diff --git a/doc/static.files/SourceCodePro-LICENSE-67f54ca7.txt b/doc/static.files/SourceCodePro-LICENSE-67f54ca7.txt new file mode 100644 index 00000000..0d2941e1 --- /dev/null +++ b/doc/static.files/SourceCodePro-LICENSE-67f54ca7.txt @@ -0,0 +1,97 @@ +// REUSE-IgnoreStart + +Copyright 2010, 2012 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of Adobe Systems Incorporated in the United States and/or other countries. + +This Font Software is licensed under the SIL Open Font License, Version 1.1. + +This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. + +// REUSE-IgnoreEnd diff --git a/doc/static.files/SourceCodePro-Regular-8badfe75.ttf.woff2 b/doc/static.files/SourceCodePro-Regular-8badfe75.ttf.woff2 new file mode 100644 index 00000000..10b558e0 Binary files /dev/null and b/doc/static.files/SourceCodePro-Regular-8badfe75.ttf.woff2 differ diff --git a/doc/static.files/SourceCodePro-Semibold-aa29a496.ttf.woff2 b/doc/static.files/SourceCodePro-Semibold-aa29a496.ttf.woff2 new file mode 100644 index 00000000..5ec64eef Binary files /dev/null and b/doc/static.files/SourceCodePro-Semibold-aa29a496.ttf.woff2 differ diff --git a/doc/static.files/SourceSerif4-Bold-6d4fd4c0.ttf.woff2 b/doc/static.files/SourceSerif4-Bold-6d4fd4c0.ttf.woff2 new file mode 100644 index 00000000..181a07f6 Binary files /dev/null and b/doc/static.files/SourceSerif4-Bold-6d4fd4c0.ttf.woff2 differ diff --git a/doc/static.files/SourceSerif4-It-ca3b17ed.ttf.woff2 b/doc/static.files/SourceSerif4-It-ca3b17ed.ttf.woff2 new file mode 100644 index 00000000..2ae08a7b Binary files /dev/null and b/doc/static.files/SourceSerif4-It-ca3b17ed.ttf.woff2 differ diff --git a/doc/static.files/SourceSerif4-LICENSE-a2cfd9d5.md b/doc/static.files/SourceSerif4-LICENSE-a2cfd9d5.md new file mode 100644 index 00000000..175fa4f4 --- /dev/null +++ b/doc/static.files/SourceSerif4-LICENSE-a2cfd9d5.md @@ -0,0 +1,98 @@ + + +Copyright 2014-2021 Adobe (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of Adobe in the United States and/or other countries. +Copyright 2014 - 2023 Adobe (http://www.adobe.com/), with Reserved Font Name ‘Source’. All Rights Reserved. Source is a trademark of Adobe in the United States and/or other countries. + +This Font Software is licensed under the SIL Open Font License, Version 1.1. + +This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. + + diff --git a/doc/static.files/SourceSerif4-Regular-6b053e98.ttf.woff2 b/doc/static.files/SourceSerif4-Regular-6b053e98.ttf.woff2 new file mode 100644 index 00000000..0263fc30 Binary files /dev/null and b/doc/static.files/SourceSerif4-Regular-6b053e98.ttf.woff2 differ diff --git a/doc/static.files/favicon-044be391.svg b/doc/static.files/favicon-044be391.svg new file mode 100644 index 00000000..8b34b511 --- /dev/null +++ b/doc/static.files/favicon-044be391.svg @@ -0,0 +1,24 @@ + + + + + diff --git a/doc/static.files/favicon-32x32-6580c154.png b/doc/static.files/favicon-32x32-6580c154.png new file mode 100644 index 00000000..69b8613c Binary files /dev/null and b/doc/static.files/favicon-32x32-6580c154.png differ diff --git a/doc/static.files/main-5f194d8c.js b/doc/static.files/main-5f194d8c.js new file mode 100644 index 00000000..3d672cb6 --- /dev/null +++ b/doc/static.files/main-5f194d8c.js @@ -0,0 +1,11 @@ +"use strict";window.RUSTDOC_TOOLTIP_HOVER_MS=300;window.RUSTDOC_TOOLTIP_HOVER_EXIT_MS=450;function resourcePath(basename,extension){return getVar("root-path")+basename+getVar("resource-suffix")+extension}function hideMain(){addClass(document.getElementById(MAIN_ID),"hidden");const toggle=document.getElementById("toggle-all-docs");if(toggle){toggle.setAttribute("disabled","disabled")}}function showMain(){const main=document.getElementById(MAIN_ID);removeClass(main,"hidden");const mainHeading=main.querySelector(".main-heading");if(mainHeading&&searchState.rustdocToolbar){if(searchState.rustdocToolbar.parentElement){searchState.rustdocToolbar.parentElement.removeChild(searchState.rustdocToolbar)}mainHeading.appendChild(searchState.rustdocToolbar)}const toggle=document.getElementById("toggle-all-docs");if(toggle){toggle.removeAttribute("disabled")}}window.rootPath=getVar("root-path");window.currentCrate=getVar("current-crate");function setMobileTopbar(){const mobileTopbar=document.querySelector(".mobile-topbar");const locationTitle=document.querySelector(".sidebar h2.location");if(mobileTopbar){const mobileTitle=document.createElement("h2");mobileTitle.className="location";if(hasClass(document.querySelector(".rustdoc"),"crate")){mobileTitle.innerHTML=`Crate ${window.currentCrate}`}else if(locationTitle){mobileTitle.innerHTML=locationTitle.innerHTML}mobileTopbar.appendChild(mobileTitle)}}function getVirtualKey(ev){if("key"in ev&&typeof ev.key!=="undefined"){return ev.key}const c=ev.charCode||ev.keyCode;if(c===27){return"Escape"}return String.fromCharCode(c)}const MAIN_ID="main-content";const SETTINGS_BUTTON_ID="settings-menu";const ALTERNATIVE_DISPLAY_ID="alternative-display";const NOT_DISPLAYED_ID="not-displayed";const HELP_BUTTON_ID="help-button";function getSettingsButton(){return document.getElementById(SETTINGS_BUTTON_ID)}function getHelpButton(){return document.getElementById(HELP_BUTTON_ID)}function getNakedUrl(){return window.location.href.split("?")[0].split("#")[0]}function insertAfter(newNode,referenceNode){referenceNode.parentNode.insertBefore(newNode,referenceNode.nextSibling)}function getOrCreateSection(id,classes){let el=document.getElementById(id);if(!el){el=document.createElement("section");el.id=id;el.className=classes;insertAfter(el,document.getElementById(MAIN_ID))}return el}function getAlternativeDisplayElem(){return getOrCreateSection(ALTERNATIVE_DISPLAY_ID,"content hidden")}function getNotDisplayedElem(){return getOrCreateSection(NOT_DISPLAYED_ID,"hidden")}function switchDisplayedElement(elemToDisplay){const el=getAlternativeDisplayElem();if(el.children.length>0){getNotDisplayedElem().appendChild(el.firstElementChild)}if(elemToDisplay===null){addClass(el,"hidden");showMain();return}el.appendChild(elemToDisplay);hideMain();removeClass(el,"hidden");const mainHeading=elemToDisplay.querySelector(".main-heading");if(mainHeading&&searchState.rustdocToolbar){if(searchState.rustdocToolbar.parentElement){searchState.rustdocToolbar.parentElement.removeChild(searchState.rustdocToolbar)}mainHeading.appendChild(searchState.rustdocToolbar)}}function browserSupportsHistoryApi(){return window.history&&typeof window.history.pushState==="function"}function preLoadCss(cssUrl){const link=document.createElement("link");link.href=cssUrl;link.rel="preload";link.as="style";document.getElementsByTagName("head")[0].appendChild(link)}(function(){const isHelpPage=window.location.pathname.endsWith("/help.html");function loadScript(url,errorCallback){const script=document.createElement("script");script.src=url;if(errorCallback!==undefined){script.onerror=errorCallback}document.head.append(script)}if(getSettingsButton()){getSettingsButton().onclick=event=>{if(event.ctrlKey||event.altKey||event.metaKey){return}window.hideAllModals(false);addClass(getSettingsButton(),"rotate");event.preventDefault();loadScript(getVar("static-root-path")+getVar("settings-js"));setTimeout(()=>{const themes=getVar("themes").split(",");for(const theme of themes){if(theme!==""){preLoadCss(getVar("root-path")+theme+".css")}}},0)}}window.searchState={rustdocToolbar:document.querySelector("rustdoc-toolbar"),loadingText:"Loading search results...",input:document.getElementsByClassName("search-input")[0],outputElement:()=>{let el=document.getElementById("search");if(!el){el=document.createElement("section");el.id="search";getNotDisplayedElem().appendChild(el)}return el},title:document.title,titleBeforeSearch:document.title,timeout:null,currentTab:0,focusedByTab:[null,null,null],clearInputTimeout:()=>{if(searchState.timeout!==null){clearTimeout(searchState.timeout);searchState.timeout=null}},isDisplayed:()=>searchState.outputElement().parentElement.id===ALTERNATIVE_DISPLAY_ID,focus:()=>{searchState.input.focus()},defocus:()=>{searchState.input.blur()},showResults:search=>{if(search===null||typeof search==="undefined"){search=searchState.outputElement()}switchDisplayedElement(search);searchState.mouseMovedAfterSearch=false;document.title=searchState.title},removeQueryParameters:()=>{document.title=searchState.titleBeforeSearch;if(browserSupportsHistoryApi()){history.replaceState(null,"",getNakedUrl()+window.location.hash)}},hideResults:()=>{switchDisplayedElement(null);searchState.removeQueryParameters()},getQueryStringParams:()=>{const params={};window.location.search.substring(1).split("&").map(s=>{const pair=s.split("=").map(x=>x.replace(/\+/g," "));params[decodeURIComponent(pair[0])]=typeof pair[1]==="undefined"?null:decodeURIComponent(pair[1])});return params},setup:()=>{const search_input=searchState.input;if(!searchState.input){return}let searchLoaded=false;function sendSearchForm(){document.getElementsByClassName("search-form")[0].submit()}function loadSearch(){if(!searchLoaded){searchLoaded=true;loadScript(getVar("static-root-path")+getVar("search-js"),sendSearchForm);loadScript(resourcePath("search-index",".js"),sendSearchForm)}}search_input.addEventListener("focus",()=>{search_input.origPlaceholder=search_input.placeholder;search_input.placeholder="Type your search here.";loadSearch()});if(search_input.value!==""){loadSearch()}const params=searchState.getQueryStringParams();if(params.search!==undefined){searchState.setLoadingSearch();loadSearch()}},setLoadingSearch:()=>{const search=searchState.outputElement();search.innerHTML="

    "+searchState.loadingText+"

    ";searchState.showResults(search)},descShards:new Map(),loadDesc:async function({descShard,descIndex}){if(descShard.promise===null){descShard.promise=new Promise((resolve,reject)=>{descShard.resolve=resolve;const ds=descShard;const fname=`${ds.crate}-desc-${ds.shard}-`;const url=resourcePath(`search.desc/${descShard.crate}/${fname}`,".js",);loadScript(url,reject)})}const list=await descShard.promise;return list[descIndex]},loadedDescShard:function(crate,shard,data){this.descShards.get(crate)[shard].resolve(data.split("\n"))},};const toggleAllDocsId="toggle-all-docs";let savedHash="";function handleHashes(ev){if(ev!==null&&searchState.isDisplayed()&&ev.newURL){switchDisplayedElement(null);const hash=ev.newURL.slice(ev.newURL.indexOf("#")+1);if(browserSupportsHistoryApi()){history.replaceState(null,"",getNakedUrl()+window.location.search+"#"+hash)}const elem=document.getElementById(hash);if(elem){elem.scrollIntoView()}}const pageId=window.location.hash.replace(/^#/,"");if(savedHash!==pageId){savedHash=pageId;if(pageId!==""){expandSection(pageId)}}if(savedHash.startsWith("impl-")){const splitAt=savedHash.indexOf("/");if(splitAt!==-1){const implId=savedHash.slice(0,splitAt);const assocId=savedHash.slice(splitAt+1);const implElems=document.querySelectorAll(`details > summary > section[id^="${implId}"]`,);onEachLazy(implElems,implElem=>{const numbered=/^(.+?)-([0-9]+)$/.exec(implElem.id);if(implElem.id!==implId&&(!numbered||numbered[1]!==implId)){return false}return onEachLazy(implElem.parentElement.parentElement.querySelectorAll(`[id^="${assocId}"]`),item=>{const numbered=/^(.+?)-([0-9]+)$/.exec(item.id);if(item.id===assocId||(numbered&&numbered[1]===assocId)){openParentDetails(item);item.scrollIntoView();setTimeout(()=>{window.location.replace("#"+item.id)},0);return true}},)})}}}function onHashChange(ev){hideSidebar();handleHashes(ev)}function openParentDetails(elem){while(elem){if(elem.tagName==="DETAILS"){elem.open=true}elem=elem.parentNode}}function expandSection(id){openParentDetails(document.getElementById(id))}function handleEscape(ev){searchState.clearInputTimeout();searchState.hideResults();ev.preventDefault();searchState.defocus();window.hideAllModals(true)}function handleShortcut(ev){const disableShortcuts=getSettingValue("disable-shortcuts")==="true";if(ev.ctrlKey||ev.altKey||ev.metaKey||disableShortcuts){return}if(document.activeElement.tagName==="INPUT"&&document.activeElement.type!=="checkbox"&&document.activeElement.type!=="radio"){switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break}}else{switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break;case"s":case"S":case"/":ev.preventDefault();searchState.focus();break;case"+":ev.preventDefault();expandAllDocs();break;case"-":ev.preventDefault();collapseAllDocs();break;case"?":showHelp();break;default:break}}}document.addEventListener("keypress",handleShortcut);document.addEventListener("keydown",handleShortcut);function addSidebarItems(){if(!window.SIDEBAR_ITEMS){return}const sidebar=document.getElementById("rustdoc-modnav");function block(shortty,id,longty){const filtered=window.SIDEBAR_ITEMS[shortty];if(!filtered){return}const modpath=hasClass(document.querySelector(".rustdoc"),"mod")?"../":"";const h3=document.createElement("h3");h3.innerHTML=`${longty}`;const ul=document.createElement("ul");ul.className="block "+shortty;for(const name of filtered){let path;if(shortty==="mod"){path=`${modpath}${name}/index.html`}else{path=`${modpath}${shortty}.${name}.html`}let current_page=document.location.href.toString();if(current_page.endsWith("/")){current_page+="index.html"}const link=document.createElement("a");link.href=path;link.textContent=name;const li=document.createElement("li");if(link.href===current_page){li.classList.add("current")}li.appendChild(link);ul.appendChild(li)}sidebar.appendChild(h3);sidebar.appendChild(ul)}if(sidebar){block("primitive","primitives","Primitive Types");block("mod","modules","Modules");block("macro","macros","Macros");block("struct","structs","Structs");block("enum","enums","Enums");block("constant","constants","Constants");block("static","static","Statics");block("trait","traits","Traits");block("fn","functions","Functions");block("type","types","Type Aliases");block("union","unions","Unions");block("foreigntype","foreign-types","Foreign Types");block("keyword","keywords","Keywords");block("attr","attributes","Attribute Macros");block("derive","derives","Derive Macros");block("traitalias","trait-aliases","Trait Aliases")}}window.register_implementors=imp=>{const implementors=document.getElementById("implementors-list");const synthetic_implementors=document.getElementById("synthetic-implementors-list");const inlined_types=new Set();const TEXT_IDX=0;const SYNTHETIC_IDX=1;const TYPES_IDX=2;if(synthetic_implementors){onEachLazy(synthetic_implementors.getElementsByClassName("impl"),el=>{const aliases=el.getAttribute("data-aliases");if(!aliases){return}aliases.split(",").forEach(alias=>{inlined_types.add(alias)})})}let currentNbImpls=implementors.getElementsByClassName("impl").length;const traitName=document.querySelector(".main-heading h1 > .trait").textContent;const baseIdName="impl-"+traitName+"-";const libs=Object.getOwnPropertyNames(imp);const script=document.querySelector("script[data-ignore-extern-crates]");const ignoreExternCrates=new Set((script?script.getAttribute("data-ignore-extern-crates"):"").split(","),);for(const lib of libs){if(lib===window.currentCrate||ignoreExternCrates.has(lib)){continue}const structs=imp[lib];struct_loop:for(const struct of structs){const list=struct[SYNTHETIC_IDX]?synthetic_implementors:implementors;if(struct[SYNTHETIC_IDX]){for(const struct_type of struct[TYPES_IDX]){if(inlined_types.has(struct_type)){continue struct_loop}inlined_types.add(struct_type)}}const code=document.createElement("h3");code.innerHTML=struct[TEXT_IDX];addClass(code,"code-header");onEachLazy(code.getElementsByTagName("a"),elem=>{const href=elem.getAttribute("href");if(href&&!href.startsWith("#")&&!/^(?:[a-z+]+:)?\/\//.test(href)){elem.setAttribute("href",window.rootPath+href)}});const currentId=baseIdName+currentNbImpls;const anchor=document.createElement("a");anchor.href="#"+currentId;addClass(anchor,"anchor");const display=document.createElement("div");display.id=currentId;addClass(display,"impl");display.appendChild(anchor);display.appendChild(code);list.appendChild(display);currentNbImpls+=1}}};if(window.pending_implementors){window.register_implementors(window.pending_implementors)}window.register_type_impls=imp=>{if(!imp||!imp[window.currentCrate]){return}window.pending_type_impls=null;const idMap=new Map();let implementations=document.getElementById("implementations-list");let trait_implementations=document.getElementById("trait-implementations-list");let trait_implementations_header=document.getElementById("trait-implementations");const script=document.querySelector("script[data-self-path]");const selfPath=script?script.getAttribute("data-self-path"):null;const mainContent=document.querySelector("#main-content");const sidebarSection=document.querySelector(".sidebar section");let methods=document.querySelector(".sidebar .block.method");let associatedTypes=document.querySelector(".sidebar .block.associatedtype");let associatedConstants=document.querySelector(".sidebar .block.associatedconstant");let sidebarTraitList=document.querySelector(".sidebar .block.trait-implementation");for(const impList of imp[window.currentCrate]){const types=impList.slice(2);const text=impList[0];const isTrait=impList[1]!==0;const traitName=impList[1];if(types.indexOf(selfPath)===-1){continue}let outputList=isTrait?trait_implementations:implementations;if(outputList===null){const outputListName=isTrait?"Trait Implementations":"Implementations";const outputListId=isTrait?"trait-implementations-list":"implementations-list";const outputListHeaderId=isTrait?"trait-implementations":"implementations";const outputListHeader=document.createElement("h2");outputListHeader.id=outputListHeaderId;outputListHeader.innerText=outputListName;outputList=document.createElement("div");outputList.id=outputListId;if(isTrait){const link=document.createElement("a");link.href=`#${outputListHeaderId}`;link.innerText="Trait Implementations";const h=document.createElement("h3");h.appendChild(link);trait_implementations=outputList;trait_implementations_header=outputListHeader;sidebarSection.appendChild(h);sidebarTraitList=document.createElement("ul");sidebarTraitList.className="block trait-implementation";sidebarSection.appendChild(sidebarTraitList);mainContent.appendChild(outputListHeader);mainContent.appendChild(outputList)}else{implementations=outputList;if(trait_implementations){mainContent.insertBefore(outputListHeader,trait_implementations_header);mainContent.insertBefore(outputList,trait_implementations_header)}else{const mainContent=document.querySelector("#main-content");mainContent.appendChild(outputListHeader);mainContent.appendChild(outputList)}}}const template=document.createElement("template");template.innerHTML=text;onEachLazy(template.content.querySelectorAll("a"),elem=>{const href=elem.getAttribute("href");if(href&&!href.startsWith("#")&&!/^(?:[a-z+]+:)?\/\//.test(href)){elem.setAttribute("href",window.rootPath+href)}});onEachLazy(template.content.querySelectorAll("[id]"),el=>{let i=0;if(idMap.has(el.id)){i=idMap.get(el.id)}else if(document.getElementById(el.id)){i=1;while(document.getElementById(`${el.id}-${2 * i}`)){i=2*i}while(document.getElementById(`${el.id}-${i}`)){i+=1}}if(i!==0){const oldHref=`#${el.id}`;const newHref=`#${el.id}-${i}`;el.id=`${el.id}-${i}`;onEachLazy(template.content.querySelectorAll("a[href]"),link=>{if(link.getAttribute("href")===oldHref){link.href=newHref}})}idMap.set(el.id,i+1)});const templateAssocItems=template.content.querySelectorAll("section.tymethod, "+"section.method, section.associatedtype, section.associatedconstant");if(isTrait){const li=document.createElement("li");const a=document.createElement("a");a.href=`#${template.content.querySelector(".impl").id}`;a.textContent=traitName;li.appendChild(a);sidebarTraitList.append(li)}else{onEachLazy(templateAssocItems,item=>{let block=hasClass(item,"associatedtype")?associatedTypes:(hasClass(item,"associatedconstant")?associatedConstants:(methods));if(!block){const blockTitle=hasClass(item,"associatedtype")?"Associated Types":(hasClass(item,"associatedconstant")?"Associated Constants":("Methods"));const blockClass=hasClass(item,"associatedtype")?"associatedtype":(hasClass(item,"associatedconstant")?"associatedconstant":("method"));const blockHeader=document.createElement("h3");const blockLink=document.createElement("a");blockLink.href="#implementations";blockLink.innerText=blockTitle;blockHeader.appendChild(blockLink);block=document.createElement("ul");block.className=`block ${blockClass}`;const insertionReference=methods||sidebarTraitList;if(insertionReference){const insertionReferenceH=insertionReference.previousElementSibling;sidebarSection.insertBefore(blockHeader,insertionReferenceH);sidebarSection.insertBefore(block,insertionReferenceH)}else{sidebarSection.appendChild(blockHeader);sidebarSection.appendChild(block)}if(hasClass(item,"associatedtype")){associatedTypes=block}else if(hasClass(item,"associatedconstant")){associatedConstants=block}else{methods=block}}const li=document.createElement("li");const a=document.createElement("a");a.innerText=item.id.split("-")[0].split(".")[1];a.href=`#${item.id}`;li.appendChild(a);block.appendChild(li)})}outputList.appendChild(template.content)}for(const list of[methods,associatedTypes,associatedConstants,sidebarTraitList]){if(!list){continue}const newChildren=Array.prototype.slice.call(list.children);newChildren.sort((a,b)=>{const aI=a.innerText;const bI=b.innerText;return aIbI?1:0});list.replaceChildren(...newChildren)}};if(window.pending_type_impls){window.register_type_impls(window.pending_type_impls)}function addSidebarCrates(){if(!window.ALL_CRATES){return}const sidebarElems=document.getElementById("rustdoc-modnav");if(!sidebarElems){return}const h3=document.createElement("h3");h3.innerHTML="Crates";const ul=document.createElement("ul");ul.className="block crate";for(const crate of window.ALL_CRATES){const link=document.createElement("a");link.href=window.rootPath+crate+"/index.html";link.textContent=crate;const li=document.createElement("li");if(window.rootPath!=="./"&&crate===window.currentCrate){li.className="current"}li.appendChild(link);ul.appendChild(li)}sidebarElems.appendChild(h3);sidebarElems.appendChild(ul)}function expandAllDocs(){const innerToggle=document.getElementById(toggleAllDocsId);removeClass(innerToggle,"will-expand");onEachLazy(document.getElementsByClassName("toggle"),e=>{if(!hasClass(e,"type-contents-toggle")&&!hasClass(e,"more-examples-toggle")){e.open=true}});innerToggle.children[0].innerText="Summary"}function collapseAllDocs(){const innerToggle=document.getElementById(toggleAllDocsId);addClass(innerToggle,"will-expand");onEachLazy(document.getElementsByClassName("toggle"),e=>{if(e.parentNode.id!=="implementations-list"||(!hasClass(e,"implementors-toggle")&&!hasClass(e,"type-contents-toggle"))){e.open=false}});innerToggle.children[0].innerText="Show all"}function toggleAllDocs(){const innerToggle=document.getElementById(toggleAllDocsId);if(!innerToggle){return}if(hasClass(innerToggle,"will-expand")){expandAllDocs()}else{collapseAllDocs()}}(function(){const toggles=document.getElementById(toggleAllDocsId);if(toggles){toggles.onclick=toggleAllDocs}const hideMethodDocs=getSettingValue("auto-hide-method-docs")==="true";const hideImplementations=getSettingValue("auto-hide-trait-implementations")==="true";const hideLargeItemContents=getSettingValue("auto-hide-large-items")!=="false";function setImplementorsTogglesOpen(id,open){const list=document.getElementById(id);if(list!==null){onEachLazy(list.getElementsByClassName("implementors-toggle"),e=>{e.open=open})}}if(hideImplementations){setImplementorsTogglesOpen("trait-implementations-list",false);setImplementorsTogglesOpen("blanket-implementations-list",false)}onEachLazy(document.getElementsByClassName("toggle"),e=>{if(!hideLargeItemContents&&hasClass(e,"type-contents-toggle")){e.open=true}if(hideMethodDocs&&hasClass(e,"method-toggle")){e.open=false}})}());window.rustdoc_add_line_numbers_to_examples=()=>{if(document.querySelector(".rustdoc.src")){return}onEachLazy(document.querySelectorAll(":not(.scraped-example) > .example-wrap > pre:not(.example-line-numbers)",),x=>{const parent=x.parentNode;const line_numbers=parent.querySelectorAll(".example-line-numbers");if(line_numbers.length>0){return}const count=x.textContent.split("\n").length;const elems=[];for(let i=0;i{onEachLazy(document.querySelectorAll(".example-wrap > .example-line-numbers"),x=>{x.parentNode.removeChild(x)})};if(getSettingValue("line-numbers")==="true"){window.rustdoc_add_line_numbers_to_examples()}function showSidebar(){window.hideAllModals(false);const sidebar=document.getElementsByClassName("sidebar")[0];addClass(sidebar,"shown")}function hideSidebar(){const sidebar=document.getElementsByClassName("sidebar")[0];removeClass(sidebar,"shown")}window.addEventListener("resize",()=>{if(window.CURRENT_TOOLTIP_ELEMENT){const base=window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE;const force_visible=base.TOOLTIP_FORCE_VISIBLE;hideTooltip(false);if(force_visible){showTooltip(base);base.TOOLTIP_FORCE_VISIBLE=true}}});const mainElem=document.getElementById(MAIN_ID);if(mainElem){mainElem.addEventListener("click",hideSidebar)}onEachLazy(document.querySelectorAll("a[href^='#']"),el=>{el.addEventListener("click",()=>{expandSection(el.hash.slice(1));hideSidebar()})});onEachLazy(document.querySelectorAll(".toggle > summary:not(.hideme)"),el=>{el.addEventListener("click",e=>{if(e.target.tagName!=="SUMMARY"&&e.target.tagName!=="A"){e.preventDefault()}})});function showTooltip(e){const notable_ty=e.getAttribute("data-notable-ty");if(!window.NOTABLE_TRAITS&¬able_ty){const data=document.getElementById("notable-traits-data");if(data){window.NOTABLE_TRAITS=JSON.parse(data.innerText)}else{throw new Error("showTooltip() called with notable without any notable traits!")}}if(window.CURRENT_TOOLTIP_ELEMENT&&window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE===e){clearTooltipHoverTimeout(window.CURRENT_TOOLTIP_ELEMENT);return}window.hideAllModals(false);const wrapper=document.createElement("div");if(notable_ty){wrapper.innerHTML="
    "+window.NOTABLE_TRAITS[notable_ty]+"
    "}else{if(e.getAttribute("title")!==null){e.setAttribute("data-title",e.getAttribute("title"));e.removeAttribute("title")}if(e.getAttribute("data-title")!==null){const titleContent=document.createElement("div");titleContent.className="content";titleContent.appendChild(document.createTextNode(e.getAttribute("data-title")));wrapper.appendChild(titleContent)}}wrapper.className="tooltip popover";const focusCatcher=document.createElement("div");focusCatcher.setAttribute("tabindex","0");focusCatcher.onfocus=hideTooltip;wrapper.appendChild(focusCatcher);const pos=e.getBoundingClientRect();wrapper.style.top=(pos.top+window.scrollY+pos.height)+"px";wrapper.style.left=0;wrapper.style.right="auto";wrapper.style.visibility="hidden";document.body.appendChild(wrapper);const wrapperPos=wrapper.getBoundingClientRect();const finalPos=pos.left+window.scrollX-wrapperPos.width+24;if(finalPos>0){wrapper.style.left=finalPos+"px"}else{wrapper.style.setProperty("--popover-arrow-offset",(wrapperPos.right-pos.right+4)+"px",)}wrapper.style.visibility="";window.CURRENT_TOOLTIP_ELEMENT=wrapper;window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE=e;clearTooltipHoverTimeout(window.CURRENT_TOOLTIP_ELEMENT);wrapper.onpointerenter=ev=>{if(ev.pointerType!=="mouse"){return}clearTooltipHoverTimeout(e)};wrapper.onpointerleave=ev=>{if(ev.pointerType!=="mouse"){return}if(!e.TOOLTIP_FORCE_VISIBLE&&!e.contains(ev.relatedTarget)){setTooltipHoverTimeout(e,false);addClass(wrapper,"fade-out")}}}function setTooltipHoverTimeout(element,show){clearTooltipHoverTimeout(element);if(!show&&!window.CURRENT_TOOLTIP_ELEMENT){return}if(show&&window.CURRENT_TOOLTIP_ELEMENT){return}if(window.CURRENT_TOOLTIP_ELEMENT&&window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE!==element){return}element.TOOLTIP_HOVER_TIMEOUT=setTimeout(()=>{if(show){showTooltip(element)}else if(!element.TOOLTIP_FORCE_VISIBLE){hideTooltip(false)}},show?window.RUSTDOC_TOOLTIP_HOVER_MS:window.RUSTDOC_TOOLTIP_HOVER_EXIT_MS)}function clearTooltipHoverTimeout(element){if(element.TOOLTIP_HOVER_TIMEOUT!==undefined){removeClass(window.CURRENT_TOOLTIP_ELEMENT,"fade-out");clearTimeout(element.TOOLTIP_HOVER_TIMEOUT);delete element.TOOLTIP_HOVER_TIMEOUT}}function tooltipBlurHandler(event){if(window.CURRENT_TOOLTIP_ELEMENT&&!window.CURRENT_TOOLTIP_ELEMENT.contains(document.activeElement)&&!window.CURRENT_TOOLTIP_ELEMENT.contains(event.relatedTarget)&&!window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.contains(document.activeElement)&&!window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.contains(event.relatedTarget)){setTimeout(()=>hideTooltip(false),0)}}function hideTooltip(focus){if(window.CURRENT_TOOLTIP_ELEMENT){if(window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.TOOLTIP_FORCE_VISIBLE){if(focus){window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.focus()}window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.TOOLTIP_FORCE_VISIBLE=false}document.body.removeChild(window.CURRENT_TOOLTIP_ELEMENT);clearTooltipHoverTimeout(window.CURRENT_TOOLTIP_ELEMENT);window.CURRENT_TOOLTIP_ELEMENT=null}}onEachLazy(document.getElementsByClassName("tooltip"),e=>{e.onclick=()=>{e.TOOLTIP_FORCE_VISIBLE=e.TOOLTIP_FORCE_VISIBLE?false:true;if(window.CURRENT_TOOLTIP_ELEMENT&&!e.TOOLTIP_FORCE_VISIBLE){hideTooltip(true)}else{showTooltip(e);window.CURRENT_TOOLTIP_ELEMENT.setAttribute("tabindex","0");window.CURRENT_TOOLTIP_ELEMENT.focus();window.CURRENT_TOOLTIP_ELEMENT.onblur=tooltipBlurHandler}return false};e.onpointerenter=ev=>{if(ev.pointerType!=="mouse"){return}setTooltipHoverTimeout(e,true)};e.onpointermove=ev=>{if(ev.pointerType!=="mouse"){return}setTooltipHoverTimeout(e,true)};e.onpointerleave=ev=>{if(ev.pointerType!=="mouse"){return}if(!e.TOOLTIP_FORCE_VISIBLE&&window.CURRENT_TOOLTIP_ELEMENT&&!window.CURRENT_TOOLTIP_ELEMENT.contains(ev.relatedTarget)){setTooltipHoverTimeout(e,false);addClass(window.CURRENT_TOOLTIP_ELEMENT,"fade-out")}}});const sidebar_menu_toggle=document.getElementsByClassName("sidebar-menu-toggle")[0];if(sidebar_menu_toggle){sidebar_menu_toggle.addEventListener("click",()=>{const sidebar=document.getElementsByClassName("sidebar")[0];if(!hasClass(sidebar,"shown")){showSidebar()}else{hideSidebar()}})}function helpBlurHandler(event){if(!getHelpButton().contains(document.activeElement)&&!getHelpButton().contains(event.relatedTarget)&&!getSettingsButton().contains(document.activeElement)&&!getSettingsButton().contains(event.relatedTarget)){window.hidePopoverMenus()}}function buildHelpMenu(){const book_info=document.createElement("span");const channel=getVar("channel");book_info.className="top";book_info.innerHTML=`You can find more information in \ +the rustdoc book.`;const shortcuts=[["?","Show this help dialog"],["S / /","Focus the search field"],["↑","Move up in search results"],["↓","Move down in search results"],["← / →","Switch result tab (when results focused)"],["⏎","Go to active search result"],["+","Expand all sections"],["-","Collapse all sections"],].map(x=>"
    "+x[0].split(" ").map((y,index)=>((index&1)===0?""+y+"":" "+y+" ")).join("")+"
    "+x[1]+"
    ").join("");const div_shortcuts=document.createElement("div");addClass(div_shortcuts,"shortcuts");div_shortcuts.innerHTML="

    Keyboard Shortcuts

    "+shortcuts+"
    ";const infos=[`For a full list of all search features, take a look here.`,"Prefix searches with a type followed by a colon (e.g., fn:) to \ + restrict the search to a given item kind.","Accepted kinds are: fn, mod, struct, \ + enum, trait, type, macro, \ + and const.","Search functions by type signature (e.g., vec -> usize or \ + -> vec or String, enum:Cow -> bool)","You can look for items with an exact name by putting double quotes around \ + your request: \"string\"","Look for functions that accept or return \ + slices and \ + arrays by writing \ + square brackets (e.g., -> [u8] or [] -> Option)","Look for items inside another one by searching for a path: vec::Vec",].map(x=>"

    "+x+"

    ").join("");const div_infos=document.createElement("div");addClass(div_infos,"infos");div_infos.innerHTML="

    Search Tricks

    "+infos;const rustdoc_version=document.createElement("span");rustdoc_version.className="bottom";const rustdoc_version_code=document.createElement("code");rustdoc_version_code.innerText="rustdoc "+getVar("rustdoc-version");rustdoc_version.appendChild(rustdoc_version_code);const container=document.createElement("div");if(!isHelpPage){container.className="popover"}container.id="help";container.style.display="none";const side_by_side=document.createElement("div");side_by_side.className="side-by-side";side_by_side.appendChild(div_shortcuts);side_by_side.appendChild(div_infos);container.appendChild(book_info);container.appendChild(side_by_side);container.appendChild(rustdoc_version);if(isHelpPage){const help_section=document.createElement("section");help_section.appendChild(container);document.getElementById("main-content").appendChild(help_section);container.style.display="block"}else{const help_button=getHelpButton();help_button.appendChild(container);container.onblur=helpBlurHandler;help_button.onblur=helpBlurHandler;help_button.children[0].onblur=helpBlurHandler}return container}window.hideAllModals=switchFocus=>{hideSidebar();window.hidePopoverMenus();hideTooltip(switchFocus)};window.hidePopoverMenus=()=>{onEachLazy(document.querySelectorAll("rustdoc-toolbar .popover"),elem=>{elem.style.display="none"});const button=getHelpButton();if(button){removeClass(button,"help-open")}};function getHelpMenu(buildNeeded){let menu=getHelpButton().querySelector(".popover");if(!menu&&buildNeeded){menu=buildHelpMenu()}return menu}function showHelp(){const button=getHelpButton();addClass(button,"help-open");button.querySelector("a").focus();const menu=getHelpMenu(true);if(menu.style.display==="none"){window.hideAllModals();menu.style.display=""}}const helpLink=document.querySelector(`#${HELP_BUTTON_ID} > a`);if(isHelpPage){buildHelpMenu()}else if(helpLink){helpLink.addEventListener("click",event=>{if(!helpLink.contains(helpLink)||event.ctrlKey||event.altKey||event.metaKey){return}event.preventDefault();const menu=getHelpMenu(true);const shouldShowHelp=menu.style.display==="none";if(shouldShowHelp){showHelp()}else{window.hidePopoverMenus()}})}setMobileTopbar();addSidebarItems();addSidebarCrates();onHashChange(null);window.addEventListener("hashchange",onHashChange);searchState.setup()}());(function(){const SIDEBAR_MIN=100;const SIDEBAR_MAX=500;const RUSTDOC_MOBILE_BREAKPOINT=700;const BODY_MIN=400;const SIDEBAR_VANISH_THRESHOLD=SIDEBAR_MIN/2;const sidebarButton=document.getElementById("sidebar-button");if(sidebarButton){sidebarButton.addEventListener("click",e=>{removeClass(document.documentElement,"hide-sidebar");updateLocalStorage("hide-sidebar","false");if(document.querySelector(".rustdoc.src")){window.rustdocToggleSrcSidebar()}e.preventDefault()})}let currentPointerId=null;let desiredSidebarSize=null;let pendingSidebarResizingFrame=false;const resizer=document.querySelector(".sidebar-resizer");const sidebar=document.querySelector(".sidebar");if(!resizer||!sidebar){return}const isSrcPage=hasClass(document.body,"src");function hideSidebar(){if(isSrcPage){window.rustdocCloseSourceSidebar();updateLocalStorage("src-sidebar-width",null);document.documentElement.style.removeProperty("--src-sidebar-width");sidebar.style.removeProperty("--src-sidebar-width");resizer.style.removeProperty("--src-sidebar-width")}else{addClass(document.documentElement,"hide-sidebar");updateLocalStorage("hide-sidebar","true");updateLocalStorage("desktop-sidebar-width",null);document.documentElement.style.removeProperty("--desktop-sidebar-width");sidebar.style.removeProperty("--desktop-sidebar-width");resizer.style.removeProperty("--desktop-sidebar-width")}}function showSidebar(){if(isSrcPage){window.rustdocShowSourceSidebar()}else{removeClass(document.documentElement,"hide-sidebar");updateLocalStorage("hide-sidebar","false")}}function changeSidebarSize(size){if(isSrcPage){updateLocalStorage("src-sidebar-width",size);sidebar.style.setProperty("--src-sidebar-width",size+"px");resizer.style.setProperty("--src-sidebar-width",size+"px")}else{updateLocalStorage("desktop-sidebar-width",size);sidebar.style.setProperty("--desktop-sidebar-width",size+"px");resizer.style.setProperty("--desktop-sidebar-width",size+"px")}}function isSidebarHidden(){return isSrcPage?!hasClass(document.documentElement,"src-sidebar-expanded"):hasClass(document.documentElement,"hide-sidebar")}function resize(e){if(currentPointerId===null||currentPointerId!==e.pointerId){return}e.preventDefault();const pos=e.clientX-3;if(pos=SIDEBAR_MIN){if(isSidebarHidden()){showSidebar()}const constrainedPos=Math.min(pos,window.innerWidth-BODY_MIN,SIDEBAR_MAX);changeSidebarSize(constrainedPos);desiredSidebarSize=constrainedPos;if(pendingSidebarResizingFrame!==false){clearTimeout(pendingSidebarResizingFrame)}pendingSidebarResizingFrame=setTimeout(()=>{if(currentPointerId===null||pendingSidebarResizingFrame===false){return}pendingSidebarResizingFrame=false;document.documentElement.style.setProperty("--resizing-sidebar-width",desiredSidebarSize+"px",)},100)}}window.addEventListener("resize",()=>{if(window.innerWidth=(window.innerWidth-BODY_MIN)){changeSidebarSize(window.innerWidth-BODY_MIN)}else if(desiredSidebarSize!==null&&desiredSidebarSize>SIDEBAR_MIN){changeSidebarSize(desiredSidebarSize)}});function stopResize(e){if(currentPointerId===null){return}if(e){e.preventDefault()}desiredSidebarSize=sidebar.getBoundingClientRect().width;removeClass(resizer,"active");window.removeEventListener("pointermove",resize,false);window.removeEventListener("pointerup",stopResize,false);removeClass(document.documentElement,"sidebar-resizing");document.documentElement.style.removeProperty("--resizing-sidebar-width");if(resizer.releasePointerCapture){resizer.releasePointerCapture(currentPointerId);currentPointerId=null}}function initResize(e){if(currentPointerId!==null||e.altKey||e.ctrlKey||e.metaKey||e.button!==0){return}if(resizer.setPointerCapture){resizer.setPointerCapture(e.pointerId);if(!resizer.hasPointerCapture(e.pointerId)){resizer.releasePointerCapture(e.pointerId);return}currentPointerId=e.pointerId}window.hideAllModals(false);e.preventDefault();window.addEventListener("pointermove",resize,false);window.addEventListener("pointercancel",stopResize,false);window.addEventListener("pointerup",stopResize,false);addClass(resizer,"active");addClass(document.documentElement,"sidebar-resizing");const pos=e.clientX-sidebar.offsetLeft-3;document.documentElement.style.setProperty("--resizing-sidebar-width",pos+"px");desiredSidebarSize=null}resizer.addEventListener("pointerdown",initResize,false)}());(function(){function copyContentToClipboard(content){const el=document.createElement("textarea");el.value=content;el.setAttribute("readonly","");el.style.position="absolute";el.style.left="-9999px";document.body.appendChild(el);el.select();document.execCommand("copy");document.body.removeChild(el)}function copyButtonAnimation(button){button.classList.add("clicked");if(button.reset_button_timeout!==undefined){window.clearTimeout(button.reset_button_timeout)}button.reset_button_timeout=window.setTimeout(()=>{button.reset_button_timeout=undefined;button.classList.remove("clicked")},1000)}const but=document.getElementById("copy-path");if(!but){return}but.onclick=()=>{const title=document.querySelector("title").textContent.replace(" - Rust","");const[item,module]=title.split(" in ");const path=[item];if(module!==undefined){path.unshift(module)}copyContentToClipboard(path.join("::"));copyButtonAnimation(but)};function copyCode(codeElem){if(!codeElem){return}copyContentToClipboard(codeElem.textContent)}function getExampleWrap(event){let elem=event.target;while(!hasClass(elem,"example-wrap")){if(elem===document.body||elem.tagName==="A"||elem.tagName==="BUTTON"||hasClass(elem,"docblock")){return null}elem=elem.parentElement}return elem}function addCopyButton(event){const elem=getExampleWrap(event);if(elem===null){return}elem.removeEventListener("mouseover",addCopyButton);const parent=document.createElement("div");parent.className="button-holder";const runButton=elem.querySelector(".test-arrow");if(runButton!==null){parent.appendChild(runButton)}elem.appendChild(parent);const copyButton=document.createElement("button");copyButton.className="copy-button";copyButton.title="Copy code to clipboard";copyButton.addEventListener("click",()=>{copyCode(elem.querySelector("pre > code"));copyButtonAnimation(copyButton)});parent.appendChild(copyButton);if(!elem.parentElement.classList.contains("scraped-example")){return}const scrapedWrapped=elem.parentElement;window.updateScrapedExample(scrapedWrapped,parent)}function showHideCodeExampleButtons(event){const elem=getExampleWrap(event);if(elem===null){return}let buttons=elem.querySelector(".button-holder");if(buttons===null){addCopyButton(event);buttons=elem.querySelector(".button-holder");if(buttons===null){return}}buttons.classList.toggle("keep-visible")}onEachLazy(document.querySelectorAll(".docblock .example-wrap"),elem=>{elem.addEventListener("mouseover",addCopyButton);elem.addEventListener("click",showHideCodeExampleButtons)})}()) \ No newline at end of file diff --git a/doc/static.files/normalize-9960930a.css b/doc/static.files/normalize-9960930a.css new file mode 100644 index 00000000..469959f1 --- /dev/null +++ b/doc/static.files/normalize-9960930a.css @@ -0,0 +1,2 @@ + /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ +html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type="button"],[type="reset"],[type="submit"],button{-webkit-appearance:button}[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none} \ No newline at end of file diff --git a/doc/static.files/noscript-893ab5e7.css b/doc/static.files/noscript-893ab5e7.css new file mode 100644 index 00000000..a6c18eca --- /dev/null +++ b/doc/static.files/noscript-893ab5e7.css @@ -0,0 +1 @@ + #main-content .attributes{margin-left:0 !important;}#copy-path,#sidebar-button,.sidebar-resizer{display:none !important;}nav.sub{display:none;}.src .sidebar{display:none;}.notable-traits{display:none;}:root,:root:not([data-theme]){--main-background-color:white;--main-color:black;--settings-input-color:#2196f3;--settings-input-border-color:#717171;--settings-button-color:#000;--settings-button-border-focus:#717171;--sidebar-background-color:#f5f5f5;--sidebar-background-color-hover:#e0e0e0;--code-block-background-color:#f5f5f5;--scrollbar-track-background-color:#dcdcdc;--scrollbar-thumb-background-color:rgba(36,37,39,0.6);--scrollbar-color:rgba(36,37,39,0.6) #d9d9d9;--headings-border-bottom-color:#ddd;--border-color:#e0e0e0;--button-background-color:#fff;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:none;--mobile-sidebar-menu-filter:none;--search-input-focused-border-color:#66afe9;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(35%);--code-example-button-color:#7f7f7f;--code-example-button-hover-color:#595959;--settings-menu-filter:invert(50%);--settings-menu-hover-filter:invert(35%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#ad378a;--trait-link-color:#6e4fc9;--assoc-item-link-color:#3873ad;--function-link-color:#ad7c37;--macro-link-color:#068000;--keyword-link-color:#3873ad;--mod-link-color:#3873ad;--link-color:#3873ad;--sidebar-link-color:#356da4;--sidebar-current-link-background-color:#fff;--search-result-link-focus-background-color:#ccc;--search-result-border-color:#aaa3;--search-color:#000;--search-error-code-background-color:#d0cccc;--search-results-alias-color:#000;--search-results-grey-color:#999;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#e6e6e6;--search-tab-button-not-selected-background:#e6e6e6;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#fff;--stab-background-color:#fff5d6;--stab-code-color:#000;--code-highlight-kw-color:#8959a8;--code-highlight-kw-2-color:#4271ae;--code-highlight-lifetime-color:#b76514;--code-highlight-prelude-color:#4271ae;--code-highlight-prelude-val-color:#c82829;--code-highlight-number-color:#718c00;--code-highlight-string-color:#718c00;--code-highlight-literal-color:#c82829;--code-highlight-attribute-color:#c82829;--code-highlight-self-color:#c82829;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8e908c;--code-highlight-doc-comment-color:#4d4d4c;--src-line-numbers-span-color:#c67e2d;--src-line-number-highlighted-background-color:#fdffd3;--target-background-color:#fdffd3;--target-border-color:#ad7c37;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:initial;--crate-search-div-filter:invert(100%) sepia(0%) saturate(4223%) hue-rotate(289deg) brightness(114%) contrast(76%);--crate-search-div-hover-filter:invert(44%) sepia(18%) saturate(23%) hue-rotate(317deg) brightness(96%) contrast(93%);--crate-search-hover-border:#717171;--src-sidebar-background-selected:#fff;--src-sidebar-background-hover:#e0e0e0;--table-alt-row-background-color:#f5f5f5;--codeblock-link-background:#eee;--scrape-example-toggle-line-background:#ccc;--scrape-example-toggle-line-hover-background:#999;--scrape-example-code-line-highlight:#fcffd6;--scrape-example-code-line-highlight-focus:#f6fdb0;--scrape-example-help-border-color:#555;--scrape-example-help-color:#333;--scrape-example-help-hover-border-color:#000;--scrape-example-help-hover-color:#000;--scrape-example-code-wrapper-background-start:rgba(255,255,255,1);--scrape-example-code-wrapper-background-end:rgba(255,255,255,0);--sidebar-resizer-hover:hsl(207,90%,66%);--sidebar-resizer-active:hsl(207,90%,54%);}@media (prefers-color-scheme:dark){:root,:root:not([data-theme]){--main-background-color:#353535;--main-color:#ddd;--settings-input-color:#2196f3;--settings-input-border-color:#999;--settings-button-color:#000;--settings-button-border-focus:#ffb900;--sidebar-background-color:#505050;--sidebar-background-color-hover:#676767;--code-block-background-color:#2A2A2A;--scrollbar-track-background-color:#717171;--scrollbar-thumb-background-color:rgba(32,34,37,.6);--scrollbar-color:rgba(32,34,37,.6) #5a5a5a;--headings-border-bottom-color:#d2d2d2;--border-color:#e0e0e0;--button-background-color:#f0f0f0;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:invert(100%);--mobile-sidebar-menu-filter:invert(100%);--search-input-focused-border-color:#008dfd;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(65%);--code-example-button-color:#7f7f7f;--code-example-button-hover-color:#a5a5a5;--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#2dbfb8;--trait-link-color:#b78cf2;--assoc-item-link-color:#d2991d;--function-link-color:#2bab63;--macro-link-color:#09bd00;--keyword-link-color:#d2991d;--mod-link-color:#d2991d;--link-color:#d2991d;--sidebar-link-color:#fdbf35;--sidebar-current-link-background-color:#444;--search-result-link-focus-background-color:#616161;--search-result-border-color:#aaa3;--search-color:#111;--search-error-code-background-color:#484848;--search-results-alias-color:#fff;--search-results-grey-color:#ccc;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#252525;--search-tab-button-not-selected-background:#252525;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#353535;--settings-menu-filter:invert(50%);--settings-menu-hover-filter:invert(65%);--stab-background-color:#314559;--stab-code-color:#e6e1cf;--code-highlight-kw-color:#ab8ac1;--code-highlight-kw-2-color:#769acb;--code-highlight-lifetime-color:#d97f26;--code-highlight-prelude-color:#769acb;--code-highlight-prelude-val-color:#ee6868;--code-highlight-number-color:#83a300;--code-highlight-string-color:#83a300;--code-highlight-literal-color:#ee6868;--code-highlight-attribute-color:#ee6868;--code-highlight-self-color:#ee6868;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8d8d8b;--code-highlight-doc-comment-color:#8ca375;--src-line-numbers-span-color:#3b91e2;--src-line-number-highlighted-background-color:#0a042f;--target-background-color:#494a3d;--target-border-color:#bb7410;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);--crate-search-div-filter:invert(94%) sepia(0%) saturate(721%) hue-rotate(255deg) brightness(90%) contrast(90%);--crate-search-div-hover-filter:invert(69%) sepia(60%) saturate(6613%) hue-rotate(184deg) brightness(100%) contrast(91%);--crate-search-hover-border:#2196f3;--src-sidebar-background-selected:#333;--src-sidebar-background-hover:#444;--table-alt-row-background-color:#2a2a2a;--codeblock-link-background:#333;--scrape-example-toggle-line-background:#999;--scrape-example-toggle-line-hover-background:#c5c5c5;--scrape-example-code-line-highlight:#5b3b01;--scrape-example-code-line-highlight-focus:#7c4b0f;--scrape-example-help-border-color:#aaa;--scrape-example-help-color:#eee;--scrape-example-help-hover-border-color:#fff;--scrape-example-help-hover-color:#fff;--scrape-example-code-wrapper-background-start:rgba(53,53,53,1);--scrape-example-code-wrapper-background-end:rgba(53,53,53,0);--sidebar-resizer-hover:hsl(207,30%,54%);--sidebar-resizer-active:hsl(207,90%,54%);}} \ No newline at end of file diff --git a/doc/static.files/rust-logo-9a9549ea.svg b/doc/static.files/rust-logo-9a9549ea.svg new file mode 100644 index 00000000..62424d8f --- /dev/null +++ b/doc/static.files/rust-logo-9a9549ea.svg @@ -0,0 +1,61 @@ + + + diff --git a/doc/static.files/rustdoc-46132b98.css b/doc/static.files/rustdoc-46132b98.css new file mode 100644 index 00000000..2efac0bd --- /dev/null +++ b/doc/static.files/rustdoc-46132b98.css @@ -0,0 +1,53 @@ + :root{--nav-sub-mobile-padding:8px;--search-typename-width:6.75rem;--desktop-sidebar-width:200px;--src-sidebar-width:300px;--desktop-sidebar-z-index:100;--sidebar-elems-left-padding:24px;--clipboard-image:url('data:image/svg+xml,\ +\ +\ +');--copy-path-height:34px;--copy-path-width:33px;--checkmark-image:url('data:image/svg+xml,\ +\ +');--button-left-margin:4px;--button-border-radius:2px;--toolbar-button-border-radius:6px;--code-block-border-radius:6px;--impl-items-indent:0.3em;--docblock-indent:24px;}@font-face {font-family:'Fira Sans';font-style:normal;font-weight:400;src:local('Fira Sans'),url("FiraSans-Regular-0fe48ade.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Fira Sans';font-style:normal;font-weight:500;src:local('Fira Sans Medium'),url("FiraSans-Medium-e1aa3f0a.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:normal;font-weight:400;src:local('Source Serif 4'),url("SourceSerif4-Regular-6b053e98.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:italic;font-weight:400;src:local('Source Serif 4 Italic'),url("SourceSerif4-It-ca3b17ed.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:normal;font-weight:700;src:local('Source Serif 4 Bold'),url("SourceSerif4-Bold-6d4fd4c0.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:400;src:url("SourceCodePro-Regular-8badfe75.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:italic;font-weight:400;src:url("SourceCodePro-It-fc8b9304.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:600;src:url("SourceCodePro-Semibold-aa29a496.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'NanumBarunGothic';src:url("NanumBarunGothic-13b3dcba.ttf.woff2") format("woff2");font-display:swap;unicode-range:U+AC00-D7AF,U+1100-11FF,U+3130-318F,U+A960-A97F,U+D7B0-D7FF;}*{box-sizing:border-box;}body{font:1rem/1.5 "Source Serif 4",NanumBarunGothic,serif;margin:0;position:relative;overflow-wrap:break-word;overflow-wrap:anywhere;font-feature-settings:"kern","liga";background-color:var(--main-background-color);color:var(--main-color);}h1{font-size:1.5rem;}h2{font-size:1.375rem;}h3{font-size:1.25rem;}h1,h2,h3,h4,h5,h6{font-weight:500;}h1,h2,h3,h4{margin:25px 0 15px 0;padding-bottom:6px;}.docblock h3,.docblock h4,h5,h6{margin:15px 0 5px 0;}.docblock>h2:first-child,.docblock>h3:first-child,.docblock>h4:first-child,.docblock>h5:first-child,.docblock>h6:first-child{margin-top:0;}.main-heading h1{margin:0;padding:0;grid-area:main-heading-h1;overflow-wrap:break-word;overflow-wrap:anywhere;}.main-heading{position:relative;display:grid;grid-template-areas:"main-heading-breadcrumbs main-heading-breadcrumbs" "main-heading-h1 main-heading-toolbar" "main-heading-sub-heading main-heading-toolbar";grid-template-columns:minmax(105px,1fr) minmax(0,max-content);grid-template-rows:minmax(25px,min-content) min-content min-content;padding-bottom:6px;margin-bottom:15px;}.rustdoc-breadcrumbs{grid-area:main-heading-breadcrumbs;line-height:1.25;display:flex;flex-wrap:wrap;align-items:end;padding-top:5px;}.rustdoc-breadcrumbs a{padding:4px 0;margin:-4px 0;z-index:1;}.content h2,.top-doc .docblock>h3,.top-doc .docblock>h4{border-bottom:1px solid var(--headings-border-bottom-color);}h1,h2{line-height:1.25;padding-top:3px;padding-bottom:9px;}h3.code-header{font-size:1.125rem;}h4.code-header{font-size:1rem;}.code-header{font-weight:600;margin:0;padding:0;white-space:pre-wrap;}.structfield,.sub-variant-field{margin:0.6em 0;}#crate-search,h1,h2,h3,h4,h5,h6,.sidebar,.mobile-topbar,.search-input,.search-results .result-name,.item-name>a,.out-of-band,.sub-heading,span.since,a.src,rustdoc-toolbar,summary.hideme,.scraped-example-list,.rustdoc-breadcrumbs,ul.all-items{font-family:"Fira Sans",Arial,NanumBarunGothic,sans-serif;}#toggle-all-docs,a.anchor,.section-header a,#src-sidebar a,.rust a,.sidebar h2 a,.sidebar h3 a,.mobile-topbar h2 a,h1 a,.search-results a,.search-results li,.stab,.result-name i{color:var(--main-color);}span.enum,a.enum,span.struct,a.struct,span.union,a.union,span.primitive,a.primitive,span.type,a.type,span.foreigntype,a.foreigntype{color:var(--type-link-color);}span.trait,a.trait,span.traitalias,a.traitalias{color:var(--trait-link-color);}span.associatedtype,a.associatedtype,span.constant,a.constant,span.static,a.static{color:var(--assoc-item-link-color);}span.fn,a.fn,span.method,a.method,span.tymethod,a.tymethod{color:var(--function-link-color);}span.attr,a.attr,span.derive,a.derive,span.macro,a.macro{color:var(--macro-link-color);}span.mod,a.mod{color:var(--mod-link-color);}span.keyword,a.keyword{color:var(--keyword-link-color);}a{color:var(--link-color);text-decoration:none;}ol,ul{padding-left:24px;}ul ul,ol ul,ul ol,ol ol{margin-bottom:.625em;}p,.docblock>.warning{margin:0 0 .75em 0;}p:last-child,.docblock>.warning:last-child{margin:0;}button{padding:1px 6px;cursor:pointer;}button#toggle-all-docs{padding:0;background:none;border:none;-webkit-appearance:none;opacity:1;}.rustdoc{display:flex;flex-direction:row;flex-wrap:nowrap;}main{position:relative;flex-grow:1;padding:10px 15px 40px 45px;min-width:0;}.src main{padding:15px;}.width-limiter{max-width:960px;margin-right:auto;}details:not(.toggle) summary{margin-bottom:.6em;}code,pre,.code-header,.type-signature{font-family:"Source Code Pro",monospace;}.docblock code,.docblock-short code{border-radius:3px;padding:0 0.125em;}.docblock pre code,.docblock-short pre code{padding:0;}pre{padding:14px;line-height:1.5;}pre.item-decl{overflow-x:auto;}.item-decl .type-contents-toggle{contain:initial;}.src .content pre{padding:20px;}.rustdoc.src .example-wrap .src-line-numbers{padding:20px 0 20px 4px;}img{max-width:100%;}.logo-container{line-height:0;display:block;}.rust-logo{filter:var(--rust-logo-filter);}.sidebar{font-size:0.875rem;flex:0 0 var(--desktop-sidebar-width);width:var(--desktop-sidebar-width);overflow-y:scroll;overscroll-behavior:contain;position:sticky;height:100vh;top:0;left:0;z-index:var(--desktop-sidebar-z-index);}.rustdoc.src .sidebar{flex-basis:50px;width:50px;border-right:1px solid;overflow-x:hidden;overflow-y:hidden;}.hide-sidebar .sidebar,.hide-sidebar .sidebar-resizer{display:none;}.sidebar-resizer{touch-action:none;width:9px;cursor:col-resize;z-index:calc(var(--desktop-sidebar-z-index) + 1);position:fixed;height:100%;left:calc(var(--desktop-sidebar-width) + 1px);}.rustdoc.src .sidebar-resizer{left:49px;}.src-sidebar-expanded .src .sidebar-resizer{left:var(--src-sidebar-width);}.sidebar-resizing{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;}.sidebar-resizing*{cursor:col-resize !important;}.sidebar-resizing .sidebar{position:fixed;}.sidebar-resizing>body{padding-left:var(--resizing-sidebar-width);}.sidebar-resizer:hover,.sidebar-resizer:active,.sidebar-resizer:focus,.sidebar-resizer.active{width:10px;margin:0;left:var(--desktop-sidebar-width);border-left:solid 1px var(--sidebar-resizer-hover);}.src-sidebar-expanded .rustdoc.src .sidebar-resizer:hover,.src-sidebar-expanded .rustdoc.src .sidebar-resizer:active,.src-sidebar-expanded .rustdoc.src .sidebar-resizer:focus,.src-sidebar-expanded .rustdoc.src .sidebar-resizer.active{left:calc(var(--src-sidebar-width) - 1px);}@media (pointer:coarse){.sidebar-resizer{display:none !important;}}.sidebar-resizer.active{padding:0 140px;width:2px;margin-left:-140px;border-left:none;}.sidebar-resizer.active:before{border-left:solid 2px var(--sidebar-resizer-active);display:block;height:100%;content:"";}.sidebar,.mobile-topbar,.sidebar-menu-toggle,#src-sidebar{background-color:var(--sidebar-background-color);}.src .sidebar>*{visibility:hidden;}.src-sidebar-expanded .src .sidebar{overflow-y:auto;flex-basis:var(--src-sidebar-width);width:var(--src-sidebar-width);}.src-sidebar-expanded .src .sidebar>*{visibility:visible;}#all-types{margin-top:1em;}*{scrollbar-width:initial;scrollbar-color:var(--scrollbar-color);}.sidebar{scrollbar-width:thin;scrollbar-color:var(--scrollbar-color);}::-webkit-scrollbar{width:12px;}.sidebar::-webkit-scrollbar{width:8px;}::-webkit-scrollbar-track{-webkit-box-shadow:inset 0;background-color:var(--scrollbar-track-background-color);}.sidebar::-webkit-scrollbar-track{background-color:var(--scrollbar-track-background-color);}::-webkit-scrollbar-thumb,.sidebar::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb-background-color);}.hidden{display:none !important;}.logo-container>img{height:48px;width:48px;}ul.block,.block li,.block ul{padding:0;margin:0;list-style:none;}.block ul a{padding-left:1rem;}.sidebar-elems a,.sidebar>h2 a{display:block;padding:0.25rem;margin-right:0.25rem;border-left:solid var(--sidebar-elems-left-padding) transparent;margin-left:calc(-0.25rem - var(--sidebar-elems-left-padding));background-clip:border-box;}.hide-toc #rustdoc-toc,.hide-toc .in-crate{display:none;}.hide-modnav #rustdoc-modnav{display:none;}.sidebar h2{text-wrap:balance;overflow-wrap:anywhere;padding:0;margin:0.7rem 0;}.sidebar h3{text-wrap:balance;overflow-wrap:anywhere;font-size:1.125rem;padding:0;margin:0;}.sidebar-elems,.sidebar>.version,.sidebar>h2{padding-left:var(--sidebar-elems-left-padding);}.sidebar a{color:var(--sidebar-link-color);}.sidebar .current,.sidebar .current a,.sidebar-crate a.logo-container:hover+h2 a,.sidebar a:hover:not(.logo-container){background-color:var(--sidebar-current-link-background-color);}.sidebar-elems .block{margin-bottom:2em;}.sidebar-elems .block li a{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;}.sidebar-crate{display:flex;align-items:center;justify-content:center;margin:14px 32px 1rem;row-gap:10px;column-gap:32px;flex-wrap:wrap;}.sidebar-crate h2{flex-grow:1;margin:0 -8px;align-self:start;}.sidebar-crate .logo-container{margin:0 calc(-16px - var(--sidebar-elems-left-padding));padding:0 var(--sidebar-elems-left-padding);text-align:center;}.sidebar-crate .logo-container img{margin-top:-16px;border-top:solid 16px transparent;box-sizing:content-box;position:relative;background-clip:border-box;z-index:1;}.sidebar-crate h2 a{display:block;border-left:solid var(--sidebar-elems-left-padding) transparent;background-clip:border-box;margin:0 calc(-24px + 0.25rem) 0 calc(-0.2rem - var(--sidebar-elems-left-padding));padding:calc((16px - 0.57rem ) / 2 ) 0.25rem;padding-left:0.2rem;}.sidebar-crate h2 .version{display:block;font-weight:normal;font-size:1rem;overflow-wrap:break-word;}.sidebar-crate+.version{margin-top:-1rem;margin-bottom:1rem;}.mobile-topbar{display:none;}.rustdoc .example-wrap{display:flex;position:relative;margin-bottom:10px;}.rustdoc .example-wrap>pre,.rustdoc .scraped-example .src-line-numbers,.rustdoc .scraped-example .src-line-numbers>pre{border-radius:6px;}.rustdoc .example-wrap>.example-line-numbers,.rustdoc .scraped-example .src-line-numbers,.rustdoc .scraped-example .src-line-numbers>pre{border-top-right-radius:0;border-bottom-right-radius:0;}.rustdoc .example-wrap>.example-line-numbers+pre,.rustdoc .scraped-example .rust{border-top-left-radius:0;border-bottom-left-radius:0;}.rustdoc .scraped-example{position:relative;}.rustdoc .example-wrap:last-child{margin-bottom:0px;}.rustdoc .example-wrap pre{margin:0;flex-grow:1;}.scraped-example:not(.expanded) .example-wrap{max-height:calc(1.5em * 5 + 10px);}.more-scraped-examples .scraped-example:not(.expanded) .example-wrap{max-height:calc(1.5em * 10 + 10px);}.rustdoc:not(.src) .scraped-example:not(.expanded) .src-line-numbers,.rustdoc:not(.src) .scraped-example:not(.expanded) .src-line-numbers>pre,.rustdoc:not(.src) .scraped-example:not(.expanded) pre.rust{padding-bottom:0;overflow:auto hidden;}.rustdoc:not(.src) .scraped-example .src-line-numbers{padding-top:0;}.rustdoc:not(.src) .scraped-example.expanded .src-line-numbers{padding-bottom:0;}.rustdoc:not(.src) .example-wrap pre{overflow:auto;}.rustdoc .example-wrap pre.example-line-numbers,.rustdoc .example-wrap .src-line-numbers{min-width:fit-content;flex-grow:0;text-align:right;-webkit-user-select:none;user-select:none;padding:14px 8px;padding-right:2px;color:var(--src-line-numbers-span-color);}.rustdoc .scraped-example .example-wrap .src-line-numbers{padding:0;}.rustdoc .src-line-numbers pre{padding:14px 0;}.src-line-numbers a,.src-line-numbers span{color:var(--src-line-numbers-span-color);padding:0 8px;}.src-line-numbers :target{background-color:transparent;border-right:none;padding:0 8px;}.src-line-numbers .line-highlighted{background-color:var(--src-line-number-highlighted-background-color);}.search-loading{text-align:center;}.docblock-short{overflow-wrap:break-word;overflow-wrap:anywhere;}.docblock :not(pre)>code,.docblock-short code{white-space:pre-wrap;}.top-doc .docblock h2{font-size:1.375rem;}.top-doc .docblock h3{font-size:1.25rem;}.top-doc .docblock h4,.top-doc .docblock h5{font-size:1.125rem;}.top-doc .docblock h6{font-size:1rem;}.docblock h5{font-size:1rem;}.docblock h6{font-size:0.875rem;}.docblock{margin-left:var(--docblock-indent);position:relative;}.docblock>:not(.more-examples-toggle):not(.example-wrap){max-width:100%;overflow-x:auto;}.sub-heading{font-size:1rem;flex-grow:0;grid-area:main-heading-sub-heading;line-height:1.25;padding-bottom:4px;}.main-heading rustdoc-toolbar,.main-heading .out-of-band{grid-area:main-heading-toolbar;}rustdoc-toolbar{display:flex;flex-direction:row;flex-wrap:nowrap;min-height:60px;}.docblock code,.docblock-short code,pre,.rustdoc.src .example-wrap,.example-wrap .src-line-numbers{background-color:var(--code-block-background-color);border-radius:var(--code-block-border-radius);}#main-content{position:relative;}.docblock table{margin:.5em 0;border-collapse:collapse;}.docblock table td,.docblock table th{padding:.5em;border:1px solid var(--border-color);}.docblock table tbody tr:nth-child(2n){background:var(--table-alt-row-background-color);}.docblock .stab,.docblock-short .stab,.docblock p code{display:inline-block;}.docblock li{margin-bottom:.4em;}.docblock li p:not(:last-child){margin-bottom:.3em;}div.where{white-space:pre-wrap;font-size:0.875rem;}.item-info{display:block;margin-left:var(--docblock-indent);}.impl-items>.item-info{margin-left:calc(var(--docblock-indent) + var(--impl-items-indent));}.item-info code{font-size:0.875rem;}#main-content>.item-info{margin-left:0;}nav.sub{flex-grow:1;flex-flow:row nowrap;margin:4px 0 0 0;display:flex;align-items:center;}.search-form{position:relative;display:flex;height:34px;flex-grow:1;margin-bottom:4px;}.src nav.sub{margin:0 0 -10px 0;}.section-header{display:block;position:relative;}.section-header:hover>.anchor,.impl:hover>.anchor,.trait-impl:hover>.anchor,.variant:hover>.anchor{display:initial;}.anchor{display:none;position:absolute;left:-0.5em;background:none !important;}.anchor.field{left:-5px;}.section-header>.anchor{left:-15px;padding-right:8px;}h2.section-header>.anchor{padding-right:6px;}a.doc-anchor{color:var(--main-color);display:none;position:absolute;left:-17px;padding-right:10px;padding-left:3px;}*:hover>.doc-anchor{display:block;}.top-doc>.docblock>*:first-child>.doc-anchor{display:none !important;}.main-heading a:hover,.example-wrap .rust a:hover,.all-items a:hover,.docblock a:not(.scrape-help):not(.tooltip):hover:not(.doc-anchor),.docblock-short a:not(.scrape-help):not(.tooltip):hover,.item-info a{text-decoration:underline;}.crate.block li.current a{font-weight:500;}table,.item-table{overflow-wrap:break-word;}.item-table{display:table;padding:0;margin:0;width:100%;}.item-table>li{display:table-row;}.item-table>li>div{display:table-cell;}.item-table>li>.item-name{padding-right:1.25rem;}.search-results-title{margin-top:0;white-space:nowrap;display:flex;align-items:baseline;}.search-results-title+.sub-heading{color:var(--main-color);display:flex;align-items:baseline;white-space:nowrap;}#crate-search-div{position:relative;min-width:0;}#crate-search{padding:0 23px 0 4px;max-width:100%;text-overflow:ellipsis;border:1px solid var(--border-color);border-radius:4px;outline:none;cursor:pointer;-moz-appearance:none;-webkit-appearance:none;text-indent:0.01px;background-color:var(--main-background-color);color:inherit;line-height:1.5;font-weight:500;}#crate-search:hover,#crate-search:focus{border-color:var(--crate-search-hover-border);}#crate-search-div::after{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0;content:"";background-repeat:no-repeat;background-size:20px;background-position:calc(100% - 2px) 56%;background-image:url('data:image/svg+xml, \ + ');filter:var(--crate-search-div-filter);}#crate-search-div:hover::after,#crate-search-div:focus-within::after{filter:var(--crate-search-div-hover-filter);}#crate-search>option{font-size:1rem;}.search-input{-webkit-appearance:none;outline:none;border:1px solid var(--border-color);border-radius:2px;padding:8px;font-size:1rem;flex-grow:1;background-color:var(--button-background-color);color:var(--search-color);}.search-input:focus{border-color:var(--search-input-focused-border-color);}.search-results{display:none;}.search-results.active{display:block;margin:0;padding:0;}.search-results>a{display:grid;grid-template-areas:"search-result-name search-result-desc" "search-result-type-signature search-result-type-signature";grid-template-columns:.6fr .4fr;margin-left:2px;margin-right:2px;border-bottom:1px solid var(--search-result-border-color);column-gap:1em;}.search-results>a>div.desc{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;grid-area:search-result-desc;}.search-results a:hover,.search-results a:focus{background-color:var(--search-result-link-focus-background-color);}.search-results .result-name{display:flex;align-items:center;justify-content:start;grid-area:search-result-name;}.search-results .result-name .alias{color:var(--search-results-alias-color);}.search-results .result-name .grey{color:var(--search-results-grey-color);}.search-results .result-name .typename{color:var(--search-results-grey-color);font-size:0.875rem;width:var(--search-typename-width);}.search-results .result-name .path{word-break:break-all;max-width:calc(100% - var(--search-typename-width));display:inline-block;}.search-results .result-name .path>*{display:inline;}.search-results .type-signature{grid-area:search-result-type-signature;white-space:pre-wrap;}.popover{position:absolute;top:100%;right:0;z-index:calc(var(--desktop-sidebar-z-index) + 1);margin-top:7px;border-radius:3px;border:1px solid var(--border-color);background-color:var(--main-background-color);color:var(--main-color);--popover-arrow-offset:11px;}.popover::before{content:'';position:absolute;right:var(--popover-arrow-offset);border:solid var(--border-color);border-width:1px 1px 0 0;background-color:var(--main-background-color);padding:4px;transform:rotate(-45deg);top:-5px;}.setting-line{margin:1.2em 0.6em;}.setting-radio input,.setting-check input{margin-right:0.3em;height:1.2rem;width:1.2rem;border:2px solid var(--settings-input-border-color);outline:none;-webkit-appearance:none;cursor:pointer;}.setting-radio input{border-radius:50%;}.setting-radio span,.setting-check span{padding-bottom:1px;}.setting-radio{margin-top:0.1em;margin-bottom:0.1em;min-width:3.8em;padding:0.3em;display:inline-flex;align-items:center;cursor:pointer;}.setting-radio+.setting-radio{margin-left:0.5em;}.setting-check{margin-right:20px;display:flex;align-items:center;cursor:pointer;}.setting-radio input:checked{box-shadow:inset 0 0 0 3px var(--main-background-color);background-color:var(--settings-input-color);}.setting-check input:checked{background-color:var(--settings-input-color);border-width:1px;content:url('data:image/svg+xml,\ + \ + ');}.setting-radio input:focus,.setting-check input:focus{box-shadow:0 0 1px 1px var(--settings-input-color);}.setting-radio input:checked:focus{box-shadow:inset 0 0 0 3px var(--main-background-color),0 0 2px 2px var(--settings-input-color);}.setting-radio input:hover,.setting-check input:hover{border-color:var(--settings-input-color) !important;}#settings.popover{--popover-arrow-offset:202px;top:calc(100% - 16px);}#help.popover{max-width:600px;--popover-arrow-offset:118px;top:calc(100% - 16px);}#help dt{float:left;clear:left;margin-right:0.5rem;}#help dd{margin-bottom:0.5rem;}#help span.top,#help span.bottom{text-align:center;display:block;font-size:1.125rem;padding:0 0.5rem;text-wrap-style:balance;}#help span.top{margin:10px 0;border-bottom:1px solid var(--border-color);padding-bottom:4px;margin-bottom:6px;}#help span.bottom{clear:both;border-top:1px solid var(--border-color);}.side-by-side{display:flex;margin-bottom:20px;}.side-by-side>div{width:50%;padding:0 20px 0 17px;}.item-info .stab{display:block;padding:3px;margin-bottom:5px;}.item-name .stab{margin-left:0.3125em;}.stab{padding:0 2px;font-size:0.875rem;font-weight:normal;color:var(--main-color);background-color:var(--stab-background-color);width:fit-content;white-space:pre-wrap;border-radius:3px;display:inline;vertical-align:baseline;}.stab.portability>code{background:none;color:var(--stab-code-color);}.stab .emoji,.item-info .stab::before{font-size:1.25rem;}.stab .emoji{margin-right:0.3rem;}.item-info .stab::before{content:"\0";width:0;display:inline-block;color:transparent;}.emoji{text-shadow:1px 0 0 black,-1px 0 0 black,0 1px 0 black,0 -1px 0 black;}.since{font-weight:normal;font-size:initial;}.rightside{padding-left:12px;float:right;}.rightside:not(a),.out-of-band,.sub-heading,rustdoc-toolbar{color:var(--right-side-color);}pre.rust{tab-size:4;-moz-tab-size:4;}pre.rust .kw{color:var(--code-highlight-kw-color);}pre.rust .kw-2{color:var(--code-highlight-kw-2-color);}pre.rust .lifetime{color:var(--code-highlight-lifetime-color);}pre.rust .prelude-ty{color:var(--code-highlight-prelude-color);}pre.rust .prelude-val{color:var(--code-highlight-prelude-val-color);}pre.rust .string{color:var(--code-highlight-string-color);}pre.rust .number{color:var(--code-highlight-number-color);}pre.rust .bool-val{color:var(--code-highlight-literal-color);}pre.rust .self{color:var(--code-highlight-self-color);}pre.rust .attr{color:var(--code-highlight-attribute-color);}pre.rust .macro,pre.rust .macro-nonterminal{color:var(--code-highlight-macro-color);}pre.rust .question-mark{font-weight:bold;color:var(--code-highlight-question-mark-color);}pre.rust .comment{color:var(--code-highlight-comment-color);}pre.rust .doccomment{color:var(--code-highlight-doc-comment-color);}.rustdoc.src .example-wrap pre.rust a{background:var(--codeblock-link-background);}.example-wrap.compile_fail,.example-wrap.should_panic{border-left:2px solid var(--codeblock-error-color);}.ignore.example-wrap{border-left:2px solid var(--codeblock-ignore-color);}.example-wrap.compile_fail:hover,.example-wrap.should_panic:hover{border-left:2px solid var(--codeblock-error-hover-color);}.example-wrap.ignore:hover{border-left:2px solid var(--codeblock-ignore-hover-color);}.example-wrap.compile_fail .tooltip,.example-wrap.should_panic .tooltip{color:var(--codeblock-error-color);}.example-wrap.ignore .tooltip{color:var(--codeblock-ignore-color);}.example-wrap.compile_fail:hover .tooltip,.example-wrap.should_panic:hover .tooltip{color:var(--codeblock-error-hover-color);}.example-wrap.ignore:hover .tooltip{color:var(--codeblock-ignore-hover-color);}.example-wrap .tooltip{position:absolute;display:block;left:-25px;top:5px;margin:0;line-height:1;}.example-wrap.compile_fail .tooltip,.example-wrap.should_panic .tooltip,.example-wrap.ignore .tooltip{font-weight:bold;font-size:1.25rem;}.content .docblock .warning{border-left:2px solid var(--warning-border-color);padding:14px;position:relative;overflow-x:visible !important;}.content .docblock .warning::before{color:var(--warning-border-color);content:"ⓘ";position:absolute;left:-25px;top:5px;font-weight:bold;font-size:1.25rem;}.top-doc>.docblock>.warning:first-child::before{top:20px;}.example-wrap>a.test-arrow,.example-wrap .button-holder{visibility:hidden;position:absolute;top:4px;right:4px;z-index:1;}a.test-arrow{height:var(--copy-path-height);padding:6px 4px 0 11px;}a.test-arrow::before{content:url('data:image/svg+xml,');}.example-wrap .button-holder{display:flex;}@media not (pointer:coarse){.example-wrap:hover>a.test-arrow,.example-wrap:hover>.button-holder{visibility:visible;}}.example-wrap .button-holder.keep-visible{visibility:visible;}.example-wrap .button-holder>*{background:var(--main-background-color);cursor:pointer;border-radius:var(--button-border-radius);height:var(--copy-path-height);width:var(--copy-path-width);border:0;color:var(--code-example-button-color);}.example-wrap .button-holder>*:hover{color:var(--code-example-button-hover-color);}.example-wrap .button-holder>*:not(:first-child){margin-left:var(--button-left-margin);}.example-wrap .button-holder .copy-button{padding:2px 0 0 4px;}.example-wrap .button-holder .copy-button::before,.example-wrap .test-arrow::before{filter:var(--copy-path-img-filter);}.example-wrap .button-holder .copy-button::before{content:var(--clipboard-image);}.example-wrap .button-holder .copy-button:hover::before,.example-wrap .test-arrow:hover::before{filter:var(--copy-path-img-hover-filter);}.example-wrap .button-holder .copy-button.clicked::before{content:var(--checkmark-image);padding-right:5px;}.code-attribute{font-weight:300;color:var(--code-attribute-color);}.item-spacer{width:100%;height:12px;display:block;}.main-heading span.since::before{content:"Since ";}.sub-variant h4{font-size:1rem;font-weight:400;margin-top:0;margin-bottom:0;}.sub-variant{margin-left:24px;margin-bottom:40px;}.sub-variant>.sub-variant-field{margin-left:24px;}@keyframes targetfadein{from{background-color:var(--main-background-color);}10%{background-color:var(--target-border-color);}to{background-color:var(--target-background-color);}}:target{padding-right:3px;background-color:var(--target-background-color);border-right:3px solid var(--target-border-color);}.code-header a.tooltip{color:inherit;margin-right:15px;position:relative;}.code-header a.tooltip:hover{color:var(--link-color);}a.tooltip:hover::after{position:absolute;top:calc(100% - 10px);left:-15px;right:-15px;height:20px;content:"\00a0";}@media not (prefers-reduced-motion){:target{animation:0.65s cubic-bezier(0,0,0.1,1.0) 0.1s targetfadein;}.fade-out{opacity:0;transition:opacity 0.45s cubic-bezier(0,0,0.1,1.0);}}.popover.tooltip .content{margin:0.25em 0.5em;}.popover.tooltip .content pre,.popover.tooltip .content code{background:transparent;margin:0;padding:0;font-size:1.25rem;white-space:pre-wrap;}.popover.tooltip .content>h3:first-child{margin:0 0 5px 0;}.search-failed{text-align:center;margin-top:20px;display:none;}.search-failed.active{display:block;}.search-failed>ul{text-align:left;max-width:570px;margin-left:auto;margin-right:auto;}#search-tabs{margin-top:0.25rem;display:flex;flex-direction:row;gap:1px;margin-bottom:4px;}#search-tabs button{text-align:center;font-size:1.125rem;border:0;border-top:2px solid;flex:1;line-height:1.5;color:inherit;}#search-tabs button:not(.selected){background-color:var(--search-tab-button-not-selected-background);border-top-color:var(--search-tab-button-not-selected-border-top-color);}#search-tabs button:hover,#search-tabs button.selected{background-color:var(--search-tab-button-selected-background);border-top-color:var(--search-tab-button-selected-border-top-color);}#search-tabs .count{font-size:1rem;font-variant-numeric:tabular-nums;color:var(--search-tab-title-count-color);}#search .error code{border-radius:3px;background-color:var(--search-error-code-background-color);}.search-corrections{font-weight:normal;}#src-sidebar{width:100%;overflow:auto;}#src-sidebar div.files>a:hover,details.dir-entry summary:hover,#src-sidebar div.files>a:focus,details.dir-entry summary:focus{background-color:var(--src-sidebar-background-hover);}#src-sidebar div.files>a.selected{background-color:var(--src-sidebar-background-selected);}.src-sidebar-title{position:sticky;top:0;display:flex;padding:8px 8px 0 48px;margin-bottom:7px;background:var(--sidebar-background-color);border-bottom:1px solid var(--border-color);}#settings-menu,#help-button,button#toggle-all-docs{margin-left:var(--button-left-margin);display:flex;line-height:1.25;min-width:14px;}#sidebar-button{display:none;line-height:0;}.hide-sidebar #sidebar-button,.src #sidebar-button{display:flex;margin-right:4px;position:fixed;left:6px;height:34px;width:34px;background-color:var(--main-background-color);z-index:1;}.src #sidebar-button{left:8px;z-index:calc(var(--desktop-sidebar-z-index) + 1);}.hide-sidebar .src #sidebar-button{position:static;}#settings-menu>a,#help-button>a,#sidebar-button>a,button#toggle-all-docs{display:flex;align-items:center;justify-content:center;flex-direction:column;border:1px solid transparent;border-radius:var(--button-border-radius);color:var(--main-color);}#settings-menu>a,#help-button>a,button#toggle-all-docs{width:80px;border-radius:var(--toolbar-button-border-radius);}#settings-menu>a,#help-button>a{min-width:0;}#sidebar-button>a{background-color:var(--button-background-color);border-color:var(--border-color);width:33px;}#settings-menu>a:hover,#settings-menu>a:focus-visible,#help-button>a:hover,#help-button>a:focus-visible,#sidebar-button>a:hover,#sidebar-button>a:focus-visible,button#toggle-all-docs:hover,button#toggle-all-docs:focus-visible{border-color:var(--settings-button-border-focus);text-decoration:none;}#settings-menu>a:before{content:url('data:image/svg+xml,\ + ');width:18px;height:18px;filter:var(--settings-menu-filter);}button#toggle-all-docs:before{content:url('data:image/svg+xml,\ + ');width:18px;height:18px;filter:var(--settings-menu-filter);}#help-button>a:before{content:url('data:image/svg+xml,\ + \ + ?');width:18px;height:18px;filter:var(--settings-menu-filter);}button#toggle-all-docs:before,#help-button>a:before,#settings-menu>a:before{filter:var(--settings-menu-filter);margin:8px;}@media not (pointer:coarse){button#toggle-all-docs:hover:before,#help-button>a:hover:before,#settings-menu>a:hover:before{filter:var(--settings-menu-hover-filter);}}button[disabled]#toggle-all-docs{opacity:0.25;border:solid 1px var(--main-background-color);background-size:cover;}button[disabled]#toggle-all-docs:hover{border:solid 1px var(--main-background-color);cursor:not-allowed;}rustdoc-toolbar span.label{font-size:1rem;flex-grow:1;padding-bottom:4px;}#sidebar-button>a:before{content:url('data:image/svg+xml,\ + \ + \ + ');width:22px;height:22px;}#copy-path{color:var(--copy-path-button-color);background:var(--main-background-color);height:var(--copy-path-height);width:var(--copy-path-width);margin-left:10px;padding:0;padding-left:2px;border:0;font-size:0;}#copy-path::before{filter:var(--copy-path-img-filter);content:var(--clipboard-image);}#copy-path:hover::before{filter:var(--copy-path-img-hover-filter);}#copy-path.clicked::before{content:var(--checkmark-image);}@keyframes rotating{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}#settings-menu.rotate>a img{animation:rotating 2s linear infinite;}kbd{display:inline-block;padding:3px 5px;font:15px monospace;line-height:10px;vertical-align:middle;border:solid 1px var(--border-color);border-radius:3px;color:var(--kbd-color);background-color:var(--kbd-background);box-shadow:inset 0 -1px 0 var(--kbd-box-shadow-color);}ul.all-items>li{list-style:none;}details.dir-entry{padding-left:4px;}details.dir-entry>summary{margin:0 0 0 -4px;padding:0 0 0 4px;cursor:pointer;}details.dir-entry div.folders,details.dir-entry div.files{padding-left:23px;}details.dir-entry a{display:block;}details.toggle{contain:layout;position:relative;}details.big-toggle{contain:inline-size;}details.toggle>summary.hideme{cursor:pointer;font-size:1rem;}details.toggle>summary{list-style:none;outline:none;}details.toggle>summary::-webkit-details-marker,details.toggle>summary::marker{display:none;}details.toggle>summary.hideme>span{margin-left:9px;}details.toggle>summary::before{background:url('data:image/svg+xml,\ + ');content:"";cursor:pointer;width:16px;height:16px;display:inline-block;vertical-align:middle;opacity:.5;filter:var(--toggle-filter);}details.toggle>summary.hideme>span,.more-examples-toggle summary,.more-examples-toggle .hide-more{color:var(--toggles-color);}details.toggle>summary::after{content:"Expand";overflow:hidden;width:0;height:0;position:absolute;}details.toggle>summary.hideme::after{content:"";}details.toggle>summary:focus::before,details.toggle>summary:hover::before{opacity:1;}details.toggle>summary:focus-visible::before{outline:1px dotted #000;outline-offset:1px;}details.non-exhaustive{margin-bottom:8px;}details.toggle>summary.hideme::before{position:relative;}details.toggle>summary:not(.hideme)::before{position:absolute;left:-24px;top:4px;}.impl-items>details.toggle>summary:not(.hideme)::before{position:absolute;left:-24px;}.impl-items>*:not(.item-info),.implementors-toggle>.docblock{margin-left:var(--impl-items-indent);}details.big-toggle>summary:not(.hideme)::before{left:-34px;top:9px;}details.toggle[open] >summary.hideme{position:absolute;}details.toggle[open] >summary.hideme>span{display:none;}details.toggle[open] >summary::before{background:url('data:image/svg+xml,\ + ');}details.toggle[open] >summary::after{content:"Collapse";}details.toggle:not([open])>summary .docblock{max-height:calc(1.5em + 0.75em);overflow-y:hidden;}details.toggle:not([open])>summary .docblock>:first-child{max-width:100%;overflow:hidden;width:fit-content;white-space:nowrap;position:relative;padding-right:1em;}details.toggle:not([open])>summary .docblock>:first-child::after{content:"…";position:absolute;right:0;top:0;bottom:0;z-index:1;background-color:var(--main-background-color);font:1rem/1.5 "Source Serif 4",NanumBarunGothic,serif;padding-left:0.2em;}details.toggle:not([open])>summary .docblock>div:first-child::after{padding-top:calc(1.5em + 0.75em - 1.2rem);}details.toggle>summary .docblock{margin-top:0.75em;}.docblock summary>*{display:inline-block;}.docblock>.example-wrap:first-child .tooltip{margin-top:16px;}.src #sidebar-button>a:before,.sidebar-menu-toggle:before{content:url('data:image/svg+xml,\ + ');opacity:0.75;}.sidebar-menu-toggle:hover:before,.sidebar-menu-toggle:active:before,.sidebar-menu-toggle:focus:before{opacity:1;}.src #sidebar-button>a:before{content:url('data:image/svg+xml,\ + \ + \ + ');opacity:0.75;}@media (max-width:850px){#search-tabs .count{display:block;}.side-by-side{flex-direction:column-reverse;}.side-by-side>div{width:auto;}}@media (max-width:700px){:root{--impl-items-indent:0.7em;}*[id]{scroll-margin-top:45px;}#copy-path{width:0;visibility:hidden;}rustdoc-toolbar span.label{display:none;}#settings-menu>a,#help-button>a,button#toggle-all-docs{width:33px;}#settings.popover{--popover-arrow-offset:86px;}#help.popover{--popover-arrow-offset:48px;}.rustdoc{display:block;}main{padding-left:15px;padding-top:0px;}.sidebar .logo-container,.sidebar .location,.sidebar-resizer{display:none;}.sidebar{position:fixed;top:45px;left:-1000px;z-index:11;height:calc(100vh - 45px);width:200px;}.src main,.rustdoc.src .sidebar{top:0;padding:0;height:100vh;border:0;}.src .search-form{margin-left:40px;}.src .main-heading{margin-left:8px;}.hide-sidebar .search-form{margin-left:32px;}.hide-sidebar .src .search-form{margin-left:0;}.sidebar.shown,.src-sidebar-expanded .src .sidebar,.rustdoc:not(.src) .sidebar:focus-within{left:0;}.mobile-topbar h2{padding-bottom:0;margin:auto 0.5em auto auto;overflow:hidden;font-size:24px;white-space:nowrap;text-overflow:ellipsis;}.mobile-topbar .logo-container>img{max-width:35px;max-height:35px;margin:5px 0 5px 20px;}.mobile-topbar{display:flex;flex-direction:row;position:sticky;z-index:10;font-size:2rem;height:45px;width:100%;left:0;top:0;}.hide-sidebar .mobile-topbar{display:none;}.sidebar-menu-toggle{width:45px;border:none;line-height:0;}.hide-sidebar .sidebar-menu-toggle{display:none;}.sidebar-elems{margin-top:1em;}.anchor{display:none !important;}#main-content>details.toggle>summary::before,#main-content>div>details.toggle>summary::before{left:-11px;}#sidebar-button>a:before{content:url('data:image/svg+xml,\ + \ + \ + ');width:22px;height:22px;}.sidebar-menu-toggle:before{filter:var(--mobile-sidebar-menu-filter);}.sidebar-menu-toggle:hover{background:var(--main-background-color);}.item-table,.item-row,.item-table>li,.item-table>li>div,.search-results>a,.search-results>a>div{display:block;}.search-results>a{padding:5px 0px;}.search-results>a>div.desc,.item-table>li>div.desc{padding-left:2em;}.search-results .result-name{display:block;}.search-results .result-name .typename{width:initial;margin-right:0;}.search-results .result-name .typename,.search-results .result-name .path{display:inline;}.src-sidebar-expanded .src .sidebar{position:fixed;max-width:100vw;width:100vw;}.src .src-sidebar-title{padding-top:0;}details.implementors-toggle:not(.top-doc)>summary{margin-left:10px;}.impl-items>details.toggle>summary:not(.hideme)::before{left:-20px;}summary>.item-info{margin-left:10px;}.impl-items>.item-info{margin-left:calc(var(--impl-items-indent) + 10px);}.src nav.sub{margin:0 0 -25px 0;padding:var(--nav-sub-mobile-padding);}}@media (min-width:701px){.scraped-example-title{position:absolute;z-index:10;background:var(--main-background-color);bottom:8px;right:5px;padding:2px 4px;box-shadow:0 0 4px var(--main-background-color);}.item-table>li>.item-name{width:33%;}.item-table>li>div{overflow-wrap:anywhere;}}@media print{:root{--docblock-indent:0;}nav.sidebar,nav.sub,.out-of-band,a.src,#copy-path,details.toggle[open] >summary::before,details.toggle>summary::before,details.toggle.top-doc>summary{display:none;}main{padding:10px;}}@media (max-width:464px){:root{--docblock-indent:12px;}.docblock code{overflow-wrap:break-word;overflow-wrap:anywhere;}nav.sub{flex-direction:column;}.search-form{align-self:stretch;}}.variant,.implementors-toggle>summary,.impl,#implementors-list>.docblock,.impl-items>section,.impl-items>.toggle>summary,.methods>section,.methods>.toggle>summary{margin-bottom:0.75em;}.variants>.docblock,.implementors-toggle>.docblock,.impl-items>.toggle[open]:not(:last-child),.methods>.toggle[open]:not(:last-child),.implementors-toggle[open]:not(:last-child){margin-bottom:2em;}#trait-implementations-list .impl-items>.toggle:not(:last-child),#synthetic-implementations-list .impl-items>.toggle:not(:last-child),#blanket-implementations-list .impl-items>.toggle:not(:last-child){margin-bottom:1em;}.scraped-example-list .scrape-help{margin-left:10px;padding:0 4px;font-weight:normal;font-size:12px;position:relative;bottom:1px;border:1px solid var(--scrape-example-help-border-color);border-radius:50px;color:var(--scrape-example-help-color);}.scraped-example-list .scrape-help:hover{border-color:var(--scrape-example-help-hover-border-color);color:var(--scrape-example-help-hover-color);}.scraped-example:not(.expanded) .example-wrap::before,.scraped-example:not(.expanded) .example-wrap::after{content:" ";width:100%;height:5px;position:absolute;z-index:1;}.scraped-example:not(.expanded) .example-wrap::before{top:0;background:linear-gradient(to bottom,var(--scrape-example-code-wrapper-background-start),var(--scrape-example-code-wrapper-background-end));}.scraped-example:not(.expanded) .example-wrap::after{bottom:0;background:linear-gradient(to top,var(--scrape-example-code-wrapper-background-start),var(--scrape-example-code-wrapper-background-end));}.scraped-example:not(.expanded){width:100%;overflow-y:hidden;margin-bottom:0;}.scraped-example:not(.expanded){overflow-x:hidden;}.scraped-example .rust span.highlight{background:var(--scrape-example-code-line-highlight);}.scraped-example .rust span.highlight.focus{background:var(--scrape-example-code-line-highlight-focus);}.more-examples-toggle{max-width:calc(100% + 25px);margin-top:10px;margin-left:-25px;}.more-examples-toggle .hide-more{margin-left:25px;cursor:pointer;}.more-scraped-examples{margin-left:25px;position:relative;}.toggle-line{position:absolute;top:5px;bottom:0;right:calc(100% + 10px);padding:0 4px;cursor:pointer;}.toggle-line-inner{min-width:2px;height:100%;background:var(--scrape-example-toggle-line-background);}.toggle-line:hover .toggle-line-inner{background:var(--scrape-example-toggle-line-hover-background);}.more-scraped-examples .scraped-example,.example-links{margin-top:20px;}.more-scraped-examples .scraped-example:first-child{margin-top:5px;}.example-links ul{margin-bottom:0;}:root[data-theme="light"],:root:not([data-theme]){--main-background-color:white;--main-color:black;--settings-input-color:#2196f3;--settings-input-border-color:#717171;--settings-button-color:#000;--settings-button-border-focus:#717171;--sidebar-background-color:#f5f5f5;--sidebar-background-color-hover:#e0e0e0;--code-block-background-color:#f5f5f5;--scrollbar-track-background-color:#dcdcdc;--scrollbar-thumb-background-color:rgba(36,37,39,0.6);--scrollbar-color:rgba(36,37,39,0.6) #d9d9d9;--headings-border-bottom-color:#ddd;--border-color:#e0e0e0;--button-background-color:#fff;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:none;--mobile-sidebar-menu-filter:none;--search-input-focused-border-color:#66afe9;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(35%);--code-example-button-color:#7f7f7f;--code-example-button-hover-color:#595959;--settings-menu-filter:invert(50%);--settings-menu-hover-filter:invert(35%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#ad378a;--trait-link-color:#6e4fc9;--assoc-item-link-color:#3873ad;--function-link-color:#ad7c37;--macro-link-color:#068000;--keyword-link-color:#3873ad;--mod-link-color:#3873ad;--link-color:#3873ad;--sidebar-link-color:#356da4;--sidebar-current-link-background-color:#fff;--search-result-link-focus-background-color:#ccc;--search-result-border-color:#aaa3;--search-color:#000;--search-error-code-background-color:#d0cccc;--search-results-alias-color:#000;--search-results-grey-color:#999;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#e6e6e6;--search-tab-button-not-selected-background:#e6e6e6;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#fff;--stab-background-color:#fff5d6;--stab-code-color:#000;--code-highlight-kw-color:#8959a8;--code-highlight-kw-2-color:#4271ae;--code-highlight-lifetime-color:#b76514;--code-highlight-prelude-color:#4271ae;--code-highlight-prelude-val-color:#c82829;--code-highlight-number-color:#718c00;--code-highlight-string-color:#718c00;--code-highlight-literal-color:#c82829;--code-highlight-attribute-color:#c82829;--code-highlight-self-color:#c82829;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8e908c;--code-highlight-doc-comment-color:#4d4d4c;--src-line-numbers-span-color:#c67e2d;--src-line-number-highlighted-background-color:#fdffd3;--target-background-color:#fdffd3;--target-border-color:#ad7c37;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:initial;--crate-search-div-filter:invert(100%) sepia(0%) saturate(4223%) hue-rotate(289deg) brightness(114%) contrast(76%);--crate-search-div-hover-filter:invert(44%) sepia(18%) saturate(23%) hue-rotate(317deg) brightness(96%) contrast(93%);--crate-search-hover-border:#717171;--src-sidebar-background-selected:#fff;--src-sidebar-background-hover:#e0e0e0;--table-alt-row-background-color:#f5f5f5;--codeblock-link-background:#eee;--scrape-example-toggle-line-background:#ccc;--scrape-example-toggle-line-hover-background:#999;--scrape-example-code-line-highlight:#fcffd6;--scrape-example-code-line-highlight-focus:#f6fdb0;--scrape-example-help-border-color:#555;--scrape-example-help-color:#333;--scrape-example-help-hover-border-color:#000;--scrape-example-help-hover-color:#000;--scrape-example-code-wrapper-background-start:rgba(255,255,255,1);--scrape-example-code-wrapper-background-end:rgba(255,255,255,0);--sidebar-resizer-hover:hsl(207,90%,66%);--sidebar-resizer-active:hsl(207,90%,54%);}:root[data-theme="dark"]{--main-background-color:#353535;--main-color:#ddd;--settings-input-color:#2196f3;--settings-input-border-color:#999;--settings-button-color:#000;--settings-button-border-focus:#ffb900;--sidebar-background-color:#505050;--sidebar-background-color-hover:#676767;--code-block-background-color:#2A2A2A;--scrollbar-track-background-color:#717171;--scrollbar-thumb-background-color:rgba(32,34,37,.6);--scrollbar-color:rgba(32,34,37,.6) #5a5a5a;--headings-border-bottom-color:#d2d2d2;--border-color:#e0e0e0;--button-background-color:#f0f0f0;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:invert(100%);--mobile-sidebar-menu-filter:invert(100%);--search-input-focused-border-color:#008dfd;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(65%);--code-example-button-color:#7f7f7f;--code-example-button-hover-color:#a5a5a5;--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#2dbfb8;--trait-link-color:#b78cf2;--assoc-item-link-color:#d2991d;--function-link-color:#2bab63;--macro-link-color:#09bd00;--keyword-link-color:#d2991d;--mod-link-color:#d2991d;--link-color:#d2991d;--sidebar-link-color:#fdbf35;--sidebar-current-link-background-color:#444;--search-result-link-focus-background-color:#616161;--search-result-border-color:#aaa3;--search-color:#111;--search-error-code-background-color:#484848;--search-results-alias-color:#fff;--search-results-grey-color:#ccc;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#252525;--search-tab-button-not-selected-background:#252525;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#353535;--settings-menu-filter:invert(50%);--settings-menu-hover-filter:invert(65%);--stab-background-color:#314559;--stab-code-color:#e6e1cf;--code-highlight-kw-color:#ab8ac1;--code-highlight-kw-2-color:#769acb;--code-highlight-lifetime-color:#d97f26;--code-highlight-prelude-color:#769acb;--code-highlight-prelude-val-color:#ee6868;--code-highlight-number-color:#83a300;--code-highlight-string-color:#83a300;--code-highlight-literal-color:#ee6868;--code-highlight-attribute-color:#ee6868;--code-highlight-self-color:#ee6868;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8d8d8b;--code-highlight-doc-comment-color:#8ca375;--src-line-numbers-span-color:#3b91e2;--src-line-number-highlighted-background-color:#0a042f;--target-background-color:#494a3d;--target-border-color:#bb7410;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);--crate-search-div-filter:invert(94%) sepia(0%) saturate(721%) hue-rotate(255deg) brightness(90%) contrast(90%);--crate-search-div-hover-filter:invert(69%) sepia(60%) saturate(6613%) hue-rotate(184deg) brightness(100%) contrast(91%);--crate-search-hover-border:#2196f3;--src-sidebar-background-selected:#333;--src-sidebar-background-hover:#444;--table-alt-row-background-color:#2a2a2a;--codeblock-link-background:#333;--scrape-example-toggle-line-background:#999;--scrape-example-toggle-line-hover-background:#c5c5c5;--scrape-example-code-line-highlight:#5b3b01;--scrape-example-code-line-highlight-focus:#7c4b0f;--scrape-example-help-border-color:#aaa;--scrape-example-help-color:#eee;--scrape-example-help-hover-border-color:#fff;--scrape-example-help-hover-color:#fff;--scrape-example-code-wrapper-background-start:rgba(53,53,53,1);--scrape-example-code-wrapper-background-end:rgba(53,53,53,0);--sidebar-resizer-hover:hsl(207,30%,54%);--sidebar-resizer-active:hsl(207,90%,54%);}:root[data-theme="ayu"]{--main-background-color:#0f1419;--main-color:#c5c5c5;--settings-input-color:#ffb454;--settings-input-border-color:#999;--settings-button-color:#fff;--settings-button-border-focus:#e0e0e0;--sidebar-background-color:#14191f;--sidebar-background-color-hover:rgba(70,70,70,0.33);--code-block-background-color:#191f26;--scrollbar-track-background-color:transparent;--scrollbar-thumb-background-color:#5c6773;--scrollbar-color:#5c6773 #24292f;--headings-border-bottom-color:#5c6773;--border-color:#5c6773;--button-background-color:#141920;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:invert(100%);--mobile-sidebar-menu-filter:invert(100%);--search-input-focused-border-color:#5c6773;--copy-path-button-color:#fff;--copy-path-img-filter:invert(70%);--copy-path-img-hover-filter:invert(100%);--code-example-button-color:#b2b2b2;--code-example-button-hover-color:#fff;--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#ffa0a5;--trait-link-color:#39afd7;--assoc-item-link-color:#39afd7;--function-link-color:#fdd687;--macro-link-color:#a37acc;--keyword-link-color:#39afd7;--mod-link-color:#39afd7;--link-color:#39afd7;--sidebar-link-color:#53b1db;--sidebar-current-link-background-color:transparent;--search-result-link-focus-background-color:#3c3c3c;--search-result-border-color:#aaa3;--search-color:#fff;--search-error-code-background-color:#4f4c4c;--search-results-alias-color:#c5c5c5;--search-results-grey-color:#999;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:none;--search-tab-button-not-selected-background:transparent !important;--search-tab-button-selected-border-top-color:none;--search-tab-button-selected-background:#141920 !important;--settings-menu-filter:invert(70%);--settings-menu-hover-filter:invert(100%);--stab-background-color:#314559;--stab-code-color:#e6e1cf;--code-highlight-kw-color:#ff7733;--code-highlight-kw-2-color:#ff7733;--code-highlight-lifetime-color:#ff7733;--code-highlight-prelude-color:#69f2df;--code-highlight-prelude-val-color:#ff7733;--code-highlight-number-color:#b8cc52;--code-highlight-string-color:#b8cc52;--code-highlight-literal-color:#ff7733;--code-highlight-attribute-color:#e6e1cf;--code-highlight-self-color:#36a3d9;--code-highlight-macro-color:#a37acc;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#788797;--code-highlight-doc-comment-color:#a1ac88;--src-line-numbers-span-color:#5c6773;--src-line-number-highlighted-background-color:rgba(255,236,164,0.06);--target-background-color:rgba(255,236,164,0.06);--target-border-color:rgba(255,180,76,0.85);--kbd-color:#c5c5c5;--kbd-background:#314559;--kbd-box-shadow-color:#5c6773;--rust-logo-filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);--crate-search-div-filter:invert(41%) sepia(12%) saturate(487%) hue-rotate(171deg) brightness(94%) contrast(94%);--crate-search-div-hover-filter:invert(98%) sepia(12%) saturate(81%) hue-rotate(343deg) brightness(113%) contrast(76%);--crate-search-hover-border:#e0e0e0;--src-sidebar-background-selected:#14191f;--src-sidebar-background-hover:#14191f;--table-alt-row-background-color:#191f26;--codeblock-link-background:#333;--scrape-example-toggle-line-background:#999;--scrape-example-toggle-line-hover-background:#c5c5c5;--scrape-example-code-line-highlight:#5b3b01;--scrape-example-code-line-highlight-focus:#7c4b0f;--scrape-example-help-border-color:#aaa;--scrape-example-help-color:#eee;--scrape-example-help-hover-border-color:#fff;--scrape-example-help-hover-color:#fff;--scrape-example-code-wrapper-background-start:rgba(15,20,25,1);--scrape-example-code-wrapper-background-end:rgba(15,20,25,0);--sidebar-resizer-hover:hsl(34,50%,33%);--sidebar-resizer-active:hsl(34,100%,66%);}:root[data-theme="ayu"] h1,:root[data-theme="ayu"] h2,:root[data-theme="ayu"] h3,:root[data-theme="ayu"] h4,:where(:root[data-theme="ayu"]) h1 a,:root[data-theme="ayu"] .sidebar h2 a,:root[data-theme="ayu"] .sidebar h3 a{color:#fff;}:root[data-theme="ayu"] .docblock code{color:#ffb454;}:root[data-theme="ayu"] .docblock a>code{color:#39AFD7 !important;}:root[data-theme="ayu"] .code-header,:root[data-theme="ayu"] .docblock pre>code,:root[data-theme="ayu"] pre,:root[data-theme="ayu"] pre>code,:root[data-theme="ayu"] .item-info code,:root[data-theme="ayu"] .rustdoc.source .example-wrap{color:#e6e1cf;}:root[data-theme="ayu"] .sidebar .current,:root[data-theme="ayu"] .sidebar .current a,:root[data-theme="ayu"] .sidebar a:hover,:root[data-theme="ayu"] #src-sidebar div.files>a:hover,:root[data-theme="ayu"] details.dir-entry summary:hover,:root[data-theme="ayu"] #src-sidebar div.files>a:focus,:root[data-theme="ayu"] details.dir-entry summary:focus,:root[data-theme="ayu"] #src-sidebar div.files>a.selected{color:#ffb44c;}:root[data-theme="ayu"] .sidebar-elems .location{color:#ff7733;}:root[data-theme="ayu"] .src-line-numbers .line-highlighted{color:#708090;padding-right:7px;border-right:1px solid #ffb44c;}:root[data-theme="ayu"] .search-results a:hover,:root[data-theme="ayu"] .search-results a:focus{color:#fff !important;background-color:#3c3c3c;}:root[data-theme="ayu"] .search-results a{color:#0096cf;}:root[data-theme="ayu"] .search-results a div.desc{color:#c5c5c5;}:root[data-theme="ayu"] .result-name .primitive>i,:root[data-theme="ayu"] .result-name .keyword>i{color:#788797;}:root[data-theme="ayu"] #search-tabs>button.selected{border-bottom:1px solid #ffb44c !important;border-top:none;}:root[data-theme="ayu"] #search-tabs>button:not(.selected){border:none;background-color:transparent !important;}:root[data-theme="ayu"] #search-tabs>button:hover{border-bottom:1px solid rgba(242,151,24,0.3);}:root[data-theme="ayu"] #settings-menu>a img,:root[data-theme="ayu"] #sidebar-button>a:before{filter:invert(100);} \ No newline at end of file diff --git a/doc/static.files/scrape-examples-d508a8a9.js b/doc/static.files/scrape-examples-d508a8a9.js new file mode 100644 index 00000000..87b6065d --- /dev/null +++ b/doc/static.files/scrape-examples-d508a8a9.js @@ -0,0 +1 @@ +"use strict";(function(){const DEFAULT_MAX_LINES=5;const HIDDEN_MAX_LINES=10;function scrollToLoc(elt,loc,isHidden){const lines=elt.querySelector(".src-line-numbers > pre");let scrollOffset;const maxLines=isHidden?HIDDEN_MAX_LINES:DEFAULT_MAX_LINES;if(loc[1]-loc[0]>maxLines){const line=Math.max(0,loc[0]-1);scrollOffset=lines.children[line].offsetTop}else{const halfHeight=elt.offsetHeight/2;const offsetTop=lines.children[loc[0]].offsetTop;const lastLine=lines.children[loc[1]];const offsetBot=lastLine.offsetTop+lastLine.offsetHeight;const offsetMid=(offsetTop+offsetBot)/2;scrollOffset=offsetMid-halfHeight}lines.parentElement.scrollTo(0,scrollOffset);elt.querySelector(".rust").scrollTo(0,scrollOffset)}function createScrapeButton(parent,className,content){const button=document.createElement("button");button.className=className;button.innerText=content;parent.insertBefore(button,parent.firstChild);return button}window.updateScrapedExample=(example,buttonHolder)=>{let locIndex=0;const highlights=Array.prototype.slice.call(example.querySelectorAll(".highlight"));const link=example.querySelector(".scraped-example-title a");let expandButton=null;if(!example.classList.contains("expanded")){expandButton=createScrapeButton(buttonHolder,"expand","↕")}const isHidden=example.parentElement.classList.contains("more-scraped-examples");const locs=example.locs;if(locs.length>1){const next=createScrapeButton(buttonHolder,"next","≻");const prev=createScrapeButton(buttonHolder,"prev","≺");const onChangeLoc=changeIndex=>{removeClass(highlights[locIndex],"focus");changeIndex();scrollToLoc(example,locs[locIndex][0],isHidden);addClass(highlights[locIndex],"focus");const url=locs[locIndex][1];const title=locs[locIndex][2];link.href=url;link.innerHTML=title};prev.addEventListener("click",()=>{onChangeLoc(()=>{locIndex=(locIndex-1+locs.length)%locs.length})});next.addEventListener("click",()=>{onChangeLoc(()=>{locIndex=(locIndex+1)%locs.length})})}if(expandButton){expandButton.addEventListener("click",()=>{if(hasClass(example,"expanded")){removeClass(example,"expanded");scrollToLoc(example,locs[0][0],isHidden)}else{addClass(example,"expanded")}})}};function setupLoc(example,isHidden){example.locs=JSON.parse(example.attributes.getNamedItem("data-locs").textContent);scrollToLoc(example,example.locs[0][0],isHidden)}const firstExamples=document.querySelectorAll(".scraped-example-list > .scraped-example");onEachLazy(firstExamples,el=>setupLoc(el,false));onEachLazy(document.querySelectorAll(".more-examples-toggle"),toggle=>{onEachLazy(toggle.querySelectorAll(".toggle-line, .hide-more"),button=>{button.addEventListener("click",()=>{toggle.open=false})});const moreExamples=toggle.querySelectorAll(".scraped-example");toggle.querySelector("summary").addEventListener("click",()=>{setTimeout(()=>{onEachLazy(moreExamples,el=>setupLoc(el,true))})},{once:true})})})() \ No newline at end of file diff --git a/doc/static.files/search-75f5ac3e.js b/doc/static.files/search-75f5ac3e.js new file mode 100644 index 00000000..cf59d779 --- /dev/null +++ b/doc/static.files/search-75f5ac3e.js @@ -0,0 +1,6 @@ +"use strict";if(!Array.prototype.toSpliced){Array.prototype.toSpliced=function(){const me=this.slice();Array.prototype.splice.apply(me,arguments);return me}}function onEachBtwn(arr,func,funcBtwn){let skipped=true;for(const value of arr){if(!skipped){funcBtwn(value)}skipped=func(value)}}const itemTypes=["keyword","primitive","mod","externcrate","import","struct","enum","fn","type","static","trait","impl","tymethod","method","structfield","variant","macro","associatedtype","constant","associatedconstant","union","foreigntype","existential","attr","derive","traitalias","generic",];const TY_PRIMITIVE=itemTypes.indexOf("primitive");const TY_GENERIC=itemTypes.indexOf("generic");const TY_IMPORT=itemTypes.indexOf("import");const TY_TRAIT=itemTypes.indexOf("trait");const ROOT_PATH=typeof window!=="undefined"?window.rootPath:"../";const UNBOXING_LIMIT=5;const REGEX_IDENT=/\p{ID_Start}\p{ID_Continue}*|_\p{ID_Continue}+/uy;const REGEX_INVALID_TYPE_FILTER=/[^a-z]/ui;const MAX_RESULTS=200;const NO_TYPE_FILTER=-1;const editDistanceState={current:[],prev:[],prevPrev:[],calculate:function calculate(a,b,limit){if(a.lengthlimit){return limit+1}while(b.length>0&&b[0]===a[0]){a=a.substring(1);b=b.substring(1)}while(b.length>0&&b[b.length-1]===a[a.length-1]){a=a.substring(0,a.length-1);b=b.substring(0,b.length-1)}if(b.length===0){return minDist}const aLength=a.length;const bLength=b.length;for(let i=0;i<=bLength;++i){this.current[i]=0;this.prev[i]=i;this.prevPrev[i]=Number.MAX_VALUE}for(let i=1;i<=aLength;++i){this.current[0]=i;const aIdx=i-1;for(let j=1;j<=bLength;++j){const bIdx=j-1;const substitutionCost=a[aIdx]===b[bIdx]?0:1;this.current[j]=Math.min(this.prev[j]+1,this.current[j-1]+1,this.prev[j-1]+substitutionCost,);if((i>1)&&(j>1)&&(a[aIdx]===b[bIdx-1])&&(a[aIdx-1]===b[bIdx])){this.current[j]=Math.min(this.current[j],this.prevPrev[j-2]+1,)}}const prevPrevTmp=this.prevPrev;this.prevPrev=this.prev;this.prev=this.current;this.current=prevPrevTmp}const distance=this.prev[bLength];return distance<=limit?distance:(limit+1)},};function editDistance(a,b,limit){return editDistanceState.calculate(a,b,limit)}function isEndCharacter(c){return"=,>-])".indexOf(c)!==-1}function isSeparatorCharacter(c){return c===","||c==="="}function isReturnArrow(parserState){return parserState.userQuery.slice(parserState.pos,parserState.pos+2)==="->"}function skipWhitespace(parserState){while(parserState.pos0){const c=parserState.userQuery[pos-1];if(c===lookingFor){return true}else if(c!==" "){break}pos-=1}return false}function isLastElemGeneric(elems,parserState){return(elems.length>0&&elems[elems.length-1].generics.length>0)||prevIs(parserState,">")}function getFilteredNextElem(query,parserState,elems,isInGenerics){const start=parserState.pos;if(parserState.userQuery[parserState.pos]===":"&&!isPathStart(parserState)){throw["Expected type filter before ",":"]}getNextElem(query,parserState,elems,isInGenerics);if(parserState.userQuery[parserState.pos]===":"&&!isPathStart(parserState)){if(parserState.typeFilter!==null){throw["Unexpected ",":"," (expected path after type filter ",parserState.typeFilter+":",")",]}if(elems.length===0){throw["Expected type filter before ",":"]}else if(query.literalSearch){throw["Cannot use quotes on type filter"]}const typeFilterElem=elems.pop();checkExtraTypeFilterCharacters(start,parserState);parserState.typeFilter=typeFilterElem.normalizedPathLast;parserState.pos+=1;parserState.totalElems-=1;query.literalSearch=false;getNextElem(query,parserState,elems,isInGenerics)}}function getItemsBefore(query,parserState,elems,endChar){let foundStopChar=true;let foundSeparator=false;const oldTypeFilter=parserState.typeFilter;parserState.typeFilter=null;const oldIsInBinding=parserState.isInBinding;parserState.isInBinding=null;let hofParameters=null;let extra="";if(endChar===">"){extra="<"}else if(endChar==="]"){extra="["}else if(endChar===")"){extra="("}else if(endChar===""){extra="->"}else{extra=endChar}while(parserState.pos"," after ","="]}hofParameters=[...elems];elems.length=0;parserState.pos+=2;foundStopChar=true;foundSeparator=false;continue}else if(c===" "){parserState.pos+=1;continue}else if(isSeparatorCharacter(c)){parserState.pos+=1;foundStopChar=true;foundSeparator=true;continue}else if(c===":"&&isPathStart(parserState)){throw["Unexpected ","::",": paths cannot start with ","::"]}else if(isEndCharacter(c)){throw["Unexpected ",c," after ",extra]}if(!foundStopChar){let extra=[];if(isLastElemGeneric(query.elems,parserState)){extra=[" after ",">"]}else if(prevIs(parserState,"\"")){throw["Cannot have more than one element if you use quotes"]}if(endChar!==""){throw["Expected ",",",", ","=",", or ",endChar,...extra,", found ",c,]}throw["Expected ",","," or ","=",...extra,", found ",c,]}const posBefore=parserState.pos;getFilteredNextElem(query,parserState,elems,endChar!=="");if(endChar!==""&&parserState.pos>=parserState.length){throw["Unclosed ",extra]}if(posBefore===parserState.pos){parserState.pos+=1}foundStopChar=false}if(parserState.pos>=parserState.length&&endChar!==""){throw["Unclosed ",extra]}parserState.pos+=1;if(hofParameters){foundSeparator=false;if([...elems,...hofParameters].some(x=>x.bindingName)||parserState.isInBinding){throw["Unexpected ","="," within ","->"]}const hofElem=makePrimitiveElement("->",{generics:hofParameters,bindings:new Map([["output",[...elems]]]),typeFilter:null,});elems.length=0;elems[0]=hofElem}parserState.typeFilter=oldTypeFilter;parserState.isInBinding=oldIsInBinding;return{foundSeparator}}function getNextElem(query,parserState,elems,isInGenerics){const generics=[];skipWhitespace(parserState);let start=parserState.pos;let end;if("[(".indexOf(parserState.userQuery[parserState.pos])!==-1){let endChar=")";let name="()";let friendlyName="tuple";if(parserState.userQuery[parserState.pos]==="["){endChar="]";name="[]";friendlyName="slice"}parserState.pos+=1;const{foundSeparator}=getItemsBefore(query,parserState,generics,endChar);const typeFilter=parserState.typeFilter;const bindingName=parserState.isInBinding;parserState.typeFilter=null;parserState.isInBinding=null;for(const gen of generics){if(gen.bindingName!==null){throw["Type parameter ","=",` cannot be within ${friendlyName} `,name]}}if(name==="()"&&!foundSeparator&&generics.length===1&&typeFilter===null){elems.push(generics[0])}else if(name==="()"&&generics.length===1&&generics[0].name==="->"){generics[0].typeFilter=typeFilter;elems.push(generics[0])}else{if(typeFilter!==null&&typeFilter!=="primitive"){throw["Invalid search type: primitive ",name," and ",typeFilter," both specified",]}parserState.totalElems+=1;if(isInGenerics){parserState.genericsElems+=1}elems.push(makePrimitiveElement(name,{bindingName,generics}))}}else if(parserState.userQuery[parserState.pos]==="&"){if(parserState.typeFilter!==null&&parserState.typeFilter!=="primitive"){throw["Invalid search type: primitive ","&"," and ",parserState.typeFilter," both specified",]}parserState.typeFilter=null;parserState.pos+=1;let c=parserState.userQuery[parserState.pos];while(c===" "&&parserState.pos=end){throw["Found generics without a path"]}parserState.pos+=1;getItemsBefore(query,parserState,generics,">")}else if(parserState.pos=end){throw["Found generics without a path"]}if(parserState.isInBinding){throw["Unexpected ","("," after ","="]}parserState.pos+=1;const typeFilter=parserState.typeFilter;parserState.typeFilter=null;getItemsBefore(query,parserState,generics,")");skipWhitespace(parserState);if(isReturnArrow(parserState)){parserState.pos+=2;skipWhitespace(parserState);getFilteredNextElem(query,parserState,generics,isInGenerics);generics[generics.length-1].bindingName=makePrimitiveElement("output")}else{generics.push(makePrimitiveElement(null,{bindingName:makePrimitiveElement("output"),typeFilter:null,}))}parserState.typeFilter=typeFilter}if(isStringElem){skipWhitespace(parserState)}if(start>=end&&generics.length===0){return}if(parserState.userQuery[parserState.pos]==="="){if(parserState.isInBinding){throw["Cannot write ","="," twice in a binding"]}if(!isInGenerics){throw["Type parameter ","="," must be within generics list"]}const name=parserState.userQuery.slice(start,end).trim();if(name==="!"){throw["Type parameter ","="," key cannot be ","!"," never type"]}if(name.includes("!")){throw["Type parameter ","="," key cannot be ","!"," macro"]}if(name.includes("::")){throw["Type parameter ","="," key cannot contain ","::"," path"]}if(name.includes(":")){throw["Type parameter ","="," key cannot contain ",":"," type"]}parserState.isInBinding={name,generics}}else{elems.push(createQueryElement(query,parserState,parserState.userQuery.slice(start,end),generics,isInGenerics,),)}}}function checkExtraTypeFilterCharacters(start,parserState){const query=parserState.userQuery.slice(start,parserState.pos).trim();const match=query.match(REGEX_INVALID_TYPE_FILTER);if(match){throw["Unexpected ",match[0]," in type filter (before ",":",")",]}}function createQueryElement(query,parserState,name,generics,isInGenerics){const path=name.trim();if(path.length===0&&generics.length===0){throw["Unexpected ",parserState.userQuery[parserState.pos]]}if(query.literalSearch&&parserState.totalElems-parserState.genericsElems>0){throw["Cannot have more than one element if you use quotes"]}const typeFilter=parserState.typeFilter;parserState.typeFilter=null;if(name.trim()==="!"){if(typeFilter!==null&&typeFilter!=="primitive"){throw["Invalid search type: primitive never type ","!"," and ",typeFilter," both specified",]}if(generics.length!==0){throw["Never type ","!"," does not accept generic parameters",]}const bindingName=parserState.isInBinding;parserState.isInBinding=null;return makePrimitiveElement("never",{bindingName})}const quadcolon=/::\s*::/.exec(path);if(path.startsWith("::")){throw["Paths cannot start with ","::"]}else if(quadcolon!==null){throw["Unexpected ",quadcolon[0]]}const pathSegments=path.split(/(?:::\s*)|(?:\s+(?:::\s*)?)/).map(x=>x.toLowerCase());if(pathSegments.length===0||(pathSegments.length===1&&pathSegments[0]==="")){if(generics.length>0||prevIs(parserState,">")){throw["Found generics without a path"]}else{throw["Unexpected ",parserState.userQuery[parserState.pos]]}}for(const[i,pathSegment]of pathSegments.entries()){if(pathSegment==="!"){if(i!==0){throw["Never type ","!"," is not associated item"]}pathSegments[i]="never"}}parserState.totalElems+=1;if(isInGenerics){parserState.genericsElems+=1}const bindingName=parserState.isInBinding;parserState.isInBinding=null;const bindings=new Map();const pathLast=pathSegments[pathSegments.length-1];return{name:name.trim(),id:null,fullPath:pathSegments,pathWithoutLast:pathSegments.slice(0,pathSegments.length-1),pathLast,normalizedPathLast:pathLast.replace(/_/g,""),generics:generics.filter(gen=>{if(gen.bindingName!==null){if(gen.name!==null){gen.bindingName.generics.unshift(gen)}bindings.set(gen.bindingName.name.toLowerCase().replace(/_/g,""),gen.bindingName.generics,);return false}return true}),bindings,typeFilter,bindingName,}}function makePrimitiveElement(name,extra){return Object.assign({name,id:null,fullPath:[name],pathWithoutLast:[],pathLast:name,normalizedPathLast:name,generics:[],bindings:new Map(),typeFilter:"primitive",bindingName:null,},extra)}function getStringElem(query,parserState,isInGenerics){if(isInGenerics){throw["Unexpected ","\""," in generics"]}else if(query.literalSearch){throw["Cannot have more than one literal search element"]}else if(parserState.totalElems-parserState.genericsElems>0){throw["Cannot use literal search when there is more than one element"]}parserState.pos+=1;const start=parserState.pos;const end=getIdentEndPosition(parserState);if(parserState.pos>=parserState.length){throw["Unclosed ","\""]}else if(parserState.userQuery[end]!=="\""){throw["Unexpected ",parserState.userQuery[end]," in a string element"]}else if(start===end){throw["Cannot have empty string element"]}parserState.pos+=1;query.literalSearch=true}function getIdentEndPosition(parserState){let afterIdent=consumeIdent(parserState);let end=parserState.pos;let macroExclamation=-1;while(parserState.pos0){throw["Unexpected ",c," after ",parserState.userQuery[parserState.pos-1]," (not a valid identifier)"]}else{throw["Unexpected ",c," (not a valid identifier)"]}parserState.pos+=1;afterIdent=consumeIdent(parserState);end=parserState.pos}if(macroExclamation!==-1){if(parserState.typeFilter===null){parserState.typeFilter="macro"}else if(parserState.typeFilter!=="macro"){throw["Invalid search type: macro ","!"," and ",parserState.typeFilter," both specified",]}end=macroExclamation}return end}function isSpecialStartCharacter(c){return"<\"".indexOf(c)!==-1}function isPathStart(parserState){return parserState.userQuery.slice(parserState.pos,parserState.pos+2)==="::"}function consumeIdent(parserState){REGEX_IDENT.lastIndex=parserState.pos;const match=parserState.userQuery.match(REGEX_IDENT);if(match){parserState.pos+=match[0].length;return true}return false}function isPathSeparator(c){return c===":"||c===" "}class VlqHexDecoder{constructor(string,cons){this.string=string;this.cons=cons;this.offset=0;this.backrefQueue=[]}decodeList(){let c=this.string.charCodeAt(this.offset);const ret=[];while(c!==125){ret.push(this.decode());c=this.string.charCodeAt(this.offset)}this.offset+=1;return ret}decode(){let n=0;let c=this.string.charCodeAt(this.offset);if(c===123){this.offset+=1;return this.decodeList()}while(c<96){n=(n<<4)|(c&0xF);this.offset+=1;c=this.string.charCodeAt(this.offset)}n=(n<<4)|(c&0xF);const[sign,value]=[n&1,n>>1];this.offset+=1;return sign?-value:value}next(){const c=this.string.charCodeAt(this.offset);if(c>=48&&c<64){this.offset+=1;return this.backrefQueue[c-48]}if(c===96){this.offset+=1;return this.cons(0)}const result=this.cons(this.decode());this.backrefQueue.unshift(result);if(this.backrefQueue.length>16){this.backrefQueue.pop()}return result}}class RoaringBitmap{constructor(str){const strdecoded=atob(str);const u8array=new Uint8Array(strdecoded.length);for(let j=0;j=4){offsets=[];for(let j=0;j>3]&(1<<(j&0x7))){const runcount=(u8array[i]|(u8array[i+1]<<8));i+=2;this.containers.push(new RoaringBitmapRun(runcount,u8array.slice(i,i+(runcount*4)),));i+=runcount*4}else if(this.cardinalities[j]>=4096){this.containers.push(new RoaringBitmapBits(u8array.slice(i,i+8192)));i+=8192}else{const end=this.cardinalities[j]*2;this.containers.push(new RoaringBitmapArray(this.cardinalities[j],u8array.slice(i,i+end),));i+=end}}}contains(keyvalue){const key=keyvalue>>16;const value=keyvalue&0xFFFF;let left=0;let right=this.keys.length-1;while(left<=right){const mid=Math.floor((left+right)/2);const x=this.keys[mid];if(xkey){right=mid-1}else{return this.containers[mid].contains(value)}}return false}}class RoaringBitmapRun{constructor(runcount,array){this.runcount=runcount;this.array=array}contains(value){let left=0;let right=this.runcount-1;while(left<=right){const mid=Math.floor((left+right)/2);const i=mid*4;const start=this.array[i]|(this.array[i+1]<<8);const lenm1=this.array[i+2]|(this.array[i+3]<<8);if((start+lenm1)value){right=mid-1}else{return true}}return false}}class RoaringBitmapArray{constructor(cardinality,array){this.cardinality=cardinality;this.array=array}contains(value){let left=0;let right=this.cardinality-1;while(left<=right){const mid=Math.floor((left+right)/2);const i=mid*2;const x=this.array[i]|(this.array[i+1]<<8);if(xvalue){right=mid-1}else{return true}}return false}}class RoaringBitmapBits{constructor(array){this.array=array}contains(value){return!!(this.array[value>>3]&(1<<(value&7)))}}class NameTrie{constructor(){this.children=[];this.matches=[]}insert(name,id,tailTable){this.insertSubstring(name,0,id,tailTable)}insertSubstring(name,substart,id,tailTable){const l=name.length;if(substart===l){this.matches.push(id)}else{const sb=name.charCodeAt(substart);let child;if(this.children[sb]!==undefined){child=this.children[sb]}else{child=new NameTrie();this.children[sb]=child;let sste;if(substart>=2){const tail=name.substring(substart-2,substart+1);if(tailTable.has(tail)){sste=tailTable.get(tail)}else{sste=[];tailTable.set(tail,sste)}sste.push(child)}}child.insertSubstring(name,substart+1,id,tailTable)}}search(name,tailTable){const results=new Set();this.searchSubstringPrefix(name,0,results);if(results.size=3){const levParams=name.length>=6?new Lev2TParametricDescription(name.length):new Lev1TParametricDescription(name.length);this.searchLev(name,0,levParams,results);const tail=name.substring(0,3);if(tailTable.has(tail)){for(const entry of tailTable.get(tail)){entry.searchSubstringPrefix(name,3,results)}}}return[...results]}searchSubstringPrefix(name,substart,results){const l=name.length;if(substart===l){for(const match of this.matches){results.add(match)}let unprocessedChildren=[];for(const child of this.children){if(child){unprocessedChildren.push(child)}}let nextSet=[];while(unprocessedChildren.length!==0){const next=unprocessedChildren.pop();for(const child of next.children){if(child){nextSet.push(child)}}for(const match of next.matches){results.add(match)}if(unprocessedChildren.length===0){const tmp=unprocessedChildren;unprocessedChildren=nextSet;nextSet=tmp}}}else{const sb=name.charCodeAt(substart);if(this.children[sb]!==undefined){this.children[sb].searchSubstringPrefix(name,substart+1,results)}}}searchLev(name,substart,levParams,results){const stack=[[this,0]];const n=levParams.n;while(stack.length!==0){const[trie,levState]=stack.pop();for(const[charCode,child]of trie.children.entries()){if(!child){continue}const levPos=levParams.getPosition(levState);const vector=levParams.getVector(name,charCode,levPos,Math.min(name.length,levPos+(2*n)+1),);const newLevState=levParams.transition(levState,levPos,vector,);if(newLevState>=0){stack.push([child,newLevState]);if(levParams.isAccept(newLevState)){for(const match of child.matches){results.add(match)}}}}}}}class DocSearch{constructor(rawSearchIndex,rootPath,searchState){this.searchIndexDeprecated=new Map();this.searchIndexEmptyDesc=new Map();this.functionTypeFingerprint=null;this.typeNameIdMap=new Map();this.assocTypeIdNameMap=new Map();this.ALIASES=new Map();this.rootPath=rootPath;this.searchState=searchState;this.typeNameIdOfArray=this.buildTypeMapIndex("array");this.typeNameIdOfSlice=this.buildTypeMapIndex("slice");this.typeNameIdOfArrayOrSlice=this.buildTypeMapIndex("[]");this.typeNameIdOfTuple=this.buildTypeMapIndex("tuple");this.typeNameIdOfUnit=this.buildTypeMapIndex("unit");this.typeNameIdOfTupleOrUnit=this.buildTypeMapIndex("()");this.typeNameIdOfFn=this.buildTypeMapIndex("fn");this.typeNameIdOfFnMut=this.buildTypeMapIndex("fnmut");this.typeNameIdOfFnOnce=this.buildTypeMapIndex("fnonce");this.typeNameIdOfHof=this.buildTypeMapIndex("->");this.typeNameIdOfOutput=this.buildTypeMapIndex("output",true);this.typeNameIdOfReference=this.buildTypeMapIndex("reference");this.EMPTY_BINDINGS_MAP=new Map();this.EMPTY_GENERICS_ARRAY=[];this.TYPES_POOL=new Map();this.nameTrie=new NameTrie();this.tailTable=new Map();this.searchIndex=this.buildIndex(rawSearchIndex)}buildTypeMapIndex(name,isAssocType){if(name===""||name===null){return null}if(this.typeNameIdMap.has(name)){const obj=this.typeNameIdMap.get(name);obj.assocOnly=isAssocType&&obj.assocOnly;return obj.id}else{const id=this.typeNameIdMap.size;this.typeNameIdMap.set(name,{id,assocOnly:isAssocType});return id}}buildItemSearchTypeAll(types,paths,lowercasePaths){return types.length>0?types.map(type=>this.buildItemSearchType(type,paths,lowercasePaths)):this.EMPTY_GENERICS_ARRAY}buildItemSearchType(type,paths,lowercasePaths,isAssocType){const PATH_INDEX_DATA=0;const GENERICS_DATA=1;const BINDINGS_DATA=2;let pathIndex,generics,bindings;if(typeof type==="number"){pathIndex=type;generics=this.EMPTY_GENERICS_ARRAY;bindings=this.EMPTY_BINDINGS_MAP}else{pathIndex=type[PATH_INDEX_DATA];generics=this.buildItemSearchTypeAll(type[GENERICS_DATA],paths,lowercasePaths,);if(type.length>BINDINGS_DATA&&type[BINDINGS_DATA].length>0){bindings=new Map(type[BINDINGS_DATA].map(binding=>{const[assocType,constraints]=binding;return[this.buildItemSearchType(assocType,paths,lowercasePaths,true).id,this.buildItemSearchTypeAll(constraints,paths,lowercasePaths),]}))}else{bindings=this.EMPTY_BINDINGS_MAP}}let result;if(pathIndex<0){result={id:pathIndex,name:"",ty:TY_GENERIC,path:null,exactPath:null,generics,bindings,unboxFlag:true,}}else if(pathIndex===0){result={id:null,name:"",ty:null,path:null,exactPath:null,generics,bindings,unboxFlag:true,}}else{const item=lowercasePaths[pathIndex-1];const id=this.buildTypeMapIndex(item.name,isAssocType);if(isAssocType){this.assocTypeIdNameMap.set(id,paths[pathIndex-1].name)}result={id,name:paths[pathIndex-1].name,ty:item.ty,path:item.path,exactPath:item.exactPath,generics,bindings,unboxFlag:item.unboxFlag,}}const cr=this.TYPES_POOL.get(result.id);if(cr){if(cr.generics.length===result.generics.length&&cr.generics!==result.generics&&cr.generics.every((x,i)=>result.generics[i]===x)){result.generics=cr.generics}if(cr.bindings.size===result.bindings.size&&cr.bindings!==result.bindings){let ok=true;for(const[k,v]of cr.bindings.entries()){const v2=result.bindings.get(v);if(!v2){ok=false;break}if(v!==v2&&v.length===v2.length&&v.every((x,i)=>v2[i]===x)){result.bindings.set(k,v)}else if(v!==v2){ok=false;break}}if(ok){result.bindings=cr.bindings}}if(cr.ty===result.ty&&cr.path===result.path&&cr.bindings===result.bindings&&cr.generics===result.generics&&cr.ty===result.ty&&cr.name===result.name&&cr.unboxFlag===result.unboxFlag){return cr}}this.TYPES_POOL.set(result.id,result);return result}buildFunctionTypeFingerprint(type,output){let input=type.id;if(input===this.typeNameIdOfArray||input===this.typeNameIdOfSlice){input=this.typeNameIdOfArrayOrSlice}if(input===this.typeNameIdOfTuple||input===this.typeNameIdOfUnit){input=this.typeNameIdOfTupleOrUnit}if(input===this.typeNameIdOfFn||input===this.typeNameIdOfFnMut||input===this.typeNameIdOfFnOnce){input=this.typeNameIdOfHof}const hashint1=k=>{k=(~~k+0x7ed55d16)+(k<<12);k=(k ^ 0xc761c23c)^(k>>>19);k=(~~k+0x165667b1)+(k<<5);k=(~~k+0xd3a2646c)^(k<<9);k=(~~k+0xfd7046c5)+(k<<3);return(k ^ 0xb55a4f09)^(k>>>16)};const hashint2=k=>{k=~k+(k<<15);k ^=k>>>12;k+=k<<2;k ^=k>>>4;k=Math.imul(k,2057);return k ^(k>>16)};if(input!==null){const h0a=hashint1(input);const h0b=hashint2(input);const h1a=~~(h0a+Math.imul(h0b,2));const h1b=~~(h0a+Math.imul(h0b,3));const h2a=~~(h0a+Math.imul(h0b,4));const h2b=~~(h0a+Math.imul(h0b,5));output[0]|=(1<<(h0a%32))|(1<<(h1b%32));output[1]|=(1<<(h1a%32))|(1<<(h2b%32));output[2]|=(1<<(h2a%32))|(1<<(h0b%32));output[3]+=1}for(const g of type.generics){this.buildFunctionTypeFingerprint(g,output)}const fb={id:null,ty:0,generics:this.EMPTY_GENERICS_ARRAY,bindings:this.EMPTY_BINDINGS_MAP,};for(const[k,v]of type.bindings.entries()){fb.id=k;fb.generics=v;this.buildFunctionTypeFingerprint(fb,output)}}buildIndex(rawSearchIndex){const buildFunctionSearchTypeCallback=(paths,lowercasePaths)=>{return functionSearchType=>{if(functionSearchType===0){return null}const INPUTS_DATA=0;const OUTPUT_DATA=1;let inputs,output;if(typeof functionSearchType[INPUTS_DATA]==="number"){inputs=[this.buildItemSearchType(functionSearchType[INPUTS_DATA],paths,lowercasePaths,),]}else{inputs=this.buildItemSearchTypeAll(functionSearchType[INPUTS_DATA],paths,lowercasePaths,)}if(functionSearchType.length>1){if(typeof functionSearchType[OUTPUT_DATA]==="number"){output=[this.buildItemSearchType(functionSearchType[OUTPUT_DATA],paths,lowercasePaths,),]}else{output=this.buildItemSearchTypeAll(functionSearchType[OUTPUT_DATA],paths,lowercasePaths,)}}else{output=[]}const where_clause=[];const l=functionSearchType.length;for(let i=2;inoop);let descShard={crate,shard:0,start:0,len:itemDescShardDecoder.next(),promise:null,resolve:null,};const descShardList=[descShard];this.searchIndexDeprecated.set(crate,new RoaringBitmap(crateCorpus.c));this.searchIndexEmptyDesc.set(crate,new RoaringBitmap(crateCorpus.e));let descIndex=0;let lastParamNames=[];let normalizedName=crate.indexOf("_")===-1?crate:crate.replace(/_/g,"");const crateRow={crate,ty:3,name:crate,path:"",descShard,descIndex,exactPath:"",desc:crateCorpus.doc,parent:undefined,type:null,paramNames:lastParamNames,id,word:crate,normalizedName,bitIndex:0,implDisambiguator:null,};this.nameTrie.insert(normalizedName,id,this.tailTable);id+=1;searchIndex.push(crateRow);currentIndex+=1;if(!this.searchIndexEmptyDesc.get(crate).contains(0)){descIndex+=1}const itemTypes=crateCorpus.t;const itemNames=crateCorpus.n;const itemPaths=new Map(crateCorpus.q);const itemReexports=new Map(crateCorpus.r);const itemParentIdxDecoder=new VlqHexDecoder(crateCorpus.i,noop=>noop);const implDisambiguator=new Map(crateCorpus.b);const paths=crateCorpus.p;const aliases=crateCorpus.a;const itemParamNames=new Map(crateCorpus.P);const lowercasePaths=[];const itemFunctionDecoder=new VlqHexDecoder(crateCorpus.f,buildFunctionSearchTypeCallback(paths,lowercasePaths),);let len=paths.length;let lastPath=itemPaths.get(0);for(let i=0;i2&&elem[2]!==null){path=itemPaths.has(elem[2])?itemPaths.get(elem[2]):lastPath;lastPath=path}const exactPath=elem.length>3&&elem[3]!==null?itemPaths.get(elem[3]):path;const unboxFlag=elem.length>4&&!!elem[4];lowercasePaths.push({ty,name:name.toLowerCase(),path,exactPath,unboxFlag});paths[i]={ty,name,path,exactPath,unboxFlag}}lastPath="";len=itemTypes.length;let lastName="";let lastWord="";for(let i=0;i=descShard.len&&!this.searchIndexEmptyDesc.get(crate).contains(bitIndex)){descShard={crate,shard:descShard.shard+1,start:descShard.start+descShard.len,len:itemDescShardDecoder.next(),promise:null,resolve:null,};descIndex=0;descShardList.push(descShard)}const name=itemNames[i]===""?lastName:itemNames[i];const word=itemNames[i]===""?lastWord:itemNames[i].toLowerCase();const path=itemPaths.has(i)?itemPaths.get(i):lastPath;const paramNames=itemParamNames.has(i)?itemParamNames.get(i).split(","):lastParamNames;const type=itemFunctionDecoder.next();if(type!==null){if(type){const fp=this.functionTypeFingerprint.subarray(id*4,(id+1)*4);for(const t of type.inputs){this.buildFunctionTypeFingerprint(t,fp)}for(const t of type.output){this.buildFunctionTypeFingerprint(t,fp)}for(const w of type.where_clause){for(const t of w){this.buildFunctionTypeFingerprint(t,fp)}}}}const itemParentIdx=itemParentIdxDecoder.next();normalizedName=word.indexOf("_")===-1?word:word.replace(/_/g,"");const row={crate,ty:itemTypes.charCodeAt(i)-65,name,path,descShard,descIndex,exactPath:itemReexports.has(i)?itemPaths.get(itemReexports.get(i)):path,parent:itemParentIdx>0?paths[itemParentIdx-1]:undefined,type,paramNames,id,word,normalizedName,bitIndex,implDisambiguator:implDisambiguator.has(i)?implDisambiguator.get(i):null,};this.nameTrie.insert(normalizedName,id,this.tailTable);id+=1;searchIndex.push(row);lastPath=row.path;lastParamNames=row.paramNames;if(!this.searchIndexEmptyDesc.get(crate).contains(bitIndex)){descIndex+=1}lastName=name;lastWord=word}if(aliases){const currentCrateAliases=new Map();this.ALIASES.set(crate,currentCrateAliases);for(const alias_name in aliases){if(!Object.prototype.hasOwnProperty.call(aliases,alias_name)){continue}let currentNameAliases;if(currentCrateAliases.has(alias_name)){currentNameAliases=currentCrateAliases.get(alias_name)}else{currentNameAliases=[];currentCrateAliases.set(alias_name,currentNameAliases)}for(const local_alias of aliases[alias_name]){currentNameAliases.push(local_alias+currentIndex)}}}currentIndex+=itemTypes.length;this.searchState.descShards.set(crate,descShardList)}this.TYPES_POOL=new Map();return searchIndex}static parseQuery(userQuery){function itemTypeFromName(typename){const index=itemTypes.findIndex(i=>i===typename);if(index<0){throw["Unknown type filter ",typename]}return index}function convertTypeFilterOnElem(elem){if(elem.typeFilter!==null){let typeFilter=elem.typeFilter;if(typeFilter==="const"){typeFilter="constant"}elem.typeFilter=itemTypeFromName(typeFilter)}else{elem.typeFilter=NO_TYPE_FILTER}for(const elem2 of elem.generics){convertTypeFilterOnElem(elem2)}for(const constraints of elem.bindings.values()){for(const constraint of constraints){convertTypeFilterOnElem(constraint)}}}function newParsedQuery(userQuery){return{userQuery,elems:[],returned:[],foundElems:0,totalElems:0,literalSearch:false,hasReturnArrow:false,error:null,correction:null,proposeCorrectionFrom:null,proposeCorrectionTo:null,typeFingerprint:new Uint32Array(4),}}function parseInput(query,parserState){let foundStopChar=true;while(parserState.pos"){if(isReturnArrow(parserState)){query.hasReturnArrow=true;break}throw["Unexpected ",c," (did you mean ","->","?)"]}else if(parserState.pos>0){throw["Unexpected ",c," after ",parserState.userQuery[parserState.pos-1]]}throw["Unexpected ",c]}else if(c===" "){skipWhitespace(parserState);continue}if(!foundStopChar){let extra="";if(isLastElemGeneric(query.elems,parserState)){extra=[" after ",">"]}else if(prevIs(parserState,"\"")){throw["Cannot have more than one element if you use quotes"]}if(parserState.typeFilter!==null){throw["Expected ",","," or ","->",...extra,", found ",c,]}throw["Expected ",",",", ",":"," or ","->",...extra,", found ",c,]}const before=query.elems.length;getFilteredNextElem(query,parserState,query.elems,false);if(query.elems.length===before){parserState.pos+=1}foundStopChar=false}if(parserState.typeFilter!==null){throw["Unexpected ",":"," (expected path after type filter ",parserState.typeFilter+":",")",]}while(parserState.pos1}query.foundElems=query.elems.length+query.returned.length;query.totalElems=parserState.totalElems;return query}async execQuery(parsedQuery,filterCrates,currentCrate){const results_others=new Map(),results_in_args=new Map(),results_returned=new Map();function createQueryResults(results_in_args,results_returned,results_others,parsedQuery){return{"in_args":results_in_args,"returned":results_returned,"others":results_others,"query":parsedQuery,}}const buildHrefAndPath=item=>{let displayPath;let href;const type=itemTypes[item.ty];const name=item.name;let path=item.path;let exactPath=item.exactPath;if(type==="mod"){displayPath=path+"::";href=this.rootPath+path.replace(/::/g,"/")+"/"+name+"/index.html"}else if(type==="import"){displayPath=item.path+"::";href=this.rootPath+item.path.replace(/::/g,"/")+"/index.html#reexport."+name}else if(type==="primitive"||type==="keyword"){displayPath="";exactPath="";href=this.rootPath+path.replace(/::/g,"/")+"/"+type+"."+name+".html"}else if(type==="externcrate"){displayPath="";href=this.rootPath+name+"/index.html"}else if(item.parent!==undefined){const myparent=item.parent;let anchor=type+"."+name;const parentType=itemTypes[myparent.ty];let pageType=parentType;let pageName=myparent.name;exactPath=`${myparent.exactPath}::${myparent.name}`;if(parentType==="primitive"){displayPath=myparent.name+"::";exactPath=myparent.name}else if(type==="structfield"&&parentType==="variant"){const enumNameIdx=item.path.lastIndexOf("::");const enumName=item.path.substr(enumNameIdx+2);path=item.path.substr(0,enumNameIdx);displayPath=path+"::"+enumName+"::"+myparent.name+"::";anchor="variant."+myparent.name+".field."+name;pageType="enum";pageName=enumName}else{displayPath=path+"::"+myparent.name+"::"}if(item.implDisambiguator!==null){anchor=item.implDisambiguator+"/"+anchor}href=this.rootPath+path.replace(/::/g,"/")+"/"+pageType+"."+pageName+".html#"+anchor}else{displayPath=item.path+"::";href=this.rootPath+item.path.replace(/::/g,"/")+"/"+type+"."+name+".html"}return[displayPath,href,`${exactPath}::${name}`]};function pathSplitter(path){const tmp=""+path.replace(/::/g,"::");if(tmp.endsWith("")){return tmp.slice(0,tmp.length-6)}return tmp}const transformResults=(results,typeInfo)=>{const duplicates=new Set();const out=[];for(const result of results){if(result.id!==-1){const res=buildHrefAndPath(this.searchIndex[result.id]);const obj=Object.assign({dist:result.dist,displayPath:pathSplitter(res[0]),},this.searchIndex[result.id]);obj.fullPath=res[2]+"|"+obj.ty;if(duplicates.has(obj.fullPath)){continue}if(obj.ty===TY_IMPORT&&duplicates.has(res[2])){continue}if(duplicates.has(res[2]+"|"+TY_IMPORT)){continue}duplicates.add(obj.fullPath);duplicates.add(res[2]);if(typeInfo!==null){obj.displayTypeSignature=this.formatDisplayTypeSignature(obj,typeInfo)}obj.href=res[1];out.push(obj);if(out.length>=MAX_RESULTS){break}}}return out};this.formatDisplayTypeSignature=async(obj,typeInfo)=>{let fnInputs=null;let fnOutput=null;let mgens=null;if(typeInfo!=="elems"&&typeInfo!=="returned"){fnInputs=unifyFunctionTypes(obj.type.inputs,parsedQuery.elems,obj.type.where_clause,null,mgensScratch=>{fnOutput=unifyFunctionTypes(obj.type.output,parsedQuery.returned,obj.type.where_clause,mgensScratch,mgensOut=>{mgens=mgensOut;return true},0,);return!!fnOutput},0,)}else{const arr=typeInfo==="elems"?obj.type.inputs:obj.type.output;const highlighted=unifyFunctionTypes(arr,parsedQuery.elems,obj.type.where_clause,null,mgensOut=>{mgens=mgensOut;return true},0,);if(typeInfo==="elems"){fnInputs=highlighted}else{fnOutput=highlighted}}if(!fnInputs){fnInputs=obj.type.inputs}if(!fnOutput){fnOutput=obj.type.output}const mappedNames=new Map();const whereClause=new Map();const fnParamNames=obj.paramNames;const queryParamNames=[];const remapQuery=queryElem=>{if(queryElem.id<0){queryParamNames[-1-queryElem.id]=queryElem.name}if(queryElem.generics.length>0){queryElem.generics.forEach(remapQuery)}if(queryElem.bindings.size>0){[...queryElem.bindings.values()].flat().forEach(remapQuery)}};parsedQuery.elems.forEach(remapQuery);parsedQuery.returned.forEach(remapQuery);const pushText=(fnType,result)=>{if(!!(result.length%2)===!!fnType.highlighted){result.push("")}else if(result.length===0&&!!fnType.highlighted){result.push("");result.push("")}result[result.length-1]+=fnType.name};const writeHof=(fnType,result)=>{const hofOutput=fnType.bindings.get(this.typeNameIdOfOutput)||[];const hofInputs=fnType.generics;pushText(fnType,result);pushText({name:" (",highlighted:false},result);let needsComma=false;for(const fnType of hofInputs){if(needsComma){pushText({name:", ",highlighted:false},result)}needsComma=true;writeFn(fnType,result)}pushText({name:hofOutput.length===0?")":") -> ",highlighted:false,},result);if(hofOutput.length>1){pushText({name:"(",highlighted:false},result)}needsComma=false;for(const fnType of hofOutput){if(needsComma){pushText({name:", ",highlighted:false},result)}needsComma=true;writeFn(fnType,result)}if(hofOutput.length>1){pushText({name:")",highlighted:false},result)}};const writeSpecialPrimitive=(fnType,result)=>{if(fnType.id===this.typeNameIdOfArray||fnType.id===this.typeNameIdOfSlice||fnType.id===this.typeNameIdOfTuple||fnType.id===this.typeNameIdOfUnit){const[ob,sb]=fnType.id===this.typeNameIdOfArray||fnType.id===this.typeNameIdOfSlice?["[","]"]:["(",")"];pushText({name:ob,highlighted:fnType.highlighted},result);onEachBtwn(fnType.generics,nested=>writeFn(nested,result),()=>pushText({name:", ",highlighted:false},result),);pushText({name:sb,highlighted:fnType.highlighted},result);return true}else if(fnType.id===this.typeNameIdOfReference){pushText({name:"&",highlighted:fnType.highlighted},result);let prevHighlighted=false;onEachBtwn(fnType.generics,value=>{prevHighlighted=value.highlighted;writeFn(value,result)},value=>pushText({name:" ",highlighted:prevHighlighted&&value.highlighted,},result),);return true}else if(fnType.id===this.typeNameIdOfFn){writeHof(fnType,result);return true}return false};const writeFn=(fnType,result)=>{if(fnType.id<0){if(fnParamNames[-1-fnType.id]===""){const generics=fnType.generics.length>0?fnType.generics:obj.type.where_clause[-1-fnType.id];for(const nested of generics){writeFn(nested,result)}return}else if(mgens){for(const[queryId,fnId]of mgens){if(fnId===fnType.id){mappedNames.set(queryParamNames[-1-queryId],fnParamNames[-1-fnType.id],)}}}pushText({name:fnParamNames[-1-fnType.id],highlighted:!!fnType.highlighted,},result);const where=[];onEachBtwn(fnType.generics,nested=>writeFn(nested,where),()=>pushText({name:" + ",highlighted:false},where),);if(where.length>0){whereClause.set(fnParamNames[-1-fnType.id],where)}}else{if(fnType.ty===TY_PRIMITIVE){if(writeSpecialPrimitive(fnType,result)){return}}else if(fnType.ty===TY_TRAIT&&(fnType.id===this.typeNameIdOfFn||fnType.id===this.typeNameIdOfFnMut||fnType.id===this.typeNameIdOfFnOnce)){writeHof(fnType,result);return}pushText(fnType,result);let hasBindings=false;if(fnType.bindings.size>0){onEachBtwn(fnType.bindings,([key,values])=>{const name=this.assocTypeIdNameMap.get(key);if(values.length===1&&values[0].id<0&&`${fnType.name}::${name}`===fnParamNames[-1-values[0].id]){for(const value of values){writeFn(value,[])}return true}if(!hasBindings){hasBindings=true;pushText({name:"<",highlighted:false},result)}pushText({name,highlighted:false},result);pushText({name:values.length!==1?"=(":"=",highlighted:false,},result);onEachBtwn(values||[],value=>writeFn(value,result),()=>pushText({name:" + ",highlighted:false},result),);if(values.length!==1){pushText({name:")",highlighted:false},result)}},()=>pushText({name:", ",highlighted:false},result),)}if(fnType.generics.length>0){pushText({name:hasBindings?", ":"<",highlighted:false},result)}onEachBtwn(fnType.generics,value=>writeFn(value,result),()=>pushText({name:", ",highlighted:false},result),);if(hasBindings||fnType.generics.length>0){pushText({name:">",highlighted:false},result)}}};const type=[];onEachBtwn(fnInputs,fnType=>writeFn(fnType,type),()=>pushText({name:", ",highlighted:false},type),);pushText({name:" -> ",highlighted:false},type);onEachBtwn(fnOutput,fnType=>writeFn(fnType,type),()=>pushText({name:", ",highlighted:false},type),);return{type,mappedNames,whereClause}};const sortResults=async(results,typeInfo,preferredCrate)=>{const userQuery=parsedQuery.userQuery;const normalizedUserQuery=parsedQuery.userQuery.toLowerCase();const isMixedCase=normalizedUserQuery!==userQuery;const result_list=[];for(const result of results.values()){result.item=this.searchIndex[result.id];result.word=this.searchIndex[result.id].word;result_list.push(result)}result_list.sort((aaa,bbb)=>{let a,b;if(isMixedCase){a=(aaa.item.name!==userQuery);b=(bbb.item.name!==userQuery);if(a!==b){return a-b}}a=(aaa.word!==normalizedUserQuery);b=(bbb.word!==normalizedUserQuery);if(a!==b){return a-b}a=(aaa.index<0);b=(bbb.index<0);if(a!==b){return a-b}a=aaa.path_dist;b=bbb.path_dist;if(a!==b){return a-b}a=aaa.index;b=bbb.index;if(a!==b){return a-b}a=(aaa.dist);b=(bbb.dist);if(a!==b){return a-b}a=this.searchIndexDeprecated.get(aaa.item.crate).contains(aaa.item.bitIndex);b=this.searchIndexDeprecated.get(bbb.item.crate).contains(bbb.item.bitIndex);if(a!==b){return a-b}a=(aaa.item.crate!==preferredCrate);b=(bbb.item.crate!==preferredCrate);if(a!==b){return a-b}a=aaa.word.length;b=bbb.word.length;if(a!==b){return a-b}a=aaa.word;b=bbb.word;if(a!==b){return(a>b?+1:-1)}a=this.searchIndexEmptyDesc.get(aaa.item.crate).contains(aaa.item.bitIndex);b=this.searchIndexEmptyDesc.get(bbb.item.crate).contains(bbb.item.bitIndex);if(a!==b){return a-b}a=aaa.item.ty;b=bbb.item.ty;if(a!==b){return a-b}a=aaa.item.path;b=bbb.item.path;if(a!==b){return(a>b?+1:-1)}return 0});return transformResults(result_list,typeInfo)};function unifyFunctionTypes(fnTypesIn,queryElems,whereClause,mgensIn,solutionCb,unboxingDepth,){if(unboxingDepth>=UNBOXING_LIMIT){return null}const mgens=mgensIn===null?null:new Map(mgensIn);if(queryElems.length===0){return solutionCb(mgens)?fnTypesIn:null}if(!fnTypesIn||fnTypesIn.length===0){return null}const ql=queryElems.length;const fl=fnTypesIn.length;if(ql===1&&queryElems[0].generics.length===0&&queryElems[0].bindings.size===0){const queryElem=queryElems[0];for(const[i,fnType]of fnTypesIn.entries()){if(!unifyFunctionTypeIsMatchCandidate(fnType,queryElem,mgens)){continue}if(fnType.id<0&&queryElem.id<0){if(mgens&&mgens.has(queryElem.id)&&mgens.get(queryElem.id)!==fnType.id){continue}const mgensScratch=new Map(mgens);mgensScratch.set(queryElem.id,fnType.id);if(!solutionCb||solutionCb(mgensScratch)){const highlighted=[...fnTypesIn];highlighted[i]=Object.assign({highlighted:true,},fnType,{generics:whereClause[-1-fnType.id],});return highlighted}}else if(solutionCb(mgens?new Map(mgens):null)){const highlighted=[...fnTypesIn];highlighted[i]=Object.assign({highlighted:true,},fnType,{generics:unifyGenericTypes(fnType.generics,queryElem.generics,whereClause,mgens?new Map(mgens):null,solutionCb,unboxingDepth,)||fnType.generics,});return highlighted}}for(const[i,fnType]of fnTypesIn.entries()){if(!unifyFunctionTypeIsUnboxCandidate(fnType,queryElem,whereClause,mgens,unboxingDepth+1,)){continue}if(fnType.id<0){const highlightedGenerics=unifyFunctionTypes(whereClause[(-fnType.id)-1],queryElems,whereClause,mgens,solutionCb,unboxingDepth+1,);if(highlightedGenerics){const highlighted=[...fnTypesIn];highlighted[i]=Object.assign({highlighted:true,},fnType,{generics:highlightedGenerics,});return highlighted}}else{const highlightedGenerics=unifyFunctionTypes([...Array.from(fnType.bindings.values()).flat(),...fnType.generics],queryElems,whereClause,mgens?new Map(mgens):null,solutionCb,unboxingDepth+1,);if(highlightedGenerics){const highlighted=[...fnTypesIn];highlighted[i]=Object.assign({},fnType,{generics:highlightedGenerics,bindings:new Map([...fnType.bindings.entries()].map(([k,v])=>{return[k,highlightedGenerics.splice(0,v.length)]})),});return highlighted}}}return false}const fnTypes=fnTypesIn.slice();const flast=fl-1;const qlast=ql-1;const queryElem=queryElems[qlast];let queryElemsTmp=null;for(let i=flast;i>=0;i-=1){const fnType=fnTypes[i];if(!unifyFunctionTypeIsMatchCandidate(fnType,queryElem,mgens)){continue}let mgensScratch;if(fnType.id<0){mgensScratch=new Map(mgens);if(mgensScratch.has(queryElem.id)&&mgensScratch.get(queryElem.id)!==fnType.id){continue}mgensScratch.set(queryElem.id,fnType.id)}else{mgensScratch=mgens}fnTypes[i]=fnTypes[flast];fnTypes.length=flast;if(!queryElemsTmp){queryElemsTmp=queryElems.slice(0,qlast)}let unifiedGenerics=[];let unifiedGenericsMgens=null;const passesUnification=unifyFunctionTypes(fnTypes,queryElemsTmp,whereClause,mgensScratch,mgensScratch=>{if(fnType.generics.length===0&&queryElem.generics.length===0&&fnType.bindings.size===0&&queryElem.bindings.size===0){return solutionCb(mgensScratch)}const solution=unifyFunctionTypeCheckBindings(fnType,queryElem,whereClause,mgensScratch,unboxingDepth,);if(!solution){return false}const simplifiedGenerics=solution.simplifiedGenerics;for(const simplifiedMgens of solution.mgens){unifiedGenerics=unifyGenericTypes(simplifiedGenerics,queryElem.generics,whereClause,simplifiedMgens,solutionCb,unboxingDepth,);if(unifiedGenerics!==null){unifiedGenericsMgens=simplifiedMgens;return true}}return false},unboxingDepth,);if(passesUnification){passesUnification.length=fl;passesUnification[flast]=passesUnification[i];passesUnification[i]=Object.assign({},fnType,{highlighted:true,generics:unifiedGenerics,bindings:new Map([...fnType.bindings.entries()].map(([k,v])=>{return[k,queryElem.bindings.has(k)?unifyFunctionTypes(v,queryElem.bindings.get(k),whereClause,unifiedGenericsMgens,solutionCb,unboxingDepth,):unifiedGenerics.splice(0,v.length)]})),});return passesUnification}fnTypes[flast]=fnTypes[i];fnTypes[i]=fnType;fnTypes.length=fl}for(let i=flast;i>=0;i-=1){const fnType=fnTypes[i];if(!unifyFunctionTypeIsUnboxCandidate(fnType,queryElem,whereClause,mgens,unboxingDepth+1,)){continue}const generics=fnType.id<0?whereClause[(-fnType.id)-1]:fnType.generics;const bindings=fnType.bindings?Array.from(fnType.bindings.values()).flat():[];const passesUnification=unifyFunctionTypes(fnTypes.toSpliced(i,1,...bindings,...generics),queryElems,whereClause,mgens,solutionCb,unboxingDepth+1,);if(passesUnification){const highlightedGenerics=passesUnification.slice(i,i+generics.length+bindings.length,);const highlightedFnType=Object.assign({},fnType,{generics:highlightedGenerics,bindings:new Map([...fnType.bindings.entries()].map(([k,v])=>{return[k,highlightedGenerics.splice(0,v.length)]})),});return passesUnification.toSpliced(i,generics.length+bindings.length,highlightedFnType,)}}return null}function unifyGenericTypes(fnTypesIn,queryElems,whereClause,mgensIn,solutionCb,unboxingDepth,){if(unboxingDepth>=UNBOXING_LIMIT){return null}const mgens=mgensIn===null?null:new Map(mgensIn);if(queryElems.length===0){return solutionCb(mgens)?fnTypesIn:null}if(!fnTypesIn||fnTypesIn.length===0){return null}const fnType=fnTypesIn[0];const queryElem=queryElems[0];if(unifyFunctionTypeIsMatchCandidate(fnType,queryElem,mgens)){if(fnType.id<0&&queryElem.id<0){if(!mgens||!mgens.has(queryElem.id)||mgens.get(queryElem.id)===fnType.id){const mgensScratch=new Map(mgens);mgensScratch.set(queryElem.id,fnType.id);const fnTypesRemaining=unifyGenericTypes(fnTypesIn.slice(1),queryElems.slice(1),whereClause,mgensScratch,solutionCb,unboxingDepth,);if(fnTypesRemaining){const highlighted=[fnType,...fnTypesRemaining];highlighted[0]=Object.assign({highlighted:true,},fnType,{generics:whereClause[-1-fnType.id],});return highlighted}}}else{let unifiedGenerics;const fnTypesRemaining=unifyGenericTypes(fnTypesIn.slice(1),queryElems.slice(1),whereClause,mgens,mgensScratch=>{const solution=unifyFunctionTypeCheckBindings(fnType,queryElem,whereClause,mgensScratch,unboxingDepth,);if(!solution){return false}const simplifiedGenerics=solution.simplifiedGenerics;for(const simplifiedMgens of solution.mgens){unifiedGenerics=unifyGenericTypes(simplifiedGenerics,queryElem.generics,whereClause,simplifiedMgens,solutionCb,unboxingDepth,);if(unifiedGenerics!==null){return true}}},unboxingDepth,);if(fnTypesRemaining){const highlighted=[fnType,...fnTypesRemaining];highlighted[0]=Object.assign({highlighted:true,},fnType,{generics:unifiedGenerics||fnType.generics,});return highlighted}}}if(unifyFunctionTypeIsUnboxCandidate(fnType,queryElem,whereClause,mgens,unboxingDepth+1,)){let highlightedRemaining;if(fnType.id<0){const highlightedGenerics=unifyFunctionTypes(whereClause[(-fnType.id)-1],[queryElem],whereClause,mgens,mgensScratch=>{const hl=unifyGenericTypes(fnTypesIn.slice(1),queryElems.slice(1),whereClause,mgensScratch,solutionCb,unboxingDepth,);if(hl){highlightedRemaining=hl}return hl},unboxingDepth+1,);if(highlightedGenerics){return[Object.assign({highlighted:true,},fnType,{generics:highlightedGenerics,}),...highlightedRemaining]}}else{const highlightedGenerics=unifyGenericTypes([...Array.from(fnType.bindings.values()).flat(),...fnType.generics,],[queryElem],whereClause,mgens,mgensScratch=>{const hl=unifyGenericTypes(fnTypesIn.slice(1),queryElems.slice(1),whereClause,mgensScratch,solutionCb,unboxingDepth,);if(hl){highlightedRemaining=hl}return hl},unboxingDepth+1,);if(highlightedGenerics){return[Object.assign({},fnType,{generics:highlightedGenerics,bindings:new Map([...fnType.bindings.entries()].map(([k,v])=>{return[k,highlightedGenerics.splice(0,v.length)]})),}),...highlightedRemaining]}}}return null}const unifyFunctionTypeIsMatchCandidate=(fnType,queryElem,mgensIn)=>{if(!typePassesFilter(queryElem.typeFilter,fnType.ty)){return false}if(fnType.id<0&&queryElem.id<0){if(mgensIn&&mgensIn.has(queryElem.id)&&mgensIn.get(queryElem.id)!==fnType.id){return false}return true}else{if(queryElem.id===this.typeNameIdOfArrayOrSlice&&(fnType.id===this.typeNameIdOfSlice||fnType.id===this.typeNameIdOfArray)){}else if(queryElem.id===this.typeNameIdOfTupleOrUnit&&(fnType.id===this.typeNameIdOfTuple||fnType.id===this.typeNameIdOfUnit)){}else if(queryElem.id===this.typeNameIdOfHof&&(fnType.id===this.typeNameIdOfFn||fnType.id===this.typeNameIdOfFnMut||fnType.id===this.typeNameIdOfFnOnce)){}else if(fnType.id!==queryElem.id||queryElem.id===null){return false}if((fnType.generics.length+fnType.bindings.size)===0&&queryElem.generics.length!==0){return false}if(fnType.bindings.size0){const fnTypePath=fnType.path!==undefined&&fnType.path!==null?fnType.path.split("::"):[];if(queryElemPathLength>fnTypePath.length){return false}let i=0;for(const path of fnTypePath){if(path===queryElem.pathWithoutLast[i]){i+=1;if(i>=queryElemPathLength){break}}}if(i0){let mgensSolutionSet=[mgensIn];for(const[name,constraints]of queryElem.bindings.entries()){if(mgensSolutionSet.length===0){return false}if(!fnType.bindings.has(name)){return false}const fnTypeBindings=fnType.bindings.get(name);mgensSolutionSet=mgensSolutionSet.flatMap(mgens=>{const newSolutions=[];unifyFunctionTypes(fnTypeBindings,constraints,whereClause,mgens,newMgens=>{newSolutions.push(newMgens);return false},unboxingDepth,);return newSolutions})}if(mgensSolutionSet.length===0){return false}const binds=Array.from(fnType.bindings.entries()).flatMap(entry=>{const[name,constraints]=entry;if(queryElem.bindings.has(name)){return[]}else{return constraints}});if(simplifiedGenerics.length>0){simplifiedGenerics=[...binds,...simplifiedGenerics]}else{simplifiedGenerics=binds}return{simplifiedGenerics,mgens:mgensSolutionSet}}return{simplifiedGenerics,mgens:[mgensIn]}}function unifyFunctionTypeIsUnboxCandidate(fnType,queryElem,whereClause,mgens,unboxingDepth,){if(unboxingDepth>=UNBOXING_LIMIT){return false}if(fnType.id<0){if(!whereClause){return false}return checkIfInList(whereClause[(-fnType.id)-1],queryElem,whereClause,mgens,unboxingDepth,)}else if(fnType.unboxFlag&&(fnType.generics.length>0||fnType.bindings.size>0)){const simplifiedGenerics=[...fnType.generics,...Array.from(fnType.bindings.values()).flat(),];return checkIfInList(simplifiedGenerics,queryElem,whereClause,mgens,unboxingDepth,)}return false}function checkIfInList(list,elem,whereClause,mgens,unboxingDepth){for(const entry of list){if(checkType(entry,elem,whereClause,mgens,unboxingDepth)){return true}}return false}const checkType=(row,elem,whereClause,mgens,unboxingDepth)=>{if(unboxingDepth>=UNBOXING_LIMIT){return false}if(row.id>0&&elem.id>0&&elem.pathWithoutLast.length===0&&row.generics.length===0&&elem.generics.length===0&&row.bindings.size===0&&elem.bindings.size===0&&elem.id!==this.typeNameIdOfArrayOrSlice&&elem.id!==this.typeNameIdOfHof&&elem.id!==this.typeNameIdOfTupleOrUnit){return row.id===elem.id&&typePassesFilter(elem.typeFilter,row.ty)}else{return unifyFunctionTypes([row],[elem],whereClause,mgens,()=>true,unboxingDepth,)}};const checkTypeMgensForConflict=mgens=>{if(!mgens){return true}const fnTypes=new Set();for(const[_qid,fid]of mgens){if(fnTypes.has(fid)){return false}fnTypes.add(fid)}return true};function checkPath(contains,ty){if(contains.length===0){return 0}const maxPathEditDistance=Math.floor(contains.reduce((acc,next)=>acc+next.length,0)/3,);let ret_dist=maxPathEditDistance+1;const path=ty.path.split("::");if(ty.parent&&ty.parent.name){path.push(ty.parent.name.toLowerCase())}const length=path.length;const clength=contains.length;pathiter:for(let i=length-clength;i>=0;i-=1){let dist_total=0;for(let x=0;xmaxPathEditDistance){continue pathiter}dist_total+=dist}}ret_dist=Math.min(ret_dist,Math.round(dist_total/clength))}return ret_dist>maxPathEditDistance?null:ret_dist}function typePassesFilter(filter,type){if(filter<=NO_TYPE_FILTER||filter===type)return true;const name=itemTypes[type];switch(itemTypes[filter]){case"constant":return name==="associatedconstant";case"fn":return name==="method"||name==="tymethod";case"type":return name==="primitive"||name==="associatedtype";case"trait":return name==="traitalias"}return false}function createAliasFromItem(item){return{crate:item.crate,name:item.name,path:item.path,descShard:item.descShard,descIndex:item.descIndex,exactPath:item.exactPath,ty:item.ty,parent:item.parent,type:item.type,is_alias:true,bitIndex:item.bitIndex,implDisambiguator:item.implDisambiguator,}}const handleAliases=async(ret,query,filterCrates,currentCrate)=>{const lowerQuery=query.toLowerCase();const aliases=[];const crateAliases=[];if(filterCrates!==null){if(this.ALIASES.has(filterCrates)&&this.ALIASES.get(filterCrates).has(lowerQuery)){const query_aliases=this.ALIASES.get(filterCrates).get(lowerQuery);for(const alias of query_aliases){aliases.push(createAliasFromItem(this.searchIndex[alias]))}}}else{for(const[crate,crateAliasesIndex]of this.ALIASES){if(crateAliasesIndex.has(lowerQuery)){const pushTo=crate===currentCrate?crateAliases:aliases;const query_aliases=crateAliasesIndex.get(lowerQuery);for(const alias of query_aliases){pushTo.push(createAliasFromItem(this.searchIndex[alias]))}}}}const sortFunc=(aaa,bbb)=>{if(aaa.path{return this.searchIndexEmptyDesc.get(alias.crate).contains(alias.bitIndex)?"":this.searchState.loadDesc(alias)};const[crateDescs,descs]=await Promise.all([Promise.all(crateAliases.map(fetchDesc)),Promise.all(aliases.map(fetchDesc)),]);const pushFunc=alias=>{alias.alias=query;const res=buildHrefAndPath(alias);alias.displayPath=pathSplitter(res[0]);alias.fullPath=alias.displayPath+alias.name;alias.href=res[1];ret.others.unshift(alias);if(ret.others.length>MAX_RESULTS){ret.others.pop()}};aliases.forEach((alias,i)=>{alias.desc=descs[i]});aliases.forEach(pushFunc);crateAliases.forEach((alias,i)=>{alias.desc=crateDescs[i]});crateAliases.forEach(pushFunc)};function addIntoResults(results,fullId,id,index,dist,path_dist,maxEditDistance){if(dist<=maxEditDistance||index!==-1){if(results.has(fullId)){const result=results.get(fullId);if(result.dontValidate||result.dist<=dist){return}}results.set(fullId,{id:id,index:index,dontValidate:parsedQuery.literalSearch,dist:dist,path_dist:path_dist,})}}function handleArgs(row,pos,results){if(!row||(filterCrates!==null&&row.crate!==filterCrates)||!row.type){return}const tfpDist=compareTypeFingerprints(row.id,parsedQuery.typeFingerprint,);if(tfpDist===null){return}if(results.size>=MAX_RESULTS&&tfpDist>results.max_dist){return}if(!unifyFunctionTypes(row.type.inputs,parsedQuery.elems,row.type.where_clause,null,mgens=>{return unifyFunctionTypes(row.type.output,parsedQuery.returned,row.type.where_clause,mgens,checkTypeMgensForConflict,0,)},0,)){return}results.max_dist=Math.max(results.max_dist||0,tfpDist);addIntoResults(results,row.id,pos,0,tfpDist,0,Number.MAX_VALUE)}const compareTypeFingerprints=(fullId,queryFingerprint)=>{const fh0=this.functionTypeFingerprint[fullId*4];const fh1=this.functionTypeFingerprint[(fullId*4)+1];const fh2=this.functionTypeFingerprint[(fullId*4)+2];const[qh0,qh1,qh2]=queryFingerprint;const[in0,in1,in2]=[fh0&qh0,fh1&qh1,fh2&qh2];if((in0 ^ qh0)||(in1 ^ qh1)||(in2 ^ qh2)){return null}return this.functionTypeFingerprint[(fullId*4)+3]};const innerRunQuery=()=>{const queryLen=parsedQuery.elems.reduce((acc,next)=>acc+next.pathLast.length,0)+parsedQuery.returned.reduce((acc,next)=>acc+next.pathLast.length,0);const maxEditDistance=Math.floor(queryLen/3);const genericSymbols=new Map();const convertNameToId=(elem,isAssocType)=>{const loweredName=elem.pathLast.toLowerCase();if(this.typeNameIdMap.has(loweredName)&&(isAssocType||!this.typeNameIdMap.get(loweredName).assocOnly)){elem.id=this.typeNameIdMap.get(loweredName).id}else if(!parsedQuery.literalSearch){let match=null;let matchDist=maxEditDistance+1;let matchName="";for(const[name,{id,assocOnly}]of this.typeNameIdMap){const dist=Math.min(editDistance(name,loweredName,maxEditDistance),editDistance(name,elem.normalizedPathLast,maxEditDistance),);if(dist<=matchDist&&dist<=maxEditDistance&&(isAssocType||!assocOnly)){if(dist===matchDist&&matchName>name){continue}match=id;matchDist=dist;matchName=name}}if(match!==null){parsedQuery.correction=matchName}elem.id=match}if((elem.id===null&&parsedQuery.totalElems>1&&elem.typeFilter===-1&&elem.generics.length===0&&elem.bindings.size===0)||elem.typeFilter===TY_GENERIC){if(genericSymbols.has(elem.normalizedPathLast)){elem.id=genericSymbols.get(elem.normalizedPathLast)}else{elem.id=-(genericSymbols.size+1);genericSymbols.set(elem.normalizedPathLast,elem.id)}if(elem.typeFilter===-1&&elem.normalizedPathLast.length>=3){const maxPartDistance=Math.floor(elem.normalizedPathLast.length/3);let matchDist=maxPartDistance+1;let matchName="";for(const name of this.typeNameIdMap.keys()){const dist=editDistance(name,elem.normalizedPathLast,maxPartDistance,);if(dist<=matchDist&&dist<=maxPartDistance){if(dist===matchDist&&matchName>name){continue}matchDist=dist;matchName=name}}if(matchName!==""){parsedQuery.proposeCorrectionFrom=elem.name;parsedQuery.proposeCorrectionTo=matchName}}elem.typeFilter=TY_GENERIC}if(elem.generics.length>0&&elem.typeFilter===TY_GENERIC){parsedQuery.error=["Generic type parameter ",elem.name," does not accept generic parameters",]}for(const elem2 of elem.generics){convertNameToId(elem2)}elem.bindings=new Map(Array.from(elem.bindings.entries()).map(entry=>{const[name,constraints]=entry;if(!this.typeNameIdMap.has(name)){parsedQuery.error=["Type parameter ",name," does not exist",];return[null,[]]}for(const elem2 of constraints){convertNameToId(elem2)}return[this.typeNameIdMap.get(name).id,constraints]}),)};for(const elem of parsedQuery.elems){convertNameToId(elem);this.buildFunctionTypeFingerprint(elem,parsedQuery.typeFingerprint)}for(const elem of parsedQuery.returned){convertNameToId(elem);this.buildFunctionTypeFingerprint(elem,parsedQuery.typeFingerprint)}if(parsedQuery.foundElems===1&&!parsedQuery.hasReturnArrow){const elem=parsedQuery.elems[0];const handleNameSearch=id=>{const row=this.searchIndex[id];if(!typePassesFilter(elem.typeFilter,row.ty)||(filterCrates!==null&&row.crate!==filterCrates)){return}let pathDist=0;if(elem.fullPath.length>1){pathDist=checkPath(elem.pathWithoutLast,row);if(pathDist===null){return}}if(parsedQuery.literalSearch){if(row.word===elem.pathLast){addIntoResults(results_others,row.id,id,0,0,pathDist)}}else{addIntoResults(results_others,row.id,id,row.normalizedName.indexOf(elem.normalizedPathLast),editDistance(row.normalizedName,elem.normalizedPathLast,maxEditDistance,),pathDist,maxEditDistance,)}};if(elem.normalizedPathLast!==""){const last=elem.normalizedPathLast;for(const id of this.nameTrie.search(last,this.tailTable)){handleNameSearch(id)}}const length=this.searchIndex.length;for(let i=0,nSearchIndex=length;i0){const sortQ=(a,b)=>{const ag=a.generics.length===0&&a.bindings.size===0;const bg=b.generics.length===0&&b.bindings.size===0;if(ag!==bg){return ag-bg}const ai=a.id>0;const bi=b.id>0;return ai-bi};parsedQuery.elems.sort(sortQ);parsedQuery.returned.sort(sortQ);for(let i=0,nSearchIndex=this.searchIndex.length;i{const descs=await Promise.all(list.map(result=>{return this.searchIndexEmptyDesc.get(result.crate).contains(result.bitIndex)?"":this.searchState.loadDesc(result)}));for(const[i,result]of list.entries()){result.desc=descs[i]}}));if(parsedQuery.error!==null&&ret.others.length!==0){ret.query.error=null}return ret}}let rawSearchIndex;let docSearch;const longItemTypes=["keyword","primitive type","module","extern crate","re-export","struct","enum","function","type alias","static","trait","","trait method","method","struct field","enum variant","macro","assoc type","constant","assoc const","union","foreign type","existential type","attribute macro","derive macro","trait alias",];let currentResults;function printTab(nb){let iter=0;let foundCurrentTab=false;let foundCurrentResultSet=false;onEachLazy(document.getElementById("search-tabs").childNodes,elem=>{if(nb===iter){addClass(elem,"selected");foundCurrentTab=true}else{removeClass(elem,"selected")}iter+=1});const isTypeSearch=(nb>0||iter===1);iter=0;onEachLazy(document.getElementById("results").childNodes,elem=>{if(nb===iter){addClass(elem,"active");foundCurrentResultSet=true}else{removeClass(elem,"active")}iter+=1});if(foundCurrentTab&&foundCurrentResultSet){searchState.currentTab=nb;const correctionsElem=document.getElementsByClassName("search-corrections");if(isTypeSearch){removeClass(correctionsElem[0],"hidden")}else{addClass(correctionsElem[0],"hidden")}}else if(nb!==0){printTab(0)}}function buildUrl(search,filterCrates){let extra="?search="+encodeURIComponent(search);if(filterCrates!==null){extra+="&filter-crate="+encodeURIComponent(filterCrates)}return getNakedUrl()+extra+window.location.hash}function getFilterCrates(){const elem=document.getElementById("crate-search");if(elem&&elem.value!=="all crates"&&window.searchIndex.has(elem.value)){return elem.value}return null}function nextTab(direction){const next=(searchState.currentTab+direction+3)%searchState.focusedByTab.length;searchState.focusedByTab[searchState.currentTab]=document.activeElement;printTab(next);focusSearchResult()}function focusSearchResult(){const target=searchState.focusedByTab[searchState.currentTab]||document.querySelectorAll(".search-results.active a").item(0)||document.querySelectorAll("#search-tabs button").item(searchState.currentTab);searchState.focusedByTab[searchState.currentTab]=null;if(target){target.focus()}}async function addTab(array,query,display){const extraClass=display?" active":"";const output=document.createElement(array.length===0&&query.error===null?"div":"ul",);if(array.length>0){output.className="search-results "+extraClass;const lis=Promise.all(array.map(async item=>{const name=item.name;const type=itemTypes[item.ty];const longType=longItemTypes[item.ty];const typeName=longType.length!==0?`${longType}`:"?";const link=document.createElement("a");link.className="result-"+type;link.href=item.href;const resultName=document.createElement("span");resultName.className="result-name";resultName.insertAdjacentHTML("beforeend",`${typeName}`);link.appendChild(resultName);let alias=" ";if(item.is_alias){alias=`
    \ +${item.alias} - see \ +
    `}resultName.insertAdjacentHTML("beforeend",`
    ${alias}\ +${item.displayPath}${name}\ +
    `);const description=document.createElement("div");description.className="desc";description.insertAdjacentHTML("beforeend",item.desc);if(item.displayTypeSignature){const{type,mappedNames,whereClause}=await item.displayTypeSignature;const displayType=document.createElement("div");type.forEach((value,index)=>{if(index%2!==0){const highlight=document.createElement("strong");highlight.appendChild(document.createTextNode(value));displayType.appendChild(highlight)}else{displayType.appendChild(document.createTextNode(value))}});if(mappedNames.size>0||whereClause.size>0){let addWhereLineFn=()=>{const line=document.createElement("div");line.className="where";line.appendChild(document.createTextNode("where"));displayType.appendChild(line);addWhereLineFn=()=>{}};for(const[qname,name]of mappedNames){if(name===qname){continue}addWhereLineFn();const line=document.createElement("div");line.className="where";line.appendChild(document.createTextNode(` ${qname} matches `));const lineStrong=document.createElement("strong");lineStrong.appendChild(document.createTextNode(name));line.appendChild(lineStrong);displayType.appendChild(line)}for(const[name,innerType]of whereClause){if(innerType.length<=1){continue}addWhereLineFn();const line=document.createElement("div");line.className="where";line.appendChild(document.createTextNode(` ${name}: `));innerType.forEach((value,index)=>{if(index%2!==0){const highlight=document.createElement("strong");highlight.appendChild(document.createTextNode(value));line.appendChild(highlight)}else{line.appendChild(document.createTextNode(value))}});displayType.appendChild(line)}}displayType.className="type-signature";link.appendChild(displayType)}link.appendChild(description);return link}));lis.then(lis=>{for(const li of lis){output.appendChild(li)}})}else if(query.error===null){output.className="search-failed"+extraClass;output.innerHTML="No results :(
    "+"Try on DuckDuckGo?

    "+"Or try looking in one of these:"}return output}function makeTabHeader(tabNb,text,nbElems){const fmtNbElems=nbElems<10?`\u{2007}(${nbElems})\u{2007}\u{2007}`:nbElems<100?`\u{2007}(${nbElems})\u{2007}`:`\u{2007}(${nbElems})`;if(searchState.currentTab===tabNb){return""}return""}async function showResults(results,go_to_first,filterCrates){const search=searchState.outputElement();if(go_to_first||(results.others.length===1&&getSettingValue("go-to-only-result")==="true")){window.onunload=()=>{};searchState.removeQueryParameters();const elem=document.createElement("a");elem.href=results.others[0].href;removeClass(elem,"active");document.body.appendChild(elem);elem.click();return}if(results.query===undefined){results.query=DocSearch.parseQuery(searchState.input.value)}currentResults=results.query.userQuery;let currentTab=searchState.currentTab;if((currentTab===0&&results.others.length===0)||(currentTab===1&&results.in_args.length===0)||(currentTab===2&&results.returned.length===0)){if(results.others.length!==0){currentTab=0}else if(results.in_args.length){currentTab=1}else if(results.returned.length){currentTab=2}}let crates="";if(rawSearchIndex.size>1){crates="
    in 
    "+"
    "}let output=`
    \ +

    Results

    ${crates}
    `;if(results.query.error!==null){const error=results.query.error;error.forEach((value,index)=>{value=value.split("<").join("<").split(">").join(">");if(index%2!==0){error[index]=`${value.replaceAll(" ", " ")}`}else{error[index]=value}});output+=`

    Query parser error: "${error.join("")}".

    `;output+="
    "+makeTabHeader(0,"In Names",results.others.length)+"
    ";currentTab=0}else if(results.query.foundElems<=1&&results.query.returned.length===0){output+="
    "+makeTabHeader(0,"In Names",results.others.length)+makeTabHeader(1,"In Parameters",results.in_args.length)+makeTabHeader(2,"In Return Types",results.returned.length)+"
    "}else{const signatureTabTitle=results.query.elems.length===0?"In Function Return Types":results.query.returned.length===0?"In Function Parameters":"In Function Signatures";output+="
    "+makeTabHeader(0,signatureTabTitle,results.others.length)+"
    ";currentTab=0}if(results.query.correction!==null){const orig=results.query.returned.length>0?results.query.returned[0].name:results.query.elems[0].name;output+="

    "+`Type "${orig}" not found. `+"Showing results for closest type name "+`"${results.query.correction}" instead.

    `}if(results.query.proposeCorrectionFrom!==null){const orig=results.query.proposeCorrectionFrom;const targ=results.query.proposeCorrectionTo;output+="

    "+`Type "${orig}" not found and used as generic parameter. `+`Consider searching for "${targ}" instead.

    `}const[ret_others,ret_in_args,ret_returned]=await Promise.all([addTab(results.others,results.query,currentTab===0),addTab(results.in_args,results.query,currentTab===1),addTab(results.returned,results.query,currentTab===2),]);const resultsElem=document.createElement("div");resultsElem.id="results";resultsElem.appendChild(ret_others);resultsElem.appendChild(ret_in_args);resultsElem.appendChild(ret_returned);search.innerHTML=output;if(searchState.rustdocToolbar){search.querySelector(".main-heading").appendChild(searchState.rustdocToolbar)}const crateSearch=document.getElementById("crate-search");if(crateSearch){crateSearch.addEventListener("input",updateCrate)}search.appendChild(resultsElem);searchState.showResults(search);const elems=document.getElementById("search-tabs").childNodes;searchState.focusedByTab=[];let i=0;for(const elem of elems){const j=i;elem.onclick=()=>printTab(j);searchState.focusedByTab.push(null);i+=1}printTab(currentTab)}function updateSearchHistory(url){if(!browserSupportsHistoryApi()){return}const params=searchState.getQueryStringParams();if(!history.state&&!params.search){history.pushState(null,"",url)}else{history.replaceState(null,"",url)}}async function search(forced){const query=DocSearch.parseQuery(searchState.input.value.trim());let filterCrates=getFilterCrates();if(!forced&&query.userQuery===currentResults){if(query.userQuery.length>0){putBackSearch()}return}searchState.setLoadingSearch();const params=searchState.getQueryStringParams();if(filterCrates===null&¶ms["filter-crate"]!==undefined){filterCrates=params["filter-crate"]}searchState.title="\""+query.userQuery+"\" Search - Rust";updateSearchHistory(buildUrl(query.userQuery,filterCrates));await showResults(await docSearch.execQuery(query,filterCrates,window.currentCrate),params.go_to_first,filterCrates)}function onSearchSubmit(e){e.preventDefault();searchState.clearInputTimeout();search()}function putBackSearch(){const search_input=searchState.input;if(!searchState.input){return}if(search_input.value!==""&&!searchState.isDisplayed()){searchState.showResults();if(browserSupportsHistoryApi()){history.replaceState(null,"",buildUrl(search_input.value,getFilterCrates()))}document.title=searchState.title}}function registerSearchEvents(){const params=searchState.getQueryStringParams();if(searchState.input.value===""){searchState.input.value=params.search||""}const searchAfter500ms=()=>{searchState.clearInputTimeout();if(searchState.input.value.length===0){searchState.hideResults()}else{searchState.timeout=setTimeout(search,500)}};searchState.input.onkeyup=searchAfter500ms;searchState.input.oninput=searchAfter500ms;document.getElementsByClassName("search-form")[0].onsubmit=onSearchSubmit;searchState.input.onchange=e=>{if(e.target!==document.activeElement){return}searchState.clearInputTimeout();setTimeout(search,0)};searchState.input.onpaste=searchState.input.onchange;searchState.outputElement().addEventListener("keydown",e=>{if(e.altKey||e.ctrlKey||e.shiftKey||e.metaKey){return}if(e.which===38){const previous=document.activeElement.previousElementSibling;if(previous){previous.focus()}else{searchState.focus()}e.preventDefault()}else if(e.which===40){const next=document.activeElement.nextElementSibling;if(next){next.focus()}const rect=document.activeElement.getBoundingClientRect();if(window.innerHeight-rect.bottom{if(e.which===40){focusSearchResult();e.preventDefault()}});searchState.input.addEventListener("focus",()=>{putBackSearch()});searchState.input.addEventListener("blur",()=>{searchState.input.placeholder=searchState.input.origPlaceholder});if(browserSupportsHistoryApi()){const previousTitle=document.title;window.addEventListener("popstate",e=>{const params=searchState.getQueryStringParams();document.title=previousTitle;currentResults=null;if(params.search&¶ms.search.length>0){searchState.input.value=params.search;e.preventDefault();search()}else{searchState.input.value="";searchState.hideResults()}})}window.onpageshow=()=>{const qSearch=searchState.getQueryStringParams().search;if(searchState.input.value===""&&qSearch){searchState.input.value=qSearch}search()}}function updateCrate(ev){if(ev.target.value==="all crates"){const query=searchState.input.value.trim();updateSearchHistory(buildUrl(query,null))}currentResults=null;search(true)}function initSearch(searchIndx){rawSearchIndex=searchIndx;if(typeof window!=="undefined"){docSearch=new DocSearch(rawSearchIndex,ROOT_PATH,searchState);registerSearchEvents();if(window.searchState.getQueryStringParams().search){search()}}else if(typeof exports!=="undefined"){docSearch=new DocSearch(rawSearchIndex,ROOT_PATH,searchState);exports.docSearch=docSearch;exports.parseQuery=DocSearch.parseQuery}}if(typeof exports!=="undefined"){exports.initSearch=initSearch}if(typeof window!=="undefined"){window.initSearch=initSearch;if(window.searchIndex!==undefined){initSearch(window.searchIndex)}}else{initSearch(new Map())}class ParametricDescription{constructor(w,n,minErrors){this.w=w;this.n=n;this.minErrors=minErrors}isAccept(absState){const state=Math.floor(absState/(this.w+1));const offset=absState%(this.w+1);return this.w-offset+this.minErrors[state]<=this.n}getPosition(absState){return absState%(this.w+1)}getVector(name,charCode,pos,end){let vector=0;for(let i=pos;i>5;const bitStart=bitLoc&31;if(bitStart+bitsPerValue<=32){return((data[dataLoc]>>bitStart)&this.MASKS[bitsPerValue-1])}else{const part=32-bitStart;return ~~(((data[dataLoc]>>bitStart)&this.MASKS[part-1])+((data[1+dataLoc]&this.MASKS[bitsPerValue-part-1])<{const settingId=toggle.id;const settingValue=getSettingValue(settingId);if(settingValue!==null){toggle.checked=settingValue==="true"}toggle.onchange=()=>{changeSetting(toggle.id,toggle.checked)}});onEachLazy(settingsElement.querySelectorAll("input[type=\"radio\"]"),elem=>{const settingId=elem.name;let settingValue=getSettingValue(settingId);if(settingId==="theme"){const useSystem=getSettingValue("use-system-theme");if(useSystem==="true"||settingValue===null){settingValue=useSystem==="false"?"light":"system preference"}}if(settingValue!==null&&settingValue!=="null"){elem.checked=settingValue===elem.value}elem.addEventListener("change",ev=>{changeSetting(ev.target.name,ev.target.value)})})}function buildSettingsPageSections(settings){let output="";for(const setting of settings){if(setting==="hr"){output+="
    ";continue}const js_data_name=setting["js_name"];const setting_name=setting["name"];if(setting["options"]!==undefined){output+=`\ +
    +
    ${setting_name}
    +
    `;onEach(setting["options"],option=>{const checked=option===setting["default"]?" checked":"";const full=`${js_data_name}-${option.replace(/ /g,"-")}`;output+=`\ + `});output+=`\ +
    +
    `}else{const checked=setting["default"]===true?" checked":"";output+=`\ +
    \ + \ +
    `}}return output}function buildSettingsPage(){const theme_names=getVar("themes").split(",").filter(t=>t);theme_names.push("light","dark","ayu");const settings=[{"name":"Theme","js_name":"theme","default":"system preference","options":theme_names.concat("system preference"),},{"name":"Preferred light theme","js_name":"preferred-light-theme","default":"light","options":theme_names,},{"name":"Preferred dark theme","js_name":"preferred-dark-theme","default":"dark","options":theme_names,},{"name":"Auto-hide item contents for large items","js_name":"auto-hide-large-items","default":true,},{"name":"Auto-hide item methods' documentation","js_name":"auto-hide-method-docs","default":false,},{"name":"Auto-hide trait implementation documentation","js_name":"auto-hide-trait-implementations","default":false,},{"name":"Directly go to item in search if there is only one result","js_name":"go-to-only-result","default":false,},{"name":"Show line numbers on code examples","js_name":"line-numbers","default":false,},{"name":"Hide persistent navigation bar","js_name":"hide-sidebar","default":false,},{"name":"Hide table of contents","js_name":"hide-toc","default":false,},{"name":"Hide module navigation","js_name":"hide-modnav","default":false,},{"name":"Disable keyboard shortcuts","js_name":"disable-shortcuts","default":false,},];const elementKind=isSettingsPage?"section":"div";const innerHTML=`
    ${buildSettingsPageSections(settings)}
    `;const el=document.createElement(elementKind);el.id="settings";if(!isSettingsPage){el.className="popover"}el.innerHTML=innerHTML;if(isSettingsPage){document.getElementById(MAIN_ID).appendChild(el)}else{el.setAttribute("tabindex","-1");getSettingsButton().appendChild(el)}return el}const settingsMenu=buildSettingsPage();function displaySettings(){settingsMenu.style.display="";onEachLazy(settingsMenu.querySelectorAll("input[type='checkbox']"),el=>{const val=getSettingValue(el.id);const checked=val==="true";if(checked!==el.checked&&val!==null){el.checked=checked}})}function settingsBlurHandler(event){if(!getHelpButton().contains(document.activeElement)&&!getHelpButton().contains(event.relatedTarget)&&!getSettingsButton().contains(document.activeElement)&&!getSettingsButton().contains(event.relatedTarget)){window.hidePopoverMenus()}}if(!isSettingsPage){const settingsButton=getSettingsButton();const settingsMenu=document.getElementById("settings");settingsButton.onclick=event=>{if(settingsMenu.contains(event.target)){return}event.preventDefault();const shouldDisplaySettings=settingsMenu.style.display==="none";window.hideAllModals();if(shouldDisplaySettings){displaySettings()}};settingsButton.onblur=settingsBlurHandler;settingsButton.querySelector("a").onblur=settingsBlurHandler;onEachLazy(settingsMenu.querySelectorAll("input"),el=>{el.onblur=settingsBlurHandler});settingsMenu.onblur=settingsBlurHandler}setTimeout(()=>{setEvents(settingsMenu);if(!isSettingsPage){displaySettings()}removeClass(getSettingsButton(),"rotate")},0)})() \ No newline at end of file diff --git a/doc/static.files/src-script-56102188.js b/doc/static.files/src-script-56102188.js new file mode 100644 index 00000000..d0aebb85 --- /dev/null +++ b/doc/static.files/src-script-56102188.js @@ -0,0 +1 @@ +"use strict";(function(){const rootPath=getVar("root-path");const NAME_OFFSET=0;const DIRS_OFFSET=1;const FILES_OFFSET=2;const RUSTDOC_MOBILE_BREAKPOINT=700;function closeSidebarIfMobile(){if(window.innerWidth{removeClass(document.documentElement,"src-sidebar-expanded");updateLocalStorage("source-sidebar-show","false")};window.rustdocShowSourceSidebar=()=>{addClass(document.documentElement,"src-sidebar-expanded");updateLocalStorage("source-sidebar-show","true")};window.rustdocToggleSrcSidebar=()=>{if(document.documentElement.classList.contains("src-sidebar-expanded")){window.rustdocCloseSourceSidebar()}else{window.rustdocShowSourceSidebar()}};function createSrcSidebar(){const container=document.querySelector("nav.sidebar");const sidebar=document.createElement("div");sidebar.id="src-sidebar";let hasFoundFile=false;for(const[key,source]of srcIndex){source[NAME_OFFSET]=key;hasFoundFile=createDirEntry(source,sidebar,"",hasFoundFile)}container.appendChild(sidebar);const selected_elem=sidebar.getElementsByClassName("selected")[0];if(typeof selected_elem!=="undefined"){selected_elem.focus()}}function highlightSrcLines(){const match=window.location.hash.match(/^#?(\d+)(?:-(\d+))?$/);if(!match){return}let from=parseInt(match[1],10);let to=from;if(typeof match[2]!=="undefined"){to=parseInt(match[2],10)}if(to{onEachLazy(e.getElementsByTagName("a"),i_e=>{removeClass(i_e,"line-highlighted")})});for(let i=from;i<=to;++i){elem=document.getElementById(i);if(!elem){break}addClass(elem,"line-highlighted")}}const handleSrcHighlight=(function(){let prev_line_id=0;const set_fragment=name=>{const x=window.scrollX,y=window.scrollY;if(browserSupportsHistoryApi()){history.replaceState(null,null,"#"+name);highlightSrcLines()}else{location.replace("#"+name)}window.scrollTo(x,y)};return ev=>{let cur_line_id=parseInt(ev.target.id,10);if(isNaN(cur_line_id)||ev.ctrlKey||ev.altKey||ev.metaKey){return}ev.preventDefault();if(ev.shiftKey&&prev_line_id){if(prev_line_id>cur_line_id){const tmp=prev_line_id;prev_line_id=cur_line_id;cur_line_id=tmp}set_fragment(prev_line_id+"-"+cur_line_id)}else{prev_line_id=cur_line_id;set_fragment(cur_line_id)}}}());window.addEventListener("hashchange",highlightSrcLines);onEachLazy(document.getElementsByClassName("src-line-numbers"),el=>{el.addEventListener("click",handleSrcHighlight)});highlightSrcLines();window.createSrcSidebar=createSrcSidebar})() \ No newline at end of file diff --git a/doc/static.files/storage-59e33391.js b/doc/static.files/storage-59e33391.js new file mode 100644 index 00000000..5aac776b --- /dev/null +++ b/doc/static.files/storage-59e33391.js @@ -0,0 +1,23 @@ +"use strict";const builtinThemes=["light","dark","ayu"];const darkThemes=["dark","ayu"];window.currentTheme=document.getElementById("themeStyle");const settingsDataset=(function(){const settingsElement=document.getElementById("default-settings");return settingsElement&&settingsElement.dataset?settingsElement.dataset:null})();function getSettingValue(settingName){const current=getCurrentValue(settingName);if(current===null&&settingsDataset!==null){const def=settingsDataset[settingName.replace(/-/g,"_")];if(def!==undefined){return def}}return current}const localStoredTheme=getSettingValue("theme");function hasClass(elem,className){return elem&&elem.classList&&elem.classList.contains(className)}function addClass(elem,className){if(elem&&elem.classList){elem.classList.add(className)}}function removeClass(elem,className){if(elem&&elem.classList){elem.classList.remove(className)}}function onEach(arr,func){for(const elem of arr){if(func(elem)){return true}}return false}function onEachLazy(lazyArray,func){return onEach(Array.prototype.slice.call(lazyArray),func)}function updateLocalStorage(name,value){try{window.localStorage.setItem("rustdoc-"+name,value)}catch(e){}}function getCurrentValue(name){try{return window.localStorage.getItem("rustdoc-"+name)}catch(e){return null}}const getVar=(function getVar(name){const el=document.querySelector("head > meta[name='rustdoc-vars']");return el?el.attributes["data-"+name].value:null});function switchTheme(newThemeName,saveTheme){const themeNames=getVar("themes").split(",").filter(t=>t);themeNames.push(...builtinThemes);if(themeNames.indexOf(newThemeName)===-1){return}if(saveTheme){updateLocalStorage("theme",newThemeName)}document.documentElement.setAttribute("data-theme",newThemeName);if(builtinThemes.indexOf(newThemeName)!==-1){if(window.currentTheme){window.currentTheme.parentNode.removeChild(window.currentTheme);window.currentTheme=null}}else{const newHref=getVar("root-path")+encodeURIComponent(newThemeName)+getVar("resource-suffix")+".css";if(!window.currentTheme){if(document.readyState==="loading"){document.write(``);window.currentTheme=document.getElementById("themeStyle")}else{window.currentTheme=document.createElement("link");window.currentTheme.rel="stylesheet";window.currentTheme.id="themeStyle";window.currentTheme.href=newHref;document.documentElement.appendChild(window.currentTheme)}}else if(newHref!==window.currentTheme.href){window.currentTheme.href=newHref}}}const updateTheme=(function(){const mql=window.matchMedia("(prefers-color-scheme: dark)");function updateTheme(){if(getSettingValue("use-system-theme")!=="false"){const lightTheme=getSettingValue("preferred-light-theme")||"light";const darkTheme=getSettingValue("preferred-dark-theme")||"dark";updateLocalStorage("use-system-theme","true");switchTheme(mql.matches?darkTheme:lightTheme,true)}else{switchTheme(getSettingValue("theme"),false)}}mql.addEventListener("change",updateTheme);return updateTheme})();if(getSettingValue("use-system-theme")!=="false"&&window.matchMedia){if(getSettingValue("use-system-theme")===null&&getSettingValue("preferred-dark-theme")===null&&darkThemes.indexOf(localStoredTheme)>=0){updateLocalStorage("preferred-dark-theme",localStoredTheme)}}updateTheme();if(getSettingValue("source-sidebar-show")==="true"){addClass(document.documentElement,"src-sidebar-expanded")}if(getSettingValue("hide-sidebar")==="true"){addClass(document.documentElement,"hide-sidebar")}if(getSettingValue("hide-toc")==="true"){addClass(document.documentElement,"hide-toc")}if(getSettingValue("hide-modnav")==="true"){addClass(document.documentElement,"hide-modnav")}function updateSidebarWidth(){const desktopSidebarWidth=getSettingValue("desktop-sidebar-width");if(desktopSidebarWidth&&desktopSidebarWidth!=="null"){document.documentElement.style.setProperty("--desktop-sidebar-width",desktopSidebarWidth+"px",)}const srcSidebarWidth=getSettingValue("src-sidebar-width");if(srcSidebarWidth&&srcSidebarWidth!=="null"){document.documentElement.style.setProperty("--src-sidebar-width",srcSidebarWidth+"px",)}}updateSidebarWidth();window.addEventListener("pageshow",ev=>{if(ev.persisted){setTimeout(updateTheme,0);setTimeout(updateSidebarWidth,0)}});class RustdocSearchElement extends HTMLElement{constructor(){super()}connectedCallback(){const rootPath=getVar("root-path");const currentCrate=getVar("current-crate");this.innerHTML=``}}window.customElements.define("rustdoc-search",RustdocSearchElement);class RustdocToolbarElement extends HTMLElement{constructor(){super()}connectedCallback(){if(this.firstElementChild){return}const rootPath=getVar("root-path");this.innerHTML=` +
    + Settings +
    +
    + Help +
    + `}}window.customElements.define("rustdoc-toolbar",RustdocToolbarElement) \ No newline at end of file diff --git a/doc/trait.impl/core/cmp/trait.Eq.js b/doc/trait.impl/core/cmp/trait.Eq.js new file mode 100644 index 00000000..8ad12073 --- /dev/null +++ b/doc/trait.impl/core/cmp/trait.Eq.js @@ -0,0 +1,9 @@ +(function() { + var implementors = Object.fromEntries([["rust_algorithm_club",[["impl<T> Eq for HashSet<T>
    where\n T: Hash + Eq,
    "]]]]); + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } +})() +//{"start":57,"fragment_lengths":[625]} \ No newline at end of file diff --git a/doc/trait.impl/core/cmp/trait.PartialEq.js b/doc/trait.impl/core/cmp/trait.PartialEq.js new file mode 100644 index 00000000..bd4add39 --- /dev/null +++ b/doc/trait.impl/core/cmp/trait.PartialEq.js @@ -0,0 +1,9 @@ +(function() { + var implementors = Object.fromEntries([["rust_algorithm_club",[["impl<T> PartialEq for HashSet<T>
    where\n T: Hash + Eq,
    "],["impl<T: PartialEq> PartialEq for SinglyLinkedList<T>"]]]]); + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } +})() +//{"start":57,"fragment_lengths":[1143]} \ No newline at end of file diff --git a/doc/trait.impl/core/cmp/trait.PartialOrd.js b/doc/trait.impl/core/cmp/trait.PartialOrd.js new file mode 100644 index 00000000..869e379c --- /dev/null +++ b/doc/trait.impl/core/cmp/trait.PartialOrd.js @@ -0,0 +1,9 @@ +(function() { + var implementors = Object.fromEntries([["rust_algorithm_club",[["impl<T> PartialOrd for HashSet<T>
    where\n T: Hash + Eq,
    "]]]]); + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } +})() +//{"start":57,"fragment_lengths":[649]} \ No newline at end of file diff --git a/doc/trait.impl/core/default/trait.Default.js b/doc/trait.impl/core/default/trait.Default.js new file mode 100644 index 00000000..52b330ed --- /dev/null +++ b/doc/trait.impl/core/default/trait.Default.js @@ -0,0 +1,9 @@ +(function() { + var implementors = Object.fromEntries([["rust_algorithm_club",[["impl<K, V> Default for HashMap<K, V>
    where\n K: Hash + Eq,
    "],["impl<T> Default for HashSet<T>
    where\n T: Hash + Eq,
    "]]]]); + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } +})() +//{"start":57,"fragment_lengths":[1277]} \ No newline at end of file diff --git a/doc/trait.impl/core/fmt/trait.Debug.js b/doc/trait.impl/core/fmt/trait.Debug.js new file mode 100644 index 00000000..b1afdbd8 --- /dev/null +++ b/doc/trait.impl/core/fmt/trait.Debug.js @@ -0,0 +1,9 @@ +(function() { + var implementors = Object.fromEntries([["rust_algorithm_club",[["impl<T: Debug> Debug for Deque<T>"],["impl<T: Debug> Debug for SinglyLinkedList<T>"]]]]); + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } +})() +//{"start":57,"fragment_lengths":[938]} \ No newline at end of file diff --git a/doc/trait.impl/core/iter/traits/collect/trait.FromIterator.js b/doc/trait.impl/core/iter/traits/collect/trait.FromIterator.js new file mode 100644 index 00000000..27a83e99 --- /dev/null +++ b/doc/trait.impl/core/iter/traits/collect/trait.FromIterator.js @@ -0,0 +1,9 @@ +(function() { + var implementors = Object.fromEntries([["rust_algorithm_club",[["impl<T> FromIterator<T> for HashSet<T>
    where\n T: Hash + Eq,
    "]]]]); + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } +})() +//{"start":57,"fragment_lengths":[698]} \ No newline at end of file diff --git a/doc/trait.impl/core/iter/traits/collect/trait.IntoIterator.js b/doc/trait.impl/core/iter/traits/collect/trait.IntoIterator.js new file mode 100644 index 00000000..3cb63702 --- /dev/null +++ b/doc/trait.impl/core/iter/traits/collect/trait.IntoIterator.js @@ -0,0 +1,9 @@ +(function() { + var implementors = Object.fromEntries([["rust_algorithm_club",[["impl<'a, T> IntoIterator for &'a Deque<T>"],["impl<'a, T> IntoIterator for &'a mut Deque<T>"],["impl<T> IntoIterator for Deque<T>"],["impl<T> IntoIterator for SinglyLinkedList<T>"]]]]); + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } +})() +//{"start":57,"fragment_lengths":[1538]} \ No newline at end of file diff --git a/doc/trait.impl/core/marker/trait.Freeze.js b/doc/trait.impl/core/marker/trait.Freeze.js new file mode 100644 index 00000000..5a0f2b8b --- /dev/null +++ b/doc/trait.impl/core/marker/trait.Freeze.js @@ -0,0 +1,9 @@ +(function() { + var implementors = Object.fromEntries([["rust_algorithm_club",[["impl<K, V> Freeze for HashMap<K, V>",1,["rust_algorithm_club::collections::hash_map::HashMap"]],["impl<T> Freeze for BloomFilter<T>
    where\n T: ?Sized,
    ",1,["rust_algorithm_club::collections::bloom_filter::BloomFilter"]],["impl<T> Freeze for Deque<T>",1,["rust_algorithm_club::collections::deque::Deque"]],["impl<T> Freeze for HashSet<T>",1,["rust_algorithm_club::collections::set::HashSet"]],["impl<T> Freeze for Queue<T>",1,["rust_algorithm_club::collections::queue::Queue"]],["impl<T> Freeze for SinglyLinkedList<T>",1,["rust_algorithm_club::collections::singly_linked_list::SinglyLinkedList"]],["impl<T> Freeze for Stack<T>",1,["rust_algorithm_club::collections::stack::Stack"]]]]]); + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } +})() +//{"start":57,"fragment_lengths":[2905]} \ No newline at end of file diff --git a/doc/trait.impl/core/marker/trait.Send.js b/doc/trait.impl/core/marker/trait.Send.js new file mode 100644 index 00000000..36ceecd7 --- /dev/null +++ b/doc/trait.impl/core/marker/trait.Send.js @@ -0,0 +1,9 @@ +(function() { + var implementors = Object.fromEntries([["rust_algorithm_club",[["impl<K, V> Send for HashMap<K, V>
    where\n K: Send,\n V: Send,
    ",1,["rust_algorithm_club::collections::hash_map::HashMap"]],["impl<T> !Send for Deque<T>",1,["rust_algorithm_club::collections::deque::Deque"]],["impl<T> Send for BloomFilter<T>
    where\n T: Send + ?Sized,
    ",1,["rust_algorithm_club::collections::bloom_filter::BloomFilter"]],["impl<T> Send for HashSet<T>
    where\n T: Send,
    ",1,["rust_algorithm_club::collections::set::HashSet"]],["impl<T> Send for Queue<T>
    where\n T: Send,
    ",1,["rust_algorithm_club::collections::queue::Queue"]],["impl<T> Send for SinglyLinkedList<T>
    where\n T: Send,
    ",1,["rust_algorithm_club::collections::singly_linked_list::SinglyLinkedList"]],["impl<T> Send for Stack<T>
    where\n T: Send,
    ",1,["rust_algorithm_club::collections::stack::Stack"]]]]]); + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } +})() +//{"start":57,"fragment_lengths":[4018]} \ No newline at end of file diff --git a/doc/trait.impl/core/marker/trait.Sync.js b/doc/trait.impl/core/marker/trait.Sync.js new file mode 100644 index 00000000..76a7a6ff --- /dev/null +++ b/doc/trait.impl/core/marker/trait.Sync.js @@ -0,0 +1,9 @@ +(function() { + var implementors = Object.fromEntries([["rust_algorithm_club",[["impl<K, V> Sync for HashMap<K, V>
    where\n K: Sync,\n V: Sync,
    ",1,["rust_algorithm_club::collections::hash_map::HashMap"]],["impl<T> !Sync for Deque<T>",1,["rust_algorithm_club::collections::deque::Deque"]],["impl<T> Sync for BloomFilter<T>
    where\n T: Sync + ?Sized,
    ",1,["rust_algorithm_club::collections::bloom_filter::BloomFilter"]],["impl<T> Sync for HashSet<T>
    where\n T: Sync,
    ",1,["rust_algorithm_club::collections::set::HashSet"]],["impl<T> Sync for Queue<T>
    where\n T: Sync,
    ",1,["rust_algorithm_club::collections::queue::Queue"]],["impl<T> Sync for SinglyLinkedList<T>
    where\n T: Sync,
    ",1,["rust_algorithm_club::collections::singly_linked_list::SinglyLinkedList"]],["impl<T> Sync for Stack<T>
    where\n T: Sync,
    ",1,["rust_algorithm_club::collections::stack::Stack"]]]]]); + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } +})() +//{"start":57,"fragment_lengths":[4018]} \ No newline at end of file diff --git a/doc/trait.impl/core/marker/trait.Unpin.js b/doc/trait.impl/core/marker/trait.Unpin.js new file mode 100644 index 00000000..1f7b06d3 --- /dev/null +++ b/doc/trait.impl/core/marker/trait.Unpin.js @@ -0,0 +1,9 @@ +(function() { + var implementors = Object.fromEntries([["rust_algorithm_club",[["impl<K, V> Unpin for HashMap<K, V>
    where\n K: Unpin,\n V: Unpin,
    ",1,["rust_algorithm_club::collections::hash_map::HashMap"]],["impl<T> Unpin for BloomFilter<T>
    where\n T: Unpin + ?Sized,
    ",1,["rust_algorithm_club::collections::bloom_filter::BloomFilter"]],["impl<T> Unpin for Deque<T>",1,["rust_algorithm_club::collections::deque::Deque"]],["impl<T> Unpin for HashSet<T>
    where\n T: Unpin,
    ",1,["rust_algorithm_club::collections::set::HashSet"]],["impl<T> Unpin for Queue<T>
    where\n T: Unpin,
    ",1,["rust_algorithm_club::collections::queue::Queue"]],["impl<T> Unpin for SinglyLinkedList<T>",1,["rust_algorithm_club::collections::singly_linked_list::SinglyLinkedList"]],["impl<T> Unpin for Stack<T>
    where\n T: Unpin,
    ",1,["rust_algorithm_club::collections::stack::Stack"]]]]]); + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } +})() +//{"start":57,"fragment_lengths":[3881]} \ No newline at end of file diff --git a/doc/trait.impl/core/ops/arith/trait.Sub.js b/doc/trait.impl/core/ops/arith/trait.Sub.js new file mode 100644 index 00000000..291eeda6 --- /dev/null +++ b/doc/trait.impl/core/ops/arith/trait.Sub.js @@ -0,0 +1,9 @@ +(function() { + var implementors = Object.fromEntries([["rust_algorithm_club",[["impl<'a, 'b, T> Sub<&'b HashSet<T>> for &'a HashSet<T>
    where\n T: Hash + Eq + Clone,
    "]]]]); + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } +})() +//{"start":57,"fragment_lengths":[970]} \ No newline at end of file diff --git a/doc/trait.impl/core/ops/bit/trait.BitAnd.js b/doc/trait.impl/core/ops/bit/trait.BitAnd.js new file mode 100644 index 00000000..ea87fa04 --- /dev/null +++ b/doc/trait.impl/core/ops/bit/trait.BitAnd.js @@ -0,0 +1,9 @@ +(function() { + var implementors = Object.fromEntries([["rust_algorithm_club",[["impl<'a, 'b, T> BitAnd<&'b HashSet<T>> for &'a HashSet<T>
    where\n T: Hash + Eq + Clone,
    "]]]]); + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } +})() +//{"start":57,"fragment_lengths":[975]} \ No newline at end of file diff --git a/doc/trait.impl/core/ops/bit/trait.BitOr.js b/doc/trait.impl/core/ops/bit/trait.BitOr.js new file mode 100644 index 00000000..b85c6ae4 --- /dev/null +++ b/doc/trait.impl/core/ops/bit/trait.BitOr.js @@ -0,0 +1,9 @@ +(function() { + var implementors = Object.fromEntries([["rust_algorithm_club",[["impl<'a, 'b, T> BitOr<&'b HashSet<T>> for &'a HashSet<T>
    where\n T: Hash + Eq + Clone,
    "]]]]); + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } +})() +//{"start":57,"fragment_lengths":[972]} \ No newline at end of file diff --git a/doc/trait.impl/core/ops/bit/trait.BitXor.js b/doc/trait.impl/core/ops/bit/trait.BitXor.js new file mode 100644 index 00000000..00790bf6 --- /dev/null +++ b/doc/trait.impl/core/ops/bit/trait.BitXor.js @@ -0,0 +1,9 @@ +(function() { + var implementors = Object.fromEntries([["rust_algorithm_club",[["impl<'a, 'b, T> BitXor<&'b HashSet<T>> for &'a HashSet<T>
    where\n T: Hash + Eq + Clone,
    "]]]]); + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } +})() +//{"start":57,"fragment_lengths":[975]} \ No newline at end of file diff --git a/doc/trait.impl/core/ops/drop/trait.Drop.js b/doc/trait.impl/core/ops/drop/trait.Drop.js new file mode 100644 index 00000000..3a6df2cc --- /dev/null +++ b/doc/trait.impl/core/ops/drop/trait.Drop.js @@ -0,0 +1,9 @@ +(function() { + var implementors = Object.fromEntries([["rust_algorithm_club",[["impl<T> Drop for Deque<T>"],["impl<T> Drop for SinglyLinkedList<T>"]]]]); + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } +})() +//{"start":57,"fragment_lengths":[690]} \ No newline at end of file diff --git a/doc/trait.impl/core/ops/index/trait.Index.js b/doc/trait.impl/core/ops/index/trait.Index.js new file mode 100644 index 00000000..fb7021e7 --- /dev/null +++ b/doc/trait.impl/core/ops/index/trait.Index.js @@ -0,0 +1,9 @@ +(function() { + var implementors = Object.fromEntries([["rust_algorithm_club",[["impl<T> Index<usize> for Deque<T>"]]]]); + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } +})() +//{"start":57,"fragment_lengths":[454]} \ No newline at end of file diff --git a/doc/trait.impl/core/ops/index/trait.IndexMut.js b/doc/trait.impl/core/ops/index/trait.IndexMut.js new file mode 100644 index 00000000..f159f475 --- /dev/null +++ b/doc/trait.impl/core/ops/index/trait.IndexMut.js @@ -0,0 +1,9 @@ +(function() { + var implementors = Object.fromEntries([["rust_algorithm_club",[["impl<T> IndexMut<usize> for Deque<T>"]]]]); + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } +})() +//{"start":57,"fragment_lengths":[463]} \ No newline at end of file diff --git a/doc/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js b/doc/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js new file mode 100644 index 00000000..1493f840 --- /dev/null +++ b/doc/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js @@ -0,0 +1,9 @@ +(function() { + var implementors = Object.fromEntries([["rust_algorithm_club",[["impl<K, V> RefUnwindSafe for HashMap<K, V>
    where\n K: RefUnwindSafe,\n V: RefUnwindSafe,
    ",1,["rust_algorithm_club::collections::hash_map::HashMap"]],["impl<T> RefUnwindSafe for BloomFilter<T>
    where\n T: RefUnwindSafe + ?Sized,
    ",1,["rust_algorithm_club::collections::bloom_filter::BloomFilter"]],["impl<T> RefUnwindSafe for Deque<T>
    where\n T: RefUnwindSafe,
    ",1,["rust_algorithm_club::collections::deque::Deque"]],["impl<T> RefUnwindSafe for HashSet<T>
    where\n T: RefUnwindSafe,
    ",1,["rust_algorithm_club::collections::set::HashSet"]],["impl<T> RefUnwindSafe for Queue<T>
    where\n T: RefUnwindSafe,
    ",1,["rust_algorithm_club::collections::queue::Queue"]],["impl<T> RefUnwindSafe for SinglyLinkedList<T>
    where\n T: RefUnwindSafe,
    ",1,["rust_algorithm_club::collections::singly_linked_list::SinglyLinkedList"]],["impl<T> RefUnwindSafe for Stack<T>
    where\n T: RefUnwindSafe,
    ",1,["rust_algorithm_club::collections::stack::Stack"]]]]]); + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } +})() +//{"start":57,"fragment_lengths":[4942]} \ No newline at end of file diff --git a/doc/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js b/doc/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js new file mode 100644 index 00000000..431be22f --- /dev/null +++ b/doc/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js @@ -0,0 +1,9 @@ +(function() { + var implementors = Object.fromEntries([["rust_algorithm_club",[["impl<K, V> UnwindSafe for HashMap<K, V>
    where\n K: UnwindSafe,\n V: UnwindSafe,
    ",1,["rust_algorithm_club::collections::hash_map::HashMap"]],["impl<T> UnwindSafe for BloomFilter<T>
    where\n T: UnwindSafe + ?Sized,
    ",1,["rust_algorithm_club::collections::bloom_filter::BloomFilter"]],["impl<T> UnwindSafe for Deque<T>
    where\n T: RefUnwindSafe,
    ",1,["rust_algorithm_club::collections::deque::Deque"]],["impl<T> UnwindSafe for HashSet<T>
    where\n T: UnwindSafe,
    ",1,["rust_algorithm_club::collections::set::HashSet"]],["impl<T> UnwindSafe for Queue<T>
    where\n T: UnwindSafe,
    ",1,["rust_algorithm_club::collections::queue::Queue"]],["impl<T> UnwindSafe for SinglyLinkedList<T>
    where\n T: UnwindSafe,
    ",1,["rust_algorithm_club::collections::singly_linked_list::SinglyLinkedList"]],["impl<T> UnwindSafe for Stack<T>
    where\n T: UnwindSafe,
    ",1,["rust_algorithm_club::collections::stack::Stack"]]]]]); + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } +})() +//{"start":57,"fragment_lengths":[4816]} \ No newline at end of file diff --git a/hamming_distance/index.html b/hamming_distance/index.html index eb4b06b6..62fb4025 100644 --- a/hamming_distance/index.html +++ b/hamming_distance/index.html @@ -1,49 +1,50 @@ - + 漢明距離 Hamming distance - Rust Algorithm Club - + - - - + - - - + + + - - + + - - + + - - - - - + + + + - - + + + + +
    - - + + -
    - - - - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - + + + +
    diff --git a/highlight.css b/highlight.css index c2343227..352c79b9 100644 --- a/highlight.css +++ b/highlight.css @@ -16,6 +16,7 @@ .hljs-variable, .hljs-template-variable, .hljs-attribute, +.hljs-attr, .hljs-tag, .hljs-name, .hljs-regexp, @@ -61,7 +62,6 @@ overflow-x: auto; background: #f6f7f6; color: #000; - padding: 0.5em; } .hljs-emphasis { diff --git a/highlight.js b/highlight.js index 180385b7..18d24345 100644 --- a/highlight.js +++ b/highlight.js @@ -3,4 +3,52 @@ License: BSD-3-Clause Copyright (c) 2006-2020, Ivan Sagalaev */ -var hljs=function(){"use strict";function e(n){Object.freeze(n);var t="function"==typeof n;return Object.getOwnPropertyNames(n).forEach((function(r){!Object.hasOwnProperty.call(n,r)||null===n[r]||"object"!=typeof n[r]&&"function"!=typeof n[r]||t&&("caller"===r||"callee"===r||"arguments"===r)||Object.isFrozen(n[r])||e(n[r])})),n}class n{constructor(e){void 0===e.data&&(e.data={}),this.data=e.data}ignoreMatch(){this.ignore=!0}}function t(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function r(e,...n){var t={};for(const n in e)t[n]=e[n];return n.forEach((function(e){for(const n in e)t[n]=e[n]})),t}function a(e){return e.nodeName.toLowerCase()}var i=Object.freeze({__proto__:null,escapeHTML:t,inherit:r,nodeStream:function(e){var n=[];return function e(t,r){for(var i=t.firstChild;i;i=i.nextSibling)3===i.nodeType?r+=i.nodeValue.length:1===i.nodeType&&(n.push({event:"start",offset:r,node:i}),r=e(i,r),a(i).match(/br|hr|img|input/)||n.push({event:"stop",offset:r,node:i}));return r}(e,0),n},mergeStreams:function(e,n,r){var i=0,s="",o=[];function l(){return e.length&&n.length?e[0].offset!==n[0].offset?e[0].offset"}function u(e){s+=""}function d(e){("start"===e.event?c:u)(e.node)}for(;e.length||n.length;){var g=l();if(s+=t(r.substring(i,g[0].offset)),i=g[0].offset,g===e){o.reverse().forEach(u);do{d(g.splice(0,1)[0]),g=l()}while(g===e&&g.length&&g[0].offset===i);o.reverse().forEach(c)}else"start"===g[0].event?o.push(g[0].node):o.pop(),d(g.splice(0,1)[0])}return s+t(r.substr(i))}});const s="",o=e=>!!e.kind;class l{constructor(e,n){this.buffer="",this.classPrefix=n.classPrefix,e.walk(this)}addText(e){this.buffer+=t(e)}openNode(e){if(!o(e))return;let n=e.kind;e.sublanguage||(n=`${this.classPrefix}${n}`),this.span(n)}closeNode(e){o(e)&&(this.buffer+=s)}value(){return this.buffer}span(e){this.buffer+=``}}class c{constructor(){this.rootNode={children:[]},this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){const n={kind:e,children:[]};this.add(n),this.stack.push(n)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,n){return"string"==typeof n?e.addText(n):n.children&&(e.openNode(n),n.children.forEach(n=>this._walk(e,n)),e.closeNode(n)),e}static _collapse(e){"string"!=typeof e&&e.children&&(e.children.every(e=>"string"==typeof e)?e.children=[e.children.join("")]:e.children.forEach(e=>{c._collapse(e)}))}}class u extends c{constructor(e){super(),this.options=e}addKeyword(e,n){""!==e&&(this.openNode(n),this.addText(e),this.closeNode())}addText(e){""!==e&&this.add(e)}addSublanguage(e,n){const t=e.root;t.kind=n,t.sublanguage=!0,this.add(t)}toHTML(){return new l(this,this.options).value()}finalize(){return!0}}function d(e){return e?"string"==typeof e?e:e.source:null}const g="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",h={begin:"\\\\[\\s\\S]",relevance:0},f={className:"string",begin:"'",end:"'",illegal:"\\n",contains:[h]},p={className:"string",begin:'"',end:'"',illegal:"\\n",contains:[h]},b={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},m=function(e,n,t={}){var a=r({className:"comment",begin:e,end:n,contains:[]},t);return a.contains.push(b),a.contains.push({className:"doctag",begin:"(?:TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):",relevance:0}),a},v=m("//","$"),x=m("/\\*","\\*/"),E=m("#","$");var _=Object.freeze({__proto__:null,IDENT_RE:"[a-zA-Z]\\w*",UNDERSCORE_IDENT_RE:"[a-zA-Z_]\\w*",NUMBER_RE:"\\b\\d+(\\.\\d+)?",C_NUMBER_RE:g,BINARY_NUMBER_RE:"\\b(0b[01]+)",RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG:(e={})=>{const n=/^#![ ]*\//;return e.binary&&(e.begin=function(...e){return e.map(e=>d(e)).join("")}(n,/.*\b/,e.binary,/\b.*/)),r({className:"meta",begin:n,end:/$/,relevance:0,"on:begin":(e,n)=>{0!==e.index&&n.ignoreMatch()}},e)},BACKSLASH_ESCAPE:h,APOS_STRING_MODE:f,QUOTE_STRING_MODE:p,PHRASAL_WORDS_MODE:b,COMMENT:m,C_LINE_COMMENT_MODE:v,C_BLOCK_COMMENT_MODE:x,HASH_COMMENT_MODE:E,NUMBER_MODE:{className:"number",begin:"\\b\\d+(\\.\\d+)?",relevance:0},C_NUMBER_MODE:{className:"number",begin:g,relevance:0},BINARY_NUMBER_MODE:{className:"number",begin:"\\b(0b[01]+)",relevance:0},CSS_NUMBER_MODE:{className:"number",begin:"\\b\\d+(\\.\\d+)?(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},REGEXP_MODE:{begin:/(?=\/[^/\n]*\/)/,contains:[{className:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[h,{begin:/\[/,end:/\]/,relevance:0,contains:[h]}]}]},TITLE_MODE:{className:"title",begin:"[a-zA-Z]\\w*",relevance:0},UNDERSCORE_TITLE_MODE:{className:"title",begin:"[a-zA-Z_]\\w*",relevance:0},METHOD_GUARD:{begin:"\\.\\s*[a-zA-Z_]\\w*",relevance:0},END_SAME_AS_BEGIN:function(e){return Object.assign(e,{"on:begin":(e,n)=>{n.data._beginMatch=e[1]},"on:end":(e,n)=>{n.data._beginMatch!==e[1]&&n.ignoreMatch()}})}}),N="of and for in not or if then".split(" ");function w(e,n){return n?+n:function(e){return N.includes(e.toLowerCase())}(e)?0:1}const R=t,y=r,{nodeStream:k,mergeStreams:O}=i,M=Symbol("nomatch");return function(t){var a=[],i={},s={},o=[],l=!0,c=/(^(<[^>]+>|\t|)+|\n)/gm,g="Could not find the language '{}', did you forget to load/include a language module?";const h={disableAutodetect:!0,name:"Plain text",contains:[]};var f={noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:null,__emitter:u};function p(e){return f.noHighlightRe.test(e)}function b(e,n,t,r){var a={code:n,language:e};S("before:highlight",a);var i=a.result?a.result:m(a.language,a.code,t,r);return i.code=a.code,S("after:highlight",i),i}function m(e,t,a,s){var o=t;function c(e,n){var t=E.case_insensitive?n[0].toLowerCase():n[0];return Object.prototype.hasOwnProperty.call(e.keywords,t)&&e.keywords[t]}function u(){null!=y.subLanguage?function(){if(""!==A){var e=null;if("string"==typeof y.subLanguage){if(!i[y.subLanguage])return void O.addText(A);e=m(y.subLanguage,A,!0,k[y.subLanguage]),k[y.subLanguage]=e.top}else e=v(A,y.subLanguage.length?y.subLanguage:null);y.relevance>0&&(I+=e.relevance),O.addSublanguage(e.emitter,e.language)}}():function(){if(!y.keywords)return void O.addText(A);let e=0;y.keywordPatternRe.lastIndex=0;let n=y.keywordPatternRe.exec(A),t="";for(;n;){t+=A.substring(e,n.index);const r=c(y,n);if(r){const[e,a]=r;O.addText(t),t="",I+=a,O.addKeyword(n[0],e)}else t+=n[0];e=y.keywordPatternRe.lastIndex,n=y.keywordPatternRe.exec(A)}t+=A.substr(e),O.addText(t)}(),A=""}function h(e){return e.className&&O.openNode(e.className),y=Object.create(e,{parent:{value:y}})}function p(e){return 0===y.matcher.regexIndex?(A+=e[0],1):(L=!0,0)}var b={};function x(t,r){var i=r&&r[0];if(A+=t,null==i)return u(),0;if("begin"===b.type&&"end"===r.type&&b.index===r.index&&""===i){if(A+=o.slice(r.index,r.index+1),!l){const n=Error("0 width match regex");throw n.languageName=e,n.badRule=b.rule,n}return 1}if(b=r,"begin"===r.type)return function(e){var t=e[0],r=e.rule;const a=new n(r),i=[r.__beforeBegin,r["on:begin"]];for(const n of i)if(n&&(n(e,a),a.ignore))return p(t);return r&&r.endSameAsBegin&&(r.endRe=RegExp(t.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"m")),r.skip?A+=t:(r.excludeBegin&&(A+=t),u(),r.returnBegin||r.excludeBegin||(A=t)),h(r),r.returnBegin?0:t.length}(r);if("illegal"===r.type&&!a){const e=Error('Illegal lexeme "'+i+'" for mode "'+(y.className||"")+'"');throw e.mode=y,e}if("end"===r.type){var s=function(e){var t=e[0],r=o.substr(e.index),a=function e(t,r,a){let i=function(e,n){var t=e&&e.exec(n);return t&&0===t.index}(t.endRe,a);if(i){if(t["on:end"]){const e=new n(t);t["on:end"](r,e),e.ignore&&(i=!1)}if(i){for(;t.endsParent&&t.parent;)t=t.parent;return t}}if(t.endsWithParent)return e(t.parent,r,a)}(y,e,r);if(!a)return M;var i=y;i.skip?A+=t:(i.returnEnd||i.excludeEnd||(A+=t),u(),i.excludeEnd&&(A=t));do{y.className&&O.closeNode(),y.skip||y.subLanguage||(I+=y.relevance),y=y.parent}while(y!==a.parent);return a.starts&&(a.endSameAsBegin&&(a.starts.endRe=a.endRe),h(a.starts)),i.returnEnd?0:t.length}(r);if(s!==M)return s}if("illegal"===r.type&&""===i)return 1;if(B>1e5&&B>3*r.index)throw Error("potential infinite loop, way more iterations than matches");return A+=i,i.length}var E=T(e);if(!E)throw console.error(g.replace("{}",e)),Error('Unknown language: "'+e+'"');var _=function(e){function n(n,t){return RegExp(d(n),"m"+(e.case_insensitive?"i":"")+(t?"g":""))}class t{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(e,n){n.position=this.position++,this.matchIndexes[this.matchAt]=n,this.regexes.push([n,e]),this.matchAt+=function(e){return RegExp(e.toString()+"|").exec("").length-1}(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null);const e=this.regexes.map(e=>e[1]);this.matcherRe=n(function(e,n="|"){for(var t=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./,r=0,a="",i=0;i0&&(a+=n),a+="(";o.length>0;){var l=t.exec(o);if(null==l){a+=o;break}a+=o.substring(0,l.index),o=o.substring(l.index+l[0].length),"\\"===l[0][0]&&l[1]?a+="\\"+(+l[1]+s):(a+=l[0],"("===l[0]&&r++)}a+=")"}return a}(e),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex;const n=this.matcherRe.exec(e);if(!n)return null;const t=n.findIndex((e,n)=>n>0&&void 0!==e),r=this.matchIndexes[t];return n.splice(0,t),Object.assign(n,r)}}class a{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){if(this.multiRegexes[e])return this.multiRegexes[e];const n=new t;return this.rules.slice(e).forEach(([e,t])=>n.addRule(e,t)),n.compile(),this.multiRegexes[e]=n,n}considerAll(){this.regexIndex=0}addRule(e,n){this.rules.push([e,n]),"begin"===n.type&&this.count++}exec(e){const n=this.getMatcher(this.regexIndex);n.lastIndex=this.lastIndex;const t=n.exec(e);return t&&(this.regexIndex+=t.position+1,this.regexIndex===this.count&&(this.regexIndex=0)),t}}function i(e,n){const t=e.input[e.index-1],r=e.input[e.index+e[0].length];"."!==t&&"."!==r||n.ignoreMatch()}if(e.contains&&e.contains.includes("self"))throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return function t(s,o){const l=s;if(s.compiled)return l;s.compiled=!0,s.__beforeBegin=null,s.keywords=s.keywords||s.beginKeywords;let c=null;if("object"==typeof s.keywords&&(c=s.keywords.$pattern,delete s.keywords.$pattern),s.keywords&&(s.keywords=function(e,n){var t={};return"string"==typeof e?r("keyword",e):Object.keys(e).forEach((function(n){r(n,e[n])})),t;function r(e,r){n&&(r=r.toLowerCase()),r.split(" ").forEach((function(n){var r=n.split("|");t[r[0]]=[e,w(r[0],r[1])]}))}}(s.keywords,e.case_insensitive)),s.lexemes&&c)throw Error("ERR: Prefer `keywords.$pattern` to `mode.lexemes`, BOTH are not allowed. (see mode reference) ");return l.keywordPatternRe=n(s.lexemes||c||/\w+/,!0),o&&(s.beginKeywords&&(s.begin="\\b("+s.beginKeywords.split(" ").join("|")+")(?=\\b|\\s)",s.__beforeBegin=i),s.begin||(s.begin=/\B|\b/),l.beginRe=n(s.begin),s.endSameAsBegin&&(s.end=s.begin),s.end||s.endsWithParent||(s.end=/\B|\b/),s.end&&(l.endRe=n(s.end)),l.terminator_end=d(s.end)||"",s.endsWithParent&&o.terminator_end&&(l.terminator_end+=(s.end?"|":"")+o.terminator_end)),s.illegal&&(l.illegalRe=n(s.illegal)),void 0===s.relevance&&(s.relevance=1),s.contains||(s.contains=[]),s.contains=[].concat(...s.contains.map((function(e){return function(e){return e.variants&&!e.cached_variants&&(e.cached_variants=e.variants.map((function(n){return r(e,{variants:null},n)}))),e.cached_variants?e.cached_variants:function e(n){return!!n&&(n.endsWithParent||e(n.starts))}(e)?r(e,{starts:e.starts?r(e.starts):null}):Object.isFrozen(e)?r(e):e}("self"===e?s:e)}))),s.contains.forEach((function(e){t(e,l)})),s.starts&&t(s.starts,o),l.matcher=function(e){const n=new a;return e.contains.forEach(e=>n.addRule(e.begin,{rule:e,type:"begin"})),e.terminator_end&&n.addRule(e.terminator_end,{type:"end"}),e.illegal&&n.addRule(e.illegal,{type:"illegal"}),n}(l),l}(e)}(E),N="",y=s||_,k={},O=new f.__emitter(f);!function(){for(var e=[],n=y;n!==E;n=n.parent)n.className&&e.unshift(n.className);e.forEach(e=>O.openNode(e))}();var A="",I=0,S=0,B=0,L=!1;try{for(y.matcher.considerAll();;){B++,L?L=!1:(y.matcher.lastIndex=S,y.matcher.considerAll());const e=y.matcher.exec(o);if(!e)break;const n=x(o.substring(S,e.index),e);S=e.index+n}return x(o.substr(S)),O.closeAllNodes(),O.finalize(),N=O.toHTML(),{relevance:I,value:N,language:e,illegal:!1,emitter:O,top:y}}catch(n){if(n.message&&n.message.includes("Illegal"))return{illegal:!0,illegalBy:{msg:n.message,context:o.slice(S-100,S+100),mode:n.mode},sofar:N,relevance:0,value:R(o),emitter:O};if(l)return{illegal:!1,relevance:0,value:R(o),emitter:O,language:e,top:y,errorRaised:n};throw n}}function v(e,n){n=n||f.languages||Object.keys(i);var t=function(e){const n={relevance:0,emitter:new f.__emitter(f),value:R(e),illegal:!1,top:h};return n.emitter.addText(e),n}(e),r=t;return n.filter(T).filter(I).forEach((function(n){var a=m(n,e,!1);a.language=n,a.relevance>r.relevance&&(r=a),a.relevance>t.relevance&&(r=t,t=a)})),r.language&&(t.second_best=r),t}function x(e){return f.tabReplace||f.useBR?e.replace(c,e=>"\n"===e?f.useBR?"
    ":e:f.tabReplace?e.replace(/\t/g,f.tabReplace):e):e}function E(e){let n=null;const t=function(e){var n=e.className+" ";n+=e.parentNode?e.parentNode.className:"";const t=f.languageDetectRe.exec(n);if(t){var r=T(t[1]);return r||(console.warn(g.replace("{}",t[1])),console.warn("Falling back to no-highlight mode for this block.",e)),r?t[1]:"no-highlight"}return n.split(/\s+/).find(e=>p(e)||T(e))}(e);if(p(t))return;S("before:highlightBlock",{block:e,language:t}),f.useBR?(n=document.createElement("div")).innerHTML=e.innerHTML.replace(/\n/g,"").replace(//g,"\n"):n=e;const r=n.textContent,a=t?b(t,r,!0):v(r),i=k(n);if(i.length){const e=document.createElement("div");e.innerHTML=a.value,a.value=O(i,k(e),r)}a.value=x(a.value),S("after:highlightBlock",{block:e,result:a}),e.innerHTML=a.value,e.className=function(e,n,t){var r=n?s[n]:t,a=[e.trim()];return e.match(/\bhljs\b/)||a.push("hljs"),e.includes(r)||a.push(r),a.join(" ").trim()}(e.className,t,a.language),e.result={language:a.language,re:a.relevance,relavance:a.relevance},a.second_best&&(e.second_best={language:a.second_best.language,re:a.second_best.relevance,relavance:a.second_best.relevance})}const N=()=>{if(!N.called){N.called=!0;var e=document.querySelectorAll("pre code");a.forEach.call(e,E)}};function T(e){return e=(e||"").toLowerCase(),i[e]||i[s[e]]}function A(e,{languageName:n}){"string"==typeof e&&(e=[e]),e.forEach(e=>{s[e]=n})}function I(e){var n=T(e);return n&&!n.disableAutodetect}function S(e,n){var t=e;o.forEach((function(e){e[t]&&e[t](n)}))}Object.assign(t,{highlight:b,highlightAuto:v,fixMarkup:x,highlightBlock:E,configure:function(e){f=y(f,e)},initHighlighting:N,initHighlightingOnLoad:function(){window.addEventListener("DOMContentLoaded",N,!1)},registerLanguage:function(e,n){var r=null;try{r=n(t)}catch(n){if(console.error("Language definition for '{}' could not be registered.".replace("{}",e)),!l)throw n;console.error(n),r=h}r.name||(r.name=e),i[e]=r,r.rawDefinition=n.bind(null,t),r.aliases&&A(r.aliases,{languageName:e})},listLanguages:function(){return Object.keys(i)},getLanguage:T,registerAliases:A,requireLanguage:function(e){var n=T(e);if(n)return n;throw Error("The '{}' language is required, but not loaded.".replace("{}",e))},autoDetection:I,inherit:y,addPlugin:function(e){o.push(e)}}),t.debugMode=function(){l=!1},t.safeMode=function(){l=!0},t.versionString="10.1.1";for(const n in _)"object"==typeof _[n]&&e(_[n]);return Object.assign(t,_),t}({})}();"object"==typeof exports&&"undefined"!=typeof module&&(module.exports=hljs);hljs.registerLanguage("php",function(){"use strict";return function(e){var r={begin:"\\$+[a-zA-Z_-ÿ][a-zA-Z0-9_-ÿ]*"},t={className:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?[=]?/},{begin:/\?>/}]},a={className:"string",contains:[e.BACKSLASH_ESCAPE,t],variants:[{begin:'b"',end:'"'},{begin:"b'",end:"'"},e.inherit(e.APOS_STRING_MODE,{illegal:null}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null})]},n={variants:[e.BINARY_NUMBER_MODE,e.C_NUMBER_MODE]},i={keyword:"__CLASS__ __DIR__ __FILE__ __FUNCTION__ __LINE__ __METHOD__ __NAMESPACE__ __TRAIT__ die echo exit include include_once print require require_once array abstract and as binary bool boolean break callable case catch class clone const continue declare default do double else elseif empty enddeclare endfor endforeach endif endswitch endwhile eval extends final finally float for foreach from global goto if implements instanceof insteadof int integer interface isset iterable list new object or private protected public real return string switch throw trait try unset use var void while xor yield",literal:"false null true",built_in:"Error|0 AppendIterator ArgumentCountError ArithmeticError ArrayIterator ArrayObject AssertionError BadFunctionCallException BadMethodCallException CachingIterator CallbackFilterIterator CompileError Countable DirectoryIterator DivisionByZeroError DomainException EmptyIterator ErrorException Exception FilesystemIterator FilterIterator GlobIterator InfiniteIterator InvalidArgumentException IteratorIterator LengthException LimitIterator LogicException MultipleIterator NoRewindIterator OutOfBoundsException OutOfRangeException OuterIterator OverflowException ParentIterator ParseError RangeException RecursiveArrayIterator RecursiveCachingIterator RecursiveCallbackFilterIterator RecursiveDirectoryIterator RecursiveFilterIterator RecursiveIterator RecursiveIteratorIterator RecursiveRegexIterator RecursiveTreeIterator RegexIterator RuntimeException SeekableIterator SplDoublyLinkedList SplFileInfo SplFileObject SplFixedArray SplHeap SplMaxHeap SplMinHeap SplObjectStorage SplObserver SplObserver SplPriorityQueue SplQueue SplStack SplSubject SplSubject SplTempFileObject TypeError UnderflowException UnexpectedValueException ArrayAccess Closure Generator Iterator IteratorAggregate Serializable Throwable Traversable WeakReference Directory __PHP_Incomplete_Class parent php_user_filter self static stdClass"};return{aliases:["php","php3","php4","php5","php6","php7"],case_insensitive:!0,keywords:i,contains:[e.HASH_COMMENT_MODE,e.COMMENT("//","$",{contains:[t]}),e.COMMENT("/\\*","\\*/",{contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),e.COMMENT("__halt_compiler.+?;",!1,{endsWithParent:!0,keywords:"__halt_compiler"}),{className:"string",begin:/<<<['"]?\w+['"]?$/,end:/^\w+;?$/,contains:[e.BACKSLASH_ESCAPE,{className:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]}]},t,{className:"keyword",begin:/\$this\b/},r,{begin:/(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/},{className:"function",beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[e.UNDERSCORE_TITLE_MODE,{className:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:i,contains:["self",r,e.C_BLOCK_COMMENT_MODE,a,n]}]},{className:"class",beginKeywords:"class interface",end:"{",excludeEnd:!0,illegal:/[:\(\$"]/,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",end:";",illegal:/[\.']/,contains:[e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"use",end:";",contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"=>"},a,n]}}}());hljs.registerLanguage("nginx",function(){"use strict";return function(e){var n={className:"variable",variants:[{begin:/\$\d+/},{begin:/\$\{/,end:/}/},{begin:"[\\$\\@]"+e.UNDERSCORE_IDENT_RE}]},a={endsWithParent:!0,keywords:{$pattern:"[a-z/_]+",literal:"on off yes no true false none blocked debug info notice warn error crit select break last permanent redirect kqueue rtsig epoll poll /dev/poll"},relevance:0,illegal:"=>",contains:[e.HASH_COMMENT_MODE,{className:"string",contains:[e.BACKSLASH_ESCAPE,n],variants:[{begin:/"/,end:/"/},{begin:/'/,end:/'/}]},{begin:"([a-z]+):/",end:"\\s",endsWithParent:!0,excludeEnd:!0,contains:[n]},{className:"regexp",contains:[e.BACKSLASH_ESCAPE,n],variants:[{begin:"\\s\\^",end:"\\s|{|;",returnEnd:!0},{begin:"~\\*?\\s+",end:"\\s|{|;",returnEnd:!0},{begin:"\\*(\\.[a-z\\-]+)+"},{begin:"([a-z\\-]+\\.)+\\*"}]},{className:"number",begin:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{className:"number",begin:"\\b\\d+[kKmMgGdshdwy]*\\b",relevance:0},n]};return{name:"Nginx config",aliases:["nginxconf"],contains:[e.HASH_COMMENT_MODE,{begin:e.UNDERSCORE_IDENT_RE+"\\s+{",returnBegin:!0,end:"{",contains:[{className:"section",begin:e.UNDERSCORE_IDENT_RE}],relevance:0},{begin:e.UNDERSCORE_IDENT_RE+"\\s",end:";|{",returnBegin:!0,contains:[{className:"attribute",begin:e.UNDERSCORE_IDENT_RE,starts:a}],relevance:0}],illegal:"[^\\s\\}]"}}}());hljs.registerLanguage("csharp",function(){"use strict";return function(e){var n={keyword:"abstract as base bool break byte case catch char checked const continue decimal default delegate do double enum event explicit extern finally fixed float for foreach goto if implicit in int interface internal is lock long object operator out override params private protected public readonly ref sbyte sealed short sizeof stackalloc static string struct switch this try typeof uint ulong unchecked unsafe ushort using virtual void volatile while add alias ascending async await by descending dynamic equals from get global group into join let nameof on orderby partial remove select set value var when where yield",literal:"null false true"},i=e.inherit(e.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),a={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},s={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},t=e.inherit(s,{illegal:/\n/}),l={className:"subst",begin:"{",end:"}",keywords:n},r=e.inherit(l,{illegal:/\n/}),c={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:"{{"},{begin:"}}"},e.BACKSLASH_ESCAPE,r]},o={className:"string",begin:/\$@"/,end:'"',contains:[{begin:"{{"},{begin:"}}"},{begin:'""'},l]},g=e.inherit(o,{illegal:/\n/,contains:[{begin:"{{"},{begin:"}}"},{begin:'""'},r]});l.contains=[o,c,s,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.C_BLOCK_COMMENT_MODE],r.contains=[g,c,t,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.inherit(e.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];var d={variants:[o,c,s,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},E={begin:"<",end:">",contains:[{beginKeywords:"in out"},i]},_=e.IDENT_RE+"(<"+e.IDENT_RE+"(\\s*,\\s*"+e.IDENT_RE+")*>)?(\\[\\])?",b={begin:"@"+e.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:n,illegal:/::/,contains:[e.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:"\x3c!--|--\x3e"},{begin:""}]}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{"meta-keyword":"if else elif endif define undef warning error line region endregion pragma checksum"}},d,a,{beginKeywords:"class interface",end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},i,E,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",end:/[{;=]/,illegal:/[^\s:]/,contains:[i,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"meta-string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+_+"\\s+)+"+e.IDENT_RE+"\\s*(\\<.+\\>)?\\s*\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:n,contains:[{begin:e.IDENT_RE+"\\s*(\\<.+\\>)?\\s*\\(",returnBegin:!0,contains:[e.TITLE_MODE,E],relevance:0},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:n,relevance:0,contains:[d,a,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},b]}}}());hljs.registerLanguage("perl",function(){"use strict";return function(e){var n={$pattern:/[\w.]+/,keyword:"getpwent getservent quotemeta msgrcv scalar kill dbmclose undef lc ma syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam rewinddir qq fileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent shutdown dump chomp connect getsockname die socketpair close flock exists index shmget sub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr unshift fcntl syscall goto getnetbyaddr join gmtime symlink semget splice x|0 getpeername recv log setsockopt cos last reverse gethostbyname getgrnam study formline endhostent times chop length gethostent getnetent pack getprotoent getservbyname rand mkdir pos chmod y|0 substr endnetent printf next open msgsnd readdir use unlink getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr untie rmdir prototype tell listen fork shmread ucfirst setprotoent else sysseek link getgrgid shmctl waitpid unpack getnetbyname reset chdir grep split require caller lcfirst until warn while values shift telldir getpwuid my getprotobynumber delete and sort uc defined srand accept package seekdir getprotobyname semop our rename seek if q|0 chroot sysread setpwent no crypt getc chown sqrt write setnetent setpriority foreach tie sin msgget map stat getlogin unless elsif truncate exec keys glob tied closedir ioctl socket readlink eval xor readline binmode setservent eof ord bind alarm pipe atan2 getgrent exp time push setgrent gt lt or ne m|0 break given say state when"},t={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:n},s={begin:"->{",end:"}"},r={variants:[{begin:/\$\d/},{begin:/[\$%@](\^\w\b|#\w+(::\w+)*|{\w+}|\w+(::\w*)*)/},{begin:/[\$%@][^\s\w{]/,relevance:0}]},i=[e.BACKSLASH_ESCAPE,t,r],a=[r,e.HASH_COMMENT_MODE,e.COMMENT("^\\=\\w","\\=cut",{endsWithParent:!0}),s,{className:"string",contains:i,variants:[{begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*\\<",end:"\\>",relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE]},{begin:"{\\w+}",contains:[],relevance:0},{begin:"-?\\w+\\s*\\=\\>",contains:[],relevance:0}]},{className:"number",begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},{begin:"(\\/\\/|"+e.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[e.HASH_COMMENT_MODE,{className:"regexp",begin:"(s|tr|y)/(\\\\.|[^/])*/(\\\\.|[^/])*/[a-z]*",relevance:10},{className:"regexp",begin:"(m|qr)?/",end:"/[a-z]*",contains:[e.BACKSLASH_ESCAPE],relevance:0}]},{className:"function",beginKeywords:"sub",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return t.contains=a,s.contains=a,{name:"Perl",aliases:["pl","pm"],keywords:n,contains:a}}}());hljs.registerLanguage("swift",function(){"use strict";return function(e){var i={keyword:"#available #colorLiteral #column #else #elseif #endif #file #fileLiteral #function #if #imageLiteral #line #selector #sourceLocation _ __COLUMN__ __FILE__ __FUNCTION__ __LINE__ Any as as! as? associatedtype associativity break case catch class continue convenience default defer deinit didSet do dynamic dynamicType else enum extension fallthrough false fileprivate final for func get guard if import in indirect infix init inout internal is lazy left let mutating nil none nonmutating open operator optional override postfix precedence prefix private protocol Protocol public repeat required rethrows return right self Self set static struct subscript super switch throw throws true try try! try? Type typealias unowned var weak where while willSet",literal:"true false nil",built_in:"abs advance alignof alignofValue anyGenerator assert assertionFailure bridgeFromObjectiveC bridgeFromObjectiveCUnconditional bridgeToObjectiveC bridgeToObjectiveCUnconditional c compactMap contains count countElements countLeadingZeros debugPrint debugPrintln distance dropFirst dropLast dump encodeBitsAsWords enumerate equal fatalError filter find getBridgedObjectiveCType getVaList indices insertionSort isBridgedToObjectiveC isBridgedVerbatimToObjectiveC isUniquelyReferenced isUniquelyReferencedNonObjC join lazy lexicographicalCompare map max maxElement min minElement numericCast overlaps partition posix precondition preconditionFailure print println quickSort readLine reduce reflect reinterpretCast reverse roundUpToAlignment sizeof sizeofValue sort split startsWith stride strideof strideofValue swap toString transcode underestimateCount unsafeAddressOf unsafeBitCast unsafeDowncast unsafeUnwrap unsafeReflect withExtendedLifetime withObjectAtPlusZero withUnsafePointer withUnsafePointerToObject withUnsafeMutablePointer withUnsafeMutablePointers withUnsafePointer withUnsafePointers withVaList zip"},n=e.COMMENT("/\\*","\\*/",{contains:["self"]}),t={className:"subst",begin:/\\\(/,end:"\\)",keywords:i,contains:[]},a={className:"string",contains:[e.BACKSLASH_ESCAPE,t],variants:[{begin:/"""/,end:/"""/},{begin:/"/,end:/"/}]},r={className:"number",begin:"\\b([\\d_]+(\\.[\\deE_]+)?|0x[a-fA-F0-9_]+(\\.[a-fA-F0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b",relevance:0};return t.contains=[r],{name:"Swift",keywords:i,contains:[a,e.C_LINE_COMMENT_MODE,n,{className:"type",begin:"\\b[A-Z][\\wÀ-ʸ']*[!?]"},{className:"type",begin:"\\b[A-Z][\\wÀ-ʸ']*",relevance:0},r,{className:"function",beginKeywords:"func",end:"{",excludeEnd:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/[A-Za-z$_][0-9A-Za-z$_]*/}),{begin://},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:i,contains:["self",r,a,e.C_BLOCK_COMMENT_MODE,{begin:":"}],illegal:/["']/}],illegal:/\[|%/},{className:"class",beginKeywords:"struct protocol class extension enum",keywords:i,end:"\\{",excludeEnd:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/})]},{className:"meta",begin:"(@discardableResult|@warn_unused_result|@exported|@lazy|@noescape|@NSCopying|@NSManaged|@objc|@objcMembers|@convention|@required|@noreturn|@IBAction|@IBDesignable|@IBInspectable|@IBOutlet|@infix|@prefix|@postfix|@autoclosure|@testable|@available|@nonobjc|@NSApplicationMain|@UIApplicationMain|@dynamicMemberLookup|@propertyWrapper)\\b"},{beginKeywords:"import",end:/$/,contains:[e.C_LINE_COMMENT_MODE,n]}]}}}());hljs.registerLanguage("makefile",function(){"use strict";return function(e){var i={className:"variable",variants:[{begin:"\\$\\("+e.UNDERSCORE_IDENT_RE+"\\)",contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,contains:[{className:"meta",begin:"",relevance:10,contains:[a,i,t,s,{begin:"\\[",end:"\\]",contains:[{className:"meta",begin:"",contains:[a,s,i,t]}]}]},e.COMMENT("\x3c!--","--\x3e",{relevance:10}),{begin:"<\\!\\[CDATA\\[",end:"\\]\\]>",relevance:10},n,{className:"meta",begin:/<\?xml/,end:/\?>/,relevance:10},{className:"tag",begin:")",end:">",keywords:{name:"style"},contains:[c],starts:{end:"",returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:")",end:">",keywords:{name:"script"},contains:[c],starts:{end:"<\/script>",returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:"",contains:[{className:"name",begin:/[^\/><\s]+/,relevance:0},c]}]}}}());hljs.registerLanguage("bash",function(){"use strict";return function(e){const s={};Object.assign(s,{className:"variable",variants:[{begin:/\$[\w\d#@][\w\d_]*/},{begin:/\$\{/,end:/\}/,contains:[{begin:/:-/,contains:[s]}]}]});const t={className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},n={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,s,t]};t.contains.push(n);const a={begin:/\$\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,s]},i=e.SHEBANG({binary:"(fish|bash|zsh|sh|csh|ksh|tcsh|dash|scsh)",relevance:10}),c={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b-?[a-z\._]+\b/,keyword:"if then else elif fi for while in do done case esac function",literal:"true false",built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp",_:"-ne -eq -lt -gt -f -d -e -s -l -a"},contains:[i,e.SHEBANG(),c,a,e.HASH_COMMENT_MODE,n,{className:"",begin:/\\"/},{className:"string",begin:/'/,end:/'/},s]}}}());hljs.registerLanguage("c-like",function(){"use strict";return function(e){function t(e){return"(?:"+e+")?"}var n="(decltype\\(auto\\)|"+t("[a-zA-Z_]\\w*::")+"[a-zA-Z_]\\w*"+t("<.*?>")+")",r={className:"keyword",begin:"\\b[a-z\\d_]*_t\\b"},a={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},i={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},s={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{"meta-keyword":"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(a,{className:"meta-string"}),{className:"meta-string",begin:/<.*?>/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},o={className:"title",begin:t("[a-zA-Z_]\\w*::")+e.IDENT_RE,relevance:0},c=t("[a-zA-Z_]\\w*::")+e.IDENT_RE+"\\s*\\(",l={keyword:"int float while private char char8_t char16_t char32_t catch import module export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace unsigned long volatile static protected bool template mutable if public friend do goto auto void enum else break extern using asm case typeid wchar_t short reinterpret_cast|10 default double register explicit signed typename try this switch continue inline delete alignas alignof constexpr consteval constinit decltype concept co_await co_return co_yield requires noexcept static_assert thread_local restrict final override atomic_bool atomic_char atomic_schar atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong atomic_ullong new throw return and and_eq bitand bitor compl not not_eq or or_eq xor xor_eq",built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr _Bool complex _Complex imaginary _Imaginary",literal:"true false nullptr NULL"},d=[r,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,i,a],_={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:l,contains:d.concat([{begin:/\(/,end:/\)/,keywords:l,contains:d.concat(["self"]),relevance:0}]),relevance:0},u={className:"function",begin:"("+n+"[\\*&\\s]+)+"+c,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:l,illegal:/[^\w\s\*&:<>]/,contains:[{begin:"decltype\\(auto\\)",keywords:l,relevance:0},{begin:c,returnBegin:!0,contains:[o],relevance:0},{className:"params",begin:/\(/,end:/\)/,keywords:l,relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,i,r,{begin:/\(/,end:/\)/,keywords:l,relevance:0,contains:["self",e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,i,r]}]},r,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,s]};return{aliases:["c","cc","h","c++","h++","hpp","hh","hxx","cxx"],keywords:l,disableAutodetect:!0,illegal:"",keywords:l,contains:["self",r]},{begin:e.IDENT_RE+"::",keywords:l},{className:"class",beginKeywords:"class struct",end:/[{;:]/,contains:[{begin://,contains:["self"]},e.TITLE_MODE]}]),exports:{preprocessor:s,strings:a,keywords:l}}}}());hljs.registerLanguage("coffeescript",function(){"use strict";const e=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],n=["true","false","null","undefined","NaN","Infinity"],a=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]);return function(r){var t={keyword:e.concat(["then","unless","until","loop","by","when","and","or","is","isnt","not"]).filter((e=>n=>!e.includes(n))(["var","const","let","function","static"])).join(" "),literal:n.concat(["yes","no","on","off"]).join(" "),built_in:a.concat(["npm","print"]).join(" ")},i="[A-Za-z$_][0-9A-Za-z$_]*",s={className:"subst",begin:/#\{/,end:/}/,keywords:t},o=[r.BINARY_NUMBER_MODE,r.inherit(r.C_NUMBER_MODE,{starts:{end:"(\\s*/)?",relevance:0}}),{className:"string",variants:[{begin:/'''/,end:/'''/,contains:[r.BACKSLASH_ESCAPE]},{begin:/'/,end:/'/,contains:[r.BACKSLASH_ESCAPE]},{begin:/"""/,end:/"""/,contains:[r.BACKSLASH_ESCAPE,s]},{begin:/"/,end:/"/,contains:[r.BACKSLASH_ESCAPE,s]}]},{className:"regexp",variants:[{begin:"///",end:"///",contains:[s,r.HASH_COMMENT_MODE]},{begin:"//[gim]{0,3}(?=\\W)",relevance:0},{begin:/\/(?![ *]).*?(?![\\]).\/[gim]{0,3}(?=\W)/}]},{begin:"@"+i},{subLanguage:"javascript",excludeBegin:!0,excludeEnd:!0,variants:[{begin:"```",end:"```"},{begin:"`",end:"`"}]}];s.contains=o;var c=r.inherit(r.TITLE_MODE,{begin:i}),l={className:"params",begin:"\\([^\\(]",returnBegin:!0,contains:[{begin:/\(/,end:/\)/,keywords:t,contains:["self"].concat(o)}]};return{name:"CoffeeScript",aliases:["coffee","cson","iced"],keywords:t,illegal:/\/\*/,contains:o.concat([r.COMMENT("###","###"),r.HASH_COMMENT_MODE,{className:"function",begin:"^\\s*"+i+"\\s*=\\s*(\\(.*\\))?\\s*\\B[-=]>",end:"[-=]>",returnBegin:!0,contains:[c,l]},{begin:/[:\(,=]\s*/,relevance:0,contains:[{className:"function",begin:"(\\(.*\\))?\\s*\\B[-=]>",end:"[-=]>",returnBegin:!0,contains:[l]}]},{className:"class",beginKeywords:"class",end:"$",illegal:/[:="\[\]]/,contains:[{beginKeywords:"extends",endsWithParent:!0,illegal:/[:="\[\]]/,contains:[c]},c]},{begin:i+":",end:":",returnBegin:!0,returnEnd:!0,relevance:0}])}}}());hljs.registerLanguage("ruby",function(){"use strict";return function(e){var n="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?",a={keyword:"and then defined module in return redo if BEGIN retry end for self when next until do begin unless END rescue else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor",literal:"true false nil"},s={className:"doctag",begin:"@[A-Za-z]+"},i={begin:"#<",end:">"},r=[e.COMMENT("#","$",{contains:[s]}),e.COMMENT("^\\=begin","^\\=end",{contains:[s],relevance:10}),e.COMMENT("^__END__","\\n$")],c={className:"subst",begin:"#\\{",end:"}",keywords:a},t={className:"string",contains:[e.BACKSLASH_ESCAPE,c],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:"%[qQwWx]?\\(",end:"\\)"},{begin:"%[qQwWx]?\\[",end:"\\]"},{begin:"%[qQwWx]?{",end:"}"},{begin:"%[qQwWx]?<",end:">"},{begin:"%[qQwWx]?/",end:"/"},{begin:"%[qQwWx]?%",end:"%"},{begin:"%[qQwWx]?-",end:"-"},{begin:"%[qQwWx]?\\|",end:"\\|"},{begin:/\B\?(\\\d{1,3}|\\x[A-Fa-f0-9]{1,2}|\\u[A-Fa-f0-9]{4}|\\?\S)\b/},{begin:/<<[-~]?'?(\w+)(?:.|\n)*?\n\s*\1\b/,returnBegin:!0,contains:[{begin:/<<[-~]?'?/},e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[e.BACKSLASH_ESCAPE,c]})]}]},b={className:"params",begin:"\\(",end:"\\)",endsParent:!0,keywords:a},d=[t,i,{className:"class",beginKeywords:"class module",end:"$|;",illegal:/=/,contains:[e.inherit(e.TITLE_MODE,{begin:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?"}),{begin:"<\\s*",contains:[{begin:"("+e.IDENT_RE+"::)?"+e.IDENT_RE}]}].concat(r)},{className:"function",beginKeywords:"def",end:"$|;",contains:[e.inherit(e.TITLE_MODE,{begin:n}),b].concat(r)},{begin:e.IDENT_RE+"::"},{className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"(\\!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[t,{begin:n}],relevance:0},{className:"number",begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},{begin:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{className:"params",begin:/\|/,end:/\|/,keywords:a},{begin:"("+e.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[i,{className:"regexp",contains:[e.BACKSLASH_ESCAPE,c],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:"%r{",end:"}[a-z]*"},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(r),relevance:0}].concat(r);c.contains=d,b.contains=d;var g=[{begin:/^\s*=>/,starts:{end:"$",contains:d}},{className:"meta",begin:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+>|(\\w+-)?\\d+\\.\\d+\\.\\d(p\\d+)?[^>]+>)",starts:{end:"$",contains:d}}];return{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:a,illegal:/\/\*/,contains:r.concat(g).concat(d)}}}());hljs.registerLanguage("yaml",function(){"use strict";return function(e){var n="true false yes no null",a="[\\w#;/?:@&=+$,.~*\\'()[\\]]+",s={className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,{className:"template-variable",variants:[{begin:"{{",end:"}}"},{begin:"%{",end:"}"}]}]},i=e.inherit(s,{variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),l={end:",",endsWithParent:!0,excludeEnd:!0,contains:[],keywords:n,relevance:0},t={begin:"{",end:"}",contains:[l],illegal:"\\n",relevance:0},g={begin:"\\[",end:"\\]",contains:[l],illegal:"\\n",relevance:0},b=[{className:"attr",variants:[{begin:"\\w[\\w :\\/.-]*:(?=[ \t]|$)"},{begin:'"\\w[\\w :\\/.-]*":(?=[ \t]|$)'},{begin:"'\\w[\\w :\\/.-]*':(?=[ \t]|$)"}]},{className:"meta",begin:"^---s*$",relevance:10},{className:"string",begin:"[\\|>]([0-9]?[+-])?[ ]*\\n( *)[\\S ]+\\n(\\2[\\S ]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+a},{className:"type",begin:"!<"+a+">"},{className:"type",begin:"!"+a},{className:"type",begin:"!!"+a},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"\\-(?=[ ]|$)",relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:n,keywords:{literal:n}},{className:"number",begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b"},{className:"number",begin:e.C_NUMBER_RE+"\\b"},t,g,s],c=[...b];return c.pop(),c.push(i),l.contains=c,{name:"YAML",case_insensitive:!0,aliases:["yml","YAML"],contains:b}}}());hljs.registerLanguage("d",function(){"use strict";return function(e){var a={$pattern:e.UNDERSCORE_IDENT_RE,keyword:"abstract alias align asm assert auto body break byte case cast catch class const continue debug default delete deprecated do else enum export extern final finally for foreach foreach_reverse|10 goto if immutable import in inout int interface invariant is lazy macro mixin module new nothrow out override package pragma private protected public pure ref return scope shared static struct super switch synchronized template this throw try typedef typeid typeof union unittest version void volatile while with __FILE__ __LINE__ __gshared|10 __thread __traits __DATE__ __EOF__ __TIME__ __TIMESTAMP__ __VENDOR__ __VERSION__",built_in:"bool cdouble cent cfloat char creal dchar delegate double dstring float function idouble ifloat ireal long real short string ubyte ucent uint ulong ushort wchar wstring",literal:"false null true"},d="((0|[1-9][\\d_]*)|0[bB][01_]+|0[xX]([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*))",n="\\\\(['\"\\?\\\\abfnrtv]|u[\\dA-Fa-f]{4}|[0-7]{1,3}|x[\\dA-Fa-f]{2}|U[\\dA-Fa-f]{8})|&[a-zA-Z\\d]{2,};",t={className:"number",begin:"\\b"+d+"(L|u|U|Lu|LU|uL|UL)?",relevance:0},_={className:"number",begin:"\\b(((0[xX](([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*)\\.([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*)|\\.?([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*))[pP][+-]?(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d))|((0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)(\\.\\d*|([eE][+-]?(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)))|\\d+\\.(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)|\\.(0|[1-9][\\d_]*)([eE][+-]?(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d))?))([fF]|L|i|[fF]i|Li)?|"+d+"(i|[fF]i|Li))",relevance:0},r={className:"string",begin:"'("+n+"|.)",end:"'",illegal:"."},i={className:"string",begin:'"',contains:[{begin:n,relevance:0}],end:'"[cwd]?'},s=e.COMMENT("\\/\\+","\\+\\/",{contains:["self"],relevance:10});return{name:"D",keywords:a,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,s,{className:"string",begin:'x"[\\da-fA-F\\s\\n\\r]*"[cwd]?',relevance:10},i,{className:"string",begin:'[rq]"',end:'"[cwd]?',relevance:5},{className:"string",begin:"`",end:"`[cwd]?"},{className:"string",begin:'q"\\{',end:'\\}"'},_,t,r,{className:"meta",begin:"^#!",end:"$",relevance:5},{className:"meta",begin:"#(line)",end:"$",relevance:5},{className:"keyword",begin:"@[a-zA-Z_][a-zA-Z_\\d]*"}]}}}());hljs.registerLanguage("properties",function(){"use strict";return function(e){var n="[ \\t\\f]*",t="("+n+"[:=]"+n+"|[ \\t\\f]+)",a="([^\\\\:= \\t\\f\\n]|\\\\.)+",s={end:t,relevance:0,starts:{className:"string",end:/$/,relevance:0,contains:[{begin:"\\\\\\n"}]}};return{name:".properties",case_insensitive:!0,illegal:/\S/,contains:[e.COMMENT("^\\s*[!#]","$"),{begin:"([^\\\\\\W:= \\t\\f\\n]|\\\\.)+"+t,returnBegin:!0,contains:[{className:"attr",begin:"([^\\\\\\W:= \\t\\f\\n]|\\\\.)+",endsParent:!0,relevance:0}],starts:s},{begin:a+t,returnBegin:!0,relevance:0,contains:[{className:"meta",begin:a,endsParent:!0,relevance:0}],starts:s},{className:"attr",relevance:0,begin:a+n+"$"}]}}}());hljs.registerLanguage("http",function(){"use strict";return function(e){var n="HTTP/[0-9\\.]+";return{name:"HTTP",aliases:["https"],illegal:"\\S",contains:[{begin:"^"+n,end:"$",contains:[{className:"number",begin:"\\b\\d{3}\\b"}]},{begin:"^[A-Z]+ (.*?) "+n+"$",returnBegin:!0,end:"$",contains:[{className:"string",begin:" ",end:" ",excludeBegin:!0,excludeEnd:!0},{begin:n},{className:"keyword",begin:"[A-Z]+"}]},{className:"attribute",begin:"^\\w",end:": ",excludeEnd:!0,illegal:"\\n|\\s|=",starts:{end:"$",relevance:0}},{begin:"\\n\\n",starts:{subLanguage:[],endsWithParent:!0}}]}}}());hljs.registerLanguage("haskell",function(){"use strict";return function(e){var n={variants:[e.COMMENT("--","$"),e.COMMENT("{-","-}",{contains:["self"]})]},i={className:"meta",begin:"{-#",end:"#-}"},a={className:"meta",begin:"^#",end:"$"},s={className:"type",begin:"\\b[A-Z][\\w']*",relevance:0},l={begin:"\\(",end:"\\)",illegal:'"',contains:[i,a,{className:"type",begin:"\\b[A-Z][\\w]*(\\((\\.\\.|,|\\w+)\\))?"},e.inherit(e.TITLE_MODE,{begin:"[_a-z][\\w']*"}),n]};return{name:"Haskell",aliases:["hs"],keywords:"let in if then else case of where do module import hiding qualified type data newtype deriving class instance as default infix infixl infixr foreign export ccall stdcall cplusplus jvm dotnet safe unsafe family forall mdo proc rec",contains:[{beginKeywords:"module",end:"where",keywords:"module where",contains:[l,n],illegal:"\\W\\.|;"},{begin:"\\bimport\\b",end:"$",keywords:"import qualified as hiding",contains:[l,n],illegal:"\\W\\.|;"},{className:"class",begin:"^(\\s*)?(class|instance)\\b",end:"where",keywords:"class family instance where",contains:[s,l,n]},{className:"class",begin:"\\b(data|(new)?type)\\b",end:"$",keywords:"data family type newtype deriving",contains:[i,s,l,{begin:"{",end:"}",contains:l.contains},n]},{beginKeywords:"default",end:"$",contains:[s,l,n]},{beginKeywords:"infix infixl infixr",end:"$",contains:[e.C_NUMBER_MODE,n]},{begin:"\\bforeign\\b",end:"$",keywords:"foreign import export ccall stdcall cplusplus jvm dotnet safe unsafe",contains:[s,e.QUOTE_STRING_MODE,n]},{className:"meta",begin:"#!\\/usr\\/bin\\/env runhaskell",end:"$"},i,a,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,s,e.inherit(e.TITLE_MODE,{begin:"^[_a-z][\\w']*"}),n,{begin:"->|<-"}]}}}());hljs.registerLanguage("handlebars",function(){"use strict";function e(...e){return e.map(e=>(function(e){return e?"string"==typeof e?e:e.source:null})(e)).join("")}return function(n){const a={"builtin-name":"action bindattr collection component concat debugger each each-in get hash if in input link-to loc log lookup mut outlet partial query-params render template textarea unbound unless view with yield"},t=/\[.*?\]/,s=/[^\s!"#%&'()*+,.\/;<=>@\[\\\]^`{|}~]+/,i=e("(",/'.*?'/,"|",/".*?"/,"|",t,"|",s,"|",/\.|\//,")+"),r=e("(",t,"|",s,")(?==)"),l={begin:i,lexemes:/[\w.\/]+/},c=n.inherit(l,{keywords:{literal:"true false undefined null"}}),o={begin:/\(/,end:/\)/},m={className:"attr",begin:r,relevance:0,starts:{begin:/=/,end:/=/,starts:{contains:[n.NUMBER_MODE,n.QUOTE_STRING_MODE,n.APOS_STRING_MODE,c,o]}}},d={contains:[n.NUMBER_MODE,n.QUOTE_STRING_MODE,n.APOS_STRING_MODE,{begin:/as\s+\|/,keywords:{keyword:"as"},end:/\|/,contains:[{begin:/\w+/}]},m,c,o],returnEnd:!0},g=n.inherit(l,{className:"name",keywords:a,starts:n.inherit(d,{end:/\)/})});o.contains=[g];const u=n.inherit(l,{keywords:a,className:"name",starts:n.inherit(d,{end:/}}/})}),b=n.inherit(l,{keywords:a,className:"name"}),h=n.inherit(l,{className:"name",keywords:a,starts:n.inherit(d,{end:/}}/})});return{name:"Handlebars",aliases:["hbs","html.hbs","html.handlebars","htmlbars"],case_insensitive:!0,subLanguage:"xml",contains:[{begin:/\\\{\{/,skip:!0},{begin:/\\\\(?=\{\{)/,skip:!0},n.COMMENT(/\{\{!--/,/--\}\}/),n.COMMENT(/\{\{!/,/\}\}/),{className:"template-tag",begin:/\{\{\{\{(?!\/)/,end:/\}\}\}\}/,contains:[u],starts:{end:/\{\{\{\{\//,returnEnd:!0,subLanguage:"xml"}},{className:"template-tag",begin:/\{\{\{\{\//,end:/\}\}\}\}/,contains:[b]},{className:"template-tag",begin:/\{\{#/,end:/\}\}/,contains:[u]},{className:"template-tag",begin:/\{\{(?=else\}\})/,end:/\}\}/,keywords:"else"},{className:"template-tag",begin:/\{\{\//,end:/\}\}/,contains:[b]},{className:"template-variable",begin:/\{\{\{/,end:/\}\}\}/,contains:[h]},{className:"template-variable",begin:/\{\{/,end:/\}\}/,contains:[h]}]}}}());hljs.registerLanguage("rust",function(){"use strict";return function(e){var n="([ui](8|16|32|64|128|size)|f(32|64))?",t="drop i8 i16 i32 i64 i128 isize u8 u16 u32 u64 u128 usize f32 f64 str char bool Box Option Result String Vec Copy Send Sized Sync Drop Fn FnMut FnOnce ToOwned Clone Debug PartialEq PartialOrd Eq Ord AsRef AsMut Into From Default Iterator Extend IntoIterator DoubleEndedIterator ExactSizeIterator SliceConcatExt ToString assert! assert_eq! bitflags! bytes! cfg! col! concat! concat_idents! debug_assert! debug_assert_eq! env! panic! file! format! format_args! include_bin! include_str! line! local_data_key! module_path! option_env! print! println! select! stringify! try! unimplemented! unreachable! vec! write! writeln! macro_rules! assert_ne! debug_assert_ne!";return{name:"Rust",aliases:["rs"],keywords:{$pattern:e.IDENT_RE+"!?",keyword:"abstract as async await become box break const continue crate do dyn else enum extern false final fn for if impl in let loop macro match mod move mut override priv pub ref return self Self static struct super trait true try type typeof unsafe unsized use virtual where while yield",literal:"true false Some None Ok Err",built_in:t},illegal:""}]}}}());hljs.registerLanguage("cpp",function(){"use strict";return function(e){var t=e.getLanguage("c-like").rawDefinition();return t.disableAutodetect=!1,t.name="C++",t.aliases=["cc","c++","h++","hpp","hh","hxx","cxx"],t}}());hljs.registerLanguage("ini",function(){"use strict";function e(e){return e?"string"==typeof e?e:e.source:null}function n(...n){return n.map(n=>e(n)).join("")}return function(a){var s={className:"number",relevance:0,variants:[{begin:/([\+\-]+)?[\d]+_[\d_]+/},{begin:a.NUMBER_RE}]},i=a.COMMENT();i.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];var t={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)}/}]},r={className:"literal",begin:/\bon|off|true|false|yes|no\b/},l={className:"string",contains:[a.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}]},c={begin:/\[/,end:/\]/,contains:[i,r,t,l,s,"self"],relevance:0},g="("+[/[A-Za-z0-9_-]+/,/"(\\"|[^"])*"/,/'[^']*'/].map(n=>e(n)).join("|")+")";return{name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/,contains:[i,{className:"section",begin:/\[+/,end:/\]+/},{begin:n(g,"(\\s*\\.\\s*",g,")*",n("(?=",/\s*=\s*[^#\s]/,")")),className:"attr",starts:{end:/$/,contains:[i,c,r,t,l,s]}}]}}}());hljs.registerLanguage("objectivec",function(){"use strict";return function(e){var n=/[a-zA-Z@][a-zA-Z0-9_]*/,_={$pattern:n,keyword:"@interface @class @protocol @implementation"};return{name:"Objective-C",aliases:["mm","objc","obj-c"],keywords:{$pattern:n,keyword:"int float while char export sizeof typedef const struct for union unsigned long volatile static bool mutable if do return goto void enum else break extern asm case short default double register explicit signed typename this switch continue wchar_t inline readonly assign readwrite self @synchronized id typeof nonatomic super unichar IBOutlet IBAction strong weak copy in out inout bycopy byref oneway __strong __weak __block __autoreleasing @private @protected @public @try @property @end @throw @catch @finally @autoreleasepool @synthesize @dynamic @selector @optional @required @encode @package @import @defs @compatibility_alias __bridge __bridge_transfer __bridge_retained __bridge_retain __covariant __contravariant __kindof _Nonnull _Nullable _Null_unspecified __FUNCTION__ __PRETTY_FUNCTION__ __attribute__ getter setter retain unsafe_unretained nonnull nullable null_unspecified null_resettable class instancetype NS_DESIGNATED_INITIALIZER NS_UNAVAILABLE NS_REQUIRES_SUPER NS_RETURNS_INNER_POINTER NS_INLINE NS_AVAILABLE NS_DEPRECATED NS_ENUM NS_OPTIONS NS_SWIFT_UNAVAILABLE NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_REFINED_FOR_SWIFT NS_SWIFT_NAME NS_SWIFT_NOTHROW NS_DURING NS_HANDLER NS_ENDHANDLER NS_VALUERETURN NS_VOIDRETURN",literal:"false true FALSE TRUE nil YES NO NULL",built_in:"BOOL dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once"},illegal:"/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+_.keyword.split(" ").join("|")+")\\b",end:"({|$)",excludeEnd:!0,keywords:_,contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE,relevance:0}]}}}());hljs.registerLanguage("apache",function(){"use strict";return function(e){var n={className:"number",begin:"\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?"};return{name:"Apache config",aliases:["apacheconf"],case_insensitive:!0,contains:[e.HASH_COMMENT_MODE,{className:"section",begin:"",contains:[n,{className:"number",begin:":\\d{1,5}"},e.inherit(e.QUOTE_STRING_MODE,{relevance:0})]},{className:"attribute",begin:/\w+/,relevance:0,keywords:{nomarkup:"order deny allow setenv rewriterule rewriteengine rewritecond documentroot sethandler errordocument loadmodule options header listen serverroot servername"},starts:{end:/$/,relevance:0,keywords:{literal:"on off all deny allow"},contains:[{className:"meta",begin:"\\s\\[",end:"\\]$"},{className:"variable",begin:"[\\$%]\\{",end:"\\}",contains:["self",{className:"number",begin:"[\\$%]\\d+"}]},n,{className:"number",begin:"\\d+"},e.QUOTE_STRING_MODE]}}],illegal:/\S/}}}());hljs.registerLanguage("java",function(){"use strict";function e(e){return e?"string"==typeof e?e:e.source:null}function n(e){return a("(",e,")?")}function a(...n){return n.map(n=>e(n)).join("")}function s(...n){return"("+n.map(n=>e(n)).join("|")+")"}return function(e){var t="false synchronized int abstract float private char boolean var static null if const for true while long strictfp finally protected import native final void enum else break transient catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private module requires exports do",i={className:"meta",begin:"@[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},r=e=>a("[",e,"]+([",e,"_]*[",e,"]+)?"),c={className:"number",variants:[{begin:`\\b(0[bB]${r("01")})[lL]?`},{begin:`\\b(0${r("0-7")})[dDfFlL]?`},{begin:a(/\b0[xX]/,s(a(r("a-fA-F0-9"),/\./,r("a-fA-F0-9")),a(r("a-fA-F0-9"),/\.?/),a(/\./,r("a-fA-F0-9"))),/([pP][+-]?(\d+))?/,/[fFdDlL]?/)},{begin:a(/\b/,s(a(/\d*\./,r("\\d")),r("\\d")),/[eE][+-]?[\d]+[dDfF]?/)},{begin:a(/\b/,r(/\d/),n(/\.?/),n(r(/\d/)),/[dDfFlL]?/)}],relevance:0};return{name:"Java",aliases:["jsp"],keywords:t,illegal:/<\/|#/,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"class",beginKeywords:"class interface",end:/[{;=]/,excludeEnd:!0,keywords:"class interface",illegal:/[:"\[\]]/,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"new throw return else",relevance:0},{className:"function",begin:"([À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(<[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(\\s*,\\s*[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*)*>)?\\s+)+"+e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:t,contains:[{begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"params",begin:/\(/,end:/\)/,keywords:t,relevance:0,contains:[i,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},c,i]}}}());hljs.registerLanguage("x86asm",function(){"use strict";return function(s){return{name:"Intel x86 Assembly",case_insensitive:!0,keywords:{$pattern:"[.%]?"+s.IDENT_RE,keyword:"lock rep repe repz repne repnz xaquire xrelease bnd nobnd aaa aad aam aas adc add and arpl bb0_reset bb1_reset bound bsf bsr bswap bt btc btr bts call cbw cdq cdqe clc cld cli clts cmc cmp cmpsb cmpsd cmpsq cmpsw cmpxchg cmpxchg486 cmpxchg8b cmpxchg16b cpuid cpu_read cpu_write cqo cwd cwde daa das dec div dmint emms enter equ f2xm1 fabs fadd faddp fbld fbstp fchs fclex fcmovb fcmovbe fcmove fcmovnb fcmovnbe fcmovne fcmovnu fcmovu fcom fcomi fcomip fcomp fcompp fcos fdecstp fdisi fdiv fdivp fdivr fdivrp femms feni ffree ffreep fiadd ficom ficomp fidiv fidivr fild fimul fincstp finit fist fistp fisttp fisub fisubr fld fld1 fldcw fldenv fldl2e fldl2t fldlg2 fldln2 fldpi fldz fmul fmulp fnclex fndisi fneni fninit fnop fnsave fnstcw fnstenv fnstsw fpatan fprem fprem1 fptan frndint frstor fsave fscale fsetpm fsin fsincos fsqrt fst fstcw fstenv fstp fstsw fsub fsubp fsubr fsubrp ftst fucom fucomi fucomip fucomp fucompp fxam fxch fxtract fyl2x fyl2xp1 hlt ibts icebp idiv imul in inc incbin insb insd insw int int01 int1 int03 int3 into invd invpcid invlpg invlpga iret iretd iretq iretw jcxz jecxz jrcxz jmp jmpe lahf lar lds lea leave les lfence lfs lgdt lgs lidt lldt lmsw loadall loadall286 lodsb lodsd lodsq lodsw loop loope loopne loopnz loopz lsl lss ltr mfence monitor mov movd movq movsb movsd movsq movsw movsx movsxd movzx mul mwait neg nop not or out outsb outsd outsw packssdw packsswb packuswb paddb paddd paddsb paddsiw paddsw paddusb paddusw paddw pand pandn pause paveb pavgusb pcmpeqb pcmpeqd pcmpeqw pcmpgtb pcmpgtd pcmpgtw pdistib pf2id pfacc pfadd pfcmpeq pfcmpge pfcmpgt pfmax pfmin pfmul pfrcp pfrcpit1 pfrcpit2 pfrsqit1 pfrsqrt pfsub pfsubr pi2fd pmachriw pmaddwd pmagw pmulhriw pmulhrwa pmulhrwc pmulhw pmullw pmvgezb pmvlzb pmvnzb pmvzb pop popa popad popaw popf popfd popfq popfw por prefetch prefetchw pslld psllq psllw psrad psraw psrld psrlq psrlw psubb psubd psubsb psubsiw psubsw psubusb psubusw psubw punpckhbw punpckhdq punpckhwd punpcklbw punpckldq punpcklwd push pusha pushad pushaw pushf pushfd pushfq pushfw pxor rcl rcr rdshr rdmsr rdpmc rdtsc rdtscp ret retf retn rol ror rdm rsdc rsldt rsm rsts sahf sal salc sar sbb scasb scasd scasq scasw sfence sgdt shl shld shr shrd sidt sldt skinit smi smint smintold smsw stc std sti stosb stosd stosq stosw str sub svdc svldt svts swapgs syscall sysenter sysexit sysret test ud0 ud1 ud2b ud2 ud2a umov verr verw fwait wbinvd wrshr wrmsr xadd xbts xchg xlatb xlat xor cmove cmovz cmovne cmovnz cmova cmovnbe cmovae cmovnb cmovb cmovnae cmovbe cmovna cmovg cmovnle cmovge cmovnl cmovl cmovnge cmovle cmovng cmovc cmovnc cmovo cmovno cmovs cmovns cmovp cmovpe cmovnp cmovpo je jz jne jnz ja jnbe jae jnb jb jnae jbe jna jg jnle jge jnl jl jnge jle jng jc jnc jo jno js jns jpo jnp jpe jp sete setz setne setnz seta setnbe setae setnb setnc setb setnae setcset setbe setna setg setnle setge setnl setl setnge setle setng sets setns seto setno setpe setp setpo setnp addps addss andnps andps cmpeqps cmpeqss cmpleps cmpless cmpltps cmpltss cmpneqps cmpneqss cmpnleps cmpnless cmpnltps cmpnltss cmpordps cmpordss cmpunordps cmpunordss cmpps cmpss comiss cvtpi2ps cvtps2pi cvtsi2ss cvtss2si cvttps2pi cvttss2si divps divss ldmxcsr maxps maxss minps minss movaps movhps movlhps movlps movhlps movmskps movntps movss movups mulps mulss orps rcpps rcpss rsqrtps rsqrtss shufps sqrtps sqrtss stmxcsr subps subss ucomiss unpckhps unpcklps xorps fxrstor fxrstor64 fxsave fxsave64 xgetbv xsetbv xsave xsave64 xsaveopt xsaveopt64 xrstor xrstor64 prefetchnta prefetcht0 prefetcht1 prefetcht2 maskmovq movntq pavgb pavgw pextrw pinsrw pmaxsw pmaxub pminsw pminub pmovmskb pmulhuw psadbw pshufw pf2iw pfnacc pfpnacc pi2fw pswapd maskmovdqu clflush movntdq movnti movntpd movdqa movdqu movdq2q movq2dq paddq pmuludq pshufd pshufhw pshuflw pslldq psrldq psubq punpckhqdq punpcklqdq addpd addsd andnpd andpd cmpeqpd cmpeqsd cmplepd cmplesd cmpltpd cmpltsd cmpneqpd cmpneqsd cmpnlepd cmpnlesd cmpnltpd cmpnltsd cmpordpd cmpordsd cmpunordpd cmpunordsd cmppd comisd cvtdq2pd cvtdq2ps cvtpd2dq cvtpd2pi cvtpd2ps cvtpi2pd cvtps2dq cvtps2pd cvtsd2si cvtsd2ss cvtsi2sd cvtss2sd cvttpd2pi cvttpd2dq cvttps2dq cvttsd2si divpd divsd maxpd maxsd minpd minsd movapd movhpd movlpd movmskpd movupd mulpd mulsd orpd shufpd sqrtpd sqrtsd subpd subsd ucomisd unpckhpd unpcklpd xorpd addsubpd addsubps haddpd haddps hsubpd hsubps lddqu movddup movshdup movsldup clgi stgi vmcall vmclear vmfunc vmlaunch vmload vmmcall vmptrld vmptrst vmread vmresume vmrun vmsave vmwrite vmxoff vmxon invept invvpid pabsb pabsw pabsd palignr phaddw phaddd phaddsw phsubw phsubd phsubsw pmaddubsw pmulhrsw pshufb psignb psignw psignd extrq insertq movntsd movntss lzcnt blendpd blendps blendvpd blendvps dppd dpps extractps insertps movntdqa mpsadbw packusdw pblendvb pblendw pcmpeqq pextrb pextrd pextrq phminposuw pinsrb pinsrd pinsrq pmaxsb pmaxsd pmaxud pmaxuw pminsb pminsd pminud pminuw pmovsxbw pmovsxbd pmovsxbq pmovsxwd pmovsxwq pmovsxdq pmovzxbw pmovzxbd pmovzxbq pmovzxwd pmovzxwq pmovzxdq pmuldq pmulld ptest roundpd roundps roundsd roundss crc32 pcmpestri pcmpestrm pcmpistri pcmpistrm pcmpgtq popcnt getsec pfrcpv pfrsqrtv movbe aesenc aesenclast aesdec aesdeclast aesimc aeskeygenassist vaesenc vaesenclast vaesdec vaesdeclast vaesimc vaeskeygenassist vaddpd vaddps vaddsd vaddss vaddsubpd vaddsubps vandpd vandps vandnpd vandnps vblendpd vblendps vblendvpd vblendvps vbroadcastss vbroadcastsd vbroadcastf128 vcmpeq_ospd vcmpeqpd vcmplt_ospd vcmpltpd vcmple_ospd vcmplepd vcmpunord_qpd vcmpunordpd vcmpneq_uqpd vcmpneqpd vcmpnlt_uspd vcmpnltpd vcmpnle_uspd vcmpnlepd vcmpord_qpd vcmpordpd vcmpeq_uqpd vcmpnge_uspd vcmpngepd vcmpngt_uspd vcmpngtpd vcmpfalse_oqpd vcmpfalsepd vcmpneq_oqpd vcmpge_ospd vcmpgepd vcmpgt_ospd vcmpgtpd vcmptrue_uqpd vcmptruepd vcmplt_oqpd vcmple_oqpd vcmpunord_spd vcmpneq_uspd vcmpnlt_uqpd vcmpnle_uqpd vcmpord_spd vcmpeq_uspd vcmpnge_uqpd vcmpngt_uqpd vcmpfalse_ospd vcmpneq_ospd vcmpge_oqpd vcmpgt_oqpd vcmptrue_uspd vcmppd vcmpeq_osps vcmpeqps vcmplt_osps vcmpltps vcmple_osps vcmpleps vcmpunord_qps vcmpunordps vcmpneq_uqps vcmpneqps vcmpnlt_usps vcmpnltps vcmpnle_usps vcmpnleps vcmpord_qps vcmpordps vcmpeq_uqps vcmpnge_usps vcmpngeps vcmpngt_usps vcmpngtps vcmpfalse_oqps vcmpfalseps vcmpneq_oqps vcmpge_osps vcmpgeps vcmpgt_osps vcmpgtps vcmptrue_uqps vcmptrueps vcmplt_oqps vcmple_oqps vcmpunord_sps vcmpneq_usps vcmpnlt_uqps vcmpnle_uqps vcmpord_sps vcmpeq_usps vcmpnge_uqps vcmpngt_uqps vcmpfalse_osps vcmpneq_osps vcmpge_oqps vcmpgt_oqps vcmptrue_usps vcmpps vcmpeq_ossd vcmpeqsd vcmplt_ossd vcmpltsd vcmple_ossd vcmplesd vcmpunord_qsd vcmpunordsd vcmpneq_uqsd vcmpneqsd vcmpnlt_ussd vcmpnltsd vcmpnle_ussd vcmpnlesd vcmpord_qsd vcmpordsd vcmpeq_uqsd vcmpnge_ussd vcmpngesd vcmpngt_ussd vcmpngtsd vcmpfalse_oqsd vcmpfalsesd vcmpneq_oqsd vcmpge_ossd vcmpgesd vcmpgt_ossd vcmpgtsd vcmptrue_uqsd vcmptruesd vcmplt_oqsd vcmple_oqsd vcmpunord_ssd vcmpneq_ussd vcmpnlt_uqsd vcmpnle_uqsd vcmpord_ssd vcmpeq_ussd vcmpnge_uqsd vcmpngt_uqsd vcmpfalse_ossd vcmpneq_ossd vcmpge_oqsd vcmpgt_oqsd vcmptrue_ussd vcmpsd vcmpeq_osss vcmpeqss vcmplt_osss vcmpltss vcmple_osss vcmpless vcmpunord_qss vcmpunordss vcmpneq_uqss vcmpneqss vcmpnlt_usss vcmpnltss vcmpnle_usss vcmpnless vcmpord_qss vcmpordss vcmpeq_uqss vcmpnge_usss vcmpngess vcmpngt_usss vcmpngtss vcmpfalse_oqss vcmpfalsess vcmpneq_oqss vcmpge_osss vcmpgess vcmpgt_osss vcmpgtss vcmptrue_uqss vcmptruess vcmplt_oqss vcmple_oqss vcmpunord_sss vcmpneq_usss vcmpnlt_uqss vcmpnle_uqss vcmpord_sss vcmpeq_usss vcmpnge_uqss vcmpngt_uqss vcmpfalse_osss vcmpneq_osss vcmpge_oqss vcmpgt_oqss vcmptrue_usss vcmpss vcomisd vcomiss vcvtdq2pd vcvtdq2ps vcvtpd2dq vcvtpd2ps vcvtps2dq vcvtps2pd vcvtsd2si vcvtsd2ss vcvtsi2sd vcvtsi2ss vcvtss2sd vcvtss2si vcvttpd2dq vcvttps2dq vcvttsd2si vcvttss2si vdivpd vdivps vdivsd vdivss vdppd vdpps vextractf128 vextractps vhaddpd vhaddps vhsubpd vhsubps vinsertf128 vinsertps vlddqu vldqqu vldmxcsr vmaskmovdqu vmaskmovps vmaskmovpd vmaxpd vmaxps vmaxsd vmaxss vminpd vminps vminsd vminss vmovapd vmovaps vmovd vmovq vmovddup vmovdqa vmovqqa vmovdqu vmovqqu vmovhlps vmovhpd vmovhps vmovlhps vmovlpd vmovlps vmovmskpd vmovmskps vmovntdq vmovntqq vmovntdqa vmovntpd vmovntps vmovsd vmovshdup vmovsldup vmovss vmovupd vmovups vmpsadbw vmulpd vmulps vmulsd vmulss vorpd vorps vpabsb vpabsw vpabsd vpacksswb vpackssdw vpackuswb vpackusdw vpaddb vpaddw vpaddd vpaddq vpaddsb vpaddsw vpaddusb vpaddusw vpalignr vpand vpandn vpavgb vpavgw vpblendvb vpblendw vpcmpestri vpcmpestrm vpcmpistri vpcmpistrm vpcmpeqb vpcmpeqw vpcmpeqd vpcmpeqq vpcmpgtb vpcmpgtw vpcmpgtd vpcmpgtq vpermilpd vpermilps vperm2f128 vpextrb vpextrw vpextrd vpextrq vphaddw vphaddd vphaddsw vphminposuw vphsubw vphsubd vphsubsw vpinsrb vpinsrw vpinsrd vpinsrq vpmaddwd vpmaddubsw vpmaxsb vpmaxsw vpmaxsd vpmaxub vpmaxuw vpmaxud vpminsb vpminsw vpminsd vpminub vpminuw vpminud vpmovmskb vpmovsxbw vpmovsxbd vpmovsxbq vpmovsxwd vpmovsxwq vpmovsxdq vpmovzxbw vpmovzxbd vpmovzxbq vpmovzxwd vpmovzxwq vpmovzxdq vpmulhuw vpmulhrsw vpmulhw vpmullw vpmulld vpmuludq vpmuldq vpor vpsadbw vpshufb vpshufd vpshufhw vpshuflw vpsignb vpsignw vpsignd vpslldq vpsrldq vpsllw vpslld vpsllq vpsraw vpsrad vpsrlw vpsrld vpsrlq vptest vpsubb vpsubw vpsubd vpsubq vpsubsb vpsubsw vpsubusb vpsubusw vpunpckhbw vpunpckhwd vpunpckhdq vpunpckhqdq vpunpcklbw vpunpcklwd vpunpckldq vpunpcklqdq vpxor vrcpps vrcpss vrsqrtps vrsqrtss vroundpd vroundps vroundsd vroundss vshufpd vshufps vsqrtpd vsqrtps vsqrtsd vsqrtss vstmxcsr vsubpd vsubps vsubsd vsubss vtestps vtestpd vucomisd vucomiss vunpckhpd vunpckhps vunpcklpd vunpcklps vxorpd vxorps vzeroall vzeroupper pclmullqlqdq pclmulhqlqdq pclmullqhqdq pclmulhqhqdq pclmulqdq vpclmullqlqdq vpclmulhqlqdq vpclmullqhqdq vpclmulhqhqdq vpclmulqdq vfmadd132ps vfmadd132pd vfmadd312ps vfmadd312pd vfmadd213ps vfmadd213pd vfmadd123ps vfmadd123pd vfmadd231ps vfmadd231pd vfmadd321ps vfmadd321pd vfmaddsub132ps vfmaddsub132pd vfmaddsub312ps vfmaddsub312pd vfmaddsub213ps vfmaddsub213pd vfmaddsub123ps vfmaddsub123pd vfmaddsub231ps vfmaddsub231pd vfmaddsub321ps vfmaddsub321pd vfmsub132ps vfmsub132pd vfmsub312ps vfmsub312pd vfmsub213ps vfmsub213pd vfmsub123ps vfmsub123pd vfmsub231ps vfmsub231pd vfmsub321ps vfmsub321pd vfmsubadd132ps vfmsubadd132pd vfmsubadd312ps vfmsubadd312pd vfmsubadd213ps vfmsubadd213pd vfmsubadd123ps vfmsubadd123pd vfmsubadd231ps vfmsubadd231pd vfmsubadd321ps vfmsubadd321pd vfnmadd132ps vfnmadd132pd vfnmadd312ps vfnmadd312pd vfnmadd213ps vfnmadd213pd vfnmadd123ps vfnmadd123pd vfnmadd231ps vfnmadd231pd vfnmadd321ps vfnmadd321pd vfnmsub132ps vfnmsub132pd vfnmsub312ps vfnmsub312pd vfnmsub213ps vfnmsub213pd vfnmsub123ps vfnmsub123pd vfnmsub231ps vfnmsub231pd vfnmsub321ps vfnmsub321pd vfmadd132ss vfmadd132sd vfmadd312ss vfmadd312sd vfmadd213ss vfmadd213sd vfmadd123ss vfmadd123sd vfmadd231ss vfmadd231sd vfmadd321ss vfmadd321sd vfmsub132ss vfmsub132sd vfmsub312ss vfmsub312sd vfmsub213ss vfmsub213sd vfmsub123ss vfmsub123sd vfmsub231ss vfmsub231sd vfmsub321ss vfmsub321sd vfnmadd132ss vfnmadd132sd vfnmadd312ss vfnmadd312sd vfnmadd213ss vfnmadd213sd vfnmadd123ss vfnmadd123sd vfnmadd231ss vfnmadd231sd vfnmadd321ss vfnmadd321sd vfnmsub132ss vfnmsub132sd vfnmsub312ss vfnmsub312sd vfnmsub213ss vfnmsub213sd vfnmsub123ss vfnmsub123sd vfnmsub231ss vfnmsub231sd vfnmsub321ss vfnmsub321sd rdfsbase rdgsbase rdrand wrfsbase wrgsbase vcvtph2ps vcvtps2ph adcx adox rdseed clac stac xstore xcryptecb xcryptcbc xcryptctr xcryptcfb xcryptofb montmul xsha1 xsha256 llwpcb slwpcb lwpval lwpins vfmaddpd vfmaddps vfmaddsd vfmaddss vfmaddsubpd vfmaddsubps vfmsubaddpd vfmsubaddps vfmsubpd vfmsubps vfmsubsd vfmsubss vfnmaddpd vfnmaddps vfnmaddsd vfnmaddss vfnmsubpd vfnmsubps vfnmsubsd vfnmsubss vfrczpd vfrczps vfrczsd vfrczss vpcmov vpcomb vpcomd vpcomq vpcomub vpcomud vpcomuq vpcomuw vpcomw vphaddbd vphaddbq vphaddbw vphadddq vphaddubd vphaddubq vphaddubw vphaddudq vphadduwd vphadduwq vphaddwd vphaddwq vphsubbw vphsubdq vphsubwd vpmacsdd vpmacsdqh vpmacsdql vpmacssdd vpmacssdqh vpmacssdql vpmacsswd vpmacssww vpmacswd vpmacsww vpmadcsswd vpmadcswd vpperm vprotb vprotd vprotq vprotw vpshab vpshad vpshaq vpshaw vpshlb vpshld vpshlq vpshlw vbroadcasti128 vpblendd vpbroadcastb vpbroadcastw vpbroadcastd vpbroadcastq vpermd vpermpd vpermps vpermq vperm2i128 vextracti128 vinserti128 vpmaskmovd vpmaskmovq vpsllvd vpsllvq vpsravd vpsrlvd vpsrlvq vgatherdpd vgatherqpd vgatherdps vgatherqps vpgatherdd vpgatherqd vpgatherdq vpgatherqq xabort xbegin xend xtest andn bextr blci blcic blsi blsic blcfill blsfill blcmsk blsmsk blsr blcs bzhi mulx pdep pext rorx sarx shlx shrx tzcnt tzmsk t1mskc valignd valignq vblendmpd vblendmps vbroadcastf32x4 vbroadcastf64x4 vbroadcasti32x4 vbroadcasti64x4 vcompresspd vcompressps vcvtpd2udq vcvtps2udq vcvtsd2usi vcvtss2usi vcvttpd2udq vcvttps2udq vcvttsd2usi vcvttss2usi vcvtudq2pd vcvtudq2ps vcvtusi2sd vcvtusi2ss vexpandpd vexpandps vextractf32x4 vextractf64x4 vextracti32x4 vextracti64x4 vfixupimmpd vfixupimmps vfixupimmsd vfixupimmss vgetexppd vgetexpps vgetexpsd vgetexpss vgetmantpd vgetmantps vgetmantsd vgetmantss vinsertf32x4 vinsertf64x4 vinserti32x4 vinserti64x4 vmovdqa32 vmovdqa64 vmovdqu32 vmovdqu64 vpabsq vpandd vpandnd vpandnq vpandq vpblendmd vpblendmq vpcmpltd vpcmpled vpcmpneqd vpcmpnltd vpcmpnled vpcmpd vpcmpltq vpcmpleq vpcmpneqq vpcmpnltq vpcmpnleq vpcmpq vpcmpequd vpcmpltud vpcmpleud vpcmpnequd vpcmpnltud vpcmpnleud vpcmpud vpcmpequq vpcmpltuq vpcmpleuq vpcmpnequq vpcmpnltuq vpcmpnleuq vpcmpuq vpcompressd vpcompressq vpermi2d vpermi2pd vpermi2ps vpermi2q vpermt2d vpermt2pd vpermt2ps vpermt2q vpexpandd vpexpandq vpmaxsq vpmaxuq vpminsq vpminuq vpmovdb vpmovdw vpmovqb vpmovqd vpmovqw vpmovsdb vpmovsdw vpmovsqb vpmovsqd vpmovsqw vpmovusdb vpmovusdw vpmovusqb vpmovusqd vpmovusqw vpord vporq vprold vprolq vprolvd vprolvq vprord vprorq vprorvd vprorvq vpscatterdd vpscatterdq vpscatterqd vpscatterqq vpsraq vpsravq vpternlogd vpternlogq vptestmd vptestmq vptestnmd vptestnmq vpxord vpxorq vrcp14pd vrcp14ps vrcp14sd vrcp14ss vrndscalepd vrndscaleps vrndscalesd vrndscaless vrsqrt14pd vrsqrt14ps vrsqrt14sd vrsqrt14ss vscalefpd vscalefps vscalefsd vscalefss vscatterdpd vscatterdps vscatterqpd vscatterqps vshuff32x4 vshuff64x2 vshufi32x4 vshufi64x2 kandnw kandw kmovw knotw kortestw korw kshiftlw kshiftrw kunpckbw kxnorw kxorw vpbroadcastmb2q vpbroadcastmw2d vpconflictd vpconflictq vplzcntd vplzcntq vexp2pd vexp2ps vrcp28pd vrcp28ps vrcp28sd vrcp28ss vrsqrt28pd vrsqrt28ps vrsqrt28sd vrsqrt28ss vgatherpf0dpd vgatherpf0dps vgatherpf0qpd vgatherpf0qps vgatherpf1dpd vgatherpf1dps vgatherpf1qpd vgatherpf1qps vscatterpf0dpd vscatterpf0dps vscatterpf0qpd vscatterpf0qps vscatterpf1dpd vscatterpf1dps vscatterpf1qpd vscatterpf1qps prefetchwt1 bndmk bndcl bndcu bndcn bndmov bndldx bndstx sha1rnds4 sha1nexte sha1msg1 sha1msg2 sha256rnds2 sha256msg1 sha256msg2 hint_nop0 hint_nop1 hint_nop2 hint_nop3 hint_nop4 hint_nop5 hint_nop6 hint_nop7 hint_nop8 hint_nop9 hint_nop10 hint_nop11 hint_nop12 hint_nop13 hint_nop14 hint_nop15 hint_nop16 hint_nop17 hint_nop18 hint_nop19 hint_nop20 hint_nop21 hint_nop22 hint_nop23 hint_nop24 hint_nop25 hint_nop26 hint_nop27 hint_nop28 hint_nop29 hint_nop30 hint_nop31 hint_nop32 hint_nop33 hint_nop34 hint_nop35 hint_nop36 hint_nop37 hint_nop38 hint_nop39 hint_nop40 hint_nop41 hint_nop42 hint_nop43 hint_nop44 hint_nop45 hint_nop46 hint_nop47 hint_nop48 hint_nop49 hint_nop50 hint_nop51 hint_nop52 hint_nop53 hint_nop54 hint_nop55 hint_nop56 hint_nop57 hint_nop58 hint_nop59 hint_nop60 hint_nop61 hint_nop62 hint_nop63",built_in:"ip eip rip al ah bl bh cl ch dl dh sil dil bpl spl r8b r9b r10b r11b r12b r13b r14b r15b ax bx cx dx si di bp sp r8w r9w r10w r11w r12w r13w r14w r15w eax ebx ecx edx esi edi ebp esp eip r8d r9d r10d r11d r12d r13d r14d r15d rax rbx rcx rdx rsi rdi rbp rsp r8 r9 r10 r11 r12 r13 r14 r15 cs ds es fs gs ss st st0 st1 st2 st3 st4 st5 st6 st7 mm0 mm1 mm2 mm3 mm4 mm5 mm6 mm7 xmm0 xmm1 xmm2 xmm3 xmm4 xmm5 xmm6 xmm7 xmm8 xmm9 xmm10 xmm11 xmm12 xmm13 xmm14 xmm15 xmm16 xmm17 xmm18 xmm19 xmm20 xmm21 xmm22 xmm23 xmm24 xmm25 xmm26 xmm27 xmm28 xmm29 xmm30 xmm31 ymm0 ymm1 ymm2 ymm3 ymm4 ymm5 ymm6 ymm7 ymm8 ymm9 ymm10 ymm11 ymm12 ymm13 ymm14 ymm15 ymm16 ymm17 ymm18 ymm19 ymm20 ymm21 ymm22 ymm23 ymm24 ymm25 ymm26 ymm27 ymm28 ymm29 ymm30 ymm31 zmm0 zmm1 zmm2 zmm3 zmm4 zmm5 zmm6 zmm7 zmm8 zmm9 zmm10 zmm11 zmm12 zmm13 zmm14 zmm15 zmm16 zmm17 zmm18 zmm19 zmm20 zmm21 zmm22 zmm23 zmm24 zmm25 zmm26 zmm27 zmm28 zmm29 zmm30 zmm31 k0 k1 k2 k3 k4 k5 k6 k7 bnd0 bnd1 bnd2 bnd3 cr0 cr1 cr2 cr3 cr4 cr8 dr0 dr1 dr2 dr3 dr8 tr3 tr4 tr5 tr6 tr7 r0 r1 r2 r3 r4 r5 r6 r7 r0b r1b r2b r3b r4b r5b r6b r7b r0w r1w r2w r3w r4w r5w r6w r7w r0d r1d r2d r3d r4d r5d r6d r7d r0h r1h r2h r3h r0l r1l r2l r3l r4l r5l r6l r7l r8l r9l r10l r11l r12l r13l r14l r15l db dw dd dq dt ddq do dy dz resb resw resd resq rest resdq reso resy resz incbin equ times byte word dword qword nosplit rel abs seg wrt strict near far a32 ptr",meta:"%define %xdefine %+ %undef %defstr %deftok %assign %strcat %strlen %substr %rotate %elif %else %endif %if %ifmacro %ifctx %ifidn %ifidni %ifid %ifnum %ifstr %iftoken %ifempty %ifenv %error %warning %fatal %rep %endrep %include %push %pop %repl %pathsearch %depend %use %arg %stacksize %local %line %comment %endcomment .nolist __FILE__ __LINE__ __SECT__ __BITS__ __OUTPUT_FORMAT__ __DATE__ __TIME__ __DATE_NUM__ __TIME_NUM__ __UTC_DATE__ __UTC_TIME__ __UTC_DATE_NUM__ __UTC_TIME_NUM__ __PASS__ struc endstruc istruc at iend align alignb sectalign daz nodaz up down zero default option assume public bits use16 use32 use64 default section segment absolute extern global common cpu float __utf16__ __utf16le__ __utf16be__ __utf32__ __utf32le__ __utf32be__ __float8__ __float16__ __float32__ __float64__ __float80m__ __float80e__ __float128l__ __float128h__ __Infinity__ __QNaN__ __SNaN__ Inf NaN QNaN SNaN float8 float16 float32 float64 float80m float80e float128l float128h __FLOAT_DAZ__ __FLOAT_ROUND__ __FLOAT__"},contains:[s.COMMENT(";","$",{relevance:0}),{className:"number",variants:[{begin:"\\b(?:([0-9][0-9_]*)?\\.[0-9_]*(?:[eE][+-]?[0-9_]+)?|(0[Xx])?[0-9][0-9_]*\\.?[0-9_]*(?:[pP](?:[+-]?[0-9_]+)?)?)\\b",relevance:0},{begin:"\\$[0-9][0-9A-Fa-f]*",relevance:0},{begin:"\\b(?:[0-9A-Fa-f][0-9A-Fa-f_]*[Hh]|[0-9][0-9_]*[DdTt]?|[0-7][0-7_]*[QqOo]|[0-1][0-1_]*[BbYy])\\b"},{begin:"\\b(?:0[Xx][0-9A-Fa-f_]+|0[DdTt][0-9_]+|0[QqOo][0-7_]+|0[BbYy][0-1_]+)\\b"}]},s.QUOTE_STRING_MODE,{className:"string",variants:[{begin:"'",end:"[^\\\\]'"},{begin:"`",end:"[^\\\\]`"}],relevance:0},{className:"symbol",variants:[{begin:"^\\s*[A-Za-z._?][A-Za-z0-9_$#@~.?]*(:|\\s+label)"},{begin:"^\\s*%%[A-Za-z0-9_$#@~.?]*:"}],relevance:0},{className:"subst",begin:"%[0-9]+",relevance:0},{className:"subst",begin:"%!S+",relevance:0},{className:"meta",begin:/^\s*\.[\w_-]+/}]}}}());hljs.registerLanguage("kotlin",function(){"use strict";return function(e){var n={keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual trait volatile transient native default",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},a={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@"},i={className:"subst",begin:"\\${",end:"}",contains:[e.C_NUMBER_MODE]},s={className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},t={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[s,i]},{begin:"'",end:"'",illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[e.BACKSLASH_ESCAPE,s,i]}]};i.contains.push(t);var r={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?"},l={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[e.inherit(t,{className:"meta-string"})]}]},c=e.COMMENT("/\\*","\\*/",{contains:[e.C_BLOCK_COMMENT_MODE]}),o={variants:[{className:"type",begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},d=o;return d.variants[1].contains=[o],o.variants[1].contains=[d],{name:"Kotlin",aliases:["kt"],keywords:n,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,c,{className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},a,r,l,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:n,illegal:/fun\s+(<.*>)?[^\s\(]+(\s+[^\s\(]+)\s*=/,relevance:5,contains:[{begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"type",begin://,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:n,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[o,e.C_LINE_COMMENT_MODE,c],relevance:0},e.C_LINE_COMMENT_MODE,c,r,l,t,e.C_NUMBER_MODE]},c]},{className:"class",beginKeywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},e.UNDERSCORE_TITLE_MODE,{className:"type",begin://,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,]|$/,excludeBegin:!0,returnEnd:!0},r,l]},t,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:"\n"},{className:"number",begin:"\\b(0[bB]([01]+[01_]+[01]+|[01]+)|0[xX]([a-fA-F0-9]+[a-fA-F0-9_]+[a-fA-F0-9]+|[a-fA-F0-9]+)|(([\\d]+[\\d_]+[\\d]+|[\\d]+)(\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))?|\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))([eE][-+]?\\d+)?)[lLfF]?",relevance:0}]}}}());hljs.registerLanguage("armasm",function(){"use strict";return function(s){const e={variants:[s.COMMENT("^[ \\t]*(?=#)","$",{relevance:0,excludeBegin:!0}),s.COMMENT("[;@]","$",{relevance:0}),s.C_LINE_COMMENT_MODE,s.C_BLOCK_COMMENT_MODE]};return{name:"ARM Assembly",case_insensitive:!0,aliases:["arm"],keywords:{$pattern:"\\.?"+s.IDENT_RE,meta:".2byte .4byte .align .ascii .asciz .balign .byte .code .data .else .end .endif .endm .endr .equ .err .exitm .extern .global .hword .if .ifdef .ifndef .include .irp .long .macro .rept .req .section .set .skip .space .text .word .arm .thumb .code16 .code32 .force_thumb .thumb_func .ltorg ALIAS ALIGN ARM AREA ASSERT ATTR CN CODE CODE16 CODE32 COMMON CP DATA DCB DCD DCDU DCDO DCFD DCFDU DCI DCQ DCQU DCW DCWU DN ELIF ELSE END ENDFUNC ENDIF ENDP ENTRY EQU EXPORT EXPORTAS EXTERN FIELD FILL FUNCTION GBLA GBLL GBLS GET GLOBAL IF IMPORT INCBIN INCLUDE INFO KEEP LCLA LCLL LCLS LTORG MACRO MAP MEND MEXIT NOFP OPT PRESERVE8 PROC QN READONLY RELOC REQUIRE REQUIRE8 RLIST FN ROUT SETA SETL SETS SN SPACE SUBT THUMB THUMBX TTL WHILE WEND ",built_in:"r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 pc lr sp ip sl sb fp a1 a2 a3 a4 v1 v2 v3 v4 v5 v6 v7 v8 f0 f1 f2 f3 f4 f5 f6 f7 p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 q10 q11 q12 q13 q14 q15 cpsr_c cpsr_x cpsr_s cpsr_f cpsr_cx cpsr_cxs cpsr_xs cpsr_xsf cpsr_sf cpsr_cxsf spsr_c spsr_x spsr_s spsr_f spsr_cx spsr_cxs spsr_xs spsr_xsf spsr_sf spsr_cxsf s0 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15 s16 s17 s18 s19 s20 s21 s22 s23 s24 s25 s26 s27 s28 s29 s30 s31 d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 d11 d12 d13 d14 d15 d16 d17 d18 d19 d20 d21 d22 d23 d24 d25 d26 d27 d28 d29 d30 d31 {PC} {VAR} {TRUE} {FALSE} {OPT} {CONFIG} {ENDIAN} {CODESIZE} {CPU} {FPU} {ARCHITECTURE} {PCSTOREOFFSET} {ARMASM_VERSION} {INTER} {ROPI} {RWPI} {SWST} {NOSWST} . @"},contains:[{className:"keyword",begin:"\\b(adc|(qd?|sh?|u[qh]?)?add(8|16)?|usada?8|(q|sh?|u[qh]?)?(as|sa)x|and|adrl?|sbc|rs[bc]|asr|b[lx]?|blx|bxj|cbn?z|tb[bh]|bic|bfc|bfi|[su]bfx|bkpt|cdp2?|clz|clrex|cmp|cmn|cpsi[ed]|cps|setend|dbg|dmb|dsb|eor|isb|it[te]{0,3}|lsl|lsr|ror|rrx|ldm(([id][ab])|f[ds])?|ldr((s|ex)?[bhd])?|movt?|mvn|mra|mar|mul|[us]mull|smul[bwt][bt]|smu[as]d|smmul|smmla|mla|umlaal|smlal?([wbt][bt]|d)|mls|smlsl?[ds]|smc|svc|sev|mia([bt]{2}|ph)?|mrr?c2?|mcrr2?|mrs|msr|orr|orn|pkh(tb|bt)|rbit|rev(16|sh)?|sel|[su]sat(16)?|nop|pop|push|rfe([id][ab])?|stm([id][ab])?|str(ex)?[bhd]?|(qd?)?sub|(sh?|q|u[qh]?)?sub(8|16)|[su]xt(a?h|a?b(16)?)|srs([id][ab])?|swpb?|swi|smi|tst|teq|wfe|wfi|yield)(eq|ne|cs|cc|mi|pl|vs|vc|hi|ls|ge|lt|gt|le|al|hs|lo)?[sptrx]?(?=\\s)"},e,s.QUOTE_STRING_MODE,{className:"string",begin:"'",end:"[^\\\\]'",relevance:0},{className:"title",begin:"\\|",end:"\\|",illegal:"\\n",relevance:0},{className:"number",variants:[{begin:"[#$=]?0x[0-9a-f]+"},{begin:"[#$=]?0b[01]+"},{begin:"[#$=]\\d+"},{begin:"\\b\\d+"}],relevance:0},{className:"symbol",variants:[{begin:"^[ \\t]*[a-z_\\.\\$][a-z0-9_\\.\\$]+:"},{begin:"^[a-z_\\.\\$][a-z0-9_\\.\\$]+"},{begin:"[=#]\\w+"}],relevance:0}]}}}());hljs.registerLanguage("go",function(){"use strict";return function(e){var n={keyword:"break default func interface select case map struct chan else goto package switch const fallthrough if range type continue for import return var go defer bool byte complex64 complex128 float32 float64 int8 int16 int32 int64 string uint8 uint16 uint32 uint64 int uint uintptr rune",literal:"true false iota nil",built_in:"append cap close complex copy imag len make new panic print println real recover delete"};return{name:"Go",aliases:["golang"],keywords:n,illegal:">>|\.\.\.) /},i={className:"subst",begin:/\{/,end:/\}/,keywords:n,illegal:/#/},s={begin:/\{\{/,relevance:0},r={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/(u|b)?r?'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,a],relevance:10},{begin:/(u|b)?r?"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,a],relevance:10},{begin:/(fr|rf|f)'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,a,s,i]},{begin:/(fr|rf|f)"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,a,s,i]},{begin:/(u|r|ur)'/,end:/'/,relevance:10},{begin:/(u|r|ur)"/,end:/"/,relevance:10},{begin:/(b|br)'/,end:/'/},{begin:/(b|br)"/,end:/"/},{begin:/(fr|rf|f)'/,end:/'/,contains:[e.BACKSLASH_ESCAPE,s,i]},{begin:/(fr|rf|f)"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,s,i]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},l={className:"number",relevance:0,variants:[{begin:e.BINARY_NUMBER_RE+"[lLjJ]?"},{begin:"\\b(0o[0-7]+)[lLjJ]?"},{begin:e.C_NUMBER_RE+"[lLjJ]?"}]},t={className:"params",variants:[{begin:/\(\s*\)/,skip:!0,className:null},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,contains:["self",a,l,r,e.HASH_COMMENT_MODE]}]};return i.contains=[r,l,a],{name:"Python",aliases:["py","gyp","ipython"],keywords:n,illegal:/(<\/|->|\?)|=>/,contains:[a,l,{beginKeywords:"if",relevance:0},r,e.HASH_COMMENT_MODE,{variants:[{className:"function",beginKeywords:"def"},{className:"class",beginKeywords:"class"}],end:/:/,illegal:/[${=;\n,]/,contains:[e.UNDERSCORE_TITLE_MODE,t,{begin:/->/,endsWithParent:!0,keywords:"None"}]},{className:"meta",begin:/^[\t ]*@/,end:/$/},{begin:/\b(print|exec)\(/}]}}}());hljs.registerLanguage("shell",function(){"use strict";return function(s){return{name:"Shell Session",aliases:["console"],contains:[{className:"meta",begin:"^\\s{0,3}[/\\w\\d\\[\\]()@-]*[>%$#]",starts:{end:"$",subLanguage:"bash"}}]}}}());hljs.registerLanguage("scala",function(){"use strict";return function(e){var n={className:"subst",variants:[{begin:"\\$[A-Za-z0-9_]+"},{begin:"\\${",end:"}"}]},a={className:"string",variants:[{begin:'"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:'"""',end:'"""',relevance:10},{begin:'[a-z]+"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE,n]},{className:"string",begin:'[a-z]+"""',end:'"""',contains:[n],relevance:10}]},s={className:"type",begin:"\\b[A-Z][A-Za-z0-9_]*",relevance:0},t={className:"title",begin:/[^0-9\n\t "'(),.`{}\[\]:;][^\n\t "'(),.`{}\[\]:;]+|[^0-9\n\t "'(),.`{}\[\]:;=]/,relevance:0},i={className:"class",beginKeywords:"class object trait type",end:/[:={\[\n;]/,excludeEnd:!0,contains:[{beginKeywords:"extends with",relevance:10},{begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0,relevance:0,contains:[s]},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,relevance:0,contains:[s]},t]},l={className:"function",beginKeywords:"def",end:/[:={\[(\n;]/,excludeEnd:!0,contains:[t]};return{name:"Scala",keywords:{literal:"true false null",keyword:"type yield lazy override def with val var sealed abstract private trait object if forSome for while throw finally protected extends import final return else break new catch super class case package default try this match continue throws implicit"},contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,{className:"symbol",begin:"'\\w[\\w\\d_]*(?!')"},s,l,i,e.C_NUMBER_MODE,{className:"meta",begin:"@[A-Za-z]+"}]}}}());hljs.registerLanguage("julia",function(){"use strict";return function(e){var r="[A-Za-z_\\u00A1-\\uFFFF][A-Za-z_0-9\\u00A1-\\uFFFF]*",t={$pattern:r,keyword:"in isa where baremodule begin break catch ccall const continue do else elseif end export false finally for function global if import importall let local macro module quote return true try using while type immutable abstract bitstype typealias ",literal:"true false ARGS C_NULL DevNull ENDIAN_BOM ENV I Inf Inf16 Inf32 Inf64 InsertionSort JULIA_HOME LOAD_PATH MergeSort NaN NaN16 NaN32 NaN64 PROGRAM_FILE QuickSort RoundDown RoundFromZero RoundNearest RoundNearestTiesAway RoundNearestTiesUp RoundToZero RoundUp STDERR STDIN STDOUT VERSION catalan e|0 eu|0 eulergamma golden im nothing pi γ π φ ",built_in:"ANY AbstractArray AbstractChannel AbstractFloat AbstractMatrix AbstractRNG AbstractSerializer AbstractSet AbstractSparseArray AbstractSparseMatrix AbstractSparseVector AbstractString AbstractUnitRange AbstractVecOrMat AbstractVector Any ArgumentError Array AssertionError Associative Base64DecodePipe Base64EncodePipe Bidiagonal BigFloat BigInt BitArray BitMatrix BitVector Bool BoundsError BufferStream CachingPool CapturedException CartesianIndex CartesianRange Cchar Cdouble Cfloat Channel Char Cint Cintmax_t Clong Clonglong ClusterManager Cmd CodeInfo Colon Complex Complex128 Complex32 Complex64 CompositeException Condition ConjArray ConjMatrix ConjVector Cptrdiff_t Cshort Csize_t Cssize_t Cstring Cuchar Cuint Cuintmax_t Culong Culonglong Cushort Cwchar_t Cwstring DataType Date DateFormat DateTime DenseArray DenseMatrix DenseVecOrMat DenseVector Diagonal Dict DimensionMismatch Dims DirectIndexString Display DivideError DomainError EOFError EachLine Enum Enumerate ErrorException Exception ExponentialBackOff Expr Factorization FileMonitor Float16 Float32 Float64 Function Future GlobalRef GotoNode HTML Hermitian IO IOBuffer IOContext IOStream IPAddr IPv4 IPv6 IndexCartesian IndexLinear IndexStyle InexactError InitError Int Int128 Int16 Int32 Int64 Int8 IntSet Integer InterruptException InvalidStateException Irrational KeyError LabelNode LinSpace LineNumberNode LoadError LowerTriangular MIME Matrix MersenneTwister Method MethodError MethodTable Module NTuple NewvarNode NullException Nullable Number ObjectIdDict OrdinalRange OutOfMemoryError OverflowError Pair ParseError PartialQuickSort PermutedDimsArray Pipe PollingFileWatcher ProcessExitedException Ptr QuoteNode RandomDevice Range RangeIndex Rational RawFD ReadOnlyMemoryError Real ReentrantLock Ref Regex RegexMatch RemoteChannel RemoteException RevString RoundingMode RowVector SSAValue SegmentationFault SerializationState Set SharedArray SharedMatrix SharedVector Signed SimpleVector Slot SlotNumber SparseMatrixCSC SparseVector StackFrame StackOverflowError StackTrace StepRange StepRangeLen StridedArray StridedMatrix StridedVecOrMat StridedVector String SubArray SubString SymTridiagonal Symbol Symmetric SystemError TCPSocket Task Text TextDisplay Timer Tridiagonal Tuple Type TypeError TypeMapEntry TypeMapLevel TypeName TypeVar TypedSlot UDPSocket UInt UInt128 UInt16 UInt32 UInt64 UInt8 UndefRefError UndefVarError UnicodeError UniformScaling Union UnionAll UnitRange Unsigned UpperTriangular Val Vararg VecElement VecOrMat Vector VersionNumber Void WeakKeyDict WeakRef WorkerConfig WorkerPool "},a={keywords:t,illegal:/<\//},n={className:"subst",begin:/\$\(/,end:/\)/,keywords:t},o={className:"variable",begin:"\\$"+r},i={className:"string",contains:[e.BACKSLASH_ESCAPE,n,o],variants:[{begin:/\w*"""/,end:/"""\w*/,relevance:10},{begin:/\w*"/,end:/"\w*/}]},l={className:"string",contains:[e.BACKSLASH_ESCAPE,n,o],begin:"`",end:"`"},s={className:"meta",begin:"@"+r};return a.name="Julia",a.contains=[{className:"number",begin:/(\b0x[\d_]*(\.[\d_]*)?|0x\.\d[\d_]*)p[-+]?\d+|\b0[box][a-fA-F0-9][a-fA-F0-9_]*|(\b\d[\d_]*(\.[\d_]*)?|\.\d[\d_]*)([eEfF][-+]?\d+)?/,relevance:0},{className:"string",begin:/'(.|\\[xXuU][a-zA-Z0-9]+)'/},i,l,s,{className:"comment",variants:[{begin:"#=",end:"=#",relevance:10},{begin:"#",end:"$"}]},e.HASH_COMMENT_MODE,{className:"keyword",begin:"\\b(((abstract|primitive)\\s+)type|(mutable\\s+)?struct)\\b"},{begin:/<:/}],n.contains=a.contains,a}}());hljs.registerLanguage("php-template",function(){"use strict";return function(n){return{name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},n.inherit(n.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),n.inherit(n.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}}}());hljs.registerLanguage("scss",function(){"use strict";return function(e){var t={className:"variable",begin:"(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b"},i={className:"number",begin:"#[0-9A-Fa-f]+"};return e.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,e.C_BLOCK_COMMENT_MODE,{name:"SCSS",case_insensitive:!0,illegal:"[=/|']",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"selector-id",begin:"\\#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},{className:"selector-attr",begin:"\\[",end:"\\]",illegal:"$"},{className:"selector-tag",begin:"\\b(a|abbr|acronym|address|area|article|aside|audio|b|base|big|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|command|datalist|dd|del|details|dfn|div|dl|dt|em|embed|fieldset|figcaption|figure|footer|form|frame|frameset|(h[1-6])|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|keygen|label|legend|li|link|map|mark|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|pre|progress|q|rp|rt|ruby|samp|script|section|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|tt|ul|var|video)\\b",relevance:0},{className:"selector-pseudo",begin:":(visited|valid|root|right|required|read-write|read-only|out-range|optional|only-of-type|only-child|nth-of-type|nth-last-of-type|nth-last-child|nth-child|not|link|left|last-of-type|last-child|lang|invalid|indeterminate|in-range|hover|focus|first-of-type|first-line|first-letter|first-child|first|enabled|empty|disabled|default|checked|before|after|active)"},{className:"selector-pseudo",begin:"::(after|before|choices|first-letter|first-line|repeat-index|repeat-item|selection|value)"},t,{className:"attribute",begin:"\\b(src|z-index|word-wrap|word-spacing|word-break|width|widows|white-space|visibility|vertical-align|unicode-bidi|transition-timing-function|transition-property|transition-duration|transition-delay|transition|transform-style|transform-origin|transform|top|text-underline-position|text-transform|text-shadow|text-rendering|text-overflow|text-indent|text-decoration-style|text-decoration-line|text-decoration-color|text-decoration|text-align-last|text-align|tab-size|table-layout|right|resize|quotes|position|pointer-events|perspective-origin|perspective|page-break-inside|page-break-before|page-break-after|padding-top|padding-right|padding-left|padding-bottom|padding|overflow-y|overflow-x|overflow-wrap|overflow|outline-width|outline-style|outline-offset|outline-color|outline|orphans|order|opacity|object-position|object-fit|normal|none|nav-up|nav-right|nav-left|nav-index|nav-down|min-width|min-height|max-width|max-height|mask|marks|margin-top|margin-right|margin-left|margin-bottom|margin|list-style-type|list-style-position|list-style-image|list-style|line-height|letter-spacing|left|justify-content|initial|inherit|ime-mode|image-orientation|image-resolution|image-rendering|icon|hyphens|height|font-weight|font-variant-ligatures|font-variant|font-style|font-stretch|font-size-adjust|font-size|font-language-override|font-kerning|font-feature-settings|font-family|font|float|flex-wrap|flex-shrink|flex-grow|flex-flow|flex-direction|flex-basis|flex|filter|empty-cells|display|direction|cursor|counter-reset|counter-increment|content|column-width|column-span|column-rule-width|column-rule-style|column-rule-color|column-rule|column-gap|column-fill|column-count|columns|color|clip-path|clip|clear|caption-side|break-inside|break-before|break-after|box-sizing|box-shadow|box-decoration-break|bottom|border-width|border-top-width|border-top-style|border-top-right-radius|border-top-left-radius|border-top-color|border-top|border-style|border-spacing|border-right-width|border-right-style|border-right-color|border-right|border-radius|border-left-width|border-left-style|border-left-color|border-left|border-image-width|border-image-source|border-image-slice|border-image-repeat|border-image-outset|border-image|border-color|border-collapse|border-bottom-width|border-bottom-style|border-bottom-right-radius|border-bottom-left-radius|border-bottom-color|border-bottom|border|background-size|background-repeat|background-position|background-origin|background-image|background-color|background-clip|background-attachment|background-blend-mode|background|backface-visibility|auto|animation-timing-function|animation-play-state|animation-name|animation-iteration-count|animation-fill-mode|animation-duration|animation-direction|animation-delay|animation|align-self|align-items|align-content)\\b",illegal:"[^\\s]"},{begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{begin:":",end:";",contains:[t,i,e.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{className:"meta",begin:"!important"}]},{begin:"@(page|font-face)",lexemes:"@[a-z-]+",keywords:"@page @font-face"},{begin:"@",end:"[{;]",returnBegin:!0,keywords:"and or not only",contains:[{begin:"@[a-z-]+",className:"keyword"},t,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,i,e.CSS_NUMBER_MODE]}]}}}());hljs.registerLanguage("r",function(){"use strict";return function(e){var n="([a-zA-Z]|\\.[a-zA-Z.])[a-zA-Z0-9._]*";return{name:"R",contains:[e.HASH_COMMENT_MODE,{begin:n,keywords:{$pattern:n,keyword:"function if in break next repeat else for return switch while try tryCatch stop warning require library attach detach source setMethod setGeneric setGroupGeneric setClass ...",literal:"NULL NA TRUE FALSE T F Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10"},relevance:0},{className:"number",begin:"0[xX][0-9a-fA-F]+[Li]?\\b",relevance:0},{className:"number",begin:"\\d+(?:[eE][+\\-]?\\d*)?L\\b",relevance:0},{className:"number",begin:"\\d+\\.(?!\\d)(?:i\\b)?",relevance:0},{className:"number",begin:"\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d*)?i?\\b",relevance:0},{className:"number",begin:"\\.\\d+(?:[eE][+\\-]?\\d*)?i?\\b",relevance:0},{begin:"`",end:"`",relevance:0},{className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:'"',end:'"'},{begin:"'",end:"'"}]}]}}}());hljs.registerLanguage("sql",function(){"use strict";return function(e){var t=e.COMMENT("--","$");return{name:"SQL",case_insensitive:!0,illegal:/[<>{}*]/,contains:[{beginKeywords:"begin end start commit rollback savepoint lock alter create drop rename call delete do handler insert load replace select truncate update set show pragma grant merge describe use explain help declare prepare execute deallocate release unlock purge reset change stop analyze cache flush optimize repair kill install uninstall checksum restore check backup revoke comment values with",end:/;/,endsWithParent:!0,keywords:{$pattern:/[\w\.]+/,keyword:"as abort abs absolute acc acce accep accept access accessed accessible account acos action activate add addtime admin administer advanced advise aes_decrypt aes_encrypt after agent aggregate ali alia alias all allocate allow alter always analyze ancillary and anti any anydata anydataset anyschema anytype apply archive archived archivelog are as asc ascii asin assembly assertion associate asynchronous at atan atn2 attr attri attrib attribu attribut attribute attributes audit authenticated authentication authid authors auto autoallocate autodblink autoextend automatic availability avg backup badfile basicfile before begin beginning benchmark between bfile bfile_base big bigfile bin binary_double binary_float binlog bit_and bit_count bit_length bit_or bit_xor bitmap blob_base block blocksize body both bound bucket buffer_cache buffer_pool build bulk by byte byteordermark bytes cache caching call calling cancel capacity cascade cascaded case cast catalog category ceil ceiling chain change changed char_base char_length character_length characters characterset charindex charset charsetform charsetid check checksum checksum_agg child choose chr chunk class cleanup clear client clob clob_base clone close cluster_id cluster_probability cluster_set clustering coalesce coercibility col collate collation collect colu colum column column_value columns columns_updated comment commit compact compatibility compiled complete composite_limit compound compress compute concat concat_ws concurrent confirm conn connec connect connect_by_iscycle connect_by_isleaf connect_by_root connect_time connection consider consistent constant constraint constraints constructor container content contents context contributors controlfile conv convert convert_tz corr corr_k corr_s corresponding corruption cos cost count count_big counted covar_pop covar_samp cpu_per_call cpu_per_session crc32 create creation critical cross cube cume_dist curdate current current_date current_time current_timestamp current_user cursor curtime customdatum cycle data database databases datafile datafiles datalength date_add date_cache date_format date_sub dateadd datediff datefromparts datename datepart datetime2fromparts day day_to_second dayname dayofmonth dayofweek dayofyear days db_role_change dbtimezone ddl deallocate declare decode decompose decrement decrypt deduplicate def defa defau defaul default defaults deferred defi defin define degrees delayed delegate delete delete_all delimited demand dense_rank depth dequeue des_decrypt des_encrypt des_key_file desc descr descri describ describe descriptor deterministic diagnostics difference dimension direct_load directory disable disable_all disallow disassociate discardfile disconnect diskgroup distinct distinctrow distribute distributed div do document domain dotnet double downgrade drop dumpfile duplicate duration each edition editionable editions element ellipsis else elsif elt empty enable enable_all enclosed encode encoding encrypt end end-exec endian enforced engine engines enqueue enterprise entityescaping eomonth error errors escaped evalname evaluate event eventdata events except exception exceptions exchange exclude excluding execu execut execute exempt exists exit exp expire explain explode export export_set extended extent external external_1 external_2 externally extract failed failed_login_attempts failover failure far fast feature_set feature_value fetch field fields file file_name_convert filesystem_like_logging final finish first first_value fixed flash_cache flashback floor flush following follows for forall force foreign form forma format found found_rows freelist freelists freepools fresh from from_base64 from_days ftp full function general generated get get_format get_lock getdate getutcdate global global_name globally go goto grant grants greatest group group_concat group_id grouping grouping_id groups gtid_subtract guarantee guard handler hash hashkeys having hea head headi headin heading heap help hex hierarchy high high_priority hosts hour hours http id ident_current ident_incr ident_seed identified identity idle_time if ifnull ignore iif ilike ilm immediate import in include including increment index indexes indexing indextype indicator indices inet6_aton inet6_ntoa inet_aton inet_ntoa infile initial initialized initially initrans inmemory inner innodb input insert install instance instantiable instr interface interleaved intersect into invalidate invisible is is_free_lock is_ipv4 is_ipv4_compat is_not is_not_null is_used_lock isdate isnull isolation iterate java join json json_exists keep keep_duplicates key keys kill language large last last_day last_insert_id last_value lateral lax lcase lead leading least leaves left len lenght length less level levels library like like2 like4 likec limit lines link list listagg little ln load load_file lob lobs local localtime localtimestamp locate locator lock locked log log10 log2 logfile logfiles logging logical logical_reads_per_call logoff logon logs long loop low low_priority lower lpad lrtrim ltrim main make_set makedate maketime managed management manual map mapping mask master master_pos_wait match matched materialized max maxextents maximize maxinstances maxlen maxlogfiles maxloghistory maxlogmembers maxsize maxtrans md5 measures median medium member memcompress memory merge microsecond mid migration min minextents minimum mining minus minute minutes minvalue missing mod mode model modification modify module monitoring month months mount move movement multiset mutex name name_const names nan national native natural nav nchar nclob nested never new newline next nextval no no_write_to_binlog noarchivelog noaudit nobadfile nocheck nocompress nocopy nocycle nodelay nodiscardfile noentityescaping noguarantee nokeep nologfile nomapping nomaxvalue nominimize nominvalue nomonitoring none noneditionable nonschema noorder nopr nopro noprom nopromp noprompt norely noresetlogs noreverse normal norowdependencies noschemacheck noswitch not nothing notice notnull notrim novalidate now nowait nth_value nullif nulls num numb numbe nvarchar nvarchar2 object ocicoll ocidate ocidatetime ociduration ociinterval ociloblocator ocinumber ociref ocirefcursor ocirowid ocistring ocitype oct octet_length of off offline offset oid oidindex old on online only opaque open operations operator optimal optimize option optionally or oracle oracle_date oradata ord ordaudio orddicom orddoc order ordimage ordinality ordvideo organization orlany orlvary out outer outfile outline output over overflow overriding package pad parallel parallel_enable parameters parent parse partial partition partitions pascal passing password password_grace_time password_lock_time password_reuse_max password_reuse_time password_verify_function patch path patindex pctincrease pctthreshold pctused pctversion percent percent_rank percentile_cont percentile_disc performance period period_add period_diff permanent physical pi pipe pipelined pivot pluggable plugin policy position post_transaction pow power pragma prebuilt precedes preceding precision prediction prediction_cost prediction_details prediction_probability prediction_set prepare present preserve prior priority private private_sga privileges procedural procedure procedure_analyze processlist profiles project prompt protection public publishingservername purge quarter query quick quiesce quota quotename radians raise rand range rank raw read reads readsize rebuild record records recover recovery recursive recycle redo reduced ref reference referenced references referencing refresh regexp_like register regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy reject rekey relational relative relaylog release release_lock relies_on relocate rely rem remainder rename repair repeat replace replicate replication required reset resetlogs resize resource respect restore restricted result result_cache resumable resume retention return returning returns reuse reverse revoke right rlike role roles rollback rolling rollup round row row_count rowdependencies rowid rownum rows rtrim rules safe salt sample save savepoint sb1 sb2 sb4 scan schema schemacheck scn scope scroll sdo_georaster sdo_topo_geometry search sec_to_time second seconds section securefile security seed segment select self semi sequence sequential serializable server servererror session session_user sessions_per_user set sets settings sha sha1 sha2 share shared shared_pool short show shrink shutdown si_averagecolor si_colorhistogram si_featurelist si_positionalcolor si_stillimage si_texture siblings sid sign sin size size_t sizes skip slave sleep smalldatetimefromparts smallfile snapshot some soname sort soundex source space sparse spfile split sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_small_result sql_variant_property sqlcode sqldata sqlerror sqlname sqlstate sqrt square standalone standby start starting startup statement static statistics stats_binomial_test stats_crosstab stats_ks_test stats_mode stats_mw_test stats_one_way_anova stats_t_test_ stats_t_test_indep stats_t_test_one stats_t_test_paired stats_wsr_test status std stddev stddev_pop stddev_samp stdev stop storage store stored str str_to_date straight_join strcmp strict string struct stuff style subdate subpartition subpartitions substitutable substr substring subtime subtring_index subtype success sum suspend switch switchoffset switchover sync synchronous synonym sys sys_xmlagg sysasm sysaux sysdate sysdatetimeoffset sysdba sysoper system system_user sysutcdatetime table tables tablespace tablesample tan tdo template temporary terminated tertiary_weights test than then thread through tier ties time time_format time_zone timediff timefromparts timeout timestamp timestampadd timestampdiff timezone_abbr timezone_minute timezone_region to to_base64 to_date to_days to_seconds todatetimeoffset trace tracking transaction transactional translate translation treat trigger trigger_nestlevel triggers trim truncate try_cast try_convert try_parse type ub1 ub2 ub4 ucase unarchived unbounded uncompress under undo unhex unicode uniform uninstall union unique unix_timestamp unknown unlimited unlock unnest unpivot unrecoverable unsafe unsigned until untrusted unusable unused update updated upgrade upped upper upsert url urowid usable usage use use_stored_outlines user user_data user_resources users using utc_date utc_timestamp uuid uuid_short validate validate_password_strength validation valist value values var var_samp varcharc vari varia variab variabl variable variables variance varp varraw varrawc varray verify version versions view virtual visible void wait wallet warning warnings week weekday weekofyear wellformed when whene whenev wheneve whenever where while whitespace window with within without work wrapped xdb xml xmlagg xmlattributes xmlcast xmlcolattval xmlelement xmlexists xmlforest xmlindex xmlnamespaces xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltype xor year year_to_month years yearweek",literal:"true false null unknown",built_in:"array bigint binary bit blob bool boolean char character date dec decimal float int int8 integer interval number numeric real record serial serial8 smallint text time timestamp tinyint varchar varchar2 varying void"},contains:[{className:"string",begin:"'",end:"'",contains:[{begin:"''"}]},{className:"string",begin:'"',end:'"',contains:[{begin:'""'}]},{className:"string",begin:"`",end:"`"},e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,t,e.HASH_COMMENT_MODE]},e.C_BLOCK_COMMENT_MODE,t,e.HASH_COMMENT_MODE]}}}());hljs.registerLanguage("c",function(){"use strict";return function(e){var n=e.getLanguage("c-like").rawDefinition();return n.name="C",n.aliases=["c","h"],n}}());hljs.registerLanguage("json",function(){"use strict";return function(n){var e={literal:"true false null"},i=[n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE],t=[n.QUOTE_STRING_MODE,n.C_NUMBER_MODE],a={end:",",endsWithParent:!0,excludeEnd:!0,contains:t,keywords:e},l={begin:"{",end:"}",contains:[{className:"attr",begin:/"/,end:/"/,contains:[n.BACKSLASH_ESCAPE],illegal:"\\n"},n.inherit(a,{begin:/:/})].concat(i),illegal:"\\S"},s={begin:"\\[",end:"\\]",contains:[n.inherit(a)],illegal:"\\S"};return t.push(l,s),i.forEach((function(n){t.push(n)})),{name:"JSON",contains:t,keywords:e,illegal:"\\S"}}}());hljs.registerLanguage("python-repl",function(){"use strict";return function(n){return{aliases:["pycon"],contains:[{className:"meta",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}}}());hljs.registerLanguage("markdown",function(){"use strict";return function(n){const e={begin:"<",end:">",subLanguage:"xml",relevance:0},a={begin:"\\[.+?\\][\\(\\[].*?[\\)\\]]",returnBegin:!0,contains:[{className:"string",begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0,relevance:0},{className:"link",begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}],relevance:10},i={className:"strong",contains:[],variants:[{begin:/_{2}/,end:/_{2}/},{begin:/\*{2}/,end:/\*{2}/}]},s={className:"emphasis",contains:[],variants:[{begin:/\*(?!\*)/,end:/\*/},{begin:/_(?!_)/,end:/_/,relevance:0}]};i.contains.push(s),s.contains.push(i);var c=[e,a];return i.contains=i.contains.concat(c),s.contains=s.contains.concat(c),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:c=c.concat(i,s)},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:c}]}]},e,{className:"bullet",begin:"^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},i,s,{className:"quote",begin:"^>\\s+",contains:c,end:"$"},{className:"code",variants:[{begin:"(`{3,})(.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})(.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},{begin:"^[-\\*]{3,}",end:"$"},a,{begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]}]}}}());hljs.registerLanguage("javascript",function(){"use strict";const e=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],n=["true","false","null","undefined","NaN","Infinity"],a=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]);function s(e){return r("(?=",e,")")}function r(...e){return e.map(e=>(function(e){return e?"string"==typeof e?e:e.source:null})(e)).join("")}return function(t){var i="[A-Za-z$_][0-9A-Za-z$_]*",c={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/},o={$pattern:"[A-Za-z$_][0-9A-Za-z$_]*",keyword:e.join(" "),literal:n.join(" "),built_in:a.join(" ")},l={className:"number",variants:[{begin:"\\b(0[bB][01]+)n?"},{begin:"\\b(0[oO][0-7]+)n?"},{begin:t.C_NUMBER_RE+"n?"}],relevance:0},E={className:"subst",begin:"\\$\\{",end:"\\}",keywords:o,contains:[]},d={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,E],subLanguage:"xml"}},g={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,E],subLanguage:"css"}},u={className:"string",begin:"`",end:"`",contains:[t.BACKSLASH_ESCAPE,E]};E.contains=[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,d,g,u,l,t.REGEXP_MODE];var b=E.contains.concat([{begin:/\(/,end:/\)/,contains:["self"].concat(E.contains,[t.C_BLOCK_COMMENT_MODE,t.C_LINE_COMMENT_MODE])},t.C_BLOCK_COMMENT_MODE,t.C_LINE_COMMENT_MODE]),_={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,contains:b};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:o,contains:[t.SHEBANG({binary:"node",relevance:5}),{className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,d,g,u,t.C_LINE_COMMENT_MODE,t.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+",contains:[{className:"type",begin:"\\{",end:"\\}",relevance:0},{className:"variable",begin:i+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),t.C_BLOCK_COMMENT_MODE,l,{begin:r(/[{,\n]\s*/,s(r(/(((\/\/.*)|(\/\*(.|\n)*\*\/))\s*)*/,i+"\\s*:"))),relevance:0,contains:[{className:"attr",begin:i+s("\\s*:"),relevance:0}]},{begin:"("+t.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",contains:[t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,t.REGEXP_MODE,{className:"function",begin:"(\\([^(]*(\\([^(]*(\\([^(]*\\))?\\))?\\)|"+t.UNDERSCORE_IDENT_RE+")\\s*=>",returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:t.UNDERSCORE_IDENT_RE},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:b}]}]},{begin:/,/,relevance:0},{className:"",begin:/\s/,end:/\s*/,skip:!0},{variants:[{begin:"<>",end:""},{begin:c.begin,end:c.end}],subLanguage:"xml",contains:[{begin:c.begin,end:c.end,skip:!0,contains:["self"]}]}],relevance:0},{className:"function",beginKeywords:"function",end:/\{/,excludeEnd:!0,contains:[t.inherit(t.TITLE_MODE,{begin:i}),_],illegal:/\[|%/},{begin:/\$[(.]/},t.METHOD_GUARD,{className:"class",beginKeywords:"class",end:/[{;=]/,excludeEnd:!0,illegal:/[:"\[\]]/,contains:[{beginKeywords:"extends"},t.UNDERSCORE_TITLE_MODE]},{beginKeywords:"constructor",end:/\{/,excludeEnd:!0},{begin:"(get|set)\\s+(?="+i+"\\()",end:/{/,keywords:"get set",contains:[t.inherit(t.TITLE_MODE,{begin:i}),{begin:/\(\)/},_]}],illegal:/#(?!!)/}}}());hljs.registerLanguage("typescript",function(){"use strict";const e=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],n=["true","false","null","undefined","NaN","Infinity"],a=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]);return function(r){var t={$pattern:"[A-Za-z$_][0-9A-Za-z$_]*",keyword:e.concat(["type","namespace","typedef","interface","public","private","protected","implements","declare","abstract","readonly"]).join(" "),literal:n.join(" "),built_in:a.concat(["any","void","number","boolean","string","object","never","enum"]).join(" ")},s={className:"meta",begin:"@[A-Za-z$_][0-9A-Za-z$_]*"},i={className:"number",variants:[{begin:"\\b(0[bB][01]+)n?"},{begin:"\\b(0[oO][0-7]+)n?"},{begin:r.C_NUMBER_RE+"n?"}],relevance:0},o={className:"subst",begin:"\\$\\{",end:"\\}",keywords:t,contains:[]},c={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[r.BACKSLASH_ESCAPE,o],subLanguage:"xml"}},l={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[r.BACKSLASH_ESCAPE,o],subLanguage:"css"}},E={className:"string",begin:"`",end:"`",contains:[r.BACKSLASH_ESCAPE,o]};o.contains=[r.APOS_STRING_MODE,r.QUOTE_STRING_MODE,c,l,E,i,r.REGEXP_MODE];var d={begin:"\\(",end:/\)/,keywords:t,contains:["self",r.QUOTE_STRING_MODE,r.APOS_STRING_MODE,r.NUMBER_MODE]},u={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:t,contains:[r.C_LINE_COMMENT_MODE,r.C_BLOCK_COMMENT_MODE,s,d]};return{name:"TypeScript",aliases:["ts"],keywords:t,contains:[r.SHEBANG(),{className:"meta",begin:/^\s*['"]use strict['"]/},r.APOS_STRING_MODE,r.QUOTE_STRING_MODE,c,l,E,r.C_LINE_COMMENT_MODE,r.C_BLOCK_COMMENT_MODE,i,{begin:"("+r.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",contains:[r.C_LINE_COMMENT_MODE,r.C_BLOCK_COMMENT_MODE,r.REGEXP_MODE,{className:"function",begin:"(\\([^(]*(\\([^(]*(\\([^(]*\\))?\\))?\\)|"+r.UNDERSCORE_IDENT_RE+")\\s*=>",returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:r.UNDERSCORE_IDENT_RE},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:t,contains:d.contains}]}]}],relevance:0},{className:"function",beginKeywords:"function",end:/[\{;]/,excludeEnd:!0,keywords:t,contains:["self",r.inherit(r.TITLE_MODE,{begin:"[A-Za-z$_][0-9A-Za-z$_]*"}),u],illegal:/%/,relevance:0},{beginKeywords:"constructor",end:/[\{;]/,excludeEnd:!0,contains:["self",u]},{begin:/module\./,keywords:{built_in:"module"},relevance:0},{beginKeywords:"module",end:/\{/,excludeEnd:!0},{beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:"interface extends"},{begin:/\$[(.]/},{begin:"\\."+r.IDENT_RE,relevance:0},s,d]}}}());hljs.registerLanguage("plaintext",function(){"use strict";return function(t){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}}());hljs.registerLanguage("less",function(){"use strict";return function(e){var n="([\\w-]+|@{[\\w-]+})",a=[],s=[],t=function(e){return{className:"string",begin:"~?"+e+".*?"+e}},r=function(e,n,a){return{className:e,begin:n,relevance:a}},i={begin:"\\(",end:"\\)",contains:s,relevance:0};s.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,t("'"),t('"'),e.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},r("number","#[0-9A-Fa-f]+\\b"),i,r("variable","@@?[\\w-]+",10),r("variable","@{[\\w-]+}"),r("built_in","~?`[^`]*?`"),{className:"attribute",begin:"[\\w-]+\\s*:",end:":",returnBegin:!0,excludeEnd:!0},{className:"meta",begin:"!important"});var c=s.concat({begin:"{",end:"}",contains:a}),l={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(s)},o={begin:n+"\\s*:",returnBegin:!0,end:"[;}]",relevance:0,contains:[{className:"attribute",begin:n,end:":",excludeEnd:!0,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:s}}]},g={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",returnEnd:!0,contains:s,relevance:0}},d={className:"variable",variants:[{begin:"@[\\w-]+\\s*:",relevance:15},{begin:"@[\\w-]+"}],starts:{end:"[;}]",returnEnd:!0,contains:c}},b={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:n,end:"{"}],returnBegin:!0,returnEnd:!0,illegal:"[<='$\"]",relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,l,r("keyword","all\\b"),r("variable","@{[\\w-]+}"),r("selector-tag",n+"%?",0),r("selector-id","#"+n),r("selector-class","\\."+n,0),r("selector-tag","&",0),{className:"selector-attr",begin:"\\[",end:"\\]"},{className:"selector-pseudo",begin:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{begin:"\\(",end:"\\)",contains:c},{begin:"!important"}]};return a.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,g,d,o,b),{name:"Less",case_insensitive:!0,illegal:"[=>'/<($\"]",contains:a}}}());hljs.registerLanguage("lua",function(){"use strict";return function(e){var t={begin:"\\[=*\\[",end:"\\]=*\\]",contains:["self"]},a=[e.COMMENT("--(?!\\[=*\\[)","$"),e.COMMENT("--\\[=*\\[","\\]=*\\]",{contains:[t],relevance:10})];return{name:"Lua",keywords:{$pattern:e.UNDERSCORE_IDENT_RE,literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"},contains:a.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[e.inherit(e.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:a}].concat(a)},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string",begin:"\\[=*\\[",end:"\\]=*\\]",contains:[t],relevance:5}])}}}()); +var hljs=function(){"use strict";function e(n){Object.freeze(n);var t="function"==typeof n;return Object.getOwnPropertyNames(n).forEach((function(r){!Object.hasOwnProperty.call(n,r)||null===n[r]||"object"!=typeof n[r]&&"function"!=typeof n[r]||t&&("caller"===r||"callee"===r||"arguments"===r)||Object.isFrozen(n[r])||e(n[r])})),n}class n{constructor(e){void 0===e.data&&(e.data={}),this.data=e.data}ignoreMatch(){this.ignore=!0}}function t(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function r(e,...n){var t={};for(const n in e)t[n]=e[n];return n.forEach((function(e){for(const n in e)t[n]=e[n]})),t}function a(e){return e.nodeName.toLowerCase()}var i=Object.freeze({__proto__:null,escapeHTML:t,inherit:r,nodeStream:function(e){var n=[];return function e(t,r){for(var i=t.firstChild;i;i=i.nextSibling)3===i.nodeType?r+=i.nodeValue.length:1===i.nodeType&&(n.push({event:"start",offset:r,node:i}),r=e(i,r),a(i).match(/br|hr|img|input/)||n.push({event:"stop",offset:r,node:i}));return r}(e,0),n},mergeStreams:function(e,n,r){var i=0,s="",o=[];function l(){return e.length&&n.length?e[0].offset!==n[0].offset?e[0].offset"}function u(e){s+=""}function d(e){("start"===e.event?c:u)(e.node)}for(;e.length||n.length;){var g=l();if(s+=t(r.substring(i,g[0].offset)),i=g[0].offset,g===e){o.reverse().forEach(u);do{d(g.splice(0,1)[0]),g=l()}while(g===e&&g.length&&g[0].offset===i);o.reverse().forEach(c)}else"start"===g[0].event?o.push(g[0].node):o.pop(),d(g.splice(0,1)[0])}return s+t(r.substr(i))}});const s="
    ",o=e=>!!e.kind;class l{constructor(e,n){this.buffer="",this.classPrefix=n.classPrefix,e.walk(this)}addText(e){this.buffer+=t(e)}openNode(e){if(!o(e))return;let n=e.kind;e.sublanguage||(n=`${this.classPrefix}${n}`),this.span(n)}closeNode(e){o(e)&&(this.buffer+=s)}value(){return this.buffer}span(e){this.buffer+=``}}class c{constructor(){this.rootNode={children:[]},this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){const n={kind:e,children:[]};this.add(n),this.stack.push(n)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,n){return"string"==typeof n?e.addText(n):n.children&&(e.openNode(n),n.children.forEach(n=>this._walk(e,n)),e.closeNode(n)),e}static _collapse(e){"string"!=typeof e&&e.children&&(e.children.every(e=>"string"==typeof e)?e.children=[e.children.join("")]:e.children.forEach(e=>{c._collapse(e)}))}}class u extends c{constructor(e){super(),this.options=e}addKeyword(e,n){""!==e&&(this.openNode(n),this.addText(e),this.closeNode())}addText(e){""!==e&&this.add(e)}addSublanguage(e,n){const t=e.root;t.kind=n,t.sublanguage=!0,this.add(t)}toHTML(){return new l(this,this.options).value()}finalize(){return!0}}function d(e){return e?"string"==typeof e?e:e.source:null}const g="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",h={begin:"\\\\[\\s\\S]",relevance:0},f={className:"string",begin:"'",end:"'",illegal:"\\n",contains:[h]},p={className:"string",begin:'"',end:'"',illegal:"\\n",contains:[h]},b={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},m=function(e,n,t={}){var a=r({className:"comment",begin:e,end:n,contains:[]},t);return a.contains.push(b),a.contains.push({className:"doctag",begin:"(?:TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):",relevance:0}),a},v=m("//","$"),x=m("/\\*","\\*/"),E=m("#","$");var _=Object.freeze({__proto__:null,IDENT_RE:"[a-zA-Z]\\w*",UNDERSCORE_IDENT_RE:"[a-zA-Z_]\\w*",NUMBER_RE:"\\b\\d+(\\.\\d+)?",C_NUMBER_RE:g,BINARY_NUMBER_RE:"\\b(0b[01]+)",RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG:(e={})=>{const n=/^#![ ]*\//;return e.binary&&(e.begin=function(...e){return e.map(e=>d(e)).join("")}(n,/.*\b/,e.binary,/\b.*/)),r({className:"meta",begin:n,end:/$/,relevance:0,"on:begin":(e,n)=>{0!==e.index&&n.ignoreMatch()}},e)},BACKSLASH_ESCAPE:h,APOS_STRING_MODE:f,QUOTE_STRING_MODE:p,PHRASAL_WORDS_MODE:b,COMMENT:m,C_LINE_COMMENT_MODE:v,C_BLOCK_COMMENT_MODE:x,HASH_COMMENT_MODE:E,NUMBER_MODE:{className:"number",begin:"\\b\\d+(\\.\\d+)?",relevance:0},C_NUMBER_MODE:{className:"number",begin:g,relevance:0},BINARY_NUMBER_MODE:{className:"number",begin:"\\b(0b[01]+)",relevance:0},CSS_NUMBER_MODE:{className:"number",begin:"\\b\\d+(\\.\\d+)?(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},REGEXP_MODE:{begin:/(?=\/[^/\n]*\/)/,contains:[{className:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[h,{begin:/\[/,end:/\]/,relevance:0,contains:[h]}]}]},TITLE_MODE:{className:"title",begin:"[a-zA-Z]\\w*",relevance:0},UNDERSCORE_TITLE_MODE:{className:"title",begin:"[a-zA-Z_]\\w*",relevance:0},METHOD_GUARD:{begin:"\\.\\s*[a-zA-Z_]\\w*",relevance:0},END_SAME_AS_BEGIN:function(e){return Object.assign(e,{"on:begin":(e,n)=>{n.data._beginMatch=e[1]},"on:end":(e,n)=>{n.data._beginMatch!==e[1]&&n.ignoreMatch()}})}}),N="of and for in not or if then".split(" ");function w(e,n){return n?+n:function(e){return N.includes(e.toLowerCase())}(e)?0:1}const R=t,y=r,{nodeStream:k,mergeStreams:O}=i,M=Symbol("nomatch");return function(t){var a=[],i={},s={},o=[],l=!0,c=/(^(<[^>]+>|\t|)+|\n)/gm,g="Could not find the language '{}', did you forget to load/include a language module?";const h={disableAutodetect:!0,name:"Plain text",contains:[]};var f={noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:null,__emitter:u};function p(e){return f.noHighlightRe.test(e)}function b(e,n,t,r){var a={code:n,language:e};S("before:highlight",a);var i=a.result?a.result:m(a.language,a.code,t,r);return i.code=a.code,S("after:highlight",i),i}function m(e,t,a,s){var o=t;function c(e,n){var t=E.case_insensitive?n[0].toLowerCase():n[0];return Object.prototype.hasOwnProperty.call(e.keywords,t)&&e.keywords[t]}function u(){null!=y.subLanguage?function(){if(""!==A){var e=null;if("string"==typeof y.subLanguage){if(!i[y.subLanguage])return void O.addText(A);e=m(y.subLanguage,A,!0,k[y.subLanguage]),k[y.subLanguage]=e.top}else e=v(A,y.subLanguage.length?y.subLanguage:null);y.relevance>0&&(I+=e.relevance),O.addSublanguage(e.emitter,e.language)}}():function(){if(!y.keywords)return void O.addText(A);let e=0;y.keywordPatternRe.lastIndex=0;let n=y.keywordPatternRe.exec(A),t="";for(;n;){t+=A.substring(e,n.index);const r=c(y,n);if(r){const[e,a]=r;O.addText(t),t="",I+=a,O.addKeyword(n[0],e)}else t+=n[0];e=y.keywordPatternRe.lastIndex,n=y.keywordPatternRe.exec(A)}t+=A.substr(e),O.addText(t)}(),A=""}function h(e){return e.className&&O.openNode(e.className),y=Object.create(e,{parent:{value:y}})}function p(e){return 0===y.matcher.regexIndex?(A+=e[0],1):(L=!0,0)}var b={};function x(t,r){var i=r&&r[0];if(A+=t,null==i)return u(),0;if("begin"===b.type&&"end"===r.type&&b.index===r.index&&""===i){if(A+=o.slice(r.index,r.index+1),!l){const n=Error("0 width match regex");throw n.languageName=e,n.badRule=b.rule,n}return 1}if(b=r,"begin"===r.type)return function(e){var t=e[0],r=e.rule;const a=new n(r),i=[r.__beforeBegin,r["on:begin"]];for(const n of i)if(n&&(n(e,a),a.ignore))return p(t);return r&&r.endSameAsBegin&&(r.endRe=RegExp(t.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"m")),r.skip?A+=t:(r.excludeBegin&&(A+=t),u(),r.returnBegin||r.excludeBegin||(A=t)),h(r),r.returnBegin?0:t.length}(r);if("illegal"===r.type&&!a){const e=Error('Illegal lexeme "'+i+'" for mode "'+(y.className||"")+'"');throw e.mode=y,e}if("end"===r.type){var s=function(e){var t=e[0],r=o.substr(e.index),a=function e(t,r,a){let i=function(e,n){var t=e&&e.exec(n);return t&&0===t.index}(t.endRe,a);if(i){if(t["on:end"]){const e=new n(t);t["on:end"](r,e),e.ignore&&(i=!1)}if(i){for(;t.endsParent&&t.parent;)t=t.parent;return t}}if(t.endsWithParent)return e(t.parent,r,a)}(y,e,r);if(!a)return M;var i=y;i.skip?A+=t:(i.returnEnd||i.excludeEnd||(A+=t),u(),i.excludeEnd&&(A=t));do{y.className&&O.closeNode(),y.skip||y.subLanguage||(I+=y.relevance),y=y.parent}while(y!==a.parent);return a.starts&&(a.endSameAsBegin&&(a.starts.endRe=a.endRe),h(a.starts)),i.returnEnd?0:t.length}(r);if(s!==M)return s}if("illegal"===r.type&&""===i)return 1;if(B>1e5&&B>3*r.index)throw Error("potential infinite loop, way more iterations than matches");return A+=i,i.length}var E=T(e);if(!E)throw console.error(g.replace("{}",e)),Error('Unknown language: "'+e+'"');var _=function(e){function n(n,t){return RegExp(d(n),"m"+(e.case_insensitive?"i":"")+(t?"g":""))}class t{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(e,n){n.position=this.position++,this.matchIndexes[this.matchAt]=n,this.regexes.push([n,e]),this.matchAt+=function(e){return RegExp(e.toString()+"|").exec("").length-1}(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null);const e=this.regexes.map(e=>e[1]);this.matcherRe=n(function(e,n="|"){for(var t=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./,r=0,a="",i=0;i0&&(a+=n),a+="(";o.length>0;){var l=t.exec(o);if(null==l){a+=o;break}a+=o.substring(0,l.index),o=o.substring(l.index+l[0].length),"\\"===l[0][0]&&l[1]?a+="\\"+(+l[1]+s):(a+=l[0],"("===l[0]&&r++)}a+=")"}return a}(e),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex;const n=this.matcherRe.exec(e);if(!n)return null;const t=n.findIndex((e,n)=>n>0&&void 0!==e),r=this.matchIndexes[t];return n.splice(0,t),Object.assign(n,r)}}class a{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){if(this.multiRegexes[e])return this.multiRegexes[e];const n=new t;return this.rules.slice(e).forEach(([e,t])=>n.addRule(e,t)),n.compile(),this.multiRegexes[e]=n,n}considerAll(){this.regexIndex=0}addRule(e,n){this.rules.push([e,n]),"begin"===n.type&&this.count++}exec(e){const n=this.getMatcher(this.regexIndex);n.lastIndex=this.lastIndex;const t=n.exec(e);return t&&(this.regexIndex+=t.position+1,this.regexIndex===this.count&&(this.regexIndex=0)),t}}function i(e,n){const t=e.input[e.index-1],r=e.input[e.index+e[0].length];"."!==t&&"."!==r||n.ignoreMatch()}if(e.contains&&e.contains.includes("self"))throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return function t(s,o){const l=s;if(s.compiled)return l;s.compiled=!0,s.__beforeBegin=null,s.keywords=s.keywords||s.beginKeywords;let c=null;if("object"==typeof s.keywords&&(c=s.keywords.$pattern,delete s.keywords.$pattern),s.keywords&&(s.keywords=function(e,n){var t={};return"string"==typeof e?r("keyword",e):Object.keys(e).forEach((function(n){r(n,e[n])})),t;function r(e,r){n&&(r=r.toLowerCase()),r.split(" ").forEach((function(n){var r=n.split("|");t[r[0]]=[e,w(r[0],r[1])]}))}}(s.keywords,e.case_insensitive)),s.lexemes&&c)throw Error("ERR: Prefer `keywords.$pattern` to `mode.lexemes`, BOTH are not allowed. (see mode reference) ");return l.keywordPatternRe=n(s.lexemes||c||/\w+/,!0),o&&(s.beginKeywords&&(s.begin="\\b("+s.beginKeywords.split(" ").join("|")+")(?=\\b|\\s)",s.__beforeBegin=i),s.begin||(s.begin=/\B|\b/),l.beginRe=n(s.begin),s.endSameAsBegin&&(s.end=s.begin),s.end||s.endsWithParent||(s.end=/\B|\b/),s.end&&(l.endRe=n(s.end)),l.terminator_end=d(s.end)||"",s.endsWithParent&&o.terminator_end&&(l.terminator_end+=(s.end?"|":"")+o.terminator_end)),s.illegal&&(l.illegalRe=n(s.illegal)),void 0===s.relevance&&(s.relevance=1),s.contains||(s.contains=[]),s.contains=[].concat(...s.contains.map((function(e){return function(e){return e.variants&&!e.cached_variants&&(e.cached_variants=e.variants.map((function(n){return r(e,{variants:null},n)}))),e.cached_variants?e.cached_variants:function e(n){return!!n&&(n.endsWithParent||e(n.starts))}(e)?r(e,{starts:e.starts?r(e.starts):null}):Object.isFrozen(e)?r(e):e}("self"===e?s:e)}))),s.contains.forEach((function(e){t(e,l)})),s.starts&&t(s.starts,o),l.matcher=function(e){const n=new a;return e.contains.forEach(e=>n.addRule(e.begin,{rule:e,type:"begin"})),e.terminator_end&&n.addRule(e.terminator_end,{type:"end"}),e.illegal&&n.addRule(e.illegal,{type:"illegal"}),n}(l),l}(e)}(E),N="",y=s||_,k={},O=new f.__emitter(f);!function(){for(var e=[],n=y;n!==E;n=n.parent)n.className&&e.unshift(n.className);e.forEach(e=>O.openNode(e))}();var A="",I=0,S=0,B=0,L=!1;try{for(y.matcher.considerAll();;){B++,L?L=!1:(y.matcher.lastIndex=S,y.matcher.considerAll());const e=y.matcher.exec(o);if(!e)break;const n=x(o.substring(S,e.index),e);S=e.index+n}return x(o.substr(S)),O.closeAllNodes(),O.finalize(),N=O.toHTML(),{relevance:I,value:N,language:e,illegal:!1,emitter:O,top:y}}catch(n){if(n.message&&n.message.includes("Illegal"))return{illegal:!0,illegalBy:{msg:n.message,context:o.slice(S-100,S+100),mode:n.mode},sofar:N,relevance:0,value:R(o),emitter:O};if(l)return{illegal:!1,relevance:0,value:R(o),emitter:O,language:e,top:y,errorRaised:n};throw n}}function v(e,n){n=n||f.languages||Object.keys(i);var t=function(e){const n={relevance:0,emitter:new f.__emitter(f),value:R(e),illegal:!1,top:h};return n.emitter.addText(e),n}(e),r=t;return n.filter(T).filter(I).forEach((function(n){var a=m(n,e,!1);a.language=n,a.relevance>r.relevance&&(r=a),a.relevance>t.relevance&&(r=t,t=a)})),r.language&&(t.second_best=r),t}function x(e){return f.tabReplace||f.useBR?e.replace(c,e=>"\n"===e?f.useBR?"
    ":e:f.tabReplace?e.replace(/\t/g,f.tabReplace):e):e}function E(e){let n=null;const t=function(e){var n=e.className+" ";n+=e.parentNode?e.parentNode.className:"";const t=f.languageDetectRe.exec(n);if(t){var r=T(t[1]);return r||(console.warn(g.replace("{}",t[1])),console.warn("Falling back to no-highlight mode for this block.",e)),r?t[1]:"no-highlight"}return n.split(/\s+/).find(e=>p(e)||T(e))}(e);if(p(t))return;S("before:highlightBlock",{block:e,language:t}),f.useBR?(n=document.createElement("div")).innerHTML=e.innerHTML.replace(/\n/g,"").replace(//g,"\n"):n=e;const r=n.textContent,a=t?b(t,r,!0):v(r),i=k(n);if(i.length){const e=document.createElement("div");e.innerHTML=a.value,a.value=O(i,k(e),r)}a.value=x(a.value),S("after:highlightBlock",{block:e,result:a}),e.innerHTML=a.value,e.className=function(e,n,t){var r=n?s[n]:t,a=[e.trim()];return e.match(/\bhljs\b/)||a.push("hljs"),e.includes(r)||a.push(r),a.join(" ").trim()}(e.className,t,a.language),e.result={language:a.language,re:a.relevance,relavance:a.relevance},a.second_best&&(e.second_best={language:a.second_best.language,re:a.second_best.relevance,relavance:a.second_best.relevance})}const N=()=>{if(!N.called){N.called=!0;var e=document.querySelectorAll("pre code");a.forEach.call(e,E)}};function T(e){return e=(e||"").toLowerCase(),i[e]||i[s[e]]}function A(e,{languageName:n}){"string"==typeof e&&(e=[e]),e.forEach(e=>{s[e]=n})}function I(e){var n=T(e);return n&&!n.disableAutodetect}function S(e,n){var t=e;o.forEach((function(e){e[t]&&e[t](n)}))}Object.assign(t,{highlight:b,highlightAuto:v,fixMarkup:x,highlightBlock:E,configure:function(e){f=y(f,e)},initHighlighting:N,initHighlightingOnLoad:function(){window.addEventListener("DOMContentLoaded",N,!1)},registerLanguage:function(e,n){var r=null;try{r=n(t)}catch(n){if(console.error("Language definition for '{}' could not be registered.".replace("{}",e)),!l)throw n;console.error(n),r=h}r.name||(r.name=e),i[e]=r,r.rawDefinition=n.bind(null,t),r.aliases&&A(r.aliases,{languageName:e})},listLanguages:function(){return Object.keys(i)},getLanguage:T,registerAliases:A,requireLanguage:function(e){var n=T(e);if(n)return n;throw Error("The '{}' language is required, but not loaded.".replace("{}",e))},autoDetection:I,inherit:y,addPlugin:function(e){o.push(e)}}),t.debugMode=function(){l=!1},t.safeMode=function(){l=!0},t.versionString="10.1.1";for(const n in _)"object"==typeof _[n]&&e(_[n]);return Object.assign(t,_),t}({})}();"object"==typeof exports&&"undefined"!=typeof module&&(module.exports=hljs); +hljs.registerLanguage("apache",function(){"use strict";return function(e){var n={className:"number",begin:"\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?"};return{name:"Apache config",aliases:["apacheconf"],case_insensitive:!0,contains:[e.HASH_COMMENT_MODE,{className:"section",begin:"",contains:[n,{className:"number",begin:":\\d{1,5}"},e.inherit(e.QUOTE_STRING_MODE,{relevance:0})]},{className:"attribute",begin:/\w+/,relevance:0,keywords:{nomarkup:"order deny allow setenv rewriterule rewriteengine rewritecond documentroot sethandler errordocument loadmodule options header listen serverroot servername"},starts:{end:/$/,relevance:0,keywords:{literal:"on off all deny allow"},contains:[{className:"meta",begin:"\\s\\[",end:"\\]$"},{className:"variable",begin:"[\\$%]\\{",end:"\\}",contains:["self",{className:"number",begin:"[\\$%]\\d+"}]},n,{className:"number",begin:"\\d+"},e.QUOTE_STRING_MODE]}}],illegal:/\S/}}}()); +hljs.registerLanguage("bash",function(){"use strict";return function(e){const s={};Object.assign(s,{className:"variable",variants:[{begin:/\$[\w\d#@][\w\d_]*/},{begin:/\$\{/,end:/\}/,contains:[{begin:/:-/,contains:[s]}]}]});const t={className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},n={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,s,t]};t.contains.push(n);const a={begin:/\$\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,s]},i=e.SHEBANG({binary:"(fish|bash|zsh|sh|csh|ksh|tcsh|dash|scsh)",relevance:10}),c={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b-?[a-z\._]+\b/,keyword:"if then else elif fi for while in do done case esac function",literal:"true false",built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp",_:"-ne -eq -lt -gt -f -d -e -s -l -a"},contains:[i,e.SHEBANG(),c,a,e.HASH_COMMENT_MODE,n,{className:"",begin:/\\"/},{className:"string",begin:/'/,end:/'/},s]}}}()); +hljs.registerLanguage("c-like",function(){"use strict";return function(e){function t(e){return"(?:"+e+")?"}var n="(decltype\\(auto\\)|"+t("[a-zA-Z_]\\w*::")+"[a-zA-Z_]\\w*"+t("<.*?>")+")",r={className:"keyword",begin:"\\b[a-z\\d_]*_t\\b"},a={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},i={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},s={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{"meta-keyword":"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(a,{className:"meta-string"}),{className:"meta-string",begin:/<.*?>/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},o={className:"title",begin:t("[a-zA-Z_]\\w*::")+e.IDENT_RE,relevance:0},c=t("[a-zA-Z_]\\w*::")+e.IDENT_RE+"\\s*\\(",l={keyword:"int float while private char char8_t char16_t char32_t catch import module export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace unsigned long volatile static protected bool template mutable if public friend do goto auto void enum else break extern using asm case typeid wchar_t short reinterpret_cast|10 default double register explicit signed typename try this switch continue inline delete alignas alignof constexpr consteval constinit decltype concept co_await co_return co_yield requires noexcept static_assert thread_local restrict final override atomic_bool atomic_char atomic_schar atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong atomic_ullong new throw return and and_eq bitand bitor compl not not_eq or or_eq xor xor_eq",built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr _Bool complex _Complex imaginary _Imaginary",literal:"true false nullptr NULL"},d=[r,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,i,a],_={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:l,contains:d.concat([{begin:/\(/,end:/\)/,keywords:l,contains:d.concat(["self"]),relevance:0}]),relevance:0},u={className:"function",begin:"("+n+"[\\*&\\s]+)+"+c,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:l,illegal:/[^\w\s\*&:<>]/,contains:[{begin:"decltype\\(auto\\)",keywords:l,relevance:0},{begin:c,returnBegin:!0,contains:[o],relevance:0},{className:"params",begin:/\(/,end:/\)/,keywords:l,relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,i,r,{begin:/\(/,end:/\)/,keywords:l,relevance:0,contains:["self",e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,i,r]}]},r,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,s]};return{aliases:["c","cc","h","c++","h++","hpp","hh","hxx","cxx"],keywords:l,disableAutodetect:!0,illegal:"",keywords:l,contains:["self",r]},{begin:e.IDENT_RE+"::",keywords:l},{className:"class",beginKeywords:"class struct",end:/[{;:]/,contains:[{begin://,contains:["self"]},e.TITLE_MODE]}]),exports:{preprocessor:s,strings:a,keywords:l}}}}()); +hljs.registerLanguage("c",function(){"use strict";return function(e){var n=e.getLanguage("c-like").rawDefinition();return n.name="C",n.aliases=["c","h"],n}}()); +hljs.registerLanguage("coffeescript",function(){"use strict";const e=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],n=["true","false","null","undefined","NaN","Infinity"],a=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]);return function(r){var t={keyword:e.concat(["then","unless","until","loop","by","when","and","or","is","isnt","not"]).filter((e=>n=>!e.includes(n))(["var","const","let","function","static"])).join(" "),literal:n.concat(["yes","no","on","off"]).join(" "),built_in:a.concat(["npm","print"]).join(" ")},i="[A-Za-z$_][0-9A-Za-z$_]*",s={className:"subst",begin:/#\{/,end:/}/,keywords:t},o=[r.BINARY_NUMBER_MODE,r.inherit(r.C_NUMBER_MODE,{starts:{end:"(\\s*/)?",relevance:0}}),{className:"string",variants:[{begin:/'''/,end:/'''/,contains:[r.BACKSLASH_ESCAPE]},{begin:/'/,end:/'/,contains:[r.BACKSLASH_ESCAPE]},{begin:/"""/,end:/"""/,contains:[r.BACKSLASH_ESCAPE,s]},{begin:/"/,end:/"/,contains:[r.BACKSLASH_ESCAPE,s]}]},{className:"regexp",variants:[{begin:"///",end:"///",contains:[s,r.HASH_COMMENT_MODE]},{begin:"//[gim]{0,3}(?=\\W)",relevance:0},{begin:/\/(?![ *]).*?(?![\\]).\/[gim]{0,3}(?=\W)/}]},{begin:"@"+i},{subLanguage:"javascript",excludeBegin:!0,excludeEnd:!0,variants:[{begin:"```",end:"```"},{begin:"`",end:"`"}]}];s.contains=o;var c=r.inherit(r.TITLE_MODE,{begin:i}),l={className:"params",begin:"\\([^\\(]",returnBegin:!0,contains:[{begin:/\(/,end:/\)/,keywords:t,contains:["self"].concat(o)}]};return{name:"CoffeeScript",aliases:["coffee","cson","iced"],keywords:t,illegal:/\/\*/,contains:o.concat([r.COMMENT("###","###"),r.HASH_COMMENT_MODE,{className:"function",begin:"^\\s*"+i+"\\s*=\\s*(\\(.*\\))?\\s*\\B[-=]>",end:"[-=]>",returnBegin:!0,contains:[c,l]},{begin:/[:\(,=]\s*/,relevance:0,contains:[{className:"function",begin:"(\\(.*\\))?\\s*\\B[-=]>",end:"[-=]>",returnBegin:!0,contains:[l]}]},{className:"class",beginKeywords:"class",end:"$",illegal:/[:="\[\]]/,contains:[{beginKeywords:"extends",endsWithParent:!0,illegal:/[:="\[\]]/,contains:[c]},c]},{begin:i+":",end:":",returnBegin:!0,returnEnd:!0,relevance:0}])}}}()); +hljs.registerLanguage("cpp",function(){"use strict";return function(e){var t=e.getLanguage("c-like").rawDefinition();return t.disableAutodetect=!1,t.name="C++",t.aliases=["cc","c++","h++","hpp","hh","hxx","cxx"],t}}()); +hljs.registerLanguage("csharp",function(){"use strict";return function(e){var n={keyword:"abstract as base bool break byte case catch char checked const continue decimal default delegate do double enum event explicit extern finally fixed float for foreach goto if implicit in int interface internal is lock long object operator out override params private protected public readonly ref sbyte sealed short sizeof stackalloc static string struct switch this try typeof uint ulong unchecked unsafe ushort using virtual void volatile while add alias ascending async await by descending dynamic equals from get global group into join let nameof on orderby partial remove select set value var when where yield",literal:"null false true"},i=e.inherit(e.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),a={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},s={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},t=e.inherit(s,{illegal:/\n/}),l={className:"subst",begin:"{",end:"}",keywords:n},r=e.inherit(l,{illegal:/\n/}),c={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:"{{"},{begin:"}}"},e.BACKSLASH_ESCAPE,r]},o={className:"string",begin:/\$@"/,end:'"',contains:[{begin:"{{"},{begin:"}}"},{begin:'""'},l]},g=e.inherit(o,{illegal:/\n/,contains:[{begin:"{{"},{begin:"}}"},{begin:'""'},r]});l.contains=[o,c,s,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.C_BLOCK_COMMENT_MODE],r.contains=[g,c,t,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.inherit(e.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];var d={variants:[o,c,s,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},E={begin:"<",end:">",contains:[{beginKeywords:"in out"},i]},_=e.IDENT_RE+"(<"+e.IDENT_RE+"(\\s*,\\s*"+e.IDENT_RE+")*>)?(\\[\\])?",b={begin:"@"+e.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:n,illegal:/::/,contains:[e.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:"\x3c!--|--\x3e"},{begin:""}]}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{"meta-keyword":"if else elif endif define undef warning error line region endregion pragma checksum"}},d,a,{beginKeywords:"class interface",end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},i,E,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",end:/[{;=]/,illegal:/[^\s:]/,contains:[i,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"meta-string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+_+"\\s+)+"+e.IDENT_RE+"\\s*(\\<.+\\>)?\\s*\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:n,contains:[{begin:e.IDENT_RE+"\\s*(\\<.+\\>)?\\s*\\(",returnBegin:!0,contains:[e.TITLE_MODE,E],relevance:0},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:n,relevance:0,contains:[d,a,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},b]}}}()); +hljs.registerLanguage("css",function(){"use strict";return function(e){var n={begin:/(?:[A-Z\_\.\-]+|--[a-zA-Z0-9_-]+)\s*:/,returnBegin:!0,end:";",endsWithParent:!0,contains:[{className:"attribute",begin:/\S/,end:":",excludeEnd:!0,starts:{endsWithParent:!0,excludeEnd:!0,contains:[{begin:/[\w-]+\(/,returnBegin:!0,contains:[{className:"built_in",begin:/[\w-]+/},{begin:/\(/,end:/\)/,contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.CSS_NUMBER_MODE]}]},e.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,e.C_BLOCK_COMMENT_MODE,{className:"number",begin:"#[0-9A-Fa-f]+"},{className:"meta",begin:"!important"}]}}]};return{name:"CSS",case_insensitive:!0,illegal:/[=\/|'\$]/,contains:[e.C_BLOCK_COMMENT_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/},{className:"selector-class",begin:/\.[A-Za-z0-9_-]+/},{className:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},{className:"selector-pseudo",begin:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{begin:"@(page|font-face)",lexemes:"@[a-z-]+",keywords:"@page @font-face"},{begin:"@",end:"[{;]",illegal:/:/,returnBegin:!0,contains:[{className:"keyword",begin:/@\-?\w[\w]*(\-\w+)*/},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:"and or not only",contains:[{begin:/[a-z-]+:/,className:"attribute"},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0},{begin:"{",end:"}",illegal:/\S/,contains:[e.C_BLOCK_COMMENT_MODE,n]}]}}}()); +hljs.registerLanguage("diff",function(){"use strict";return function(e){return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,variants:[{begin:/^@@ +\-\d+,\d+ +\+\d+,\d+ +@@$/},{begin:/^\*\*\* +\d+,\d+ +\*\*\*\*$/},{begin:/^\-\-\- +\d+,\d+ +\-\-\-\-$/}]},{className:"comment",variants:[{begin:/Index: /,end:/$/},{begin:/={3,}/,end:/$/},{begin:/^\-{3}/,end:/$/},{begin:/^\*{3} /,end:/$/},{begin:/^\+{3}/,end:/$/},{begin:/^\*{15}$/}]},{className:"addition",begin:"^\\+",end:"$"},{className:"deletion",begin:"^\\-",end:"$"},{className:"addition",begin:"^\\!",end:"$"}]}}}()); +hljs.registerLanguage("go",function(){"use strict";return function(e){var n={keyword:"break default func interface select case map struct chan else goto package switch const fallthrough if range type continue for import return var go defer bool byte complex64 complex128 float32 float64 int8 int16 int32 int64 string uint8 uint16 uint32 uint64 int uint uintptr rune",literal:"true false iota nil",built_in:"append cap close complex copy imag len make new panic print println real recover delete"};return{name:"Go",aliases:["golang"],keywords:n,illegal:"e(n)).join("")}return function(a){var s={className:"number",relevance:0,variants:[{begin:/([\+\-]+)?[\d]+_[\d_]+/},{begin:a.NUMBER_RE}]},i=a.COMMENT();i.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];var t={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)}/}]},r={className:"literal",begin:/\bon|off|true|false|yes|no\b/},l={className:"string",contains:[a.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}]},c={begin:/\[/,end:/\]/,contains:[i,r,t,l,s,"self"],relevance:0},g="("+[/[A-Za-z0-9_-]+/,/"(\\"|[^"])*"/,/'[^']*'/].map(n=>e(n)).join("|")+")";return{name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/,contains:[i,{className:"section",begin:/\[+/,end:/\]+/},{begin:n(g,"(\\s*\\.\\s*",g,")*",n("(?=",/\s*=\s*[^#\s]/,")")),className:"attr",starts:{end:/$/,contains:[i,c,r,t,l,s]}}]}}}()); +hljs.registerLanguage("java",function(){"use strict";function e(e){return e?"string"==typeof e?e:e.source:null}function n(e){return a("(",e,")?")}function a(...n){return n.map(n=>e(n)).join("")}function s(...n){return"("+n.map(n=>e(n)).join("|")+")"}return function(e){var t="false synchronized int abstract float private char boolean var static null if const for true while long strictfp finally protected import native final void enum else break transient catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private module requires exports do",i={className:"meta",begin:"@[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},r=e=>a("[",e,"]+([",e,"_]*[",e,"]+)?"),c={className:"number",variants:[{begin:`\\b(0[bB]${r("01")})[lL]?`},{begin:`\\b(0${r("0-7")})[dDfFlL]?`},{begin:a(/\b0[xX]/,s(a(r("a-fA-F0-9"),/\./,r("a-fA-F0-9")),a(r("a-fA-F0-9"),/\.?/),a(/\./,r("a-fA-F0-9"))),/([pP][+-]?(\d+))?/,/[fFdDlL]?/)},{begin:a(/\b/,s(a(/\d*\./,r("\\d")),r("\\d")),/[eE][+-]?[\d]+[dDfF]?/)},{begin:a(/\b/,r(/\d/),n(/\.?/),n(r(/\d/)),/[dDfFlL]?/)}],relevance:0};return{name:"Java",aliases:["jsp"],keywords:t,illegal:/<\/|#/,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"class",beginKeywords:"class interface",end:/[{;=]/,excludeEnd:!0,keywords:"class interface",illegal:/[:"\[\]]/,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"new throw return else",relevance:0},{className:"function",begin:"([À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(<[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(\\s*,\\s*[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*)*>)?\\s+)+"+e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:t,contains:[{begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"params",begin:/\(/,end:/\)/,keywords:t,relevance:0,contains:[i,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},c,i]}}}()); +hljs.registerLanguage("javascript",function(){"use strict";const e=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],n=["true","false","null","undefined","NaN","Infinity"],a=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]);function s(e){return r("(?=",e,")")}function r(...e){return e.map(e=>(function(e){return e?"string"==typeof e?e:e.source:null})(e)).join("")}return function(t){var i="[A-Za-z$_][0-9A-Za-z$_]*",c={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/},o={$pattern:"[A-Za-z$_][0-9A-Za-z$_]*",keyword:e.join(" "),literal:n.join(" "),built_in:a.join(" ")},l={className:"number",variants:[{begin:"\\b(0[bB][01]+)n?"},{begin:"\\b(0[oO][0-7]+)n?"},{begin:t.C_NUMBER_RE+"n?"}],relevance:0},E={className:"subst",begin:"\\$\\{",end:"\\}",keywords:o,contains:[]},d={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,E],subLanguage:"xml"}},g={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,E],subLanguage:"css"}},u={className:"string",begin:"`",end:"`",contains:[t.BACKSLASH_ESCAPE,E]};E.contains=[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,d,g,u,l,t.REGEXP_MODE];var b=E.contains.concat([{begin:/\(/,end:/\)/,contains:["self"].concat(E.contains,[t.C_BLOCK_COMMENT_MODE,t.C_LINE_COMMENT_MODE])},t.C_BLOCK_COMMENT_MODE,t.C_LINE_COMMENT_MODE]),_={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,contains:b};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:o,contains:[t.SHEBANG({binary:"node",relevance:5}),{className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,d,g,u,t.C_LINE_COMMENT_MODE,t.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+",contains:[{className:"type",begin:"\\{",end:"\\}",relevance:0},{className:"variable",begin:i+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),t.C_BLOCK_COMMENT_MODE,l,{begin:r(/[{,\n]\s*/,s(r(/(((\/\/.*)|(\/\*(.|\n)*\*\/))\s*)*/,i+"\\s*:"))),relevance:0,contains:[{className:"attr",begin:i+s("\\s*:"),relevance:0}]},{begin:"("+t.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",contains:[t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,t.REGEXP_MODE,{className:"function",begin:"(\\([^(]*(\\([^(]*(\\([^(]*\\))?\\))?\\)|"+t.UNDERSCORE_IDENT_RE+")\\s*=>",returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:t.UNDERSCORE_IDENT_RE},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:b}]}]},{begin:/,/,relevance:0},{className:"",begin:/\s/,end:/\s*/,skip:!0},{variants:[{begin:"<>",end:""},{begin:c.begin,end:c.end}],subLanguage:"xml",contains:[{begin:c.begin,end:c.end,skip:!0,contains:["self"]}]}],relevance:0},{className:"function",beginKeywords:"function",end:/\{/,excludeEnd:!0,contains:[t.inherit(t.TITLE_MODE,{begin:i}),_],illegal:/\[|%/},{begin:/\$[(.]/},t.METHOD_GUARD,{className:"class",beginKeywords:"class",end:/[{;=]/,excludeEnd:!0,illegal:/[:"\[\]]/,contains:[{beginKeywords:"extends"},t.UNDERSCORE_TITLE_MODE]},{beginKeywords:"constructor",end:/\{/,excludeEnd:!0},{begin:"(get|set)\\s+(?="+i+"\\()",end:/{/,keywords:"get set",contains:[t.inherit(t.TITLE_MODE,{begin:i}),{begin:/\(\)/},_]}],illegal:/#(?!!)/}}}()); +hljs.registerLanguage("json",function(){"use strict";return function(n){var e={literal:"true false null"},i=[n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE],t=[n.QUOTE_STRING_MODE,n.C_NUMBER_MODE],a={end:",",endsWithParent:!0,excludeEnd:!0,contains:t,keywords:e},l={begin:"{",end:"}",contains:[{className:"attr",begin:/"/,end:/"/,contains:[n.BACKSLASH_ESCAPE],illegal:"\\n"},n.inherit(a,{begin:/:/})].concat(i),illegal:"\\S"},s={begin:"\\[",end:"\\]",contains:[n.inherit(a)],illegal:"\\S"};return t.push(l,s),i.forEach((function(n){t.push(n)})),{name:"JSON",contains:t,keywords:e,illegal:"\\S"}}}()); +hljs.registerLanguage("kotlin",function(){"use strict";return function(e){var n={keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual trait volatile transient native default",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},a={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@"},i={className:"subst",begin:"\\${",end:"}",contains:[e.C_NUMBER_MODE]},s={className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},t={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[s,i]},{begin:"'",end:"'",illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[e.BACKSLASH_ESCAPE,s,i]}]};i.contains.push(t);var r={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?"},l={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[e.inherit(t,{className:"meta-string"})]}]},c=e.COMMENT("/\\*","\\*/",{contains:[e.C_BLOCK_COMMENT_MODE]}),o={variants:[{className:"type",begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},d=o;return d.variants[1].contains=[o],o.variants[1].contains=[d],{name:"Kotlin",aliases:["kt"],keywords:n,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,c,{className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},a,r,l,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:n,illegal:/fun\s+(<.*>)?[^\s\(]+(\s+[^\s\(]+)\s*=/,relevance:5,contains:[{begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"type",begin://,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:n,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[o,e.C_LINE_COMMENT_MODE,c],relevance:0},e.C_LINE_COMMENT_MODE,c,r,l,t,e.C_NUMBER_MODE]},c]},{className:"class",beginKeywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},e.UNDERSCORE_TITLE_MODE,{className:"type",begin://,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,]|$/,excludeBegin:!0,returnEnd:!0},r,l]},t,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:"\n"},{className:"number",begin:"\\b(0[bB]([01]+[01_]+[01]+|[01]+)|0[xX]([a-fA-F0-9]+[a-fA-F0-9_]+[a-fA-F0-9]+|[a-fA-F0-9]+)|(([\\d]+[\\d_]+[\\d]+|[\\d]+)(\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))?|\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))([eE][-+]?\\d+)?)[lLfF]?",relevance:0}]}}}()); +hljs.registerLanguage("less",function(){"use strict";return function(e){var n="([\\w-]+|@{[\\w-]+})",a=[],s=[],t=function(e){return{className:"string",begin:"~?"+e+".*?"+e}},r=function(e,n,a){return{className:e,begin:n,relevance:a}},i={begin:"\\(",end:"\\)",contains:s,relevance:0};s.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,t("'"),t('"'),e.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},r("number","#[0-9A-Fa-f]+\\b"),i,r("variable","@@?[\\w-]+",10),r("variable","@{[\\w-]+}"),r("built_in","~?`[^`]*?`"),{className:"attribute",begin:"[\\w-]+\\s*:",end:":",returnBegin:!0,excludeEnd:!0},{className:"meta",begin:"!important"});var c=s.concat({begin:"{",end:"}",contains:a}),l={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(s)},o={begin:n+"\\s*:",returnBegin:!0,end:"[;}]",relevance:0,contains:[{className:"attribute",begin:n,end:":",excludeEnd:!0,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:s}}]},g={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",returnEnd:!0,contains:s,relevance:0}},d={className:"variable",variants:[{begin:"@[\\w-]+\\s*:",relevance:15},{begin:"@[\\w-]+"}],starts:{end:"[;}]",returnEnd:!0,contains:c}},b={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:n,end:"{"}],returnBegin:!0,returnEnd:!0,illegal:"[<='$\"]",relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,l,r("keyword","all\\b"),r("variable","@{[\\w-]+}"),r("selector-tag",n+"%?",0),r("selector-id","#"+n),r("selector-class","\\."+n,0),r("selector-tag","&",0),{className:"selector-attr",begin:"\\[",end:"\\]"},{className:"selector-pseudo",begin:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{begin:"\\(",end:"\\)",contains:c},{begin:"!important"}]};return a.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,g,d,o,b),{name:"Less",case_insensitive:!0,illegal:"[=>'/<($\"]",contains:a}}}()); +hljs.registerLanguage("lua",function(){"use strict";return function(e){var t={begin:"\\[=*\\[",end:"\\]=*\\]",contains:["self"]},a=[e.COMMENT("--(?!\\[=*\\[)","$"),e.COMMENT("--\\[=*\\[","\\]=*\\]",{contains:[t],relevance:10})];return{name:"Lua",keywords:{$pattern:e.UNDERSCORE_IDENT_RE,literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"},contains:a.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[e.inherit(e.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:a}].concat(a)},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string",begin:"\\[=*\\[",end:"\\]=*\\]",contains:[t],relevance:5}])}}}()); +hljs.registerLanguage("makefile",function(){"use strict";return function(e){var i={className:"variable",variants:[{begin:"\\$\\("+e.UNDERSCORE_IDENT_RE+"\\)",contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,contains:[{className:"meta",begin:"",relevance:10,contains:[a,i,t,s,{begin:"\\[",end:"\\]",contains:[{className:"meta",begin:"",contains:[a,s,i,t]}]}]},e.COMMENT("\x3c!--","--\x3e",{relevance:10}),{begin:"<\\!\\[CDATA\\[",end:"\\]\\]>",relevance:10},n,{className:"meta",begin:/<\?xml/,end:/\?>/,relevance:10},{className:"tag",begin:")",end:">",keywords:{name:"style"},contains:[c],starts:{end:"",returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:")",end:">",keywords:{name:"script"},contains:[c],starts:{end:"<\/script>",returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:"",contains:[{className:"name",begin:/[^\/><\s]+/,relevance:0},c]}]}}}()); +hljs.registerLanguage("markdown",function(){"use strict";return function(n){const e={begin:"<",end:">",subLanguage:"xml",relevance:0},a={begin:"\\[.+?\\][\\(\\[].*?[\\)\\]]",returnBegin:!0,contains:[{className:"string",begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0,relevance:0},{className:"link",begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}],relevance:10},i={className:"strong",contains:[],variants:[{begin:/_{2}/,end:/_{2}/},{begin:/\*{2}/,end:/\*{2}/}]},s={className:"emphasis",contains:[],variants:[{begin:/\*(?!\*)/,end:/\*/},{begin:/_(?!_)/,end:/_/,relevance:0}]};i.contains.push(s),s.contains.push(i);var c=[e,a];return i.contains=i.contains.concat(c),s.contains=s.contains.concat(c),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:c=c.concat(i,s)},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:c}]}]},e,{className:"bullet",begin:"^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},i,s,{className:"quote",begin:"^>\\s+",contains:c,end:"$"},{className:"code",variants:[{begin:"(`{3,})(.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})(.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},{begin:"^[-\\*]{3,}",end:"$"},a,{begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]}]}}}()); +hljs.registerLanguage("nginx",function(){"use strict";return function(e){var n={className:"variable",variants:[{begin:/\$\d+/},{begin:/\$\{/,end:/}/},{begin:"[\\$\\@]"+e.UNDERSCORE_IDENT_RE}]},a={endsWithParent:!0,keywords:{$pattern:"[a-z/_]+",literal:"on off yes no true false none blocked debug info notice warn error crit select break last permanent redirect kqueue rtsig epoll poll /dev/poll"},relevance:0,illegal:"=>",contains:[e.HASH_COMMENT_MODE,{className:"string",contains:[e.BACKSLASH_ESCAPE,n],variants:[{begin:/"/,end:/"/},{begin:/'/,end:/'/}]},{begin:"([a-z]+):/",end:"\\s",endsWithParent:!0,excludeEnd:!0,contains:[n]},{className:"regexp",contains:[e.BACKSLASH_ESCAPE,n],variants:[{begin:"\\s\\^",end:"\\s|{|;",returnEnd:!0},{begin:"~\\*?\\s+",end:"\\s|{|;",returnEnd:!0},{begin:"\\*(\\.[a-z\\-]+)+"},{begin:"([a-z\\-]+\\.)+\\*"}]},{className:"number",begin:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{className:"number",begin:"\\b\\d+[kKmMgGdshdwy]*\\b",relevance:0},n]};return{name:"Nginx config",aliases:["nginxconf"],contains:[e.HASH_COMMENT_MODE,{begin:e.UNDERSCORE_IDENT_RE+"\\s+{",returnBegin:!0,end:"{",contains:[{className:"section",begin:e.UNDERSCORE_IDENT_RE}],relevance:0},{begin:e.UNDERSCORE_IDENT_RE+"\\s",end:";|{",returnBegin:!0,contains:[{className:"attribute",begin:e.UNDERSCORE_IDENT_RE,starts:a}],relevance:0}],illegal:"[^\\s\\}]"}}}()); +hljs.registerLanguage("objectivec",function(){"use strict";return function(e){var n=/[a-zA-Z@][a-zA-Z0-9_]*/,_={$pattern:n,keyword:"@interface @class @protocol @implementation"};return{name:"Objective-C",aliases:["mm","objc","obj-c"],keywords:{$pattern:n,keyword:"int float while char export sizeof typedef const struct for union unsigned long volatile static bool mutable if do return goto void enum else break extern asm case short default double register explicit signed typename this switch continue wchar_t inline readonly assign readwrite self @synchronized id typeof nonatomic super unichar IBOutlet IBAction strong weak copy in out inout bycopy byref oneway __strong __weak __block __autoreleasing @private @protected @public @try @property @end @throw @catch @finally @autoreleasepool @synthesize @dynamic @selector @optional @required @encode @package @import @defs @compatibility_alias __bridge __bridge_transfer __bridge_retained __bridge_retain __covariant __contravariant __kindof _Nonnull _Nullable _Null_unspecified __FUNCTION__ __PRETTY_FUNCTION__ __attribute__ getter setter retain unsafe_unretained nonnull nullable null_unspecified null_resettable class instancetype NS_DESIGNATED_INITIALIZER NS_UNAVAILABLE NS_REQUIRES_SUPER NS_RETURNS_INNER_POINTER NS_INLINE NS_AVAILABLE NS_DEPRECATED NS_ENUM NS_OPTIONS NS_SWIFT_UNAVAILABLE NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_REFINED_FOR_SWIFT NS_SWIFT_NAME NS_SWIFT_NOTHROW NS_DURING NS_HANDLER NS_ENDHANDLER NS_VALUERETURN NS_VOIDRETURN",literal:"false true FALSE TRUE nil YES NO NULL",built_in:"BOOL dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once"},illegal:"/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+_.keyword.split(" ").join("|")+")\\b",end:"({|$)",excludeEnd:!0,keywords:_,contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE,relevance:0}]}}}()); +hljs.registerLanguage("perl",function(){"use strict";return function(e){var n={$pattern:/[\w.]+/,keyword:"getpwent getservent quotemeta msgrcv scalar kill dbmclose undef lc ma syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam rewinddir qq fileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent shutdown dump chomp connect getsockname die socketpair close flock exists index shmget sub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr unshift fcntl syscall goto getnetbyaddr join gmtime symlink semget splice x|0 getpeername recv log setsockopt cos last reverse gethostbyname getgrnam study formline endhostent times chop length gethostent getnetent pack getprotoent getservbyname rand mkdir pos chmod y|0 substr endnetent printf next open msgsnd readdir use unlink getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr untie rmdir prototype tell listen fork shmread ucfirst setprotoent else sysseek link getgrgid shmctl waitpid unpack getnetbyname reset chdir grep split require caller lcfirst until warn while values shift telldir getpwuid my getprotobynumber delete and sort uc defined srand accept package seekdir getprotobyname semop our rename seek if q|0 chroot sysread setpwent no crypt getc chown sqrt write setnetent setpriority foreach tie sin msgget map stat getlogin unless elsif truncate exec keys glob tied closedir ioctl socket readlink eval xor readline binmode setservent eof ord bind alarm pipe atan2 getgrent exp time push setgrent gt lt or ne m|0 break given say state when"},t={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:n},s={begin:"->{",end:"}"},r={variants:[{begin:/\$\d/},{begin:/[\$%@](\^\w\b|#\w+(::\w+)*|{\w+}|\w+(::\w*)*)/},{begin:/[\$%@][^\s\w{]/,relevance:0}]},i=[e.BACKSLASH_ESCAPE,t,r],a=[r,e.HASH_COMMENT_MODE,e.COMMENT("^\\=\\w","\\=cut",{endsWithParent:!0}),s,{className:"string",contains:i,variants:[{begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*\\<",end:"\\>",relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE]},{begin:"{\\w+}",contains:[],relevance:0},{begin:"-?\\w+\\s*\\=\\>",contains:[],relevance:0}]},{className:"number",begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},{begin:"(\\/\\/|"+e.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[e.HASH_COMMENT_MODE,{className:"regexp",begin:"(s|tr|y)/(\\\\.|[^/])*/(\\\\.|[^/])*/[a-z]*",relevance:10},{className:"regexp",begin:"(m|qr)?/",end:"/[a-z]*",contains:[e.BACKSLASH_ESCAPE],relevance:0}]},{className:"function",beginKeywords:"sub",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return t.contains=a,s.contains=a,{name:"Perl",aliases:["pl","pm"],keywords:n,contains:a}}}()); +hljs.registerLanguage("php",function(){"use strict";return function(e){var r={begin:"\\$+[a-zA-Z_-ÿ][a-zA-Z0-9_-ÿ]*"},t={className:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?[=]?/},{begin:/\?>/}]},a={className:"string",contains:[e.BACKSLASH_ESCAPE,t],variants:[{begin:'b"',end:'"'},{begin:"b'",end:"'"},e.inherit(e.APOS_STRING_MODE,{illegal:null}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null})]},n={variants:[e.BINARY_NUMBER_MODE,e.C_NUMBER_MODE]},i={keyword:"__CLASS__ __DIR__ __FILE__ __FUNCTION__ __LINE__ __METHOD__ __NAMESPACE__ __TRAIT__ die echo exit include include_once print require require_once array abstract and as binary bool boolean break callable case catch class clone const continue declare default do double else elseif empty enddeclare endfor endforeach endif endswitch endwhile eval extends final finally float for foreach from global goto if implements instanceof insteadof int integer interface isset iterable list new object or private protected public real return string switch throw trait try unset use var void while xor yield",literal:"false null true",built_in:"Error|0 AppendIterator ArgumentCountError ArithmeticError ArrayIterator ArrayObject AssertionError BadFunctionCallException BadMethodCallException CachingIterator CallbackFilterIterator CompileError Countable DirectoryIterator DivisionByZeroError DomainException EmptyIterator ErrorException Exception FilesystemIterator FilterIterator GlobIterator InfiniteIterator InvalidArgumentException IteratorIterator LengthException LimitIterator LogicException MultipleIterator NoRewindIterator OutOfBoundsException OutOfRangeException OuterIterator OverflowException ParentIterator ParseError RangeException RecursiveArrayIterator RecursiveCachingIterator RecursiveCallbackFilterIterator RecursiveDirectoryIterator RecursiveFilterIterator RecursiveIterator RecursiveIteratorIterator RecursiveRegexIterator RecursiveTreeIterator RegexIterator RuntimeException SeekableIterator SplDoublyLinkedList SplFileInfo SplFileObject SplFixedArray SplHeap SplMaxHeap SplMinHeap SplObjectStorage SplObserver SplObserver SplPriorityQueue SplQueue SplStack SplSubject SplSubject SplTempFileObject TypeError UnderflowException UnexpectedValueException ArrayAccess Closure Generator Iterator IteratorAggregate Serializable Throwable Traversable WeakReference Directory __PHP_Incomplete_Class parent php_user_filter self static stdClass"};return{aliases:["php","php3","php4","php5","php6","php7"],case_insensitive:!0,keywords:i,contains:[e.HASH_COMMENT_MODE,e.COMMENT("//","$",{contains:[t]}),e.COMMENT("/\\*","\\*/",{contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),e.COMMENT("__halt_compiler.+?;",!1,{endsWithParent:!0,keywords:"__halt_compiler"}),{className:"string",begin:/<<<['"]?\w+['"]?$/,end:/^\w+;?$/,contains:[e.BACKSLASH_ESCAPE,{className:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]}]},t,{className:"keyword",begin:/\$this\b/},r,{begin:/(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/},{className:"function",beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[e.UNDERSCORE_TITLE_MODE,{className:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:i,contains:["self",r,e.C_BLOCK_COMMENT_MODE,a,n]}]},{className:"class",beginKeywords:"class interface",end:"{",excludeEnd:!0,illegal:/[:\(\$"]/,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",end:";",illegal:/[\.']/,contains:[e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"use",end:";",contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"=>"},a,n]}}}()); +hljs.registerLanguage("php-template",function(){"use strict";return function(n){return{name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},n.inherit(n.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),n.inherit(n.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}}}()); +hljs.registerLanguage("plaintext",function(){"use strict";return function(t){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}}()); +hljs.registerLanguage("properties",function(){"use strict";return function(e){var n="[ \\t\\f]*",t="("+n+"[:=]"+n+"|[ \\t\\f]+)",a="([^\\\\:= \\t\\f\\n]|\\\\.)+",s={end:t,relevance:0,starts:{className:"string",end:/$/,relevance:0,contains:[{begin:"\\\\\\n"}]}};return{name:".properties",case_insensitive:!0,illegal:/\S/,contains:[e.COMMENT("^\\s*[!#]","$"),{begin:"([^\\\\\\W:= \\t\\f\\n]|\\\\.)+"+t,returnBegin:!0,contains:[{className:"attr",begin:"([^\\\\\\W:= \\t\\f\\n]|\\\\.)+",endsParent:!0,relevance:0}],starts:s},{begin:a+t,returnBegin:!0,relevance:0,contains:[{className:"meta",begin:a,endsParent:!0,relevance:0}],starts:s},{className:"attr",relevance:0,begin:a+n+"$"}]}}}()); +hljs.registerLanguage("python",function(){"use strict";return function(e){var n={keyword:"and elif is global as in if from raise for except finally print import pass return exec else break not with class assert yield try while continue del or def lambda async await nonlocal|10",built_in:"Ellipsis NotImplemented",literal:"False None True"},a={className:"meta",begin:/^(>>>|\.\.\.) /},i={className:"subst",begin:/\{/,end:/\}/,keywords:n,illegal:/#/},s={begin:/\{\{/,relevance:0},r={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/(u|b)?r?'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,a],relevance:10},{begin:/(u|b)?r?"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,a],relevance:10},{begin:/(fr|rf|f)'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,a,s,i]},{begin:/(fr|rf|f)"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,a,s,i]},{begin:/(u|r|ur)'/,end:/'/,relevance:10},{begin:/(u|r|ur)"/,end:/"/,relevance:10},{begin:/(b|br)'/,end:/'/},{begin:/(b|br)"/,end:/"/},{begin:/(fr|rf|f)'/,end:/'/,contains:[e.BACKSLASH_ESCAPE,s,i]},{begin:/(fr|rf|f)"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,s,i]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},l={className:"number",relevance:0,variants:[{begin:e.BINARY_NUMBER_RE+"[lLjJ]?"},{begin:"\\b(0o[0-7]+)[lLjJ]?"},{begin:e.C_NUMBER_RE+"[lLjJ]?"}]},t={className:"params",variants:[{begin:/\(\s*\)/,skip:!0,className:null},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,contains:["self",a,l,r,e.HASH_COMMENT_MODE]}]};return i.contains=[r,l,a],{name:"Python",aliases:["py","gyp","ipython"],keywords:n,illegal:/(<\/|->|\?)|=>/,contains:[a,l,{beginKeywords:"if",relevance:0},r,e.HASH_COMMENT_MODE,{variants:[{className:"function",beginKeywords:"def"},{className:"class",beginKeywords:"class"}],end:/:/,illegal:/[${=;\n,]/,contains:[e.UNDERSCORE_TITLE_MODE,t,{begin:/->/,endsWithParent:!0,keywords:"None"}]},{className:"meta",begin:/^[\t ]*@/,end:/$/},{begin:/\b(print|exec)\(/}]}}}()); +hljs.registerLanguage("python-repl",function(){"use strict";return function(n){return{aliases:["pycon"],contains:[{className:"meta",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}}}()); +hljs.registerLanguage("ruby",function(){"use strict";return function(e){var n="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?",a={keyword:"and then defined module in return redo if BEGIN retry end for self when next until do begin unless END rescue else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor",literal:"true false nil"},s={className:"doctag",begin:"@[A-Za-z]+"},i={begin:"#<",end:">"},r=[e.COMMENT("#","$",{contains:[s]}),e.COMMENT("^\\=begin","^\\=end",{contains:[s],relevance:10}),e.COMMENT("^__END__","\\n$")],c={className:"subst",begin:"#\\{",end:"}",keywords:a},t={className:"string",contains:[e.BACKSLASH_ESCAPE,c],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:"%[qQwWx]?\\(",end:"\\)"},{begin:"%[qQwWx]?\\[",end:"\\]"},{begin:"%[qQwWx]?{",end:"}"},{begin:"%[qQwWx]?<",end:">"},{begin:"%[qQwWx]?/",end:"/"},{begin:"%[qQwWx]?%",end:"%"},{begin:"%[qQwWx]?-",end:"-"},{begin:"%[qQwWx]?\\|",end:"\\|"},{begin:/\B\?(\\\d{1,3}|\\x[A-Fa-f0-9]{1,2}|\\u[A-Fa-f0-9]{4}|\\?\S)\b/},{begin:/<<[-~]?'?(\w+)(?:.|\n)*?\n\s*\1\b/,returnBegin:!0,contains:[{begin:/<<[-~]?'?/},e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[e.BACKSLASH_ESCAPE,c]})]}]},b={className:"params",begin:"\\(",end:"\\)",endsParent:!0,keywords:a},d=[t,i,{className:"class",beginKeywords:"class module",end:"$|;",illegal:/=/,contains:[e.inherit(e.TITLE_MODE,{begin:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?"}),{begin:"<\\s*",contains:[{begin:"("+e.IDENT_RE+"::)?"+e.IDENT_RE}]}].concat(r)},{className:"function",beginKeywords:"def",end:"$|;",contains:[e.inherit(e.TITLE_MODE,{begin:n}),b].concat(r)},{begin:e.IDENT_RE+"::"},{className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"(\\!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[t,{begin:n}],relevance:0},{className:"number",begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},{begin:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{className:"params",begin:/\|/,end:/\|/,keywords:a},{begin:"("+e.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[i,{className:"regexp",contains:[e.BACKSLASH_ESCAPE,c],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:"%r{",end:"}[a-z]*"},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(r),relevance:0}].concat(r);c.contains=d,b.contains=d;var g=[{begin:/^\s*=>/,starts:{end:"$",contains:d}},{className:"meta",begin:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+>|(\\w+-)?\\d+\\.\\d+\\.\\d(p\\d+)?[^>]+>)",starts:{end:"$",contains:d}}];return{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:a,illegal:/\/\*/,contains:r.concat(g).concat(d)}}}()); +hljs.registerLanguage("rust",function(){"use strict";return function(e){var n="([ui](8|16|32|64|128|size)|f(32|64))?",t="drop i8 i16 i32 i64 i128 isize u8 u16 u32 u64 u128 usize f32 f64 str char bool Box Option Result String Vec Copy Send Sized Sync Drop Fn FnMut FnOnce ToOwned Clone Debug PartialEq PartialOrd Eq Ord AsRef AsMut Into From Default Iterator Extend IntoIterator DoubleEndedIterator ExactSizeIterator SliceConcatExt ToString assert! assert_eq! bitflags! bytes! cfg! col! concat! concat_idents! debug_assert! debug_assert_eq! env! panic! file! format! format_args! include_bin! include_str! line! local_data_key! module_path! option_env! print! println! select! stringify! try! unimplemented! unreachable! vec! write! writeln! macro_rules! assert_ne! debug_assert_ne!";return{name:"Rust",aliases:["rs"],keywords:{$pattern:e.IDENT_RE+"!?",keyword:"abstract as async await become box break const continue crate do dyn else enum extern false final fn for if impl in let loop macro match mod move mut override priv pub ref return self Self static struct super trait true try type typeof unsafe unsized use virtual where while yield",literal:"true false Some None Ok Err",built_in:t},illegal:""}]}}}()); +hljs.registerLanguage("scss",function(){"use strict";return function(e){var t={className:"variable",begin:"(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b"},i={className:"number",begin:"#[0-9A-Fa-f]+"};return e.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,e.C_BLOCK_COMMENT_MODE,{name:"SCSS",case_insensitive:!0,illegal:"[=/|']",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"selector-id",begin:"\\#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},{className:"selector-attr",begin:"\\[",end:"\\]",illegal:"$"},{className:"selector-tag",begin:"\\b(a|abbr|acronym|address|area|article|aside|audio|b|base|big|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|command|datalist|dd|del|details|dfn|div|dl|dt|em|embed|fieldset|figcaption|figure|footer|form|frame|frameset|(h[1-6])|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|keygen|label|legend|li|link|map|mark|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|pre|progress|q|rp|rt|ruby|samp|script|section|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|tt|ul|var|video)\\b",relevance:0},{className:"selector-pseudo",begin:":(visited|valid|root|right|required|read-write|read-only|out-range|optional|only-of-type|only-child|nth-of-type|nth-last-of-type|nth-last-child|nth-child|not|link|left|last-of-type|last-child|lang|invalid|indeterminate|in-range|hover|focus|first-of-type|first-line|first-letter|first-child|first|enabled|empty|disabled|default|checked|before|after|active)"},{className:"selector-pseudo",begin:"::(after|before|choices|first-letter|first-line|repeat-index|repeat-item|selection|value)"},t,{className:"attribute",begin:"\\b(src|z-index|word-wrap|word-spacing|word-break|width|widows|white-space|visibility|vertical-align|unicode-bidi|transition-timing-function|transition-property|transition-duration|transition-delay|transition|transform-style|transform-origin|transform|top|text-underline-position|text-transform|text-shadow|text-rendering|text-overflow|text-indent|text-decoration-style|text-decoration-line|text-decoration-color|text-decoration|text-align-last|text-align|tab-size|table-layout|right|resize|quotes|position|pointer-events|perspective-origin|perspective|page-break-inside|page-break-before|page-break-after|padding-top|padding-right|padding-left|padding-bottom|padding|overflow-y|overflow-x|overflow-wrap|overflow|outline-width|outline-style|outline-offset|outline-color|outline|orphans|order|opacity|object-position|object-fit|normal|none|nav-up|nav-right|nav-left|nav-index|nav-down|min-width|min-height|max-width|max-height|mask|marks|margin-top|margin-right|margin-left|margin-bottom|margin|list-style-type|list-style-position|list-style-image|list-style|line-height|letter-spacing|left|justify-content|initial|inherit|ime-mode|image-orientation|image-resolution|image-rendering|icon|hyphens|height|font-weight|font-variant-ligatures|font-variant|font-style|font-stretch|font-size-adjust|font-size|font-language-override|font-kerning|font-feature-settings|font-family|font|float|flex-wrap|flex-shrink|flex-grow|flex-flow|flex-direction|flex-basis|flex|filter|empty-cells|display|direction|cursor|counter-reset|counter-increment|content|column-width|column-span|column-rule-width|column-rule-style|column-rule-color|column-rule|column-gap|column-fill|column-count|columns|color|clip-path|clip|clear|caption-side|break-inside|break-before|break-after|box-sizing|box-shadow|box-decoration-break|bottom|border-width|border-top-width|border-top-style|border-top-right-radius|border-top-left-radius|border-top-color|border-top|border-style|border-spacing|border-right-width|border-right-style|border-right-color|border-right|border-radius|border-left-width|border-left-style|border-left-color|border-left|border-image-width|border-image-source|border-image-slice|border-image-repeat|border-image-outset|border-image|border-color|border-collapse|border-bottom-width|border-bottom-style|border-bottom-right-radius|border-bottom-left-radius|border-bottom-color|border-bottom|border|background-size|background-repeat|background-position|background-origin|background-image|background-color|background-clip|background-attachment|background-blend-mode|background|backface-visibility|auto|animation-timing-function|animation-play-state|animation-name|animation-iteration-count|animation-fill-mode|animation-duration|animation-direction|animation-delay|animation|align-self|align-items|align-content)\\b",illegal:"[^\\s]"},{begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{begin:":",end:";",contains:[t,i,e.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{className:"meta",begin:"!important"}]},{begin:"@(page|font-face)",lexemes:"@[a-z-]+",keywords:"@page @font-face"},{begin:"@",end:"[{;]",returnBegin:!0,keywords:"and or not only",contains:[{begin:"@[a-z-]+",className:"keyword"},t,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,i,e.CSS_NUMBER_MODE]}]}}}()); +hljs.registerLanguage("shell",function(){"use strict";return function(s){return{name:"Shell Session",aliases:["console"],contains:[{className:"meta",begin:"^\\s{0,3}[/\\w\\d\\[\\]()@-]*[>%$#]",starts:{end:"$",subLanguage:"bash"}}]}}}()); +hljs.registerLanguage("sql",function(){"use strict";return function(e){var t=e.COMMENT("--","$");return{name:"SQL",case_insensitive:!0,illegal:/[<>{}*]/,contains:[{beginKeywords:"begin end start commit rollback savepoint lock alter create drop rename call delete do handler insert load replace select truncate update set show pragma grant merge describe use explain help declare prepare execute deallocate release unlock purge reset change stop analyze cache flush optimize repair kill install uninstall checksum restore check backup revoke comment values with",end:/;/,endsWithParent:!0,keywords:{$pattern:/[\w\.]+/,keyword:"as abort abs absolute acc acce accep accept access accessed accessible account acos action activate add addtime admin administer advanced advise aes_decrypt aes_encrypt after agent aggregate ali alia alias all allocate allow alter always analyze ancillary and anti any anydata anydataset anyschema anytype apply archive archived archivelog are as asc ascii asin assembly assertion associate asynchronous at atan atn2 attr attri attrib attribu attribut attribute attributes audit authenticated authentication authid authors auto autoallocate autodblink autoextend automatic availability avg backup badfile basicfile before begin beginning benchmark between bfile bfile_base big bigfile bin binary_double binary_float binlog bit_and bit_count bit_length bit_or bit_xor bitmap blob_base block blocksize body both bound bucket buffer_cache buffer_pool build bulk by byte byteordermark bytes cache caching call calling cancel capacity cascade cascaded case cast catalog category ceil ceiling chain change changed char_base char_length character_length characters characterset charindex charset charsetform charsetid check checksum checksum_agg child choose chr chunk class cleanup clear client clob clob_base clone close cluster_id cluster_probability cluster_set clustering coalesce coercibility col collate collation collect colu colum column column_value columns columns_updated comment commit compact compatibility compiled complete composite_limit compound compress compute concat concat_ws concurrent confirm conn connec connect connect_by_iscycle connect_by_isleaf connect_by_root connect_time connection consider consistent constant constraint constraints constructor container content contents context contributors controlfile conv convert convert_tz corr corr_k corr_s corresponding corruption cos cost count count_big counted covar_pop covar_samp cpu_per_call cpu_per_session crc32 create creation critical cross cube cume_dist curdate current current_date current_time current_timestamp current_user cursor curtime customdatum cycle data database databases datafile datafiles datalength date_add date_cache date_format date_sub dateadd datediff datefromparts datename datepart datetime2fromparts day day_to_second dayname dayofmonth dayofweek dayofyear days db_role_change dbtimezone ddl deallocate declare decode decompose decrement decrypt deduplicate def defa defau defaul default defaults deferred defi defin define degrees delayed delegate delete delete_all delimited demand dense_rank depth dequeue des_decrypt des_encrypt des_key_file desc descr descri describ describe descriptor deterministic diagnostics difference dimension direct_load directory disable disable_all disallow disassociate discardfile disconnect diskgroup distinct distinctrow distribute distributed div do document domain dotnet double downgrade drop dumpfile duplicate duration each edition editionable editions element ellipsis else elsif elt empty enable enable_all enclosed encode encoding encrypt end end-exec endian enforced engine engines enqueue enterprise entityescaping eomonth error errors escaped evalname evaluate event eventdata events except exception exceptions exchange exclude excluding execu execut execute exempt exists exit exp expire explain explode export export_set extended extent external external_1 external_2 externally extract failed failed_login_attempts failover failure far fast feature_set feature_value fetch field fields file file_name_convert filesystem_like_logging final finish first first_value fixed flash_cache flashback floor flush following follows for forall force foreign form forma format found found_rows freelist freelists freepools fresh from from_base64 from_days ftp full function general generated get get_format get_lock getdate getutcdate global global_name globally go goto grant grants greatest group group_concat group_id grouping grouping_id groups gtid_subtract guarantee guard handler hash hashkeys having hea head headi headin heading heap help hex hierarchy high high_priority hosts hour hours http id ident_current ident_incr ident_seed identified identity idle_time if ifnull ignore iif ilike ilm immediate import in include including increment index indexes indexing indextype indicator indices inet6_aton inet6_ntoa inet_aton inet_ntoa infile initial initialized initially initrans inmemory inner innodb input insert install instance instantiable instr interface interleaved intersect into invalidate invisible is is_free_lock is_ipv4 is_ipv4_compat is_not is_not_null is_used_lock isdate isnull isolation iterate java join json json_exists keep keep_duplicates key keys kill language large last last_day last_insert_id last_value lateral lax lcase lead leading least leaves left len lenght length less level levels library like like2 like4 likec limit lines link list listagg little ln load load_file lob lobs local localtime localtimestamp locate locator lock locked log log10 log2 logfile logfiles logging logical logical_reads_per_call logoff logon logs long loop low low_priority lower lpad lrtrim ltrim main make_set makedate maketime managed management manual map mapping mask master master_pos_wait match matched materialized max maxextents maximize maxinstances maxlen maxlogfiles maxloghistory maxlogmembers maxsize maxtrans md5 measures median medium member memcompress memory merge microsecond mid migration min minextents minimum mining minus minute minutes minvalue missing mod mode model modification modify module monitoring month months mount move movement multiset mutex name name_const names nan national native natural nav nchar nclob nested never new newline next nextval no no_write_to_binlog noarchivelog noaudit nobadfile nocheck nocompress nocopy nocycle nodelay nodiscardfile noentityescaping noguarantee nokeep nologfile nomapping nomaxvalue nominimize nominvalue nomonitoring none noneditionable nonschema noorder nopr nopro noprom nopromp noprompt norely noresetlogs noreverse normal norowdependencies noschemacheck noswitch not nothing notice notnull notrim novalidate now nowait nth_value nullif nulls num numb numbe nvarchar nvarchar2 object ocicoll ocidate ocidatetime ociduration ociinterval ociloblocator ocinumber ociref ocirefcursor ocirowid ocistring ocitype oct octet_length of off offline offset oid oidindex old on online only opaque open operations operator optimal optimize option optionally or oracle oracle_date oradata ord ordaudio orddicom orddoc order ordimage ordinality ordvideo organization orlany orlvary out outer outfile outline output over overflow overriding package pad parallel parallel_enable parameters parent parse partial partition partitions pascal passing password password_grace_time password_lock_time password_reuse_max password_reuse_time password_verify_function patch path patindex pctincrease pctthreshold pctused pctversion percent percent_rank percentile_cont percentile_disc performance period period_add period_diff permanent physical pi pipe pipelined pivot pluggable plugin policy position post_transaction pow power pragma prebuilt precedes preceding precision prediction prediction_cost prediction_details prediction_probability prediction_set prepare present preserve prior priority private private_sga privileges procedural procedure procedure_analyze processlist profiles project prompt protection public publishingservername purge quarter query quick quiesce quota quotename radians raise rand range rank raw read reads readsize rebuild record records recover recovery recursive recycle redo reduced ref reference referenced references referencing refresh regexp_like register regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy reject rekey relational relative relaylog release release_lock relies_on relocate rely rem remainder rename repair repeat replace replicate replication required reset resetlogs resize resource respect restore restricted result result_cache resumable resume retention return returning returns reuse reverse revoke right rlike role roles rollback rolling rollup round row row_count rowdependencies rowid rownum rows rtrim rules safe salt sample save savepoint sb1 sb2 sb4 scan schema schemacheck scn scope scroll sdo_georaster sdo_topo_geometry search sec_to_time second seconds section securefile security seed segment select self semi sequence sequential serializable server servererror session session_user sessions_per_user set sets settings sha sha1 sha2 share shared shared_pool short show shrink shutdown si_averagecolor si_colorhistogram si_featurelist si_positionalcolor si_stillimage si_texture siblings sid sign sin size size_t sizes skip slave sleep smalldatetimefromparts smallfile snapshot some soname sort soundex source space sparse spfile split sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_small_result sql_variant_property sqlcode sqldata sqlerror sqlname sqlstate sqrt square standalone standby start starting startup statement static statistics stats_binomial_test stats_crosstab stats_ks_test stats_mode stats_mw_test stats_one_way_anova stats_t_test_ stats_t_test_indep stats_t_test_one stats_t_test_paired stats_wsr_test status std stddev stddev_pop stddev_samp stdev stop storage store stored str str_to_date straight_join strcmp strict string struct stuff style subdate subpartition subpartitions substitutable substr substring subtime subtring_index subtype success sum suspend switch switchoffset switchover sync synchronous synonym sys sys_xmlagg sysasm sysaux sysdate sysdatetimeoffset sysdba sysoper system system_user sysutcdatetime table tables tablespace tablesample tan tdo template temporary terminated tertiary_weights test than then thread through tier ties time time_format time_zone timediff timefromparts timeout timestamp timestampadd timestampdiff timezone_abbr timezone_minute timezone_region to to_base64 to_date to_days to_seconds todatetimeoffset trace tracking transaction transactional translate translation treat trigger trigger_nestlevel triggers trim truncate try_cast try_convert try_parse type ub1 ub2 ub4 ucase unarchived unbounded uncompress under undo unhex unicode uniform uninstall union unique unix_timestamp unknown unlimited unlock unnest unpivot unrecoverable unsafe unsigned until untrusted unusable unused update updated upgrade upped upper upsert url urowid usable usage use use_stored_outlines user user_data user_resources users using utc_date utc_timestamp uuid uuid_short validate validate_password_strength validation valist value values var var_samp varcharc vari varia variab variabl variable variables variance varp varraw varrawc varray verify version versions view virtual visible void wait wallet warning warnings week weekday weekofyear wellformed when whene whenev wheneve whenever where while whitespace window with within without work wrapped xdb xml xmlagg xmlattributes xmlcast xmlcolattval xmlelement xmlexists xmlforest xmlindex xmlnamespaces xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltype xor year year_to_month years yearweek",literal:"true false null unknown",built_in:"array bigint binary bit blob bool boolean char character date dec decimal float int int8 integer interval number numeric real record serial serial8 smallint text time timestamp tinyint varchar varchar2 varying void"},contains:[{className:"string",begin:"'",end:"'",contains:[{begin:"''"}]},{className:"string",begin:'"',end:'"',contains:[{begin:'""'}]},{className:"string",begin:"`",end:"`"},e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,t,e.HASH_COMMENT_MODE]},e.C_BLOCK_COMMENT_MODE,t,e.HASH_COMMENT_MODE]}}}()); +hljs.registerLanguage("swift",function(){"use strict";return function(e){var i={keyword:"#available #colorLiteral #column #else #elseif #endif #file #fileLiteral #function #if #imageLiteral #line #selector #sourceLocation _ __COLUMN__ __FILE__ __FUNCTION__ __LINE__ Any as as! as? associatedtype associativity break case catch class continue convenience default defer deinit didSet do dynamic dynamicType else enum extension fallthrough false fileprivate final for func get guard if import in indirect infix init inout internal is lazy left let mutating nil none nonmutating open operator optional override postfix precedence prefix private protocol Protocol public repeat required rethrows return right self Self set static struct subscript super switch throw throws true try try! try? Type typealias unowned var weak where while willSet",literal:"true false nil",built_in:"abs advance alignof alignofValue anyGenerator assert assertionFailure bridgeFromObjectiveC bridgeFromObjectiveCUnconditional bridgeToObjectiveC bridgeToObjectiveCUnconditional c compactMap contains count countElements countLeadingZeros debugPrint debugPrintln distance dropFirst dropLast dump encodeBitsAsWords enumerate equal fatalError filter find getBridgedObjectiveCType getVaList indices insertionSort isBridgedToObjectiveC isBridgedVerbatimToObjectiveC isUniquelyReferenced isUniquelyReferencedNonObjC join lazy lexicographicalCompare map max maxElement min minElement numericCast overlaps partition posix precondition preconditionFailure print println quickSort readLine reduce reflect reinterpretCast reverse roundUpToAlignment sizeof sizeofValue sort split startsWith stride strideof strideofValue swap toString transcode underestimateCount unsafeAddressOf unsafeBitCast unsafeDowncast unsafeUnwrap unsafeReflect withExtendedLifetime withObjectAtPlusZero withUnsafePointer withUnsafePointerToObject withUnsafeMutablePointer withUnsafeMutablePointers withUnsafePointer withUnsafePointers withVaList zip"},n=e.COMMENT("/\\*","\\*/",{contains:["self"]}),t={className:"subst",begin:/\\\(/,end:"\\)",keywords:i,contains:[]},a={className:"string",contains:[e.BACKSLASH_ESCAPE,t],variants:[{begin:/"""/,end:/"""/},{begin:/"/,end:/"/}]},r={className:"number",begin:"\\b([\\d_]+(\\.[\\deE_]+)?|0x[a-fA-F0-9_]+(\\.[a-fA-F0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b",relevance:0};return t.contains=[r],{name:"Swift",keywords:i,contains:[a,e.C_LINE_COMMENT_MODE,n,{className:"type",begin:"\\b[A-Z][\\wÀ-ʸ']*[!?]"},{className:"type",begin:"\\b[A-Z][\\wÀ-ʸ']*",relevance:0},r,{className:"function",beginKeywords:"func",end:"{",excludeEnd:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/[A-Za-z$_][0-9A-Za-z$_]*/}),{begin://},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:i,contains:["self",r,a,e.C_BLOCK_COMMENT_MODE,{begin:":"}],illegal:/["']/}],illegal:/\[|%/},{className:"class",beginKeywords:"struct protocol class extension enum",keywords:i,end:"\\{",excludeEnd:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/})]},{className:"meta",begin:"(@discardableResult|@warn_unused_result|@exported|@lazy|@noescape|@NSCopying|@NSManaged|@objc|@objcMembers|@convention|@required|@noreturn|@IBAction|@IBDesignable|@IBInspectable|@IBOutlet|@infix|@prefix|@postfix|@autoclosure|@testable|@available|@nonobjc|@NSApplicationMain|@UIApplicationMain|@dynamicMemberLookup|@propertyWrapper)\\b"},{beginKeywords:"import",end:/$/,contains:[e.C_LINE_COMMENT_MODE,n]}]}}}()); +hljs.registerLanguage("typescript",function(){"use strict";const e=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],n=["true","false","null","undefined","NaN","Infinity"],a=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]);return function(r){var t={$pattern:"[A-Za-z$_][0-9A-Za-z$_]*",keyword:e.concat(["type","namespace","typedef","interface","public","private","protected","implements","declare","abstract","readonly"]).join(" "),literal:n.join(" "),built_in:a.concat(["any","void","number","boolean","string","object","never","enum"]).join(" ")},s={className:"meta",begin:"@[A-Za-z$_][0-9A-Za-z$_]*"},i={className:"number",variants:[{begin:"\\b(0[bB][01]+)n?"},{begin:"\\b(0[oO][0-7]+)n?"},{begin:r.C_NUMBER_RE+"n?"}],relevance:0},o={className:"subst",begin:"\\$\\{",end:"\\}",keywords:t,contains:[]},c={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[r.BACKSLASH_ESCAPE,o],subLanguage:"xml"}},l={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[r.BACKSLASH_ESCAPE,o],subLanguage:"css"}},E={className:"string",begin:"`",end:"`",contains:[r.BACKSLASH_ESCAPE,o]};o.contains=[r.APOS_STRING_MODE,r.QUOTE_STRING_MODE,c,l,E,i,r.REGEXP_MODE];var d={begin:"\\(",end:/\)/,keywords:t,contains:["self",r.QUOTE_STRING_MODE,r.APOS_STRING_MODE,r.NUMBER_MODE]},u={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:t,contains:[r.C_LINE_COMMENT_MODE,r.C_BLOCK_COMMENT_MODE,s,d]};return{name:"TypeScript",aliases:["ts"],keywords:t,contains:[r.SHEBANG(),{className:"meta",begin:/^\s*['"]use strict['"]/},r.APOS_STRING_MODE,r.QUOTE_STRING_MODE,c,l,E,r.C_LINE_COMMENT_MODE,r.C_BLOCK_COMMENT_MODE,i,{begin:"("+r.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",contains:[r.C_LINE_COMMENT_MODE,r.C_BLOCK_COMMENT_MODE,r.REGEXP_MODE,{className:"function",begin:"(\\([^(]*(\\([^(]*(\\([^(]*\\))?\\))?\\)|"+r.UNDERSCORE_IDENT_RE+")\\s*=>",returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:r.UNDERSCORE_IDENT_RE},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:t,contains:d.contains}]}]}],relevance:0},{className:"function",beginKeywords:"function",end:/[\{;]/,excludeEnd:!0,keywords:t,contains:["self",r.inherit(r.TITLE_MODE,{begin:"[A-Za-z$_][0-9A-Za-z$_]*"}),u],illegal:/%/,relevance:0},{beginKeywords:"constructor",end:/[\{;]/,excludeEnd:!0,contains:["self",u]},{begin:/module\./,keywords:{built_in:"module"},relevance:0},{beginKeywords:"module",end:/\{/,excludeEnd:!0},{beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:"interface extends"},{begin:/\$[(.]/},{begin:"\\."+r.IDENT_RE,relevance:0},s,d]}}}()); +hljs.registerLanguage("yaml",function(){"use strict";return function(e){var n="true false yes no null",a="[\\w#;/?:@&=+$,.~*\\'()[\\]]+",s={className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,{className:"template-variable",variants:[{begin:"{{",end:"}}"},{begin:"%{",end:"}"}]}]},i=e.inherit(s,{variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),l={end:",",endsWithParent:!0,excludeEnd:!0,contains:[],keywords:n,relevance:0},t={begin:"{",end:"}",contains:[l],illegal:"\\n",relevance:0},g={begin:"\\[",end:"\\]",contains:[l],illegal:"\\n",relevance:0},b=[{className:"attr",variants:[{begin:"\\w[\\w :\\/.-]*:(?=[ \t]|$)"},{begin:'"\\w[\\w :\\/.-]*":(?=[ \t]|$)'},{begin:"'\\w[\\w :\\/.-]*':(?=[ \t]|$)"}]},{className:"meta",begin:"^---s*$",relevance:10},{className:"string",begin:"[\\|>]([0-9]?[+-])?[ ]*\\n( *)[\\S ]+\\n(\\2[\\S ]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+a},{className:"type",begin:"!<"+a+">"},{className:"type",begin:"!"+a},{className:"type",begin:"!!"+a},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"\\-(?=[ ]|$)",relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:n,keywords:{literal:n}},{className:"number",begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b"},{className:"number",begin:e.C_NUMBER_RE+"\\b"},t,g,s],c=[...b];return c.pop(),c.push(i),l.contains=c,{name:"YAML",case_insensitive:!0,aliases:["yml","YAML"],contains:b}}}()); +hljs.registerLanguage("armasm",function(){"use strict";return function(s){const e={variants:[s.COMMENT("^[ \\t]*(?=#)","$",{relevance:0,excludeBegin:!0}),s.COMMENT("[;@]","$",{relevance:0}),s.C_LINE_COMMENT_MODE,s.C_BLOCK_COMMENT_MODE]};return{name:"ARM Assembly",case_insensitive:!0,aliases:["arm"],keywords:{$pattern:"\\.?"+s.IDENT_RE,meta:".2byte .4byte .align .ascii .asciz .balign .byte .code .data .else .end .endif .endm .endr .equ .err .exitm .extern .global .hword .if .ifdef .ifndef .include .irp .long .macro .rept .req .section .set .skip .space .text .word .arm .thumb .code16 .code32 .force_thumb .thumb_func .ltorg ALIAS ALIGN ARM AREA ASSERT ATTR CN CODE CODE16 CODE32 COMMON CP DATA DCB DCD DCDU DCDO DCFD DCFDU DCI DCQ DCQU DCW DCWU DN ELIF ELSE END ENDFUNC ENDIF ENDP ENTRY EQU EXPORT EXPORTAS EXTERN FIELD FILL FUNCTION GBLA GBLL GBLS GET GLOBAL IF IMPORT INCBIN INCLUDE INFO KEEP LCLA LCLL LCLS LTORG MACRO MAP MEND MEXIT NOFP OPT PRESERVE8 PROC QN READONLY RELOC REQUIRE REQUIRE8 RLIST FN ROUT SETA SETL SETS SN SPACE SUBT THUMB THUMBX TTL WHILE WEND ",built_in:"r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 pc lr sp ip sl sb fp a1 a2 a3 a4 v1 v2 v3 v4 v5 v6 v7 v8 f0 f1 f2 f3 f4 f5 f6 f7 p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 q10 q11 q12 q13 q14 q15 cpsr_c cpsr_x cpsr_s cpsr_f cpsr_cx cpsr_cxs cpsr_xs cpsr_xsf cpsr_sf cpsr_cxsf spsr_c spsr_x spsr_s spsr_f spsr_cx spsr_cxs spsr_xs spsr_xsf spsr_sf spsr_cxsf s0 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15 s16 s17 s18 s19 s20 s21 s22 s23 s24 s25 s26 s27 s28 s29 s30 s31 d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 d11 d12 d13 d14 d15 d16 d17 d18 d19 d20 d21 d22 d23 d24 d25 d26 d27 d28 d29 d30 d31 {PC} {VAR} {TRUE} {FALSE} {OPT} {CONFIG} {ENDIAN} {CODESIZE} {CPU} {FPU} {ARCHITECTURE} {PCSTOREOFFSET} {ARMASM_VERSION} {INTER} {ROPI} {RWPI} {SWST} {NOSWST} . @"},contains:[{className:"keyword",begin:"\\b(adc|(qd?|sh?|u[qh]?)?add(8|16)?|usada?8|(q|sh?|u[qh]?)?(as|sa)x|and|adrl?|sbc|rs[bc]|asr|b[lx]?|blx|bxj|cbn?z|tb[bh]|bic|bfc|bfi|[su]bfx|bkpt|cdp2?|clz|clrex|cmp|cmn|cpsi[ed]|cps|setend|dbg|dmb|dsb|eor|isb|it[te]{0,3}|lsl|lsr|ror|rrx|ldm(([id][ab])|f[ds])?|ldr((s|ex)?[bhd])?|movt?|mvn|mra|mar|mul|[us]mull|smul[bwt][bt]|smu[as]d|smmul|smmla|mla|umlaal|smlal?([wbt][bt]|d)|mls|smlsl?[ds]|smc|svc|sev|mia([bt]{2}|ph)?|mrr?c2?|mcrr2?|mrs|msr|orr|orn|pkh(tb|bt)|rbit|rev(16|sh)?|sel|[su]sat(16)?|nop|pop|push|rfe([id][ab])?|stm([id][ab])?|str(ex)?[bhd]?|(qd?)?sub|(sh?|q|u[qh]?)?sub(8|16)|[su]xt(a?h|a?b(16)?)|srs([id][ab])?|swpb?|swi|smi|tst|teq|wfe|wfi|yield)(eq|ne|cs|cc|mi|pl|vs|vc|hi|ls|ge|lt|gt|le|al|hs|lo)?[sptrx]?(?=\\s)"},e,s.QUOTE_STRING_MODE,{className:"string",begin:"'",end:"[^\\\\]'",relevance:0},{className:"title",begin:"\\|",end:"\\|",illegal:"\\n",relevance:0},{className:"number",variants:[{begin:"[#$=]?0x[0-9a-f]+"},{begin:"[#$=]?0b[01]+"},{begin:"[#$=]\\d+"},{begin:"\\b\\d+"}],relevance:0},{className:"symbol",variants:[{begin:"^[ \\t]*[a-z_\\.\\$][a-z0-9_\\.\\$]+:"},{begin:"^[a-z_\\.\\$][a-z0-9_\\.\\$]+"},{begin:"[=#]\\w+"}],relevance:0}]}}}()); +hljs.registerLanguage("d",function(){"use strict";return function(e){var a={$pattern:e.UNDERSCORE_IDENT_RE,keyword:"abstract alias align asm assert auto body break byte case cast catch class const continue debug default delete deprecated do else enum export extern final finally for foreach foreach_reverse|10 goto if immutable import in inout int interface invariant is lazy macro mixin module new nothrow out override package pragma private protected public pure ref return scope shared static struct super switch synchronized template this throw try typedef typeid typeof union unittest version void volatile while with __FILE__ __LINE__ __gshared|10 __thread __traits __DATE__ __EOF__ __TIME__ __TIMESTAMP__ __VENDOR__ __VERSION__",built_in:"bool cdouble cent cfloat char creal dchar delegate double dstring float function idouble ifloat ireal long real short string ubyte ucent uint ulong ushort wchar wstring",literal:"false null true"},d="((0|[1-9][\\d_]*)|0[bB][01_]+|0[xX]([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*))",n="\\\\(['\"\\?\\\\abfnrtv]|u[\\dA-Fa-f]{4}|[0-7]{1,3}|x[\\dA-Fa-f]{2}|U[\\dA-Fa-f]{8})|&[a-zA-Z\\d]{2,};",t={className:"number",begin:"\\b"+d+"(L|u|U|Lu|LU|uL|UL)?",relevance:0},_={className:"number",begin:"\\b(((0[xX](([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*)\\.([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*)|\\.?([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*))[pP][+-]?(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d))|((0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)(\\.\\d*|([eE][+-]?(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)))|\\d+\\.(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)|\\.(0|[1-9][\\d_]*)([eE][+-]?(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d))?))([fF]|L|i|[fF]i|Li)?|"+d+"(i|[fF]i|Li))",relevance:0},r={className:"string",begin:"'("+n+"|.)",end:"'",illegal:"."},i={className:"string",begin:'"',contains:[{begin:n,relevance:0}],end:'"[cwd]?'},s=e.COMMENT("\\/\\+","\\+\\/",{contains:["self"],relevance:10});return{name:"D",keywords:a,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,s,{className:"string",begin:'x"[\\da-fA-F\\s\\n\\r]*"[cwd]?',relevance:10},i,{className:"string",begin:'[rq]"',end:'"[cwd]?',relevance:5},{className:"string",begin:"`",end:"`[cwd]?"},{className:"string",begin:'q"\\{',end:'\\}"'},_,t,r,{className:"meta",begin:"^#!",end:"$",relevance:5},{className:"meta",begin:"#(line)",end:"$",relevance:5},{className:"keyword",begin:"@[a-zA-Z_][a-zA-Z_\\d]*"}]}}}()); +hljs.registerLanguage("handlebars",function(){"use strict";function e(...e){return e.map(e=>(function(e){return e?"string"==typeof e?e:e.source:null})(e)).join("")}return function(n){const a={"builtin-name":"action bindattr collection component concat debugger each each-in get hash if in input link-to loc log lookup mut outlet partial query-params render template textarea unbound unless view with yield"},t=/\[.*?\]/,s=/[^\s!"#%&'()*+,.\/;<=>@\[\\\]^`{|}~]+/,i=e("(",/'.*?'/,"|",/".*?"/,"|",t,"|",s,"|",/\.|\//,")+"),r=e("(",t,"|",s,")(?==)"),l={begin:i,lexemes:/[\w.\/]+/},c=n.inherit(l,{keywords:{literal:"true false undefined null"}}),o={begin:/\(/,end:/\)/},m={className:"attr",begin:r,relevance:0,starts:{begin:/=/,end:/=/,starts:{contains:[n.NUMBER_MODE,n.QUOTE_STRING_MODE,n.APOS_STRING_MODE,c,o]}}},d={contains:[n.NUMBER_MODE,n.QUOTE_STRING_MODE,n.APOS_STRING_MODE,{begin:/as\s+\|/,keywords:{keyword:"as"},end:/\|/,contains:[{begin:/\w+/}]},m,c,o],returnEnd:!0},g=n.inherit(l,{className:"name",keywords:a,starts:n.inherit(d,{end:/\)/})});o.contains=[g];const u=n.inherit(l,{keywords:a,className:"name",starts:n.inherit(d,{end:/}}/})}),b=n.inherit(l,{keywords:a,className:"name"}),h=n.inherit(l,{className:"name",keywords:a,starts:n.inherit(d,{end:/}}/})});return{name:"Handlebars",aliases:["hbs","html.hbs","html.handlebars","htmlbars"],case_insensitive:!0,subLanguage:"xml",contains:[{begin:/\\\{\{/,skip:!0},{begin:/\\\\(?=\{\{)/,skip:!0},n.COMMENT(/\{\{!--/,/--\}\}/),n.COMMENT(/\{\{!/,/\}\}/),{className:"template-tag",begin:/\{\{\{\{(?!\/)/,end:/\}\}\}\}/,contains:[u],starts:{end:/\{\{\{\{\//,returnEnd:!0,subLanguage:"xml"}},{className:"template-tag",begin:/\{\{\{\{\//,end:/\}\}\}\}/,contains:[b]},{className:"template-tag",begin:/\{\{#/,end:/\}\}/,contains:[u]},{className:"template-tag",begin:/\{\{(?=else\}\})/,end:/\}\}/,keywords:"else"},{className:"template-tag",begin:/\{\{\//,end:/\}\}/,contains:[b]},{className:"template-variable",begin:/\{\{\{/,end:/\}\}\}/,contains:[h]},{className:"template-variable",begin:/\{\{/,end:/\}\}/,contains:[h]}]}}}()); +hljs.registerLanguage("haskell",function(){"use strict";return function(e){var n={variants:[e.COMMENT("--","$"),e.COMMENT("{-","-}",{contains:["self"]})]},i={className:"meta",begin:"{-#",end:"#-}"},a={className:"meta",begin:"^#",end:"$"},s={className:"type",begin:"\\b[A-Z][\\w']*",relevance:0},l={begin:"\\(",end:"\\)",illegal:'"',contains:[i,a,{className:"type",begin:"\\b[A-Z][\\w]*(\\((\\.\\.|,|\\w+)\\))?"},e.inherit(e.TITLE_MODE,{begin:"[_a-z][\\w']*"}),n]};return{name:"Haskell",aliases:["hs"],keywords:"let in if then else case of where do module import hiding qualified type data newtype deriving class instance as default infix infixl infixr foreign export ccall stdcall cplusplus jvm dotnet safe unsafe family forall mdo proc rec",contains:[{beginKeywords:"module",end:"where",keywords:"module where",contains:[l,n],illegal:"\\W\\.|;"},{begin:"\\bimport\\b",end:"$",keywords:"import qualified as hiding",contains:[l,n],illegal:"\\W\\.|;"},{className:"class",begin:"^(\\s*)?(class|instance)\\b",end:"where",keywords:"class family instance where",contains:[s,l,n]},{className:"class",begin:"\\b(data|(new)?type)\\b",end:"$",keywords:"data family type newtype deriving",contains:[i,s,l,{begin:"{",end:"}",contains:l.contains},n]},{beginKeywords:"default",end:"$",contains:[s,l,n]},{beginKeywords:"infix infixl infixr",end:"$",contains:[e.C_NUMBER_MODE,n]},{begin:"\\bforeign\\b",end:"$",keywords:"foreign import export ccall stdcall cplusplus jvm dotnet safe unsafe",contains:[s,e.QUOTE_STRING_MODE,n]},{className:"meta",begin:"#!\\/usr\\/bin\\/env runhaskell",end:"$"},i,a,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,s,e.inherit(e.TITLE_MODE,{begin:"^[_a-z][\\w']*"}),n,{begin:"->|<-"}]}}}()); +hljs.registerLanguage("julia",function(){"use strict";return function(e){var r="[A-Za-z_\\u00A1-\\uFFFF][A-Za-z_0-9\\u00A1-\\uFFFF]*",t={$pattern:r,keyword:"in isa where baremodule begin break catch ccall const continue do else elseif end export false finally for function global if import importall let local macro module quote return true try using while type immutable abstract bitstype typealias ",literal:"true false ARGS C_NULL DevNull ENDIAN_BOM ENV I Inf Inf16 Inf32 Inf64 InsertionSort JULIA_HOME LOAD_PATH MergeSort NaN NaN16 NaN32 NaN64 PROGRAM_FILE QuickSort RoundDown RoundFromZero RoundNearest RoundNearestTiesAway RoundNearestTiesUp RoundToZero RoundUp STDERR STDIN STDOUT VERSION catalan e|0 eu|0 eulergamma golden im nothing pi γ π φ ",built_in:"ANY AbstractArray AbstractChannel AbstractFloat AbstractMatrix AbstractRNG AbstractSerializer AbstractSet AbstractSparseArray AbstractSparseMatrix AbstractSparseVector AbstractString AbstractUnitRange AbstractVecOrMat AbstractVector Any ArgumentError Array AssertionError Associative Base64DecodePipe Base64EncodePipe Bidiagonal BigFloat BigInt BitArray BitMatrix BitVector Bool BoundsError BufferStream CachingPool CapturedException CartesianIndex CartesianRange Cchar Cdouble Cfloat Channel Char Cint Cintmax_t Clong Clonglong ClusterManager Cmd CodeInfo Colon Complex Complex128 Complex32 Complex64 CompositeException Condition ConjArray ConjMatrix ConjVector Cptrdiff_t Cshort Csize_t Cssize_t Cstring Cuchar Cuint Cuintmax_t Culong Culonglong Cushort Cwchar_t Cwstring DataType Date DateFormat DateTime DenseArray DenseMatrix DenseVecOrMat DenseVector Diagonal Dict DimensionMismatch Dims DirectIndexString Display DivideError DomainError EOFError EachLine Enum Enumerate ErrorException Exception ExponentialBackOff Expr Factorization FileMonitor Float16 Float32 Float64 Function Future GlobalRef GotoNode HTML Hermitian IO IOBuffer IOContext IOStream IPAddr IPv4 IPv6 IndexCartesian IndexLinear IndexStyle InexactError InitError Int Int128 Int16 Int32 Int64 Int8 IntSet Integer InterruptException InvalidStateException Irrational KeyError LabelNode LinSpace LineNumberNode LoadError LowerTriangular MIME Matrix MersenneTwister Method MethodError MethodTable Module NTuple NewvarNode NullException Nullable Number ObjectIdDict OrdinalRange OutOfMemoryError OverflowError Pair ParseError PartialQuickSort PermutedDimsArray Pipe PollingFileWatcher ProcessExitedException Ptr QuoteNode RandomDevice Range RangeIndex Rational RawFD ReadOnlyMemoryError Real ReentrantLock Ref Regex RegexMatch RemoteChannel RemoteException RevString RoundingMode RowVector SSAValue SegmentationFault SerializationState Set SharedArray SharedMatrix SharedVector Signed SimpleVector Slot SlotNumber SparseMatrixCSC SparseVector StackFrame StackOverflowError StackTrace StepRange StepRangeLen StridedArray StridedMatrix StridedVecOrMat StridedVector String SubArray SubString SymTridiagonal Symbol Symmetric SystemError TCPSocket Task Text TextDisplay Timer Tridiagonal Tuple Type TypeError TypeMapEntry TypeMapLevel TypeName TypeVar TypedSlot UDPSocket UInt UInt128 UInt16 UInt32 UInt64 UInt8 UndefRefError UndefVarError UnicodeError UniformScaling Union UnionAll UnitRange Unsigned UpperTriangular Val Vararg VecElement VecOrMat Vector VersionNumber Void WeakKeyDict WeakRef WorkerConfig WorkerPool "},a={keywords:t,illegal:/<\//},n={className:"subst",begin:/\$\(/,end:/\)/,keywords:t},o={className:"variable",begin:"\\$"+r},i={className:"string",contains:[e.BACKSLASH_ESCAPE,n,o],variants:[{begin:/\w*"""/,end:/"""\w*/,relevance:10},{begin:/\w*"/,end:/"\w*/}]},l={className:"string",contains:[e.BACKSLASH_ESCAPE,n,o],begin:"`",end:"`"},s={className:"meta",begin:"@"+r};return a.name="Julia",a.contains=[{className:"number",begin:/(\b0x[\d_]*(\.[\d_]*)?|0x\.\d[\d_]*)p[-+]?\d+|\b0[box][a-fA-F0-9][a-fA-F0-9_]*|(\b\d[\d_]*(\.[\d_]*)?|\.\d[\d_]*)([eEfF][-+]?\d+)?/,relevance:0},{className:"string",begin:/'(.|\\[xXuU][a-zA-Z0-9]+)'/},i,l,s,{className:"comment",variants:[{begin:"#=",end:"=#",relevance:10},{begin:"#",end:"$"}]},e.HASH_COMMENT_MODE,{className:"keyword",begin:"\\b(((abstract|primitive)\\s+)type|(mutable\\s+)?struct)\\b"},{begin:/<:/}],n.contains=a.contains,a}}()); +hljs.registerLanguage("nim",function(){"use strict";return function(e){return{name:"Nim",aliases:["nim"],keywords:{keyword:"addr and as asm bind block break case cast const continue converter discard distinct div do elif else end enum except export finally for from func generic if import in include interface is isnot iterator let macro method mixin mod nil not notin object of or out proc ptr raise ref return shl shr static template try tuple type using var when while with without xor yield",literal:"shared guarded stdin stdout stderr result true false",built_in:"int int8 int16 int32 int64 uint uint8 uint16 uint32 uint64 float float32 float64 bool char string cstring pointer expr stmt void auto any range array openarray varargs seq set clong culong cchar cschar cshort cint csize clonglong cfloat cdouble clongdouble cuchar cushort cuint culonglong cstringarray semistatic"},contains:[{className:"meta",begin:/{\./,end:/\.}/,relevance:10},{className:"string",begin:/[a-zA-Z]\w*"/,end:/"/,contains:[{begin:/""/}]},{className:"string",begin:/([a-zA-Z]\w*)?"""/,end:/"""/},e.QUOTE_STRING_MODE,{className:"type",begin:/\b[A-Z]\w+\b/,relevance:0},{className:"number",relevance:0,variants:[{begin:/\b(0[xX][0-9a-fA-F][_0-9a-fA-F]*)('?[iIuU](8|16|32|64))?/},{begin:/\b(0o[0-7][_0-7]*)('?[iIuUfF](8|16|32|64))?/},{begin:/\b(0(b|B)[01][_01]*)('?[iIuUfF](8|16|32|64))?/},{begin:/\b(\d[_\d]*)('?[iIuUfF](8|16|32|64))?/}]},e.HASH_COMMENT_MODE]}}}()); +hljs.registerLanguage("nix",function(){"use strict";return function(e){var n={keyword:"rec with let in inherit assert if else then",literal:"true false or and null",built_in:"import abort baseNameOf dirOf isNull builtins map removeAttrs throw toString derivation"},i={className:"subst",begin:/\$\{/,end:/}/,keywords:n},t={className:"string",contains:[i],variants:[{begin:"''",end:"''"},{begin:'"',end:'"'}]},s=[e.NUMBER_MODE,e.HASH_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,t,{begin:/[a-zA-Z0-9-_]+(\s*=)/,returnBegin:!0,relevance:0,contains:[{className:"attr",begin:/\S+/}]}];return i.contains=s,{name:"Nix",aliases:["nixos"],keywords:n,contains:s}}}()); +hljs.registerLanguage("r",function(){"use strict";return function(e){var n="([a-zA-Z]|\\.[a-zA-Z.])[a-zA-Z0-9._]*";return{name:"R",contains:[e.HASH_COMMENT_MODE,{begin:n,keywords:{$pattern:n,keyword:"function if in break next repeat else for return switch while try tryCatch stop warning require library attach detach source setMethod setGeneric setGroupGeneric setClass ...",literal:"NULL NA TRUE FALSE T F Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10"},relevance:0},{className:"number",begin:"0[xX][0-9a-fA-F]+[Li]?\\b",relevance:0},{className:"number",begin:"\\d+(?:[eE][+\\-]?\\d*)?L\\b",relevance:0},{className:"number",begin:"\\d+\\.(?!\\d)(?:i\\b)?",relevance:0},{className:"number",begin:"\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d*)?i?\\b",relevance:0},{className:"number",begin:"\\.\\d+(?:[eE][+\\-]?\\d*)?i?\\b",relevance:0},{begin:"`",end:"`",relevance:0},{className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:'"',end:'"'},{begin:"'",end:"'"}]}]}}}()); +hljs.registerLanguage("scala",function(){"use strict";return function(e){var n={className:"subst",variants:[{begin:"\\$[A-Za-z0-9_]+"},{begin:"\\${",end:"}"}]},a={className:"string",variants:[{begin:'"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:'"""',end:'"""',relevance:10},{begin:'[a-z]+"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE,n]},{className:"string",begin:'[a-z]+"""',end:'"""',contains:[n],relevance:10}]},s={className:"type",begin:"\\b[A-Z][A-Za-z0-9_]*",relevance:0},t={className:"title",begin:/[^0-9\n\t "'(),.`{}\[\]:;][^\n\t "'(),.`{}\[\]:;]+|[^0-9\n\t "'(),.`{}\[\]:;=]/,relevance:0},i={className:"class",beginKeywords:"class object trait type",end:/[:={\[\n;]/,excludeEnd:!0,contains:[{beginKeywords:"extends with",relevance:10},{begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0,relevance:0,contains:[s]},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,relevance:0,contains:[s]},t]},l={className:"function",beginKeywords:"def",end:/[:={\[(\n;]/,excludeEnd:!0,contains:[t]};return{name:"Scala",keywords:{literal:"true false null",keyword:"type yield lazy override def with val var sealed abstract private trait object if forSome for while throw finally protected extends import final return else break new catch super class case package default try this match continue throws implicit"},contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,{className:"symbol",begin:"'\\w[\\w\\d_]*(?!')"},s,l,i,e.C_NUMBER_MODE,{className:"meta",begin:"@[A-Za-z]+"}]}}}()); +hljs.registerLanguage("x86asm",function(){"use strict";return function(s){return{name:"Intel x86 Assembly",case_insensitive:!0,keywords:{$pattern:"[.%]?"+s.IDENT_RE,keyword:"lock rep repe repz repne repnz xaquire xrelease bnd nobnd aaa aad aam aas adc add and arpl bb0_reset bb1_reset bound bsf bsr bswap bt btc btr bts call cbw cdq cdqe clc cld cli clts cmc cmp cmpsb cmpsd cmpsq cmpsw cmpxchg cmpxchg486 cmpxchg8b cmpxchg16b cpuid cpu_read cpu_write cqo cwd cwde daa das dec div dmint emms enter equ f2xm1 fabs fadd faddp fbld fbstp fchs fclex fcmovb fcmovbe fcmove fcmovnb fcmovnbe fcmovne fcmovnu fcmovu fcom fcomi fcomip fcomp fcompp fcos fdecstp fdisi fdiv fdivp fdivr fdivrp femms feni ffree ffreep fiadd ficom ficomp fidiv fidivr fild fimul fincstp finit fist fistp fisttp fisub fisubr fld fld1 fldcw fldenv fldl2e fldl2t fldlg2 fldln2 fldpi fldz fmul fmulp fnclex fndisi fneni fninit fnop fnsave fnstcw fnstenv fnstsw fpatan fprem fprem1 fptan frndint frstor fsave fscale fsetpm fsin fsincos fsqrt fst fstcw fstenv fstp fstsw fsub fsubp fsubr fsubrp ftst fucom fucomi fucomip fucomp fucompp fxam fxch fxtract fyl2x fyl2xp1 hlt ibts icebp idiv imul in inc incbin insb insd insw int int01 int1 int03 int3 into invd invpcid invlpg invlpga iret iretd iretq iretw jcxz jecxz jrcxz jmp jmpe lahf lar lds lea leave les lfence lfs lgdt lgs lidt lldt lmsw loadall loadall286 lodsb lodsd lodsq lodsw loop loope loopne loopnz loopz lsl lss ltr mfence monitor mov movd movq movsb movsd movsq movsw movsx movsxd movzx mul mwait neg nop not or out outsb outsd outsw packssdw packsswb packuswb paddb paddd paddsb paddsiw paddsw paddusb paddusw paddw pand pandn pause paveb pavgusb pcmpeqb pcmpeqd pcmpeqw pcmpgtb pcmpgtd pcmpgtw pdistib pf2id pfacc pfadd pfcmpeq pfcmpge pfcmpgt pfmax pfmin pfmul pfrcp pfrcpit1 pfrcpit2 pfrsqit1 pfrsqrt pfsub pfsubr pi2fd pmachriw pmaddwd pmagw pmulhriw pmulhrwa pmulhrwc pmulhw pmullw pmvgezb pmvlzb pmvnzb pmvzb pop popa popad popaw popf popfd popfq popfw por prefetch prefetchw pslld psllq psllw psrad psraw psrld psrlq psrlw psubb psubd psubsb psubsiw psubsw psubusb psubusw psubw punpckhbw punpckhdq punpckhwd punpcklbw punpckldq punpcklwd push pusha pushad pushaw pushf pushfd pushfq pushfw pxor rcl rcr rdshr rdmsr rdpmc rdtsc rdtscp ret retf retn rol ror rdm rsdc rsldt rsm rsts sahf sal salc sar sbb scasb scasd scasq scasw sfence sgdt shl shld shr shrd sidt sldt skinit smi smint smintold smsw stc std sti stosb stosd stosq stosw str sub svdc svldt svts swapgs syscall sysenter sysexit sysret test ud0 ud1 ud2b ud2 ud2a umov verr verw fwait wbinvd wrshr wrmsr xadd xbts xchg xlatb xlat xor cmove cmovz cmovne cmovnz cmova cmovnbe cmovae cmovnb cmovb cmovnae cmovbe cmovna cmovg cmovnle cmovge cmovnl cmovl cmovnge cmovle cmovng cmovc cmovnc cmovo cmovno cmovs cmovns cmovp cmovpe cmovnp cmovpo je jz jne jnz ja jnbe jae jnb jb jnae jbe jna jg jnle jge jnl jl jnge jle jng jc jnc jo jno js jns jpo jnp jpe jp sete setz setne setnz seta setnbe setae setnb setnc setb setnae setcset setbe setna setg setnle setge setnl setl setnge setle setng sets setns seto setno setpe setp setpo setnp addps addss andnps andps cmpeqps cmpeqss cmpleps cmpless cmpltps cmpltss cmpneqps cmpneqss cmpnleps cmpnless cmpnltps cmpnltss cmpordps cmpordss cmpunordps cmpunordss cmpps cmpss comiss cvtpi2ps cvtps2pi cvtsi2ss cvtss2si cvttps2pi cvttss2si divps divss ldmxcsr maxps maxss minps minss movaps movhps movlhps movlps movhlps movmskps movntps movss movups mulps mulss orps rcpps rcpss rsqrtps rsqrtss shufps sqrtps sqrtss stmxcsr subps subss ucomiss unpckhps unpcklps xorps fxrstor fxrstor64 fxsave fxsave64 xgetbv xsetbv xsave xsave64 xsaveopt xsaveopt64 xrstor xrstor64 prefetchnta prefetcht0 prefetcht1 prefetcht2 maskmovq movntq pavgb pavgw pextrw pinsrw pmaxsw pmaxub pminsw pminub pmovmskb pmulhuw psadbw pshufw pf2iw pfnacc pfpnacc pi2fw pswapd maskmovdqu clflush movntdq movnti movntpd movdqa movdqu movdq2q movq2dq paddq pmuludq pshufd pshufhw pshuflw pslldq psrldq psubq punpckhqdq punpcklqdq addpd addsd andnpd andpd cmpeqpd cmpeqsd cmplepd cmplesd cmpltpd cmpltsd cmpneqpd cmpneqsd cmpnlepd cmpnlesd cmpnltpd cmpnltsd cmpordpd cmpordsd cmpunordpd cmpunordsd cmppd comisd cvtdq2pd cvtdq2ps cvtpd2dq cvtpd2pi cvtpd2ps cvtpi2pd cvtps2dq cvtps2pd cvtsd2si cvtsd2ss cvtsi2sd cvtss2sd cvttpd2pi cvttpd2dq cvttps2dq cvttsd2si divpd divsd maxpd maxsd minpd minsd movapd movhpd movlpd movmskpd movupd mulpd mulsd orpd shufpd sqrtpd sqrtsd subpd subsd ucomisd unpckhpd unpcklpd xorpd addsubpd addsubps haddpd haddps hsubpd hsubps lddqu movddup movshdup movsldup clgi stgi vmcall vmclear vmfunc vmlaunch vmload vmmcall vmptrld vmptrst vmread vmresume vmrun vmsave vmwrite vmxoff vmxon invept invvpid pabsb pabsw pabsd palignr phaddw phaddd phaddsw phsubw phsubd phsubsw pmaddubsw pmulhrsw pshufb psignb psignw psignd extrq insertq movntsd movntss lzcnt blendpd blendps blendvpd blendvps dppd dpps extractps insertps movntdqa mpsadbw packusdw pblendvb pblendw pcmpeqq pextrb pextrd pextrq phminposuw pinsrb pinsrd pinsrq pmaxsb pmaxsd pmaxud pmaxuw pminsb pminsd pminud pminuw pmovsxbw pmovsxbd pmovsxbq pmovsxwd pmovsxwq pmovsxdq pmovzxbw pmovzxbd pmovzxbq pmovzxwd pmovzxwq pmovzxdq pmuldq pmulld ptest roundpd roundps roundsd roundss crc32 pcmpestri pcmpestrm pcmpistri pcmpistrm pcmpgtq popcnt getsec pfrcpv pfrsqrtv movbe aesenc aesenclast aesdec aesdeclast aesimc aeskeygenassist vaesenc vaesenclast vaesdec vaesdeclast vaesimc vaeskeygenassist vaddpd vaddps vaddsd vaddss vaddsubpd vaddsubps vandpd vandps vandnpd vandnps vblendpd vblendps vblendvpd vblendvps vbroadcastss vbroadcastsd vbroadcastf128 vcmpeq_ospd vcmpeqpd vcmplt_ospd vcmpltpd vcmple_ospd vcmplepd vcmpunord_qpd vcmpunordpd vcmpneq_uqpd vcmpneqpd vcmpnlt_uspd vcmpnltpd vcmpnle_uspd vcmpnlepd vcmpord_qpd vcmpordpd vcmpeq_uqpd vcmpnge_uspd vcmpngepd vcmpngt_uspd vcmpngtpd vcmpfalse_oqpd vcmpfalsepd vcmpneq_oqpd vcmpge_ospd vcmpgepd vcmpgt_ospd vcmpgtpd vcmptrue_uqpd vcmptruepd vcmplt_oqpd vcmple_oqpd vcmpunord_spd vcmpneq_uspd vcmpnlt_uqpd vcmpnle_uqpd vcmpord_spd vcmpeq_uspd vcmpnge_uqpd vcmpngt_uqpd vcmpfalse_ospd vcmpneq_ospd vcmpge_oqpd vcmpgt_oqpd vcmptrue_uspd vcmppd vcmpeq_osps vcmpeqps vcmplt_osps vcmpltps vcmple_osps vcmpleps vcmpunord_qps vcmpunordps vcmpneq_uqps vcmpneqps vcmpnlt_usps vcmpnltps vcmpnle_usps vcmpnleps vcmpord_qps vcmpordps vcmpeq_uqps vcmpnge_usps vcmpngeps vcmpngt_usps vcmpngtps vcmpfalse_oqps vcmpfalseps vcmpneq_oqps vcmpge_osps vcmpgeps vcmpgt_osps vcmpgtps vcmptrue_uqps vcmptrueps vcmplt_oqps vcmple_oqps vcmpunord_sps vcmpneq_usps vcmpnlt_uqps vcmpnle_uqps vcmpord_sps vcmpeq_usps vcmpnge_uqps vcmpngt_uqps vcmpfalse_osps vcmpneq_osps vcmpge_oqps vcmpgt_oqps vcmptrue_usps vcmpps vcmpeq_ossd vcmpeqsd vcmplt_ossd vcmpltsd vcmple_ossd vcmplesd vcmpunord_qsd vcmpunordsd vcmpneq_uqsd vcmpneqsd vcmpnlt_ussd vcmpnltsd vcmpnle_ussd vcmpnlesd vcmpord_qsd vcmpordsd vcmpeq_uqsd vcmpnge_ussd vcmpngesd vcmpngt_ussd vcmpngtsd vcmpfalse_oqsd vcmpfalsesd vcmpneq_oqsd vcmpge_ossd vcmpgesd vcmpgt_ossd vcmpgtsd vcmptrue_uqsd vcmptruesd vcmplt_oqsd vcmple_oqsd vcmpunord_ssd vcmpneq_ussd vcmpnlt_uqsd vcmpnle_uqsd vcmpord_ssd vcmpeq_ussd vcmpnge_uqsd vcmpngt_uqsd vcmpfalse_ossd vcmpneq_ossd vcmpge_oqsd vcmpgt_oqsd vcmptrue_ussd vcmpsd vcmpeq_osss vcmpeqss vcmplt_osss vcmpltss vcmple_osss vcmpless vcmpunord_qss vcmpunordss vcmpneq_uqss vcmpneqss vcmpnlt_usss vcmpnltss vcmpnle_usss vcmpnless vcmpord_qss vcmpordss vcmpeq_uqss vcmpnge_usss vcmpngess vcmpngt_usss vcmpngtss vcmpfalse_oqss vcmpfalsess vcmpneq_oqss vcmpge_osss vcmpgess vcmpgt_osss vcmpgtss vcmptrue_uqss vcmptruess vcmplt_oqss vcmple_oqss vcmpunord_sss vcmpneq_usss vcmpnlt_uqss vcmpnle_uqss vcmpord_sss vcmpeq_usss vcmpnge_uqss vcmpngt_uqss vcmpfalse_osss vcmpneq_osss vcmpge_oqss vcmpgt_oqss vcmptrue_usss vcmpss vcomisd vcomiss vcvtdq2pd vcvtdq2ps vcvtpd2dq vcvtpd2ps vcvtps2dq vcvtps2pd vcvtsd2si vcvtsd2ss vcvtsi2sd vcvtsi2ss vcvtss2sd vcvtss2si vcvttpd2dq vcvttps2dq vcvttsd2si vcvttss2si vdivpd vdivps vdivsd vdivss vdppd vdpps vextractf128 vextractps vhaddpd vhaddps vhsubpd vhsubps vinsertf128 vinsertps vlddqu vldqqu vldmxcsr vmaskmovdqu vmaskmovps vmaskmovpd vmaxpd vmaxps vmaxsd vmaxss vminpd vminps vminsd vminss vmovapd vmovaps vmovd vmovq vmovddup vmovdqa vmovqqa vmovdqu vmovqqu vmovhlps vmovhpd vmovhps vmovlhps vmovlpd vmovlps vmovmskpd vmovmskps vmovntdq vmovntqq vmovntdqa vmovntpd vmovntps vmovsd vmovshdup vmovsldup vmovss vmovupd vmovups vmpsadbw vmulpd vmulps vmulsd vmulss vorpd vorps vpabsb vpabsw vpabsd vpacksswb vpackssdw vpackuswb vpackusdw vpaddb vpaddw vpaddd vpaddq vpaddsb vpaddsw vpaddusb vpaddusw vpalignr vpand vpandn vpavgb vpavgw vpblendvb vpblendw vpcmpestri vpcmpestrm vpcmpistri vpcmpistrm vpcmpeqb vpcmpeqw vpcmpeqd vpcmpeqq vpcmpgtb vpcmpgtw vpcmpgtd vpcmpgtq vpermilpd vpermilps vperm2f128 vpextrb vpextrw vpextrd vpextrq vphaddw vphaddd vphaddsw vphminposuw vphsubw vphsubd vphsubsw vpinsrb vpinsrw vpinsrd vpinsrq vpmaddwd vpmaddubsw vpmaxsb vpmaxsw vpmaxsd vpmaxub vpmaxuw vpmaxud vpminsb vpminsw vpminsd vpminub vpminuw vpminud vpmovmskb vpmovsxbw vpmovsxbd vpmovsxbq vpmovsxwd vpmovsxwq vpmovsxdq vpmovzxbw vpmovzxbd vpmovzxbq vpmovzxwd vpmovzxwq vpmovzxdq vpmulhuw vpmulhrsw vpmulhw vpmullw vpmulld vpmuludq vpmuldq vpor vpsadbw vpshufb vpshufd vpshufhw vpshuflw vpsignb vpsignw vpsignd vpslldq vpsrldq vpsllw vpslld vpsllq vpsraw vpsrad vpsrlw vpsrld vpsrlq vptest vpsubb vpsubw vpsubd vpsubq vpsubsb vpsubsw vpsubusb vpsubusw vpunpckhbw vpunpckhwd vpunpckhdq vpunpckhqdq vpunpcklbw vpunpcklwd vpunpckldq vpunpcklqdq vpxor vrcpps vrcpss vrsqrtps vrsqrtss vroundpd vroundps vroundsd vroundss vshufpd vshufps vsqrtpd vsqrtps vsqrtsd vsqrtss vstmxcsr vsubpd vsubps vsubsd vsubss vtestps vtestpd vucomisd vucomiss vunpckhpd vunpckhps vunpcklpd vunpcklps vxorpd vxorps vzeroall vzeroupper pclmullqlqdq pclmulhqlqdq pclmullqhqdq pclmulhqhqdq pclmulqdq vpclmullqlqdq vpclmulhqlqdq vpclmullqhqdq vpclmulhqhqdq vpclmulqdq vfmadd132ps vfmadd132pd vfmadd312ps vfmadd312pd vfmadd213ps vfmadd213pd vfmadd123ps vfmadd123pd vfmadd231ps vfmadd231pd vfmadd321ps vfmadd321pd vfmaddsub132ps vfmaddsub132pd vfmaddsub312ps vfmaddsub312pd vfmaddsub213ps vfmaddsub213pd vfmaddsub123ps vfmaddsub123pd vfmaddsub231ps vfmaddsub231pd vfmaddsub321ps vfmaddsub321pd vfmsub132ps vfmsub132pd vfmsub312ps vfmsub312pd vfmsub213ps vfmsub213pd vfmsub123ps vfmsub123pd vfmsub231ps vfmsub231pd vfmsub321ps vfmsub321pd vfmsubadd132ps vfmsubadd132pd vfmsubadd312ps vfmsubadd312pd vfmsubadd213ps vfmsubadd213pd vfmsubadd123ps vfmsubadd123pd vfmsubadd231ps vfmsubadd231pd vfmsubadd321ps vfmsubadd321pd vfnmadd132ps vfnmadd132pd vfnmadd312ps vfnmadd312pd vfnmadd213ps vfnmadd213pd vfnmadd123ps vfnmadd123pd vfnmadd231ps vfnmadd231pd vfnmadd321ps vfnmadd321pd vfnmsub132ps vfnmsub132pd vfnmsub312ps vfnmsub312pd vfnmsub213ps vfnmsub213pd vfnmsub123ps vfnmsub123pd vfnmsub231ps vfnmsub231pd vfnmsub321ps vfnmsub321pd vfmadd132ss vfmadd132sd vfmadd312ss vfmadd312sd vfmadd213ss vfmadd213sd vfmadd123ss vfmadd123sd vfmadd231ss vfmadd231sd vfmadd321ss vfmadd321sd vfmsub132ss vfmsub132sd vfmsub312ss vfmsub312sd vfmsub213ss vfmsub213sd vfmsub123ss vfmsub123sd vfmsub231ss vfmsub231sd vfmsub321ss vfmsub321sd vfnmadd132ss vfnmadd132sd vfnmadd312ss vfnmadd312sd vfnmadd213ss vfnmadd213sd vfnmadd123ss vfnmadd123sd vfnmadd231ss vfnmadd231sd vfnmadd321ss vfnmadd321sd vfnmsub132ss vfnmsub132sd vfnmsub312ss vfnmsub312sd vfnmsub213ss vfnmsub213sd vfnmsub123ss vfnmsub123sd vfnmsub231ss vfnmsub231sd vfnmsub321ss vfnmsub321sd rdfsbase rdgsbase rdrand wrfsbase wrgsbase vcvtph2ps vcvtps2ph adcx adox rdseed clac stac xstore xcryptecb xcryptcbc xcryptctr xcryptcfb xcryptofb montmul xsha1 xsha256 llwpcb slwpcb lwpval lwpins vfmaddpd vfmaddps vfmaddsd vfmaddss vfmaddsubpd vfmaddsubps vfmsubaddpd vfmsubaddps vfmsubpd vfmsubps vfmsubsd vfmsubss vfnmaddpd vfnmaddps vfnmaddsd vfnmaddss vfnmsubpd vfnmsubps vfnmsubsd vfnmsubss vfrczpd vfrczps vfrczsd vfrczss vpcmov vpcomb vpcomd vpcomq vpcomub vpcomud vpcomuq vpcomuw vpcomw vphaddbd vphaddbq vphaddbw vphadddq vphaddubd vphaddubq vphaddubw vphaddudq vphadduwd vphadduwq vphaddwd vphaddwq vphsubbw vphsubdq vphsubwd vpmacsdd vpmacsdqh vpmacsdql vpmacssdd vpmacssdqh vpmacssdql vpmacsswd vpmacssww vpmacswd vpmacsww vpmadcsswd vpmadcswd vpperm vprotb vprotd vprotq vprotw vpshab vpshad vpshaq vpshaw vpshlb vpshld vpshlq vpshlw vbroadcasti128 vpblendd vpbroadcastb vpbroadcastw vpbroadcastd vpbroadcastq vpermd vpermpd vpermps vpermq vperm2i128 vextracti128 vinserti128 vpmaskmovd vpmaskmovq vpsllvd vpsllvq vpsravd vpsrlvd vpsrlvq vgatherdpd vgatherqpd vgatherdps vgatherqps vpgatherdd vpgatherqd vpgatherdq vpgatherqq xabort xbegin xend xtest andn bextr blci blcic blsi blsic blcfill blsfill blcmsk blsmsk blsr blcs bzhi mulx pdep pext rorx sarx shlx shrx tzcnt tzmsk t1mskc valignd valignq vblendmpd vblendmps vbroadcastf32x4 vbroadcastf64x4 vbroadcasti32x4 vbroadcasti64x4 vcompresspd vcompressps vcvtpd2udq vcvtps2udq vcvtsd2usi vcvtss2usi vcvttpd2udq vcvttps2udq vcvttsd2usi vcvttss2usi vcvtudq2pd vcvtudq2ps vcvtusi2sd vcvtusi2ss vexpandpd vexpandps vextractf32x4 vextractf64x4 vextracti32x4 vextracti64x4 vfixupimmpd vfixupimmps vfixupimmsd vfixupimmss vgetexppd vgetexpps vgetexpsd vgetexpss vgetmantpd vgetmantps vgetmantsd vgetmantss vinsertf32x4 vinsertf64x4 vinserti32x4 vinserti64x4 vmovdqa32 vmovdqa64 vmovdqu32 vmovdqu64 vpabsq vpandd vpandnd vpandnq vpandq vpblendmd vpblendmq vpcmpltd vpcmpled vpcmpneqd vpcmpnltd vpcmpnled vpcmpd vpcmpltq vpcmpleq vpcmpneqq vpcmpnltq vpcmpnleq vpcmpq vpcmpequd vpcmpltud vpcmpleud vpcmpnequd vpcmpnltud vpcmpnleud vpcmpud vpcmpequq vpcmpltuq vpcmpleuq vpcmpnequq vpcmpnltuq vpcmpnleuq vpcmpuq vpcompressd vpcompressq vpermi2d vpermi2pd vpermi2ps vpermi2q vpermt2d vpermt2pd vpermt2ps vpermt2q vpexpandd vpexpandq vpmaxsq vpmaxuq vpminsq vpminuq vpmovdb vpmovdw vpmovqb vpmovqd vpmovqw vpmovsdb vpmovsdw vpmovsqb vpmovsqd vpmovsqw vpmovusdb vpmovusdw vpmovusqb vpmovusqd vpmovusqw vpord vporq vprold vprolq vprolvd vprolvq vprord vprorq vprorvd vprorvq vpscatterdd vpscatterdq vpscatterqd vpscatterqq vpsraq vpsravq vpternlogd vpternlogq vptestmd vptestmq vptestnmd vptestnmq vpxord vpxorq vrcp14pd vrcp14ps vrcp14sd vrcp14ss vrndscalepd vrndscaleps vrndscalesd vrndscaless vrsqrt14pd vrsqrt14ps vrsqrt14sd vrsqrt14ss vscalefpd vscalefps vscalefsd vscalefss vscatterdpd vscatterdps vscatterqpd vscatterqps vshuff32x4 vshuff64x2 vshufi32x4 vshufi64x2 kandnw kandw kmovw knotw kortestw korw kshiftlw kshiftrw kunpckbw kxnorw kxorw vpbroadcastmb2q vpbroadcastmw2d vpconflictd vpconflictq vplzcntd vplzcntq vexp2pd vexp2ps vrcp28pd vrcp28ps vrcp28sd vrcp28ss vrsqrt28pd vrsqrt28ps vrsqrt28sd vrsqrt28ss vgatherpf0dpd vgatherpf0dps vgatherpf0qpd vgatherpf0qps vgatherpf1dpd vgatherpf1dps vgatherpf1qpd vgatherpf1qps vscatterpf0dpd vscatterpf0dps vscatterpf0qpd vscatterpf0qps vscatterpf1dpd vscatterpf1dps vscatterpf1qpd vscatterpf1qps prefetchwt1 bndmk bndcl bndcu bndcn bndmov bndldx bndstx sha1rnds4 sha1nexte sha1msg1 sha1msg2 sha256rnds2 sha256msg1 sha256msg2 hint_nop0 hint_nop1 hint_nop2 hint_nop3 hint_nop4 hint_nop5 hint_nop6 hint_nop7 hint_nop8 hint_nop9 hint_nop10 hint_nop11 hint_nop12 hint_nop13 hint_nop14 hint_nop15 hint_nop16 hint_nop17 hint_nop18 hint_nop19 hint_nop20 hint_nop21 hint_nop22 hint_nop23 hint_nop24 hint_nop25 hint_nop26 hint_nop27 hint_nop28 hint_nop29 hint_nop30 hint_nop31 hint_nop32 hint_nop33 hint_nop34 hint_nop35 hint_nop36 hint_nop37 hint_nop38 hint_nop39 hint_nop40 hint_nop41 hint_nop42 hint_nop43 hint_nop44 hint_nop45 hint_nop46 hint_nop47 hint_nop48 hint_nop49 hint_nop50 hint_nop51 hint_nop52 hint_nop53 hint_nop54 hint_nop55 hint_nop56 hint_nop57 hint_nop58 hint_nop59 hint_nop60 hint_nop61 hint_nop62 hint_nop63",built_in:"ip eip rip al ah bl bh cl ch dl dh sil dil bpl spl r8b r9b r10b r11b r12b r13b r14b r15b ax bx cx dx si di bp sp r8w r9w r10w r11w r12w r13w r14w r15w eax ebx ecx edx esi edi ebp esp eip r8d r9d r10d r11d r12d r13d r14d r15d rax rbx rcx rdx rsi rdi rbp rsp r8 r9 r10 r11 r12 r13 r14 r15 cs ds es fs gs ss st st0 st1 st2 st3 st4 st5 st6 st7 mm0 mm1 mm2 mm3 mm4 mm5 mm6 mm7 xmm0 xmm1 xmm2 xmm3 xmm4 xmm5 xmm6 xmm7 xmm8 xmm9 xmm10 xmm11 xmm12 xmm13 xmm14 xmm15 xmm16 xmm17 xmm18 xmm19 xmm20 xmm21 xmm22 xmm23 xmm24 xmm25 xmm26 xmm27 xmm28 xmm29 xmm30 xmm31 ymm0 ymm1 ymm2 ymm3 ymm4 ymm5 ymm6 ymm7 ymm8 ymm9 ymm10 ymm11 ymm12 ymm13 ymm14 ymm15 ymm16 ymm17 ymm18 ymm19 ymm20 ymm21 ymm22 ymm23 ymm24 ymm25 ymm26 ymm27 ymm28 ymm29 ymm30 ymm31 zmm0 zmm1 zmm2 zmm3 zmm4 zmm5 zmm6 zmm7 zmm8 zmm9 zmm10 zmm11 zmm12 zmm13 zmm14 zmm15 zmm16 zmm17 zmm18 zmm19 zmm20 zmm21 zmm22 zmm23 zmm24 zmm25 zmm26 zmm27 zmm28 zmm29 zmm30 zmm31 k0 k1 k2 k3 k4 k5 k6 k7 bnd0 bnd1 bnd2 bnd3 cr0 cr1 cr2 cr3 cr4 cr8 dr0 dr1 dr2 dr3 dr8 tr3 tr4 tr5 tr6 tr7 r0 r1 r2 r3 r4 r5 r6 r7 r0b r1b r2b r3b r4b r5b r6b r7b r0w r1w r2w r3w r4w r5w r6w r7w r0d r1d r2d r3d r4d r5d r6d r7d r0h r1h r2h r3h r0l r1l r2l r3l r4l r5l r6l r7l r8l r9l r10l r11l r12l r13l r14l r15l db dw dd dq dt ddq do dy dz resb resw resd resq rest resdq reso resy resz incbin equ times byte word dword qword nosplit rel abs seg wrt strict near far a32 ptr",meta:"%define %xdefine %+ %undef %defstr %deftok %assign %strcat %strlen %substr %rotate %elif %else %endif %if %ifmacro %ifctx %ifidn %ifidni %ifid %ifnum %ifstr %iftoken %ifempty %ifenv %error %warning %fatal %rep %endrep %include %push %pop %repl %pathsearch %depend %use %arg %stacksize %local %line %comment %endcomment .nolist __FILE__ __LINE__ __SECT__ __BITS__ __OUTPUT_FORMAT__ __DATE__ __TIME__ __DATE_NUM__ __TIME_NUM__ __UTC_DATE__ __UTC_TIME__ __UTC_DATE_NUM__ __UTC_TIME_NUM__ __PASS__ struc endstruc istruc at iend align alignb sectalign daz nodaz up down zero default option assume public bits use16 use32 use64 default section segment absolute extern global common cpu float __utf16__ __utf16le__ __utf16be__ __utf32__ __utf32le__ __utf32be__ __float8__ __float16__ __float32__ __float64__ __float80m__ __float80e__ __float128l__ __float128h__ __Infinity__ __QNaN__ __SNaN__ Inf NaN QNaN SNaN float8 float16 float32 float64 float80m float80e float128l float128h __FLOAT_DAZ__ __FLOAT_ROUND__ __FLOAT__"},contains:[s.COMMENT(";","$",{relevance:0}),{className:"number",variants:[{begin:"\\b(?:([0-9][0-9_]*)?\\.[0-9_]*(?:[eE][+-]?[0-9_]+)?|(0[Xx])?[0-9][0-9_]*\\.?[0-9_]*(?:[pP](?:[+-]?[0-9_]+)?)?)\\b",relevance:0},{begin:"\\$[0-9][0-9A-Fa-f]*",relevance:0},{begin:"\\b(?:[0-9A-Fa-f][0-9A-Fa-f_]*[Hh]|[0-9][0-9_]*[DdTt]?|[0-7][0-7_]*[QqOo]|[0-1][0-1_]*[BbYy])\\b"},{begin:"\\b(?:0[Xx][0-9A-Fa-f_]+|0[DdTt][0-9_]+|0[QqOo][0-7_]+|0[BbYy][0-1_]+)\\b"}]},s.QUOTE_STRING_MODE,{className:"string",variants:[{begin:"'",end:"[^\\\\]'"},{begin:"`",end:"[^\\\\]`"}],relevance:0},{className:"symbol",variants:[{begin:"^\\s*[A-Za-z._?][A-Za-z0-9_$#@~.?]*(:|\\s+label)"},{begin:"^\\s*%%[A-Za-z0-9_$#@~.?]*:"}],relevance:0},{className:"subst",begin:"%[0-9]+",relevance:0},{className:"subst",begin:"%!S+",relevance:0},{className:"meta",begin:/^\s*\.[\w_-]+/}]}}}()); \ No newline at end of file diff --git a/index.html b/index.html index cb23ffeb..9c258ae8 100644 --- a/index.html +++ b/index.html @@ -1,49 +1,50 @@ - + Rust Algorithm Club - Rust Algorithm Club - + - - - + - - - + + + - - + + - - + + - - - - - + + + + - - + + + + +
    - - + + -
    - - - - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - + + + +
    diff --git a/levenshtein_distance/index.html b/levenshtein_distance/index.html index d98763d6..81b57289 100644 --- a/levenshtein_distance/index.html +++ b/levenshtein_distance/index.html @@ -1,49 +1,50 @@ - + 萊文斯坦距離 Levenshtein distance - Rust Algorithm Club - + - - - + - - - + + + - - + + - - + + - - - - - + + + + - - + + + + +
    - - + + -
    - - - - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - + + + +
    diff --git a/lib.rs b/lib.rs index 3f930de9..687c7974 100644 --- a/lib.rs +++ b/lib.rs @@ -1,4 +1,4 @@ -//! ![](https://rust-algo.club/logo.svg) +//! ![](https://weihanglo.tw/rust-algorithm-club/logo.svg) //! //! # Welcome to Rust algorithm club! @@ -6,7 +6,7 @@ #![warn(dead_code)] #![deny(deprecated)] #![deny(nonstandard_style)] -#![doc(html_logo_url = "https://rust-algo.club/favicon.png")] +#![doc(html_logo_url = "https://weihanglo.tw/rust-algorithm-club/favicon.png")] pub mod collections; pub mod searching; diff --git a/print.html b/print.html index 3a289b2d..3c03ce8c 100644 --- a/print.html +++ b/print.html @@ -1,50 +1,51 @@ - + Rust Algorithm Club - - + + - - - + - - - + + + - - + + - - + + - - - - - + + + + - - + + + + +
    - - + + -
    - - - - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - + + - + +
    diff --git a/searcher.js b/searcher.js index d2b0aeed..dc03e0a0 100644 --- a/searcher.js +++ b/searcher.js @@ -316,7 +316,7 @@ window.search = window.search || {}; // Eventhandler for keyevents on `document` function globalKeyHandler(e) { - if (e.altKey || e.ctrlKey || e.metaKey || e.shiftKey || e.target.type === 'textarea' || e.target.type === 'text') { return; } + if (e.altKey || e.ctrlKey || e.metaKey || e.shiftKey || e.target.type === 'textarea' || e.target.type === 'text' || !hasFocus() && /^(?:input|select|textarea)$/i.test(e.target.nodeName)) { return; } if (e.keyCode === ESCAPE_KEYCODE) { e.preventDefault(); diff --git a/searchindex.js b/searchindex.js index 31c0ca92..3b4c059c 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Object.assign(window.search, {"doc_urls":["index.html#rust-algorithm-club","index.html#基礎概念","index.html#演算法","index.html#搜尋","index.html#排序","index.html#資料結構","index.html#堆疊與佇列","index.html#鏈結串列","index.html#關聯容器","index.html#字串處理","index.html#學習資源","index.html#如何貢獻","index.html#貢獻者","index.html#授權條款","concepts/asymptotic-notation/index.html#漸進符號-asymptotic-notation","concepts/asymptotic-notation/index.html#用數學表示演算法效率","concepts/asymptotic-notation/index.html#何謂漸進符號","concepts/asymptotic-notation/index.html#obig-o","concepts/asymptotic-notation/index.html#omegabig-omega","concepts/asymptotic-notation/index.html#thetabig-theta","concepts/asymptotic-notation/index.html#常見的複雜度","concepts/asymptotic-notation/index.html#你可能不適合漸進符號","concepts/asymptotic-notation/index.html#參考資料","searching/linear_search/index.html#線性搜尋-linear-search","searching/linear_search/index.html#效能","searching/linear_search/index.html#實作","searching/linear_search/index.html#參考資料","searching/binary_search/index.html#二元搜尋-binary-search","searching/binary_search/index.html#步驟","searching/binary_search/index.html#說明","searching/binary_search/index.html#效能","searching/binary_search/index.html#實作","searching/binary_search/index.html#函式宣告","searching/binary_search/index.html#函式主體","searching/binary_search/index.html#常見誤區與解法","searching/binary_search/index.html#變形與衍生","searching/binary_search/index.html#interpolation-search","searching/binary_search/index.html#exponential-search","searching/binary_search/index.html#binary-insertion-sort","searching/binary_search/index.html#參考資料","searching/interpolation_search/index.html#內插搜尋-interpolation-search","searching/interpolation_search/index.html#步驟","searching/interpolation_search/index.html#說明","searching/interpolation_search/index.html#效能","searching/interpolation_search/index.html#實作","searching/interpolation_search/index.html#變形與衍生","searching/interpolation_search/index.html#interpolation-search-tree","searching/interpolation_search/index.html#參考資料","searching/exponential_search/index.html#指數搜尋-exponential-search","searching/exponential_search/index.html#步驟","searching/exponential_search/index.html#說明","searching/exponential_search/index.html#效能","searching/exponential_search/index.html#劃定搜尋範圍","searching/exponential_search/index.html#執行二元搜尋","searching/exponential_search/index.html#實作","searching/exponential_search/index.html#參考資料","sorting/insertion_sort/index.html#插入排序-insertion-sort","sorting/insertion_sort/index.html#步驟","sorting/insertion_sort/index.html#效能","sorting/insertion_sort/index.html#實作","sorting/insertion_sort/index.html#變形","sorting/insertion_sort/index.html#binary-insertion-sort","sorting/insertion_sort/index.html#參考資料","sorting/selection_sort/index.html#選擇排序-selection-sort","sorting/selection_sort/index.html#步驟","sorting/selection_sort/index.html#說明","sorting/selection_sort/index.html#效能","sorting/selection_sort/index.html#實作","sorting/selection_sort/index.html#變形","sorting/selection_sort/index.html#heapsort","sorting/selection_sort/index.html#參考資料","sorting/bubble_sort/index.html#氣泡排序-bubble-sort","sorting/bubble_sort/index.html#步驟","sorting/bubble_sort/index.html#說明","sorting/bubble_sort/index.html#效能","sorting/bubble_sort/index.html#time-complexity","sorting/bubble_sort/index.html#實作","sorting/bubble_sort/index.html#參考資料","sorting/shellsort/index.html#希爾排序-shellsort","sorting/shellsort/index.html#步驟","sorting/shellsort/index.html#gap-sequneces","sorting/shellsort/index.html#說明","sorting/shellsort/index.html#效能","sorting/shellsort/index.html#實作","sorting/shellsort/index.html#參考資料","sorting/heapsort/index.html#堆積排序-heapsort","sorting/heapsort/index.html#步驟","sorting/heapsort/index.html#說明","sorting/heapsort/index.html#效能","sorting/heapsort/index.html#build-heap-heapify","sorting/heapsort/index.html#sorting-sift-down","sorting/heapsort/index.html#sum-up","sorting/heapsort/index.html#實作","sorting/heapsort/index.html#參考資料","sorting/quicksort/index.html#快速排序-quicksort","sorting/quicksort/index.html#步驟","sorting/quicksort/index.html#lomuto-partition-scheme","sorting/quicksort/index.html#說明","sorting/quicksort/index.html#效能","sorting/quicksort/index.html#time-complexity","sorting/quicksort/index.html#space-complexity","sorting/quicksort/index.html#實作","sorting/quicksort/index.html#recursion","sorting/quicksort/index.html#partitioning","sorting/quicksort/index.html#最佳化與變形","sorting/quicksort/index.html#降低額外空間複雜度","sorting/quicksort/index.html#選擇-pivot-的方法","sorting/quicksort/index.html#對付重複的元素","sorting/quicksort/index.html#選擇不同的分割方案","sorting/quicksort/index.html#參考資料","sorting/mergesort/index.html#合併排序-mergesort","sorting/mergesort/index.html#步驟","sorting/mergesort/index.html#說明","sorting/mergesort/index.html#效能","sorting/mergesort/index.html#time-complexity","sorting/mergesort/index.html#space-complexity","sorting/mergesort/index.html#實作","sorting/mergesort/index.html#top-down-split","sorting/mergesort/index.html#buttom-up-split","sorting/mergesort/index.html#the-merge-part","sorting/mergesort/index.html#變形","sorting/mergesort/index.html#timsort","sorting/mergesort/index.html#參考資料","sorting/counting_sort/index.html#計數排序-counting-sort","sorting/counting_sort/index.html#步驟","sorting/counting_sort/index.html#說明","sorting/counting_sort/index.html#效能","sorting/counting_sort/index.html#time-complexity","sorting/counting_sort/index.html#space-complexity","sorting/counting_sort/index.html#實作","sorting/counting_sort/index.html#function-signature","sorting/counting_sort/index.html#prefix-sums-array","sorting/counting_sort/index.html#prefix-sums-as-start-index","sorting/counting_sort/index.html#參考資料","sorting/bucket_sort/index.html#桶排序-bucket-sort","sorting/bucket_sort/index.html#步驟","sorting/bucket_sort/index.html#說明","sorting/bucket_sort/index.html#效能","sorting/bucket_sort/index.html#worst-case","sorting/bucket_sort/index.html#best-case","sorting/bucket_sort/index.html#space-complexity","sorting/bucket_sort/index.html#實作","sorting/bucket_sort/index.html#bucket","sorting/bucket_sort/index.html#sorting","sorting/bucket_sort/index.html#參考資料","sorting/radix_sort/index.html#基數排序-radix-sort","sorting/radix_sort/index.html#步驟","sorting/radix_sort/index.html#說明","sorting/radix_sort/index.html#效能","sorting/radix_sort/index.html#time-complexity","sorting/radix_sort/index.html#space-complexity","sorting/radix_sort/index.html#實作","sorting/radix_sort/index.html#參考資料","collections/stack/index.html#堆疊-stack","collections/stack/index.html#架構設計","collections/stack/index.html#基本操作","collections/stack/index.html#定義一個空間有限的堆疊","collections/stack/index.html#將新資料加入資料結構","collections/stack/index.html#將最新加入的資料移出資料結構","collections/stack/index.html#取得堆疊的大小","collections/stack/index.html#在不將資料退出堆疊的情況下偷看最後加入堆疊的資料","collections/stack/index.html#效能","collections/stack/index.html#參考資料","collections/queue/index.html#佇列-queue","collections/queue/index.html#架構設計","collections/queue/index.html#基本操作","collections/queue/index.html#定義佇列","collections/queue/index.html#將新資料加入佇列","collections/queue/index.html#將最先放入的資料移出佇列","collections/queue/index.html#取得佇列大小","collections/queue/index.html#不改變佇列的情況下取得最先放入的資料","collections/queue/index.html#效能","collections/queue/index.html#參考資料","collections/deque/index.html#雙端佇列-deque","collections/deque/index.html#架構設計","collections/deque/index.html#環形緩衝區","collections/deque/index.html#手動配置記憶體","collections/deque/index.html#deque","collections/deque/index.html#基本操作","collections/deque/index.html#邏輯索引映射","collections/deque/index.html#動態增加記憶體空間","collections/deque/index.html#查看元素","collections/deque/index.html#增刪元素","collections/deque/index.html#特徵","collections/deque/index.html#drop","collections/deque/index.html#iterator","collections/deque/index.html#intoiterator","collections/deque/index.html#index-and-indexmut","collections/deque/index.html#debug","collections/deque/index.html#效能","collections/deque/index.html#參考資料","collections/linked_list/index.html#鏈結串列-linked-list","collections/linked_list/index.html#特性","collections/linked_list/index.html#適用場景","collections/linked_list/index.html#術語","collections/linked_list/index.html#node","collections/linked_list/index.html#head-and-tail","collections/linked_list/index.html#sentinel-node","collections/linked_list/index.html#種類","collections/linked_list/index.html#參考資料","collections/singly_linked_list/index.html#單向鏈結串列-singly-linked-list","collections/singly_linked_list/index.html#實作設計","collections/singly_linked_list/index.html#node","collections/singly_linked_list/index.html#singlylinkedlist","collections/singly_linked_list/index.html#基本操作","collections/singly_linked_list/index.html#初始化與清除資料","collections/singly_linked_list/index.html#增刪首個節點","collections/singly_linked_list/index.html#插入刪除任意節點","collections/singly_linked_list/index.html#反轉","collections/singly_linked_list/index.html#traits","collections/singly_linked_list/index.html#drop-trait","collections/singly_linked_list/index.html#iterator-and-intoiterator-traits","collections/singly_linked_list/index.html#partialeq-trait","collections/singly_linked_list/index.html#debug-trait","collections/singly_linked_list/index.html#效能","collections/singly_linked_list/index.html#參考資料","collections/associative-container/index.html#關聯容器-associative-container","collections/associative-container/index.html#特性","collections/associative-container/index.html#適用場景","collections/associative-container/index.html#種類","collections/associative-container/index.html#雜湊表-hash-map","collections/associative-container/index.html#有序映射表-ordered-map","collections/associative-container/index.html#多重映射表-multimap","collections/associative-container/index.html#集合-set","collections/associative-container/index.html#布隆過濾器-bloom-filter","collections/associative-container/index.html#參考資料","collections/hash_map/index.html#雜湊表-hash-map","collections/hash_map/index.html#概念","collections/hash_map/index.html#雜湊","collections/hash_map/index.html#選擇雜湊函數","collections/hash_map/index.html#處理雜湊碰撞","collections/hash_map/index.html#動態調整雜湊表大小","collections/hash_map/index.html#架構設計","collections/hash_map/index.html#hash-and-eq","collections/hash_map/index.html#記憶體佈局","collections/hash_map/index.html#基本操作","collections/hash_map/index.html#初始化與預設值","collections/hash_map/index.html#存取單一元素","collections/hash_map/index.html#插入與刪除元素","collections/hash_map/index.html#動態調整儲存空間","collections/hash_map/index.html#實作疊代器方法","collections/hash_map/index.html#效能","collections/hash_map/index.html#時間複雜度","collections/hash_map/index.html#空間複雜度","collections/hash_map/index.html#參考資料","collections/set/index.html#集合-set","collections/set/index.html#架構設計","collections/set/index.html#以雜湊表為底層容器","collections/set/index.html#不佔空間的-unit-type","collections/set/index.html#基本操作","collections/set/index.html#集合運算","collections/set/index.html#實作聯集","collections/set/index.html#實作交集差集與對稱差集","collections/set/index.html#子集超集與不交集","collections/set/index.html#二元運算與運算子","collections/set/index.html#運算子多載","collections/set/index.html#比較運算子","collections/set/index.html#效能","collections/set/index.html#參考資料","collections/bloom_filter/index.html#布隆過濾器-bloom-filter","collections/bloom_filter/index.html#概念","collections/bloom_filter/index.html#架構設計","collections/bloom_filter/index.html#利用-vec-儲存位元","collections/bloom_filter/index.html#儲存兩個雜湊函數","collections/bloom_filter/index.html#使用--phantomdata--讓編譯器閉嘴","collections/bloom_filter/index.html#sized-讓容器可以儲存-dsts","collections/bloom_filter/index.html#基本操作","collections/bloom_filter/index.html#初始化","collections/bloom_filter/index.html#新增","collections/bloom_filter/index.html#查詢","collections/bloom_filter/index.html#效能","collections/bloom_filter/index.html#變形","collections/bloom_filter/index.html#可以計數的-counting-bloom-filter","collections/bloom_filter/index.html#動態適應空間大小的-scalable-bloom-filter","collections/bloom_filter/index.html#quotient-filter","collections/bloom_filter/index.html#支援刪除元素的-cuckoo-filter","collections/bloom_filter/index.html#參考資料","hamming_distance/index.html#漢明距離-hamming-distance","hamming_distance/index.html#位元版實作","hamming_distance/index.html#字串版實作","hamming_distance/index.html#效能","hamming_distance/index.html#參考資料","levenshtein_distance/index.html#萊文斯坦距離-levenshtein-distance","levenshtein_distance/index.html#概念","levenshtein_distance/index.html#萊文斯坦的遞迴函數","levenshtein_distance/index.html#動態規劃的距離矩陣","levenshtein_distance/index.html#實作","levenshtein_distance/index.html#距離矩陣","levenshtein_distance/index.html#使用一維陣列減少記憶體配置","levenshtein_distance/index.html#拋棄矩陣降低空間複雜度","levenshtein_distance/index.html#效能","levenshtein_distance/index.html#參考資料","CONTRIBUTING.html#貢獻指南","CONTRIBUTING.html#開始貢獻之前","CONTRIBUTING.html#提交你的成果","CONTRIBUTING.html#歡迎加入-rust-演算法俱樂部願演算法與你同在","404.html#oops-something-went-wrong"],"index":{"documentStore":{"docInfo":{"0":{"body":15,"breadcrumbs":6,"title":3},"1":{"body":2,"breadcrumbs":3,"title":0},"10":{"body":14,"breadcrumbs":3,"title":0},"100":{"body":21,"breadcrumbs":3,"title":2},"101":{"body":2,"breadcrumbs":1,"title":0},"102":{"body":58,"breadcrumbs":2,"title":1},"103":{"body":65,"breadcrumbs":2,"title":1},"104":{"body":2,"breadcrumbs":1,"title":0},"105":{"body":147,"breadcrumbs":1,"title":0},"106":{"body":6,"breadcrumbs":2,"title":1},"107":{"body":78,"breadcrumbs":1,"title":0},"108":{"body":61,"breadcrumbs":1,"title":0},"109":{"body":15,"breadcrumbs":1,"title":0},"11":{"body":0,"breadcrumbs":3,"title":0},"110":{"body":10,"breadcrumbs":2,"title":1},"111":{"body":15,"breadcrumbs":1,"title":0},"112":{"body":81,"breadcrumbs":1,"title":0},"113":{"body":17,"breadcrumbs":1,"title":0},"114":{"body":39,"breadcrumbs":3,"title":2},"115":{"body":8,"breadcrumbs":3,"title":2},"116":{"body":12,"breadcrumbs":1,"title":0},"117":{"body":59,"breadcrumbs":4,"title":3},"118":{"body":72,"breadcrumbs":4,"title":3},"119":{"body":82,"breadcrumbs":3,"title":2},"12":{"body":5,"breadcrumbs":3,"title":0},"120":{"body":0,"breadcrumbs":1,"title":0},"121":{"body":3,"breadcrumbs":2,"title":1},"122":{"body":20,"breadcrumbs":1,"title":0},"123":{"body":15,"breadcrumbs":4,"title":2},"124":{"body":13,"breadcrumbs":2,"title":0},"125":{"body":199,"breadcrumbs":2,"title":0},"126":{"body":16,"breadcrumbs":2,"title":0},"127":{"body":19,"breadcrumbs":4,"title":2},"128":{"body":15,"breadcrumbs":4,"title":2},"129":{"body":4,"breadcrumbs":2,"title":0},"13":{"body":15,"breadcrumbs":3,"title":0},"130":{"body":34,"breadcrumbs":4,"title":2},"131":{"body":65,"breadcrumbs":5,"title":3},"132":{"body":94,"breadcrumbs":6,"title":4},"133":{"body":7,"breadcrumbs":2,"title":0},"134":{"body":8,"breadcrumbs":4,"title":2},"135":{"body":15,"breadcrumbs":2,"title":0},"136":{"body":94,"breadcrumbs":2,"title":0},"137":{"body":18,"breadcrumbs":2,"title":0},"138":{"body":13,"breadcrumbs":4,"title":2},"139":{"body":54,"breadcrumbs":4,"title":2},"14":{"body":3,"breadcrumbs":4,"title":2},"140":{"body":19,"breadcrumbs":4,"title":2},"141":{"body":0,"breadcrumbs":2,"title":0},"142":{"body":54,"breadcrumbs":3,"title":1},"143":{"body":118,"breadcrumbs":3,"title":1},"144":{"body":18,"breadcrumbs":2,"title":0},"145":{"body":44,"breadcrumbs":4,"title":2},"146":{"body":40,"breadcrumbs":2,"title":0},"147":{"body":166,"breadcrumbs":2,"title":0},"148":{"body":17,"breadcrumbs":2,"title":0},"149":{"body":47,"breadcrumbs":4,"title":2},"15":{"body":21,"breadcrumbs":2,"title":0},"150":{"body":16,"breadcrumbs":4,"title":2},"151":{"body":68,"breadcrumbs":2,"title":0},"152":{"body":10,"breadcrumbs":2,"title":0},"153":{"body":13,"breadcrumbs":2,"title":1},"154":{"body":12,"breadcrumbs":1,"title":0},"155":{"body":5,"breadcrumbs":1,"title":0},"156":{"body":19,"breadcrumbs":1,"title":0},"157":{"body":20,"breadcrumbs":1,"title":0},"158":{"body":9,"breadcrumbs":1,"title":0},"159":{"body":11,"breadcrumbs":1,"title":0},"16":{"body":34,"breadcrumbs":2,"title":0},"160":{"body":7,"breadcrumbs":1,"title":0},"161":{"body":15,"breadcrumbs":1,"title":0},"162":{"body":10,"breadcrumbs":1,"title":0},"163":{"body":10,"breadcrumbs":2,"title":1},"164":{"body":10,"breadcrumbs":1,"title":0},"165":{"body":4,"breadcrumbs":1,"title":0},"166":{"body":8,"breadcrumbs":1,"title":0},"167":{"body":14,"breadcrumbs":1,"title":0},"168":{"body":13,"breadcrumbs":1,"title":0},"169":{"body":6,"breadcrumbs":1,"title":0},"17":{"body":71,"breadcrumbs":4,"title":2},"170":{"body":9,"breadcrumbs":1,"title":0},"171":{"body":24,"breadcrumbs":1,"title":0},"172":{"body":4,"breadcrumbs":1,"title":0},"173":{"body":13,"breadcrumbs":2,"title":1},"174":{"body":10,"breadcrumbs":1,"title":0},"175":{"body":149,"breadcrumbs":1,"title":0},"176":{"body":216,"breadcrumbs":1,"title":0},"177":{"body":25,"breadcrumbs":2,"title":1},"178":{"body":13,"breadcrumbs":1,"title":0},"179":{"body":178,"breadcrumbs":1,"title":0},"18":{"body":29,"breadcrumbs":4,"title":2},"180":{"body":188,"breadcrumbs":1,"title":0},"181":{"body":64,"breadcrumbs":1,"title":0},"182":{"body":112,"breadcrumbs":1,"title":0},"183":{"body":3,"breadcrumbs":1,"title":0},"184":{"body":28,"breadcrumbs":2,"title":1},"185":{"body":349,"breadcrumbs":2,"title":1},"186":{"body":105,"breadcrumbs":2,"title":1},"187":{"body":64,"breadcrumbs":3,"title":2},"188":{"body":31,"breadcrumbs":2,"title":1},"189":{"body":34,"breadcrumbs":1,"title":0},"19":{"body":56,"breadcrumbs":4,"title":2},"190":{"body":19,"breadcrumbs":1,"title":0},"191":{"body":0,"breadcrumbs":2,"title":2},"192":{"body":5,"breadcrumbs":0,"title":0},"193":{"body":5,"breadcrumbs":0,"title":0},"194":{"body":0,"breadcrumbs":0,"title":0},"195":{"body":5,"breadcrumbs":1,"title":1},"196":{"body":14,"breadcrumbs":2,"title":2},"197":{"body":22,"breadcrumbs":2,"title":2},"198":{"body":25,"breadcrumbs":0,"title":0},"199":{"body":13,"breadcrumbs":0,"title":0},"2":{"body":0,"breadcrumbs":3,"title":0},"20":{"body":26,"breadcrumbs":2,"title":0},"200":{"body":22,"breadcrumbs":6,"title":3},"201":{"body":0,"breadcrumbs":3,"title":0},"202":{"body":39,"breadcrumbs":4,"title":1},"203":{"body":15,"breadcrumbs":4,"title":1},"204":{"body":9,"breadcrumbs":3,"title":0},"205":{"body":19,"breadcrumbs":3,"title":0},"206":{"body":41,"breadcrumbs":3,"title":0},"207":{"body":137,"breadcrumbs":3,"title":0},"208":{"body":76,"breadcrumbs":3,"title":0},"209":{"body":3,"breadcrumbs":4,"title":1},"21":{"body":8,"breadcrumbs":2,"title":0},"210":{"body":106,"breadcrumbs":5,"title":2},"211":{"body":199,"breadcrumbs":6,"title":3},"212":{"body":33,"breadcrumbs":5,"title":2},"213":{"body":20,"breadcrumbs":5,"title":2},"214":{"body":24,"breadcrumbs":3,"title":0},"215":{"body":25,"breadcrumbs":3,"title":0},"216":{"body":10,"breadcrumbs":2,"title":2},"217":{"body":3,"breadcrumbs":0,"title":0},"218":{"body":3,"breadcrumbs":0,"title":0},"219":{"body":0,"breadcrumbs":0,"title":0},"22":{"body":15,"breadcrumbs":2,"title":0},"220":{"body":0,"breadcrumbs":2,"title":2},"221":{"body":2,"breadcrumbs":2,"title":2},"222":{"body":0,"breadcrumbs":1,"title":1},"223":{"body":2,"breadcrumbs":1,"title":1},"224":{"body":0,"breadcrumbs":2,"title":2},"225":{"body":21,"breadcrumbs":0,"title":0},"226":{"body":3,"breadcrumbs":4,"title":2},"227":{"body":114,"breadcrumbs":2,"title":0},"228":{"body":19,"breadcrumbs":2,"title":0},"229":{"body":7,"breadcrumbs":2,"title":0},"23":{"body":4,"breadcrumbs":4,"title":2},"230":{"body":99,"breadcrumbs":2,"title":0},"231":{"body":33,"breadcrumbs":2,"title":0},"232":{"body":2,"breadcrumbs":2,"title":0},"233":{"body":89,"breadcrumbs":4,"title":2},"234":{"body":68,"breadcrumbs":2,"title":0},"235":{"body":17,"breadcrumbs":2,"title":0},"236":{"body":75,"breadcrumbs":2,"title":0},"237":{"body":71,"breadcrumbs":2,"title":0},"238":{"body":102,"breadcrumbs":2,"title":0},"239":{"body":66,"breadcrumbs":2,"title":0},"24":{"body":14,"breadcrumbs":2,"title":0},"240":{"body":107,"breadcrumbs":2,"title":0},"241":{"body":23,"breadcrumbs":2,"title":0},"242":{"body":28,"breadcrumbs":2,"title":0},"243":{"body":5,"breadcrumbs":2,"title":0},"244":{"body":38,"breadcrumbs":2,"title":0},"245":{"body":5,"breadcrumbs":2,"title":1},"246":{"body":0,"breadcrumbs":1,"title":0},"247":{"body":13,"breadcrumbs":1,"title":0},"248":{"body":13,"breadcrumbs":3,"title":2},"249":{"body":84,"breadcrumbs":1,"title":0},"25":{"body":35,"breadcrumbs":2,"title":0},"250":{"body":21,"breadcrumbs":1,"title":0},"251":{"body":240,"breadcrumbs":1,"title":0},"252":{"body":50,"breadcrumbs":1,"title":0},"253":{"body":42,"breadcrumbs":1,"title":0},"254":{"body":5,"breadcrumbs":1,"title":0},"255":{"body":60,"breadcrumbs":1,"title":0},"256":{"body":236,"breadcrumbs":1,"title":0},"257":{"body":31,"breadcrumbs":1,"title":0},"258":{"body":16,"breadcrumbs":1,"title":0},"259":{"body":36,"breadcrumbs":4,"title":2},"26":{"body":3,"breadcrumbs":2,"title":0},"260":{"body":49,"breadcrumbs":2,"title":0},"261":{"body":0,"breadcrumbs":2,"title":0},"262":{"body":102,"breadcrumbs":3,"title":1},"263":{"body":35,"breadcrumbs":2,"title":0},"264":{"body":118,"breadcrumbs":3,"title":1},"265":{"body":28,"breadcrumbs":4,"title":2},"266":{"body":23,"breadcrumbs":2,"title":0},"267":{"body":105,"breadcrumbs":2,"title":0},"268":{"body":94,"breadcrumbs":2,"title":0},"269":{"body":169,"breadcrumbs":2,"title":0},"27":{"body":5,"breadcrumbs":4,"title":2},"270":{"body":40,"breadcrumbs":2,"title":0},"271":{"body":30,"breadcrumbs":2,"title":0},"272":{"body":32,"breadcrumbs":5,"title":3},"273":{"body":41,"breadcrumbs":5,"title":3},"274":{"body":66,"breadcrumbs":4,"title":2},"275":{"body":72,"breadcrumbs":4,"title":2},"276":{"body":31,"breadcrumbs":2,"title":0},"277":{"body":8,"breadcrumbs":4,"title":2},"278":{"body":58,"breadcrumbs":2,"title":0},"279":{"body":60,"breadcrumbs":2,"title":0},"28":{"body":0,"breadcrumbs":2,"title":0},"280":{"body":3,"breadcrumbs":2,"title":0},"281":{"body":3,"breadcrumbs":2,"title":0},"282":{"body":10,"breadcrumbs":4,"title":2},"283":{"body":0,"breadcrumbs":2,"title":0},"284":{"body":98,"breadcrumbs":2,"title":0},"285":{"body":51,"breadcrumbs":2,"title":0},"286":{"body":30,"breadcrumbs":2,"title":0},"287":{"body":158,"breadcrumbs":2,"title":0},"288":{"body":46,"breadcrumbs":2,"title":0},"289":{"body":89,"breadcrumbs":2,"title":0},"29":{"body":87,"breadcrumbs":2,"title":0},"290":{"body":18,"breadcrumbs":2,"title":0},"291":{"body":27,"breadcrumbs":2,"title":0},"292":{"body":1,"breadcrumbs":0,"title":0},"293":{"body":9,"breadcrumbs":0,"title":0},"294":{"body":7,"breadcrumbs":0,"title":0},"295":{"body":0,"breadcrumbs":1,"title":1},"296":{"body":0,"breadcrumbs":5,"title":4},"3":{"body":8,"breadcrumbs":3,"title":0},"30":{"body":65,"breadcrumbs":2,"title":0},"31":{"body":0,"breadcrumbs":2,"title":0},"32":{"body":20,"breadcrumbs":2,"title":0},"33":{"body":68,"breadcrumbs":2,"title":0},"34":{"body":17,"breadcrumbs":2,"title":0},"35":{"body":0,"breadcrumbs":2,"title":0},"36":{"body":6,"breadcrumbs":4,"title":2},"37":{"body":7,"breadcrumbs":4,"title":2},"38":{"body":5,"breadcrumbs":5,"title":3},"39":{"body":4,"breadcrumbs":2,"title":0},"4":{"body":19,"breadcrumbs":3,"title":0},"40":{"body":6,"breadcrumbs":4,"title":2},"41":{"body":9,"breadcrumbs":2,"title":0},"42":{"body":88,"breadcrumbs":2,"title":0},"43":{"body":46,"breadcrumbs":2,"title":0},"44":{"body":198,"breadcrumbs":2,"title":0},"45":{"body":0,"breadcrumbs":2,"title":0},"46":{"body":30,"breadcrumbs":5,"title":3},"47":{"body":65,"breadcrumbs":2,"title":0},"48":{"body":9,"breadcrumbs":4,"title":2},"49":{"body":8,"breadcrumbs":2,"title":0},"5":{"body":0,"breadcrumbs":3,"title":0},"50":{"body":68,"breadcrumbs":2,"title":0},"51":{"body":10,"breadcrumbs":2,"title":0},"52":{"body":9,"breadcrumbs":2,"title":0},"53":{"body":18,"breadcrumbs":2,"title":0},"54":{"body":73,"breadcrumbs":2,"title":0},"55":{"body":3,"breadcrumbs":2,"title":0},"56":{"body":9,"breadcrumbs":4,"title":2},"57":{"body":6,"breadcrumbs":2,"title":0},"58":{"body":38,"breadcrumbs":2,"title":0},"59":{"body":25,"breadcrumbs":2,"title":0},"6":{"body":3,"breadcrumbs":3,"title":0},"60":{"body":0,"breadcrumbs":2,"title":0},"61":{"body":67,"breadcrumbs":5,"title":3},"62":{"body":16,"breadcrumbs":2,"title":0},"63":{"body":12,"breadcrumbs":4,"title":2},"64":{"body":17,"breadcrumbs":2,"title":0},"65":{"body":47,"breadcrumbs":2,"title":0},"66":{"body":31,"breadcrumbs":2,"title":0},"67":{"body":36,"breadcrumbs":2,"title":0},"68":{"body":0,"breadcrumbs":2,"title":0},"69":{"body":7,"breadcrumbs":3,"title":1},"7":{"body":9,"breadcrumbs":3,"title":0},"70":{"body":16,"breadcrumbs":2,"title":0},"71":{"body":12,"breadcrumbs":4,"title":2},"72":{"body":6,"breadcrumbs":2,"title":0},"73":{"body":182,"breadcrumbs":2,"title":0},"74":{"body":11,"breadcrumbs":2,"title":0},"75":{"body":23,"breadcrumbs":4,"title":2},"76":{"body":61,"breadcrumbs":2,"title":0},"77":{"body":14,"breadcrumbs":2,"title":0},"78":{"body":18,"breadcrumbs":2,"title":1},"79":{"body":12,"breadcrumbs":1,"title":0},"8":{"body":8,"breadcrumbs":3,"title":0},"80":{"body":44,"breadcrumbs":3,"title":2},"81":{"body":182,"breadcrumbs":1,"title":0},"82":{"body":33,"breadcrumbs":1,"title":0},"83":{"body":62,"breadcrumbs":1,"title":0},"84":{"body":17,"breadcrumbs":1,"title":0},"85":{"body":24,"breadcrumbs":2,"title":1},"86":{"body":19,"breadcrumbs":1,"title":0},"87":{"body":134,"breadcrumbs":1,"title":0},"88":{"body":21,"breadcrumbs":1,"title":0},"89":{"body":68,"breadcrumbs":4,"title":3},"9":{"body":7,"breadcrumbs":3,"title":0},"90":{"body":15,"breadcrumbs":4,"title":3},"91":{"body":5,"breadcrumbs":3,"title":2},"92":{"body":169,"breadcrumbs":1,"title":0},"93":{"body":20,"breadcrumbs":1,"title":0},"94":{"body":12,"breadcrumbs":2,"title":1},"95":{"body":13,"breadcrumbs":1,"title":0},"96":{"body":38,"breadcrumbs":4,"title":3},"97":{"body":144,"breadcrumbs":1,"title":0},"98":{"body":17,"breadcrumbs":1,"title":0},"99":{"body":43,"breadcrumbs":3,"title":2}},"docs":{"0":{"body":"歡迎來到 Rust 演算法俱樂部!本專案受 Swift Algorithm Club 啟發,專案中的演算法皆使用 Rust 程式語言 撰寫說明與實作!您可以在 Rust Algorithm Club 一站,依您的意願,挑選有興趣的演算法知識學習;若您夠大膽,推薦您閱讀 自動生成的 API 文件 ,直接單挑程式原始碼。 本專案原始碼放在 GitHub 上,非常期待您的貢獻。 Rust Edition Build Status Documentation","breadcrumbs":"Rust Algorithm Club » Rust Algorithm Club","id":"0","title":"Rust Algorithm Club"},"1":{"body":"漸進符號 Asymptotic Notation","breadcrumbs":"Rust Algorithm Club » 基礎概念","id":"1","title":"基礎概念"},"10":{"body":"有許多優秀的網站與學習資源,分享給大家學習演算法。 VisuAlgo - 也許是最好的演算法視覺化專案。 Big-O Cheat Sheet - 最全面的 Big O cheat sheet。 Rosetta Code - 使用各種程式語言,解答上百種不同程式問題。 Competitive Programmer's Handbook - 讓你更有競爭力。這書本身也很有競爭力。","breadcrumbs":"Rust Algorithm Club » 學習資源","id":"10","title":"學習資源"},"100":{"body":"Quicksort 的空間複雜度取決於實作細節,由於 分割序列 步驟需 $O(1) $ 的空間複雜度,因此僅需分析遞迴式會在 call stack 產生多少 stack frame 即可。 前面提及 ,最 naïve 的 Lomuto partition 最糟糕的情形下,會產生 $n - 1 $ 個嵌套遞迴,也就是需額外使用 $O(n) $ 的空間儲存 call stack frame,但只要 compiler 有支援 尾端呼叫 最佳化(tail-call optimization,TCO),Quicksort 很容易最佳化至 $O(\\log n) $。","breadcrumbs":"快速排序 Quicksort » Space complexity","id":"100","title":"Space complexity"},"101":{"body":"Quicksort 實作主要分為兩部分:遞迴,以及分割序列(partition)。","breadcrumbs":"快速排序 Quicksort » 實作","id":"101","title":"實作"},"102":{"body":"遞迴函式本身實作非常簡單,分別將小於 pivot 與大於 pivot 兩部分遞迴呼叫自身即可。 /// Recursion helper\nfn quicksort_helper(arr: &mut [i32], lo: isize, hi: isize) { if lo <= hi { // 1 let pivot = partition(arr, lo, hi); // 2 quicksort_helper(arr, lo, pivot - 1); // 3 quicksort_helper(arr, pivot + 1, hi); // 4 }\n} 利用 lo 與 hi 兩個指標決定每次的遞迴範圍,並在 lo 大於 hi 時停止遞迴,避免重複分割序列。 分割序列步驟,回傳該序列範圍內 pivot 的 index。 遞迴小於 pivot 的部分。 遞迴大於 pivot 的部分。 這邊比較特別的是,lo 和 hi 兩個指標的型別為 isize,因為當 pivot 可能為 0,在第三步驟 - 1 時會產生型別錯誤,故為之。有任何更好的寫法歡迎提供! 由於外部不需知道排序法實作細節,我們將函式命名為 quicksort_helper ,對外再多封裝一層主函式 quicksort_lomuto,實作如下: pub fn quicksort_lomuto(arr: &mut [i32]) { let hi = arr.len() as isize - 1; quicksort_helper(arr, 0, hi);\n}","breadcrumbs":"快速排序 Quicksort » Recursion","id":"102","title":"Recursion"},"103":{"body":"一般來說,分割序列的實作有下列兩個步驟: 選擇 pivot 遍歷序列置換元素 我們以 Lomuto scheme 實作 partition。 fn partition(arr: &mut [i32], lo: isize, hi: isize) -> isize { // -- Determine the pivot -- // In Lomuto parition scheme, // the latest element is always chosen as the pivot. let pivot = arr[hi as usize]; // 1 let mut i = lo; // -- Swap elements -- for j in lo..hi { // 2 if arr[j as usize] < pivot { arr.swap(i as usize, j as usize); i += 1; // 3 } } // Swap pivot to the middle of two piles. arr.swap(i as usize, hi as usize); // 4 i // Return the final index of the pivot\n} Lomuto scheme 選擇 pivot 的方式很直接,就是選擇最後一個元素。 利用 i、j 兩個指標疊代指定的序列範圍,若第 j 個值小於 pivot 時,則於第 i 個元素置換。 i 指標加一,繼續處理下個元素。 最後置換第 i 個元素於 pivot,此時 pivot 已落在最終正確的位置。","breadcrumbs":"快速排序 Quicksort » Partitioning","id":"103","title":"Partitioning"},"104":{"body":"Quicksort 有數個方向可以探討最佳化: 降低額外空間複雜度 選擇 Pivot 的方法 對付重複的元素 選擇不同的分割方案","breadcrumbs":"快速排序 Quicksort » 最佳化與變形","id":"104","title":"最佳化與變形"},"105":{"body":"前述提到最佳情形下(每次 pivot 都選到中位數),僅需 $\\log n $ 個嵌套遞迴,額外空間複雜度僅需 $O(\\log n) $。 倘若編譯器有實作 尾端呼叫最佳化 ,Quicksort 可以達到 $O(\\log n) $ 對數級別的額外空間使用。 實作尾端呼叫最佳化的思路很簡單,「 先遞迴較少元素的部分,再利用 tall-call 遞迴另一部分 」,如此以來,較多元素的遞迴則會直接被編譯器展開,消去遞迴時需要的 call stack 空間。剩下較少元素的部分,則與最佳情形相同,最多僅需 $\\log n $ 次嵌套遞迴。 簡單實作如下: fn quicksort_helper_optimized(arr: &mut [i32], lo: isize, hi: isize) { if lo <= hi { let pivot = partition(arr, lo, hi); if pivot - lo < hi - pivot { // 1 quicksort_helper_optimized(arr, lo, pivot - 1); quicksort_helper_optimized(arr, pivot + 1, hi); // 2 } else { quicksort_helper_optimized(arr, pivot + 1, hi); quicksort_helper_optimized(arr, lo, pivot - 1); // 3 } }\n} 說穿了就只有這個判斷式,決定哪部分該先遞迴而已。 這是一個尾端呼叫,會展開。 這也是一個尾端呼叫。 實際上,截至 2018.2, Rust Core Team 決定暫緩 TCO 的實作 ,目前 Rust 並沒有支援 TCO。但我們還是可以手動實作 TCO,減少 call stack。 我們先把原始的 lomuto partition 實作改成手動 TCO 版本。利用 while loop,將 lo 替換成下一個遞迴的引數,減少部分的 call stack。 - fn quicksort_helper(arr: &mut [i32], lo: isize, hi: isize) {\n+ fn quicksort_helper_manual_tco(arr: &mut [i32], mut lo: isize, mut hi: isize) {\n- if lo <= hi {\n+ while lo < hi { let pivot = partition(arr, lo, hi);\n- quicksort_helper(arr, lo, pivot - 1);\n- quicksort_helper(arr, pivot + 1, hi);\n+ quicksort_helper_manual_tco(arr, lo, pivot - 1);\n+ lo = pivot + 1; } } 再來,選擇性遞迴較小的部分。Iterative 版本的尾端呼叫消除(tail-call eliminate)就做完了! fn quicksort_helper_manual_tco(arr: &mut [i32], mut lo: isize, mut hi: isize) { while lo < hi { let pivot = partition(arr, lo, hi); if pivot - lo < hi - pivot { quicksort_helper_manual_tco(arr, lo, pivot - 1); lo = pivot + 1; } else { quicksort_helper_manual_tco(arr, pivot + 1, hi); hi = pivot - 1; } }\n}","breadcrumbs":"快速排序 Quicksort » 降低額外空間複雜度","id":"105","title":"降低額外空間複雜度"},"106":{"body":"選擇 pivot 的方法大致上有以下幾種: 總是選擇最後一個元素。 總是選擇第一個元素。 選擇特定位置(如中位數)的元素。 隨機選擇任意元素。 選擇第一個或最後一個元素會印序列已經接近排序完成或相反排序,造成 $O(n^2) $ 最壞的時間複雜度。隨機或選擇特定位置的方法較能避免這種情況,但實作上較困難。 除了選擇 pivot 的方法,近幾年來多 pivot(multi-pivot)Quicksort 也愈趨流行,可以減少 20% 的元素置換。相關的討論與證明可以參考 這篇文章 。","breadcrumbs":"快速排序 Quicksort » 選擇 Pivot 的方法","id":"106","title":"選擇 Pivot 的方法"},"107":{"body":"若輸入序列有許多重複的元素,使用原本 Lomuto scheme 實作的 Quicksort 仍然會比較置換等於 pivot 的所有元素。3-way partition scheme 就是將序列多分出「等於 pivot」部分,減少重複置換相等元素的排序法。 [ values < pivot | values == pivot | value > pivot ] 通常是使用著名的 Dutch national flag algorithm 來解決這個問題。實作上和 Lomuto 非常類似。 fn partition(arr: &mut [i32], lo: isize, hi: isize) -> (isize, isize) { let pivot = arr[hi as usize]; let mut i = lo; // smaller let mut j = lo; // equal let mut k = hi; // large while j <= k { if arr[j as usize] < pivot { arr.swap(i as usize, j as usize); i += 1; j += 1; } else if arr[j as usize] > pivot { arr.swap(k as usize, j as usize); k -= 1; } else { // No swap when identicial. j += 1; } } // Return smaller and larger pointer to avoid iterate duplicate elements. (i, k)\n}","breadcrumbs":"快速排序 Quicksort » 對付重複的元素","id":"107","title":"對付重複的元素"},"108":{"body":"不同的分割方案有著不同的應用場景,如上述的 3-way scheme 就適合重複元素多的序列。這裡再多介紹另一個常見的分割實作方案 Hoare partition,是 Quicksort 發明這 Hoare 自己提出的分割法,Rust 實作演算法如下: fn partition(arr: &mut [i32], lo: usize, hi: usize) -> usize { let pivot = arr[lo]; let mut i = lo; let mut j = hi; loop { // Find element >= pivot from leftmost element. while arr[i] < pivot { // 1 i += 1; } // Find element <= pivot from rightmost element. while arr[j] > pivot { // 2 j -= 1; } if i >= j { return j; } // Two elements are misplaced, swap them. arr.swap(i, j); // 3 i += 1; j -= 1; }\n} 從最左邊開始找比 pivot 大或相等的元素。 從最右邊開始找比 pivot 小或相等的元素。 若找到這兩個元素,置換之,以符合小於 pivot 在前,大於 pivot 在後的分割準則。","breadcrumbs":"快速排序 Quicksort » 選擇不同的分割方案","id":"108","title":"選擇不同的分割方案"},"109":{"body":"Wiki: Quicksort Algorithms, 4th Edition by R. Sedgewick and K. Wayne GeeksForGeeks: QuickSort Swift Algorithm Club: Quicksort","breadcrumbs":"快速排序 Quicksort » 參考資料","id":"109","title":"參考資料"},"11":{"body":"歡迎各式各樣的貢獻,修正錯字也行!開始動手之前,請先閱讀 貢獻指南 。","breadcrumbs":"Rust Algorithm Club » 如何貢獻","id":"11","title":"如何貢獻"},"110":{"body":"Mergesort 是一個泛用且高效穩定的排序法,最佳與最差時間複雜都是 $O(n \\log n) $。Mergesort 可謂著名「Divide and Conquer」手法的經典案例,先將序列分成更小的子序列(Divide),一個個排序後(Conquer),再合併已排序的子序列(Combine)。 高效穩定 :最佳、平均,與最差時間複雜度皆為 $O(n \\log n) $。 穩定排序 :相同鍵值的元素,排序後相對位置不改變。 非原地排序 :除了資料本身,仍需額外花費儲存空間來排序。 分治演算法 :將主問題化作數個子問題,各個擊破。","breadcrumbs":"合併排序 Mergesort » 合併排序 Mergesort","id":"110","title":"合併排序 Mergesort"},"111":{"body":"Mergesort 演算法分為以下步驟: Divide :將含有 n 個元素的序列分割成含有 n / 2 個子序列。 Conquer :排序分割後的兩個子序列。 Combine :合併排序完成的兩子序列,成為一個排好序的序列。 其中,Conquer 步驟中的「排序」可以不斷遞迴 Mergesort 自身,因此需要停止遞迴的條件(base case),我們將條件設定為「子序列的長度小於 2」,因為長度為 1 的序列可視為已完成排序。 將 Mergesort 視覺化排序如下: mergsort","breadcrumbs":"合併排序 Mergesort » 步驟","id":"111","title":"步驟"},"112":{"body":"以 ASCII diagram 圖解 Mergesort。 先將原始序列分割成數個長度為一的子序列。 Split array into length 1 subarray. [8, 7, 1, 2, 4, 6, 5, 3] | [8, 7, 1, 2] | [4, 6, 5, 3] | [8, 7] [1, 2] | [4, 6] [5, 3] |\n[8] [7] [1] [2] | [4] [6] [5] [3] V split 再將子序列依序合併成一個排好序的大序列。 Recursively merge subarray respecting the order. Merge |\n[8] [7] [1] [2] | [4] [6] [5] [3] | [7, 8] [1, 2] | [4, 6] [3, 5] | [1, 2, 7, 8] | [3, 4, 5, 6] V [1, 2, 3, 4, 5, 6, 7, 8]","breadcrumbs":"合併排序 Mergesort » 說明","id":"112","title":"說明"},"113":{"body":"Complexity Worst $O(n \\log n) $ Best $O(n \\log n) $ Average $O(n \\log n) $ Worst space $O(n) $ auxiliary","breadcrumbs":"合併排序 Mergesort » 效能","id":"113","title":"效能"},"114":{"body":"透過遞迴關係式,很容易計算 Mergesort 的時間複雜度。假設排序長度為 $n $ 的序列最多需要 $T(n) $ 時間。可以觀察到,如果序列只有一個元素,Mergesort 僅需要常數時間就可以完成排序,寫成 $T(n) = 1 $。 如果 $n > 2 $,Mergesort 會將序列分為 $\\lceil \\frac{n}{2} \\rceil $ 部分,以及 $\\lfloor \\frac{n}{2} \\rfloor $ 部分。我們可以將排序前者寫成 $T(\\lceil \\frac{n}{2} \\rceil) $,而後者花費時間為 $ T(\\lfloor \\frac{n}{2} \\rfloor) $。 最後,合併兩個子序列僅需 $n $ 個操作。可得下列遞迴關係式。 (為了方便計算,把 floor 和 ceil 捨去) $$ T(n) = \\begin{cases} 1 & \\text{if } n = 1, \\\\ 2T(\\frac{n}{2}) + n & \\text{otherwise.} \\end{cases} $$ 根據 Master Theorem ,可得複雜度為 $O(n \\log n) $。","breadcrumbs":"合併排序 Mergesort » Time Complexity","id":"114","title":"Time Complexity"},"115":{"body":"Mergesort 的缺點之一就是在合併子序列時,需要額外的空間依序插入排序資料;若是遞迴版本的 Mergesort 還需額外加上遞迴花費的 call stack 空間,因此額外空間複雜度為 $O(n) + O(\\log n) = O(n) $(以陣列實作)。","breadcrumbs":"合併排序 Mergesort » Space Complexity","id":"115","title":"Space Complexity"},"116":{"body":"一般來說,Divide and Conquer 有兩種設計、解決問題的技巧:Top-down(自上而下)與 Buttom-up(自下而上)。前者是先對問題有整體的輪廓概念,再逐步針對細節一一處理;後者則是先準備每個問題需要的基礎步驟與元件,再將這些步驟結合,解決整體的問題。 Mergesort 的實作分為兩部分: mergesort 主程式:對外的介面,負責分割序列。對應 Divide 功能。 merge:合併子序列,對應到 Conquer 與 Combine 功能。 先來看看如何分割序列。","breadcrumbs":"合併排序 Mergesort » 實作","id":"116","title":"實作"},"117":{"body":"自上而下的解法會不斷以類似 binary search 的方式找中點,進而分割序列。 pub fn mergesort(arr: &mut [i32]) { let mid = arr.len() / 2; if mid == 0 { // 1 return; } mergesort(&mut arr[..mid]); // 2 mergesort(&mut arr[mid..]); // Create an array to store intermediate result. let mut ret = arr.to_vec(); // 3 // Merge the two piles. merge(&arr[..mid], &arr[mid..], &mut ret[..]); // 4 // Copy back the result back to original array. arr.copy_from_slice(&ret); // 5\n} 設定遞迴的終止條件(base case),middle index 為 0 表示長度不大於 1。 利用 Rust 的 Range Operator ,可快速分割兩個 slice。 建立一個 Vec 儲存排序結果。 將兩個 slice 合併排序至 ret vector 中。 將 ret 的結果複製到原始 arr 中,使回傳值保有相同起始位址。","breadcrumbs":"合併排序 Mergesort » Top-down split","id":"117","title":"Top-down split"},"118":{"body":"自下而上的解法則是預定好最小的子序列長度,直接使用 for 迴圈從頭開始逐一擊破。 pub fn mergesort_bottom_up(arr: &mut [i32]) { let mut width = 1; // 1 // Create an array to store intermediate result. let mut ret = arr.to_vec(); // 2 let len = arr.len(); while width < len { let mut i = 0; while i < len { // Check to avoid upper bound and middle index out of bound. let upper = ::std::cmp::min(i + 2 * width, len); // 3 let mid = ::std::cmp::min(i + width, len); merge(&arr[i..mid], &arr[mid..upper], &mut ret[i..upper]); // Copy the merged result back to original array. arr[i..upper].copy_from_slice(&ret[i..upper]); // 4 // Increase start index to merge next two subsequences. i += 2 * width; // 5 } width *= 2; // 6 }\n} 設定最小的子序列長度,這個長度以下的子序列皆視為已排序。 建立一個 Vec 儲存排序結果。 取最小值,避免下標超出邊界,並且維持除了最後一組,其他子序列長度恆為 width。 複製這部分排序結果 ret 到原始的 arr 中。 繼續下兩個子序列的合併步驟。 將下個疊代的子序列長度加倍,繼續合併。","breadcrumbs":"合併排序 Mergesort » Buttom-up split","id":"118","title":"Buttom-up split"},"119":{"body":"無論是 Top-down 還是 Buttom-up 版本的解法,皆免不了 merge 這個共同步驟,將子序列合併為較大的序列。 fn merge(arr1: &[i32], arr2: &[i32], ret: &mut [i32]) { let mut left = 0; // Head of left pile. // 1 let mut right = 0; // Head of right pile. let mut index = 0; // Compare element and insert back to result array. while left < arr1.len() && right < arr2.len() { // 2 if arr1[left] <= arr2[right] { // 3 ret[index] = arr1[left]; index += 1; left += 1; } else { ret[index] = arr2[right]; index += 1; right += 1; } } // Copy the reset elements to returned array. // `memcpy` may be more performant than for-loop assignment. if left < arr1.len() { // 4 ret[index..].copy_from_slice(&arr1[left..]); } if right < arr2.len() { ret[index..].copy_from_slice(&arr2[right..]); }\n} 建立三個指標,分別給 arr1、arr2 與回傳陣列 ret 使用。 這部分依序比較兩個子序列,排序較小者先進入回傳 ret。直到其中一序列所有元素都進入 ret 就停止。 這邊判斷使用 <= 小於等於確保排序穩定(相同鍵值順序不換)。 將剩餘未進入 ret 的元素,依序複製到 ret 中。 slice.copy_from_slice 底層使用 C 的 memcpy,比起 for-loop 一個個賦值,直接複製整塊記憶體比較快了。","breadcrumbs":"合併排序 Mergesort » The merge part","id":"119","title":"The merge part"},"12":{"body":"@weihanglo @choznerol @henry40408 @wiasliaw77210 @LebranceBW","breadcrumbs":"Rust Algorithm Club » 貢獻者","id":"12","title":"貢獻者"},"120":{"body":"","breadcrumbs":"合併排序 Mergesort » 變形","id":"120","title":"變形"},"121":{"body":"在真實世界資料中,早有許多部分排序的分區(natural run),倘若跳過排序這些分區的步驟,就可減少許多不必要的操作, Timsort 就是為了完全利用榨乾這些分區的混合排序法。","breadcrumbs":"合併排序 Mergesort » Timsort","id":"121","title":"Timsort"},"122":{"body":"Wiki: Merge sort CMSC 351 Algorithms, Fall, 2011, University of Maryland. Sorting GIF was created By CobaltBlue CC BY-SA 2.5 via Wikimedia Commons.","breadcrumbs":"合併排序 Mergesort » 參考資料","id":"122","title":"參考資料"},"123":{"body":"Counting sort 是一個特殊的整數排序法,被視為 Bucket sort 的特例。原理是在已知整數範圍內,計算每個鍵值出現次數,並用額外的陣列保存(Count array)。最後將 Count array 的元素值作為排序資料的新 index。 Counting sort 基本特性如下: 非原地排序 :額外花費較大量、非固定的空間來排序。 穩定排序 :相同鍵值的元素,排序後相對位置不改變。 整數排序 :以整數作為排序的鍵值。 分配式排序 :不透過兩兩比較,而是分析鍵值分佈來排序。特定情況下可達線性執行時間。 線型執行時間 :當輸入資料量 n 與已知範圍上下界之差值相近,執行時間接近線型( O(n) ) 預期分佈 :預期輸入資料是落在已知範圍內的整數(例如 0 到 k)。 適用範圍 :僅適用於小範圍整數(額外空間需求大)。","breadcrumbs":"計數排序 Counting sort » 計數排序 Counting sort","id":"123","title":"計數排序 Counting sort"},"124":{"body":"Count occurrence :計算每個 key 的出現次數。 Prefix sum as start index :計算前綴和(Prefix sum),並作為該元素的 start index。 Copy output :利用步驟二的前綴和,遍歷輸入資料,取得元素排序後的索引。","breadcrumbs":"計數排序 Counting sort » 步驟","id":"124","title":"步驟"},"125":{"body":"這裡有資料需要透過正整數的 key 來排序。key 的範圍在 0 - 9 之間,格式為 (key, value)。 Input: (1, A) (5, B) (8, C) (2, D) (2, E) (9, F) 1. Count occurrence :首先,先計算每個 key 的出現頻率,儲存在額外的 count array 中。 Key : 0 1 2 3 4 5 6 7 8 9\nCount: 0 1 2 0 0 1 0 0 1 1 2. Prefix sum as start index :再計算 prefix sum,也就是將當前 index 前累計的 key 數量加總。例如 key 5 的 prefix sum 1 + 2 = 3 。 這裡的 prefix sum 等同於每筆資料排序後的位置(index)。例如排序後, 8 位於陣列第四位。 Key : 0 1 2 3 4 5 6 7 8 9\nPrefix Sum: 0 0 1 3 3 3 4 4 4 5 3. Copy output :透過 key 與 prefix sum 的映射關係,找到原始資料對應的位置。 實作上,每筆資料找到對應的 start index(prefix sum) 後,要將 該 index 之值 +1 ,使得重複的元素可取得正確的 index offset(對唯一的 key 沒有影響)。 (1, A)\n--> prefix sum 為 0,寫入 array[0],並將 prefix sum + 1 +--------+--------+--------+--------+--------+--------+\n| (1, A) | | | | | |\n+--------+--------+--------+--------+--------+--------+ (5, B)\n--> prefix sum 為 3,寫入 array[3],並將 prefix sum + 1 +--------+--------+--------+--------+--------+--------+\n| (1, A) | | | (5, B) | | |\n+--------+--------+--------+--------+--------+--------+ (8, C)\n--> prefix sum 為 4,寫入 array[4],並將 prefix sum + 1 +--------+--------+--------+--------+--------+--------+\n| (1, A) | | | (5, B) | (8, C) | |\n+--------+--------+--------+--------+--------+--------+ (2, D)\n--> prefix sum 為 1,寫入 array[1],並將 prefix sum + 1 +--------+--------+--------+--------+--------+--------+\n| (1, A) | (2, D) | | (5, B) | (8, C) | |\n+--------+--------+--------+--------+--------+--------+ (2, E)\n--> prefix sum 為 2(前一步驟 + 1),寫入 array[2],並將 prefix sum + 1 +--------+--------+--------+--------+--------+--------+\n| (1, A) | (2, D) | (2, E) | (5, B) | (8, C) | |\n+--------+--------+--------+--------+--------+--------+ (9, F)\n--> prefix sum 為 5,寫入 array[5],並將 prefix sum + 1 +--------+--------+--------+--------+--------+--------+\n| (1, A) | (2, D) | (2, E) | (5, B) | (8, C) | (9, F) |\n+--------+--------+--------+--------+--------+--------+ 這樣就完成排序了。此外,觀察 (2, D) 與 (2, E) 排序前後的位置,會發現 counting sort 是個實實在在的穩定排序,很棒。","breadcrumbs":"計數排序 Counting sort » 說明","id":"125","title":"說明"},"126":{"body":"Complexity Worst $O(n + k) $ Best $O(n + k) $ Average $O(n + k) $ Worst space $O(n + k) $ auxiliary k 為資料已知範圍上下界之差。","breadcrumbs":"計數排序 Counting sort » 效能","id":"126","title":"效能"},"127":{"body":"Counting sort 沒有用到任何遞迴,可以直觀地分析複雜度。在步驟一,建立 count array 與步驟三輸出排序結果,都需要遍歷 $n $ 個輸入的資料,因此複雜度為 $O(n) $;步驟二計算 prefix sum,以及 count array 自身的初始化則需執行 $k + 1 $ 次(給定的資料範圍),這部分的複雜度為 $O(k) $。由於 $n $ 與 $k $ 的權重會因輸入資料及實作的不同而有所改變,我們無法捨棄任何一個因子,可得知 counting sort 的複雜度為 $O(n + k) $。","breadcrumbs":"計數排序 Counting sort » Time Complexity","id":"127","title":"Time Complexity"},"128":{"body":"Counting sort 並非 in-place sort,排序後的結果會另外輸出為新的記憶體空間,因此 $O(n) $ 的額外(auxiliary)空間複雜度絕對免不了。再加上需要長度為 $k $ 的 count array 保存每個 key 的出現次數,因此需再加上 $O(k) $。除了原始的輸入 array,總共需花費 $O(n + k) $ 的額外空間複雜度。 如果欲排序資料就是整數鍵值自身,可以將「計算前綴和」與「複製輸出」兩步驟最佳化,直接覆寫原始陣列,額外空間複雜度會下降至 $O(k) $,但也因此成為不穩定排序法。","breadcrumbs":"計數排序 Counting sort » Space complexity","id":"128","title":"Space complexity"},"129":{"body":"由於 Counting sort 屬於分布式排序(Distribution sort),這裡使用泛型,以彰顯分布式排序的特色。","breadcrumbs":"計數排序 Counting sort » 實作","id":"129","title":"實作"},"13":{"body":"本專案分為兩部分授權: 程式碼與函式庫依據 The MIT License (MIT) 授權條款發佈。 文章與相關著作依據 Creative Commons 4.0 (CC BY-NC-SA 4.0) 授權條款發佈。 Copyright © 2017 - 2021 Weihang Lo","breadcrumbs":"Rust Algorithm Club » 授權條款","id":"13","title":"授權條款"},"130":{"body":"首先,我們先看函式如何宣告(function signature)。 pub fn counting_sort(arr: &mut [T], min: usize, max: usize, key: F) where F: Fn(&T) -> usize, T: Clone, 這裡使用了四個參數: arr:待排序陣列。 min、max:整數排序的上下界。 key:由於資料不一定是整數,需要一個 function 從資料擷取鍵值做排序。 另外,也使用兩個泛型型別: F:key extactor 的型別,回傳的 usize 必須落在 [min, max) 之間。 T:陣列元素的型別,實作 Clone 是由於 Counting sort 需要將 output 再複製回原本的參數 arr 上,達成「偽」原地排序。","breadcrumbs":"計數排序 Counting sort » Function Signature","id":"130","title":"Function Signature"},"131":{"body":"再來,了解如何建立一個元素出現次數的陣列。 fn counting_sort() { // ... let mut prefix_sums = { // 1. Initialize the count array with default value 0. let len = max - min; let mut count_arr = Vec::with_capacity(len); count_arr.resize(len, 0); // 2. Scan elements to collect counts. for value in arr.iter() { count_arr[key(value)] += 1; } // 3. Calculate prefix sum. count_arr.into_iter().scan(0, |state, x| { *state += x; Some(*state - x) }).collect::>() }; // ...\n} 建立一個長度為上下界之差的 count array。注意,這裡使用了 Vec.resize,因為 Rust initialize 空的 Vec 時並不會插入 0 或其他預設值。 遍歷整個輸入資料,利用 key function 取出每筆資料的鍵值,出現一次就 +1。 利用 Iterator 上的 scan method 計算每個鍵值的 prefix sum。需要注意的是,每個元素對應的 prefix sum 不包含自身,例如 key 3 的計算結果就是 key 1 與 key 2 的出現總次數,如此一來,prefix sum 才會直接對應到排序後的位置。","breadcrumbs":"計數排序 Counting sort » Prefix Sums Array","id":"131","title":"Prefix Sums Array"},"132":{"body":"最後一步就是將 prefix sum 當作每個 element 的正確位置,把資料重頭排序。 fn counting_sort() { // ... for value in arr.to_vec().iter() { // 1 let index = key(value); arr[prefix_sums[index]] = value.clone(); // 2 prefix_sums[index] += 1; // 3 }\n} 將輸入資料透過 to_vec 複製起來疊代,需要複製 arr 是因為之後要直接在 arr 插入新值,需要另一份原始輸入的拷貝。 利用 key 擷取鍵值後,把資料複製給 arra 上對應 prefix_sums[index] 的位置。 將該 prefix_sums[index] 的值加一,以便元素重複時,可以正常複製到下一個位置。 完成了!這裡再貼一次完整的程式碼。 pub fn counting_sort(arr: &mut [T], min: usize, max: usize, key: F) where F: Fn(&T) -> usize, T: Clone,\n{ let mut prefix_sums = { // 1. Initialize the count array with default value 0. let len = max - min; let mut count_arr = Vec::with_capacity(len); count_arr.resize(len, 0); // 2. Scan elements to collect counts. for value in arr.iter() { count_arr[key(value)] += 1; } // 3. Calculate prefix sum. count_arr.into_iter().scan(0, |state, x| { *state += x; Some(*state - x) }).collect::>() }; // 4. Use prefix sum as index position of output element. for value in arr.to_vec().iter() { let index = key(value); arr[prefix_sums[index]] = value.clone(); prefix_sums[index] += 1; }\n}","breadcrumbs":"計數排序 Counting sort » Prefix Sums as Start Index","id":"132","title":"Prefix Sums as Start Index"},"133":{"body":"Wiki: Counting sort Growing with the web: Counting sort","breadcrumbs":"計數排序 Counting sort » 參考資料","id":"133","title":"參考資料"},"134":{"body":"Bucket sort ,是一個非比較排序。原理是建立一些桶子,每個桶子對應一資料區間,在將待排序資料分配到不同的桶中,桶子內部各自排序。由於並非 比較排序 ,使用 Bucket sort 需要事先知道資料的範圍與分佈,才能決定桶子對應的區間。 Bucket sort 基本特性如下: 又稱 bin sort 。 穩定排序 :相同鍵值的元素,排序後相對位置不改變。 分配式排序 :不透過兩兩比較,而是分析鍵值分佈來排序。特定情況下可達線性執行時間。 預期分佈 :資料為 均勻分佈 。","breadcrumbs":"桶排序 Bucket sort » 桶排序 Bucket sort","id":"134","title":"桶排序 Bucket sort"},"135":{"body":"假設要排序 $n $ 個元素的陣列,這些元素的值平均散落在某個 已知的預期範圍內 ,例如 1 到 100。 Create buckets :建立 $k $ 個桶子(bucket)的陣列。每個桶子 對應預期範圍的某區間 ,如第一個桶子放 1 到 10,第二個放 11 到 20。 Scatter :將每個元素依照該值放入對應的桶子中。 Inner sort :排序所有非空的桶子。 Gather :依序走訪所有桶子,將桶內的元素放回原本的陣列中。","breadcrumbs":"桶排序 Bucket sort » 步驟","id":"135","title":"步驟"},"136":{"body":"以下用 ASCII diagram 視覺化解釋: 這裡有一些整數,落在 1 至 100 之間。我們有 $n = 10 $ 的陣列要排序。 Original array +-------------------------------------------------+\n| 6 | 28 | 96 | 14 | 74 | 37 | 9 | 71 | 91 | 36 |\n+-------------------------------------------------+ 1. Create buckets :建立一定數量的桶子,這裡我們建立與原始陣列相同數量的桶子(10)。每個桶子對應 $n - 1 * 10 $ 到 $n * 10 $ 的區間。 Bucket array +-------------------------------------------------+\n| | | | | | | | | | |\n+-------------------------------------------------+ ^ ^ | | | | | holds values in range 11 to 20 holds values in range 1 to 10 2. Scatter :將原始陣列中的元素,放入對應的桶中。 Bucket array 6,9 14 28 37,36 74,71 96,91 | | | | | |\n+-v----v----v----v-------------------v---------v--+\n| | | | | | | | | | |\n+-------------------------------------------------+ 3. Inner sort :排序所有非空桶子中的元素,桶內排序可用任意排序法,通常選用「insertion sort」,可確保排序穩定性,並降低額外開銷。 Bucket array sort sort sort sort sort sort --- -- -- ----- ----- ----- 6,9 14 28 36,37 71,74 91,96 | | | | | |\n+-v----v----v----v-------------------v---------v--+\n| | | | | | | | | | |\n+-------------------------------------------------+ 4. Gather :排序完後,再將所有桶中元素依序放回原始的陣列。 Original array\n+-------------------------------------------------+\n| 6 | 9 | 14 | 28 | 36 | 37 | 71 | 74 | 91 | 96 |\n+-------------------------------------------------+","breadcrumbs":"桶排序 Bucket sort » 說明","id":"136","title":"說明"},"137":{"body":"Complexity Worst $O(n^2) $ Best $O(n + k) $ Average $O(n + k) $ Worst space $O(n + k) $ auxiliary $k $ = 桶子的數量(number of buckets) $n $ = 資料筆數","breadcrumbs":"桶排序 Bucket sort » 效能","id":"137","title":"效能"},"138":{"body":"Bucket sort 是一個分配式排序法,對資料分佈有既定的預期:「 所有元素平均分佈在每個 bucket 的區間內 」。可想而知,最差的狀況是所有元素都聚集(clustering)在同一個 bucket 中,整個 bucket sort 的會退化成單一一個 inner sort 的複雜度。而桶內排序通常選用 insertion sort(最差 $O(n^2) $),所以最差的時間複雜度為「 $O(n^2) $」。","breadcrumbs":"桶排序 Bucket sort » Worst case","id":"138","title":"Worst case"},"139":{"body":"最佳的狀況則是完全符合預期的平均分佈,一個蘿蔔一個坑,每個桶內排序的最佳時間複雜度為 $O(n / k) $,再乘上桶子總數 $k $,僅需 $O(k \\cdot (n / k)) = O(n) $。計算結果看起來非常合理,但實際上最佳時間複雜度為 $O(n + k) $,為什麼呢? 無庸置疑,桶內排序最佳時間複雜度為 $O(n / k) $,但別忘了這是省略常數項過後式子,進行符號運算時,較精確的表達是 $c_0 O(n / k) + c_1 $,對於實作層面的常數 $c_0 $ 和 $c_1 $ 則予以保留。 當我們乘上 $k $,試著算出總運算量時, $$k \\cdot (c_0(n / k) + c_1) $$ 會得到: $$ c_0n + c_1k $$ 可以得知,整個計算與 $k $ 有關,所以需要耗時 $O(n + k) $。 撇開數學,我們從 pseudo code 來看。最佳情況下,將所有元素蒐集回陣列的步驟(Gather)如下: for (each bucket b in all k buckets) for (each element x in b) append x to the array 最外層的迴圈依桶子數 $k $ 而定,至少需要執行 $k $ 次,複雜度為 $O(k) $。內層的迴圈則是每個桶內的元素都會執行,而我們的資料時均勻分布,因此執行時間與元素總數 $n $ 相關,為 $O(n) $。兩者加起來就是我們所說的 $O(n + k) $ 的最佳複雜度。 那 $k $ 究竟會是多少,影響會比 $n $ 大嗎? 端看桶子總數而定,若桶子總數很大,比元素個數 $n $ 大得多,則桶子總數對執行時間的影響恐較劇烈,就算大多數為空桶子,仍須挨家挨戶查看是否需要執行桶內排序。","breadcrumbs":"桶排序 Bucket sort » Best case","id":"139","title":"Best case"},"14":{"body":"日常生活中,你會如何描述處理事情的效率? 「原來她五分鐘內可以吃掉一頭牛!」 「房間這麼小你還能擺一堆雜物?還不快收拾!」 這些描述方法,著重在處理事情的花費時間,或單位空間內的儲存量。描述演算法的效率也如此,就是「測量演算法的執行成本」,例如這個排序法花了 10 秒鐘跑完兩萬筆資料,或是這個模擬演算法很吃資源需要 32 GB 的記憶體。 然而,在不同的機器規格、環境溫濕度、程式語言、實作方式,以及有沒有放乖乖的變異影響下,相同演算法的執行成本常常不一致。為了消弭這些外部因素,讓分析演算法能夠更科學化。科學家抽絲剝繭,發明一個方法: 「統計演算法內所需操作步驟的數目。」 這是最簡單,最粗淺比較不同演算法效率的作法。","breadcrumbs":"漸進符號 Asymptotic Notation » 漸進符號 Asymptotic Notation","id":"14","title":"漸進符號 Asymptotic Notation"},"140":{"body":"Bucket sort 須額外建立 $k $ 個桶子,每個桶子需要配置長度為 $n $ 的 array,因此空間複雜度為 $O(n \\cdot k) $。如果以 dynamic array 實作 bucket,並考慮平攤分析(Amortized analysis),則空間複雜度降至 $O(n + k) $,這也是大多數人接受的分析結果,畢竟不會有人無聊到預先配置 $n \\cdot k $ 個 empty bucket。","breadcrumbs":"桶排序 Bucket sort » Space Complexity","id":"140","title":"Space Complexity"},"141":{"body":"","breadcrumbs":"桶排序 Bucket sort » 實作","id":"141","title":"實作"},"142":{"body":"Bucket sort 有許多種各異的實作法,差異最大之處就是桶子 bucket 這部分。 /// Bucket to store elements.\nstruct Bucket { hash: H, values: Vec,\n} impl Bucket { /// Create a new bucket and insert its first value. /// /// * `hash` - Hash value generated by hasher param of `bucket_sort`. /// * `value` - Value to be put in the bucket. pub fn new(hash: H, value: T) -> Bucket { Bucket { hash: hash, values: vec![value], } }\n} 這裡的桶子實作兩個 struct fields: values:使用 Vec 儲存對應範圍內的元素 hash:Bucket Sort 主函式有一個 hasher 函式,會計算出對應各個桶子的雜湊值,因此要確保桶子的雜湊值有唯一性。","breadcrumbs":"桶排序 Bucket sort » Bucket","id":"142","title":"Bucket"},"143":{"body":"接下來就是排序主函式。依照慣例,先看看函式的宣告(function signature)。 pub fn bucket_sort(arr: &mut [T], hasher: F) where H: Ord, F: Fn(&T) -> H, T: Ord + Clone, 這個 bucket_sort 函式使用了不少泛型: H:hasher 函式的回傳型別,用來辨識不同的桶子。 F:hasher 函式自身,只需要一個參數 &T,回傳一個 H。 T:欲排序資料的型別。 函式自身稍微複雜一點,但仍不脫離 四步驟 :Create buckets、Scatter、Inner sort,還有 Gather。 pub fn bucket_sort() { // ... // 1. Create buckets. let mut buckets: Vec> = Vec::new(); // 2. Scatter for value in arr.iter() { let hash = hasher(&value); // 2.1. let value = value.clone(); // 2.2. match buckets.binary_search_by(|bucket| bucket.hash.cmp(&hash)) { // If exists, push the value to the bucket. Ok(index) => buckets[index].values.push(value), // If none, create and new bucket and insert value in. Err(index) => buckets.insert(index, Bucket::new(hash, value)), } } // 3. Inner sort and gather let ret = buckets.into_iter().flat_map(|mut bucket| { bucket.values.sort(); // 3.1. bucket.values }).collect::>(); // 3.2. arr.clone_from_slice(&ret); // 4 Copy to original array\n} 一般來說,第一步會配置完所有桶子,但這裡實作僅建立儲存桶子們的容器 buckets,這是由於實作了 hasher 函式,元素對應桶子的邏輯交由外部決定,因此桶子不需事先配置,而是交給第二步驟時 on-the-fly 建立。 疊代輸入的 arr,將元素散佈到桶子中。 使用元素值 value 取得雜湊值。 從一堆桶子內 buckets 尋找對應雜湊值的桶子,如有對應桶子,則將待排序元素插入桶中;若無對應桶子,則馬上建立桶子,並插入待排序元素。 由於桶子們 buckets 是一個二維陣列集合,我們使用 flat_map 將之壓平。 使用 Rust 內建 sort(Timsort 的變形)作為我們 inner sort 的實作,將桶內所有元素排好序 別忘了 Rust 的 Iterator 很 lazy,記得要使用 collect 蒐集 iterator 實作後的結果。 由於要模擬 in-place 原地排序法的特性,將排序好的資料再次拷貝到 arr 上。這也是為什麼函式元素泛型 T 需要 Clone trait 的原因了。 有關於步驟 2.2.,這部分可以用 HashMap 的變形 IndexMap (一個保存插入順序的有序 HashMap)保存雜湊值對應桶子的資訊,使得外界更容易依雜湊值找到桶子。但為了保持範例程式的簡潔,決定不引入第三方的 crate(Rust 語言第三方模組的代稱),且 binary_search_by 的複雜度為 $O(\\log n) $,對 Bucket sort 最差複雜度並無影響。","breadcrumbs":"桶排序 Bucket sort » Sorting","id":"143","title":"Sorting"},"144":{"body":"Wiki: Bucket sort Wiki: Amortized analysis How is the complexity of bucket sort is O(n+k) if we implement buckets using linked lists? Bucket sort in Rust","breadcrumbs":"桶排序 Bucket sort » 參考資料","id":"144","title":"參考資料"},"145":{"body":"如果你對 Counting sort 與 Bucket sort 有認識,應該知道這兩個排序都能突破比較排序法複雜度 $O(n \\log n) $ 限制的特殊排序法。 Radix sort 同樣是個特殊的 整數排序法 ,效能同樣可達突破限制。差別在於,前兩者僅依據一個鍵值排序,而 Radix sort 則是依據多個鍵值排序。 舉例來說,欲排序一群範圍在 0 - 999 的整數,若以 Counting sort 排序,則需建立一個「1000 元素的陣列」來計算每個整數的出現次數;若使用以 10 為基數的 Radix sort,則僅需以個位數、十位數、百位數作為鍵值分別排序三次。通常 Radix sort 的排序副程式(Sorting subroutine)會選用 Counting sort 或 Bucket sort,而以 10 為基數的鍵值範圍僅 0 - 9,這種小範圍整數非常適合 Counting sort 作為排序副程式,節省了配置 int arr[1000] 的 count array 的時空間。 Radix sort 基本特性如下: 整數排序法 :以整數作為排序的鍵值。 分配式排序法 :不透過兩兩比較,而是分析鍵值分佈來排序。特定情況下可達線性執行時間。 穩定性 :採用 LSD 的 Radix sort 屬穩定排序法(Stable sort);透過優化,採用 MSD 也可以是穩定排序法。","breadcrumbs":"基數排序 Radix sort » 基數排序 Radix sort","id":"145","title":"基數排序 Radix sort"},"146":{"body":"常見的 Radix sort 依據整數的每個位數來排序,依照位數排序的先後順序,可分為兩種: Least significant digit (LSD) :從最低有效鍵值開始排序(最小位數排到大)。 Most significant digit (MSD) :從最高有效鍵值開始排序(最大位數排到小)。 簡單的 LSD Radix sort 步驟如下: LSD of each key :取得每個資料鍵值的最小位數(LSD)。 Sorting subroutine :依據該位數大小排序資料。 Repeating :取得下一個有效位數,並重複步驟二,至最大位數(MSD)為止。 而 MSD Radix sort 的步驟相似,但取得資料鍵值的方向相反。 MSD of each key :取得每個資料鍵值的最大位數(MSD)。 Sorting subroutine :依據該位數大小排序資料。 Repeating :取得下一個有效位數,並重複步驟二,至最小位數(LSD)為止。 由於 MSD Radix sort 先排序最大位數,會出現 8 > 126 的結果,這種順序通常稱為 Lexicographical order ,有如字典一般,越前面的字母排序權重越重,也因此,基本版的 MSD Radix sort 並非穩定排序法。","breadcrumbs":"基數排序 Radix sort » 步驟","id":"146","title":"步驟"},"147":{"body":"我們選用 LSD Radix sort 示範,並且為了增加可讀性,將基數設為 10。需注意在現實場景中,有時使用 bytes 作為基數可能更適合。 待排序的數列如下。 [170, 45, 75, 90, 802, 2, 24, 66] Radix sort 的排序副程式,通常選用 counting sort 或 bucket sort,因此,開始排序前,需建立供其使用的 buckets(或 count array)。這屬於其他排序法的範疇,有興趣可看 Counting sort 或 Bucket sort 。 首先,從最小位數開始排序。 注意,同樣鍵值的資料,相對位置不會改變(穩定排序)。 0 5 5 0 2 2 4 6 _ _ _ _ _ _ _ _\n[170, 45, 75, 90, 802, 2, 24, 66] sort by rightmost digit --> 0 0 2 2 4 5 5 6 _ _ _ _ _ _ _ _\n[170, 90, 802, 2, 24, 45, 75, 66] 再來,對下一個位數排序資料。位數不足的資料,予以補 0。 7 9 0 0 2 4 7 6 _ _ _ _ _ _ _\n[170, 90, 802, 2, 24, 45, 75, 66] sort by next digit --> 0 0 2 4 6 7 7 9 _ _ _ _ _ _ _\n[802, 2, 24, 45, 66, 170, 75, 90] 最終,對最後一個位數進行排序。大功告成! 8 0 0 0 0 1 0 0 _ _\n[802, 2, 24, 45, 66, 170, 75, 90] sort by leftmost digit --> 0 0 0 0 0 0 1 8 _ _\n[2, 24, 45, 66, 75, 90, 170, 802]","breadcrumbs":"基數排序 Radix sort » 說明","id":"147","title":"說明"},"148":{"body":"Complexity Worst $O(dn) $ Best $O(dn) $ Average $O(dn) $ Worst space $O(d + n) $ auxiliary $n $:資料筆數。 $d $:number of digit,資料中最多有幾個位數(或鍵值)。 $k $:基數,就是一個位數最多有幾種可能的值。","breadcrumbs":"基數排序 Radix sort » 效能","id":"148","title":"效能"},"149":{"body":"欲分析 Radix sort 的時間複雜度,我們可以逐一擊破,先從排序副程式開始分析。 Radix sort 的 subroutine 通常採用 Counting sort 或 Bucket sort,因此每個 subroutine 的複雜度為 $O(n + k) $, $k $ 為 key 的範圍,以 10 為基數,就是 0 - 9 之間 $k = 10 $。 再來,我們分析整個主程式,Radix sort 每個位數各需排序一次,若最多位數的資料有 $d $ 位數,時間複雜度需乘上 $d $,為 $O(d (n + k)) $,那這個 $k $ 是否可以捨去呢? 分析 Counting sort 或 Bucket sort 時,範圍 $k $ 會隨輸入資料而變化,若 $k $ 過大,對複雜度的影響甚至會超過 $n $,因此分析複雜度時無法將 $k $ 捨去。而在 Radix sort, $k $ 通常為一個已知的常數,例如以 bytes 為基數 $k = 8 $, $k $ 可以捨去。最後可得 Radix sort 的時間複雜度為 $O(d \\cdot n) $。","breadcrumbs":"基數排序 Radix sort » Time complexity","id":"149","title":"Time complexity"},"15":{"body":"「計算步驟數目」很像中小學的數學題目:某公司有三個能力相異的工程師,有的工程師一天解決一個 bug,有的工程師連續工作後效率大幅滑落。每個工程師的除蟲效率可以畫成「bug 數 - 解決 bug 所需時數」函數,橫軸為待處理的臭蟲數,縱軸為解決臭蟲所需時數,如圖一與表所示。 時數 $\\log N$ $N$ $N \\log N$ $N=5$ 2.236 5 8.046 $N=30$ 5.477 30 102.036 Fig. 1 不論從圖或表,我們都可以明確看出,當 bug 數目小時,每個工程師耗時差不多;當 bug 數目成長到一定程度時,效率好與效率差的工程師差距就很明顯了。 我們把場景拉回演算法的範疇,再闡明一次。上述的除蟲效率函數關係,可以簡單視為為「輸入資料量 - 運算成本」關係之函數。例如 $f(x)=x^2+3x+6$。當輸入資料量增大時,成本也隨之上升,這個用來描述演算法執行成本與輸入資料量之關係的函數,我們稱之為該演算法的「複雜度」。","breadcrumbs":"漸進符號 Asymptotic Notation » 用數學表示演算法效率","id":"15","title":"用數學表示演算法效率"},"150":{"body":"Radix sort 的空間複雜度同樣取決於排序副程式,Counting sort 與 Bucket sort 的空間複雜度皆為 $O(n \\cdot k) $。Radix sort 的 $k $ 是常數,予以捨去。再乘上 $d $ 個位數,最差的空間複雜度為 $O(d \\cdot n) $。","breadcrumbs":"基數排序 Radix sort » Space complexity","id":"150","title":"Space complexity"},"151":{"body":"這裡示範實作以 10 為基數,用來排序非負整數的 Radix sort。 首先,我們的排序副程式使用 Counting sort。 // 0. Include counting sort.\nuse ::sorting::counting_sort; 再來,就是 Radix sort 本體了。為了凸顯 Radix sort 的概念,簡化了函式參數數量,除去泛型宣告,並將基數選擇寫死在函式裡。 pub fn radix_sort(arr: &mut [i32]) { let radix = 10; // 1 let mut digit = 1; // 2 let max_value = arr // 3 .iter() .max() .unwrap_or(&0) .clone(); while digit <= max_value { // 4 counting_sort(arr, 0, 9, |t| (t / digit % radix) as usize); // 5 digit *= radix; // 6 }\n} 設定基數為 10。 設定一個旗標,記錄當前在排序哪一位數,1 表示從最小位數(個位數)開始。 先找到輸入資料的最大值,作為之後副程式迴圈結束的條件。尋找最大值的複雜度為 $O(n)$,因此不影響 Radix Sort 的複雜度。如果 arr 為空序列,則最大值設為 0,在第四步驟就會自動結束排序。 判斷當前排序的位數是否大於最大值,例如當前排序百分位,digit 為 100,而最大值 x 為 26,則不需再排序百分位。 使用 Counting sort 作為排序副程式,只需要有 0 - 9 十個桶子。而 key 參數則取出當前欲比較的位數。 位數乘上基數,移至下一個位數繼續比較。 小提醒:這是簡單又容易理解的實作,相對有許多額外的運算開銷(例如尋找最大值)。實務上,會在對資料有些了解才採用 Radix sort,因此實作並不會這麼 naive。","breadcrumbs":"基數排序 Radix sort » 實作","id":"151","title":"實作"},"152":{"body":"Wiki: Radix sort Princeton University DSA Course: Radix sort ByVoid: 三種線性排序算法 計數排序、桶排序與基數排序","breadcrumbs":"基數排序 Radix sort » 參考資料","id":"152","title":"參考資料"},"153":{"body":"Stack - Wikipedia 堆疊是一個具有 後進先出 LIFO 特性的資料結構。以從 Wikipedia 借來的上圖為例,在第五張圖的狀況下,如果要取得 2,就必須先把 3、4、5 都退出堆疊。 堆疊的底部與頂部都是抽象的概念,頂部是資料被加入、移除、較為繁忙的那一端,底部即另一端。 堆疊的空間可能是有限的,亦即也有可能實現空間無限的堆疊。有鑑於有限空間的堆疊較為常見,我們選擇實作空間有限的堆疊。 堆疊 stack 有兩種實作方式:陣列 array 與鏈結串列 linked list,在此選擇以類似陣列的 Vector 實現。 本次實作的程式碼置於 rust_algorithm_club::collections::Stack API 文件中。","breadcrumbs":"堆疊 Stack » 堆疊 Stack","id":"153","title":"堆疊 Stack"},"154":{"body":"pub struct Stack { maxsize: usize, items: Vec,\n} maxsize 用於模擬堆疊空間有限的特性;items 負責保存加入堆疊的資料。 在此刻意將 maxsize、items 定義為 private member,避免外部直接存取。","breadcrumbs":"堆疊 Stack » 架構設計","id":"154","title":"架構設計"},"155":{"body":"with_capacity:定義一個空間有限的堆疊。 push:將新資料加入資料結構。 pop:將最新加入的資料移出資料結構。 size:(選用)取得堆疊的大小。 peek:(選用)在不將資料退出堆疊的情況下偷看最後加入堆疊的資料。","breadcrumbs":"堆疊 Stack » 基本操作","id":"155","title":"基本操作"},"156":{"body":"pub fn with_capacity(maxsize: usize) -> Self { Self { maxsize, items: Vec::with_capacity(maxsize), } } 初始化一個帶有預先分配空間 Vector 的堆疊。 ⚠ 注意,即使預先分配了有限的空間,Rust 的 vector 在空間已滿的情況下會重新分配。假設一開始為 vector 分配了 10 單位的空間,在將第 11 筆資料插入 vector 前,vector 在記憶體的空間將被重新分配,以容納這第 11 筆資料。為了模擬堆疊空間有限的特性,我們會在 push 的操作動點手腳。","breadcrumbs":"堆疊 Stack » 定義一個空間有限的堆疊","id":"156","title":"定義一個空間有限的堆疊"},"157":{"body":"pub fn push(&mut self, item: T) -> bool { if self.items.len() == self.maxsize { return false; } self.items.push(item); return true; } 由於 push 操作會改變 items,因此需要堆疊的 mutable reference。由於 Rust 的 vector 有重新分配的特性,在將資料正式加入堆疊之前,必須先檢查堆疊初始化時設定的空間是否已經被塞滿了。如果結果為是,則拒絕將資料加入堆疊。","breadcrumbs":"堆疊 Stack » 將新資料加入資料結構","id":"157","title":"將新資料加入資料結構"},"158":{"body":"pub fn pop(&mut self) -> Option { self.items.pop() } 堆疊有可能是空的,在此以 Option 表現這個情況。如果針對一個空堆疊進行 pop 操作,將會得到 None。","breadcrumbs":"堆疊 Stack » 將最新加入的資料移出資料結構","id":"158","title":"將最新加入的資料移出資料結構"},"159":{"body":"pub fn size(&self) -> usize { self.items.len() } 一個空堆疊的大小是 0,加入一筆資料後是 1⋯⋯以此類推。注意容量 capcity 與大小 size 是兩個不同的概念。容量是這個堆疊最多可以塞下多少資料,大小則是這個堆疊已經被塞入了多少資料。由於 push 的檢查機制,堆疊的大小永遠不會超過 maxsize。","breadcrumbs":"堆疊 Stack » 取得堆疊的大小","id":"159","title":"取得堆疊的大小"},"16":{"body":"了解每個演算法的時間複雜度之後,就能比較何者效率佳。但往往天不從人願,給了我們兩個演算法進行比較。 $$f(x)=\\sqrt{\\frac{182777}{286}}\\pi x^4+5\\log_{3}^{26}88x^3-e^{777^{log_2^9}}$$ $$g(x)=3x^6-2x^2$$ 「天啊!這樣要怎麼分析執行效率呀!」 為了有統一的加薪標準,我們不能假定產品只會產生特定數量的臭蟲,也不能以單一天的工作表現判定員工能力,我們知道老舊系統有無限多個 bug,因此,優秀的老闆關心的是工程師長期處理「海量臭蟲」,在極限下的 成長趨勢 ,這些成長趨勢才是衡量 KPI 的關鍵。再次強調,優秀老闆關心如何榨出是工程師的「極限成長趨勢」,而非一時半刻賣弄學識。 同樣地,有太多因素干擾影響一個演算法的複雜度,假使我們只觀察當輸入資料量 $n$ 接近無窮大時,演算法的成長趨勢為何,就很接近所謂漸進符號(asymptotic notation)的定義。漸進符號 只關心演算法在極限下的漸進行為,不同的演算法可能使用相同的漸進符號表示。 我們比較兩個簡單函數,$f(x) = 10x + 29$ 以及 $g(x) = x^2 + 1$。從圖二可以看出一開始 $g(x)$ 的執行時間比 $f(x)$ 多了不少,但隨著輸入資料量 $n$ 增多,$g(x)$ 的執行時間成長愈來愈快速,最後遠遠大於 $f(x)$。 Fig. 2 若以 $an^2 + bn + c$ 表示複雜度,就是當存在一個 $a > 0$ 時,一定會有 $n$ 符合 $an^2 > bn + c$,這個差距隨著 $n$ 越大越明顯,這是因為首項(leading term),也就是帶有最高指數的那一項,隨著 輸入大小改變,執行時間變化幅度較大。因此,可捨去複雜度函數中其他較不重要的次項與常數,留下最大次項,「 透過簡單的函數來表述函數接近極限的行為 」,讓複雜度函數更易理解,這就是「漸進符號」的概念。 這裡介紹常見的幾種漸進符號:","breadcrumbs":"漸進符號 Asymptotic Notation » 何謂漸進符號","id":"16","title":"何謂漸進符號"},"160":{"body":"pub fn peek(&self) -> Option<&T> { self.items.last() } 與 pop 操作類似,但不會對堆疊造成任何影響。如果偷看的是一個空堆疊,會得到 None。","breadcrumbs":"堆疊 Stack » 在不將資料退出堆疊的情況下偷看最後加入堆疊的資料","id":"160","title":"在不將資料退出堆疊的情況下偷看最後加入堆疊的資料"},"161":{"body":"Operation Best Complexity Worst Complexity push (insert) O(1) O(1) pop (delete) O(1) O(1) 無論堆疊大小如何變化,push 與 pop 的效能都不會被影響。","breadcrumbs":"堆疊 Stack » 效能","id":"161","title":"效能"},"162":{"body":"Stack (abstract data type) Big-O Algorithm Complexity Cheat Sheet","breadcrumbs":"堆疊 Stack » 參考資料","id":"162","title":"參考資料"},"163":{"body":"Queue - Wiki 佇列是一個具有 先進先出 FIFO 特性的資料結構。從 Wikipedia 上的圖為例,一個資料從左邊進入佇列並從右邊離開,最先進入佇列的資料會最先被取出。 佇列常見實作方式有:陣列 array、鏈結串列 linked list。為了使概念容易理解,我們選擇以類似陣列的 Vector 實作。 本次實作的程式碼置於 rust_algorithm_club::collections::Queue API 文件中。","breadcrumbs":"佇列 Queue » 佇列 Queue","id":"163","title":"佇列 Queue"},"164":{"body":"pub struct Queue { items: Vec,\n} 以 items 保存加入佇列的資料。大部分用陣列實作的佇列可能會有 front 和 rear 兩個欄位負責保存指向佇列開頭和尾端的索引,作為佇列新增刪除資料的依據,但是透過 Rust 的 std::vec::Vec (線形動態成長的陣列容器),我們可以直接取得佇列第一以及最後一筆資料,所以這邊實作忽略這兩個欄位。","breadcrumbs":"佇列 Queue » 架構設計","id":"164","title":"架構設計"},"165":{"body":"enqueue:將新資料加入佇列 dequeue:將最先放入的資料移出佇列 peek:在不將資料移出佇列的情況下取得最先放入的資料 size:取得佇列大小","breadcrumbs":"佇列 Queue » 基本操作","id":"165","title":"基本操作"},"166":{"body":"pub fn new() -> Self { Self { items: Vec::new() } } 初始化具有 Vec 的佇列。","breadcrumbs":"佇列 Queue » 定義佇列","id":"166","title":"定義佇列"},"167":{"body":"pub fn enqueue(&mut self, item: T) { self.items.push(item); } 由於 enqueue 會改變 items,因此需要佇列的 mutable reference。再來,我們沒有限制佇列大小,全由 Rust 的 Vec 自行分配空間,將新資料放到 items 的最後端。","breadcrumbs":"佇列 Queue » 將新資料加入佇列","id":"167","title":"將新資料加入佇列"},"168":{"body":"pub fn dequeue(&mut self) -> Option { match self.items.is_empty() { false => Some(self.items.remove(0)), true => None, } } items 有可能是空的,在移出資料之前需要檢查,然後移出 index 為零的資料,也就是最先放入的資料。","breadcrumbs":"佇列 Queue » 將最先放入的資料移出佇列","id":"168","title":"將最先放入的資料移出佇列"},"169":{"body":"pub fn size(&self) -> usize { self.items.len() } 取得 items 的大小。","breadcrumbs":"佇列 Queue » 取得佇列大小","id":"169","title":"取得佇列大小"},"17":{"body":"當我們談論演算法複雜度時,通常關心的是演算法「最糟糕的情況下」,「最多」需要執行多久。Big O 就是描述演算法複雜度上界的漸進符號,當一個演算法「實際」的複雜度(或執行成本對輸入資料量函數)為 $f(n)$ 時,欲以 Big O 描述其複雜度上界時,必須滿足以下定義: $$f(n) = O(g(n)) \\colon {\\exists k>0\\ \\exists n_0\\ \\forall n>n_0\\ |f(n)| \\leq k \\cdot g(n)}$$ 假設有一演算法實際複雜度為 $f(n) = 3n + 4$,有一組 $k = 4;\\ g(n) = n;\\ n_0 = 4$ 滿足 $$\\forall n > 4,\\ 0 \\leq f(n) = 3n + 4 \\leq 4n$$ 意思是「$f(n)$ 的複雜度上界成長趨勢最終不會超過 $g(n) = 4n$ 」,再代入 $O(g(n))$,可得演算法最差複雜度為 $f(n) = O(n)$,也就是「該演算法的成長趨勢不會比 $g(n)$ 來得快」(見圖三)。 Fig. 3 再多看一個例子,若 $f(n) = 4n^2 + n$ 有一組 $k = 5;\\ g(n) = n^2;\\ n_0 = 5$ 滿足 $$\\forall n > 5,\\ 0 \\leq f(n) = 4n^2 + n \\leq 5n^2$$ 則此函數的複雜度為 $f(n) = O(n^2)$。 注意:也寫作 $f(n) \\in O(g(n))$,因為實際上 $O(g(n))$ 是所有可描述演算法成長趨勢,並滿足上述條件的函數之「集合」。","breadcrumbs":"漸進符號 Asymptotic Notation » $O$:Big O","id":"17","title":"$O$:Big O"},"170":{"body":"pub fn peek(&self) -> Option<&T> { self.items.first() } 這裡的作法很單純,就是呼叫 Vec 底層 slice::first ,回傳一個 Option,不會影響到底層的 Vec 的內容。","breadcrumbs":"佇列 Queue » 不改變佇列的情況下,取得最先放入的資料","id":"170","title":"不改變佇列的情況下,取得最先放入的資料"},"171":{"body":"Operation Best Complexity Worst Complexity enqueue (insert) O(1) O(1) dequeue (delete) O(n)* O(n)* *:注意,一般來說 dequeue 會選用 O(1) 的實作方式,這裡直接呼叫 Vec::remove 會導致整個 Vec 的元素向前位移一個,是較耗費計算資源的 O(n) 操作。 我們可以選用其他方式實作,例如用額外指標紀錄當前 head 所在位置的 雙端佇列 Deque ,或是使用 單向鏈結串列 Singly linked list 實作,都能達到 O(1) 的時間複雜度。","breadcrumbs":"佇列 Queue » 效能","id":"171","title":"效能"},"172":{"body":"Queue (abstract data type)","breadcrumbs":"佇列 Queue » 參考資料","id":"172","title":"參考資料"},"173":{"body":"雙端佇列(double-ended queue,通常縮寫為 deque)是一般化(generalize)的 佇列 或 堆疊 。比起佇列只能「先進先出 FIFO」,以及堆疊只有「後進先出 LIFO」,雙端佇列可以從最前端或最末端任意方向,在常數時間複雜度內增刪元素,更為方便。 雙端佇列常見用動態陣列或是鏈結串列實作,動態陣列的實作會因空間不夠,需要重新配置記憶體,但通常會支援隨機存取(random access);鏈結串列的實作版本雖無法隨機存取,相對地增刪元素不需記憶體重配置。 雙端佇列顯著的缺點是:無論以動態陣列或連結串列實作,基本款實作通常無法在 $O(k)$ 時間複雜度的情況下,選定範圍內 k 個元素並取得單一切片(slice)。這肇因於動態陣列的實作通常內部儲存空間經過多次增刪,空間利用會不連續;而用鏈結串列實作者,則因不支援隨機存取而無法達到相應的複雜度。 本次實作的程式碼置於在 rust_algorithm_club::collections::Deque API 文件中。","breadcrumbs":"雙端佇列 Deque » 雙端佇列 Deque","id":"173","title":"雙端佇列 Deque"},"174":{"body":"雙端佇列有個實作重點:可在 常數時間 從頭尾兩端增刪元素。在資料結構設計上,會儲存分別指向頭尾的兩個指標,長相可能如下: struct Deque { head: usize, tail: usize, storage: SomeStorageType,\n} 第一直覺肯定是選用 雙向鏈結串列 可以雙向增刪節點的特性,作為解決方案。不過這裡我們採用動態陣列實作,更精確來說,底層儲存容器同樣是有兩個分別指向頭尾的指標的「環形緩衝區(Ring buffer)」。","breadcrumbs":"雙端佇列 Deque » 架構設計","id":"174","title":"架構設計"},"175":{"body":"環形緩衝區(Ring buffer) 是一個長度大小固定的緩衝區,可以視為頭尾相連的記憶體區塊,上圖雖以環狀呈現,但在計算機架構中儲存方式通常是線性陣列,再搭配指向頭端的 head 與指向尾端的 tail 兩個指標構成。 環形緩衝區有分兩種,一種是有循環的,緩衝區寫滿了就覆蓋尾端舊的資料,另一種是不會循環,緩衝區會放滿的,後者就是本次實作會用到的,以下將來探討: 如何表示環形緩衝區為空 如何表示環形緩衝區已滿 環形緩衝區如何增加元素 這節以 ASCII chart 表示之。 h: head t: tail x: no data [number]: has data 下面一個容量為 8,尚未有任何元素存入的環形緩衝區,這裡觀察到,若 head 與 tail 指向的儲存單元相同,換句話說 兩者索引值相同,則緩衝區為空 。 scenario: empty buffer h\nt\n---------------\nx x x x x x x x\n--------------- 再來,從頭端增加一個元素,此時 head 指向的儲存單元會存入元素,並且 head 索引加一。 scenario: add one data onto head t h\n---------------\n1 x x x x x x x\n--------------- 我們再連續加幾個元素,可以觀察到,head 最終指向的儲存單元永遠為空: scenario: add more data onto head t h\n---------------\n1 2 x x x x x x\n--------------- t h\n---------------\n1 2 3 x x x x x\n--------------- t h\n---------------\n1 2 3 4 x x x x\n--------------- 再來,我們從尾端增加元素,首先 tail 減一,並在移動過後的 tail 指向的儲存單元放入元素。因為 tail 原本為 0,減一之後為 -1,但索引不該有 -1,所以我們採取類似環繞算術運算(wrapping arithmetic operation)處理 整數溢位 ,因此 tail 索引從 0 變成 7(總共 8 個儲存單元)。 scenario: add data onto tail h t\n---------------\n1 2 3 4 x x x 5\n--------------- 日常生活中,環繞算術運算可見於汽車儀錶板或是電錶,9999 轉過頭後會自動變成 0000,可以想像成在萬分位進位了,但我們看不到。上述減一也可以想像二進位退一位,但我們看不到,所以從 0b000(0)變成了 0b111(7)。 我們從尾端加更多資料到緩衝區: scenario: add more data onto tail h t\n---------------\n1 2 3 4 x x 6 5\n--------------- h t\n---------------\n1 2 3 4 x 7 6 5 --> full\n--------------- 欸,怎麼加到第七個就停了? 由於目前僅探討 不循環 的環形緩衝區,已經規範 head = tail 代表緩衝區為空,如果貿然加上第八個元素,就無法分辨緩衝區是空是滿,恐導致轉盈為空。所以當緩衝區容量減去元素個數為 1 時,換句話說就是當剩餘最後一個空儲存單元時,表示該緩衝區已滿,不能再增加元素。由此推論環形緩衝區永遠會剩下一個沒使用的儲存單元。 至此,環形緩衝區的特性很符合雙端佇列的需求,總結一下: head = tail 時,表示緩衝區為空。 容量僅剩一個儲存單元時,表示緩衝區已滿。 head 永遠指向一個空的儲存單元。 邏輯索引的映射會利用環繞算術運算配合 模除運算 ,將索引值限制在緩衝區範圍內。 第四點很難懂齁?免驚,下面實作範例「 邏輯索引映射 」段落就會解釋給你聽!","breadcrumbs":"雙端佇列 Deque » 環形緩衝區","id":"175","title":"環形緩衝區"},"176":{"body":"這一段,我們將為環形緩衝區打造屬於它自己的底層儲存空間。你可能想問,既然環形緩衝區是一個固定長度的陣列,為什麼不直接利用 Rust 標準函式庫的 Vec 呢?因為 Vec 的容量和記憶體配置 屬於實作細節,雖然目前是滿了才擴充容量重新配置空間,但難保未來改變,為了更細緻控制記憶體,決定弄髒手,自行配置記憶體。 ⚠️ 以下範例有 unsafe 程式碼,未經審計,請謹慎使用。 首先,宣告一個 RawVec 結構體,儲存了兩個欄位: ptr:指向陣列最前端的指標,因為底層陣列會變化,所以是可變裸指標 *mut T 。 cap:當前 RawVec 的容量。注意,容量需永遠大於等於元數個數,否則會發生 緩衝區溢位 。 struct RawVec { ptr: *mut T, cap: usize,\n} 接下來,我們要為 RawVec 實作三個方法,完成自我管理記憶體的偉大志向: with_capacity:建立指定容量的 RawVec,會在堆疊上配置一塊記憶體。 try_grow:嘗試將 RawVec 的容量加倍,會觸發記憶體的重新配置。 drop:實作 Drop 特徵,會釋放在堆疊上手動配置的記憶體。 先來看 with_capacity: impl RawVec { // ... pub fn with_capacity(cap: usize) -> Self { let layout = Layout::array::(cap).unwrap(); // 1 // 2 if layout.size() == 0 { // This is safe for zero sized types. However, be careful when facing // zero capacity layouts. It must be replaced with an actual pointer // before operations such as dereference or read/write. let ptr = ptr::NonNull::dangling().as_ptr(); // 3 Self { ptr, cap: 0 } } else { // This is safe because it conforms to the [safety contracts][1]. // // [1]: https://doc.rust-lang.org/1.49.0/alloc/alloc/trait.GlobalAlloc.html#safety-1 let ptr = unsafe { alloc(layout) }; // 4 if ptr.is_null() { handle_alloc_error(layout); } Self { ptr: ptr.cast(), cap, } } }\n} 首先,我們先透過 Layout::array 取得給定長度給定型別的陣列的記憶體佈局,這個佈局包含 記憶體對齊 (二的倍數的位元組)與佔用記憶體大小等資訊。 再來這個 layout.size() 條件式是因為 alloc 為 unsafe 函式,需遵守其安全條款: 不允許配置大小為零的空間 。因此,必須判斷實際上需要配置記憶體與否,有兩種情況不需配置: T 是 Zero Sized Types(ZSTs) ,也就是不需要空間的型別。 cap 為零,所以不需要容量。 若記憶體佈局所佔空間大小為零,則配置一個 NonNull 的迷途指標。 對 ZST 來說,NonNull 是安全的,ZST 的指標算術操作無論如何加減,都會指向原始的指標位址,所以上層可以零成本的抽象操作容器的各種方法,完全不需要配置額外記憶體區塊。 對非 ZST 但容量為零的記憶體佈局來說,NonNull 不會有危害但要非常小心,只有在容量大於 0 且內容有初始化時,才該允許指標算術,否則可能存取到未初始化的記憶體位址,進而引發未定義行為。 很簡單地呼叫 alloc 讓 Rust 全域預設的配置器幹一塊空間資源來。因為 alloc 發生記憶體配置錯誤時會回傳空指標,所以這裡按照官方建議用 handle_alloc_error 捕捉這個行為,防止空指標被當作合法指標使用。 Rust 1.28 導入 Global allocators 的功能,讓使用者使用 #[global_allocator] 屬性,替標準函式庫註冊全域的記憶體配置器,也因此,上述的 alloc、realloc、dealloc 即將在 allocator_api 穩定後被取代。 看完配置記憶體,來看如何手動釋放記憶體。Rust 的 Drop 特徵有 drop() 方法,會在數值不需要時呼叫,類似其他語言的解構函式(destructor)。我們將釋放記憶體的邏輯放在 RawVec::drop 裡面,當 RawVec 不被需要時,就會協助我們釋放手動配置的記憶體。 impl Drop for RawVec { /// Deallocates the underlying memory region by calculating the type layout /// and number of elements. /// /// This only drop the memory block allocated by `RawVec` itself but not /// dropping the contents. Callers need to drop the contents by themselves. fn drop(&mut self) { let layout = Layout::array::(self.cap).unwrap(); // 1 if layout.size() > 0 { // This is safe because it conforms to the [safety contracts][1]. // // [1]: https://doc.rust-lang.org/1.49.0/alloc/alloc/trait.GlobalAlloc.html#safety-2 unsafe { dealloc(self.ptr.cast(), layout) } } }\n} 實作上,第一步取得當前記憶體佈局,並透過 dealloc 配合指標來釋放記憶體。當然,ZST 或是容量為零的狀況並沒有配置記憶體,額外判斷無需釋放。 最後,來瞧瞧 try_grow,為了簡化實作,每次呼叫時,記憶體區塊就單純加倍。 impl RawVec { // ... pub fn try_grow(&mut self) { if mem::size_of::() == 0 { return; // 1 } if self.cap == 0 { *self = Self::with_capacity(1); // 2 return; } let old_layout = Layout::array::(self.cap).unwrap(); // 3 let new_cap = self.cap << 1; let new_size = old_layout.size() * new_cap; // This is safe because it conforms to the [safety contracts][1]. // // [1]: https://doc.rust-lang.org/1.49.0/alloc/alloc/trait.GlobalAlloc.html#safety-4 let ptr = unsafe { realloc(self.ptr.cast(), old_layout, new_size) }; if ptr.is_null() { handle_alloc_error(old_layout); } // ...Old allocation is unusable and may be released from here at anytime. self.ptr = ptr.cast(); // 4 self.cap = new_cap; }\n} ZST 的空間不需加倍,直接返回。 原本空間容量為零的狀況,直接配置容量為一的空間。 準備 realloc 需要的參數:容量超過零的,取得舊的記憶體佈局,並乘上翻倍後的容量,算出新的空間大小。這讓之後呼叫 realloc 時符合其安全條款:合法指標、空間大於零、記憶體佈局為該區塊的舊佈局。 呼叫 realloc 之後,原先記憶體區塊可能被釋放,因此不該繼續用舊指標,此以新指標取代之。 終於將手動配置記憶體的邏輯封裝在 RawVec 裡面,外部不需要弄髒手搞記憶體了!","breadcrumbs":"雙端佇列 Deque » 手動配置記憶體","id":"176","title":"手動配置記憶體"},"177":{"body":"有了 RawVec,現在可以將先前缺失的 SomeStorageType 補上,初始化的方法也異常單純。 pub struct Deque { tail: usize, head: usize, ring_buf: RawVec,\n} impl Deque { pub fn new() -> Self { Self { tail: 0, head: 0, ring_buf: RawVec::with_capacity(DEFAULT_CAPACITY), } }\n} 至此,Deque 結構體的佈局設計告一段落,接下來就是各種方法實作。","breadcrumbs":"雙端佇列 Deque » Deque","id":"177","title":"Deque"},"178":{"body":"身為一個雙端佇列,會有以下符合定義的基本操作: new:初始化一個容器。 push_front:在容器最前端新增一個元素。 push_back:在容器最末端新增一個元素。 pop_front:移除在容器最前端的元素。 pop_back:移除在容器最末端的元素。 另外為了提升方便性,也提供了一些方法: front:查看容器最前端的元素。 back:查看容器最末端的元素。 len:檢查容器內的元素數目。 is_empty:檢查容器內是否沒有任何元素。 iter、iter_mut、into_iter:產生一個疊代容器內所有元素的疊代器。 因為需要比較動態精細地控制記憶體,少不了一些內部方法: is_full:檢查底層環形緩衝區是否滿載。 try_grow:嘗試動態增加底層儲存空間。 wrapping_add、wrapping_sub:確保邏輯索引的增減正確映射到底層實際索引位址。","breadcrumbs":"雙端佇列 Deque » 基本操作","id":"178","title":"基本操作"},"179":{"body":"前一段 提及環形緩衝區可以從頭尾增加元素,這一段來說明「如何封裝環形緩衝區內部的物理索引」,讓外部的邏輯索引可映射到內部已儲存合法數值的緩衝區位址。 再回來看容量為 8 的雙端佇列的例子,已進行一系列操作: push_back 1 push_back 2 push_back 3 push_back 4 push_front 5 push_front 6 h t\n---------------\n1 2 3 4 x x 6 5\n--------------- 如果我們要按照順序,從佇列的 tail 到 head 印出所有元素,應該從 tail 開始,逐一增加索引,依序 6 5 1 2 3 4 印出,我們畫上虛擬的元素對應位置: ~: virtual element h t -->\n-----------------------\n1 2 3 4 x x 6 5 1 2 3 4\n----------------------- ~ ~ ~ ~ 顯而易見,虛擬元素對應的索引是 8、9、10、11,已經超過緩衝區的長度,可以利用 模除運算 計算物理索引,將索引固定在一定長度內。目前緩衝區容量為 8,所以將索引全部 模除 8: 8 % 8 = 0:對應到 [0] 的元素 1 9 % 8 = 1:對應到 [1] 的元素 2 10 % 8 = 2:對應到 [2] 的元素 3 11 % 8 = 3:對應到 [3] 的元素 4 模除是直觀的作法,但還有更神奇的思路:位元運算(bitwise arithmetic)。只要拿 7 跟這些索引做 & 位元 AND 運算,也能得到相同結果。 8 9 10 11 <- Logical 0b1000 0b1001 0b1010 0b1011\n& 0b0111 0b0111 0b0111 0b0111\n----------------------------------- 0b0000 0b0001 0b0010 0b0011\n= 0 1 2 3 <- Actual 這邊使用 7 有其意義: 7 是 $2^3 - 1$,剛好 $2^n - 1$ 在是二進位制中全部位元都會是 1 ,任意數與 $2^n - 1$ 做位元 AND 運算,可以得到低位 n 位中有多少 1,同時捨棄大於 n 的位元。這個特性不偏不倚和模除的結果相同。 還記得環形緩衝區有個特性嗎: 容量僅剩一個儲存單元時,表示緩衝區已滿 。若能保證環形緩衝區的容量必為 $2^n$,當緩衝區滿時,元素個數定為 $2^n - 1$,完全符合前一點的特性。 綜合以上,只需要保證緩衝區容量是 $2^n$,將邏輯索引映射到實際索引,只要將索引和實際可用容量($2^n - 1$)做位元 AND 運算即可: fn wrap_index(index: usize, size: usize) -> usize { debug_assert!(size.is_power_of_two()); index & (size - 1)\n} 接下來,就可以推出 wrapping_add 和 wrapping_sub 這兩支正確增減索引的方法: impl Deque { // ... fn wrapping_add(&self, index: usize, addend: usize) -> usize { wrap_index(index.wrapping_add(addend), self.cap()) } fn wrapping_sub(&self, index: usize, subtrahend: usize) -> usize { wrap_index(index.wrapping_sub(subtrahend), self.cap()) } fn cap(&self) -> usize { self.ring_buf.cap() }\n} 上面用環繞算術運算(wrapping arithmetic operation) 可以使開發更方便,例如遇上 index 0 而 subtrahend 1 時,巧妙避開 $0 - 1 = -1$ 但 usize 不能為負的限制,直接環繞回 usize::MAX。 值得一提的是,在 Deque::cap 這個簡單的封裝上呼叫了 RawVec::cap,這是新增的方法,旨在提供 ZST 一個很大很大的虛擬容量,但同時保證是 2 的次方: impl RawVec { // ... pub fn cap(&self) -> usize { if mem::size_of::() == 0 { 1usize << (mem::size_of::() * 8 - 1) } else { self.cap } }\n}","breadcrumbs":"雙端佇列 Deque » 邏輯索引映射","id":"179","title":"邏輯索引映射"},"18":{"body":"相較於 Big O 描述演算法成長趨勢的上界,Big Omega 則是對應成長趨勢的「下界」,定義如下: $$f(n) = \\Omega(g(n)) \\colon {\\exists k>0\\ \\exists n_0\\ \\forall n>n_0\\ |f(n)| \\geq k \\cdot g(n)}$$ 以 $f(n) = 3n + 4$ 為例,有一組 $k = 2;\\ g(n) = n;\\ n_0 = 0$ 滿足上式,因此這個演算法在輸入資料夠大時,「至少」會達到 $\\Omega(n)$ 的複雜度,也就是「該演算法的成長趨勢不會比 $g(n)$ 來得慢」。","breadcrumbs":"漸進符號 Asymptotic Notation » $\\Omega$:Big Omega","id":"18","title":"$\\Omega$:Big Omega"},"180":{"body":"前面提及環形緩衝區是長度固定的陣列,但雙端佇列若必須固定長度就太沒路用,直觀作法就是透過加倍 RawVec 容量,再繼續新增元素。這個想法沒錯,但會遇到一個問題:如何確保邏輯索引在記憶體加倍後依然正確映射到實際索引?這裡舉一個實際案例: Before: h t\n[o o o o x x o o] Resize: h t\n[o o o o x x o o | x x x x x x x x] 同樣一個容量為 8 的佇列,觸發了記憶體重新配置,所以記憶體加倍,無奈今非昔比,現在的邏輯索引 tail 無法映射到實際索引,環形緩衝區的「環」已經斷掉。若我們繼續 push_back 往 head 添加元素,就會覆蓋掉 tail 和後面的元素。 after 4 push_back: overwritten: ⌀\nnewly added: _ t h\n[o o o o o o ⌀ ⌀ | x x x x x x x x] _ _ _ _ 有鑑於此,需要修正將斷掉的環,最簡單的作法就是將緩衝區首個索引到 head 之前的索引這段記憶體空間,複製到新翻倍的空間上,讓 tail 在 head 前面,合法的記憶體區塊再次變得連續: Before: h t\n[o o o o x x o o] Resize: h t\n[o o o o x x o o | x x x x x x x x] Copy: t h\n[x x x x x x o o | o o o o x x x x] _ _ _ _ _ _ _ _ 了解實作的目標後,先定義個容量已滿的方法暖暖身: fn is_full(&self) -> bool { self.cap() - self.len() == 1 } 然後是 try_grow 的實作: fn try_grow(&mut self) { if self.is_full() { let old_cap = self.cap(); // 1 self.ring_buf.try_grow(); // 2 // 3 if self.tail > self.head { // The content of ring buffer won't overlapped, so it's safe to // call `copy_nonoverlapping`. It's also safe to advance the // pointer by `old_cap` since the buffer has been doubled. unsafe { let src = self.ptr(); // 4-1 let dst = self.ptr().add(old_cap); // 4-2 ptr::copy_nonoverlapping(src, dst, self.head); } self.head += old_cap; // 5 } } } 將舊的容量存起來,因為當 ring_buf 容量翻倍後,cap() 返回的容量就會翻倍。 呼叫 RawVec::try_grow() 讓容量翻倍。 在 tail 大於 head 時,代表環在翻倍後會不連續,所以需要複製元素。 這裡用 ptr::copy_nonoverlapping 進行位元複製,此函式語義上與 C 的 memcpy 相同。 取得緩衝區首個索引的位址,作為複製的起始位址。 取擴增後部分的首個索引位址,作為複製的目標位址。 實際呼叫 memcpy ,因為 head 永遠比最後一個元素索引多 1,剛好可作為元素數目。 被複製的元素位移了 old_cap,因此更新 head 映射到正確的 head + old_cap。 我們完成了動態增加容量的方法的同時,也維持邏輯索引映射的正確性。 這裡維持索引正確性有稍微簡化,更高效優美的解法請參考標準函式庫 VecDeque::handle_capacity_increase 。","breadcrumbs":"雙端佇列 Deque » 動態增加記憶體空間","id":"180","title":"動態增加記憶體空間"},"181":{"body":"查看首末兩段的元素非常簡單,不過由於涉及底層儲存空間的指標操作,所以需要寫 Unsafe Rust: pub fn front(&self) -> Option<&T> { if self.is_empty() { return None; } // This is safe because the offset is wrapped inside valid memory region. unsafe { Some(&*self.ptr().add(self.tail)) } } pub fn back(&self) -> Option<&T> { if self.is_empty() { return None; } let head = self.wrapping_sub(self.head, 1); // This is safe because the offset is wrapped inside valid memory region. unsafe { Some(&*self.ptr().add(head)) } } 兩個函式都先判斷雙端佇列是否為空,再做指標位移運算,head - 1 是 back 的指標位移量,而 front 就直接回傳 tail 指向的值。其中 &* 是常見的 Rust 模式,可視為 將裸指標「升級」為更安全的引用型別 ,步驟如下: 解引用裸指標,得到底下的裸數值。 建立一個安全的引用,指向裸數值。 這裡再來品嚐 is_empty 和 len 的實作: pub fn is_empty(&self) -> bool { self.len() == 0 } pub fn len(&self) -> usize { self.head.wrapping_sub(self.tail) & (self.cap() - 1) } len 用了環繞算術運算,讓 head - tail 能正確算出兩者的距離,並在用前面提及的「容量 - 1」的 $2^n - 1$ 做位元 AND 運算來捨棄高位。","breadcrumbs":"雙端佇列 Deque » 查看元素","id":"181","title":"查看元素"},"182":{"body":"來看從頭尾刪除元素的 pop_front 和 pop_back: pub fn pop_front(&mut self) -> Option { if self.is_empty() { return None; // 1 } let tail = self.tail; self.tail = self.wrapping_add(self.tail, 1); // 2 // This is safe because the offset is wrapped inside valid memory region. unsafe { Some(self.ptr().add(tail).read()) } // 3 } pub fn pop_back(&mut self) -> Option { if self.is_empty() { return None; // 1 } self.head = self.wrapping_sub(self.head, 1); // 2 // This is safe because the offset is wrapped inside valid memory region. unsafe { Some(self.ptr().add(self.head).read()) } // 3 } 同樣先判斷雙端佇列是否為空。 再來移動到下一個合法的索引上,會是 head - 1 或 tail + 1。 最後是指標位移再讀取,注意,雖然 ptr::read 會複製指標指向的值,但可視為所有權轉移到回傳值上了,這是因為倘若原始 src 指向的資料帶有其他指標,那麼繼續使用 src 就可能導致記憶體安全問題。 再來看增加元素的 push_front 與 push_back: pub fn push_front(&mut self, elem: T) { self.try_grow(); // 1 self.tail = self.wrapping_sub(self.tail, 1); // 2 // This is safe because the offset is wrapped inside valid memory region. unsafe { self.ptr().add(self.tail).write(elem) } // 3 } pub fn push_back(&mut self, elem: T) { self.try_grow(); // 1 let head = self.head; self.head = self.wrapping_add(self.head, 1); // 2 // This is safe because the offset is wrapped inside valid memory region. unsafe { self.ptr().add(head).write(elem) } // 3 } 同樣先判斷雙端佇列是否為空。 再來移動到下一個合法的索引上,會是 head + 1 或 tail - 1。 最後是指標位移再寫入, ptr::write 不會觸發讀取或是 drop 裸指標指向的值,但使用上仍然要確認存取該位址是否合法。 以上就是 Deque 基本操作方法,至此,剩下最後一步「 正確釋放記憶體 」,雙端佇列基本款就完成了。","breadcrumbs":"雙端佇列 Deque » 增刪元素","id":"182","title":"增刪元素"},"183":{"body":"Rust 提供許多特徵(Trait),實作特徵可以讓資料結構更方便,更符合 Rust 社群的寫作慣例。","breadcrumbs":"雙端佇列 Deque » 特徵","id":"183","title":"特徵"},"184":{"body":"這是 Deque 最重要的特徵之一,也是完成 Deque 基本款的最後一個必要功能。Drop 會用來釋放儲存在 Deque 裡面元素的資源。實作是將所有元素 pop_back 出來,所有權轉移到 drop 函式內,函式本體執行結束後,就會自動呼叫該元素型別的 drop 並釋放資源。 impl Drop for Deque { fn drop(&mut self) { while let Some(_) = self.pop_back() {} }\n} 也許你會問「為什麼不在 Deque.ring_buf 的 RawVec 實作 Drop 來釋放其內容的資源?」主因是權責區分,RawVec 僅負責釋放它自行配置的堆疊記憶體,不清楚內容元素該如何釋放記憶體,例如內容可能是 Region-based memory management ,一起釋放效率更高,元素各別 mem::drop 反而拖累效率。 事實上 Deque::drop 也能更高效, std::colletions::VecDeque::drop 就是直接 drop 兩個指向切片(slice)的指標,而非每個元素各自處理,雖然最後可能殊途同歸,視編譯器最佳化程度而定。","breadcrumbs":"雙端佇列 Deque » Drop","id":"184","title":"Drop"},"185":{"body":"身為容器型別,沒有疊代器簡直不能用,Rust 提供許多疊代器特徵供實作,其中 Iterator 特徵最為基礎且重要,實作 Iterator 特徵需求一個 next 方法,會不斷回傳下一個元素。任何實作 Iterator 特徵的型別,都可以放入 for 迴圈疊代。 而 Rust 常見的疊代器設計模式包含三個產生疊代器的方法: iter():慣例上回傳會產生不可變引用 &T 的 Iterator。 iter_mut():慣例上回傳會產出可變引用 &mut T 的 Iterator。 into_iter():慣例上回傳吃掉所有權 T 的 Iterator ,通常直接實作 IntoIterator 特徵即可,我們在 下一段 介紹它。 實作 Iterator 需要新的結構體,以儲存疊代的內部狀態: pub struct Iter<'a, T> { head: usize, tail: usize, ring_buf: &'a [T],\n} pub struct IterMut<'a, T> { head: usize, tail: usize, ring_buf: &'a mut [T],\n} Iter:由於定位 Deque 中有元素的合法記憶體區域需要 head 和 tail,因此儲存該兩者,並且儲存底層的環形緩衝區的切片引用,方便存取元素。 IterMut:同 Iter,但改為儲存可變的切片引用。 來看看 Iter 如何實作疊代器: impl<'a, T> Iterator for Iter<'a, T> { type Item = &'a T; fn next(&mut self) -> Option { if self.tail == self.head { return None; // 1 } let tail = self.tail; // 2 self.tail = wrap_index(self.tail.wrapping_add(1), self.ring_buf.len()); // 3 self.ring_buf.get(tail) // 4 }\n} 當 tail 等於 head 時,代表環形緩衝區為空,直接回傳 None。 tail 是 Deque 最前端,這裡先將當前的 tail 儲存起來。 再將 Iter 上的 tail 增加 1(不影響原始 Deque),下一次呼叫 next 就會取得下一個元素。 利用第二步儲存的當前 tail,配合 slice::get 直接回傳一個元素。 再來處理 IterMut::next,直觀上將 Iter::next 的 self.ring_buf.get(tail) 改成 get_mut 即可。 impl<'a, T> Iterator for IterMut<'a, T> { type Item = &'a mut T; fn next(&mut self) -> Option { if self.tail == self.head { return None; } let tail = self.tail; self.tail = wrap_index(self.tail.wrapping_add(1), self.ring_buf.len()); self.ring_buf.get_mut(tail) // Change to `get_mut` }\n} 欸!居然編譯失敗了,到底為什麼呢? error[E0495]: cannot infer an appropriate lifetime for autoref due to conflicting requirements --> src/collections/deque/mod.rs:353:23 |\n353 | self.ring_buf.get_mut(tail) | ^^^^^^^ |\nnote: first, the lifetime cannot outlive the anonymous lifetime #1 defined on the method body at 347:5... --> src/collections/deque/mod.rs:347:5 |\n347 | fn next(&mut self) -> Option<&'a mut T> { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nnote: ...so that reference does not outlive borrowed content --> src/collections/deque/mod.rs:353:9 |\n353 | self.ring_buf.get_mut(tail) | ^^^^^^^^^^^^^\nnote: but, the lifetime must be valid for the lifetime `'a` as defined on the impl at 344:6... --> src/collections/deque/mod.rs:344:6 |\n344 | impl<'a, T> Iterator for IterMut<'a, T> { | ^^\nnote: ...so that the expression is assignable --> src/collections/deque/mod.rs:353:9 |\n353 | self.ring_buf.get_mut(tail) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: expected `Option<&'a mut T>` found `Option<&mut T>` 這個編譯錯誤是因為匿名的 &mut self 和 Self::Item 兩者生命週期不匹配。以下把函式簽名的生命週期展開來看: fn next<'anonymous>(&'anonymous mut self) -> Option<&'a mut T> { // ... self.ring_buf // &'anonymous [T] .get_mut(tail) // Some(&'anonymous mut T) } 嗯,這不太對,我們知道 Rust 保證「就算 drop 了疊代器本身,產出的元素仍然合法」,產出的元素若為引用絕對 不會是迷途引用 ,例如下面範例: let a = iter.next().unwrap();\nlet b = iter.next().unwrap();\ndrop(iter);\nuse_both(a, b); 但編譯器只看型別是否正確,並無法檢查執行期間的 &mut self 內部 ring_buf 和 Self::Item 是否活得一樣久,且由於 Iterator::next 函式簽名上沒有對 &mut self 的生命週期做任何限制,因此無法寫出下列這種預期中的生命週期限制(可視為要求 'b 至少活得跟 'a 一樣長): impl<'a, T> Iterator for IterMut<'a, T> { type Item = &'a mut T; fn next<'b: 'a>(&'b mut self) -> Option { // ...omit }\n} // error[E0195]: lifetime parameters or bounds on method `next` do not match the trait declaration\n// --> src/collections/deque/mod.rs:347:12\n// |\n// 347 | fn next<'b: 'a>(&'b mut self) -> Option {\n// | ^^^^^^^^ lifetimes do not match method in trait 當然,我們知道回傳 ring_buf 的 &'a mut T 在生命週期上合法,但編譯器認不出來,所以 unsafe 又要來拯救世界。 impl<'a, T> Iterator for IterMut<'a, T> { type Item = &'a mut T; fn next(&mut self) -> Option { if self.tail == self.head { return None; } let tail = self.tail; self.tail = wrap_index(self.tail.wrapping_add(1), self.ring_buf.len()); // This unsafe block is needed for solving the limitation of Iterator // trait: the `&mut self` is bound to an anonymous lifetime which rustc // cannot figure out whether it would outlive returning element. Hence // the explicit pointer casting is required. unsafe { let ptr = self.ring_buf as *mut [T]; // 1 let slice = &mut *ptr; // 2 slice.get_mut(tail) // 3 } }\n} 將 ring_buf 轉換成裸指標,因為裸指標無生命週期,所以 &mut self 給的限制不見了。 再把 ptr 指向的 *mut [T] 裸指標轉換成有生命週期的可變引用 &mut [T] 的切片。藉由 Rust 對回傳型別的自動推斷,此切片的實際型別會是 &'a mut [T]。Got it!這就是我們所要的。 老老實實地呼叫 slice::get_mut,完全正確。 這類 An iterator yields borrowing contents from itself 的問題,有個俗名叫做 streaming iterator ,可以透過 泛型關聯型別 (generic associated type a.k.a GAT)解決,但目前 GAT 尚未穩定。詳情可參考這篇介紹 GAT 與 streaming iterator workaroud 的文章。 欸,或許你有疑惑,Iter::next 不也同樣有生命週期問題嗎,為什麼沒有報錯呢?這是因為 所有 &T 引用都預設實作 Copy 特徵 ,呼叫 slice::get() 時會 自動複製 ring_buf 的引用,因此沒有生命週期的問題,但 &mut T 並沒有實作 Copy 特徵,才會遇上生命週期不符的編譯錯誤。","breadcrumbs":"雙端佇列 Deque » Iterator","id":"185","title":"Iterator"},"186":{"body":"相較於 Interator, IntoIterator 是一個讓容器型別錦上添花的特徵,主要功能是:將一個型別自動轉換為有實作 Iterator 的型別,實作後該型別就可以直接放入 for 迴圈中。 例如下列用法: let mut d = Deque::new();\nd.push_back(1);\nd.push_back(2);\nd.push_front(3);\nd.push_front(4); for elem in &d { println!(\"{:?}\". elem);\n} for elem in &mut d { *elem *= *elem;\n} 實作上分三個: impl IntoIterator for Deque:將容器轉換成疊代器,並轉移容器和元素的所有權。 impl<'a, T> IntoIterator for &'a Deque:將容器不可變引用轉換成不可變元素的疊代器。 impl<'a, T> IntoIterator for &'a mut Deque:將容器可變引用轉換成可變元素的疊代器。 先說明後面兩者。以下實作非常簡單,只要根據容器引用可變與否,對應呼叫前一段提及的 Deque::iter 或 Deque::iter_mut 即可,這算是 Rust 容器型別的一貫作法。 impl<'a, T> IntoIterator for &'a Deque { type Item = &'a T; type IntoIter = Iter<'a, T>; fn into_iter(self) -> Self::IntoIter { self.iter() }\n} impl<'a, T> IntoIterator for &'a mut Deque { type Item = &'a mut T; type IntoIter = IterMut<'a, T>; fn into_iter(self) -> Self::IntoIter { self.iter_mut() }\n} 至於 impl IntoIterator for Deque 和 iter 與 iter_mut 不一樣,會吃所有權,所以需要宣告額外的結構體來儲存其內部狀態,並直接實作 IntoIterator 要求的 into_iter 方法: pub struct IntoIter(Deque); impl IntoIterator for Deque { type Item = T; type IntoIter = IntoIter; fn into_iter(self) -> Self::IntoIter { IntoIter(self) }\n} 此疊代方法中,佇列內元素的所有權會轉移,所以不需要跟 Iter 一樣保存切片,可以直接存整個 Deque 作為內部狀態,拿走 Deque 的所有權。 既然掌控 Deque 所有權,實作疊代器就沒有困難了,直接將所有元素 pop 取出即可。 impl Iterator for IntoIter { type Item = T; fn next(&mut self) -> Option { self.0.pop_front() }\n}","breadcrumbs":"雙端佇列 Deque » IntoIterator","id":"186","title":"IntoIterator"},"187":{"body":"用索引下標 array[index] 取值的語法常見於各大主流語言,Rust 提供 Index 和 IndexMut 兩個特徵來實作這個運算子,讓容器型別更符合人體工學。 實作方法是利用 邏輯索引映射 段落實作的 wrap_index 得出實際索引,再透過指標取值即可。唯一需要注意的是越界存取(out of bound access)可能產生未定義行為,不符合 Rust 對記憶體安全的要求,所以在裸指標存取之前,就要直接 assert! 索引是否在元素數量的安全範圍內,防止越界存取。 impl Index for Deque { type Output = T; fn index(&self, index: usize) -> &Self::Output { assert!(index < self.len(), \"Out of bound\"); let index = self.wrapping_add(self.tail, index); // This is safe because the offset is wrapped inside valid memory region. unsafe { &*self.ptr().add(index) } }\n} impl IndexMut for Deque { fn index_mut(&mut self, index: usize) -> &mut T { assert!(index < self.len(), \"Out of bound\"); let index = self.wrapping_add(self.tail, index); // This is safe because the offset is wrapped inside valid memory region. unsafe { &mut *self.ptr().add(index) } }\n}","breadcrumbs":"雙端佇列 Deque » Index and IndexMut","id":"187","title":"Index and IndexMut"},"188":{"body":"最後,介紹一下 fmt::Formatter 有許多方便的 debug 格式化輸出的方法,例如 debug_list 可以丟一個疊代器,會轉化成序列般的輸出格式。 impl fmt::Debug for Deque { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { f.debug_list().entries(self.iter()).finish() }\n} 當然,如果想要對 RawVec 實作 Debug 特徵,免手寫,可直接用 derive 屬性讓 編譯器推導實作 。 #[derive(Debug)] // Add this line to derive Debug trait automatically.\nstruct RawVec { ptr: *mut T, cap: usize,\n}","breadcrumbs":"雙端佇列 Deque » Debug","id":"188","title":"Debug"},"189":{"body":"以環形緩衝區為底層儲存容器的雙端序列,各操作複雜度如下: Operation Best case Worst case push_front(v) $O(1)$ $O(1)$~ push_back(v) $O(1)$ $O(1)$~ pop_front(v) $O(1)$ $O(1)$~ pop_back(v) $O(1)$ $O(1)$~ front $O(1)$ $O(1)$ back $O(1)$ $O(1)$ len $O(1)$ $O(1)$ $n$:資料筆數。 $v$:資料值。 ~ :平攤後的複雜度(amortized)。 雙端佇列任何操作都是直接對 head 或 tail 的索引讀寫記憶體,複雜度皆為 $O(1)$,不過因為增減元素需要動態調整儲存空間大小,所以這些方法的時間複雜度需要平攤。 空間複雜度則是只用了一個環形緩衝區儲存元素,和幾個欄位儲存 tail、head 還有容量,因此額外空間複雜度只有 $O(1)$。","breadcrumbs":"雙端佇列 Deque » 效能","id":"189","title":"效能"},"19":{"body":"Big Theta 則是 Big O 與 Big Omega 兩個漸進上下界所夾出的範圍,表示該演算法在輸入資料夠大時,最終的複雜度會成長到這個範圍中。其定義如下: $$f(n) = \\Theta(g(n)) \\colon {\\exists k_1>0\\ \\exists k_2>0\\ \\exists n_0\\ \\forall n>n_0\\ k_1 \\cdot g(n) \\leq |f(n)| \\leq k_2 \\cdot g(n)}$$ 繼續以 $f(n) = 3n + 4$ 為例,同樣有一組 $k_1 = 1;\\ k_2 = 5;\\ g(n) = n;\\ n_0 = 2$,滿足 $$\\forall n \\geq 2,\\ n \\leq f(n) = 3n + 4 \\leq 5n$$ 可得知,$f(n) = 3n + 4 \\in \\Theta(n)$,表示「該演算法的成長趨勢與 $g(n) = n$ 相同」(見圖四)。 Fig. 4","breadcrumbs":"漸進符號 Asymptotic Notation » $\\Theta$:Big Theta","id":"19","title":"$\\Theta$:Big Theta"},"190":{"body":"Rust Documentation: VecDeque Rust RawVec Implementation Wiki: Circular buffer Circular Buffer Image by Cburnett CC BY-SA-3.0 via Wikimedia Commons.","breadcrumbs":"雙端佇列 Deque » 參考資料","id":"190","title":"參考資料"},"191":{"body":"鏈結串列是一種基本線性資料集合,每一個資料元素都是獨立的物件。儲存資料的方式和一般陣列配置連續物理記憶體空間不同,而是在各節點儲存額外的指標指向下一個節點。 (單向鏈結串列示意圖)","breadcrumbs":"鏈結串列概述 » 鏈結串列 Linked list","id":"191","title":"鏈結串列 Linked list"},"192":{"body":"鏈結串列有以下特性與優點: 不需事先知道資料型別大小,充分利用動態記憶體管理。 以常數時間插入/刪除,不需重新配置記憶體(reallocation)。 但也因動態配置記憶體等因素,連帶產生一些缺陷: 空間開銷大 :每個元素需儲存額外的指標空間。 較差的 CPU 快取 :不連續存取的特性,不利於 CPU 快取 。 不允許隨機存取(random access) :搜尋特定節點仍需線性時間循序存取。","breadcrumbs":"鏈結串列概述 » 特性","id":"192","title":"特性"},"193":{"body":"大多數的場景其實不太常使用鏈結串列,Rust 內建的 LinkedList 文件也建議,除非肯定要用鏈結串列,不然建議優先考慮其他類似的資料結構如 VecDeque 。話雖如此,鏈結串列仍有不少應用場景: 需要頻繁地插入與刪除資料。 需要頻繁分離與合併(split and merge)資料。 不需要隨機存取的資料。 遞迴友好,因此成為大多函數式語言中基本資料型別之一。 教學上,常用於實作抽象資料型別,如 堆疊 與 佇列 等等。","breadcrumbs":"鏈結串列概述 » 適用場景","id":"193","title":"適用場景"},"194":{"body":"","breadcrumbs":"鏈結串列概述 » 術語","id":"194","title":"術語"},"195":{"body":"又稱「節點」,為組成鏈結串列的基本元素,節點包含資料儲存區與指標儲存區,指標儲存區用以儲存指向其他節點位址的變數。此外,最後一個節點的不指向其他節點位址的指標成為 null pointer,慣例以 NULL 表示。 node-box (節點示意圖)","breadcrumbs":"鏈結串列概述 » Node","id":"195","title":"Node"},"196":{"body":"Head 為指向整個串列第一個節點的指標。而 tail 則為指向最後一個節點的指標。用 ASCII 圖表示如下: head tail | | v v\n+--------+ +--------+ +--------+\n| | | | | |\n| node 0 |-->| node 1 |-->| node 2 |--> NULL\n| | | | | |\n+--------+ +--------+ +--------+","breadcrumbs":"鏈結串列概述 » Head and tail","id":"196","title":"Head and tail"},"197":{"body":"Sentinal node 一個特殊的節點,資料值為 NULL 的節點,用意代表鏈結串列的端點。也就是說,sentinel node 指向串列第一個節點,而串列最後一個節點也會指向 sentinel node,就像哨兵一樣守著串列前後,因而得名。 實作鏈結串列時,常常因為判斷節點是否為 NULL 而讓程式變得複雜,而 sentinel node 可減少程式操作步驟,也能增加程式可讀性。詳細資訊可以參考這篇 NULL 與 sentinel node 的比較討論 。 +-----------------------------------------------+ | | v |\n+---------+ +--------+ +--------+ +--------+ |\n|sentinel | | | | | | | |\n| |-->| node 0 |-->| node 1 |-->| node 3 |--+\n| node | | | | | | |\n+---------+ +--------+ +--------+ +--------+","breadcrumbs":"鏈結串列概述 » Sentinel node","id":"197","title":"Sentinel node"},"198":{"body":"依據每個節點的鏈結多寡,可分為 單向鏈結串列 ,每個節點只有一個指標,指向下一個節點。 +--------+ +--------+ +--------+\n| | | | | |\n| node 0 |-->| node 1 |-->| node 2 |--> NULL\n| | | | | |\n+--------+ +--------+ +--------+ 雙向鏈結串列 ,每個節點有兩個指標,分別指向前後一個節點。 +--------+ +--------+ +--------+ | |-->| |-->| |--> NULL | node 0 | | node 1 | | node 2 |\nNULL <--| |<--| |<--| | +--------+ +--------+ +--------+ 倘若該鏈結串列末端節點的指標指向第一個的節點,形成一個循環,則稱之為「 循環鏈結串列 」。 Singly linked list as circular +-----------------------------------------+\n| |\n| +--------+ +--------+ +--------+ |\n| | | | | | | |\n+-->| node 0 |-->| node 1 |-->| node 3 |--+ | | | | | | +--------+ +--------+ +--------+ 詳細說明與實作請點選各個連結。","breadcrumbs":"鏈結串列概述 » 種類","id":"198","title":"種類"},"199":{"body":"Wiki: Linked list Singly linked list SVG By Lasindi [Public domain], via Wikimedia Commons.","breadcrumbs":"鏈結串列概述 » 參考資料","id":"199","title":"參考資料"},"2":{"body":"","breadcrumbs":"Rust Algorithm Club » 演算法","id":"2","title":"演算法"},"20":{"body":"看完了讓人昏昏欲睡的數學定義,現在來認識一些常見的複雜度,從最快最有效率,到最慢最拖台錢的通通一起認識。 $O(1)$:常數時間,演算法執行時間與資料量毫無瓜葛。例如讀取 array 首個元素。 $O(\\log n)$:執行時間隨資料量呈對數比例成長。常見的例子是 二元搜索(Binary search) 。 $O(n)$:執行時間隨資料量呈線性成長,例如在無序的 array 中尋找特定值。 $O(n \\log n)$:執行時間隨資料量呈線性對數成長,常見的 合併排序(Mergesort) 的複雜度即如斯。 $O(n^2)$:執行時間隨資料量呈平方成長,例如一些效率不彰的排序法如 氣泡排序(Bubble sort) 。 $O(n^3)$:執行時間隨資料量呈立方成長,常見例子為 naïve 實作的矩陣乘法。 $O(c^n)$:執行時間隨資料量呈指數成長。 $O(n!)$:執行時間隨資料量呈階乘成長,大部分情況下,這是非常差勁的複雜度。 若想一窺各種常見演算法的複雜度,可以參考這個最全面的 Big-O Cheat Sheet ,圖表非常精美直觀! 再次強調,漸進符號也可以代表其他執行成本如記憶體空間,並不一定代表執行時間。 其他的漸進符號還有 little-o、little-omega 等等,有興趣的朋友可以參考文末的資料。","breadcrumbs":"漸進符號 Asymptotic Notation » 常見的複雜度","id":"20","title":"常見的複雜度"},"200":{"body":"單向鏈結串列是鏈結串列家族中最簡單的版本,特色是每兩個節點間只有一個單向的鏈結。 head | v\n+--------+ +--------+ +--------+\n| | | | | |\n| node 0 |-->| node 1 |-->| node 2 |--> NULL\n| | | | | |\n+--------+ +--------+ +--------+ 比起 雙向鏈結串列 ,單向鏈結串列少了一個額外的指標開銷,在基本操作的花費也較低。在不需要雙向疊代情形下單向鏈結串列很適用。 此外,單向鏈結串列也支援 tail-sharing,也就是共享 sublist。藉由共享 sublist,單向鏈結串列很容易實作 persistent data structure ,再配合 immutable 特性,使得單向鏈結串列幾乎成為函數式程式語言最常見的集合型別之一。可以參考這篇 persistent immutable stack 實作 文章。 本次實作的程式碼置於 rust_algorithm_club::collections::SinglyLinkedList API 文件中。","breadcrumbs":"單向鏈結串列 Singly linked list » 單向鏈結串列 Singly linked list","id":"200","title":"單向鏈結串列 Singly linked list"},"201":{"body":"","breadcrumbs":"單向鏈結串列 Singly linked list » 實作設計","id":"201","title":"實作設計"},"202":{"body":"先建立最基本的節點 Node。 // cannot compile\nstruct Node { elem: T, next: Node,\n} Node.elem 很直觀地儲存實際資料。而 Node.next 則是指向下個 Node。但這樣編譯不會成功,Rust 編譯時需要決定每個型別該配置多少記憶體空間,這種遞迴型別使得編譯器無限循環,無法決定配置大小。 node-recursive 很簡單,我們使用 Box 這個 智慧指標 ,直接將 Node 配置在記憶體 heap 上。如此以來,編譯器就會知道 next 只佔了一個指標的空間。 struct Node { elem: T, next: Box>,\n} node-box 由於 Rust 沒有 null pointer,但照鏈結串列的定義,Node.next 可以是 NULL,因此我們使用 Option 模擬 null pointer 的行為。最後,Node 的定義如下: struct Node { elem: T, next: Option>>,\n}","breadcrumbs":"單向鏈結串列 Singly linked list » Node","id":"202","title":"Node"},"203":{"body":"在開始實作各種增刪節點的操作之前,我們需要建立一個 struct 存放指向鏈結串列 head 的指標,同時,各種操作也會實作在這個 struct 上。事實上,這個 struct 就是對外公開的資料結構。 pub struct SinglyLinkedList { head: Option>>,\n} 選擇把操作串列的函式寫在另一個 struct 而非 Node 上有幾個原因,1)外部並不需知道串列內部如何實作,公開 Node 會暴露實作。2)每個 Node 都帶有成員函式的話,函式指標會佔用太多額外資源。","breadcrumbs":"單向鏈結串列 Singly linked list » SinglyLinkedList","id":"203","title":"SinglyLinkedList"},"204":{"body":"串列的基本操作如下: new:初始化一個空串列。 push_front:新增節點到開頭的位置。 pop_front:將開頭第一個節點移除。 insert_after:在指定索引位置後插入一個新節點。 remove:移除任意索引下的節點。 clear:清除所有節點。 is_empty:檢查串列是否沒有任何節點。 reverse:反轉整個串列(head 變成 tail)。","breadcrumbs":"單向鏈結串列 Singly linked list » 基本操作","id":"204","title":"基本操作"},"205":{"body":"實做初始化與清除資料非常直觀。其中清除其實就只是將 self 指向新的串列實例。 impl SinglyLinkedList { pub fn new() -> Self { Self { head: None } } } 你可能會想,在清除所有資料時,資源需不需要手動釋放? 和 C++ 的 RAII 一樣,Rust 有一個名叫 drop 的解構式,只要程式執行離開了資源擁有者的可視範圍(out of scope),就會自動呼叫 drop。我們在 Drop trait 一節會再深入探討。","breadcrumbs":"單向鏈結串列 Singly linked list » 初始化與清除資料","id":"205","title":"初始化與清除資料"},"206":{"body":"單向鏈結串列在第一個節點前增加新節點,或是刪除第一個節點,都可以在常數時間完成。新增節點 push_front 的概念很簡單,1)建立新的節點,並把新節點 next 指標指向串列第一個節點。2)把串列的 head 指向新建立的節點。 pub fn push_front(&mut self, elem: T) { let next = self.head.take(); // 1 self.head = Some(Box::new(Node { elem, next })); // 2 } 釋放 SinglyLinkedList 對第一個節點的所有權 建立一新節點,並將原本第一個節點所有權轉移給新節點。再將新節點所有權轉移到串列本身。 刪除第一個節點 pop_front 的實作步驟如下:首先取得第一個節點的所有權,再將 head 指向第一個節點 Node.next 下一個節點,再返回第一個節點的資料給呼叫端。 pub fn pop_front(&mut self) -> Option { // Take ownership of head let head = self.head.take()?; // 1 self.head = head.next; // 2 Some(head.elem) // 3 } 取得第一個元素的所有權,若無首個元素,表示串列為空,此處利用 ? 運算子 直接回傳 None。 將 head 指向下一個節點。 返回即將刪除節點的資料。","breadcrumbs":"單向鏈結串列 Singly linked list » 增刪首個節點","id":"206","title":"增刪首個節點"},"207":{"body":"鏈結串列新增和刪除第一個節點都可以在 $O(1)$ 時間內做完,那為什麼插入刪除任意節點沒有辦法呢?原因是鏈結串列不支援隨機存取(random access),就是無法透過索引在常數時間內取得資料,每次的搜尋都只能從 head 開始。因此,當我們需要在某個索引的節點後新增一筆資料,我們會需要最差 $O(n)$ 的複雜度。 實作插入 insert_after 分為幾個步驟: pub fn insert_after(&mut self, pos: usize, elem: T) -> Result<(), usize> { let mut curr = &mut self.head; let mut pos_ = pos; // Find the node at `pos`. while pos_ > 0 { // 1 curr = match curr.as_mut() { Some(node) => &mut node.next, None => return Err(pos - pos_), }; pos_ -= 1; } // Take the ownership of current node. match curr.take() { // 2 Some(mut node) => { // Node A // Create new node. let new_node = Box::new(Node { // 3: Node B elem, next: node.next, }); // Re-link new node and current node. node.next = Some(new_node); // 4 // Assign current node back to the list. *curr = Some(node); // 5 } None => return Err(pos - pos_), } Ok(()) } 找到對應索引值的節點 A,若找不到則回傳這個串列的資料長度。 先取得節點 A 的所有權,才能修改它的值。 建立新節點 B,同時將節點 B 的 next 指向 A 的後一個節點。 將新節點 B 做為節點 A 後一個節點 next。 把修改過的節點 A,重新賦值給指向節點 A 的指標 curr(可視為歸還所有權)。 而實作刪除任意索引下的節點 remove 和插入非常相似。 pub fn remove(&mut self, pos: usize) -> Option { let mut curr = &mut self.head; let mut pos = pos; // Find the node at `pos`. while pos > 0 { // 1 curr = &mut curr.as_mut()?.next; pos -= 1; } // Assign next node to previous node.next pointer. let node = curr.take()?; // 2: Node A *curr = node.next; // 3: node.next is Node B Some(node.elem) // 4 } 找到對應索引值的節點 A,若找不到則回傳 None。 先取得節點 A 的所有權,才能修改它的值。 把節點 A 的後一個節點 B 賦值給原本指向節點 A 的指標 curr。 回傳節點 A 的值。","breadcrumbs":"單向鏈結串列 Singly linked list » 插入刪除任意節點","id":"207","title":"插入刪除任意節點"},"208":{"body":"反轉鏈結串列是工作面試時很常見的考題,這裡來實作看看。 pub fn reverse(&mut self) { let mut prev = None; // 1: prev -> Node P let mut curr = self.head.take(); // 2 while let Some(mut node) = curr { // 3: node -> Node A let next = node.next; // 3-1: next -> Node B node.next = prev.take(); // 3-2: Take ownership from previous node. prev = Some(node); // 3-3: Transfer ownership from current node to previous. curr = next; // 3-4: curr references to next node for next iteration. } self.head = prev.take(); // 4 } 先建立一個暫時變數 prev,儲存疊代時的前一個節點。 從串列 head 取得第一個節點的所有權。 依序疊代整個串列 將節點 A 的後一個節點 B 暫存起來。 節點 A 的 next 指向暫存在變數 prev 的節點 P。 節點 A 暫存在變數 prev 內,保留到下一個疊代使用。 將節點 B 儲存在變數 curr 內。此時 prev:節點 A,A 的 next 指向 P, curr:節點 B,B 的 next 指向 A。 最後一次疊代時,變數 prev 會儲存原始串列末端節點,這時轉移所有權到 head,完成反轉。","breadcrumbs":"單向鏈結串列 Singly linked list » 反轉","id":"208","title":"反轉"},"209":{"body":"除了基本操作,SinglyLinkedList 實作了許多 trait,使用上更方便更符合 Rust 的慣例。","breadcrumbs":"單向鏈結串列 Singly linked list » Traits","id":"209","title":"Traits"},"21":{"body":"善用漸進符號,可以讓原本複雜艱澀的實際複雜度,簡化至人類容易理解的簡單數學符號,也讓分析演算法效率更為客觀。但實際上,漸進符號省略了常數項與低次項,僅保留最高次項,這種「漸進行為下」的效能表現,在真實世界中,若輸入資料量不夠大,實際複雜度的低次項係數又比高次項大上許多,很可能這個演算法實際上根本沒辦法使用。 另外,漸進符號僅考慮最差與最佳複雜度,沒有考慮到平均複雜度。舉例來說, Quicksort 最差複雜度為 $O(n^2)$,乍看之下不是很理想,但這種情況非常稀少;其平均複雜度落在 $O(n \\log n)$,且其係數相對較低,額外開銷少,自然成為最熱門的排序法之一。 還有,漸進符號也沒有考慮到不同語言、平台的基礎操作開銷,例如實作排序法時,有些語言「比較」兩個元素的開銷比「置換」來得大,實作上就需要盡量減少置換元素。同樣的,CPU 快取也非常容易忽略,一些快速的搜尋法很可能因為不是 線性搜尋 ,沒辦法充分利用 CPU cache,效能不一定理想。 總之,漸進符號只能告訴你「當輸入資料量夠大時,演算法的複雜度表現如何」,並不總是適用每個情境,端看你怎麼使用他。","breadcrumbs":"漸進符號 Asymptotic Notation » 你可能不適合漸進符號","id":"21","title":"你可能不適合漸進符號"},"210":{"body":"如果一個 struct 有許多成員,則會遞迴呼叫 struct 的 drop 成員函式。因此,一個串列的解構式很可能發生深層的巢狀遞迴: # a linked list\na -> b -> c -> x -> y -> z # call stack when `drop` being called (a.drop (b.drop (c.drop (x.drop (y.drop (z.drop (z.dropped (y.dropped (x.dropped (c.dropped (b.dropped\n(a.dropped 如果節點一多,肯定會 stack overflow,太可怕了! 既然如此,那麼就透過 Drop trait ,實作一個疊代版本的解構式,消弭可怕的 call stack 吧。 impl Drop for SinglyLinkedList { fn drop(&mut self) { let mut link = self.head.take(); // 1 while let Some(mut node) = link { // 2 link = node.next.take(); // 3: Take ownership of next `link` here. } // 4: Previous `node` goes out of scope and gets dropped here. }\n} 取得 head 的所有權。 透過 pattern matching 取得 Node 裡面 Box 的所有權。 取得下一個 Node 的所有權,並將它指向共用的變數 link。 離開了 node 的 scope,node 呼叫 drop 釋放自身資源。 詳細思路過程可查看 Learning Rust With Entirely Too Many Linked Lists 的 Drop 章節,該章完整闡述為什麼不能用 tail recursive 來實作,但最大的原因是 Rust core team 暫時延緩實踐 tail call optimization 。 實際上,透過呼叫 pop_front(),不斷移除第一個節點,並使用 is_some() 檢查是否仍有節點,幾乎可以達到同樣的 drop 效果,而且更簡潔易懂。差別僅在於,相較於前個實作自己處理 call stack,這個實作每次移除元素都需要 pop_front() 與 is_some() 的 stack,多了些微小的開銷,雖然可透過 #[inline] attribute 提示編譯器,但終究只是提示。 impl Drop for SinglyLinkedList { fn drop(&mut self) { while self.pop_front().is_some() {} }\n}","breadcrumbs":"單向鏈結串列 Singly linked list » Drop trait","id":"210","title":"Drop trait"},"211":{"body":"既然鏈結串列是一種序列(sequence,有序的資料結構),少不了實作 Iterator 、 IntoIterator 等 trait,使串列可以輕鬆使用 for-in loop 遍歷(traverse)。 首先,先定義幾個疊代器的 struct。 pub struct IntoIter(SinglyLinkedList); pub struct Iter<'a, T> { next: Option<&'a Node>, // 1\n} pub struct IterMut<'a, T> { next: Option<&'a mut Node>,\n} 建立這三個 iterator struct 是常見的 Rust 設計模式。 IntoIter:產生 T,實作會吃掉元素所有權的 IntoIterator trait Iter:產生 &T,實作提供 immutable borrow 的 Iterator trait。 IterMut:產生 &mut T,實作提供 mutable borrow 的 Iterator trait。 相對應的,SinglyLinkedList 則新增三個成員函式: fn into_iter(self) -> IntoIter:轉移所有權的疊代器。 Into 一詞慣例上指涉所有權移轉。 fn iter(&self) -> Iter:以 immutable reference 疊代串列。 fn iter_mut(&mut self) -> IterMut:以 mutable reference 疊代串列。 先來看 IntoIter 實作。 // 1\npub struct IntoIter(SinglyLinkedList); // 2\nimpl Iterator for IntoIter { type Item = T; fn next(&mut self) -> Option { self.0.pop_front() }\n} // 3\nimpl IntoIterator for SinglyLinkedList { type Item = T; type IntoIter = IntoIter; /// Creates a consuming iterator, that is, one that moves each value out of /// the list (from start to end). The list cannot be used after calling this. fn into_iter(self) -> Self::IntoIter { IntoIter(self) }\n} 宣告一個 tuple struct,唯一的成員是 SinglyLinkedList。 實作 Iterator trait 的 required method next,為了達成 Into 會消耗原始資料,轉換所有權的特性,我們利用 pop_front() 將節點的資料依序刪除(pop)。 IntoInterator 的 required method 傳遞 self 進來,所以無論怎麼實作 IntoIter struct,呼叫 into_iter() 後,外部就無法再次存取此 SinglyLinkedList 實例,達到所有權轉移的目標。 可能有人會疑惑,IntoIter 並沒有內部狀態記錄欄位,疊代器如何依據狀態產生下一筆資料?受惠於 IntoIterator 傳遞所有權的特性,IntoIter 可直接改變原始串列的內部狀態,例如 pop_front 會移除原始串列的節點。因此,相較於 Iter、IterMut 額外記錄狀態,IntoIter 不需自行記錄疊代器的疊代狀態。 再來看看 Iter 怎麼實踐。 pub struct Iter<'a, T> { next: Option<&'a Node>, // 1\n} impl<'a, T> Iterator for Iter<'a, T> { type Item = &'a T; // 2 fn next(&mut self) -> Option { let node = self.next?; self.next = node.next.as_deref(); // 3 Some(&node.elem) }\n} impl SinglyLinkedList { // ... pub fn iter(&self) -> Iter { // 4 Iter { next: self.head.as_deref(), // 5 } }\n} 這個 struct 的 next 是為了儲存 Node 資訊,方便記錄疊代器當前的狀態。加上生命週期 'a 是因編譯器無法推敲 Option<&Node> 會活多久,需要顯著標明 &Node 至少與該疊代器同生共死。 由於 Iter 是為了實作產生 &T 的疊代器,associated type 設為 &'a T。 將當前節點的後一個節點設為 Iter 疊代器的狀態。並回傳當前節點的資料。 這邊用了 Option::as_deref() ,可直接將 Option 轉換成 Option<&T>,若 T 有實作 Deref 特徵,更可以將 T 轉為 Deref::Target,例如這裡就是藉由 Box::deref() 將 Box> 轉換為 &Node。 在 SinglyLinkedList 上加 iter() 成員函式回傳 Iter 疊代器。 產生疊代器初始化狀態,和第三步一模一樣。 最後,IterMut 與 Iter 疊代器實作上大同小異。把 Iter 用到 Option::as_deref() 改為 Option::as_deref_mut(),其他 & 改成 &mut 即可。","breadcrumbs":"單向鏈結串列 Singly linked list » Iterator and IntoIterator traits","id":"211","title":"Iterator and IntoIterator traits"},"212":{"body":"PartialEq trait 是用來實現兩個串列是否能夠比較,而我們在此定義如下: 有兩個 SinglyLinkedList Sa、Sb,Sa、Sb 的元素皆符合 PartialEq trait。當 Sa 的總節點數 等於 Sb 的總節點數, Sa 所有元素依序等於 Sb 所有元素, 則稱 Sa 與 Sb 有 partial equiavalence(Sa == Sb)。 實作上我們用了 iter 成員函式把兩個串列 zip 在一起,在用 all 確認元素兩兩相等,十分 Rust 風格的作法。 impl PartialEq for SinglyLinkedList { fn eq(&self, other: &Self) -> bool { if self.len() != other.len() { return false; } self.iter().zip(other.iter()).all(|pair| pair.0 == pair.1) }\n}","breadcrumbs":"單向鏈結串列 Singly linked list » PartialEq trait","id":"212","title":"PartialEq trait"},"213":{"body":"為了方便修復臭蟲,通常會實作 Debug trait 印出有助於解決問題的資料。歸功於 Iterator 的實踐,我們可以快速用 self.iter() 印出所有節點內的元素,客製化 Debug 的顯示方式。 impl std::fmt::Debug for SinglyLinkedList { fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { for node in self.iter() { write!(f, \"{:?} -> \", node)? } Ok(()) }\n}","breadcrumbs":"單向鏈結串列 Singly linked list » Debug trait","id":"213","title":"Debug trait"},"214":{"body":"Operation Complexity get $O(n)$ insert 節點已知:$O(1)$ ;節點未知:$O(n - i)$ remove 節點已知:$O(1)$ ;節點未知:$O(n - i)$ append $O(n)$ prepend $O(1)$ pop first $O(1)$ pop last $O(n)$ space $O(n)$ + 各節點額外一個指標 $n$ 個 $n$:資料筆數。 $i$:相對於整個容器的索引位置。 值得觀察的是,許多操作因為單向鏈結串列只能從 head 開始搜索的緣故,執行時間都呈線性,使用上要特別注意。","breadcrumbs":"單向鏈結串列 Singly linked list » 效能","id":"214","title":"效能"},"215":{"body":"Rust Documentation: LinkedList Learning Rust With Entirely Too Many Linked Lists Duscussions at Stackoverflow StackExchange: Reversal of a singly-linked list in Rust SVG of node memory representation modified from The Rust Programming Language","breadcrumbs":"單向鏈結串列 Singly linked list » 參考資料","id":"215","title":"參考資料"},"216":{"body":"關聯容器是一種抽象資料型別,儲存鍵與值配對關係(key-value pair)的集合,並透過鍵存取元素,所謂「鍵值對」好比身份證字號與公民,戶政單位知道一個人證號,就可在關聯容器內,透過證號查找是否有這個公民,以及此證號對應的公民基本資訊。 關聯容器有許多別名,例如字典(dictionary)、關聯陣列(associative array)、映射(map)、表(table)等。在大多數程式語言函式庫中,關聯容器通常是最基本的容器型別之一,如 Python 的 dict,JavaScript 的 Map,以及 Rust 的 HashMap。 方便起見,本文以「 映射表 」統稱這類集合型別。 (雜湊表示意圖)","breadcrumbs":"關聯容器概述 » 關聯容器 Associative Container","id":"216","title":"關聯容器 Associative Container"},"217":{"body":"一般來說,映射表有以下特性: 鍵值對為單向關係 :可透過鍵取得其唯一值;但無法確保一值僅對應唯一的鍵。 鍵值唯一性 :同個映射表內,同個鍵不重複,只會出現一次。 元素組合性 :映射表內每個元素都是「鍵值對」,鍵或值無法單獨存在。 操作開銷小 :合理實作下,基本操作開銷相對較小,不高於線性時間。 註:多重映射表為一對多的例外。 映射表會有以下幾種基本操作: 新增 :配對鍵值關聯,又稱為綁定 binding。 修改 :修改任意鍵之下的值。 移除 :透過任意鍵移除該鍵值對,又稱 unbinding。 查找 :透過任意鍵搜尋該鍵值對。 不難看出,基本操作都是透過鍵取得值。事實上,合理實作的映射表,只要透過鍵來操作,就能有良好效能,甚至上述操作能達到 $O(1)$ 複雜度。","breadcrumbs":"關聯容器概述 » 特性","id":"217","title":"特性"},"218":{"body":"雖然映射表依實作不同,效能有所權衡。但其最大優勢仍是可「高效地透過鍵尋找值」,只要有映射關係的資料,都非常適合使用映射表。例如,快取暫存機制需透過特定鍵快速查找暫存值。此外,現代常用的 JSON、TOML 等資料交換格式,都是「鍵—值對」的形式,非常適合使用映射表處理。而應用映射表最有名的實際案例莫過於資料庫的索引,透過索引,我們可以大大降低搜尋的成本,從線性時間直落到對數甚至常數時間,不過相對就需要付出額外時空間建立索引。 我們再次把應用場景條列出來,方便懶人帶著走。 有映射關係,處理「鍵—值」配對的資料結構。 處理 JSON、TOML 等資料交換,資料序列化。 實作快取(cache)機制。 資料庫索引的實作方法之一。 查找操作頻率遠高於其他操作時。 總的來說,只要資料有對應綁定關係,就可以考慮使用映射表處理。","breadcrumbs":"關聯容器概述 » 適用場景","id":"218","title":"適用場景"},"219":{"body":"以下簡單介紹常見的映射表,詳情請點擊各連結。","breadcrumbs":"關聯容器概述 » 種類","id":"219","title":"種類"},"22":{"body":"Wiki: Time complexity Wiki: Big O notation Brilliant: Big O Notation Infinite Loop: Complexity Analysis","breadcrumbs":"漸進符號 Asymptotic Notation » 參考資料","id":"22","title":"參考資料"},"220":{"body":"雜湊表 是以雜湊函數實作的映射表。透過 雜湊函數 將任意資料轉換為固定長度的雜湊值,並將此鍵與一筆資料綁定,再映射到內部資料結構的某位置。理論上,只要雜湊函數品質過得去,雜湊表的基本操作都能在常數時間完成。","breadcrumbs":"關聯容器概述 » 雜湊表 Hash Map","id":"220","title":"雜湊表 Hash Map"},"221":{"body":"有序映射表 係一種有特定排序方式的映射表。常見兩種排序方式,其一是依照插入映射表的先後順序;其二則是依照鍵的大小。不同排序的底層資料結構各異,操作複雜度也不盡相同,如依鍵大小排序的映射表通常使用搜索樹實作,因此「新增」操作的複雜度為較差的 $O(\\log n)$。","breadcrumbs":"關聯容器概述 » 有序映射表 Ordered Map","id":"221","title":"有序映射表 Ordered Map"},"222":{"body":"多重映射表 允許鍵值對重複,一個鍵可對應多個值(一對多)。類似於映射表內放入陣列,但能以較方便輕鬆的介面來操作或疊代整張映射表。","breadcrumbs":"關聯容器概述 » 多重映射表 Multimap","id":"222","title":"多重映射表 Multimap"},"223":{"body":"集合 實際上並無鍵值「關聯」,可將其想像成普通的映射表。只關心鍵而值不重要。集合借用了數學 集合論(set theory) 中有限集合的概念,常應用於需要操作交集、聯集、差集等集合運算場景。","breadcrumbs":"關聯容器概述 » 集合 Set","id":"223","title":"集合 Set"},"224":{"body":"布隆過濾器 是一種類似於集合,但只會回報「絕對不存在」或「可能存在」的機率資料結構,實作上節省空間,常用於在海量資料中確認成員是否存在,並能有一定容錯率的場景。","breadcrumbs":"關聯容器概述 » 布隆過濾器 Bloom Filter","id":"224","title":"布隆過濾器 Bloom Filter"},"225":{"body":"Wiki: Associative array Wiki: Associative containers cpprefernce.com: std::map Rust documentation: std::colledtion Map graph by Jorge Stolfi CC BY-SA-3.0 via Wikimedia Commons.","breadcrumbs":"關聯容器概述 » 參考資料","id":"225","title":"參考資料"},"226":{"body":"雜湊表是以雜湊函數實作的關聯容器。透過雜湊函數,計算鍵(key)對應到容器內部的索引位置,進而找到對應的值(value)。一般來說,雜湊表最常見的實作是以一個簡單陣列儲存資料。 雜湊表的優勢是: 在資料量大時,仍然維持常數時間的高效能。 若資料數量上限已知,就可避免重新配置記憶體,效能更佳。 若資料形態已知,就可針對該資料形態找尋適合的雜湊函數最佳化。 而雜湊表相對有以下短處: 資料量不夠大時,單一操作需要雜湊計算,開銷相對高。 效能與雜湊函數息息相關,較差的函數容易雜湊碰撞,較佳函數計算成本通常較高。 只能以某種偽隨機的順序疊代雜湊表。 本次實作的程式碼置於 rust_algorithm_club::collections::HashMap API 文件中。","breadcrumbs":"雜湊表 Hash map » 雜湊表 Hash Map","id":"226","title":"雜湊表 Hash Map"},"227":{"body":"建立雜湊表的第一步,就是配置一定大小的陣列(通常稱為 bucket array),來儲存對應索引的鍵值對。我們以建立電話簿為例,儲存人名與號碼的對應關係。 Create an empty phone book with some blank slots. +--------------+ | 0: | +--------------+ | 1: | +--------------+ | 2: | +--------------+ | 3: | +--------------+ 我們嘗試插入第一筆資料,記錄 Frodo 以及他的手機號碼 88-7-666。 透過雜湊函數,計算出 Frodo 的索引值為 1。 將 88-7-666 插入 table[1] 的位置上。 table[1] 這種 bucket array 下的個別索引空間,通常稱為一個 slot 或 bucket。 Fordo: hash_function(Frodo) --> 1 +-------------+ | 0: | +-------------+\nFrodo --> | 1: 88-7-666 | +-------------+ | 2: | +-------------+ | 3: | +-------------+ 嘗試插入另外二筆資料,記錄 Sam 的手機 11-2-333,以及 Gollum 的手機 00-0-000。 透過雜湊函數,計算出 Sam 的索引值為 2。 將 11-2-333 插入 table[2] 的位置上。 透過雜湊函數,計算出 Gollumn 的索引值為 0。 將 00-0-000 插入 table[0] 的位置上。 Sam: hash_function(Sam) --> 2 +-------------+ | 0: | +-------------+ | 1: 88-7-666 | +-------------+\nSam --> | 2: 11-2-333 | +-------------+ | 3: | +-------------+ Gollum: hash_function(Gollum) --> 0 +-------------+\nGollum -> | 0: 00-0-000 | +-------------+ | 1: 88-7-666 | +-------------+ | 2: 11-2-333 | +-------------+ | 3: | +-------------+ 若需要取得 Sam 的手機號碼,只要 透過雜湊函數,計算出 Sam 的索引值為 2。 從 table[2] 的索引位置上,找到 Sam 的手機號碼 Sam: hash_function(Sam) --> 2 +-------------+ | 0: 00-0-000 | +-------------+ | 1: 88-7-666 | +-------------+\nSam --> | 2: 11-2-333 | --> Sam's phone number +-------------+ | 3: | +-------------+ 這就是最基本,以陣列實作的雜湊表了。 然而,你可能已經開始好奇了。 雜湊是什麼?怎麼知道要映射到哪個索引位置? 雜湊函數是否會計算出相同的索引值?要如何解決? 若預先配置的陣列填滿了,該如何處理? 接下來,將探討這幾個魔術般的因子,從簡單介紹雜湊函數,到如何解決雜湊碰撞,最後探討陣列塞滿重配置解決方案。 註:雜湊表也可以搜尋樹等其他資料結構實作,在此不深入討論。","breadcrumbs":"雜湊表 Hash map » 概念","id":"227","title":"概念"},"228":{"body":"所謂的雜湊函數,就是一種將「較寬的定義域映射到較窄值域」的函數。簡單來說,就是輸入任意值到此函數,則輸出值會落在一已知範圍。再白話一點,雜湊函數就是用來「化繁為簡」,把複雜多變的東西,透過函數生成簡化版本。此外,相同的輸入鍵,必須得到相同的輸出雜湊值,這是雜湊函數很重要的一個特性,以虛擬碼表示: key1 == key2 -> hash(key1) == hash(key2) 「映射」這部分只是使用雜湊的一小步。雜湊表根據程式實作的不同,底層儲存資料的形式也不盡相同,為了完全放入陣列中,通常會對雜湊值(雜湊函數的計算結果)取模(modulo)。也就是說:假設有長度為 n 的陣列。1)先對 key 取雜湊值。2)再對雜湊值取模,確認索引值落在陣列內部。 Assumed: array_size = n hash_value = hash_function(key) // 1 index = hash_value % array_size // 2 如此一來,所有可能的值都會落在陣列內,這就是最簡單普遍的雜湊兩步驟:計算雜湊值﹢取模。","breadcrumbs":"雜湊表 Hash map » 雜湊","id":"228","title":"雜湊"},"229":{"body":"接下來,你會緊接著向問第二個問題「函數計算出相同索引值該怎麼辦?」不同輸入產生相同雜湊值,多個值映射到同個索引上,這種狀況科學家稱之 雜湊碰撞(hash collision) 。 首先,要瞭解雜湊函數本身就是時空間的權衡,如果記憶體空間夠多,那讓輸入值與雜湊值呈一對一的完美關係,就不會出現碰撞;大多數情況,尤其是實作泛用的雜湊函式庫,無法預期輸入資料的範圍,實務上會鎖定一個輸出雜湊值的範圍,僧多粥少,難免碰撞。 好的雜湊函數還必須符合一些條件: 同一筆輸入資料,必須得到相同的雜湊值。 結果必須能夠高效的計算出來(預期為常數時間)。 任意輸入資料所得之雜湊值在值域內需接近 均勻分佈(uniform distribution) ,才能減少碰撞機率。 但總歸一句,欲達成上述條件,就是一種權衡取捨,例如, 加密雜湊函數(cryptographic hash function) 即是非常優秀的雜湊函數,但相對需付出更高的計算成本。 更多雜湊函數相關的討論,會另撰 專文 。","breadcrumbs":"雜湊表 Hash map » 選擇雜湊函數","id":"229","title":"選擇雜湊函數"},"23":{"body":"線性搜尋,又稱為循序搜尋(sequential search),是一個在序列中找尋目標的方法。正如字面上的意義,線性搜尋會按照順序疊代序列,挨家挨戶比對每個元素與目標值是否相等,若相等則停止疊代,並回傳搜尋所得結果。 線性搜尋乍看之下,是最簡單實作也最 naïve 的實作,效能應該不怎麼好。事實上,在資料量不多時(少於 100 個元素),線性搜尋的效能也不會太差,因為其他搜尋演算法可能需要建立特殊資料結構,就會導致時空間初始開銷暴增,複雜度的常數項成本變大。","breadcrumbs":"線性搜尋 Linear search » 線性搜尋 Linear Search","id":"23","title":"線性搜尋 Linear Search"},"230":{"body":"既然雜湊函數人生在世難免碰撞,科學家也研究幾個處理雜湊碰撞的策略,分別是 separate chaining 與 open addressing。 Separate chaining 可以說是最直觀的做法,就是設法讓同一個索引下,可以儲存多個碰撞的值。依據儲存資料的形式,可分為幾種實作: 鏈結串列 :以 鏈結串列(linked list) 儲存元素。發生碰撞時,新的元素串接在既有元素之後。 動態陣列 :新增元素時,在該位址配置 動態陣列(dynamic array) 儲存元素。發生碰撞時,直接將新元素加在陣列尾端。 不同實作方式有各自優缺點,例如串列版本容易實作,但需額外儲存指標資訊;用動態陣列,則會有更好的 CPU caching,但相對地碰撞過多則需要重配置陣列。 以 ASCII 表述使用串列實作 separate chaining 示意圖如下: ... assumed hash values of Gimli and Gollum collided. +----------------+ +-> |Gollum, 00-0-000| (linked list) | +----------------+ | |\nGimli -+ | v | | +---------------+ | +--------+ | |Gimli, 99-9-999|\nGollum -->|0: ptr |--+ +---------------+ +--------+\nFrodo -->|1: ptr |----> +---------------+ +--------+ |Frodo, 88-7-666|\nSam -->|2: ptr |--+ +---------------+ +--------+ | |3: null | +-> +---------------+ +--------+ | Sam, 11-2-333 | (main bucket array) +---------------+ 而這邊也有精美的實作示意圖,將串列首個元素 head 直接放置在 slot 中的作法,減少一次指標操作。 (利用 separate chaining 實作的雜湊表,並將串列第一個元素放在 bucket array 中) 另一方面 Open addressing 則走完全不同的套路,不額外配置儲存空間給碰撞的元素,而是繼續在同個陣列內「探測」其他可用的 slot,再把資料塞進尚未被佔據的 slot 中。而 Open addressing 依據不同探測序列(probe sequence)有不同實作,常見的有: Linear probing :從發生碰撞索引開始,依序往下一個 slot 探測是否可用,因此得名「線性」。 Quadratic probing :從碰撞索引開始,間隔以二次式增加往下探測可用 slot,如 $i + 1^2, i + 2^2, i + 3^2$。 Double hashing :以固定間隔大小 $k$(probe distance),依序探測 $i + k, i + k \\cdot 2 ...$ 的 slot 是否為空。而這個間隔是以另外一個雜湊函數計算所得,因此得名「雙雜湊」。 $i$ 為發生碰撞的索引位置。 這些方法的差異主要在於 CPU caching 的效能,以及 HashMap 資料的群聚效應(clustering)的敏感程度。當然,論 caching 絕對非 linear probing 莫屬,但 linear probing 以線性一個挨一個探勘,效能較容易受雜湊值群聚影響。 以下是 linear probing(間隔 = 1)的示意圖。","breadcrumbs":"雜湊表 Hash map » 處理雜湊碰撞","id":"230","title":"處理雜湊碰撞"},"231":{"body":"若資料的筆數已知,那初始配置的陣列大小設定與資料筆數成比例,就不必擔心雜湊表空間不夠,需要重新配置(reallocate)儲存空間的困擾。倘若資料量未知,而最初配置的 bucket array 滿了,該如何重新配置呢? 動態調整大小對雜湊表來說,不同於一般動態陣列,舊的雜湊表若要對應到新雜湊表,是每個鍵都需要重新計算雜湊值(rehash),成本相對較高。因此,減少動態調整的次數,可說是調教雜湊表的重點之一。說到調教雜湊表,必定要瞭解一個重要指標: load factor 。 $$\\text{load factor} = \\frac{n}{k}$$ $n$:已放入雜湊表內的資料總數。 $k$:雜湊表配置的儲存空間(bucket 總數)。 Load factor 代表目前雜湊表的「使用率」,若三筆資料放在四個 bucket 內,則 load factor 為 $3/4 = 75%$。Load factor 太大會更容易碰撞,會有效能上的影響;太小則代表過多冗餘空間沒有使用。如何維持 load factor 在一定範圍內至關重要。一般來說,75% 的 load factor 就可以準備重新配置雜湊表了,當然,這個門檻仍要以實作經驗為主,例如 Rust 的 HashMap 使用了 Robin Hood Hashing ,將 load factor 調教到 90%。 重配置雜湊表與動態陣列的動態調整大小雷同,達到某個門檻值,就會將底層陣列大小翻倍。為了避免開銷過高,通常元素減少時,不會主動調整大小,而是提供一個 shrink_to_fit 一類的方法,讓呼叫端自行決定釋放多餘空間的時機。","breadcrumbs":"雜湊表 Hash map » 動態調整雜湊表大小","id":"231","title":"動態調整雜湊表大小"},"232":{"body":"在介紹架構設計之前,我們先來瞭解 Rust 雜湊相關的觀念與 trait。","breadcrumbs":"雜湊表 Hash map » 架構設計","id":"232","title":"架構設計"},"233":{"body":"要實作雜湊函數,當然可以自幹計算雜湊值的函式來用,那為什麼還要使用 Rust 定義好的 Hash 呢?當然是希望將雜湊的介面抽象化,只要型別宣告符合 Hash trait,任何人都可以輕鬆計算雜湊值。而實作 Hash 很簡單,只要寫一個 fn hash(),呼叫端就能透過它計算雜湊,例如: use std::hash::{Hash, Hasher}; struct Car { brand: String,\n} impl Hash for Car { fn hash(&self, state: &mut H) { self.brand.hash(state); }\n} 光是計算雜湊值還不夠,要確定「當鍵相等時,其雜湊值也相等」這極為重要的雜湊特性,這時候除了實作 Hash trait,Eq trait 也要同時實作,該型別才能夠「被比較」,標準函式庫的 HashMap 的鍵就是實作 Hash + Eq 的型別,詳情請參閱 trait 的文件說明。 綜合以上,可以大膽定論,我們將實作的雜湊表的 key 一定符合 K: Hash + Eq,key 本身才能相互比較(實作 Eq),並開放呼叫端自定義型別實作不同的雜湊計算方式(實作 Hash)。 為了方便計算雜湊值,我們寫了一個輔助函式,以達成雜湊兩步驟: 計算雜湊值﹢取模 。其中,我們使用了 Rust 預設的雜湊演算法 DefaultHasher ,省下實作雜湊函數的功夫。 fn make_hash(x: &X, len: usize) -> Option where X: Hash + ?Sized, // 1\n{ if len == 0 { return None; } // 2 let mut hasher = DefaultHasher::new(); // 3 x.hash(&mut hasher); Some(hasher.finish() as usize % len)\n} X 泛型參數除了 Hash,還必須是 Dynamically Sized Type (DST,型別記作 ?Sized) 防止以 0 取模(% modulo),除數不能為 0。 Rust 的 hasher 是一狀態機,每餵他吃資料,hasher.finish() 產生的雜湊值就不同,為了確保雜湊相同,這裡每次呼叫就建立一個全新的 hasher。 所謂 Dynamically Sized Types(DSTs) 是指無法靜態得知大小的型別,例如 slice,或是一個函式的參數接受實作某個 trait 型別( trait object ),而在 Rust 幾乎所有基礎型別預設都是 Sized 編譯期就可得知大小。而在這裡我們不關心知道實作該型別可否靜態決定大小,只需知道它是否實作 Hash,所以明確添加 ?Sized 表示接受 DSTs。","breadcrumbs":"雜湊表 Hash map » Hash and Eq","id":"233","title":"Hash and Eq"},"234":{"body":"我們嘗試建立可以儲存 key-value pair 的結構體,裡面配置一個 bucket array buckets。其中 K 泛型參數是準備計算雜湊的鍵,而 V 則是與鍵配對的資料。 pub struct HashMap where K: Hash + Eq { buckets: Vec<(K, V)>,\n} 可是,用單一 Vec 儲存所有資料,萬一雜湊碰撞,不同鍵指向同個索引值該如何?這次先挑選相對容易的方案 separate chaining 處理碰撞,並以 Vec 動態陣列作為每個 bucket 儲存碰撞元素的容器,因此,buckets 陣列裡面改存 Bucket 陣列,而 Bucket 則儲存真正的 key-value pair。 type Bucket = Vec<(K, V)>; // 1 pub struct HashMap where K: Hash + Eq { buckets: Vec>, // 2 len: usize, // 3\n} 宣告 bucket 的型別 Bucket,實際上是一個 type alias 指向儲存鍵值 (K, V) 的動態陣列。 將 HashMap.buckets 改為儲存 Bucket 的動態陣列。 新增 len 記錄容器當前鍵值對數目,在增刪資料時, len 都會同步更新。 之所以使用額外的成員記錄資料數目,是為了計算數目能在 O(1) 時間內完成,nested array 動態疊代每個 Bucket 計算的成本太高。 這就是 Vector-based separate chaining HashMap 的記憶體佈局,來看張精美的雜湊表架構佈局圖吧!","breadcrumbs":"雜湊表 Hash map » 記憶體佈局","id":"234","title":"記憶體佈局"},"235":{"body":"雜湊表有以下幾個基本操作: new:初始化一個空雜湊表。 with_capacity:配置特定數量 bucket 的雜湊表。 get:取得指定鍵對應的資料。 get_mut:取得指定鍵對應的資料,並可寫入修改(mutable)。 insert:在任意位置插入一組鍵值對。 remove:移除任意位置下的鍵值對。 clear:清除所有鍵值對。 is_empty:檢查雜湊表是否沒有任何鍵值對。 len:檢查目前鍵值對的數目。 bucket_count:檢查目前 bucket 的數目。 以及幾個內部方法: try_resize:根據給定條件,決定調整 bucket 數目的時機,讓 load factor 維持最適狀態。 make_hash:從輸入資料產生雜湊值,再模除 bucket 數,得到輸入資料對應的索引位置。 接下來解釋實作的重點。","breadcrumbs":"雜湊表 Hash map » 基本操作","id":"235","title":"基本操作"},"236":{"body":"雜湊表初始化相對容易,一樣慣例使用 new。 impl HashMap where K: Hash + Eq { pub fn new() -> Self { Default::default() } /// ...\n} impl Default for HashMap where K: Hash + Eq { fn default() -> Self { Self { buckets: Vec::>::new(), len: 0 } }\n} 這裡為了符合人因工程,使用了 Default trait 設定初始值。此外,由於 Rust 的容器型別慣例上沒有任何元素時,不會配置任何記憶體空間,僅有初始的 pointer。 HashMap 初始化後,記憶體空間僅需 buckets 的 Vec 佔據 3 個 usize 大小(一個 heap 指標,兩個記錄容量與長度的 usize。 len 本身佔據 1 個 usize 大小。 所以預設初始化的 HashMap 在 64bit machine 上佔 4 * usize = 32 bytes。 為了後續實作 resize 容易些,同時實作了指定 bucket 數目的建構式。 pub fn with_capacity(cap: usize) -> Self { let mut buckets: Vec> = Vec::new(); for _ in 0..cap { buckets.push(Bucket::new()); } Self { buckets, len: 0 }\n} 很清楚地,同樣建立一個空的 bucket array,再預先配置給定數量的 Bucket 。len 則因為沒有開始增加新值,而設定為 0。","breadcrumbs":"雜湊表 Hash map » 初始化與預設值","id":"236","title":"初始化與預設值"},"237":{"body":"存取元素的實作也非常直觀, 使用 make_hash 計算出 key 對應的索引位置, 再透過 Vec::get 取得該索引下的 bucket,找不到時則返回 None, 找到 bucket 後則對整個 bucket 線性搜索與 key 相同的鍵值對。 pub fn get(&self, key: &K) -> Option<&V> { let index = self.make_hash(key)?; self.buckets.get(index).and_then(|bucket| bucket.iter() .find(|(k, _)| *k == *key) .map(|(_, v)| v) )\n} 事實上,這個 get 不是非常方便使用,當我們透過 HashMep::get 搜尋特定鍵時,必須傳入一模一樣的型別,例如 HashMap<&str, u8> 就只能透過相同的 borrowed value &str 搜索,而不能透過 owned value &String 尋找,就算兩個型別可無痛轉換也無法。 因此我們可以參考 Rust 標準函式庫為泛型參數 K 實作 Borrow trait,抽象化 owned 與 borrowed 間的型別,讓呼叫端無論傳 owned 或 borrowed 型別都可以有相同的行為。 pub fn get(&self, q: &Q) -> Option<&V> where K: Borrow, Q: Hash + Eq + ?Sized\n{ let index = self.make_hash(q)?; self.buckets.get(index).and_then(|bucket| bucket.iter() .find(|(k, _)| q == k.borrow()) .map(|(_, v)| v) )\n} fn get_mut() 與 fn get() 的差異只在於呼叫了 self.bucket.get_mut 取得 mutable reference,這裡就不多做說明。","breadcrumbs":"雜湊表 Hash map » 存取單一元素","id":"237","title":"存取單一元素"},"238":{"body":"插入與刪除比較特別,需要做些額外的功夫: 在操作完成之後需依據操作結果增減 HashMap.len,確保 len 永遠記錄正確的鍵值對數目。 在執行插入之前,需額外「動態調整」儲存空間,確保記憶體配置足夠空間新增元素。 先來看看刪除怎麼實作。 pub fn remove(&mut self, q: &Q) -> Option where K: Borrow, Q: Hash + Eq + ?Sized\n{ let index = self.make_hash(q)?; // 1 self.buckets.get_mut(index).and_then(|bucket| { // 2 bucket.iter_mut() .position(|(k, _)| q == (*k).borrow()) .map(|index| bucket.swap_remove(index).1) }).map(|v| { // 3 self.len -= 1; // Length decreases by one. v })\n} 所有涉及搜尋的操作,第一步一定是計算雜湊值。 建立 mutable 的疊代器,利用 posiion 找到對應的鍵值對,再呼叫 Vec::swap_remove 移除。 前一步驟若有 return value 產生,表示移除一個元素,因此 self.len 需手動減一。 Vec::swap_remove 不需要 resize array,而是取得最後一個元素填補該空間,由於雜湊表的排序不重要,我們選擇 swap_remove 減少一點開銷。 而插入與移除非常相似。 pub fn insert(&mut self, key: K, value: V) -> Option { self.try_resize(); // 1 let index = self // 2 .make_hash(&key) .expect(\"Failed to make a hash while insertion\"); let bucket = self.buckets .get_mut(index) .expect(&format!(\"Failed to get bucket[{}] while insetion\", index)); match bucket.iter_mut().find(|(k, _)| *k == key) { // 3 Some((_ , v)) => Some(mem::replace(v, value)), // 3.1 None => { bucket.push((key , value)); // 3.2 self.len += 1; None } } // 4\n} 嘗試調整雜湊表大小,以確保 load factor 在閾值之間。 同樣地,根據鍵計算雜湊值,以取得對應的內部 bucket 位置。 疊代整個 bucket 尋找鍵相同的鍵值對。 若找到,使用 mem::replace 資料部分,不需取代整個鍵值對。 若找無,則新增一組新鍵值對到該 bucket 中,並將長度加一。 若插入操作實際上是更新原有資料,則回傳被更新前的舊資料 Some((K, V)),反之則回傳 None。 原則上「動態調整儲存空間」正確實作下,步驟二的 expect 不會發生 panic。 mem::replace 可當作將同型別兩變數的記憶體位置互換,也就同時更新了原始資料。","breadcrumbs":"雜湊表 Hash map » 插入與刪除元素","id":"238","title":"插入與刪除元素"},"239":{"body":"動態調整儲存空間大概是整個實作中最詭譎的一部分。首先,我們需要知道 容器內鍵值對的總數:透過 self.len,我們將取得 self.len 的邏輯包裝在 fn len(&self),以免未來長度移動至別處儲存計算。 容器內 bucket 的總數:計算 self.bucket.len(),同樣地,將之包裝在 fn bucket_count(&self),並開放給外界呼叫。 Load factor 閾值:記錄在 const LOAD_FACTOR,設定為 0.75。 前情提要完畢,接下來就是程式碼的部分了。 fn try_resize(&mut self) { let entry_count = self.len(); // 1 let capacity = self.bucket_count(); // Initialization. if capacity == 0 { // 2 self.buckets.push(Bucket::new()); return } if entry_count as f64 / capacity as f64 > LOAD_FACTOR { // 3 // Resize. Rehash. Reallocate! let mut new_map = Self::with_capacity(capacity << 1); // 4 self.buckets.iter_mut() // 5 .flat_map(|bucket| mem::replace(bucket, vec![])) .for_each(|(k, v)| { new_map.insert(k, v); }); *self = new_map; // 6 }\n} 取得所有需要用到的長度資料。 若當前容量為 0,表示尚未新增任何元素,我們 push 一個空 bucket 進去,讓其他操作可以正常新增鍵值對。 判斷 load factor,決定需不需要動態調整大小。 透過 HashMap::with_capacity 建立容量兩倍大的空雜湊表。 開始疊代舊的 bucket,並利用 flat_map 打平 nested vector,再利用 for_each 將每個元素重新 insert 到新雜湊表。 把 self 的值指向新雜湊表,舊雜湊表的記憶體空間會被釋放。","breadcrumbs":"雜湊表 Hash map » 動態調整儲存空間","id":"239","title":"動態調整儲存空間"},"24":{"body":"Complexity Worst $O(n)$ Best $O(1)$ Average $O(n)$ Worst space $O(1)$ 若序列中總共有 $n$ 個元素,則線性搜尋最差的狀況為元素不在序列中,就是全部元素都比較一次,共比較 $n - 1$ 次,最差複雜度為 $O(n)$。","breadcrumbs":"線性搜尋 Linear search » 效能","id":"24","title":"效能"},"240":{"body":"一個集合型別當然少不了簡易的產生疊代器實作。 根據之前其他方法的實作,要疊代整個雜湊表非常簡單,就是疊代所有 bucket,並利用 flat_map 打平 nested vector。簡單實作如下: fn iter() -> std::slice::Iter<(&k, &v)> { self.buckets.iter_mut() .flat_map(|b| b) .map(|(k, v)| (k, v))\n} 但最終會發現,我們的程式完全無法編譯,也無法理解這麼長的閉包(closure)究竟要如何寫泛型型別。得了吧 Rust,老子學不動了! error[E0308]: mismatched types --> src/collections/hash_map/mod.rs:253:9 |\n253 | / self.buckets.iter()\n254 | | .flat_map(|b| b)\n255 | | .map(|(k, v)| (k, v)) | |_________________________________^ expected struct `std::slice::Iter`, found struct `std::iter::Map` | = note: expected type `std::slice::Iter<'_, (&K, &V)>` found type `std::iter::Map>, &std::vec::Vec<(K, V)>, [closure@src/collections/hash_map/mod.rs:254:23: 254:28]>, [closure@src/collections/hash_map/mod.rs:255:18: 255:33]>` 幸好,在 Rust 1.26 釋出時,大家期待已久的 impl trait 穩定了。如同字面上的意思,impl trait 可以用在函式參數與回傳型別的宣告中。代表這個型別有 impl 對應的 trait,所以不必再寫出落落長的 Iterator 泛型型別。impl trait 有另一個特點是以靜態分派(static dispatch)來呼叫函式,相較於 trait object 的 動態分派(dynamic dispatch) ,impl trait 毫無效能損失。 實作如下: pub fn iter(&self) -> impl Iterator { self.buckets.iter() .flat_map(|b| b) .map(|(k, v)| (k, v))\n} 更多 impl trait 相關資訊可以參考: Rust RFC: impl trait Rust 1.26: impl trait Rust Reference: Trait objects The Rust Programming Language: Trait objects","breadcrumbs":"雜湊表 Hash map » 實作疊代器方法","id":"240","title":"實作疊代器方法"},"241":{"body":"以陣列實作的雜湊表各操作複雜度如下 Operation Best case Worst case add(k, v) $O(1)$~ $O(n)$ update(k, v) $O(1)$ $O(n)$ remove(k) $O(1)$~ $O(n)$ search(k) $O(1)$ $O(n)$ $n$:資料筆數。 $k$:欲綁定資料的鍵。 $v$:欲與鍵綁定的資料。 ~ :平攤後的複雜度(amortized)。","breadcrumbs":"雜湊表 Hash map » 效能","id":"241","title":"效能"},"242":{"body":"在預期情況下,只要雜湊函數品質穩定,大部分操作都可達到在常數時間, 但由於部分操作,尤其是新增或刪除元素的操作,會需要調整 bucket array 的空間,重新配置記憶體空間,所以需要平攤計算複雜度。 而最差複雜度出現在每個元素都發生雜湊碰撞。若使用 open addressing 處理碰撞,則會把雜湊表配置的每個位置都填滿,而所有操作都從同個位置開始,搜尋對應的鍵,複雜度與陣列的線性搜索相同為 $O(n)$;若使用 separate chaining,碰撞代表所有元素都會在同一個 bucket 裡面,也就是只有一個 bucket 上會有一個長度為 n ,被塞滿的陣列或鏈結串列,結果同樣是線性搜索的 $O(n)$。 我們嘗試使用數學表示搜索的複雜度。另 $n$:已放入雜湊表內的資料總數。 $k$:雜湊表配置的儲存空間(bucket 總數)。 $\\text{load factor} = \\frac{n}{k}$:預期每個 bucket 儲存的資料筆數。 則預期執行時間為 $$\\Theta(1+\\frac{n}{k}) = O(1) \\ \\text{ if } \\frac{n}{k} = O(1)$$ 而 1 為計算雜湊與取得索引(random access)的執行時間,$\\frac{n}{k}$ 則是搜尋陣列的執行時間。只要 load factor 越接近 $n$,執行時間就相對增加。","breadcrumbs":"雜湊表 Hash map » 時間複雜度","id":"242","title":"時間複雜度"},"243":{"body":"雜湊表的空間複雜度取決於實作預先配置的陣列大小,並與維持 load factor 息息相關。一般來說,仍與資料筆數成線性關係,因此空間複雜度只有資料本身 $O(n)$。而以 separate chaining 會額外配置陣列或鏈結串列儲存碰撞元素,理論上需負擔更多額外的指標儲存空間。","breadcrumbs":"雜湊表 Hash map » 空間複雜度","id":"243","title":"空間複雜度"},"244":{"body":"Rust Documentation: HashMap Wiki: Hash table Wiki: Open addressing Algorithms, 4th Edition by R. Sedgewick and K. Wayne: 3.4 Hash Tables MIT 6.006: Introduction to Algorithms, fall 2011: Unit 3 Hashing Map graph by Jorge Stolfi CC BY-SA-3.0 via Wikimedia Commons.","breadcrumbs":"雜湊表 Hash map » 參考資料","id":"244","title":"參考資料"},"245":{"body":"集合是一種抽象資料型別(Abstract data type),概念衍生自數學的 集合論 ,和陣列類似,為不同元素所組成的資料結構,不同在於集合有些重要的特性: 無序性:集合內各元素無特定排序或排序不重要。 互異性:集合內每個元素且只能出現一次。 一般來說,集合的實作會盡量貼近集合論中的有限集合定義,本次實作同樣遵照數學定義。 本次實作的程式碼置於 rust_algorithm_club::collections::HashSet API 文件中。","breadcrumbs":"集合 Set » 集合 Set","id":"245","title":"集合 Set"},"246":{"body":"","breadcrumbs":"集合 Set » 架構設計","id":"246","title":"架構設計"},"247":{"body":"集合能以許多不同的資料結構實現,通用的集合實作多會最佳化取得、增加、移除元素等運算,這讓我們想到了「 雜湊表 」,雜湊表正是能將集合運算最佳化的一種資料結構,我們將借用 雜湊表作為底層儲存容器 ,進一步實作集合。 你可能好奇,集合明明只有元素,並沒有 鍵值對 ,跟雜湊表有啥關係?讓我們回想雜湊表一個重要的特性:每一個鍵(key)只會出現一次,利用雜湊表這個特性,即可達成上述集合兩大特性。 既然選用雜湊表作為底層容器,集合的結構體就非常簡單了,我們可以將集合想像為在 HashMap 薄薄的一層封裝。 pub struct HashSet\nwhere T: Hash + Eq,\n{ hash_map: HashMap,\n} 比較特別的是雜湊表的鍵值,這裡使用空的 tuple (),也就是以 unit type 作為雜湊表之值,只要將集合的元素作為雜湊表鍵,忽略對應的值,就是貨真價實的集合結構。","breadcrumbs":"集合 Set » 以雜湊表為底層容器","id":"247","title":"以雜湊表為底層容器"},"248":{"body":"這樣多儲存一個 () 會不會造成額外的儲存空間負擔?事實上,Unit type () 在 Rust 語言中是一種 Zero Sized Types (ZSTs) ,在編譯時期 Rust 會將 ZST 當作一種型別來操作,但真正輸出的機器碼中,ZST 並不會佔用任何運算空間。Set = HashMap 完全體現了 Rust 零成本抽象的語言特性。","breadcrumbs":"集合 Set » 不佔空間的 Unit Type","id":"248","title":"不佔空間的 Unit Type"},"249":{"body":"身為一個容器,集合有以下幾個基本操作: new:初始化一個集合。 contains:檢查集合內有無特定元素。 is_empty:檢查集合內是否沒有任何元素。 insert:新增一個元素。 remove:移除特定元素。 len:檢查集合內的元素數目。 iter:產生一個疊代集合內所有元素的疊代器。 這些基本操作的實作上,只是對雜湊表的簡單封裝,詳細實作可以參考 HashMap 。 impl HashSet\nwhere T: Hash + Eq,\n{ pub fn len(&self) -> usize { self.hash_map.len() } pub fn is_empty(&self) -> bool { self.hash_map.is_empty() } pub fn insert(&mut self, value: T) -> bool { // 1 self.hash_map.insert(value, ()).is_none() } pub fn contains(&self, value: &Q) -> bool // 2 where T: Borrow, Q: Hash + Eq + ?Sized, { self.hash_map.get(value).is_some() } pub fn remove(&mut self, value: &Q) -> bool // 3 where T: Borrow, Q: Hash + Eq + ?Sized, { self.hash_map.remove(value).is_some() } pub fn iter(&self) -> impl Iterator { // 4 self.hash_map.iter().map(|(k, _)| k) }\n} insert 將元素置於 key 上,value 則設為 ()。 contains 利用 HashMap::get 回傳的 Option<()> 判斷是否已有該的元素。 remove 同樣直接呼叫 HashMap::remove,並透過回傳 Option<()> 判斷實際上是否有移除任何元素。 iter 則直接利用 HashMap::iter 並捨棄 value。","breadcrumbs":"集合 Set » 基本操作","id":"249","title":"基本操作"},"25":{"body":"線性搜尋就是用一個 for-loop 解決。要注意的是,T 泛型參數至少要實作 PartialEq 才能比較。程式碼中使用了疊代器的 enumerate ,建立一個新疊代器,每次疊代產生疊代次數與對應的值。 pub fn linear_search(arr: &[T], target: &T) -> Option where T: PartialEq\n{ for (index, item) in arr.iter().enumerate() { if item == target { return Some(index); } } None\n} 事實上,若利用 Rust 內建的 iterator.position ,程式碼也許會更簡潔。 pub fn linear_search(arr: &[T], obj: &T) -> Option where T: PartialEq\n{ arr.iter().position(|x| x == obj)\n}","breadcrumbs":"線性搜尋 Linear search » 實作","id":"25","title":"實作"},"250":{"body":"電腦科學的集合型別衍生自 集合論 ,當然也得符合 集合代數(set algebra) 的特性,和算術的加減乘除,集合也有自己的二元運算,我們會實作以下幾個基本方法: intersection:交集,A ∩ B 定義為 A 與 B 共有的元素。 union:聯集,A ∪ B 定義為 A 與 B 所有的元素。 symmetric_difference:對稱差集,定義為 A △ B = (A ∪ B) - (A ∩ B),就是只出現在 A 或 B,不會在兩集合內同時出現的元素。 difference:差集,A \\ B 定義為 A 中所有未在 B 中出現的元素。 venn digrams 此外,也會介紹許多方便的方法: is_disjoint:兩集合是否不交集。 is_subset:包含於 ⊆,是否為子集。 is_superset:包含 ⊇,是否為超集。 哇!好多方法要實作。那就事不宜遲!","breadcrumbs":"集合 Set » 集合運算","id":"250","title":"集合運算"},"251":{"body":"第一次嘗試 - 建立新的聯集集合 要取得兩個集合的聯集,最直覺的想法可能是創造一個新的集合,再把 A 和 B 兩個集合的元素通通 insert 進去,就像這樣: // 利用 Clone 實現的聯集。完整實作見 bit.ly/caab7fb\npub fn union(&self, other: &HashSet) -> HashSet { // 複製一整份 other 到新的 set let mut new_set: HashSet = other.clone(); // 把現有的 item 一一塞到新的 set,重複的 item 會直接覆寫掉 self.hash_map.iter().for_each(|(k, _)| { new_set.insert(k.clone()); }); // 回傳 self 與 other 的聯集 new_set\n} 然而,上述做法有兩個缺點: 建立了一個全新的 HashSet 實例,花了額外的時間與空間 必須為 HashSet 和 item 的型別 T 額外加上 Clone trait 的限制 因此接下來我們嘗試利用 Rust 的 iterator 的特性實現更節省資源的版本! 更多詳情可參考實作過程的 討論串 與 第一次嘗試的完整實作 。 第二次嘗試 - Lazy Iterator 有了第一次嘗試的經驗,第二次決定讓 union() 回傳一個 lazy iterator,會疊代聯集的元素,必要才從疊代器收集所有元素,再建立新的集合,如此可以節省許多運算資源。 至於實作步驟,我們可以: 先製造一個疊代器,包含所有 other 集合的元素,但過濾掉與 self 共有的元素。 再將 self 的疊代器與步驟一產生的疊代器,利用 Iterator::chain 連起來。 這樣其實就是 other \\ self 這個差集,加上 self 自身,剛好就是聯集。程式碼如下: // 使用 impl trait 語法,避免宣告不同疊代器型別的麻煩。\npub fn union(&self, other: &HashSet) -> impl Iterator { // 實際上就是差集 let other_but_not_self = other.iter().filter(|item| !self.contains(item)); // 差集 + self 本身 self.iter().chain(other_but_not_self)\n} Lifetime Elision 但很不幸地,Compiler error E0623(甚至查不到 E0623 是什麼)。 error[E0623]: lifetime mismatch --> src/collections/set/mod.rs:117:48 |\n117 | pub fn union(&self, other: &HashSet) -> impl Iterator { | ----------- ^^^^^^^^^^^^^^^^^^^^^^^^ | | | | | ...but data from `other` is returned here | this parameter and the return type are declared with different lifetimes... 是 self 與 other 的生命週期不同導致,當這兩個集合的疊代器被 chain 起來後回傳,編譯器無法確認 Iterator 的 Item 生命週期多長。你可能很好奇為什麼 self 與 other 生命週期不同,事實上,Rust 為了讓語法輕鬆一點,允許函數省略部分生命週期標註,這個行為稱作 Lifetime Elision ,會在各種不同的條件下加註生命週期,其中有一條是「 每個被省略的生命週期都會成為獨立的生命週期 」。因此,union() 加上被省略的生命週期,會長得像: pub fn union<'a, 'b>(&'a self, other: &'b HashSet) -> impl Iterator; 於是乎,編譯器無法理解 Iterator 的 &T 到底生命週期是 'a 還是 'b,就不給編譯。 解法也很簡單,合併 self 與 other 的生命週期到同一個,不論是語意上(兩個集合至少活得一樣長)還是編譯條件都說得通。 // 加上 'a ,讓 self、other 的生命週期至少在這個函數內一樣長\npub fn union<'a>(&'a self, other: &'a HashSet) -> impl Iterator { let other_but_not_self = other.iter().filter(|item| !self.contains(item)); self.iter().chain(other_but_not_self)\n} 更多 Lifetime Elision 的資訊,可以參考 Rust 黑魔法 Nomicon 與 Rust TRPL 的解釋 ,還有相關的 RFC 可以看。 move closure 解決了生命週期,編譯看看就知道誰沒穿褲子。 Compiler error E0373 ,是野生的 borrow checker! error[E0373]: closure may outlive the current function, but it borrows `self`, which is owned by the current function --> src/collections/set/mod.rs:118:53 |\n118 | let other_but_not_self = other.iter().filter(|item| !self.contains(item)); | ^^^^^^ ---- `self` is borrowed here | | | may outlive borrowed value `self` |\nnote: closure is returned here --> src/collections/set/mod.rs:119:9 |\n119 | self.iter().chain(other_but_not_self) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nhelp: to force the closure to take ownership of `self` (and any other referenced variables), use the `move` keyword |\n118 | let other_but_not_self = other.iter().filter(move |item| !self.contains(item)); 讓我們嘗試理解,當我們回傳 iterator 時,整個過濾共同元素的 closure 會連帶一起回傳,若 closure 沒有使用 move 關鍵字修飾,編譯器會嘗試以傷害最小的方式去捕獲變數,在這裡會是 immutable borrow &T 捕獲。這裡的 self 實際型別是 &'a mut HashSet,可以想像成 closure 捕獲了 &(&'a mut HashSet)。 Rust 編譯器遇到 closure 需要捕獲變數時,如果沒有用 move 修飾,會嘗試使用以下順序來捕獲: &T > &mut T > T。若用了 move 修飾,則會直接將所有權轉移進 clousure 中,也就是捕獲 T。 可惜的是,多出來的這層 borrow 並沒有相同的生命週期 'a,編譯器無法識別它會活到什麼時候,可能 self 的資源已被釋放,但 closure 還沒結束,有機會產生 dangling pointer ,編譯器因此禁止這種危險操作。 編譯器也十分好心地提示,只要使用 move 關鍵字,將 self 的所有權轉移至 closure 中,就能避免生命週期不一致的問題。你可能有些疑惑,把 self move 進 closure 之後,self 不就會被 drop 釋放掉了?可以這樣理解,轉移進 closure 的型別是整個 self,也就是 &'a mut HashSet 型別,解讀為編譯器將 self 的型別看作新的 owned type,所有權可合法轉移,但底層仍保留指向原始資料的 borrow,巧妙避開生命週期問題。 pub fn union<'a>(&'a self, other: &'a HashSet) -> impl Iterator { // 用 move 修飾 closure // self(&'a HashSet)被整個轉移進 closure let other_but_not_self = other.iter().filter(move |item| !self.contains(item)); self.iter().chain(other_but_not_self)\n}","breadcrumbs":"集合 Set » 實作聯集","id":"251","title":"實作聯集"},"252":{"body":"呼,上面解決了最困難的生命週期和 borrow checker 問題,接下來的實作只要關注數學上的集合定義就能輕鬆解決了。 首先,交集的定義為「你有,而且我也有的」,簡單,疊代 self 並過濾出 other 也有的元素就好,秒殺! pub fn intersection<'a>(&'a self, other: &'a HashSet) -> impl Iterator { self.iter().filter(move |item| other.contains(item))\n} 再來是差集,概念是就是「我有,但你沒有的」,一樣疊代 self 並過濾出 other 沒有的元素。 pub fn difference<'a>(&'a self, other: &'a HashSet) -> impl Iterator { self.iter().filter(move |item| !other.contains(item))\n} 剛剛實作 union 有用到差集,我們可以稍微改寫,讓 union 的程式碼更神清氣爽。 pub fn union<'a>(&'a self, other: &'a HashSet) -> impl Iterator { // self ∪ (other \\ self) self.iter().chain(other.difference(self))\n} 最後,對稱差集可以透過組合上面的操作算出,可以是:「我有加上你有的,減去我們共同有的」,也可以是「我有但你沒有的,加上你有但我沒有的」,這裡我們選擇第二種實作。 pub fn symmetric_difference<'a>(&'a self, other: &'a HashSet) -> impl Iterator { // (self \\ other) ∪ (other \\ self) self.difference(other).chain(other.difference(self))\n} 整個集合的基礎在這邊大功告成了!","breadcrumbs":"集合 Set » 實作交集、差集與對稱差集","id":"252","title":"實作交集、差集與對稱差集"},"253":{"body":"經歷 Rust 編譯器的摧殘,來實作比較簡單的方法吧。集合運算常要比較兩個集合的關係,例如 A ⊆ B 代表 A 是 B 的子集,定義是 A 裡面的元素 B 都有。 我們先來實作 is_subset 檢查 self 是否為 other 的子集。 pub fn is_subset(&self, other: &HashSet) -> bool { // 若 self 的元素比 other 多,就不可能是 self ⊆ other // 所以提前回傳 false if self.len() > other.len() { return false; } // 利用 all 確認 other 內包含 self 的所有元素 self.iter().all(|item| other.contains(&item))\n} is_superset 檢查 self 是否為 other 的超集就更簡單了,只要把 is_subset 反過來使用就行了。 pub fn is_superset(&self, other: &HashSet) -> bool { // self ⊇ other = other ⊆ self other.is_subset(self)\n} 最後,我們常會檢查兩個集合是否沒有交集(disjoint),這個方法只要檢查交集 intersection() 疊代器的長度是否為 0 就可以了。 pub fn is_disjoint(&self, other: &HashSet) -> bool { self.intersection(other).count() == 0\n}","breadcrumbs":"集合 Set » 子集、超集與不交集","id":"253","title":"子集、超集與不交集"},"254":{"body":"上面的方法好冗,能不能和 Python 一樣,用簡單明瞭的語法操作集合的二元運算?當然行,Rust 的表達性很強,完全不輸 Python,透過 運算子多載(operator overloading) 。","breadcrumbs":"集合 Set » 二元運算與運算子","id":"254","title":"二元運算與運算子"},"255":{"body":"Rust 提供許多 trait 供使用者多載運算子,可以簡化集合的二元運算: set | other:bitwise or 運算子,效果同 union 聯集。 set & other:bitwise and 效果同 intersection 交集。 set - other:substraction 運算子,效果同 difference 差集。 set ^ other:bitwise xor 運算子,效果同 symmetric_difference 對稱差集。 由於四個運算子實作的概念相同,這裡挑 | bitwise or 來解釋如何客製化運算子邏輯。 // 實作 BitOr 多載 `|` 運算子\nimpl<'a, 'b, T> BitOr<&'b HashSet> for &'a HashSet\nwhere T: Hash + Eq + Clone, // 實作 Clone 讓 Set 可透過 FromIterator 建立實例\n{ type Output = HashSet; fn bitor(self, rhs: &'b HashSet) -> Self::Output { // 利用 FromIterator 提供的 collect() 蒐集元素,產生新 Set self.union(&rhs).cloned().collect() }\n} 要多載 bit or 運算子,代表型別要實作 BitOr trait。 由於運算子的 required method 通常會 consume self 的所有權,因此我們要在 impl 動手腳,改以 &HashSet 作為 BitOr 實作的對象。 為了簡化實作,交集聯集等運算子改為產生一個新的 Set 實例,也就是說,T 泛型型別需要實現 Clone trait,才能複製舊的值產生新的 Set。 多載運算子,可以參考 Overloadable operators 一頁的說明。","breadcrumbs":"集合 Set » 運算子多載","id":"255","title":"運算子多載"},"256":{"body":"除了交集、聯集等運算,我們還可以實作集合間的比較,作為檢查是否為子集或超集的運算子。 A <= B:效果同 is_subset,A 是否為 B 的子集 A ⊆ B。 A < B:A 是否為 B 的子集且不等於 B,等同於 A ⊂ B。 A >= B:效果同 is_superset,A 是否為 B 的超集 A ⊇ B。 A > B:A 是否為 B 的超集且不等於 B,等同於 A ⊃ B。 但眼尖的 Rustacean 肯定會發現, std::ops 裡面根本沒有 lt、gt 等比較運算子。Rust 的「比較」是透過實作幾個 Trait 後,自動推導生成的方法,這些 trait 放在 std::cmp module 中,分別是 Eq 、 ParitalEq 、 Ord ,以及 ParitalOrd 。 在開始介紹如何實作比較前,先讓複習一下離散數學學到的二元關係: 若 ∼ 為一種二元關係,A 為任意集合。 自反性(Reflexive):對所有 x ∈ A : x ∼ x。 對稱性(Symmetric):對所有 x, y ∈ A ,若 x ∼ y 則 y ∼ x。 傳遞性(Transitive):對所有 x, y, z ∈ A ,若 x ∼ y 且 y ∼ z 則 x ∼ z。 反對稱(Antisymmetric):對所有 x, y ∈ A,若 x ∼ y 且 x ≠ y 則 y ∼ x 不成立。 Rust 中的相等關係有其理論背景,Eq 就是數學上的 Equivalence relation ,須符合自反性、對稱性,及傳遞性;與之對應的是 PartialEq, Partial equivalence 具有對稱性和傳遞性,但並無自反性,有名的例子是 IEEE754 的浮點數 定義了 NaN == NaN -> false,浮點數因此不符合自反性定義。 回到集合,集合論中的集合相等(set equality)定義為:x = y ⇒ ∀z, (z ∈ x ⇔ z ∈ y),也就所有屬於集合 x 的元素必屬於集合 y,反之亦然。因此,集合相等具有自反性、對稱性、傳遞性。實作 == 運算子,我們會 比較集合 x, y 內元素數目(cardinality)是否一致,以及 疊代集合 x,並檢查是否每個屬於 x 的元素都屬於 y。 impl PartialEq for HashSet\nwhere T: Hash + Eq,\n{ fn eq(&self, other: &HashSet) -> bool { // 1. 檢查 cardinality,不同長度就不可能相等 if self.len() != other.len() { return false; } // 2. 利用 Iterator::all 確保每個 self 的元素都屬於 other。 self.iter().all(|item| other.contains(&item)) }\n} /// `Eq` 並沒有 required method,只要實作 `Partial::eq` 方法,就能直接推斷出 `Eq`。\nimpl Eq for HashSet where T: Hash + Eq {} 與相等關係相同,Rust 的排序關係同樣有理論依據,Ord 是數學上的 Total order ,符合反對稱性、傳遞性,以及 connex relation ;而 ParitalOrd 則接近數學上的 partial order,Rust 的文件中描述該 trait 須符合反對稱性與傳遞性。 Connex relation:在集合 X 下,所有 (x, y) pair 都會符合 x ∼ y 或 y ∼ x 的關係。在排序關係上,意指不是 x ≥ y 就是 y ≥ x。 要把集合的「包含於但不相等」關係 ⊂ 映射到排序關係 x < y 前,先來檢驗 ⊂ 有什麼特性。 具反對稱性:若 x ⊂ y 且 x ≠ y 則 y ⊄ x,換句話說,若 x ⊂ y 且 y ⊂ x 則 x = y。 具傳遞性:若 x ⊂ y 且 y ⊂ z 則 x ⊂ z。 不具 connex relation:若 x = {1,2}, y = {3,4},則 x, y 無法以 ⊂ 表示兩者間的關係。 很明顯地,「包含於但不相等」符合 partial order 但不是 total order。我們選擇實作 PartialOrd trait,其有一個 required method PartialOrd::partial_cmp。 partial_cmp 回傳 Option,因為兩個集合可能無交集,導致無法相互比較。 先檢查 other 是不是子集,再檢查是不是長度相同,得到兩個 bool。 有了上述兩個 bool,就可以用 pattern matching 把所有情況列舉出來。 是子集且同長度:相等 =。 是子集但長度不同:包含於 ⊂(<)。 不是子集但長度相同:不相交(disjoint)。 不是子集且長度不同:先假設 self 是 other 的超集,再透過 Option::filter 過濾,是超集則回傳 Some(Ordering::Greater),不是則回傳 None。 impl PartialOrd for HashSet\nwhere T: Hash + Eq,\n{ fn partial_cmp(&self, other: &HashSet) -> Option { // 1 let is_subset = self.is_subset(other); // 2 let same_size = self.len() == other.len(); match (is_subset, same_size) { // 3 (true, true) => Some(Ordering::Equal), (true, false) => Some(Ordering::Less), (false, true) => None, _ => Some(Ordering::Greater).filter(|_| self.is_superset(other)), } }\n} 實作 PartialEq,Eq 與 PartialOrd 後,我們的集合型別終於能和 Python 的集合互別苗頭,有更高層次的表達性! 有人可能會認為,比較運算還要透過 partial_cmp 判斷 Option 多麻煩,事實上,C++ 20 也帶來了 <=> 運算子以及 three way comparison 衍生的各種型別,partial order 或 parital equal 可說是更精確且必要的比較運算,也是一種趨勢。","breadcrumbs":"集合 Set » 比較運算子","id":"256","title":"比較運算子"},"257":{"body":"以雜湊表為底層儲存容器的集合,各操作複雜度如下 Operation Best case Worst case insert(v) $O(1)$~ $O(n)$ remove(v) $O(1)$~ $O(n)$ contains(v) $O(1)$ $O(n)$ union $O(n)$ $O(n)$ intersection $O(n)$ $O(n)$ difference $O(n)$ $O(n)$ symmetric difference $O(n)$ $O(n)$ $n$:資料筆數。 $v$:資料值。 ~ :平攤後的複雜度(amortized)。 操作的時間與空間複雜度,與其底層儲存容器的實作有關,本次集合實作只是對雜湊表的簡單封裝,詳細演算法複雜度可以參考 HashMap 。","breadcrumbs":"集合 Set » 效能","id":"257","title":"效能"},"258":{"body":"Rust Documentation: HashSet Python 3: Set Wiki: Set theory Venn diagrams are screenshoot from Wikipedia via public domain.","breadcrumbs":"集合 Set » 參考資料","id":"258","title":"參考資料"},"259":{"body":"Bloom filter 是一種機率資料結構(probabilistic data structure),類似於 集合 ,常用於需快速驗證成員是否「可能存在」或是「絕對不存在」在容器中,亦即有機會出現假陽性(false positive),但絕不會有假陰性(false negative)。 Bloom filter 的優勢是: 類似 集合 ,可在 $O(1)$ 時間複雜度驗證成員是否存在,卻僅需相對少的儲存空間。 承上, 在 0.1% 錯誤率下儲存一百萬個元素僅需 1.71 MiB 。 非常容易實作的機率資料結構,僅需多次雜湊。 Bloom filter 則有以下短處: 經典款 Bloom filter 容器大小固定(fixed-size),無法動態調整儲存空間。 可能給出假陽性答案:回報存在但實際不存在,且錯誤隨數量變多上升。 自身不儲存成員資料,需要有額外的儲存資料方案。 只能新增成員,但不能移除成員(可透過 變形 解決)。 若輸入資料集本身離散,接近 隨機存取 ,無法充分利用 CPU cache。 承上,因為隨機存取,不利於延伸到記憶體以外的外部儲存裝置。 Bloom filter 常見應用場景為: 資料庫利用 Bloom filter 中減少實際存取 disk 的 IO 開銷。 Chromium 瀏覽器 驗證大量惡意連結 。 Medium 避免推薦已推薦過的文章 。 小知識:bloom 是開花之意,但 Bloom filter 和開花沒任何關係,只因發明人姓氏為 Bloom 本次實作的程式碼置於 rust_algorithm_club::collections::BloomFilter API 文件中。","breadcrumbs":"布隆過濾器 Bloom filter » 布隆過濾器 Bloom Filter","id":"259","title":"布隆過濾器 Bloom Filter"},"26":{"body":"Wiki: Linear search","breadcrumbs":"線性搜尋 Linear search » 參考資料","id":"26","title":"參考資料"},"260":{"body":"Bloom filter 由下列兩個部分組成: 一個 $m$ 位元的位元陣列(bit array) $k$ 個不同的雜湊函數 經典款的 Bloom filter 作為一個近似集合的容器,提供下列兩個操作 新增: 新增一個值時,透過 $k$ 個雜湊函數產生 $k$ 個雜湊值,分別代表在位元陣列的索引位置,再將 $k$ 個位置的位元翻轉至 1。 查詢: 同樣透過 $k$ 個雜湊函數產生 $k$ 個雜湊值作為位元陣列的索引位置,若所有位元皆為 1,則代表該值存在。 上圖顯示 w 並沒有在 {x,y,z} 集合中,因為 w 的雜湊結果有個位元為 0。 你可能會開始想: 欲儲存一百萬個元素,需要多少位元? 出現假陽性的機率是多少?可以調整嗎? 需要幾個雜湊函數? 可重複使用相同的雜湊函數嗎? 回答這些問題需要兩個已知條件: 預期會儲存多少 $n$ 個元素到容器。 可容忍的假陽性機率 $\\epsilon$,即容器不包含該元素,檢測卻回報存在(所有雜湊位皆為 1)。 於是可得位元陣列最佳化的長度為 $m$ 個位元,$m$ 為: $$m = -\\frac{n \\ln{\\epsilon}}{(\\ln{2})^2}$$ 而在已知條件下,需要的雜湊函數數量 $k$ 為: $$k = -\\frac{\\ln{\\epsilon}}{\\ln{2}} = -\\log_2{\\epsilon}$$ 當然,這些公式並非憑空冒出,有興趣可以讀讀 維基百科上的數學 ,和 這段詳細的推導 ,不過也要注意,Bloom filter 的假設是「每個雜湊函數獨立」但 位元間是否獨立有待討論 ,這順便開啟了其他問題,可重複使用相同的雜湊函數嗎? 答案是可以, 這篇 「Less Hashing, Same Performance:Building a Better Bloom Filter」 提及,在不犧牲漸進假陽性機率(asymptotic false positive probability)的前提下,透過兩個不同的雜湊函數 $h_1(x)$ 和 $h_2(x)$,配合以下公式,就可以模擬出多個雜湊函數: $$g_i(x) = h_1(x) + ih_2(x)$$ 數學看暈了嗎?來點程式碼吧。","breadcrumbs":"布隆過濾器 Bloom filter » 概念","id":"260","title":"概念"},"261":{"body":"","breadcrumbs":"布隆過濾器 Bloom filter » 架構設計","id":"261","title":"架構設計"},"262":{"body":"Bloom filter 底層以位元陣列作為儲存容器,如果目標是最省空間,該用 Rust 的什麼型別來儲存位元呢? 直觀作法是在 struct 新增一個 bits 位元陣列的 array 型別: pub struct BloomFilter { bits: [bool; N]\n} 雖然非常省空間,用了多少 bits 這個 struct 就佔多大,但這語法並非不合法,因為 N 未定義,無法編譯, array 的 N 必須是編譯期就決定的常數,BloomFilter 若寫死 N 就不夠泛用了(除非參考 vec! 透過 macro 建立)。 不如換個方向,不用 fixed size array,給定動態大小的 slice 試試看。 pub struct BloomFilter { bits: [bool]\n} 嗯,可以編譯通過,但如果嘗試建立一個 struct 呢? fn main() { let input_len = 5; let bits = [true; input_len]; BloomFilter { bits };\n} 就會發現編譯結果如下: error[E0435]: attempt to use a non-constant value in a constant --> src/main.rs:7:23 |\n7 | let bits = [true; input_len]; | ^^^^^^^^^ non-constant value error[E0277]: the size for values of type `[bool]` cannot be known at compilation time --> src/main.rs:8:5 |\n8 | BloomFilter { bits }; | ^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time 原因有二,其一同樣是 array bits 需要一個常數長度;其二則是 bits 是一個 Dynamic Sized Types(Dsts) ,長度無法在編譯時決定,編譯期就無法得知 BloomFilter 的所佔記憶體用量。 看來得放棄用 array 或 slice 這些方法,改用最暴力的 Vec 作為位元陣列儲存容器,Vec 雖可動態調整大小,背後其實是一個 pointer + 一個 usize 的 capacity + 一個 usize 的 len 組成,若是在 64 位元的機器上, 一個 Vec 就會佔 24 位元組 ,比起 array 多耗費兩個 2 * 8 個位元組空間,幸好這額外的 16 個位元組是固定支出,不隨著 $m$ 和 $n$ 成長。 pub struct BloomFilter { bits: Vec\n}","breadcrumbs":"布隆過濾器 Bloom filter » 利用 Vec 儲存位元","id":"262","title":"利用 Vec 儲存位元"},"263":{"body":"再來,要在 BloomFilter 儲存兩個 hasher,也就是實作前面提及 用兩個雜湊函數模擬 $k$ 個 論文中的兩個 hasher,這兩個在 BloomFilter 建構時同時建立,並在操作 BloomFilter 的方法上共用。 這次直接使用標準函式庫內預設雜湊演算法 DefaultHasher 作為隨機的兩個雜湊函數 BloomFilter.hashers。由於是模擬 $k$ 個函數的雜湊行為,仍需另闢欄位,儲存 $k$ 實際上是多少個雜湊函數 BloomFilter.hash_fn_count。 use std::collections::hash_map::DefaultHasher; pub struct BloomFilter { /// The bit array of _m_ bits. bits: Vec, /// Count of hash functions. Denoted by _k_. hash_fn_count: usize, /// The hashers that do real works. hashers: [DefaultHasher; 2],\n} 就剩最後一里路了!","breadcrumbs":"布隆過濾器 Bloom filter » 儲存兩個雜湊函數","id":"263","title":"儲存兩個雜湊函數"},"264":{"body":"眾所周知,透過 泛型(Generic) ,Rust 可重用相同的容器型別,特化接受不同型別的容器,例如 HashMap 可以特化為鍵為 String,值為 u32 的 HashMap,Vec 可以成為二維位元組 Vec>。看 std::collections 提供的容器,所有泛型型別參數(Type Parameter)像是 T、K、V 都是跟著 struct 宣告,也因為這些容器的確實際儲存了這些型別的元素,泛型型別參數跟著 struct 很合理。 有趣的是,作為一個容器,Bloom filter 其實不儲存元素本身,而是記錄元素是否「曾經新增至」該容器中。這給了一些想像空間:如何提供型別參數給 Bloom filter?提供兩個方向: 泛型型別參數宣告跟著 struct: 也就是 struct BloomFilter,如此一來,一個容器實例只能操作一種型別,而且在編譯期就決定。 let bf = BloomFilter::new();\nbf.insert(&1); // infer the type T is i32\nbf.insert(\"wront type\"); // compile error: &str is not compatible to i32 泛型型別跟著 struct 的方法,struct 本身不宣告: 很難想像容器裡面儲存不同的型別,但 BloomFilter 實際上只需要一個 Vec 記錄存在與否,到底新增了什麼型別的元素其實不重要,型別有實作雜湊就行。這個作法下,你可能會看到這種邪魔歪道: let bf = BloomFilter::new();\nbf.insert(&1);\nbf.insert(\"another type\"); // it works\nbf.insert(vec![3.14159]); // it also works 為了讓容器有一致感,這裡決定選擇法一,讓泛型跟著容器走。實作非常簡單,加上 T 泛型參數就行 use std::collections::hash_map::DefaultHasher; - pub struct BloomFilter {\n+ pub struct BloomFilter { /// .. snip\n} 哎呀,編譯失敗! error[E0392]: parameter `T` is never used --> src/lib.rs:3:24 |\n3 | pub struct BloomFilter { | ^ unused parameter | = help: consider removing `T`, referring to it in a field, or using a marker such as `std::marker::PhantomData` 因為 Rust 編譯器認為 BloomFilter 並不實際擁有 T 相關欄位,因此編譯不通過,我們可以利用 std::marker::PhantomData ,PhantomData 是一個 Zero-Sized Type 不佔空間,就是為了取悅編譯器,製造出 struct 擁有 T 的假象。 use std::collections::hash_map::DefaultHasher;\nuse std::marker::PhantomData; pub struct BloomFilter { /// The bit array of _m_ bits. bits: Vec, /// Count of hash functions. Denoted by _k_. hash_fn_count: usize, /// The hashers that do real works. hashers: [DefaultHasher; 2], _phantom: PhantomData,\n}","breadcrumbs":"布隆過濾器 Bloom filter » 使用 PhantomData 讓編譯器閉嘴","id":"264","title":"使用 PhantomData 讓編譯器閉嘴"},"265":{"body":"最後,有鑑於讓Bloom fliter 能夠接受更多型別,元素不一定要符合編譯期確定大小的 Sized trait bound,可以透過加上 ?Sized trait bound 解除預設的限制,如此一來 BloomFilter 就可接受 slice 和 trait object 這些 DSTs 了,傳入 string literal 變為可能 bloom_filter.insert(\"1234\")。 use std::collections::hash_map::DefaultHasher;\nuse std::marker::PhantomData; - pub struct BloomFilter {\n+ pub struct BloomFilter { // .. snip\n}","breadcrumbs":"布隆過濾器 Bloom filter » ?Sized 讓容器可以儲存 DSTs","id":"265","title":"?Sized 讓容器可以儲存 DSTs"},"266":{"body":"Bloom filter 為類似集合的容器,當然有 類似的操作 ,事實上,這類機率性集合成員檢測的資料結構有個較少聽見但令人印象深刻的名字,稱為「Approximate Membership Query(AMQ)」,提供 add(element) 和 query(element) 兩個基本操作。 本文的 BloomFilter 提供下列幾個公開方法: new:初始化一個容器。 insert:新增一個元素。 contains:檢查容器內有無特定元素(是否曾新增過)。 以及幾個內部輔助方法: make_hash:給定輸入元素資料,透過兩個雜湊函數產生兩個雜湊值。 get_index:將 make_hash 的兩雜湊值帶入 $g_i(x) = h_1(x) + ih_2(x)$ 計算單次 i 的索引位置。 optimal_bits_count:給定預期儲存元素個數 $n$ 與假陽性機率 $\\epsilon$,得位元陣列最適位元數 $m$。 optimal_hashers_count:給定預期假陽性機率,得最適雜湊函數個數 $k$。","breadcrumbs":"布隆過濾器 Bloom filter » 基本操作","id":"266","title":"基本操作"},"267":{"body":"Bloom filter 有四個參數 $m$、$n$、$k$、$\\epsilon$ 可以調整(詳見 效能 一節),對使用者來說,有幾個雜湊函數或底層是多少個位元都是實作細節了,更關心的可能是 「我有一百萬筆資料需要驗證存在,容錯率需要在 0.1%,我需要多大的儲存空間?」 因此,建構函數 new 提供輸入預期儲存元素個數 $n$ 和預期的假陽性機率 $\\epsilon$ 是天經地義的事: pub fn new(capacity: usize, err_rate: f64) -> Self; 接下來,會實作 概念 一節的數學公式,找出最適位元數和最適雜湊函數個數。這兩個函數都是以 Rust 表達數學公式,可注意的點是, std::f32::consts 和 std::f64::consts ,提供許多數學上常見的常數老朋友,操作浮點數和雙精度浮點數就不用自己手動重算了。 /// m = -1 * (n * ln ε) / (ln 2)^2\nfn optimal_bits_count(capacity: usize, err_rate: f64) -> usize { let ln_2_2 = std::f64::consts::LN_2.powf(2f64); (-1f64 * capacity as f64 * err_rate.ln() / ln_2_2).ceil() as usize\n} /// k = -log_2 ε\nfn optimal_hashers_count(err_rate: f64) -> usize { (-1f64 * err_rate.log2()).ceil() as usize\n} 目前為止,BloomFilter::new 長這樣: pub fn new(capacity: usize, err_rate: f64) -> Self { let bits_count = Self::optimal_bits_count(capacity, err_rate); let hash_fn_count = Self::optimal_hashers_count(err_rate);\n} 最後,按照前述 兩個雜湊函數恰恰好 的道理,建立兩個不同的雜湊函數,並初始化位元陣列,大功告成! pub fn new(capacity: usize, err_rate: f64) -> Self { // #1 Get optimal count of bit let bits_count = Self::optimal_bits_count(capacity, err_rate); // #2 Get optimal count of hash functions let hash_fn_count = Self::optimal_hashers_count(err_rate); // #3 Use RandomState to build different hasher let hashers = [ RandomState::new().build_hasher(), RandomState::new().build_hasher(), ]; Self { bits: vec![false; bits_count], // #4 Initialize a all zero bit array hash_fn_count, hashers, _phantom: PhantomData, }\n} 透過指定假陽性機率與預期元素個數,算得最適位元數 透過指定假陽性機率,算得最適雜湊函數個數 透過 std 內建的 RandomState 產生兩個不同初始狀態的雜湊函數,以模擬 $k$ 個雜湊函數 初始化一個全零的位元陣列","breadcrumbs":"布隆過濾器 Bloom filter » 初始化","id":"267","title":"初始化"},"268":{"body":"新增一個元素到 Bloom filter,說穿了就做一件事:將元素透過 $k$ 個雜湊函數,產出 $k$ 個索引位置,並將位元陣列上這些位置的位元翻轉至 1。 整個 insert 函數即為計算 $g_i(x) = h_1(x) + ih_2(x)$ 模擬 $k$ 個雜湊函數的過程: pub fn insert(&mut self, elem: &T)\nwhere T: Hash,\n{ let hashes = self.make_hash(elem); // #1 for fn_i in 0..self.hash_fn_count { // #2 let index = self.get_index(hashes, fn_i as u64); // #3 self.bits[index] = true; // #4 }\n} 取得 $h_1(x)$ 和 $h_2(x)$ 的雜湊輸出結果。 疊代 i 次,i 上限為 $k$:初始化時所得的最適雜湊函數個數 計算 $g_i(x) = h_1(x) + ih_2(x)$ 取得索引位置 將索引位置下的位元設定為 1 這裡有兩個內部方法,先講解如何計算 $h_1(x)$ 和 $h_2(x)$: fn make_hash(&self, elem: &T) -> (u64, u64)\nwhere T: Hash,\n{ // #1 let hasher1 = &mut self.hashers[0].clone(); let hasher2 = &mut self.hashers[1].clone(); // #2 elem.hash(hasher1); elem.hash(hasher2); // #3 (hasher1.finish(), hasher2.finish())\n} 為保存兩個 hasher 內部初始狀態,使用 clone 複製新的 hasher 來做雜湊 將 elem 餵給 hasher 計算雜湊值 輸出雜湊值,由於 Hasher::finish 不會重設 hasher 內部狀態,所以需要步驟一 clone 來保留 hasher 的原始狀態 再來是實作計算索引位置 $g_i(x) = h_1(x) + ih_2(x)$,這個函數非常單純,就是輸入 make_hash 所得之雜湊值,然後帶入公式中。為了防止輸出的索引位置超過位元陣列的位元數,這裡以位元數 $m$ 取模(% modulo),加上使用 wrapping_ops 這些 modular arithmetic operation 達成。 fn get_index(&self, (h1, h2): (u64, u64), fn_i: u64) -> usize { (h1.wrapping_add(fn_i.wrapping_mul(h2)) % self.bits.len() as u64) as usize\n}","breadcrumbs":"布隆過濾器 Bloom filter » 新增","id":"268","title":"新增"},"269":{"body":"查詢元素是否在 Bloom filter 裡面,就是看看該元素透過 $k$ 個雜湊函數輸出的每個索引位置 全部為 1 ,則可能存在;否則就是絕對不存在。 實作步驟和插入非常相似: pub fn contains(&self, elem: &T) -> bool\nwhere T: Hash,\n{ let hashes = self.make_hash(elem); // #1 (0..self.hash_fn_count).all(|fn_i| { // #1 使用 iter let index = self.get_index(hashes, fn_i as u64); self.bits[index] })\n} 取得 $h_1(x)$ 和 $h_2(x)$ 的雜湊輸出結果。 使用 Iterator::all 疊代收集 $k$ 個雜湊函數的輸出 計算 $g_i(x) = h_1(x) + ih_2(x)$ 取得索引位置 回傳索引位置下的位元 bool 值,此值會匯集起來,於步驟二確認命中全部 $k$ 個索引,即為元素存在 完整程式碼如下,或轉駕到 API 文件 : pub struct BloomFilter { bits: Vec, hash_fn_count: usize, hashers: [DefaultHasher; 2], _phantom: PhantomData,\n} impl BloomFilter { pub fn new(capacity: usize, err_rate: f64) -> Self { let bits_count = Self::optimal_bits_count(capacity, err_rate); let hash_fn_count = Self::optimal_hashers_count(err_rate); let hashers = [ RandomState::new().build_hasher(), RandomState::new().build_hasher(), ]; Self { bits: vec![false; bits_count], hash_fn_count, hashers, _phantom: PhantomData, } } pub fn insert(&mut self, elem: &T) where T: Hash, { // g_i(x) = h1(x) + i * h2(x) let hashes = self.make_hash(elem); for fn_i in 0..self.hash_fn_count { let index = self.get_index(hashes, fn_i as u64); self.bits[index] = true; } } pub fn contains(&self, elem: &T) -> bool where T: Hash, { let hashes = self.make_hash(elem); (0..self.hash_fn_count).all(|fn_i| { let index = self.get_index(hashes, fn_i as u64); self.bits[index] }) } fn get_index(&self, (h1, h2): (u64, u64), fn_i: u64) -> usize { (h1.wrapping_add(fn_i.wrapping_mul(h2)) % self.bits.len() as u64) as usize } fn make_hash(&self, elem: &T) -> (u64, u64) where T: Hash, { let hasher1 = &mut self.hashers[0].clone(); let hasher2 = &mut self.hashers[1].clone(); elem.hash(hasher1); elem.hash(hasher2); (hasher1.finish(), hasher2.finish()) } /// m = -1 * (n * ln ε) / (ln 2)^2 fn optimal_bits_count(capacity: usize, err_rate: f64) -> usize { let ln_2_2 = std::f64::consts::LN_2.powf(2f64); (-1f64 * capacity as f64 * err_rate.ln() / ln_2_2).ceil() as usize } /// k = -log_2 ε fn optimal_hashers_count(err_rate: f64) -> usize { (-1f64 * err_rate.log2()).ceil() as usize }\n}","breadcrumbs":"布隆過濾器 Bloom filter » 查詢","id":"269","title":"查詢"},"27":{"body":"Binary search,又稱對數搜尋(logarithmic search),是一個在已排序的序列中,快速找出特定元素的搜尋演算法。二元搜尋的步驟就像玩猜數字,先猜一個數字,告訴你你的猜測比正確答案大或小,再繼續往對的方向猜,捨棄猜錯的另一半。這樣持續進行好幾次猜測,每猜一次,搜尋範圍就縮小一半,因此稱為「二元」搜尋。 二元搜尋有以下幾個特點: 概念簡單,搜尋高效,達到對數執行時間 $O(\\log n)$。 不需額外實作資料結構或配置記憶體空間。 只能搜尋 已排序 的序列。","breadcrumbs":"二元搜尋 Binary search » 二元搜尋 Binary Search","id":"27","title":"二元搜尋 Binary Search"},"270":{"body":"Notation Description $n$ 預期儲存 $n$ 個元素到容器中 $m$ 使用 $m$ 位元的位元陣列來儲存 $k$ 有 $k$ 個雜湊函數計算索引位置 $\\epsilon$ 假陽性錯誤的機率 $\\epsilon$ 和常見的容器資料結構不太一樣,複雜度和 $n$ 元素個數脫鉤,而是和 $k$ 和 $m$ 相關: Operation Time complexity insert(v) $O(k)$ contains(v) $O(k)$ 而儲存空間複雜度則是 $O(m)$。 新增和搜尋一個元素個別需要雜湊 $k$ 次,因此時間複雜度為 $O(k)$ 顯而易見,然而,$k$ 通常相對 $m$ $n$ 是非常小的數字,例如 在 0.1% 錯誤率下儲存一百萬個元素僅需 1.71 MiB 和 7 個雜湊函數 ,實務上直接當作 $O(1)$ 也不算錯。 至於空間複雜度,由於必須事先配置好 $m$ 位元的位元陣列,就算新增的元素 $n \\gt m$,也不會再新增新位元,因此空間使用為 $O(m)$ 個位元。實務上,當 $n$ 成長到接近 $m$ 時,假陽性的機率會大增,不堪使用,進而需要能動態調整儲存空間的 Bloom filter 變形。","breadcrumbs":"布隆過濾器 Bloom filter » 效能","id":"270","title":"效能"},"271":{"body":"經典款 Bloom filter 容易實作,歷久不衰,不過仍有許多可以增進空間: Data locality 不夠好:Bloom filter 底層儲存是位元陣列 隨機存取 ,較不符合現代 CPU 架構的 cache line 使用姿勢。Cloudflare 技術部落格文 When Bloom filters don't bloom 以幽默筆法帶出這個問題,值得一讀。 雜湊次數過多:Bloom filter 每一個新增查詢操作都需要雜湊 $k$ 次,就算利用 double hashing 還是要雜湊兩次,比起其他類似資料結構硬生生多雜湊數次。 位元陣列大小固定:Bloom filter 容器大小固定,給你預期的元素個數後,無法動態調整儲存空間, bits per entry 較高:以類似功能的的資料結構來說,Bloom filter 在空間利用率上,欲維持一定的假陽性機率,每個元素所需位元數相對較高,需要 $1.44 \\log_2{\\frac{1}{\\epsilon}}$ 個位元。 這裡介紹幾款嘗試解決上述問題的 filter,您也可以去 Wikipedia 看看其他更多變形的介紹 。","breadcrumbs":"布隆過濾器 Bloom filter » 變形","id":"271","title":"變形"},"272":{"body":"📚 維基百科 經典款 Bloom filter 之所以無法刪除元素,是因為沒有記錄哪些元素新增/刪除的資訊,而 Counting Bloom filter 顧名思義,原本用一個位元儲存 0 / 1 資訊,延伸為多位元方便儲存計數(counting),有了個別元素增刪資訊,Bloom filter 因此能實作「刪除元素」。搜尋一個 Counting Bloom filter 是否擁有 n 次以上 x,答案一樣和 Bloom filter 類似是「可能有 n 次以上的 x」或是「x 絕對沒有 n 次以上」。事實上,可將 Counting Bloom filter 視為 Bloom filter 的一般化形式(generalized form),而經典款 Bloom filter 反過來可當作只記一次數的特化。 但 Counting Bloom filter 的缺點是空間需求大,端看決定要用幾個位元計數,例如常見用 4 個位元計數,則是經典款的四倍空間消耗。","breadcrumbs":"布隆過濾器 Bloom filter » 可以計數的 Counting Bloom filter","id":"272","title":"可以計數的 Counting Bloom filter"},"273":{"body":"📚 論文連結 Scalable Bloom Filter 的特色是:動態適應空間大小,不需事先知道預期儲存的元素個數。 Scalable Bloom Filter 的實作蠻暴力的,本身是由一至多個經典款 Bloom filter 組成,若一個 filter 滿了(超過 fill ratio),則會新增一個 filter,往後所有新增都在這個新 filter 上面,直到它也滿了,可視為一個 recursive data structure。 至於查詢,這就是 Scalable Bloom Filter 比較弱的地方,查詢會從第一個 filter 開始找,若找不到往下一個 filter 找,找到會沒有下一個 filter 為止。若 filter 數量為 $l$,則查詢的時間複雜度從 $O(k)$ 變成 $O(k \\cdot l)$。 除了初始化大小和假陽性機率率,Scalable Bloom Filter 提供設定成長率和假陽性錯誤緊縮率: 成長因子 $s$:每個新增的 filter 空間大小成長率,論文的經驗法則得出預期小成長趨勢選擇 $s = 2$,有較大成長趨勢則 $s = 4$ 效果好。 錯誤緊縮率 $r$: 每個新增的 filter 會以等比級數得到更緊縮的假陽性機率上限,由於是等比級數,逼近極限時會小於原始機率,這讓整體假陽性機率得以保持。論文中實證 0.8 到 0.9 在元素預期有大成長率下有最佳平均空間利用率。","breadcrumbs":"布隆過濾器 Bloom filter » 動態適應空間大小的 Scalable Bloom Filter","id":"273","title":"動態適應空間大小的 Scalable Bloom Filter"},"274":{"body":"📚 論文連結 (直接讀論文更易懂) 商數過濾器(Quotient filterF)利用 雜湊表 為底層儲存容器,來做集合成員檢測的 AMQ,為了節省空間使用量,Quotient filter 的雜湊表只儲存 partial-key,俗稱指紋(fingerprint),指紋的鍵短空間用量低,副作用是更容易碰撞,代表需要更有效處理雜湊碰撞(hash collision)。 一般來說, 處理雜湊碰撞 有 separate chaining 和 Open addressping 兩大類方法,而 Quotient filter 選擇了另一條詭譎的方法:利用 open addressing 中 linear probing 的方式,對每個 slot 儲存額外資訊,使得我們可辨認碰撞的元素是在相同指紋下的同個 bucket 內。換句話說,額外資訊就是在「透過 linear probing 模擬 separate chaining」。 回到指紋,Quotient filter 實際上並不直接儲存指紋,而是將指紋 $f$ 進一步拆成商 $f_q$ 與餘數 $f_r$,商作為索引位置,而餘數則為真實被儲存的值。透過商和餘數,可重組回推原本的指紋。不需存完整的指紋,又再次減少空間使用量,帥! 簡單總結 Quotient filter 的特性: 使用 linear probing 解決雜湊碰撞,data locality 好,有 cache friendly。 有額外儲存資訊,可在不重建不 rehash filter 的情況下支援刪除、合併、調整空間。 綜合上述兩點,非常適合 LSM-tree 等需要存取 SSD 的場景,大幅減少 I/O。 Throughput 受到雜湊表 load factor 影響較大。 空間用量仍比經典款 Bloom filter 多 10% 到 25%。 Quotient filter 與它等價的 open addressing hash map Image Source: Bender, et al., 2012. \"Don’t Thrash: How to Cache Your Hash on Flash\" .","breadcrumbs":"布隆過濾器 Bloom filter » Quotient filter","id":"274","title":"Quotient filter"},"275":{"body":"📚 論文連結 (有趣易讀,誠摯推薦) Cuckoo hashing 是一種解決雜湊碰撞的方法,透過一次計算兩個雜湊函數產生兩個索引位置,若其中一個位置有空位則插入空位,若都沒有空位,則隨機踢掉一個,被踢掉的再去找下一個替死鬼,直到全部都有位置,或踢掉次數大於一定值則停止。這種行為和杜鵑鳥(cuckoo、布穀鳥)鳩佔鵲巢的生物習性很像,因此得名。 Cuckoo filter 利用 雜湊表 為底層儲存容器,來做集合成員檢測的 AMQ,會和 cuckoo 扯上關係則是因為使用 Cuckoo hashing 解決雜湊碰撞,以增加空間使用率(達到 95% occupancy)。Cuckoo filter 的雜湊表和 Quotient filter 一樣,為了減少空間使用量而只儲存 partial-key。 儲存指紋導致鍵變短,容易碰撞,也代表萬一碰撞,沒辦法透過原始的鍵再次雜湊來找到 Cuckoo hasing 對應另一位置,不過 Cuckoo filter 巧妙利用 XOR 的 identity $x \\oplus x = 0$ 解決問題,double hashing 公式奉上: $$ h_1(x) = hash(x) \\\\ h_2(x) = h_1(x) \\oplus hash(fingerprint(x)) $$ 如此一次,透過 $h_2(x)$ 和指紋的 XOR 就可以得到 $h_1(x)$,公式進而可一般化成: $$j = i \\oplus hash(fingerprint(x))$$ 其中 $j$ 與 $i$ 為同個元素經過兩個雜湊函數中任一的值,神奇吧! Cuckoo filter 的特性是: 支援動態新增與刪除元數。 比其他 filter 變形(例如 Quotient filter)好實作,如果懂 Cuckoo hashing 的話。 查詢效能比經典款 Bloom filter 好,bits per item 也比較低($(\\log_2{\\frac{1}{\\epsilon}} + 2) / \\alpha$,$\\alpha$ 是雜湊表的 load factor,通常為 95.5%)。 缺點是「一定要先新增過一個元素,才能對 filter 刪除該元素」,但這是所有支援刪除的 filter 的通病,不然就會有假陽性發生。 Image Source: Fan, et al., 2014. \"Cuckoo Filter: Practically Better Than Bloom\" .","breadcrumbs":"布隆過濾器 Bloom filter » 支援刪除元素的 Cuckoo filter","id":"275","title":"支援刪除元素的 Cuckoo filter"},"276":{"body":"Burton H. Bloom: Space/Time Trade-offs in Hash Coding with Allowable Errors Wiki: Bloom filter Less Hashing, Same Performance:Building a Better Bloom Filter Onat: Let's implement a Bloom Filter Google Guava: BloomFilter Bloom Filter Calculator","breadcrumbs":"布隆過濾器 Bloom filter » 參考資料","id":"276","title":"參考資料"},"277":{"body":"漢明距離(Hamming distance)是指兩個相同長度的序列(sequence)在相同位置上,有多少個數值不同,對二進位序列來說就是「相異位元的數目」。漢明距離同時也是一種編輯距離,即是將一個字串轉換成另一個字串,需要經過多少次置換操作(substitute)。 漢明距離多應用於編碼理論中的錯誤更正(error-correcting),漢明碼(Hammming code)中計算距離的演算法即為漢明距離。 本次實作的程式碼置於 rust_algorithm_club::hamming_distance rust_algorithm_club::hamming_distance_str API 文件中。","breadcrumbs":"漢明距離 Hamming distance » 漢明距離 Hamming distance","id":"277","title":"漢明距離 Hamming distance"},"278":{"body":"計算相異位元的數目其實就是一堆位元運算,如下: pub fn hamming_distance(source: u64, target: u64) -> u32 { let mut count = 0; let mut xor = source ^ target; // 1 // 2 while xor != 0 { count += xor & 1; // 3 xor >>= 1; // 4 } count as u32\n} 透過 XOR 操作,讓兩序列相異位元為 1,相同位元為 0。 如果 XOR 操作不為零,表示還有相異位元,繼續計算。 將 XOR 結果和 1 做 AND 運算,看最低有效位(least significant digit)是否為 1。 將 XOR 做位元右移,捨棄最低有效位,並回到步驟二。 根據 《The Rust Reference》 指出,Rust 的位元右移在 無符號整數(unsigned)是邏輯右移(logical right shift),也就是直接在最高有效位補 0; 有符號整數(signed)則是算術右移(arithmetic right shift),右移之後符號會被保留。 實際上,Rust 提供了一個原生的計算整數有多少個零的方法 {integer_type}::count_ones ,可以省去自己做位元運算的麻煩,實作如下,帥: pub fn hamming_distance(source: u64, target: u64) -> u32 { (source ^ target).count_ones()\n}","breadcrumbs":"漢明距離 Hamming distance » 位元版實作","id":"278","title":"位元版實作"},"279":{"body":"字串版的漢明距離就相對好懂了。 pub fn hamming_distance_str(source: &str, target: &str) -> usize { let mut count = 0; // 1 let mut source = source.chars(); let mut target = target.chars(); loop { // 2 match (source.next(), target.next()) { // 3 (Some(c1), Some(c2)) if c1 != c2 => count += 1, // 4 (None, Some(_)) | (Some(_), None) => panic!(\"Must have the same length\"), // 5 (None, None) => break, // 6 _ => continue, } } count\n} 字串版同樣吃 source 和 target 兩個輸入。 用 str::chars 讓漢明距離可以比對 Unicode 字串,而非只有 ASCII,而 str::chars 是 Iterator,所以透過 Iterator::next 逐一比較每個字元。 這裡 if c1 != c2 叫做 match guard ,是在模式匹配之外,額外條件式檢查,因此,只有 source 和 target 都有下一個字元而且兩字元不相等才會進入這個匹配分支。 若有任何一個是 None,另外一個是 Some,標示輸入字串的長度不同,直接噴錯。 如果都沒有下一個字元,直接結束迴圈。 其他情況,例如兩個字元相同,就繼續疊代。","breadcrumbs":"漢明距離 Hamming distance » 字串版實作","id":"279","title":"字串版實作"},"28":{"body":"從序列中間的元素開始,比較其與目標值 若該元素為搜尋目標,則結束搜尋。 若該元素較大或小,則將序列切一半,往較小或較大的一半搜尋。 繼續從一半的序列中間的元素開始,重複步驟一到三,直到欲搜尋的序列為空。","breadcrumbs":"二元搜尋 Binary search » 步驟","id":"28","title":"步驟"},"280":{"body":"長度為 n 的序列,計算漢明距離的時間複雜度為 $O(n)$,空間複雜度為 $O(1)$。","breadcrumbs":"漢明距離 Hamming distance » 效能","id":"280","title":"效能"},"281":{"body":"Wiki: Hamming distance 錯誤更正碼簡介","breadcrumbs":"漢明距離 Hamming distance » 參考資料","id":"281","title":"參考資料"},"282":{"body":"萊文斯坦距離(Levenshtein distance)是一種量化兩字串間差異的演算法,代表從一個字串轉換為另一個字串最少需要多少次編輯操作,這種量化指標的演算法稱為 「編輯距離(Edit distance)」 ,不同的演算法允許的編輯操作不盡相同,萊文斯坦距離允許使用: 插入(insertion) 刪除(deletion) 置換(substitution) 三種編輯操作,通常一般實作上三種操作的權重會相同。 萊文斯坦距離概念易理解,實作簡單,常用在簡易拼字修正與建議,為最具代表性的編輯距離演算法。 本次實作的程式碼置於 rust_algorithm_club::levenshtein_distance rust_algorithm_club::levenshtein_distance_naive API 文件中。","breadcrumbs":"萊文斯坦距離 Levenshtein distance » 萊文斯坦距離 Levenshtein distance","id":"282","title":"萊文斯坦距離 Levenshtein distance"},"283":{"body":"","breadcrumbs":"萊文斯坦距離 Levenshtein distance » 概念","id":"283","title":"概念"},"284":{"body":"編輯距離愛拿 kitten 和 sitting 當例子,這兩個單字的編輯距離為 3,可以透過以下步驟,算出 kitten 與 sitting 轉換會經歷三個編輯操作: s itting -> k itting:置換 /k kitt i ng -> kitt e ng:置換 i/e kitten g -> kitten g :刪除最末端 g 等等,怎麼知道 3 就是最少編輯操作呢?我們可以經由下列函數計算萊文斯坦距離: $$ \\operatorname{lev} _{a,b}(i,j) = \\begin{cases} \\max(i,j) & \\text{if} \\min(i,j) = 0, \\\\ \\min{ \\begin{cases} \\operatorname{lev} _{a,b}(i-1,j) + 1, \\\\ \\operatorname{lev} _{a,b}(i,j-1) + 1, \\\\ \\operatorname{lev} _{a,b}(i-1,j-1) + 1 _{(a _{i} \\neq b _{j})} \\end{cases} } & \\text{otherwise.} \\end{cases} $$ $\\operatorname{lev}_{a,b}(i,j)$ 代表字串 $a$ 前 $i$ 個字元,與 $b$ 前 $j$ 個字元的萊文斯坦距離。($i$、$j$ 索引從 1 開始計算) 別怕,這個函數是一個分段函數(piecewise function),由兩個子函數組成,接下來將一一拆解。 首先來看第一個子函數: $$ \\max(i,j) \\hspace{10 pt} \\text{if} \\min(i,j) = 0 $$ 根據函數定義,$i$ $j$ 可以視為 $a$ $b$ 前幾個字元的子字串(substring),所以這個子函數白話翻譯是「若有子字串是空字串,則以較長的子字串長度作為編輯距離」。這其實非常直觀,如果有一空字串和另一個非空字串 abc,那編輯距離一定是插入三次或刪除三次,也就是該字串長度。這帶出萊文斯坦距離一個很重要的上界:「兩字串的編輯距離至多為較長字串的長度」。 第二個子函數稍微複雜,要再從三個函數中取最小值,但剛剛好,這三個函數分別代表了萊文斯坦距離接受的插入、刪除、置換三種操作: $\\operatorname{lev} _{a,b}(i-1,j) + 1$:從 a 轉變到 b 要刪除 1 字元。 $\\operatorname{lev} _{a,b}(i,j-1) + 1$:從 a 轉換到 b 要插入 1 字元。 $\\operatorname{lev} _{a,b}(i-1,j-1) + 1 _{(a _{i} \\neq b _{j})}$:若 a 等於 b,就不需任何操作,直接一起跳過;反之則置換一次。 這是子函數是遞迴函數,每次都會分出三個子程序計算萊文斯坦距離,空間複雜度直逼 $O(3^{m + n - 1})$,驚人! 複雜度的 3 次方會減一是因為只要 m n 其中一個歸零,該路徑就不再遞迴。","breadcrumbs":"萊文斯坦距離 Levenshtein distance » 萊文斯坦的遞迴函數","id":"284","title":"萊文斯坦的遞迴函數"},"285":{"body":"由於上述遞迴複雜度過搞,因此處理萊文斯坦距離,通常會選擇由下至上(bottom-up) 的動態規劃(Dynamic programming),利用一個距離矩陣,將兩個字串所有子字串間的萊文斯坦距離累積紀錄起來,省去重複計算的成本。 首先,先將最基礎的 a、b 其一為空字串時的編輯距離寫上去,因為其中一個為空字串,編輯距離必定是隨著另一字串增加,逐一插入字元(最左方的直行)或刪除字元(上方橫列)。 註:若插入刪除權重相等,對萊文斯坦來說這兩種操作其實一樣,只是由 a 到 b 或 b 到 a 的差異。 圖一:空字串與編輯距離 接下來我們要來算 k 與 s 子字串的編輯距離,按照公式來計算: 紅字上方是執行刪除的累積編輯距離(1),加上刪除操作的成本(1),為 1 + 1 = 2 紅字左方是執行插入的累積編輯距離(1),加上插入操作的成本(1),為 1 + 1 = 2 紅字對角是執行置換的累積編輯距離(1),加上當前 k s 字元不相等的置換成本(1),為 0 + 1 = 1 從刪除、插入、置換的成本中選一個最小值 MIN(2,2,1) 填入矩陣中,完成。 圖二:子字串 k 與 s 的編輯距離 我們再來看一組範例,k 與 si 的距離為 2: 紅字上方是執行刪除的累積編輯距離(2),加上刪除操作的成本(1),為 2 + 1 = 3 紅字左方是執行插入的累積編輯距離(1),加上插入操作的成本(1),為 1 + 1 = 2 紅字對角是執行置換的累積編輯距離(1),加上當前 k i 字元不相等的置換成本(1),為 1 + 1 = 2 從刪除、插入、置換的成本中選一個最小值 MIN(3,2,2) 填入矩陣中,完成。 圖三:子字串 k 與 si 的編輯距離 最後計算出來整個編輯距離矩陣會長得如下,取矩陣最後一行一列的元素就是累積計算出來的 kitten 與 sitting 的編輯距離。 圖三:字串 kitten 與 sitting 的完整編輯距離矩陣 這就是透過動態規劃,將會重複計算的子字串編輯距離紀錄起來,降低原始算式的時空間複雜度,非常簡單暴力的演算法。","breadcrumbs":"萊文斯坦距離 Levenshtein distance » 動態規劃的距離矩陣","id":"285","title":"動態規劃的距離矩陣"},"286":{"body":"萊文斯坦距離的函式簽名很簡單,就是吃兩個 string 回傳一個距離: pub fn levenshtein_distance(source: &str, target: &str) -> usize 首先,先實作第一個子函數 $$ \\max(i,j) \\hspace{10 pt} \\text{if} \\min(i,j) = 0 $$ 當任一字串長度為 0 時(min(i,j)),編輯距離為另一字串之長度。 pub fn levenshtein_distance(source: &str, target: &str) -> usize { if source.is_empty() { return target.len() } if target.is_empty() { return source.len() } /// ...snip\n}","breadcrumbs":"萊文斯坦距離 Levenshtein distance » 實作","id":"286","title":"實作"},"287":{"body":"接下來實作矩陣的部分,這是純天然沒有特別最佳化的版本,要做三件事: 建立一個 a+1 x b+1 的空矩陣,加一是因為要算入 a b 為空字串的狀況。 填入 a b 為空字串時第一列與第一行的編輯距離,也就是全插入和全刪除的狀況。 按照前一節的概念計算整個距離矩陣。 // ...snip let source_count = source.chars().count(); // 1 let target_count = target.chars().count(); let mut distances = vec![vec![0; target_count + 1]; source_count + 1]; // 2 // 3 for i in 1..=source_count { distances[i][0] = i; } for j in 1..=target_count { distances[0][j] = j; } 使用 str::chars 計算字串長度,Rust 的 str::len 回傳的是位元組(byte)的長度,沒有考慮人類閱讀 UTF-8 編碼字串的視覺字元長度。選用 Chars 可以處理絕大部分常見的 UTF-8 字串問題(支援 CJK)。 使用 vec! 巨集建立一個 vector of vector,也就是我們的距離矩陣。 填入第一行和第一列空字串時的狀況,也就是初始化成圖一的情形。 第二步則是撰寫計算距離矩陣編輯操作的邏輯: // ...snip for (i, ch1) in source.chars().enumerate() { for (j, ch2) in target.chars().enumerate() { let ins = distances[i + 1][j] + 1; // 1 let del = distances[i][j + 1] + 1; // 2 let sub = distances[i][j] + (ch1 != ch2) as usize; // 3 distances[i + 1][j + 1] = cmp::min(cmp::min(ins, del), sub); // 4 } } // 5 *distances.last().and_then(|d| d.last()).unwrap() 計算插入操作成本,對應萊文斯坦函數中 $\\operatorname{lev} _{a,b}(i,j-1) + 1$ 子函數。 計算刪除操作成本,對應萊文斯坦函數中 $\\operatorname{lev} _{a,b}(i-1,j) + 1$ 子函數。 計算刪除操作成本,對應萊文斯坦函數中 $\\operatorname{lev} _{a,b}(i-1,j-1) + 1 _{(a _{i} \\neq b _{j})}$,這裡用了 as 運算子,可以在原生型別(primitive type)間互相轉型。 取最小值並紀錄在當前的位置,也就是圖二圖三的綠底紅字。 算完整個距離矩陣後,最後一列最後一行元素就是 a b 兩字串的萊文斯坦距離,你可能好奇,直接呼叫 unwrap 沒有處理錯誤合理嗎?其實在「一定不可能出錯」的地方,呼叫 unwrap 完全可接受,省去不必要的空值處理。 完整程式碼如下: pub fn levenshtein_distance_naive(source: &str, target: &str) -> usize { if source.is_empty() { return target.len(); } if target.is_empty() { return source.len(); } let source_count = source.chars().count(); // 1 let target_count = target.chars().count(); let mut distances = vec![vec![0; target_count + 1]; source_count + 1]; // 2 // 3 for i in 1..=source_count { distances[i][0] = i; } for j in 1..=target_count { distances[0][j] = j; } for (i, ch1) in source.chars().enumerate() { for (j, ch2) in target.chars().enumerate() { let ins = distances[i + 1][j] + 1; // 1 let del = distances[i][j + 1] + 1; // 2 let sub = distances[i][j] + (ch1 != ch2) as usize; // 3 distances[i + 1][j + 1] = cmp::min(cmp::min(ins, del), sub); // 4 } } // 5 *distances.last().and_then(|d| d.last()).unwrap()\n}","breadcrumbs":"萊文斯坦距離 Levenshtein distance » 距離矩陣","id":"287","title":"距離矩陣"},"288":{"body":"Rust 的 Vec 並非簡單的 array,而是在堆積(heap)上配置記憶體,而每一個 Vec 都會帶一個指標和兩個值:指標指向在堆積上的資料,一個值儲存資料當前的長度,一個值儲存容量(圖解請參考 cheats.rs )。所以 Vec 會佔三個 usize 的大小,在 64 位元作業系統中就是 24 個位元組。 但實際上,我們的距離矩陣根本不需要真的矩陣,只需要兩個東西 一個一維的 Vec 一個將二維索引映射到一維空間的函數 再稍微做些小調整就行,如下: // ...snip // 1\n+ let index = |i, j| i * (target_count + 1) + j; // 2\n- let mut distances = vec![vec![0; target_count + 1]; source_count + 1];\n+ let mut distances = vec![0; (target_count + 1) * (source_count + 1)]; for i in 1..=source_count { // 3\n- distances[i][0] = i;\n+ distances[index(i, 0)] = i; } // ...change matrix indexing as above 二維索引轉換成一維索引的閉包(closure) 原本的 Vec> 變為 Vec 的一維矩陣,總元素量不變 改寫所有矩陣索引 若要更有趣的索引方式,可以實作 core::ops::Index trait,這裡就不贅述了。","breadcrumbs":"萊文斯坦距離 Levenshtein distance » 使用一維陣列減少記憶體配置","id":"288","title":"使用一維陣列減少記憶體配置"},"289":{"body":"回想一下,當我們在計算一個編輯距離時,其實只需要取得三個累積的編輯距離:插入 matrix[i, j-1]、刪除 matrix[i-1, j],以及置換 matrix[i-1, j-1]。如圖四 圖四:計算一個編輯距離所需之資料。 這就表示,根本「 無需儲存完整距離矩陣 」,只需儲存前一列的資訊 + 額外一個變數儲存置換操作的成本就行。我們需要儲存的資訊從 (a + 1) x (b + 1) 大小的矩陣,縮小至 a + 1 或 b + 1 長度的一維陣列。 圖五:僅使用一維陣列儲存前一列的資訊。黃色為儲存的陣列,藍色為額外儲存的置換的累積編輯距離 這個最佳化的程式碼,比起矩陣解法又更簡短了,以下一一說明: pub fn levenshtein_distance(source: &str, target: &str) -> usize { // 1 if source.is_empty() { return target.len(); } if target.is_empty() { return source.len(); } // 2 let mut distances = (0..=target.chars().count()).collect::>(); for (i, ch1) in source.chars().enumerate() { let mut sub = i; // 3 distances[0] = sub + 1; // 4 for (j, ch2) in target.chars().enumerate() { let dist = cmp::min( // 5 cmp::min( distances[j], // insert distances[j + 1], // delete ) + 1, sub + (ch1 != ch2) as usize, // substitute ); sub = distances[j + 1]; // 6 distances[j + 1] = dist; // 7 } } *distances.last().unwrap() // 8\n} 和前一段相同,計算空字串的距離。 不需要初始化 a x b 個元素,只需要初始化最多一列的陣列。這裡利用 0..=count 這種 core::ops::RangeInclusive 的寫法,直接產出含有 0 到字串長度的 Vec,這段等同 naive 作法中填入第一列全插入的編輯距離,但省下自己手寫一個迴圈。 將索引 i 作為初始化的刪除編輯距離,等同於 naive 作法中填入第一行全刪除的編輯距離,但尚未用到的距離就跟著索引 i 遞增,不需事先計算了。這個 sub 也等同於置換的累積編輯距離。 置換的累積編輯距離 + 1 就會等於插入的累積編輯距離。 前面步驟配置好陣列後,就可以來計算函數: 插入:索引 j 的元素就是插入的累積編輯距離(圖五紅字左方)。 刪除:索引 j + 1 的元素就是刪除的累積編輯距離(圖五紅字上方)。 置換:sub 變數儲存的就是置換的累積編輯距離(圖五藍色)。 更新 sub 置換的累積編輯距離,也就是這一輪的刪除的累積編輯距離(圖六藍色),以供內層迴圈下個 target char 疊代使用。 將計算所得的編輯距離填入陣列中(圖五紅字/圖六紅字左方),以供外層迴圈計算下一列疊代時使用。 計算完成,取最後一個元素就是兩字串的編輯距離了。 圖六:使用一維陣列疊代計算,藍色為額外儲存的置換的累積編輯距離","breadcrumbs":"萊文斯坦距離 Levenshtein distance » 拋棄矩陣:降低空間複雜度","id":"289","title":"拋棄矩陣:降低空間複雜度"},"29":{"body":"這裡有一個排好序的序列,共有 15 個元素,現在要找尋 9 是否在序列中。 *\n[2, 3, 3, 6, 6, 7, 9, 13, 15, 19, 20, 22, 23, 24, 25] 首先,先找到中間的元素 15 / 2 ~= 8,第八個元素為 13,比 9 大,因此捨棄第八個元素之後的所有元素。 *\n[2, 3, 3, 6, 6, 7, 9, _, _, _, _, _, _, _, _] 接下來繼續對半搜尋,8 / 2 = 4,找尋第四個元素來比對,6 比 9 小,,因此捨棄第四個元素前的所有元素。 *\n[_, _, _, 6, 6, 7, 9, _, _, _, _, _, _, _, _] 對剩下的元素二元搜尋,4 / 2 = 2,並從第四個元素開始計算中點 4 + 2 = 6,取得第六個元素為 7,比 9 小,捨棄 7 之前的元素。 *\n[_, _, _, _, _, 7, 9, _, _, _, _, _, _, _, _] 繼續切一半來搜尋,繼續找中間的元素 2 / 2 = 1,並從第六個元素計算索引位置 6 + 1 = 7,查看第七個元素是 9,終於找到了!","breadcrumbs":"二元搜尋 Binary search » 說明","id":"29","title":"說明"},"290":{"body":"Complexity Worst $O(mn)$ Worst space $O(\\min(m,n))$ Worst space (naive) $O(mn)$ $m$:字串 a 的長度 $n$:字串 b 的長度 顯而易見,萊文斯坦距離最差時間複雜度就是內外兩個迴圈疊代兩個字串的所有字元。而空間複雜度原本是 $m \\cdot n$ 的矩陣,在最佳化動態規劃後,只需兩字串長度 m 或 n 中最小值長度陣列作為儲存空間。","breadcrumbs":"萊文斯坦距離 Levenshtein distance » 效能","id":"290","title":"效能"},"291":{"body":"Wiki: Levenshtein distance Levenshtein distance in Cargo Levenshtein distance in Rust Std (1.0.0-alpha) Ilia Schelokov: Optimizing loop heavy Rust code Turnerj: Levenshtein Distance (Part 2: Gotta Go Fast)","breadcrumbs":"萊文斯坦距離 Levenshtein distance » 參考資料","id":"291","title":"參考資料"},"292":{"body":"感謝您有興趣貢獻 Rust 演算法俱樂部。我們歡迎各種形式的協助。這裡列出幾種任務供你挑選。 增加新的演算法 修正已知的漏洞 改善文件的品質 接下來,將介紹幾個貢獻的注意事項。","breadcrumbs":"貢獻指南 » 貢獻指南","id":"292","title":"貢獻指南"},"293":{"body":"若您決定著手做些厲害的事,請先在 已知 issues 與 pull requests 搜尋,那裡可能已有回報相似的問題。 若沒有重複的問題,請發起一個「進行中(work-in-progress)」的 issue,告知其他人你正在做這項功能。你的時間很寶貴,必須防止重工發生。維護團隊也會追蹤這些 issue 以利管理俱樂部。 有些 meta issue 專門追蹤尚未完成的工作 🚧,可以去看看是否有感興趣的主題。","breadcrumbs":"貢獻指南 » 開始貢獻之前","id":"293","title":"開始貢獻之前"},"294":{"body":"在提交你的貢獻之前,確認成果滿足下列需求: 不要搞壞既有測試。發起 pull request 前執行 cargo test。新的演算法也需包含自身的單元測試。 每個對外介面都需要有文件。這個文件不需要完美無缺,但至少清楚說明它的目的與用法。 儘量維持文章間寫作風格與結構一致。例如:首段需包含簡扼的敘述、解釋效能時請愛用漸進符號。 程式碼撰寫風格應貼近 Rust 的慣例,例如:涉及所有權轉移請使用 into、替額外建構式命名請添加 with 前綴。目前為止,並不強制使用 Clippy 與 rustfmt 。","breadcrumbs":"貢獻指南 » 提交你的成果","id":"294","title":"提交你的成果"},"295":{"body":"","breadcrumbs":"貢獻指南 » 歡迎加入 Rust 演算法俱樂部,願演算法與你同在!","id":"295","title":"歡迎加入 Rust 演算法俱樂部,願演算法與你同在!"},"296":{"body":"","breadcrumbs":"404 » Oops! Something went wrong...","id":"296","title":"Oops! Something went wrong..."},"3":{"body":"線性搜尋 Linear search 二元搜尋 Binary search 內插搜尋 Interpolation search 指數搜尋 Exponential search","breadcrumbs":"Rust Algorithm Club » 搜尋","id":"3","title":"搜尋"},"30":{"body":"Complexity Worst $O(\\log n)$ Best $O(1)$ Average $O(\\log n)$ Worst space $O(1)$ 二元搜尋可以透過分治法(Divide and conquer)遞迴求解,而遞迴的終止條件是序列不能在切兩半。由此可知,二元搜尋的複雜度奠基在要切幾次,子序列長度才會等於 1。設 $n$ 為資料數目,$k$ 為要切幾次才會達成終止條件,可得: $$ \\frac{n}{2^k} = 1 $$ 接下來同乘 $2^k$ 並取對數。 $$ \\frac{n}{2^k} = 1 \\\\ \\Rightarrow 2^k = n \\\\ $$ 再將左式整理一下,得到 $k$。 $$ \\log_2 2^k = log_2 n \\\\ \\Rightarrow k \\cdot \\log_2 2 = log_2 n \\\\ \\Rightarrow k = log_2 n $$ 於是,我們得到二元搜尋時間複雜度為 $O(k) = O(\\log_2 n) = O(\\log n)$。 寫這種式子也許不好理解,我們可以把搜尋過程和每個分支寫成樹狀圖,方便觀察。假設一個數列有七個元素 [1, 2, 3, 4, 5, 6, 7],其二元搜尋所有可能路徑的樹狀圖如下: +---+ | 4 | +---+ / \\ +---+ +---+ | 2 | | 6 | +---+ +---+ / \\ / \\\n+---+ +---+ +---+ +---+\n| 1 | | 3 | | 5 | | 7 |\n+---+ +---+ +---+ +---+ 樹中每一條路徑都代表任意搜尋會經過的步驟,總共有 7 種不同的搜尋路徑,最短路徑僅需要 $\\lfloor{\\log_2 n} = 3 \\rfloor$ 個操作,也就是需要執行「樹高」次的操作。","breadcrumbs":"二元搜尋 Binary search » 效能","id":"30","title":"效能"},"31":{"body":"","breadcrumbs":"二元搜尋 Binary search » 實作","id":"31","title":"實作"},"32":{"body":"二元搜尋概念看似簡單,實際上誤區一堆,不易寫出完全正確的演算法。我們參考 Rust slice binary_search 的實作。先來看看函式宣告的簽名(function signature)。 pub fn binary_search(arr: &[T], target: &T) -> Result where T: PartialOrd 二元搜尋函式宣告中,回傳值大概是最特別的部分。如果有找到目標元素,Result 會是 Ok(目標索引位置),如果沒有找到則回傳 Err(目標值若插入後,不會影響序列排序的位置)。Err 回傳值提供了插入點,非常方便。 再來,T 泛型參數需是 PartialOrd ,這是由於二元搜尋使用排序過後的元素,比起線性搜尋,仍需元素之間相互比較。","breadcrumbs":"二元搜尋 Binary search » 函式宣告","id":"32","title":"函式宣告"},"33":{"body":"市面上常見的實作通常以兩個變數 l 與 r 記錄搜尋範圍的上下界,而我們另闢蹊徑,記錄了 base:搜尋範圍的下界, size:搜尋範圍的長度。 以下是完整實作: pub fn binary_search(arr: &[T], target: &T) -> Result where T: PartialOrd\n{ let mut size = arr.len(); // 1 if size == 0 { return Err(0); } let mut base = 0_usize; while size > 1 { // 2 // mid: [base..size) let half = size / 2; // 2.1 let mid = base + half; if arr[mid] <= *target { // 2.2 base = mid } size -= half; // 2.3 } if arr[base] == *target { // 3 Ok(base) } else { Err(base + (arr[base] < *target) as usize) }\n} 第一部分先取得搜尋範圍 size 以及確定下界為 0_usize。這裡同時檢查若序列長度為零,直接回傳 Err(0),告知呼叫端可直接在 index 0 新增元素。 第二部分就是精髓了,將終止條件設在 size <= 1,以確保迴圈能夠正常結束。 先將搜尋範圍對半切,再與下界 base 相加,算出中點。 另中間元素與目標值比較,如果比較小,則移動下界至中點。 將 size 減半,縮小搜尋範圍。 到了第三部分,base 已經是切到長度為一的序列了,若匹配目標值就直接回傳;若否,需要傳可供目標值插入的位置,將 bool 判斷是轉型成 usize,若 arr[base] 比目標值小,則目標值要加到其後 +1 位置,反之則加在其前 -1 位置。","breadcrumbs":"二元搜尋 Binary search » 函式主體","id":"33","title":"函式主體"},"34":{"body":"只適用已排序序列: 這是使用二元搜尋的前提,千萬不能忽略這重要特性,否則後果絕對大錯特錯。 處理重複元素:一般的實作通常是回傳任意符合目標值的索引位置,就算有重複的元素,仍然不可預期。若要回傳特定位置(leftmost 或 rightmost),則需特別處理。 整數溢位:部分二元搜尋實作會 以兩個變數儲存搜尋範圍上下界的索引位置,而取中點時千萬不可直接將上下界相加再除二,否則很可能整數溢位(integer overflow)。 let mid = (end + start) / 2 // Wrong: integer overflow\nlet mid = start + (end - start) / 2 // Correct 終止條件錯誤:無論如何實作,請將終止條件設為「搜尋範圍為空」,也就是下界大於上界,而不要只比較上下界是否相等。其實搜尋範圍低於一定長度,即可使用線性搜尋替代,避免處理邊界值的麻煩,實務上也幾乎沒有太多效能損失。","breadcrumbs":"二元搜尋 Binary search » 常見誤區與解法","id":"34","title":"常見誤區與解法"},"35":{"body":"","breadcrumbs":"二元搜尋 Binary search » 變形與衍生","id":"35","title":"變形與衍生"},"36":{"body":"Interpolation search 改良自二元搜尋,差別在於,二元搜尋選擇中間的元素作為二分點,而 interpolation search 人如其名,以內插法找尋二分點。在資料平均分佈時,比二元搜尋更高效。欲知後續,待下回 內插搜尋 Interpolation search 分曉。","breadcrumbs":"二元搜尋 Binary search » Interpolation Search","id":"36","title":"Interpolation Search"},"37":{"body":"Exponential search 是一種特殊的二元搜尋,主要用在搜尋無限、無邊界的已排序序列,由於邊界未知長度就未知,無法以傳統二元搜尋找尋中點。Exponential 顧名思義就是不斷比較在 $2^0$,$2^1$ 直到 $2^n$ 的位置上資料是否比目標值大,若較大,再從該位置執行二元搜尋回頭找。詳情請看 指數搜尋 Exponential search 。","breadcrumbs":"二元搜尋 Binary search » Exponential Search","id":"37","title":"Exponential Search"},"38":{"body":"Insertion sort 有一個步驟是在前面已經排完序的資料中,找到適合的地方插入待排序的元素,這部分可透過二元搜尋加快在已排序資料搜尋的速度。詳情請參考 Binary insertion sort 。","breadcrumbs":"二元搜尋 Binary search » Binary Insertion Sort","id":"38","title":"Binary Insertion Sort"},"39":{"body":"Wiki: Binary search algorithm 知乎:二分查找有几种写法?它们的区别是什么?","breadcrumbs":"二元搜尋 Binary search » 參考資料","id":"39","title":"參考資料"},"4":{"body":"簡單排序: 插入排序 Insertion sort 選擇排序 Selection sort 氣泡排序 Bubble sort 希爾排序 Shellsort 高效排序: 堆積排序 Heapsort 快速排序 Quicksort 合併排序 Mergesort 混合排序(更高效): 🚧 內省排序 Introsort 🚧 自適應的合併排序 Timsort 🚧 模式消除快速排序 Pdqsort 特殊排序: 計數排序 Counting sort 桶排序 Bucket sort 基數排序 Radix sort","breadcrumbs":"Rust Algorithm Club » 排序","id":"4","title":"排序"},"40":{"body":"內插搜尋 Interpolation search 為 二元搜尋 的變種,差別在於二分點的選擇方法,二元搜尋選擇中間的元素作為二分點,而內插搜尋則名副其實,以內插法找尋二分點。內插法有許多種類,本次搜尋演算法選擇使用常見的 線性內插(linear interpolation) 實作。 內插搜尋的特色如下: 資料需要是可計算 內插(interpolation) 的數值資料。 對資料分佈敏感,資料均勻分佈時,效能勝過二元搜尋。 資料分佈不均勻時,最差複雜度高達 $O(n)$。","breadcrumbs":"內插搜尋 Interpolation search » 內插搜尋 Interpolation Search","id":"40","title":"內插搜尋 Interpolation Search"},"41":{"body":"確認資料已經排好序。 利用第一個元素 a 與最後的元素 b,以及搜尋上下界 hi 與 lo 位置,作為兩個端點。 利用上述兩點 (lo, a) 與 (hi, b),對搜尋目標計算內插,得到可能的位置。 若該位置上元素較小,則令其為新搜尋下界 a',重複步驟二到三,繼續求內插。 若該位置上元素較大,則令其為新搜尋上界 b',重複步驟二到三,繼續求內插。 若相等,則完成搜尋。 搜尋停止在 a'、b' 兩元素搜尋位置重疊,以及目標值比下界 a' 小或比上界 b' 大。","breadcrumbs":"內插搜尋 Interpolation search » 步驟","id":"41","title":"步驟"},"42":{"body":"迅速說明線性內插法。線性內插法是中學必修的數學概念,給定兩點 $(x_0,y_0)$ 與 $(x_1,y_1)$,欲求在 $[x_0,x_1]$ 區間內直線上 $x'$ 點的 y 值,可以透過斜率公式求解: $$ \\frac{y - y_0}{x' - x_0} = \\frac{y_1 - y_0}{x_1 - x_0 } $$ 接下來就是小學解方程式的事兒了。 Cmglee - CC BY-SA 3.0 回到正題,以下用文字解釋內插搜尋。 這裡有一個已排序有 14 個元素的序列,我們需要從中找出 27 。 [1, 9, 10, 15, 17, 17, 18, 23, 27, 28, 29, 30, 31, 34] 我們將序列索引當作 x 軸,元素值作為 y 軸。可得已知兩點為 $(0, 1)$ 及 $(13, 34)$。 首先,透過斜率公式,計算出在 $y = 27$ 時,$x'$,也就是 27 在序列中可能的位置為 $$x' = \\lfloor 27 / (34 - 1) \\cdot (13 - 0) \\rfloor = 10$$ 查看 arr[10] 為 29,比搜尋目標 27 來得大。將 29 當作我們新的上界,搜尋範變成第 [0, 9] 個元素(29 不需列入搜尋),繼續計算內插 $$x' = \\lfloor 27 / (28 - 1) \\cdot (9 - 0) \\rfloor = 9$$ 查看 arr[9] 為 28,比搜尋目標 27 來得大。將 28 當作我們新的上界,搜尋範變成第 [0, 8] 個元素(28 不需列入搜尋),繼續計算內插 $$x' = \\lfloor 27 / (27 - 1) \\cdot (8 - 0) \\rfloor = 8$$ 查看 arr[8] 為 27,恰恰是搜尋目標 27,搜尋到此結束。","breadcrumbs":"內插搜尋 Interpolation search » 說明","id":"42","title":"說明"},"43":{"body":"Complexity Worst $O(n)$ Best $O(1)$ Average $O(n)$ Average $O(\\log \\log n)$ on uniform distributed data Worst space $O(1)$ $n$:資料筆數 線性內差搜尋的最差時間複雜度為 $O(n)$,也就是每次內差的結果都落在邊界旁,搜尋範圍只縮小一個元素。這種情況容易發生在資料依排序呈指數或對數等非線性函數。例如 $y = 2^x$。 線性內插搜尋對資料的期望是均勻機率分佈(uniform probability distribution)。想求平均時間複雜度 $O(\\log \\log n)$ ,須先透過機率密度函數,計算條件機率,一步步縮小範圍,求得平均誤差,最後求得期望值。這部分計算較為複雜,有興趣的朋友可以參考閱讀資料「 Perl, Y., Itai, A., & Avni, H. (1978). Interpolation search—a log log N search. 」。 PDF of uniform distribution by IkamusumeFan - CC BY-SA 3.0","breadcrumbs":"內插搜尋 Interpolation search » 效能","id":"43","title":"效能"},"44":{"body":"內插搜尋的實作共分為幾部分: 處理空序列狀況。 建立迴圈疊代共用的變數。 計算線性插值的主要迴圈。 將內插值映射到結果的 Result。 首先是函式宣告。 pub fn interpolation_search( arr: &[i32], target: &i32,\n) -> Result 映入眼簾的是 i32,而非泛型參數,為什麼呢?是因為內插搜尋為了計算線性內插,資料僅限定在「數值資料」,而 Rust 並沒有特別一類 Numeric 的型別,自己透過 trait 實作又異常繁瑣,因此先以 i32 代替。而回傳值的部分,與指數搜尋/二元搜尋一模一樣,回傳的 Result 若為 Ok,其值代表目標值在序列內的索引位置; 若為 Err,則是可以將目標值插入序列內又不會破壞排序的位置。 延續數值型別的話題,Rust 社群提供 num crate,定義了各種數值型別與 trait,大整數、複數、虛數、有理數都囊括其中,非常有趣。 再來就是第一第二部分,處理空序列與建立共用變數,非常直觀。 if arr.is_empty() { return Err(0) } let mut hi = arr.len() - 1; let mut lo = 0_usize; let mut interpolant = 0_usize; hi、lo 兩個變數劃定的搜尋範圍上下界。 interpolant 儲存線性插值,代表每次疊代的搜尋位置。 接下來就是主要的迴圈,負責疊代計算內插值。分為三個部分,直接看程式碼先。 loop { let lo_val = arr[lo]; let hi_val = arr[hi]; // 1. if hi <= lo || *target < lo_val || *target > hi_val { break } // 2. The linear interpolation part let offset = (*target - lo_val) * (hi - lo) as i32 / (hi_val - lo_val); interpolant = lo + offset as usize; let mid_val = arr[interpolant]; // 3. if mid_val > *target { hi = interpolant - 1; } else if mid_val < *target { lo = interpolant + 1; } else { break } } 迴圈的三個終止條件,分別為: hi、lo 兩個變數劃定的搜尋範圍重疊,長度為零。 搜尋目標值比上界還大。 搜尋目標值比下界還小。 線性內插的計算方程式,要注意我們是寫 Rust 不是 JavaScript,i32 與 usize 不能混用,要手動轉型。 比較插值與目標值。相等則跳出迴圈;若目標大於小於插值,則縮小搜尋範圍。注意,範圍需手動加減一,排除上下界,以免無限迴圈產生。 最後一部分則是決定線性插值所得的索引位置是否為目標值,並將該值映射到 Result 上。 if *target > arr[hi] { Err(hi + 1) } else if *target < arr[lo] { Err(lo) } else { Ok(interpolant) } 完整的程式碼如下。 pub fn interpolation_search( arr: &[i32], target: &i32,\n) -> Result { // 1. Handle empty sequence. if arr.is_empty() { return Err(0) } // 2. Setup variable storing iteration informaion. let mut hi = arr.len() - 1; let mut lo = 0_usize; let mut interpolant = 0_usize; // 3. Main loop to calculate the interpolant. loop { let lo_val = arr[lo]; let hi_val = arr[hi]; // 3.1. Three condition to exit the loop if hi <= lo || *target < lo_val || *target > hi_val { break } // 3.2. The linear interpolation part let offset = (*target - lo_val) * (hi - lo) as i32 / (hi_val - lo_val); interpolant = lo + offset as usize; let mid_val = arr[interpolant]; // 3.3. Comparison between the interpolant and targert value. if mid_val > *target { hi = interpolant - 1; } else if mid_val < *target { lo = interpolant + 1; } else { break } } // 4. Determine whether the returning interpolant are equal to target value. if *target > arr[hi] { Err(hi + 1) } else if *target < arr[lo] { Err(lo) } else { Ok(interpolant) }\n} 如同 二元搜尋 與 指數搜尋 ,未特別處理重複元素的內插搜尋,並無法預期會選擇哪一個元素。","breadcrumbs":"內插搜尋 Interpolation search » 實作","id":"44","title":"實作"},"45":{"body":"","breadcrumbs":"內插搜尋 Interpolation search » 變形與衍生","id":"45","title":"變形與衍生"},"46":{"body":"Interpolation search tree(IST),姑且稱它「內插搜尋樹」,是一個將內插搜尋結合樹的資料結構。如上述提及,內插搜尋達到 $O(\\log \\log n)$ 的搜尋時間,但僅適用於均勻機率分佈的資料。而 IST 利用動態內插搜尋,讓 1)內插搜尋樹的搜尋可以使用在更多元的 規律機率分佈 的資料中,且 2)可以達到以下的執行效能: $O(n)$ 空間複雜度。 預期有 $O(\\log \\log n)$ 的平攤增減節點操作時間,最差有 $(O \\log n)$。 在規律分佈的資料中,預期搜尋時間為 $O(\\log \\log n)$,最差時間複雜度則為 $O((\\log n)^2)$ 線性時間的循序存取,而取得前後節點或最小值都是常數時間。 更多詳細證明可以閱讀參考資料「 Andersson, A. (1996, October). Faster deterministic sorting and searching in linear space 」。","breadcrumbs":"內插搜尋 Interpolation search » Interpolation Search Tree","id":"46","title":"Interpolation Search Tree"},"47":{"body":"Wiki: Interpolation search Perl, Y., Itai, A., & Avni, H. (1978). Interpolation search—a log log N search. Communications of the ACM, 21(7), 550-553. Andersson, A. (1996, October). Faster deterministic sorting and searching in linear space. In Foundations of Computer Science, 1996. Proceedings., 37th Annual Symposium on (pp. 135-141). IEEE. Linear interpolation visualisation SVG By Cmglee CC BY-SA 3.0 , via Wikimedia Commons. Probability density function of uniform distribution SVG By IkamusumeFan CC BY-SA 3.0 , via Wikimedia Commons.","breadcrumbs":"內插搜尋 Interpolation search » 參考資料","id":"47","title":"參考資料"},"48":{"body":"指數搜尋,又稱為 galloping search,是一種特殊的 二元搜尋 ,主要用在搜尋無限、無邊界的已排序序列。由於邊界未知長度就未知,無法以傳統二元搜尋來找中點。而 Exponential 顧名思義就是從底數為 2,指數為 0 的索引($2^0$ )開始,不斷比較在 $2^1$、$2^2$ 直到 $2^k$ 位置上的值,若比目標值大,則停止指數成長,直接從該位置執行二元搜尋,回頭尋找目標值。 指數搜尋的特點如下: 可以搜尋邊界未知的已排序序列。 縮小搜尋範圍,可比 naïve 的二元搜尋效率高些。 若目標值實際位置很靠近序列前端,效率會非常棒。","breadcrumbs":"指數搜尋 Exponential search » 指數搜尋 Exponential Search","id":"48","title":"指數搜尋 Exponential Search"},"49":{"body":"指數搜尋的步驟只有非常簡單的兩步驟: 依照目標值大小,劃出搜尋範圍。 在上述範圍內執行二元搜尋。 而劃出搜尋範圍這部分也很直觀: 選定一個底數 $k$,通常為 2。 比較 $k^i$ 索引下的值是否比目標值大,$i$ 從零開始。 若較小,指數加一 $k^{i + 1}$ 後繼續重複步驟二比較。 若較大,停止比較,得搜尋範圍為 $k^{i - 1}$ 到 $k^i$。","breadcrumbs":"指數搜尋 Exponential search » 步驟","id":"49","title":"步驟"},"5":{"body":"","breadcrumbs":"Rust Algorithm Club » 資料結構","id":"5","title":"資料結構"},"50":{"body":"這裡有個排好序的序列,我們要尋找其中是否有 22 這個數字。 *\n[2, 3, 3, 6, 6, 7, 9, 13, 15, 19, 20, 22, 23, 24, 25] 首先,先尋找 $2^0 = 1$ 位置上的數字是否超過 22。3 < 22,很明顯沒有。 * * *\n[2, 3, 3, 6, 6, 7, 9, 13, 15, 19, 20, 22, 23, 24, 25] 再來,連續看看 $2^1$:3 < 22 $2^2$:6 < 22 $2^3$:15 < 22 也都沒有超越 22。 *\n[2, 3, 3, 6, 6, 7, 9, 13, 15, 19, 20, 22, 23, 24, 25] _, _ 最後,一口氣將指數加到 4,看看$2^4$ 上的數字是否大於 22。哎呀,$2^4 = 16$,的位置已經超出序列長度,因此取至序列最後一個數字作為比較對象。25 > 22,找到了! 得到搜尋的範圍是 $$2^{4-1} < x < \\text{array.length} < 2^{4}$$","breadcrumbs":"指數搜尋 Exponential search » 說明","id":"50","title":"說明"},"51":{"body":"Complexity Worst $O(\\log i)$ Best $O(1)$ Average $O(\\log i)$ Worst space $O(1)$ $i$:目標值在序列中實際的索引位置。 指數搜尋的複雜度分為兩部分分析:","breadcrumbs":"指數搜尋 Exponential search » 效能","id":"51","title":"效能"},"52":{"body":"設 $i$ 為目標值在序列中實際的索引位置,則搜尋上界,指數增加的操作需執行 $\\lceil \\log(i) \\rceil$ 次,例如匹配目標值的搜尋結果位於序列第 9 個,則指數需增加 $\\lceil \\log(9) \\rceil = 4$ 次,上界才會超過目標值。我們設這部分的複雜度為 $O(log i)$。","breadcrumbs":"指數搜尋 Exponential search » 劃定搜尋範圍","id":"52","title":"劃定搜尋範圍"},"53":{"body":"第二部分就是二元搜尋,複雜度為 $O(log n)$,$n$ 為搜尋範圍的長度。根據第一部分,可以得知範圍長度為 $2^{\\log i} - 2^{\\log{i - 1}} = 2^{log{i - 1}}$ 個元素,帶入二元搜尋的複雜度,計算出第二部分的複雜度為 $log (2^{\\log{i - 1}}) = \\log{(i)} - 1 = O(\\log i)$。 最後,將兩部分的複雜度合起來,就是指數搜尋的時間複雜度了。 $$O(\\log i) + O(\\log i) = 2 O(\\log i) = O(\\log i)$$","breadcrumbs":"指數搜尋 Exponential search » 執行二元搜尋","id":"53","title":"執行二元搜尋"},"54":{"body":"本次實作有邊界的指數搜尋,主要分為三個部分: 處理空序列的狀況。 利用指數,決定搜尋範圍。 執行二元搜尋,並將輸出結果映射回原始序列。 話不多說,直接看程式碼。 use crate::searching::binary_search; pub fn exponential_search(arr: &[T], target: &T) -> Result where T: PartialOrd\n{ // 1. Handle empty scenario. let size = arr.len(); if size == 0 { return Err(0); } // 2. Determine searching boundaries. let mut hi = 1_usize; // Upper bound. while hi < size && arr[hi] < *target { hi <<= 1; } let lo = hi >> 1; // Lower bound. // 3. Do binary search. binary_search(&arr[lo..size.min(hi + 1)], target) .map(|index| lo + index) .map_err(|index| lo + index)\n} 和二元搜尋同,遇到空序列就返回 Err(0) 告知呼叫端可新增資料在位置 0。 決定搜尋上下界,只要 上界不超過序列長度,且 arr[hi] 小於目標值,就讓上界指數成長。這裡用位元左移運算子(bitwise left shift)實作乘以 2。 找到上界後,再將上界除以 2(位元右移),就是下界了。 確定範圍後,利用上下界切序列的 sub slice 作為引數,傳遞給二元搜尋。要注意的是,為了避免 sub slice 超出邊界,上界需在 size 與 hi + 1 之間找最小值。 由於回傳結果的位置是以 sub slice 起始,需加上位移量(下界 lo)才會對應原始 slice 的位置。 由於內部使用 二元搜尋 ,若該二元搜尋沒有處理重複元素的狀況,指數搜尋連帶無法預期這個行為。","breadcrumbs":"指數搜尋 Exponential search » 實作","id":"54","title":"實作"},"55":{"body":"Wiki: Exponential search","breadcrumbs":"指數搜尋 Exponential search » 參考資料","id":"55","title":"參考資料"},"56":{"body":"Insertion sort 是最簡單的排序法之一,比起 quicksort 等高效的排序法,對大資料的處理效能較不理想。其演算法是將欲排序元素直接插入正確位置,因而得名。 Insertion sort 基本特性如下: 實作簡單易理解。 資料量少時較高效,且比其他 $O(n^2) $ 的排序法高效(selection sort/bubble sort)。 自適應排序 :可根據當前資料排序情形加速排序,資料越接近排序完成,效率越高。 穩定排序 :相同鍵值的元素,排序後相對位置不改變。 原地排序 :不需額外花費儲存空間來排序。 即時演算法 :可處理逐步輸入的資料,不需等資料完全備妥。","breadcrumbs":"插入排序 Insertion sort » 插入排序 Insertion Sort","id":"56","title":"插入排序 Insertion Sort"},"57":{"body":"將序列分為未排序與部分排序兩個區域。 取第一個元素 ,將該元素視為已排序。 取出下一元素 ,該元素將插入序列的部分排序區域。 尋找正確位置 :若部分排序元素比新元素大,則互換位置。並重複步驟 2 - 3,直到部分排序元素小於等於新元素。 插入元素 :將新元素 插入 最後的位置。 重複步驟 2 - 4,直到排序完成。 簡而言之,即是每次取一個元素,尋找並插入該元素在部分排序區域的排序位置,再逐步把序列單邊排序完成。 Insertion sort 非常簡單,看動畫就能明瞭。","breadcrumbs":"插入排序 Insertion sort » 步驟","id":"57","title":"步驟"},"58":{"body":"Complexity Worst $O(n^2) $ Best $O(n) $ Average $O(n^2) $ Worst space $O(1) $ auxiliary 最佳時間複雜度發生在資料已完成排序的狀況下,insertion sort 只需執行最外層的迴圈 $n $ 次。 最差時間複雜度發生在資料完全相反時,insertion sort 每取得一個新元素是,都需將資料插入序列最前面,,因此所需的操作如下( $c $ 為任意常數): $$ c \\cdot 1 + c \\cdot 2 + c \\cdot 3 \\cdots + c \\cdot (n - 1) = \\frac{c(n - 1 + 1)(n - 1)}{2}$$ 最後等於 $$\\frac{cn^2}{2} - \\frac{cn}{2}$$ 捨去低次項,得到時間複雜度為 $O(n^2) $。","breadcrumbs":"插入排序 Insertion sort » 效能","id":"58","title":"效能"},"59":{"body":"簡單實作的程式碼如下: pub fn insertion_sort(arr: &mut [i32]) { for i in 1..arr.len() { // 1 let mut j = i; while j > 0 && arr[j - 1] > arr[j] { // 2 arr.swap(j - 1, j); j -= 1; } }\n} 外層迴圈疊代整個序列。並取出 index i,arr[i] 是待排序的元素,index 比 i 小的元素則組成已排序的部分序列。 內層迴圈負責元素比較,決定待排序元素該從何處插入,若前一個元素比待排元素大,則置換兩元素,並繼續往下尋找正確的插入點。直到 j == 0 或待排元素比任何已排序元素都大為止。","breadcrumbs":"插入排序 Insertion sort » 實作","id":"59","title":"實作"},"6":{"body":"堆疊 Stack 佇列 Queue 雙端佇列 Deque","breadcrumbs":"Rust Algorithm Club » 堆疊與佇列","id":"6","title":"堆疊與佇列"},"60":{"body":"","breadcrumbs":"插入排序 Insertion sort » 變形","id":"60","title":"變形"},"61":{"body":"在一般演算法討論中,通常以簡單的型別如 i32 來探討並實作。在真實世界中,做哪種操作,用哪種語言,都會影響到實際效能。例如 Python 的比較操作相對於置換元素,成本高出不少,是因為每個物件在 Python 的比較需動態檢查是否實作 __lt__ __gt__ 等方法才能進行比較。所以 Python 排序法實作就要特別注意減少比較操作的次數。 Binary insertion sort 的目的就是減少內層迴圈的比較次數。在內層迴圈開始之前,使用 binary search 搜尋新元素應要插入哪個位置,最多僅需 $\\log_2n $ 次比較。但 binary insertion sort 的複雜度依舊是 $O(n^2) $,因為除了比較之外,仍需置換(swap)、賦值(assign)等基礎操作。 Binary insertion sort 的程式碼和一般的 insertion sort 差不了多少,我們這裡使用 slice 內建的 binary_search 來找尋插入點。 pub fn binary_insertion_sort(arr: &mut [i32]) { for i in 1..arr.len() { let val = arr[i]; let mut j = i; let pos = match arr[..i].binary_search(&val) { // 1 Ok(pos) => pos, // 2 Err(pos) => pos, }; while j > pos { // 3 arr.swap(j - 1, j); j -= 1; } }\n} 先限制 binary_search 範圍,取出 sorted pile arr[..i]。再對 slice 執行 binary_search。 binary_search 回傳一個 Result 型別,找到時回傳 Ok(index 值),找無時回傳 Err(不影響排序穩定度的插入點),這個 Err 的設計巧妙解決新值插入的問題。 和普通 insertion sort 雷同,從插入點至 sorted pile 疊代到末端以進行排序,省下不少比較操作。","breadcrumbs":"插入排序 Insertion sort » Binary Insertion Sort","id":"61","title":"Binary Insertion Sort"},"62":{"body":"Wiki: Insertion sort CPython: listsort note Sorting GIF by Swfung8 (Own work) CC BY-SA 3.0 via Wikimedia Commons.","breadcrumbs":"插入排序 Insertion sort » 參考資料","id":"62","title":"參考資料"},"63":{"body":"Selection sort 是最易實作的入門排序法之一,會將資料分為 sorted pile 與 unsorted pile,每次從 unsorted pile 尋找最大/最小值,加入 sorted pile 中。 Selection sort 的特性如下: 最簡單的排序法之一。 對小資料序列排序效率較高。 不穩定排序 :排序後,相同鍵值的元素相對位置可能改變。 原地排序 :不需額外花費儲存空間來排序。","breadcrumbs":"選擇排序 Selection sort » 選擇排序 Selection sort","id":"63","title":"選擇排序 Selection sort"},"64":{"body":"將資料分為 sorted pile 與 unsorted pile。 從 unsorted pile 尋找最小值。 置換該最小值元素與 unsorted pile 第一個元素。 重複步驟 2 - 3,直到排序完成。 注意,這個 naïve 的 selection sort 實作為 不穩定排序 。 Joestape89 - CC BY-SA 3.0","breadcrumbs":"選擇排序 Selection sort » 步驟","id":"64","title":"步驟"},"65":{"body":"為什麼 naïve 的 selection sort 會是不穩定排序? 假定有一個序列要遞增排序,其中有重複的 2 元素,我們將其標上 2a、2b 以利辨識。 [2a, 3, 4, 2b, 1] 開始疊代找出最小值並指環。 * *\n[1, 3, 4, 2b, 2a] # 1. 置換 2a, 1 * *\n[1, 2b, 4, 3, 2a] # 2. 置換 3, 2b * *\n[1, 2b, 2a, 3, 4] # 3. 置換 4, 2a 有沒有發現,2a 與 2b 的相對順序顛倒了呢? 首先,回想一下穩定排序的定義: 相同鍵值的元素,排序後相對位置不改變。 問題出在 naïve selection sort 是以置換的方式排序每次疊代的最小值。若我們將置換(swap)改為插入(insert),那麼 selection sort 就會是穩定排序,但相對地,需要位移剩餘未排序的元素,除非使用 linked list 或其他提供 $O(1) $ insertion 的資料結構,不然就會多出額外 $O(n^2) $ 的寫入成本。","breadcrumbs":"選擇排序 Selection sort » 說明","id":"65","title":"說明"},"66":{"body":"Complexity Worst $O(n^2) $ Best $O(n^2) $ Average $O(n^2) $ Worst space $O(1) $ auxiliary 對於接近排序完成的序列,selector sort 並無法有自適應的方式加快排序疊代。第一個元素要做 $n - 1 $ 次比較,第二個 $n - 2 $ 次,總比較次數如下: $$ (n -1) + (n-2) + \\cdots + 1 = \\sum_{i=1}^{n-1} i = \\frac{n(n - 1)}{2}$$ 因此無論序列是否排序完成,selection sort 仍需執行 $n^2 $ 次比較,時間複雜度為 $O(n^2) $。","breadcrumbs":"選擇排序 Selection sort » 效能","id":"66","title":"效能"},"67":{"body":"簡單實作如下: pub fn selection_sort(arr: &mut [i32]) { let len = arr.len(); for i in 0..len { // 1 let mut temp = i; for j in (i + 1)..len { // 2 if arr[temp] > arr[j] { temp = j; } } arr.swap(i, temp); // 3 }\n} 外層迴圈負責儲存當前要排序的 index i 的位置。 內層迴圈負責在 unsorted pile 範圍 [i, len) 找最小值。 外層迴圈在找到最小值之後,置換兩元素。 眼尖的人會發現,內外兩層迴圈的 upper bound 都是 len,這樣是否內側迴圈會 out of bound?Rust 的 range operator(core::ops::Range)實作 Iterator trait 時,有檢查 range.start < range.end,因此這個寫法並不會有出界問題,但會多跑一次無意義的疊代。","breadcrumbs":"選擇排序 Selection sort » 實作","id":"67","title":"實作"},"68":{"body":"","breadcrumbs":"選擇排序 Selection sort » 變形","id":"68","title":"變形"},"69":{"body":"Heapsort 是一個高效的排序法,使用 selection sort 融合 heap 這種半排序的資料結構,讓時間複雜度進化至 $O(n \\log n) $。更多詳情可以參考 這篇介紹 。","breadcrumbs":"選擇排序 Selection sort » Heapsort","id":"69","title":"Heapsort"},"7":{"body":"鏈結串列概述 單向鏈結串列 Singly linked list 🚧 雙向鏈結串列 Doubly linked list 🚧 循環鏈結串列 Circular linked list","breadcrumbs":"Rust Algorithm Club » 鏈結串列","id":"7","title":"鏈結串列"},"70":{"body":"Wiki: Selection sort Why Selection sort can be stable or unstable Sorting GIF by Joestape89 CC BY-SA-3.0 via Wikimedia Commons.","breadcrumbs":"選擇排序 Selection sort » 參考資料","id":"70","title":"參考資料"},"71":{"body":"Bubble sort 是最簡單的排序法之一,由於排序時每個元素會如同泡泡般,一個一個浮出序列頂部,因而得名。由於其簡單好理解,名稱又有趣,常作為第一個學習的入門排序法。不過其效率不彰,甚至不如同為 quardratic time 的 insertion sort。Bubble sort 的原理很平凡,就是相鄰兩兩元素互相比較,如果大小順序錯了,就置換位置。再往下一個 pair 比較。 Bubble sort 的特性如下: 又稱為 sinking sort 。 穩定排序 :相同鍵值的元素,排序後相對位置不改變。 原地排序 :不需額外花費儲存空間來排序。","breadcrumbs":"氣泡排序 Bubble sort » 氣泡排序 Bubble sort","id":"71","title":"氣泡排序 Bubble sort"},"72":{"body":"比較兩個相鄰元素,若首個元素比次個元素大,置換兩者的位置。 依序對相鄰元素執行步驟一,直到抵達序列頂端,此時頂端元素排序完成。 重複步驟 1 - 2 的整個序列疊代,直到任何一次疊代沒有執行元素置換。 Swfung8 - CC BY-SA 3.0","breadcrumbs":"氣泡排序 Bubble sort » 步驟","id":"72","title":"步驟"},"73":{"body":"給定一組序列 [5, 3, 8, 7, 2],以 bubble sort 遞增排序。以 ASCII diagram 表示: 第一次疊代 * * * *\n[5, 3, 8, 7, 4] -> [3, 5, 8, 7, 4] # 置換 3 與 5 * * * *\n[3, 5, 8, 7, 4] -> [3, 5, 8, 7, 4] # 不需置換 * * * *\n[3, 5, 8, 7, 4] -> [3, 5, 7, 8, 4] # 置換 7 與 8 * * * *\n[3, 5, 7, 8, 4] -> [3, 5, 7, 4, 8] # 置換 4 與 8,8 已排好序 第二次疊代 * * * *\n[3, 5, 7, 4, 8] -> [3, 5, 7, 4, 8] # 不需置換 * * * *\n[3, 5, 7, 4, 8] -> [3, 5, 7, 4, 8] # 不需置換 * * * *\n[3, 5, 7, 4, 8] -> [3, 5, 4, 7, 8] # 置換 4 與 7 * * * *\n[3, 5, 4, 7, 8] -> [3, 5, 4, 7, 8] # 不需置換 naïve bubble sort 會跑完整個序列,即是已排序完成。 第三次疊代 * * * *\n[3, 5, 4, 7, 8] -> [3, 5, 4, 7, 8] # 不需置換 * * * *\n[3, 5, 4, 7, 8] -> [3, 4, 5, 7, 8] # 置換 4 與 5 * * * *\n[3, 5, 4, 7, 8] -> [3, 4, 5, 7, 8] # 不需置換 * * * *\n[3, 5, 4, 7, 8] -> [3, 4, 5, 7, 8] # 不需置換 第四次疊代 * * * *\n[3, 4, 5, 7, 8] -> [3, 4, 5, 7, 8] # 不需置換 * * * *\n[3, 4, 5, 7, 8] -> [3, 4, 5, 7, 8] # 不需置換 * * * *\n[3, 4, 5, 7, 8] -> [3, 4, 5, 7, 8] # 不需置換 * * * *\n[3, 4, 5, 7, 8] -> [3, 4, 5, 7, 8] # 不需置換 很簡單的排序法!","breadcrumbs":"氣泡排序 Bubble sort » 說明","id":"73","title":"說明"},"74":{"body":"Complexity Worst $O(n^2) $ Best $O(n) $ Average $O(n^2) $ Worst space $O(1) $ auxiliary","breadcrumbs":"氣泡排序 Bubble sort » 效能","id":"74","title":"效能"},"75":{"body":"Bubble sort 總共需要 $n - 1 $ 次疊代,每次疊代至少需要執行 $n - 1 - i $ 置換( $i $ 為第幾次疊代),總共需要疊代 $$\\sum_{i=0}^{n-1} (n - i - 1) = n^2 - \\sum_{i=0}^{n-1}i - n = n^2 - \\frac{n(n - 1)}{2} - n = \\frac{n^2}{2} - \\frac{n}{2}$$ 次,因此,時間複雜度為 $O(n^2) $。 Bubble sort 在已排序完成的序列上,只需要疊代序列一次,發現完全沒有置換任何元素,即停止排序,可達到最佳時間複雜度。","breadcrumbs":"氣泡排序 Bubble sort » Time complexity","id":"75","title":"Time complexity"},"76":{"body":"Bubble sort 簡單實作如下: pub fn bubble_sort(arr: &mut [i32]) { let mut swapped = true; // 1 while swapped { swapped = false; for i in 1..arr.len() { // 2 if arr[i - 1] > arr[i] { arr.swap(i - 1, i); swapped = true // 3 } } }\n} 建立一個旗標,標誌該次疊代是否有元素置換。 內層迴圈依序比較兩兩相鄰元素。 若有任何置換動作,將旗標標誌為「已置換(true)」。 倘若記錄已排好序的元素位置,雖然複雜度仍是 $O(n^2) $,但如此以來,每次疊代都可少一次元素比較,對比較操作成本高的語言或實作來說,仍不失為最佳化的方法。程式碼如下: pub fn bubble_sort_optimized(arr: &mut [i32]) { let mut new_len: usize; let mut len = arr.len(); // 1 loop { new_len = 0; for i in 1..len { if arr[i - 1] > arr[i] { arr.swap(i - 1, i); new_len = i; // 2 } } if new_len == 0 { // 3 break; } len = new_len; // 4 }\n} 將當前的序列長度記錄到 len。 內層迴圈負責比較、置換,以及記錄未排序部分的序列長度到 new_len。 若未排序部分 new_len 為零,代表排序完成。 外層迴圈將新長度值 new_len 賦予 len,下一次疊代就可少做一次比較。","breadcrumbs":"氣泡排序 Bubble sort » 實作","id":"76","title":"實作"},"77":{"body":"Wiki: Bubble sort Sorting GIF was created by Swfung8 (Own work) CC BY-SA 3.0 via Wikimedia Commons.","breadcrumbs":"氣泡排序 Bubble sort » 參考資料","id":"77","title":"參考資料"},"78":{"body":"眾所周知, Insertion sort 用在幾乎完成排序的序列上非常高效,換句話說,當元素置換不需移動太遠時,效率很高。反之,如果有元素錯位非常遙遠,效能就會大打折扣。Shellsort 以一個 gap sequence 將資料依指定的間隔(gap)分組進行 insertion sort,使得較遠的元素能夠快速歸位,下一次的排序就會因前次排序結果愈來愈接近完成而加速。 Shellsort 最後一個 gap 必定是 1,也就是排序會退化成 insertion sort,此時大部分元素皆排序完成,insertion sort 會非常高效。 Shellsort 特性如下: 自適應排序 :可根據當前資料排序情形加速排序,資料越接近排序完成,效率越高。 不穩定排序 :排序後,相同鍵值的元素相對位置可能改變。 原地排序 :不需額外花費儲存空間來排序。 可視為一般化(Generalizaion)的 insertion sort 。","breadcrumbs":"希爾排序 Shellsort » 希爾排序 Shellsort","id":"78","title":"希爾排序 Shellsort"},"79":{"body":"Shellsort 分為兩個步驟: 決定一組 gap sequence。 疊代 gap sequence 進行分組排序,每次執行有間隔的 insertion sort。也就是每個元素與其相鄰 gap 的元素比較與置換。 最後一次排序(gap = 1)會退化為 insertion sort,完成整個排序。","breadcrumbs":"希爾排序 Shellsort » 步驟","id":"79","title":"步驟"},"8":{"body":"關聯容器概述 雜湊表 Hash map 🚧 有序映射表 Ordered map 🚧 多重映射表 Multimap 集合 Set 布隆過濾器 Bloom filter","breadcrumbs":"Rust Algorithm Club » 關聯容器","id":"8","title":"關聯容器"},"80":{"body":"Shellsort 的效率取決於 gap sequence 的選擇,這邊舉幾個常見的 gap sequence: Sequence Marcin Ciura 1, 4, 10, 23, 57, 132, 301, 701 $2^{k} - 1 $ 1, 3, 7, 15, 31, 63,... $\\lfloor {\\frac {N}{2^k}} \\rfloor $ $\\lfloor {\\frac {N}{2}} \\rfloor $, $\\lfloor {\\frac {N}{4}} \\rfloor $, ..., 1 感受一下 gap sequence 為 23, 10, 4, 1 的 shellsort 吧。","breadcrumbs":"希爾排序 Shellsort » Gap Sequneces","id":"80","title":"Gap Sequneces"},"81":{"body":"Shellsort 其實就是進行好幾次不同 gap 的 insertion sort,以下用 ASCII diagram 解釋。 假定這裡有一個序列需要遞增排序。 [5, 3, 8, 7, 4, 9, 6, 2] 我們選擇最簡單的 $\\lfloor {\\frac {N}{2^k}} \\rfloor $ gap sequence 來排序。我們以 星號 標示出每次 insertion sort 對應排序 首先算出第一個 gap 為 $8 / 2^1 = 4 $。開始 insertion sort。 * *\n[5, 3, 8, 7, 4, 9, 6, 2] -> (sort subsequence [5, 4]) * *\n[4, 3, 8, 7, 5, 9, 6, 2] -> (skip) * *\n[4, 3, 8, 7, 5, 9, 6, 2] -> (sort subsequence [8, 6]) * *\n[4, 3, 6, 7, 5, 9, 8, 2] -> (sort subsequence [7, 2]) [4, 3, 8, 2, 5, 9, 6, 7] 再來算出第二個 gap 為 $8 / 2^2 = 2 $。開始 insertion sort。 * *\n[4, 3, 8, 2, 5, 9, 6, 7] -> (skip) * *\n[4, 3, 8, 2, 5, 9, 6, 7] -> (sort subsequence [3, 2]) * * *\n[4, 2, 8, 3, 5, 9, 6, 7] -> (sort subsequence [4, 8, 5]) * * *\n[4, 2, 5, 3, 8, 9, 6, 7] -> (skip) * * * *\n[4, 2, 5, 3, 8, 9, 6, 7] -> (sort subsequence [4, 5, 8, 6]) * * * *\n[4, 2, 5, 3, 6, 9, 8, 7] -> (sort subsequence [2, 3, 9, 7])\n[4, 2, 5, 3, 6, 7, 8, 9] 再來進行第三次排序。gap 為 $8 / 2^3 = 1 $,shellsort 退化至 insertion sort,但前一次結果已經很接近排序完成,insertion sort 可以幾乎在 one pass 完成排序。 Insertion sort 的 ASCII diagram 我們就不展示了,請參考 Insertion sort 。","breadcrumbs":"希爾排序 Shellsort » 說明","id":"81","title":"說明"},"82":{"body":"Complexity Worst $O(n^2) $ ~ $O(n \\log^2 n) $ (Depends on gap sequence) Best $O(n \\log n) $ Average Depends on gap sequence Worst space $O(1) $ auxiliary Shellsort 的複雜度不容易計算,取決於 gap sequence 怎麼安排,太少 gap 會讓速度太接近 insertion sort,太多 gap 則會有過多額外開銷。目前已知的 gap sequence 中,最差時間複雜度可以達到 $O(n \\log^2 n) $,有著不錯的表現。有興趣可以參考 這篇文章 。","breadcrumbs":"希爾排序 Shellsort » 效能","id":"82","title":"效能"},"83":{"body":"我們這裡以 Marcin 的 Paper 中提到的經驗式為例,首先,先建立一個 gap sequence 的常數。 /// Marcin Ciura's gap sequence.\npub const MARCIN_GAPS: [usize; 8] = [701, 301, 132, 57, 23, 10, 4, 1]; 再來就是主程式的部分,總共會有三個迴圈, 最外層是疊代 gap sequence, 中間層是疊代整個資料序列, 內層就是每個元素的插入排序動作。 /// Shellsort\npub fn shellsort(arr: &mut [i32]) { let len = arr.len(); for gap in MARCIN_GAPS.iter() { // 1 let mut i = *gap; // 4 while i < len { // 2 let mut j = i; while j >= *gap && arr[j - gap] > arr[j] { // 3 arr.swap(j - *gap, j); j -= *gap; } i += 1; } }\n} 最外層的迴圈,利用 iter() trait 產生疊代器,疊代 gap sequence。 中間層迴圈,控制 i 是否超出資料序列,以疊代整合資料序列。 最內層迴圈,執行插入動作,將每個元素置換到正確位置。 由於 gap 的型別是 &usize,需透過 *gap dereference 得到 usize 型別。","breadcrumbs":"希爾排序 Shellsort » 實作","id":"83","title":"實作"},"84":{"body":"Wiki: Shellsort Best Increments for the Average Case of Shellsort, M. Ciura, 2001 Shellsort and Sorting Networks (Outstanding Dissertations in the Computer Sciences)","breadcrumbs":"希爾排序 Shellsort » 參考資料","id":"84","title":"參考資料"},"85":{"body":"Heapsort(堆積排序)可以看作是 selection sort 的變形,同樣會將資料分為 sorted pile 與 unsorted pile,並在 unsorted pile 中尋找最大值(或最小值),加入 sorted pile 中。 和 selection sort 不同之處是,heapsort 利用 堆積(heap) 這種半排序(partially sorted)的資料結構輔助並加速排序。 Heapsort 的特性如下: 使用 heap 資料結構輔助,通常使用 binary heap 。 不穩定排序 :排序後,相同鍵值的元素相對位置可能改變。 原地排序 :不需額外花費儲存空間來排序。 較差的 CPU 快取 :heap 不連續存取位址的特性,不利於 CPU 快取 。","breadcrumbs":"堆積排序 Heapsort » 堆積排序 Heapsort","id":"85","title":"堆積排序 Heapsort"},"86":{"body":"Heapsort 的演算法分為兩大步驟: 將資料轉換為 heap 資料結構(遞增排序用 max-heap, 遞減排序選擇 min-heap)。 逐步取出最大/最小值,並與最後一個元素置換。具體步驟如下: 交換 heap 的 root 與最後一個 node,縮小 heap 的範圍(排序一筆資料,故 heap 長度 -1)。 更新剩下的資料,使其滿足 heap 的特性,稱為 heap ordering property。 重複前兩個步驟,直到 heap 中剩最後一個未排序的資料。 透過 GIF 動畫感受一下 heapsort 的威力吧!","breadcrumbs":"堆積排序 Heapsort » 步驟","id":"86","title":"步驟"},"87":{"body":"在開始之前,定義幾個 heap 常用名詞: Heap ordering property :一個 heap 必須要滿足的條件。以 heap 種類不同有幾種變形。 min-heap property :每個結點皆大於等於其父節點的值,且最小值在 heap root。 max-heap property :每個結點皆小於等於其父節點的值,且最大值在 heap root。 而 heapsort 主要分為兩個部分: Heapify :將陣列轉換為 heap 資料結構(heapify)。 Sorting :不斷置換 heap root 與最後一個元素來排序,並修正剩餘未排序資料使其符合 heap order。 這裡有一個未排序的序列,將以遞增方向排序之。 [17, 20, 2, 1, 3, 21] 首先,將資料轉換為 heap 資料結構,這個步驟即時 heapify 。由於是遞增排序,我們採用 max-heap(最大元素在 root)。 [21, 20, 17, 1, 3, 2] 對應的二元樹(binary tree)的圖形如下: 再來就是 排序的部分 ,Max-heap 會將最大的元素擺在 root 的位置,我們先將最後一個 node 與 root 進行交換,完成第一個排序步驟。 若不熟悉 heap,可以閱讀 Wiki 的介紹 ,其實 heap 就是用陣列實作的二元樹。 [21, 20, 17, 1, 3, 2] * *\n(swap) --> unsorted | sorted\n[2, 20, 17, 1, 3 | 21] 接下來,將未排序的資料區塊重整為符合 max-heap 的結構。 [2, 20, 17, 1, 3 | 21] (sift down) --> [20, 3, 17, 1, 2 | 21] 有沒有看出一些端倪? 只要不斷將 root 和最後一個 node 交換,並將剩餘資料修正至滿足 heap ordering,就完成排序了。 [20, 3, 17, 1, 2 | 21] * *\n(swap) --> [2, 3, 17, 1 | 20, 21] (sift down)--> [17, 3, 2, 1 | 20, 21] * *\n(swap) --> [1, 3, 2 | 17, 20, 21] (sift down)--> [3, 1, 2 | 17, 20, 21] * *\n(swap) --> [1, 2 | 3, 17, 20, 21] (Done!) 以上便是 heapsort 演算法的簡單流程,是不是和 selection sort 非常相似呢!","breadcrumbs":"堆積排序 Heapsort » 說明","id":"87","title":"說明"},"88":{"body":"Complexity Worst $O(n \\log n) $ Best $O(n \\log n) $ Average $O(n \\log n) $ Worst space $O(1) $ auxiliary Heapsort 最佳、最差、平均的時間複雜度皆為 $O(n \\log n) $,同樣分為兩部分簡單解釋。","breadcrumbs":"堆積排序 Heapsort » 效能","id":"88","title":"效能"},"89":{"body":"建立一個 binary heap 有兩種方法,一種是一個個元素慢慢加入 heap 來建立;另一種則是給定隨意的序列,再透過 heapify 演算法修正序列為有效的 heap。一般來說 heapsort 常用實作後者。 Heapify 是指將序列修正至符合 heap ordering 的序列。給定一個元素,假定其為非法的 heap order,而該元素之後的 subtree 視為符合 heap ordering property。欲修正這個在錯誤位置的元素,必須透過與其 children node 置換往下篩,這個往下篩的過程就稱為 sift down ,在 實作 一節會詳細解釋,這邊只要知道 sift down 會不斷將該元素與其 child node 比較,若不符合 heap order 則與 child node 置換,並繼續疊代每一個 level。所以 sift down 的時間複雜度為 $O(\\lceil {\\log_2(n)} \\rceil) = O(\\log n) $, $n $ 為陣列元素個數。 Heapify 從最末個元素開始反向疊代,每個元素都呼叫 sift_down 調整 heap 符合 heap ordering。總共要做 $n $ 次 sift_down 操作,但由於最後一層所以 leaf 已符合 heap order(因為沒有 child node),我們的迴圈可以跳過所有 leaf node 直接從非 leaf node 開始,因此複雜度為 $$\\lfloor n / 2 \\rfloor \\cdot O(\\log n) = O(n \\log n)$$ 實際上,build heap 步驟的複雜度可達到 $O(n) $,可以看看 UMD 演算法課程 Lecture note 的分析 。","breadcrumbs":"堆積排序 Heapsort » Build heap (heapify)","id":"89","title":"Build heap (heapify)"},"9":{"body":"漢明距離 Hamming distance 萊文斯坦距離 Levenshtein distance 🚧 最長共同子字串 Longest common substring","breadcrumbs":"Rust Algorithm Club » 字串處理","id":"9","title":"字串處理"},"90":{"body":"講完了 heapify,就換到排序部分,所謂的排序其實就是利用 max-heap(或 min-heap)的最大值(最小值)會在首個元素的特性,與最後一個元素置換,完成排序,並將剩餘的部分透過 sift down 修正符合 heap order。所以總共需要做 $n $ 次 sift down,複雜度為 $O(n \\log n) $。","breadcrumbs":"堆積排序 Heapsort » Sorting (sift down)","id":"90","title":"Sorting (sift down)"},"91":{"body":"綜合這兩部分,可以看出 Sorting part 對複雜度有決定性影響,最佳複雜度為 $O(n \\log n) $。","breadcrumbs":"堆積排序 Heapsort » Sum up","id":"91","title":"Sum up"},"92":{"body":"Heapsort 的實作相對簡單,只需要不斷呼叫 heap 內部的 sift_down 方法就可以完成排序。整個演算法架構如下: pub fn heapsort(arr: &mut [i32]) { // -- Heapify part -- // This procedure would build a valid max-heap. // (or min-heap for sorting descendantly) let end = arr.len(); for start in (0..end / 2).rev() { // 1 sift_down(arr, start, end - 1); } // -- Sorting part -- // Iteratively sift down unsorted part (the heap). for end in (1..arr.len()).rev() { // 2 arr.swap(end, 0); // 3 sift_down(arr, 0, end - 1); // 4 }\n} 這部分是 heapify,從最小 non-leaf node 開始(end / 2),修正序列至滿足 heap order,再反向疊代做 heapify。 這部分負責排序,每次疊代都將排序 heap 的 root 元素,步驟如 3 - 4: 不斷將 max-heap 中最大值(在 root 上)與 heap 最後一個元素 end 置換, 並利用 sift_down 將序列修正至 max-heap 資料結構,依照定義,此時 unsorted pile 首個元素成為 max-heap root,是最大值。 Heapsort 全靠 sift_down 神救援,那 sift_down 到底有什麼神奇魔力,一探究竟吧! fn sift_down(arr: &mut [i32], start: usize, end: usize) { let mut root = start; loop { let mut child = root * 2 + 1; // Get the left child // 1 if child > end { break; } if child + 1 <= end && arr[child] < arr[child + 1] { // 2 // Right child exists and is greater. child += 1; } if arr[root] < arr[child] { // 3 // If child is greater than root, swap'em! arr.swap(root, child); root = child; } else { break; } }\n} sift_down 的功能是將 node 往下移。通常用在 heap 刪除或取代 node 時,將序列修正為有效的 heap。 這裡實作的版本有三個參數: arr:欲修正為符合 heap 定義的序列。 start:欲往下移動的 node index,可視為需要被修正的元素。 end:此 node 以內(包含)的序列都會被修正為有效的 heap。 sift_down 有些假設條件:從 start index 出發的子樹,除了 start 本身以外,其他皆符合 heap ordering。 再來看看 sift_down 實作內容,loop 中幹的活就是不斷將 start index 上的元素與其子樹比較,若不符合 heap ordering,則兩者置換。 是否有子結點 :依照 binary heap 的定義找出 root 的左子樹(left substree),若左子樹的 index child 比 end 還大,表示沒有 heap 沒有子結點,停止疊代。 檢查右子樹值較大 :若 root 下有右子樹且較大,我們會標記右子樹,並在下一步對右子樹進行處理。 置換 :若 root 元素比 child 的元素小,則置換兩者,並將 child 設置為下個疊代的 root,繼續檢查最初的 start 元素是否滿足 heap ordering。 以上就是簡單的 sift_down 實作,也是整個 heapsort 的精髓。","breadcrumbs":"堆積排序 Heapsort » 實作","id":"92","title":"實作"},"93":{"body":"Wiki: Heap Wiki: Heapsort CMSC 351 Algorithms, Fall, 2011, University of Maryland. Sorting GIF by RolandH CC BY-SA-3.0 via Wikimedia Commons.","breadcrumbs":"堆積排序 Heapsort » 參考資料","id":"93","title":"參考資料"},"94":{"body":"Quicksort 是一個非常熱門且應用廣泛的排序法,相對簡單的實作就可達到 $O(n \\log n) $ 的平均時間複雜度。雖然最差時間複雜度與 bubble sort 同為 $O(n^2) $,但這種情形非常少見。簡單的最佳化實作下,Quicksort 僅需 $O(\\log n) $ 的額外儲存空間,比它的競爭對手 mergesort 來得節省。非常適合運用在真實世界中的排序法。 Quicksort 基本特性如下: 實作簡單,速度快。 不穩定排序 :排序後,相同鍵值的元素相對位置可能改變。 非原地排序 :除了資料本身,仍需額外花費儲存空間來排序。 分治演算法 :將主問題化作數個子問題,各個擊破。","breadcrumbs":"快速排序 Quicksort » 快速排序 Quicksort","id":"94","title":"快速排序 Quicksort"},"95":{"body":"Quicksort 是一個分治演算法(divide-and-conquer),不斷遞迴下列三個步驟: 選擇 Pivot :在序列中任意選擇一個元素,稱為 Pivot 。 分割序列 :將序列重新排序,分為兩部分,比 pivot 小 的元素置換到 pivot 之前,比 pivot 大的元素置換到 pivot 之後,而 pivot 本身會座落在它最終的正確位置。 遞迴 :分別將「比 pivot 小」及「比 pivot 大」兩部分重複上述步驟,直到新序列的長度小於等於 1,無法繼續分割為止,此時排序完成。","breadcrumbs":"快速排序 Quicksort » 步驟","id":"95","title":"步驟"},"96":{"body":"為了達成上述條件,Quicksort 有許多不同的分割序列實作方案(partition scheme),其中以 Lomuto partition 最易理解,常被做為教材。 以序列最後一個元素當做 pivot。 利用兩個指標 i j,其中 j 從頭疊代整個序列 若有序列第 j 個元素小於 pivot,則與第 i 個元素置換。 第 i 個元素已落在小於 pivot 的範圍,將 i 指標往後移一個,處理下個元素。 疊代完成後,小於 pivot 的元素全都置換至序列前端,此時將 pivot 與第 i 個元素置換,pivot 會剛好在最終正確位置上(符合不等式)。 ASCII 畫出來的分割圖如下: [ values <= pivot | values > pivot | not checked yet | pivot ] low i i+1 j-1 j high-1 high arr[low...i] 包含所有小於等於 pivot 的元素。 arr[i+1...j-1] 包含所有大於 pivot 的元素。 arr[j...high-1] 包含所有尚未疊代的元素。 arr[high] pivot 本身。","breadcrumbs":"快速排序 Quicksort » Lomuto partition scheme","id":"96","title":"Lomuto partition scheme"},"97":{"body":"以 Lomuto partition scheme 為例,使用 ASCII diagram 解釋。 給定一個序列,並選擇最後一個元素作為 pivot,i j 指標則在第一個元素位置。 * -> pivot\n[17, 20, 2, 1, 3, 21, 8] i j 第 j 個元素 17 大於 pivot 8,不置換。 17 > 8, no swap * -> pivot\n[17| 20, 2, 1, 3, 21, 8] i j 第 j 個元素 20 大於 pivot 8,不置換。 20 > 8, no swap * -> pivot\n[17, 20| 2, 1, 3, 21, 8] i j 第 j 個元素 2 小於 pivot 8,置換 i j。i 往後一個位置。 2 <= 8,\nswap i, j * -> pivot\n[2, 20, 17| 1, 3, 21, 8] i->i j 第 j 個元素 1 小於 pivot 8,置換 i j。i 往後一個位置。 1 <= 8\nswap i, j * -> pivot\n[2, 1, 17, 20| 3, 21, 8] i->i j 第 j 個元素 3 小於 pivot 8,置換 i j。i 往後一個位置。 3 <= 8\nswap i, j * -> pivot\n[2, 1, 3, 20, 17| 21, 8] i->i j 第 j 個元素 21 大於 pivot 8,不置換。 21 > 8, no swap * -> pivot\n[2, 1, 3, 20, 17, 21| 8] i j 最後,將 pivot 與第 i 個元素置換,此時 pivot 已在最終位置上,前面的元素皆小於等於 8,其後的元素皆大於 8。 swap pivot, i i <-> * -> pivot\n[2, 1, 3, 8, 17, 21, 20] 這樣就完成一次的 partition 了! 之後再遞迴分割 subarray 即可完成 Quicksort。 [2, 1, 3, 8, 17, 21, 20] # # * * | | | | ------- --------- quicksort quicksort","breadcrumbs":"快速排序 Quicksort » 說明","id":"97","title":"說明"},"98":{"body":"Complexity Worst $O(n^2) $ Best $O(n \\log n) $ Average $O(n \\log n) $ Worst space $O(\\log n) $ or $O(n) $ auxiliary","breadcrumbs":"快速排序 Quicksort » 效能","id":"98","title":"效能"},"99":{"body":"Quicksort 僅有「 選擇 Pivot 」與「 分割序列 」兩步驟,不同的實作的效能各異,也影響 Quicksort 的時間複雜度。 最差情況 最差的分割序列狀況發生在挑選的 pivot 總是最大或最小值(或在 Lomuto partition 下,所有元素值都一樣)。由於 Lomuto 總是選擇最後一個元素作為 pivot,這種情形好發於已排序或接近排序完成的資料上。 而當每次的 partition 都是最不平衡的分割序列,就會產生最差時間複雜度的狀況。遞迴在序列長度等於 1 時停止,因此整個排序法的 call stack 需要 $n - 1 $ 的嵌套遞迴呼叫(nested call);而第 $i $ 次分割會執行 $n - i $ 次基本操作( $O(n) $),所以總共需執行 $$\\sum_{i = 0}^n (n - i) = n^2 - \\frac{n(n + 1)}{2}$$ 次基本操作,最差時間複雜度為 $O(n^2) $。 最佳情況 既然最差情況發生在 pivot 總選到最大或最小值,反之,最佳情況則發生在每次 pivot 都可以順利選到序列的中位數(median),如此一來,每次遞迴分割的序列長度都會減半( $n / 2 $),call stack 的嵌套遞迴總共需要 $2 \\log_2{n} $ 次,序列的長度就會減至 1,而每次分割同樣有 $O(n) $ 的複雜度,因此最佳情況為: $$O(n \\cdot 2 \\log_2{n}) = O(n \\log n)$$","breadcrumbs":"快速排序 Quicksort » Time complexity","id":"99","title":"Time complexity"}},"length":297,"save":true},"fields":["title","body","breadcrumbs"],"index":{"body":{"root":{"0":{".":{".":{"=":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"289":{"tf":1.0}}}}}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"(":{")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{")":{")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{":":{":":{"<":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"_":{"df":1,"docs":{"289":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"c":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"236":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"92":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"67":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{")":{".":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"i":{"df":1,"docs":{"269":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"1":{"df":3,"docs":{"259":{"tf":1.0},"267":{"tf":1.0},"270":{"tf":1.0}}},"7":{"5":{"df":1,"docs":{"239":{"tf":1.0}}},"df":0,"docs":{}},"8":{"df":1,"docs":{"273":{"tf":1.0}}},"9":{"df":1,"docs":{"273":{"tf":1.0}}},"df":0,"docs":{}},"0":{"0":{"0":{"df":1,"docs":{"175":{"tf":1.0}}},"df":2,"docs":{"227":{"tf":2.0},"230":{"tf":1.0}}},"df":2,"docs":{"227":{"tf":2.0},"230":{"tf":1.0}}},"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":2,"docs":{"33":{"tf":1.4142135623730951},"44":{"tf":2.0}}}}}}},"b":{"0":{"0":{"0":{"0":{"df":1,"docs":{"179":{"tf":1.0}}},"1":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{},"(":{"0":{"df":1,"docs":{"175":{"tf":1.0}}},"df":0,"docs":{}}},"1":{"0":{"df":1,"docs":{"179":{"tf":1.0}}},"1":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"1":{"1":{"df":1,"docs":{"179":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"0":{"0":{"0":{"df":1,"docs":{"179":{"tf":1.0}}},"1":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}},"1":{"0":{"df":1,"docs":{"179":{"tf":1.0}}},"1":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"1":{"df":0,"docs":{},"(":{"7":{"df":1,"docs":{"175":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":49,"docs":{"102":{"tf":1.4142135623730951},"117":{"tf":1.4142135623730951},"118":{"tf":1.0},"119":{"tf":1.7320508075688772},"123":{"tf":1.0},"125":{"tf":3.3166247903554},"131":{"tf":1.7320508075688772},"132":{"tf":1.4142135623730951},"145":{"tf":1.4142135623730951},"147":{"tf":4.58257569495584},"149":{"tf":1.0},"151":{"tf":2.0},"159":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.4142135623730951},"175":{"tf":1.4142135623730951},"176":{"tf":2.449489742783178},"177":{"tf":1.4142135623730951},"179":{"tf":2.449489742783178},"18":{"tf":1.0},"181":{"tf":1.0},"196":{"tf":1.0},"197":{"tf":1.0},"198":{"tf":1.7320508075688772},"200":{"tf":1.0},"207":{"tf":1.4142135623730951},"227":{"tf":3.3166247903554},"230":{"tf":1.4142135623730951},"233":{"tf":1.7320508075688772},"236":{"tf":1.7320508075688772},"239":{"tf":1.4142135623730951},"253":{"tf":1.4142135623730951},"260":{"tf":1.0},"272":{"tf":1.0},"275":{"tf":1.0},"278":{"tf":2.0},"279":{"tf":1.0},"284":{"tf":1.4142135623730951},"285":{"tf":1.0},"286":{"tf":1.4142135623730951},"288":{"tf":1.0},"289":{"tf":1.0},"33":{"tf":1.4142135623730951},"42":{"tf":2.449489742783178},"48":{"tf":1.0},"54":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"76":{"tf":1.4142135623730951},"92":{"tf":1.4142135623730951}},"}":{"^":{"df":0,"docs":{},"n":{"df":1,"docs":{"99":{"tf":1.0}}}},"df":0,"docs":{}}},"1":{")":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"58":{"tf":1.0}}}},".":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"67":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"2":{"df":4,"docs":{"58":{"tf":1.0},"66":{"tf":1.0},"75":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}}}},",":{"2":{"df":1,"docs":{"256":{"tf":1.0}}},"df":0,"docs":{},"j":{"df":2,"docs":{"284":{"tf":2.0},"287":{"tf":1.4142135623730951}}}},".":{".":{"=":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"e":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"287":{"tf":1.4142135623730951},"288":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{")":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"92":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"59":{"tf":1.0},"61":{"tf":1.0},"76":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"76":{"tf":1.0}}}}}},"0":{".":{"0":{"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"6":{"df":1,"docs":{"240":{"tf":1.4142135623730951}}},"8":{"df":1,"docs":{"176":{"tf":1.0}}},"df":0,"docs":{}},"4":{"4":{"df":1,"docs":{"271":{"tf":1.0}}},"df":0,"docs":{}},"7":{"1":{"df":2,"docs":{"259":{"tf":1.0},"270":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"0":{"0":{"df":1,"docs":{"145":{"tf":1.0}}},"df":4,"docs":{"135":{"tf":1.0},"136":{"tf":1.0},"151":{"tf":1.0},"23":{"tf":1.0}}},"2":{".":{"0":{"3":{"6":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":13,"docs":{"135":{"tf":1.0},"136":{"tf":2.23606797749979},"14":{"tf":1.0},"145":{"tf":1.4142135623730951},"147":{"tf":1.0},"149":{"tf":1.4142135623730951},"151":{"tf":1.7320508075688772},"156":{"tf":1.0},"179":{"tf":1.4142135623730951},"274":{"tf":1.0},"42":{"tf":1.4142135623730951},"80":{"tf":1.4142135623730951},"83":{"tf":1.0}},"x":{"df":1,"docs":{"16":{"tf":1.0}}}},"1":{"7":{"df":1,"docs":{"251":{"tf":1.0}}},"8":{"df":1,"docs":{"251":{"tf":1.4142135623730951}}},"9":{"df":1,"docs":{"251":{"tf":1.0}}},"df":6,"docs":{"135":{"tf":1.0},"136":{"tf":1.0},"156":{"tf":1.4142135623730951},"179":{"tf":1.4142135623730951},"227":{"tf":2.23606797749979},"230":{"tf":1.0}}},"2":{"6":{"df":1,"docs":{"146":{"tf":1.0}}},"df":0,"docs":{}},"3":{"2":{"df":2,"docs":{"80":{"tf":1.0},"83":{"tf":1.0}}},"5":{"df":1,"docs":{"47":{"tf":1.0}}},"df":3,"docs":{"29":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"50":{"tf":1.7320508075688772}}},"4":{"1":{"df":1,"docs":{"47":{"tf":1.0}}},"df":2,"docs":{"136":{"tf":2.0},"42":{"tf":1.0}}},"5":{"df":4,"docs":{"29":{"tf":1.7320508075688772},"42":{"tf":1.0},"50":{"tf":1.7320508075688772},"80":{"tf":1.0}}},"6":{"$":{"df":0,"docs":{},",":{"df":0,"docs":{},"的":{"df":0,"docs":{},"位":{"df":0,"docs":{},"置":{"df":0,"docs":{},"已":{"df":0,"docs":{},"經":{"df":0,"docs":{},"超":{"df":0,"docs":{},"出":{"df":0,"docs":{},"序":{"df":0,"docs":{},"列":{"df":0,"docs":{},"長":{"df":0,"docs":{},"度":{"df":0,"docs":{},",":{"df":0,"docs":{},"因":{"df":0,"docs":{},"此":{"df":0,"docs":{},"取":{"df":0,"docs":{},"至":{"df":0,"docs":{},"序":{"df":0,"docs":{},"列":{"df":0,"docs":{},"最":{"df":0,"docs":{},"後":{"df":0,"docs":{},"一":{"df":0,"docs":{},"個":{"df":0,"docs":{},"數":{"df":0,"docs":{},"字":{"df":0,"docs":{},"作":{"df":0,"docs":{},"為":{"df":0,"docs":{},"比":{"df":0,"docs":{},"較":{"df":0,"docs":{},"對":{"df":0,"docs":{},"象":{"df":0,"docs":{},"。":{"2":{"5":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"df":1,"docs":{"262":{"tf":1.0}}},"7":{"0":{"df":1,"docs":{"147":{"tf":2.6457513110645907}}},"df":3,"docs":{"42":{"tf":1.4142135623730951},"87":{"tf":3.4641016151377544},"97":{"tf":3.3166247903554}}},"8":{"df":1,"docs":{"42":{"tf":1.0}}},"9":{"7":{"8":{"df":2,"docs":{"43":{"tf":1.0},"47":{"tf":1.0}}},"df":0,"docs":{}},"9":{"6":{"df":2,"docs":{"46":{"tf":1.0},"47":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":2,"docs":{"29":{"tf":1.0},"50":{"tf":1.7320508075688772}}},"]":{"[":{"df":0,"docs":{},"j":{"df":1,"docs":{"287":{"tf":2.0}}}},"df":0,"docs":{}},"^":{"2":{"df":1,"docs":{"230":{"tf":1.0}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"54":{"tf":1.0}}}}}}},"df":97,"docs":{"100":{"tf":1.0},"102":{"tf":2.23606797749979},"103":{"tf":1.4142135623730951},"105":{"tf":3.605551275463989},"107":{"tf":2.0},"108":{"tf":2.23606797749979},"111":{"tf":1.0},"112":{"tf":3.0},"114":{"tf":1.7320508075688772},"117":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"119":{"tf":2.23606797749979},"125":{"tf":5.0990195135927845},"127":{"tf":1.0},"131":{"tf":2.0},"132":{"tf":2.23606797749979},"135":{"tf":1.4142135623730951},"136":{"tf":2.0},"143":{"tf":1.0},"147":{"tf":1.4142135623730951},"15":{"tf":1.0},"151":{"tf":1.7320508075688772},"159":{"tf":1.0},"16":{"tf":1.0},"175":{"tf":3.0},"176":{"tf":2.8284271247461903},"179":{"tf":4.58257569495584},"180":{"tf":2.0},"181":{"tf":2.23606797749979},"182":{"tf":3.4641016151377544},"185":{"tf":2.0},"19":{"tf":1.0},"196":{"tf":1.0},"197":{"tf":1.0},"198":{"tf":1.7320508075688772},"200":{"tf":1.0},"203":{"tf":1.0},"206":{"tf":1.7320508075688772},"207":{"tf":2.0},"208":{"tf":1.4142135623730951},"210":{"tf":1.0},"211":{"tf":1.7320508075688772},"227":{"tf":2.6457513110645907},"228":{"tf":1.4142135623730951},"230":{"tf":1.4142135623730951},"233":{"tf":1.0},"234":{"tf":1.0},"236":{"tf":1.0},"238":{"tf":2.0},"239":{"tf":1.4142135623730951},"24":{"tf":1.0},"242":{"tf":1.0},"249":{"tf":1.0},"256":{"tf":1.4142135623730951},"260":{"tf":1.7320508075688772},"267":{"tf":1.4142135623730951},"268":{"tf":2.0},"269":{"tf":2.0},"272":{"tf":1.0},"278":{"tf":2.449489742783178},"279":{"tf":1.4142135623730951},"284":{"tf":3.7416573867739413},"285":{"tf":3.872983346207417},"287":{"tf":4.58257569495584},"288":{"tf":2.449489742783178},"289":{"tf":4.0},"29":{"tf":1.4142135623730951},"30":{"tf":2.23606797749979},"33":{"tf":2.23606797749979},"42":{"tf":2.23606797749979},"44":{"tf":3.1622776601683795},"46":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"53":{"tf":2.0},"54":{"tf":2.23606797749979},"58":{"tf":1.7320508075688772},"59":{"tf":2.0},"61":{"tf":1.7320508075688772},"65":{"tf":2.449489742783178},"66":{"tf":2.0},"67":{"tf":1.0},"72":{"tf":1.0},"75":{"tf":2.0},"76":{"tf":2.449489742783178},"78":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":2.23606797749979},"81":{"tf":1.0},"83":{"tf":1.7320508075688772},"86":{"tf":1.0},"87":{"tf":3.4641016151377544},"92":{"tf":2.8284271247461903},"95":{"tf":1.0},"96":{"tf":2.0},"97":{"tf":3.3166247903554},"99":{"tf":1.7320508075688772}},"f":{"6":{"4":{"df":2,"docs":{"267":{"tf":1.4142135623730951},"269":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"179":{"tf":1.0}}}}}},"}":{"df":0,"docs":{},"i":{"df":1,"docs":{"75":{"tf":1.0}}}},")":{"df":0,"docs":{},",":{"df":0,"docs":{},"加":{"df":0,"docs":{},"上":{"df":0,"docs":{},"刪":{"df":0,"docs":{},"除":{"df":0,"docs":{},"操":{"df":0,"docs":{},"作":{"df":0,"docs":{},"的":{"df":0,"docs":{},"成":{"df":0,"docs":{},"本":{"df":0,"docs":{},"(":{"1":{"df":1,"docs":{"285":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}},"插":{"df":0,"docs":{},"入":{"df":0,"docs":{},"操":{"df":0,"docs":{},"作":{"df":0,"docs":{},"的":{"df":0,"docs":{},"成":{"df":0,"docs":{},"本":{"df":0,"docs":{},"(":{"1":{"df":1,"docs":{"285":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}}}}}}}},",":{"df":0,"docs":{},"所":{"df":0,"docs":{},"以":{"df":0,"docs":{},"我":{"df":0,"docs":{},"們":{"df":0,"docs":{},"採":{"df":0,"docs":{},"取":{"df":0,"docs":{},"類":{"df":0,"docs":{},"似":{"df":0,"docs":{},"環":{"df":0,"docs":{},"繞":{"df":0,"docs":{},"算":{"df":0,"docs":{},"術":{"df":0,"docs":{},"運":{"df":0,"docs":{},"算":{"df":0,"docs":{},"(":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"175":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}},"2":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"92":{"tf":1.0}}}}}},"^":{"2":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"1":{"df":2,"docs":{"143":{"tf":1.0},"33":{"tf":1.0}}},"2":{"3":{"6":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"143":{"tf":1.4142135623730951},"33":{"tf":1.0}}},"3":{"df":1,"docs":{"33":{"tf":1.0}}},"5":{"df":1,"docs":{"122":{"tf":1.0}}},"df":0,"docs":{}},"0":{"0":{"1":{"df":1,"docs":{"84":{"tf":1.0}}},"df":0,"docs":{}},"1":{"1":{"df":3,"docs":{"122":{"tf":1.0},"244":{"tf":1.0},"93":{"tf":1.0}}},"2":{"df":1,"docs":{"274":{"tf":1.0}}},"4":{"df":1,"docs":{"275":{"tf":1.0}}},"7":{"df":1,"docs":{"13":{"tf":1.0}}},"8":{".":{"2":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"1":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{}},"df":8,"docs":{"106":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"256":{"tf":1.0},"29":{"tf":1.0},"50":{"tf":1.7320508075688772},"87":{"tf":3.4641016151377544},"97":{"tf":3.3166247903554}}},"1":{"(":{"7":{"df":1,"docs":{"47":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"87":{"tf":3.4641016151377544},"97":{"tf":3.3166247903554}}},"2":{"df":2,"docs":{"29":{"tf":1.0},"50":{"tf":3.1622776601683795}},"。":{"3":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{},"哎":{"df":0,"docs":{},"呀":{"df":0,"docs":{},",":{"$":{"2":{"^":{"4":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"3":{"df":5,"docs":{"29":{"tf":1.0},"42":{"tf":1.0},"50":{"tf":1.7320508075688772},"80":{"tf":1.4142135623730951},"83":{"tf":1.0}}},"4":{"df":5,"docs":{"147":{"tf":2.6457513110645907},"262":{"tf":1.0},"288":{"tf":1.0},"29":{"tf":1.0},"50":{"tf":1.7320508075688772}}},"5":{"3":{"df":1,"docs":{"240":{"tf":1.0}}},"4":{":":{"2":{"8":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"240":{"tf":1.0}}},"5":{":":{"3":{"3":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"240":{"tf":1.0}}},"df":3,"docs":{"274":{"tf":1.0},"29":{"tf":1.0},"50":{"tf":1.7320508075688772}}},"6":{"df":1,"docs":{"151":{"tf":1.0}}},"7":{"df":1,"docs":{"42":{"tf":3.4641016151377544}}},"8":{"df":2,"docs":{"136":{"tf":2.0},"42":{"tf":2.23606797749979}}},"9":{"df":2,"docs":{"16":{"tf":1.0},"42":{"tf":2.0}}},"^":{"0":{"$":{"df":0,"docs":{},",":{"$":{"2":{"^":{"1":{"df":1,"docs":{"37":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":2,"docs":{"48":{"tf":1.0},"50":{"tf":1.0}}},"1":{"$":{"df":0,"docs":{},"、":{"$":{"2":{"^":{"2":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},":":{"3":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}}},"df":1,"docs":{"81":{"tf":1.0}}},"2":{"$":{"df":0,"docs":{},":":{"6":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}}},"df":2,"docs":{"230":{"tf":1.0},"81":{"tf":1.0}}},"3":{"$":{"df":0,"docs":{},":":{"1":{"5":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":2,"docs":{"179":{"tf":1.0},"81":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":2,"docs":{"30":{"tf":1.7320508075688772},"48":{"tf":1.0}}},"n":{"$":{"df":0,"docs":{},",":{"df":0,"docs":{},"將":{"df":0,"docs":{},"邏":{"df":0,"docs":{},"輯":{"df":0,"docs":{},"索":{"df":0,"docs":{},"引":{"df":0,"docs":{},"映":{"df":0,"docs":{},"射":{"df":0,"docs":{},"到":{"df":0,"docs":{},"實":{"df":0,"docs":{},"際":{"df":0,"docs":{},"索":{"df":0,"docs":{},"引":{"df":0,"docs":{},",":{"df":0,"docs":{},"只":{"df":0,"docs":{},"要":{"df":0,"docs":{},"將":{"df":0,"docs":{},"索":{"df":0,"docs":{},"引":{"df":0,"docs":{},"和":{"df":0,"docs":{},"實":{"df":0,"docs":{},"際":{"df":0,"docs":{},"可":{"df":0,"docs":{},"用":{"df":0,"docs":{},"容":{"df":0,"docs":{},"量":{"df":0,"docs":{},"(":{"$":{"2":{"^":{"df":0,"docs":{},"n":{"df":1,"docs":{"179":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"df":3,"docs":{"179":{"tf":2.0},"181":{"tf":1.0},"37":{"tf":1.0}}},"x":{"df":1,"docs":{"43":{"tf":1.0}}},"{":{"4":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}},"\\":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"tf":1.0}},"{":{"df":0,"docs":{},"i":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{},"k":{"df":1,"docs":{"80":{"tf":1.0}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"{":{"df":0,"docs":{},"i":{"df":1,"docs":{"53":{"tf":1.0}}}}}}}}},"a":{"df":1,"docs":{"65":{"tf":2.6457513110645907}},"、":{"2":{"b":{"df":1,"docs":{"65":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"b":{"df":1,"docs":{"65":{"tf":2.449489742783178}}},"df":89,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"105":{"tf":1.0},"108":{"tf":1.0},"111":{"tf":1.4142135623730951},"112":{"tf":2.8284271247461903},"114":{"tf":1.0},"117":{"tf":1.4142135623730951},"118":{"tf":2.0},"119":{"tf":1.0},"125":{"tf":4.123105625617661},"131":{"tf":1.4142135623730951},"132":{"tf":1.4142135623730951},"136":{"tf":1.0},"143":{"tf":1.0},"147":{"tf":3.605551275463989},"151":{"tf":1.0},"153":{"tf":1.0},"16":{"tf":1.0},"175":{"tf":2.449489742783178},"176":{"tf":1.7320508075688772},"179":{"tf":3.1622776601683795},"18":{"tf":1.0},"180":{"tf":1.4142135623730951},"182":{"tf":2.0},"185":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"196":{"tf":1.0},"198":{"tf":1.4142135623730951},"200":{"tf":1.0},"203":{"tf":1.0},"206":{"tf":1.7320508075688772},"207":{"tf":1.4142135623730951},"208":{"tf":1.4142135623730951},"210":{"tf":1.0},"211":{"tf":1.4142135623730951},"227":{"tf":3.7416573867739413},"228":{"tf":1.4142135623730951},"230":{"tf":1.7320508075688772},"233":{"tf":1.0},"234":{"tf":1.0},"238":{"tf":1.4142135623730951},"239":{"tf":1.0},"249":{"tf":1.0},"256":{"tf":1.4142135623730951},"262":{"tf":1.0},"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.4142135623730951},"269":{"tf":1.0},"273":{"tf":1.0},"275":{"tf":1.0},"278":{"tf":1.0},"279":{"tf":1.0},"285":{"tf":2.449489742783178},"287":{"tf":2.0},"288":{"tf":1.0},"289":{"tf":1.0},"29":{"tf":3.0},"291":{"tf":1.0},"30":{"tf":1.7320508075688772},"33":{"tf":1.4142135623730951},"34":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.7320508075688772},"53":{"tf":1.0},"54":{"tf":1.7320508075688772},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"76":{"tf":1.4142135623730951},"81":{"tf":4.123105625617661},"83":{"tf":1.0},"87":{"tf":3.4641016151377544},"89":{"tf":1.0},"92":{"tf":2.0},"97":{"tf":3.3166247903554},"99":{"tf":1.7320508075688772}},"t":{"(":{"\\":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"2":{"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"x":{"^":{"2":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},")":{"df":0,"docs":{},",":{"df":0,"docs":{},"加":{"df":0,"docs":{},"上":{"df":0,"docs":{},"刪":{"df":0,"docs":{},"除":{"df":0,"docs":{},"操":{"df":0,"docs":{},"作":{"df":0,"docs":{},"的":{"df":0,"docs":{},"成":{"df":0,"docs":{},"本":{"df":0,"docs":{},"(":{"1":{"df":1,"docs":{"285":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}}}}}}},"3":{",":{"4":{"df":1,"docs":{"256":{"tf":1.0}}},"df":0,"docs":{}},".":{"0":{"df":12,"docs":{"190":{"tf":1.0},"225":{"tf":1.0},"244":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.4142135623730951},"62":{"tf":1.0},"64":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"77":{"tf":1.0},"93":{"tf":1.0}}},"1":{"df":3,"docs":{"143":{"tf":1.0},"238":{"tf":1.0},"44":{"tf":1.0}}},"2":{"df":3,"docs":{"143":{"tf":1.0},"238":{"tf":1.0},"44":{"tf":1.0}}},"3":{"df":1,"docs":{"44":{"tf":1.0}}},"4":{"df":1,"docs":{"244":{"tf":1.0}}},"df":0,"docs":{}},"/":{"4":{"df":1,"docs":{"231":{"tf":1.0}}},"df":0,"docs":{}},"0":{"1":{"df":2,"docs":{"80":{"tf":1.0},"83":{"tf":1.0}}},"df":2,"docs":{"15":{"tf":1.0},"42":{"tf":1.0}}},"1":{"df":2,"docs":{"42":{"tf":1.0},"80":{"tf":1.0}}},"2":{"df":2,"docs":{"14":{"tf":1.0},"236":{"tf":1.0}}},"3":{"3":{"df":2,"docs":{"227":{"tf":2.23606797749979},"230":{"tf":1.0}}},"df":0,"docs":{}},"4":{"4":{":":{"6":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"185":{"tf":1.0}}},"7":{":":{"5":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"185":{"tf":1.4142135623730951}}},"df":1,"docs":{"42":{"tf":1.7320508075688772}}},"5":{"1":{"df":2,"docs":{"122":{"tf":1.0},"93":{"tf":1.0}}},"3":{"df":1,"docs":{"185":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"6":{",":{"3":{"7":{"df":1,"docs":{"136":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"136":{"tf":1.4142135623730951}}},"7":{",":{"3":{"6":{"df":1,"docs":{"136":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"136":{"tf":1.4142135623730951}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"47":{"tf":1.0}}}}},"^":{"2":{"df":1,"docs":{"230":{"tf":1.0}}},"df":0,"docs":{}},"df":70,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"105":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.4142135623730951},"112":{"tf":2.8284271247461903},"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"125":{"tf":2.8284271247461903},"131":{"tf":1.4142135623730951},"132":{"tf":1.4142135623730951},"136":{"tf":1.0},"143":{"tf":1.0},"151":{"tf":1.0},"17":{"tf":1.0},"175":{"tf":2.23606797749979},"176":{"tf":1.4142135623730951},"179":{"tf":3.0},"180":{"tf":1.0},"182":{"tf":2.0},"185":{"tf":1.4142135623730951},"197":{"tf":1.0},"198":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.4142135623730951},"208":{"tf":2.449489742783178},"210":{"tf":1.0},"211":{"tf":1.4142135623730951},"227":{"tf":2.23606797749979},"230":{"tf":1.0},"233":{"tf":1.0},"234":{"tf":1.0},"236":{"tf":1.0},"238":{"tf":1.4142135623730951},"239":{"tf":1.0},"244":{"tf":1.0},"249":{"tf":1.0},"256":{"tf":1.0},"258":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.4142135623730951},"278":{"tf":1.0},"279":{"tf":1.0},"284":{"tf":1.7320508075688772},"285":{"tf":1.0},"287":{"tf":2.0},"288":{"tf":1.0},"289":{"tf":1.0},"29":{"tf":2.0},"30":{"tf":1.7320508075688772},"33":{"tf":1.0},"44":{"tf":1.4142135623730951},"50":{"tf":2.449489742783178},"54":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"61":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":2.449489742783178},"67":{"tf":1.0},"73":{"tf":5.830951894845301},"76":{"tf":1.4142135623730951},"80":{"tf":1.0},"81":{"tf":3.872983346207417},"83":{"tf":1.0},"87":{"tf":3.4641016151377544},"92":{"tf":1.7320508075688772},"97":{"tf":3.3166247903554}},"n":{"df":3,"docs":{"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"19":{"tf":1.7320508075688772}}},"、":{"4":{"df":0,"docs":{},"、":{"5":{"df":1,"docs":{"153":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"4":{".":{"0":{"df":1,"docs":{"13":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"5":{"df":1,"docs":{"147":{"tf":2.6457513110645907}}},"df":48,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"112":{"tf":2.8284271247461903},"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"125":{"tf":2.449489742783178},"132":{"tf":1.0},"136":{"tf":1.0},"143":{"tf":1.0},"147":{"tf":2.0},"151":{"tf":1.0},"17":{"tf":2.23606797749979},"175":{"tf":2.0},"176":{"tf":1.7320508075688772},"179":{"tf":2.449489742783178},"18":{"tf":1.0},"180":{"tf":1.7320508075688772},"185":{"tf":1.0},"19":{"tf":2.0},"207":{"tf":1.4142135623730951},"208":{"tf":1.4142135623730951},"210":{"tf":1.0},"211":{"tf":1.0},"236":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.0},"249":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"278":{"tf":1.0},"279":{"tf":1.0},"287":{"tf":1.4142135623730951},"289":{"tf":1.0},"29":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"44":{"tf":1.0},"52":{"tf":1.0},"57":{"tf":1.0},"65":{"tf":2.23606797749979},"73":{"tf":5.916079783099616},"76":{"tf":1.0},"80":{"tf":1.4142135623730951},"81":{"tf":4.123105625617661},"83":{"tf":1.4142135623730951},"92":{"tf":1.4142135623730951}},"n":{"^":{"2":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"109":{"tf":1.0},"244":{"tf":1.0}}}},",":{"df":0,"docs":{},"找":{"df":0,"docs":{},"尋":{"df":0,"docs":{},"第":{"df":0,"docs":{},"四":{"df":0,"docs":{},"個":{"df":0,"docs":{},"元":{"df":0,"docs":{},"素":{"df":0,"docs":{},"來":{"df":0,"docs":{},"比":{"df":0,"docs":{},"對":{"df":0,"docs":{},",":{"6":{"df":1,"docs":{"29":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}}}}},"看":{"df":0,"docs":{},"看":{"$":{"2":{"^":{"4":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"5":{".":{"4":{"7":{"7":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"0":{"df":1,"docs":{"47":{"tf":1.0}}},"3":{"df":1,"docs":{"47":{"tf":1.0}}},"df":0,"docs":{}},"7":{"df":2,"docs":{"80":{"tf":1.0},"83":{"tf":1.0}}},"df":22,"docs":{"112":{"tf":2.8284271247461903},"117":{"tf":1.0},"118":{"tf":1.0},"125":{"tf":3.4641016151377544},"147":{"tf":2.0},"15":{"tf":1.0},"151":{"tf":1.0},"17":{"tf":1.7320508075688772},"175":{"tf":1.7320508075688772},"179":{"tf":2.0},"180":{"tf":1.0},"19":{"tf":1.0},"207":{"tf":1.0},"211":{"tf":1.0},"239":{"tf":1.0},"262":{"tf":1.0},"279":{"tf":1.0},"287":{"tf":1.4142135623730951},"289":{"tf":1.0},"30":{"tf":1.4142135623730951},"73":{"tf":5.916079783099616},"81":{"tf":4.0}},"n":{"^":{"2":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"19":{"tf":1.0}}}},"6":{",":{"9":{"df":1,"docs":{"136":{"tf":1.4142135623730951}}},"df":0,"docs":{}},".":{"0":{"0":{"6":{"df":1,"docs":{"244":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"df":1,"docs":{"80":{"tf":1.0}}},"4":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"236":{"tf":1.0}}}}},"df":2,"docs":{"262":{"tf":1.0},"288":{"tf":1.0}}},"6":{"6":{"df":2,"docs":{"227":{"tf":2.449489742783178},"230":{"tf":1.0}}},"df":1,"docs":{"147":{"tf":2.6457513110645907}}},"df":15,"docs":{"112":{"tf":2.8284271247461903},"118":{"tf":1.0},"125":{"tf":1.4142135623730951},"136":{"tf":1.4142135623730951},"147":{"tf":2.0},"151":{"tf":1.0},"175":{"tf":1.4142135623730951},"179":{"tf":2.0},"239":{"tf":1.0},"279":{"tf":1.0},"289":{"tf":1.0},"29":{"tf":2.8284271247461903},"30":{"tf":1.4142135623730951},"50":{"tf":2.449489742783178},"81":{"tf":3.872983346207417}}},"7":{"0":{"1":{"df":2,"docs":{"80":{"tf":1.0},"83":{"tf":1.0}}},"df":0,"docs":{}},"1":{",":{"7":{"4":{"df":1,"docs":{"136":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"136":{"tf":1.4142135623730951}}},"4":{",":{"7":{"1":{"df":1,"docs":{"136":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"136":{"tf":1.4142135623730951}}},"5":{"%":{"$":{"df":0,"docs":{},"。":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":1,"docs":{"231":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":2,"docs":{"147":{"tf":2.6457513110645907},"231":{"tf":1.0}}},"df":16,"docs":{"112":{"tf":2.8284271247461903},"125":{"tf":1.4142135623730951},"147":{"tf":2.0},"175":{"tf":1.4142135623730951},"179":{"tf":1.7320508075688772},"227":{"tf":2.449489742783178},"230":{"tf":1.0},"262":{"tf":1.0},"270":{"tf":1.0},"289":{"tf":1.0},"29":{"tf":2.6457513110645907},"30":{"tf":1.7320508075688772},"50":{"tf":1.7320508075688772},"73":{"tf":5.916079783099616},"80":{"tf":1.0},"81":{"tf":3.872983346207417}}},"8":{".":{"0":{"4":{"6":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"2":{"df":1,"docs":{"147":{"tf":2.6457513110645907}}},"df":0,"docs":{}},"8":{"df":2,"docs":{"227":{"tf":2.449489742783178},"230":{"tf":1.0}}},"df":17,"docs":{"112":{"tf":2.8284271247461903},"125":{"tf":3.0},"146":{"tf":1.0},"147":{"tf":1.4142135623730951},"149":{"tf":1.0},"175":{"tf":1.4142135623730951},"179":{"tf":3.1622776601683795},"180":{"tf":1.0},"262":{"tf":1.4142135623730951},"287":{"tf":1.4142135623730951},"289":{"tf":1.0},"29":{"tf":1.4142135623730951},"42":{"tf":1.7320508075688772},"73":{"tf":5.830951894845301},"81":{"tf":4.358898943540674},"83":{"tf":1.0},"97":{"tf":4.795831523312719}},"、":{"9":{"df":0,"docs":{},"、":{"1":{"0":{"df":0,"docs":{},"、":{"1":{"1":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},",":{"8":{"df":1,"docs":{"73":{"tf":1.0}}},"df":0,"docs":{}}},"9":{"0":{"df":2,"docs":{"147":{"tf":2.6457513110645907},"231":{"tf":1.0}}},"1":{",":{"9":{"6":{"df":1,"docs":{"136":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"136":{"tf":1.4142135623730951}}},"5":{".":{"5":{"df":1,"docs":{"275":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"275":{"tf":1.0}}},"6":{",":{"9":{"1":{"df":1,"docs":{"136":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"136":{"tf":1.4142135623730951}}},"9":{"9":{"9":{"df":1,"docs":{"175":{"tf":1.0}}},"df":2,"docs":{"145":{"tf":1.0},"230":{"tf":1.0}}},"df":1,"docs":{"230":{"tf":1.0}}},"df":13,"docs":{"125":{"tf":2.449489742783178},"136":{"tf":1.4142135623730951},"145":{"tf":1.0},"147":{"tf":1.4142135623730951},"149":{"tf":1.0},"151":{"tf":1.4142135623730951},"179":{"tf":1.4142135623730951},"230":{"tf":1.0},"29":{"tf":3.0},"42":{"tf":2.0},"50":{"tf":1.7320508075688772},"52":{"tf":1.0},"81":{"tf":3.7416573867739413}}},"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"_":{"_":{"df":1,"docs":{"61":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"t":{"_":{"_":{"df":1,"docs":{"61":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":11,"docs":{"147":{"tf":5.830951894845301},"180":{"tf":3.605551275463989},"236":{"tf":1.0},"237":{"tf":1.4142135623730951},"238":{"tf":1.4142135623730951},"249":{"tf":1.0},"251":{"tf":1.0},"256":{"tf":1.0},"279":{"tf":1.0},"29":{"tf":5.656854249492381},"50":{"tf":1.4142135623730951}},"k":{"_":{"df":2,"docs":{"263":{"tf":1.0},"264":{"tf":1.0}}},"df":0,"docs":{}},"m":{"_":{"df":2,"docs":{"263":{"tf":1.0},"264":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":3,"docs":{"264":{"tf":1.0},"267":{"tf":1.0},"269":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"{":{"(":{"a":{"df":2,"docs":{"284":{"tf":1.4142135623730951},"287":{"tf":1.0}}},"df":0,"docs":{}},"a":{",":{"b":{"df":0,"docs":{},"}":{"(":{"df":0,"docs":{},"i":{",":{"df":0,"docs":{},"j":{"df":2,"docs":{"284":{"tf":1.7320508075688772},"287":{"tf":1.0}}}},"df":2,"docs":{"284":{"tf":2.0},"287":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":2,"docs":{"284":{"tf":1.4142135623730951},"287":{"tf":1.0}}},"j":{"df":2,"docs":{"284":{"tf":1.4142135623730951},"287":{"tf":1.0}}}}},"a":{"'":{"df":0,"docs":{},"、":{"b":{"df":1,"docs":{"41":{"tf":1.0}}},"df":0,"docs":{}}},"+":{"1":{"df":1,"docs":{"287":{"tf":1.0}}},"df":0,"docs":{}},".":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"210":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"k":{".":{"a":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},">":{"(":{"&":{"'":{"b":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"b":{"c":{"df":1,"docs":{"284":{"tf":1.0}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"288":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"162":{"tf":1.0},"172":{"tf":1.0},"245":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":4,"docs":{"173":{"tf":1.0},"187":{"tf":1.0},"192":{"tf":1.0},"207":{"tf":1.0}},")":{"df":0,"docs":{},"的":{"df":0,"docs":{},"執":{"df":0,"docs":{},"行":{"df":0,"docs":{},"時":{"df":0,"docs":{},"間":{"df":0,"docs":{},",":{"$":{"\\":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"df":0,"docs":{},"k":{"df":1,"docs":{"242":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{},"m":{"df":1,"docs":{"47":{"tf":1.0}}},"t":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"176":{"tf":1.0},"179":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"d":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"266":{"tf":1.0}}}},"k":{"df":1,"docs":{"241":{"tf":1.0}}}},"df":2,"docs":{"175":{"tf":2.0},"188":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":4,"docs":{"230":{"tf":1.7320508075688772},"242":{"tf":1.0},"244":{"tf":1.0},"274":{"tf":1.4142135623730951}},"p":{"df":1,"docs":{"274":{"tf":1.0}}}}}}}},"df":1,"docs":{"180":{"tf":1.0}},"v":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"180":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":2,"docs":{"274":{"tf":1.0},"275":{"tf":1.0}},"g":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"250":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"df":8,"docs":{"0":{"tf":1.7320508075688772},"107":{"tf":1.0},"109":{"tf":1.4142135623730951},"122":{"tf":1.0},"162":{"tf":1.0},"244":{"tf":1.4142135623730951},"39":{"tf":1.0},"93":{"tf":1.0}}}}}}}}},"i":{"a":{"df":1,"docs":{"234":{"tf":1.0}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"o":{"c":{"(":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"176":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":1,"docs":{"176":{"tf":2.449489742783178}},"、":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"、":{"d":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"176":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"w":{"df":1,"docs":{"276":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"h":{"a":{"$":{"df":0,"docs":{},",":{"$":{"\\":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"a":{"df":1,"docs":{"275":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"103":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":4,"docs":{"144":{"tf":1.0},"189":{"tf":1.0},"241":{"tf":1.0},"257":{"tf":1.0}}}}},"q":{"df":1,"docs":{"275":{"tf":1.0}},",":{"df":0,"docs":{},"為":{"df":0,"docs":{},"了":{"df":0,"docs":{},"節":{"df":0,"docs":{},"省":{"df":0,"docs":{},"空":{"df":0,"docs":{},"間":{"df":0,"docs":{},"使":{"df":0,"docs":{},"用":{"df":0,"docs":{},"量":{"df":0,"docs":{},",":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"274":{"tf":1.0}}}}}}}}}}}}}}}}}}}},"n":{"^":{"2":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":3,"docs":{"140":{"tf":1.0},"144":{"tf":1.0},"22":{"tf":1.0}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"46":{"tf":1.0},"47":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"47":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":1,"docs":{"185":{"tf":1.7320508075688772}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"256":{"tf":1.0}}}}}}}}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"176":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"i":{"df":11,"docs":{"0":{"tf":1.0},"153":{"tf":1.0},"163":{"tf":1.0},"173":{"tf":1.0},"200":{"tf":1.0},"226":{"tf":1.0},"245":{"tf":1.0},"259":{"tf":1.0},"269":{"tf":1.0},"277":{"tf":1.0},"282":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"139":{"tf":1.0},"214":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"185":{"tf":1.0}}}}},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"266":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"175":{"tf":1.0},"179":{"tf":1.4142135623730951},"268":{"tf":1.0}}}}}}}},"r":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"117":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"t":{"df":3,"docs":{"131":{"tf":1.0},"132":{"tf":1.0},"143":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"x":{"df":1,"docs":{"25":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":10,"docs":{"102":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"33":{"tf":1.0},"44":{"tf":1.4142135623730951},"54":{"tf":1.0},"67":{"tf":1.0},"76":{"tf":1.0},"83":{"tf":1.0},"92":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"92":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"df":5,"docs":{"103":{"tf":1.4142135623730951},"107":{"tf":1.0},"108":{"tf":1.0},"67":{"tf":1.0},"76":{"tf":1.4142135623730951}}},"j":{"df":3,"docs":{"59":{"tf":1.0},"61":{"tf":1.0},"83":{"tf":1.0}}},"k":{"df":1,"docs":{"107":{"tf":1.0}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"92":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"(":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"132":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"117":{"tf":1.0},"118":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"1":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"119":{"tf":1.4142135623730951}}}}}},"[":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"119":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"、":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"2":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"2":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"119":{"tf":1.4142135623730951}}}}}},"[":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"119":{"tf":1.4142135623730951}}}}}}}},"df":1,"docs":{"119":{"tf":1.0}}},"[":{".":{".":{"df":0,"docs":{},"i":{"]":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"(":{"&":{"df":0,"docs":{},"v":{"df":1,"docs":{"61":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"61":{"tf":1.0}}},"m":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"117":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"1":{"0":{"0":{"0":{"df":1,"docs":{"145":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"8":{"df":1,"docs":{"42":{"tf":1.0}}},"9":{"df":1,"docs":{"42":{"tf":1.0}}},"b":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"33":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"92":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":4,"docs":{"103":{"tf":1.0},"107":{"tf":1.0},"44":{"tf":2.0},"54":{"tf":1.4142135623730951}},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"96":{"tf":1.0}}}}}},"i":{"+":{"1":{".":{".":{".":{"df":0,"docs":{},"j":{"df":1,"docs":{"96":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},".":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"]":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"[":{"df":0,"docs":{},"i":{".":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":1,"docs":{"118":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":3,"docs":{"108":{"tf":1.0},"61":{"tf":1.0},"76":{"tf":2.0}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}}}}}}}},"j":{".":{".":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"96":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":6,"docs":{"103":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"59":{"tf":1.4142135623730951},"67":{"tf":1.0},"83":{"tf":1.4142135623730951}}},"l":{"df":0,"docs":{},"o":{"df":2,"docs":{"108":{"tf":1.0},"44":{"tf":2.0}},"w":{".":{".":{".":{"df":0,"docs":{},"i":{"df":1,"docs":{"96":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"m":{"df":0,"docs":{},"i":{"d":{".":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":1,"docs":{"118":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":2,"docs":{"117":{"tf":1.4142135623730951},"33":{"tf":1.0}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"132":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"92":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"67":{"tf":1.0}}}}}}},"a":{"df":1,"docs":{"132":{"tf":1.0}},"y":{"[":{"0":{"df":1,"docs":{"125":{"tf":1.0}}},"1":{"df":1,"docs":{"125":{"tf":1.0}}},"2":{"df":1,"docs":{"125":{"tf":1.0}}},"3":{"df":1,"docs":{"125":{"tf":1.0}}},"4":{"df":1,"docs":{"125":{"tf":1.0}}},"5":{"df":1,"docs":{"125":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"187":{"tf":1.0}}}}},"df":0,"docs":{}}}},"_":{"df":0,"docs":{},"s":{"df":1,"docs":{"228":{"tf":1.4142135623730951}}}},"df":32,"docs":{"112":{"tf":1.0},"117":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"119":{"tf":1.4142135623730951},"123":{"tf":1.4142135623730951},"125":{"tf":1.0},"127":{"tf":1.4142135623730951},"128":{"tf":1.4142135623730951},"131":{"tf":1.7320508075688772},"132":{"tf":1.0},"136":{"tf":2.23606797749979},"139":{"tf":1.0},"140":{"tf":1.4142135623730951},"143":{"tf":1.0},"145":{"tf":1.0},"147":{"tf":1.0},"153":{"tf":1.0},"163":{"tf":1.0},"20":{"tf":1.4142135623730951},"225":{"tf":1.0},"227":{"tf":1.4142135623730951},"230":{"tf":1.7320508075688772},"231":{"tf":1.0},"234":{"tf":1.4142135623730951},"236":{"tf":1.0},"238":{"tf":1.0},"242":{"tf":1.0},"260":{"tf":1.0},"262":{"tf":2.449489742783178},"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0}},")":{"df":0,"docs":{},"、":{"df":0,"docs":{},"映":{"df":0,"docs":{},"射":{"df":0,"docs":{},"(":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},")":{"df":0,"docs":{},"、":{"df":0,"docs":{},"表":{"df":0,"docs":{},"(":{"df":0,"docs":{},"t":{"df":1,"docs":{"216":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}}}}},",":{"df":0,"docs":{},"而":{"df":0,"docs":{},"是":{"df":0,"docs":{},"在":{"df":0,"docs":{},"堆":{"df":0,"docs":{},"積":{"df":0,"docs":{},"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}}}},"df":8,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"130":{"tf":1.4142135623730951},"132":{"tf":1.4142135623730951},"143":{"tf":1.4142135623730951},"151":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"92":{"tf":1.0}}}},"s":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"i":{"df":10,"docs":{"112":{"tf":1.0},"136":{"tf":1.0},"175":{"tf":1.0},"196":{"tf":1.0},"230":{"tf":1.0},"279":{"tf":1.0},"73":{"tf":1.0},"81":{"tf":1.4142135623730951},"96":{"tf":1.0},"97":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"!":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"187":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"187":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":3,"docs":{"119":{"tf":1.0},"185":{"tf":1.0},"207":{"tf":1.4142135623730951}}}}},"o":{"c":{"df":0,"docs":{},"i":{"df":4,"docs":{"185":{"tf":1.0},"211":{"tf":1.0},"216":{"tf":1.0},"225":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"228":{"tf":1.0},"230":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":4,"docs":{"1":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0},"260":{"tf":1.0}}}}}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"262":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"210":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"188":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"185":{"tf":1.0}}}}}}},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":11,"docs":{"113":{"tf":1.0},"126":{"tf":1.0},"128":{"tf":1.0},"137":{"tf":1.0},"148":{"tf":1.0},"58":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":1.0},"88":{"tf":1.0},"98":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"g":{"df":15,"docs":{"113":{"tf":1.0},"126":{"tf":1.0},"137":{"tf":1.0},"148":{"tf":1.0},"24":{"tf":1.0},"30":{"tf":1.0},"43":{"tf":1.4142135623730951},"51":{"tf":1.0},"58":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":1.0},"84":{"tf":1.0},"88":{"tf":1.0},"98":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"i":{"df":2,"docs":{"43":{"tf":1.0},"47":{"tf":1.0}}}},"o":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"107":{"tf":1.0},"118":{"tf":1.0}}},"df":0,"docs":{}}}},"、":{"b":{"df":1,"docs":{"285":{"tf":1.0}}},"df":0,"docs":{}},",":{"a":{"df":1,"docs":{"208":{"tf":1.0}}},"df":0,"docs":{}}},"b":{"+":{"1":{"df":1,"docs":{"287":{"tf":1.0}}},"df":0,"docs":{}},".":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"210":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},">":{"(":{"&":{"'":{"a":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"k":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"181":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":7,"docs":{"117":{"tf":1.4142135623730951},"118":{"tf":1.0},"119":{"tf":1.0},"178":{"tf":1.0},"181":{"tf":1.0},"189":{"tf":1.0},"207":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{".":{".":{"df":0,"docs":{},"s":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}},"df":5,"docs":{"111":{"tf":1.0},"117":{"tf":1.0},"184":{"tf":1.0},"234":{"tf":1.0},"33":{"tf":2.449489742783178}}}}},"df":18,"docs":{"125":{"tf":2.6457513110645907},"139":{"tf":1.4142135623730951},"185":{"tf":1.7320508075688772},"207":{"tf":2.449489742783178},"208":{"tf":1.7320508075688772},"210":{"tf":1.0},"240":{"tf":1.7320508075688772},"250":{"tf":3.1622776601683795},"251":{"tf":2.0},"253":{"tf":1.7320508075688772},"255":{"tf":1.4142135623730951},"256":{"tf":3.4641016151377544},"284":{"tf":2.6457513110645907},"285":{"tf":1.4142135623730951},"287":{"tf":2.0},"289":{"tf":1.7320508075688772},"290":{"tf":1.0},"41":{"tf":2.0}},"e":{"df":1,"docs":{"210":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"176":{"tf":1.0},"180":{"tf":1.4142135623730951}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"{":{"c":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"114":{"tf":1.0},"284":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"274":{"tf":1.0}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"df":21,"docs":{"113":{"tf":1.0},"126":{"tf":1.0},"137":{"tf":1.0},"139":{"tf":1.0},"148":{"tf":1.0},"161":{"tf":1.0},"171":{"tf":1.0},"189":{"tf":1.0},"24":{"tf":1.0},"241":{"tf":1.0},"257":{"tf":1.0},"30":{"tf":1.0},"43":{"tf":1.0},"51":{"tf":1.0},"58":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":1.0},"84":{"tf":1.0},"88":{"tf":1.0},"98":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"260":{"tf":1.0},"275":{"tf":1.0},"276":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"44":{"tf":1.0}}}}}}}},"f":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"\"":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"264":{"tf":1.0}}}}}}},"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"264":{"tf":1.0}}}}}}}},"&":{"1":{"df":1,"docs":{"264":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"!":{"[":{"3":{".":{"1":{"4":{"1":{"5":{"9":{"df":1,"docs":{"264":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":1,"docs":{"264":{"tf":1.4142135623730951}}},"i":{"df":0,"docs":{},"g":{"df":7,"docs":{"10":{"tf":1.4142135623730951},"162":{"tf":1.0},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"19":{"tf":1.7320508075688772},"20":{"tf":1.0},"22":{"tf":1.4142135623730951}}},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":12,"docs":{"117":{"tf":1.0},"20":{"tf":1.0},"27":{"tf":1.4142135623730951},"3":{"tf":1.0},"38":{"tf":1.4142135623730951},"39":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":2.23606797749979},"85":{"tf":1.0},"87":{"tf":1.0},"89":{"tf":1.0},"92":{"tf":1.0}}},"y":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}}},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"(":{"&":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"[":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{".":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"54":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{">":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":2,"docs":{"32":{"tf":1.0},"33":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"_":{"b":{"df":0,"docs":{},"i":{"df":1,"docs":{"143":{"tf":1.0}}}},"df":0,"docs":{}},"df":2,"docs":{"32":{"tf":1.0},"61":{"tf":2.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"d":{"df":1,"docs":{"217":{"tf":1.0}}},"df":1,"docs":{"134":{"tf":1.0}}},"t":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"/":{"c":{"a":{"a":{"b":{"7":{"df":0,"docs":{},"f":{"b":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":9,"docs":{"255":{"tf":1.0},"260":{"tf":1.0},"262":{"tf":3.3166247903554},"263":{"tf":1.7320508075688772},"264":{"tf":1.7320508075688772},"267":{"tf":1.7320508075688772},"269":{"tf":1.4142135623730951},"271":{"tf":1.0},"275":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"255":{"tf":1.0}}}}}}},"<":{"&":{"'":{"b":{"df":1,"docs":{"255":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"255":{"tf":1.7320508075688772}}}},"s":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"267":{"tf":1.7320508075688772},"269":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":3,"docs":{"179":{"tf":1.0},"255":{"tf":1.0},"54":{"tf":1.0}}}}}}},"l":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"227":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"176":{"tf":1.0},"185":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"\"":{"1":{"2":{"3":{"4":{"df":1,"docs":{"265":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}}}},"df":18,"docs":{"224":{"tf":1.0},"259":{"tf":3.1622776601683795},"260":{"tf":2.0},"262":{"tf":1.0},"264":{"tf":1.4142135623730951},"265":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.0},"269":{"tf":1.0},"270":{"tf":1.0},"271":{"tf":2.6457513110645907},"272":{"tf":3.0},"273":{"tf":2.449489742783178},"274":{"tf":1.0},"275":{"tf":1.4142135623730951},"276":{"tf":2.23606797749979},"8":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":6,"docs":{"262":{"tf":2.6457513110645907},"263":{"tf":2.0},"264":{"tf":1.7320508075688772},"265":{"tf":1.0},"266":{"tf":1.0},"276":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"263":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"263":{"tf":1.0}}}}},"df":0,"docs":{}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":2,"docs":{"264":{"tf":1.4142135623730951},"267":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{"df":3,"docs":{"264":{"tf":2.0},"265":{"tf":1.4142135623730951},"269":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}}}}}},"n":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"o":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"185":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"227":{"tf":1.0}}},"l":{"df":10,"docs":{"157":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.0},"212":{"tf":1.0},"249":{"tf":2.0},"253":{"tf":1.7320508075688772},"256":{"tf":1.7320508075688772},"262":{"tf":1.7320508075688772},"269":{"tf":1.7320508075688772},"33":{"tf":1.0}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"<":{"df":0,"docs":{},"q":{"df":3,"docs":{"237":{"tf":1.0},"238":{"tf":1.0},"249":{"tf":1.4142135623730951}}}},"df":5,"docs":{"185":{"tf":1.4142135623730951},"211":{"tf":1.4142135623730951},"237":{"tf":2.0},"251":{"tf":2.6457513110645907},"252":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"285":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"54":{"tf":1.0}}}}},"df":6,"docs":{"118":{"tf":1.4142135623730951},"185":{"tf":1.4142135623730951},"187":{"tf":1.7320508075688772},"265":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"67":{"tf":1.0}},"?":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"67":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"x":{":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"211":{"tf":1.0}}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"207":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"202":{"tf":1.0},"211":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"202":{"tf":1.0}}}},"df":3,"docs":{"195":{"tf":1.0},"202":{"tf":1.0},"210":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"233":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":4,"docs":{"279":{"tf":1.0},"44":{"tf":2.0},"76":{"tf":1.0},"92":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"u":{"b":{"b":{"df":0,"docs":{},"l":{"df":8,"docs":{"20":{"tf":1.0},"4":{"tf":1.0},"71":{"tf":1.7320508075688772},"73":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"77":{"tf":1.0},"94":{"tf":1.0}},"e":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"76":{"tf":1.0}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"d":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"76":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{".":{"c":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"(":{"&":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"143":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"237":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"(":{"df":0,"docs":{},"|":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"238":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"238":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"(":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"238":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{")":{".":{"1":{"df":1,"docs":{"238":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"143":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"143":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"h":{"df":1,"docs":{"142":{"tf":1.7320508075688772}}},"k":{"df":1,"docs":{"234":{"tf":1.0}}}},"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"239":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"235":{"tf":1.0}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"h":{"df":1,"docs":{"143":{"tf":1.0}}}},"df":2,"docs":{"142":{"tf":1.0},"143":{"tf":1.4142135623730951}}}}}}},"df":28,"docs":{"123":{"tf":1.0},"134":{"tf":2.0},"135":{"tf":1.4142135623730951},"136":{"tf":2.0},"137":{"tf":1.0},"138":{"tf":2.0},"139":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"142":{"tf":2.6457513110645907},"143":{"tf":3.0},"144":{"tf":2.0},"145":{"tf":1.4142135623730951},"147":{"tf":1.7320508075688772},"149":{"tf":1.4142135623730951},"150":{"tf":1.0},"227":{"tf":1.7320508075688772},"230":{"tf":1.4142135623730951},"231":{"tf":1.4142135623730951},"234":{"tf":3.4641016151377544},"235":{"tf":2.0},"236":{"tf":2.6457513110645907},"237":{"tf":1.7320508075688772},"238":{"tf":2.23606797749979},"239":{"tf":1.7320508075688772},"240":{"tf":1.0},"242":{"tf":2.0},"274":{"tf":1.0},"4":{"tf":1.0}},"s":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"_":{"b":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"|":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"143":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"236":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"]":{".":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"143":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"、":{"df":0,"docs":{},"s":{"c":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"、":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":1,"docs":{"143":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},",":{"df":0,"docs":{},"並":{"df":0,"docs":{},"考":{"df":0,"docs":{},"慮":{"df":0,"docs":{},"平":{"df":0,"docs":{},"攤":{"df":0,"docs":{},"分":{"df":0,"docs":{},"析":{"df":0,"docs":{},"(":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"140":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"174":{"tf":1.0},"175":{"tf":1.4142135623730951},"180":{"tf":1.4142135623730951},"190":{"tf":1.4142135623730951}}}}}},"g":{"df":2,"docs":{"15":{"tf":1.7320508075688772},"16":{"tf":1.0}},",":{"df":0,"docs":{},"有":{"df":0,"docs":{},"的":{"df":0,"docs":{},"工":{"df":0,"docs":{},"程":{"df":0,"docs":{},"師":{"df":0,"docs":{},"連":{"df":0,"docs":{},"續":{"df":0,"docs":{},"工":{"df":0,"docs":{},"作":{"df":0,"docs":{},"後":{"df":0,"docs":{},"效":{"df":0,"docs":{},"率":{"df":0,"docs":{},"大":{"df":0,"docs":{},"幅":{"df":0,"docs":{},"滑":{"df":0,"docs":{},"落":{"df":0,"docs":{},"。":{"df":0,"docs":{},"每":{"df":0,"docs":{},"個":{"df":0,"docs":{},"工":{"df":0,"docs":{},"程":{"df":0,"docs":{},"師":{"df":0,"docs":{},"的":{"df":0,"docs":{},"除":{"df":0,"docs":{},"蟲":{"df":0,"docs":{},"效":{"df":0,"docs":{},"率":{"df":0,"docs":{},"可":{"df":0,"docs":{},"以":{"df":0,"docs":{},"畫":{"df":0,"docs":{},"成":{"df":0,"docs":{},"「":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"15":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"df":0,"docs":{},"l":{"d":{"df":4,"docs":{"0":{"tf":1.0},"267":{"tf":1.0},"89":{"tf":1.4142135623730951},"92":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"276":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":3,"docs":{"116":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0}}}}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":4,"docs":{"147":{"tf":1.0},"149":{"tf":1.0},"236":{"tf":1.0},"287":{"tf":1.0}}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"152":{"tf":1.0}}},"df":0,"docs":{}}}}},",":{"b":{"df":1,"docs":{"208":{"tf":1.0}}},"df":0,"docs":{}},":":{"a":{"df":1,"docs":{"256":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"c":{".":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"210":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"1":{"df":1,"docs":{"279":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"279":{"tf":1.4142135623730951}}},"_":{"0":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"139":{"tf":1.0}}}},"df":1,"docs":{"139":{"tf":1.4142135623730951}},"n":{"df":1,"docs":{"139":{"tf":1.0}}}},"1":{"df":1,"docs":{"139":{"tf":1.7320508075688772}},"k":{"df":1,"docs":{"139":{"tf":1.0}}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"h":{"df":6,"docs":{"21":{"tf":1.0},"218":{"tf":1.0},"230":{"tf":1.7320508075688772},"259":{"tf":1.0},"271":{"tf":1.0},"274":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":5,"docs":{"131":{"tf":1.0},"132":{"tf":1.0},"176":{"tf":1.0},"276":{"tf":1.0},"44":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":7,"docs":{"100":{"tf":1.7320508075688772},"105":{"tf":2.23606797749979},"115":{"tf":1.0},"180":{"tf":1.0},"210":{"tf":2.23606797749979},"211":{"tf":1.0},"99":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"176":{"tf":1.0}}}}}},"p":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"179":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"a":{"c":{"df":5,"docs":{"176":{"tf":1.0},"239":{"tf":1.7320508075688772},"262":{"tf":1.0},"267":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"159":{"tf":1.0}}}}}},"df":3,"docs":{"176":{"tf":2.23606797749979},"180":{"tf":1.0},"188":{"tf":1.0}}},"r":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"256":{"tf":1.4142135623730951}}}}},"df":1,"docs":{"233":{"tf":1.4142135623730951}},"e":{"df":1,"docs":{"176":{"tf":1.0}}},"g":{"df":0,"docs":{},"o":{"df":2,"docs":{"291":{"tf":1.0},"294":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":7,"docs":{"111":{"tf":1.0},"138":{"tf":1.0},"139":{"tf":1.0},"189":{"tf":1.4142135623730951},"241":{"tf":1.4142135623730951},"257":{"tf":1.4142135623730951},"84":{"tf":1.0}},")":{"df":0,"docs":{},",":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"d":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"117":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":1,"docs":{"190":{"tf":1.0}}}}}}}}},"c":{"df":14,"docs":{"122":{"tf":1.0},"13":{"tf":1.0},"190":{"tf":1.0},"225":{"tf":1.0},"244":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.4142135623730951},"62":{"tf":1.0},"64":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"77":{"tf":1.0},"93":{"tf":1.0}}},"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":16,"docs":{"139":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"149":{"tf":1.0},"150":{"tf":1.4142135623730951},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.4142135623730951},"230":{"tf":1.0},"273":{"tf":1.0},"290":{"tf":1.0},"30":{"tf":1.0},"42":{"tf":1.7320508075688772},"58":{"tf":2.23606797749979},"66":{"tf":1.0},"89":{"tf":1.0},"99":{"tf":1.0}}}}},"df":8,"docs":{"119":{"tf":1.0},"125":{"tf":2.449489742783178},"16":{"tf":1.4142135623730951},"180":{"tf":1.0},"205":{"tf":1.0},"210":{"tf":1.0},"256":{"tf":1.0},"58":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"114":{"tf":1.0}}}}},"h":{"1":{"df":2,"docs":{"287":{"tf":2.0},"289":{"tf":1.4142135623730951}}},"2":{"df":2,"docs":{"287":{"tf":2.0},"289":{"tf":1.4142135623730951}}},"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"230":{"tf":2.0},"234":{"tf":1.4142135623730951},"242":{"tf":1.0},"243":{"tf":1.0},"251":{"tf":1.0},"274":{"tf":1.4142135623730951}}}},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"185":{"tf":1.0},"288":{"tf":1.0}}}},"r":{"df":2,"docs":{"287":{"tf":1.0},"289":{"tf":1.0}},"t":{"df":1,"docs":{"175":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"162":{"tf":1.0},"20":{"tf":1.0}},"s":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"118":{"tf":1.0},"96":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"251":{"tf":1.0},"252":{"tf":1.0}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"89":{"tf":1.7320508075688772},"92":{"tf":3.4641016151377544}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"89":{"tf":1.0}}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"103":{"tf":1.0}}}}},"z":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"12":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"259":{"tf":1.0}}}}}}}}},"i":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"190":{"tf":1.4142135623730951},"198":{"tf":1.0},"7":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"r":{"a":{"'":{"df":1,"docs":{"83":{"tf":1.0}}},"df":2,"docs":{"80":{"tf":1.0},"84":{"tf":1.0}}},"df":0,"docs":{}}}},"j":{"df":0,"docs":{},"k":{"df":1,"docs":{"287":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"204":{"tf":1.0},"235":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"294":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":7,"docs":{"130":{"tf":1.4142135623730951},"132":{"tf":1.0},"143":{"tf":1.4142135623730951},"151":{"tf":1.0},"251":{"tf":1.4142135623730951},"255":{"tf":1.7320508075688772},"268":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"240":{"tf":1.0},"251":{"tf":3.7416573867739413},"288":{"tf":1.0}},"e":{"@":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"/":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"2":{"5":{"4":{":":{"2":{"3":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{":":{"1":{"8":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"u":{"d":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"271":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"251":{"tf":1.0}}}}}}},"u":{"b":{"df":2,"docs":{"0":{"tf":1.7320508075688772},"109":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"138":{"tf":1.0},"230":{"tf":1.0}}}}}}}},"m":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":2,"docs":{"42":{"tf":1.0},"47":{"tf":1.0}}}}}},"p":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"c":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"289":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"c":{"df":2,"docs":{"122":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"b":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"122":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"e":{"df":5,"docs":{"10":{"tf":1.0},"139":{"tf":1.0},"276":{"tf":1.0},"277":{"tf":1.0},"291":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{":":{":":{"<":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"131":{"tf":1.0},"132":{"tf":1.0},"143":{"tf":1.0},"255":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"d":{"df":1,"docs":{"230":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":2,"docs":{"229":{"tf":1.0},"274":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0}}}}},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"111":{"tf":1.0},"116":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":12,"docs":{"122":{"tf":1.0},"13":{"tf":1.0},"190":{"tf":1.0},"199":{"tf":1.0},"225":{"tf":1.0},"244":{"tf":1.0},"47":{"tf":1.4142135623730951},"62":{"tf":1.0},"70":{"tf":1.0},"77":{"tf":1.0},"9":{"tf":1.0},"93":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"47":{"tf":1.0}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"119":{"tf":1.0}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"256":{"tf":1.0},"44":{"tf":1.0}}}}}}},"t":{"df":1,"docs":{"264":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"l":{"df":5,"docs":{"100":{"tf":1.0},"202":{"tf":1.0},"251":{"tf":1.4142135623730951},"262":{"tf":1.4142135623730951},"264":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":32,"docs":{"100":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"137":{"tf":1.0},"140":{"tf":1.0},"144":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.0},"161":{"tf":1.4142135623730951},"162":{"tf":1.0},"171":{"tf":1.4142135623730951},"214":{"tf":1.0},"22":{"tf":1.4142135623730951},"24":{"tf":1.0},"270":{"tf":1.0},"290":{"tf":1.0},"30":{"tf":1.0},"43":{"tf":1.0},"51":{"tf":1.0},"58":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"82":{"tf":1.0},"88":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"47":{"tf":1.0},"84":{"tf":1.0}}}}}},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"256":{"tf":1.7320508075688772}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"111":{"tf":1.4142135623730951},"116":{"tf":1.4142135623730951},"30":{"tf":1.0},"95":{"tf":1.0}},"」":{"df":0,"docs":{},"手":{"df":0,"docs":{},"法":{"df":0,"docs":{},"的":{"df":0,"docs":{},"經":{"df":0,"docs":{},"典":{"df":0,"docs":{},"案":{"df":0,"docs":{},"例":{"df":0,"docs":{},",":{"df":0,"docs":{},"先":{"df":0,"docs":{},"將":{"df":0,"docs":{},"序":{"df":0,"docs":{},"列":{"df":0,"docs":{},"分":{"df":0,"docs":{},"成":{"df":0,"docs":{},"更":{"df":0,"docs":{},"小":{"df":0,"docs":{},"的":{"df":0,"docs":{},"子":{"df":0,"docs":{},"序":{"df":0,"docs":{},"列":{"df":0,"docs":{},"(":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},")":{"df":0,"docs":{},",":{"df":0,"docs":{},"一":{"df":0,"docs":{},"個":{"df":0,"docs":{},"個":{"df":0,"docs":{},"排":{"df":0,"docs":{},"序":{"df":0,"docs":{},"後":{"df":0,"docs":{},"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},")":{"df":0,"docs":{},",":{"df":0,"docs":{},"再":{"df":0,"docs":{},"合":{"df":0,"docs":{},"併":{"df":0,"docs":{},"已":{"df":0,"docs":{},"排":{"df":0,"docs":{},"序":{"df":0,"docs":{},"的":{"df":0,"docs":{},"子":{"df":0,"docs":{},"序":{"df":0,"docs":{},"列":{"df":0,"docs":{},"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"110":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"264":{"tf":1.0}}},"df":0,"docs":{}},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"262":{"tf":1.7320508075688772}}}}},"df":2,"docs":{"239":{"tf":1.0},"83":{"tf":1.0}}},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"211":{"tf":1.0},"255":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"216":{"tf":1.0},"225":{"tf":1.0},"249":{"tf":1.4142135623730951},"266":{"tf":1.0}},"s":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"269":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"v":{"df":2,"docs":{"257":{"tf":1.0},"270":{"tf":1.0}}}},"<":{"df":0,"docs":{},"q":{">":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"249":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"176":{"tf":1.4142135623730951},"180":{"tf":1.0},"185":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":1,"docs":{"279":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"]":{"[":{"1":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"i":{"df":8,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"143":{"tf":1.0},"180":{"tf":1.0},"185":{"tf":1.4142135623730951}}},"y":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"180":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"13":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"288":{"tf":1.0}}}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"289":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":2,"docs":{"105":{"tf":1.0},"210":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},")":{"df":0,"docs":{},",":{"df":0,"docs":{},"漢":{"df":0,"docs":{},"明":{"df":0,"docs":{},"碼":{"df":0,"docs":{},"(":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":1,"docs":{"277":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"df":0,"docs":{},"s":{"c":{"a":{"df":0,"docs":{},"n":{"(":{"0":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}},"[":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}}},"df":0,"docs":{}},"df":22,"docs":{"123":{"tf":2.23606797749979},"124":{"tf":1.0},"125":{"tf":2.0},"127":{"tf":2.0},"128":{"tf":1.4142135623730951},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.7320508075688772},"132":{"tf":1.4142135623730951},"133":{"tf":1.4142135623730951},"145":{"tf":2.23606797749979},"147":{"tf":1.7320508075688772},"149":{"tf":1.4142135623730951},"150":{"tf":1.0},"151":{"tf":1.7320508075688772},"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.4142135623730951},"272":{"tf":2.23606797749979},"278":{"tf":1.7320508075688772},"279":{"tf":1.7320508075688772},"4":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"151":{"tf":1.0}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"f":{"df":2,"docs":{"130":{"tf":1.0},"132":{"tf":1.0}}}},"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}}}}},"df":0,"docs":{},")":{"df":0,"docs":{},",":{"df":0,"docs":{},"有":{"df":0,"docs":{},"了":{"df":0,"docs":{},"個":{"df":0,"docs":{},"別":{"df":0,"docs":{},"元":{"df":0,"docs":{},"素":{"df":0,"docs":{},"增":{"df":0,"docs":{},"刪":{"df":0,"docs":{},"資":{"df":0,"docs":{},"訊":{"df":0,"docs":{},",":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"272":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"152":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"225":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"u":{"df":6,"docs":{"192":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"230":{"tf":1.4142135623730951},"259":{"tf":1.0},"271":{"tf":1.0},"85":{"tf":1.4142135623730951}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"62":{"tf":1.0}}}}}}}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"44":{"tf":1.0}},"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":11,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"122":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"142":{"tf":1.0},"143":{"tf":1.7320508075688772},"207":{"tf":1.0},"211":{"tf":1.0},"227":{"tf":1.0},"77":{"tf":1.0}},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"13":{"tf":1.0}}}}}},"df":0,"docs":{}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"229":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":1,"docs":{"275":{"tf":3.3166247903554}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{"?":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"207":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"207":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"207":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":2,"docs":{"207":{"tf":2.8284271247461903},"208":{"tf":2.449489742783178}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"207":{"tf":1.7320508075688772},"208":{"tf":1.0},"251":{"tf":1.4142135623730951}}}}}}}}},"d":{".":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{")":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"(":{"1":{"df":1,"docs":{"186":{"tf":1.0}}},"2":{"df":1,"docs":{"186":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"3":{"df":1,"docs":{"186":{"tf":1.0}}},"4":{"df":1,"docs":{"186":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"251":{"tf":1.0}}}}},"t":{"a":{"df":11,"docs":{"162":{"tf":1.0},"172":{"tf":1.0},"175":{"tf":2.449489742783178},"200":{"tf":1.0},"245":{"tf":1.0},"251":{"tf":1.0},"259":{"tf":1.0},"271":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0},"43":{"tf":1.0}}},"df":0,"docs":{}}},"df":5,"docs":{"125":{"tf":2.449489742783178},"148":{"tf":1.0},"149":{"tf":1.4142135623730951},"150":{"tf":1.0},"186":{"tf":1.7320508075688772}},"e":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{".":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"176":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"_":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"!":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":1,"docs":{"179":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"188":{"tf":1.0}}}}}}},"df":2,"docs":{"188":{"tf":2.0},"213":{"tf":1.7320508075688772}}}}},"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"185":{"tf":1.0},"251":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"238":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"236":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"131":{"tf":1.0},"132":{"tf":1.0},"236":{"tf":1.7320508075688772}},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":4,"docs":{"233":{"tf":1.0},"263":{"tf":1.4142135623730951},"264":{"tf":1.0},"269":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"233":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}}}},"l":{"df":1,"docs":{"287":{"tf":2.0}},"e":{"df":0,"docs":{},"t":{"df":4,"docs":{"161":{"tf":1.0},"171":{"tf":1.0},"282":{"tf":1.0},"289":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":2,"docs":{"263":{"tf":1.0},"264":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"47":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"q":{"df":0,"docs":{},"u":{"df":9,"docs":{"171":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":1.0},"177":{"tf":1.4142135623730951},"182":{"tf":1.0},"184":{"tf":1.7320508075688772},"185":{"tf":1.7320508075688772},"186":{"tf":1.7320508075688772},"6":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"f":{"df":1,"docs":{"184":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},":":{":":{"c":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"179":{"tf":1.0}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"184":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"186":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"186":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"186":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{"df":6,"docs":{"177":{"tf":1.4142135623730951},"179":{"tf":1.0},"184":{"tf":1.0},"186":{"tf":2.6457513110645907},"187":{"tf":1.4142135623730951},"188":{"tf":1.0}}}},"df":0,"docs":{},"u":{"df":2,"docs":{"165":{"tf":1.0},"171":{"tf":1.4142135623730951}},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"168":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},")":{"df":0,"docs":{},"是":{"df":0,"docs":{},"一":{"df":0,"docs":{},"般":{"df":0,"docs":{},"化":{"df":0,"docs":{},"(":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"173":{"tf":1.0}}}}}}}}}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{":":{":":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"211":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"176":{"tf":1.0},"83":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"188":{"tf":1.4142135623730951}},"e":{"(":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"188":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"92":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"270":{"tf":1.0}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"176":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"103":{"tf":1.0},"44":{"tf":1.0},"54":{"tf":1.0}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":1.0},"47":{"tf":1.0}}}}}}}}}}}},"i":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":6,"docs":{"112":{"tf":1.0},"136":{"tf":1.0},"258":{"tf":1.0},"73":{"tf":1.0},"81":{"tf":1.4142135623730951},"97":{"tf":1.0}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"df":0,"docs":{},")":{"df":0,"docs":{},"、":{"df":0,"docs":{},"關":{"df":0,"docs":{},"聯":{"df":0,"docs":{},"陣":{"df":0,"docs":{},"列":{"df":0,"docs":{},"(":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"216":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{}}}},",":{"df":0,"docs":{},"j":{"a":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"216":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"251":{"tf":1.0},"255":{"tf":1.0},"257":{"tf":1.4142135623730951},"267":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"<":{"'":{"a":{">":{"(":{"&":{"'":{"a":{"df":1,"docs":{"252":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},":":{"df":0,"docs":{},"差":{"df":0,"docs":{},"集":{"df":0,"docs":{},",":{"a":{"df":1,"docs":{"250":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":5,"docs":{"146":{"tf":1.4142135623730951},"147":{"tf":1.7320508075688772},"148":{"tf":1.0},"151":{"tf":2.23606797749979},"278":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"250":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"253":{"tf":1.0},"256":{"tf":1.0}}}}}}},"k":{"df":1,"docs":{"259":{"tf":1.0}}},"p":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"240":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"84":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":9,"docs":{"230":{"tf":1.0},"277":{"tf":1.0},"281":{"tf":1.0},"282":{"tf":1.7320508075688772},"287":{"tf":1.4142135623730951},"288":{"tf":1.4142135623730951},"289":{"tf":1.0},"291":{"tf":2.0},"9":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{")":{".":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"|":{"d":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"289":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"[":{"0":{"]":{"[":{"df":0,"docs":{},"j":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":1,"docs":{"289":{"tf":1.0}}},"df":0,"docs":{},"i":{"]":{"[":{"0":{"df":2,"docs":{"287":{"tf":1.4142135623730951},"288":{"tf":1.0}}},"df":0,"docs":{},"j":{"df":1,"docs":{"287":{"tf":2.0}}}},"df":0,"docs":{}},"df":1,"docs":{"287":{"tf":2.0}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"j":{"df":1,"docs":{"289":{"tf":2.0}}}},"df":0,"docs":{}},")":{"df":0,"docs":{},"是":{"df":0,"docs":{},"指":{"df":0,"docs":{},"兩":{"df":0,"docs":{},"個":{"df":0,"docs":{},"相":{"df":0,"docs":{},"同":{"df":0,"docs":{},"長":{"df":0,"docs":{},"度":{"df":0,"docs":{},"的":{"df":0,"docs":{},"序":{"df":0,"docs":{},"列":{"df":0,"docs":{},"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},")":{"df":0,"docs":{},"在":{"df":0,"docs":{},"相":{"df":0,"docs":{},"同":{"df":0,"docs":{},"位":{"df":0,"docs":{},"置":{"df":0,"docs":{},"上":{"df":0,"docs":{},",":{"df":0,"docs":{},"有":{"df":0,"docs":{},"多":{"df":0,"docs":{},"少":{"df":0,"docs":{},"個":{"df":0,"docs":{},"數":{"df":0,"docs":{},"值":{"df":0,"docs":{},"不":{"df":0,"docs":{},"同":{"df":0,"docs":{},",":{"df":0,"docs":{},"對":{"df":0,"docs":{},"二":{"df":0,"docs":{},"進":{"df":0,"docs":{},"位":{"df":0,"docs":{},"序":{"df":0,"docs":{},"列":{"df":0,"docs":{},"來":{"df":0,"docs":{},"說":{"df":0,"docs":{},"就":{"df":0,"docs":{},"是":{"df":0,"docs":{},"「":{"df":0,"docs":{},"相":{"df":0,"docs":{},"異":{"df":0,"docs":{},"位":{"df":0,"docs":{},"元":{"df":0,"docs":{},"的":{"df":0,"docs":{},"數":{"df":0,"docs":{},"目":{"df":0,"docs":{},"」":{"df":0,"docs":{},"。":{"df":0,"docs":{},"漢":{"df":0,"docs":{},"明":{"df":0,"docs":{},"距":{"df":0,"docs":{},"離":{"df":0,"docs":{},"同":{"df":0,"docs":{},"時":{"df":0,"docs":{},"也":{"df":0,"docs":{},"是":{"df":0,"docs":{},"一":{"df":0,"docs":{},"種":{"df":0,"docs":{},"編":{"df":0,"docs":{},"輯":{"df":0,"docs":{},"距":{"df":0,"docs":{},"離":{"df":0,"docs":{},",":{"df":0,"docs":{},"即":{"df":0,"docs":{},"是":{"df":0,"docs":{},"將":{"df":0,"docs":{},"一":{"df":0,"docs":{},"個":{"df":0,"docs":{},"字":{"df":0,"docs":{},"串":{"df":0,"docs":{},"轉":{"df":0,"docs":{},"換":{"df":0,"docs":{},"成":{"df":0,"docs":{},"另":{"df":0,"docs":{},"一":{"df":0,"docs":{},"個":{"df":0,"docs":{},"字":{"df":0,"docs":{},"串":{"df":0,"docs":{},",":{"df":0,"docs":{},"需":{"df":0,"docs":{},"要":{"df":0,"docs":{},"經":{"df":0,"docs":{},"過":{"df":0,"docs":{},"多":{"df":0,"docs":{},"少":{"df":0,"docs":{},"次":{"df":0,"docs":{},"置":{"df":0,"docs":{},"換":{"df":0,"docs":{},"操":{"df":0,"docs":{},"作":{"df":0,"docs":{},"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"277":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}}}},"df":0,"docs":{}}},"df":1,"docs":{"289":{"tf":1.4142135623730951}},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":4,"docs":{"129":{"tf":1.0},"229":{"tf":1.0},"43":{"tf":1.7320508075688772},"47":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"i":{"d":{"df":5,"docs":{"110":{"tf":1.0},"111":{"tf":1.0},"116":{"tf":1.4142135623730951},"30":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":6,"docs":{"0":{"tf":1.0},"190":{"tf":1.0},"215":{"tf":1.0},"225":{"tf":1.0},"244":{"tf":1.0},"258":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"262":{"tf":1.0}}}},"df":0,"docs":{}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"199":{"tf":1.0},"258":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"271":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"87":{"tf":1.0}}},"’":{"df":0,"docs":{},"t":{"df":1,"docs":{"274":{"tf":1.0}}}}},"u":{"b":{"df":0,"docs":{},"l":{"df":5,"docs":{"173":{"tf":1.0},"180":{"tf":1.0},"230":{"tf":1.0},"271":{"tf":1.0},"275":{"tf":1.0}},"i":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"n":{"df":7,"docs":{"116":{"tf":1.0},"117":{"tf":1.0},"119":{"tf":1.0},"87":{"tf":1.7320508075688772},"89":{"tf":1.7320508075688772},"90":{"tf":1.7320508075688772},"92":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"176":{"tf":1.0},"184":{"tf":1.0},"210":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}},"df":7,"docs":{"176":{"tf":2.8284271247461903},"182":{"tf":1.0},"184":{"tf":2.6457513110645907},"185":{"tf":1.0},"205":{"tf":1.7320508075688772},"210":{"tf":3.1622776601683795},"251":{"tf":1.0}}}}},"s":{"a":{"df":1,"docs":{"152":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":3,"docs":{"180":{"tf":1.4142135623730951},"233":{"tf":1.4142135623730951},"265":{"tf":1.4142135623730951}}}},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"185":{"tf":1.0}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"107":{"tf":1.0}}},"df":0,"docs":{}}}},"s":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"215":{"tf":1.0}}}}}},"df":0,"docs":{}},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"107":{"tf":1.0}}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":6,"docs":{"140":{"tf":1.0},"230":{"tf":1.0},"233":{"tf":1.4142135623730951},"240":{"tf":1.0},"262":{"tf":1.0},"285":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"0":{"3":{"7":{"3":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"2":{"3":{"df":1,"docs":{"251":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"^":{"df":0,"docs":{},"{":{"7":{"7":{"7":{"^":{"df":0,"docs":{},"{":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"_":{"2":{"^":{"9":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"139":{"tf":1.4142135623730951},"146":{"tf":1.4142135623730951},"211":{"tf":1.0}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"0":{"tf":1.0},"109":{"tf":1.0},"244":{"tf":1.0},"282":{"tf":1.0}}}}},"df":2,"docs":{"125":{"tf":2.23606797749979},"284":{"tf":1.0}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{".":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"1":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}},"2":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":7,"docs":{"182":{"tf":1.4142135623730951},"186":{"tf":2.23606797749979},"202":{"tf":1.7320508075688772},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"268":{"tf":1.7320508075688772},"269":{"tf":2.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":11,"docs":{"103":{"tf":1.4142135623730951},"107":{"tf":1.0},"108":{"tf":2.23606797749979},"119":{"tf":1.4142135623730951},"131":{"tf":1.0},"132":{"tf":1.7320508075688772},"139":{"tf":1.0},"142":{"tf":1.0},"176":{"tf":1.0},"179":{"tf":1.0},"185":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"105":{"tf":1.0}}}}},"s":{"df":1,"docs":{"251":{"tf":1.7320508075688772}}}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":5,"docs":{"140":{"tf":1.0},"175":{"tf":1.0},"227":{"tf":1.0},"44":{"tf":1.0},"54":{"tf":1.0}}}}}},"n":{"d":{"df":4,"docs":{"173":{"tf":1.0},"211":{"tf":1.0},"34":{"tf":1.4142135623730951},"92":{"tf":3.3166247903554}},"{":{"c":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"114":{"tf":1.0},"284":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":3,"docs":{"165":{"tf":1.0},"167":{"tf":1.0},"171":{"tf":1.0}},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"167":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":2,"docs":{"210":{"tf":1.0},"215":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"271":{"tf":1.0}}},"y":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"239":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":4,"docs":{"260":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.0},"270":{"tf":1.4142135623730951}}}}}}}},"q":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"212":{"tf":1.0},"256":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":9,"docs":{"233":{"tf":1.7320508075688772},"234":{"tf":1.4142135623730951},"236":{"tf":1.4142135623730951},"237":{"tf":1.0},"238":{"tf":1.0},"247":{"tf":1.0},"249":{"tf":1.7320508075688772},"255":{"tf":1.0},"256":{"tf":2.8284271247461903}},"u":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"107":{"tf":1.0},"256":{"tf":1.0},"44":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},")":{"df":0,"docs":{},"定":{"df":0,"docs":{},"義":{"df":0,"docs":{},"為":{"df":0,"docs":{},":":{"df":0,"docs":{},"x":{"df":1,"docs":{"256":{"tf":1.0}}}}}}}}}}}}},"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"(":{"df":0,"docs":{},"s":{"a":{"df":1,"docs":{"212":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"256":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},",":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"233":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"r":{"(":{"0":{"df":3,"docs":{"33":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951}}},"b":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"143":{"tf":1.0}}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}},"p":{"df":0,"docs":{},"o":{"df":2,"docs":{"207":{"tf":1.4142135623730951},"61":{"tf":1.0}}}},"目":{"df":0,"docs":{},"標":{"df":0,"docs":{},"值":{"df":0,"docs":{},"若":{"df":0,"docs":{},"插":{"df":0,"docs":{},"入":{"df":0,"docs":{},"後":{"df":0,"docs":{},",":{"df":0,"docs":{},"不":{"df":0,"docs":{},"會":{"df":0,"docs":{},"影":{"df":0,"docs":{},"響":{"df":0,"docs":{},"序":{"df":0,"docs":{},"列":{"df":0,"docs":{},"排":{"df":0,"docs":{},"序":{"df":0,"docs":{},"的":{"df":0,"docs":{},"位":{"df":0,"docs":{},"置":{")":{"df":0,"docs":{},"。":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"32":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}}},"_":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"267":{"tf":2.449489742783178},"269":{"tf":1.7320508075688772}},"e":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}},"o":{"df":0,"docs":{},"g":{"2":{"(":{")":{")":{".":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":2,"docs":{"44":{"tf":1.0},"61":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"r":{"[":{"df":0,"docs":{},"e":{"0":{"1":{"9":{"5":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"7":{"7":{"df":1,"docs":{"262":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"0":{"8":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"7":{"3":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"9":{"2":{"df":1,"docs":{"264":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"3":{"5":{"df":1,"docs":{"262":{"tf":1.0}}},"df":0,"docs":{}},"9":{"5":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"2":{"3":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":4,"docs":{"251":{"tf":1.4142135623730951},"264":{"tf":1.0},"276":{"tf":1.0},"277":{"tf":1.0}}}}}},"t":{"df":2,"docs":{"274":{"tf":1.0},"275":{"tf":1.0}}},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":5,"docs":{"143":{"tf":1.0},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"19":{"tf":1.7320508075688772},"92":{"tf":1.0}}}},"t":{"df":1,"docs":{"44":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"(":{"\"":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"238":{"tf":1.0}}}}},"df":0,"docs":{}}},"&":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"!":{"(":{"\"":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"238":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":3,"docs":{"185":{"tf":1.0},"238":{"tf":1.0},"240":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"<":{"df":0,"docs":{},"t":{">":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"54":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":4,"docs":{"3":{"tf":1.0},"37":{"tf":2.0},"48":{"tf":1.4142135623730951},"55":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"185":{"tf":1.0}}}}}}},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"130":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"f":{"(":{"df":0,"docs":{},"n":{"df":3,"docs":{"17":{"tf":3.3166247903554},"18":{"tf":1.7320508075688772},"19":{"tf":2.23606797749979}}},"x":{")":{"=":{"\\":{"df":0,"docs":{},"s":{"df":0,"docs":{},"q":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"{":{"\\":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"{":{"1":{"8":{"2":{"7":{"7":{"7":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"2":{"8":{"6":{"df":0,"docs":{},"}":{"df":0,"docs":{},"}":{"\\":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"x":{"^":{"2":{"+":{"3":{"df":0,"docs":{},"x":{"+":{"6":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"16":{"tf":1.7320508075688772}}}},".":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{")":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"188":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"6":{"4":{"df":3,"docs":{"239":{"tf":1.4142135623730951},"267":{"tf":2.449489742783178},"269":{"tf":2.0}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"q":{"df":1,"docs":{"274":{"tf":1.0}}},"r":{"df":1,"docs":{"274":{"tf":1.0}}}},"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"176":{"tf":1.0}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":8,"docs":{"231":{"tf":2.8284271247461903},"235":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.4142135623730951},"242":{"tf":1.4142135623730951},"243":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.0}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":3,"docs":{"122":{"tf":1.0},"244":{"tf":1.0},"93":{"tf":1.0}}},"s":{"df":8,"docs":{"157":{"tf":1.0},"168":{"tf":1.0},"212":{"tf":1.0},"253":{"tf":1.4142135623730951},"256":{"tf":2.0},"259":{"tf":1.0},"260":{"tf":1.0},"76":{"tf":1.0}}}},"n":{"df":1,"docs":{"275":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"291":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"46":{"tf":1.0},"47":{"tf":1.0}}}}}}},"df":7,"docs":{"125":{"tf":1.7320508075688772},"130":{"tf":1.4142135623730951},"132":{"tf":1.4142135623730951},"143":{"tf":1.7320508075688772},"188":{"tf":1.0},"213":{"tf":1.0},"274":{"tf":1.0}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"142":{"tf":1.0},"264":{"tf":1.0}}},"df":0,"docs":{}}},"f":{"df":0,"docs":{},"o":{"df":2,"docs":{"163":{"tf":1.0},"173":{"tf":1.0}}}},"g":{"df":4,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"19":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"185":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"273":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":17,"docs":{"224":{"tf":1.0},"259":{"tf":2.8284271247461903},"260":{"tf":2.0},"262":{"tf":1.0},"264":{"tf":1.4142135623730951},"266":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.0},"269":{"tf":1.0},"270":{"tf":1.0},"271":{"tf":2.6457513110645907},"272":{"tf":3.1622776601683795},"273":{"tf":3.872983346207417},"274":{"tf":2.8284271247461903},"275":{"tf":3.4641016151377544},"276":{"tf":2.0},"8":{"tf":1.0}},"f":{"df":1,"docs":{"274":{"tf":1.0}}}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"103":{"tf":1.0}}}},"d":{"(":{"df":0,"docs":{},"|":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"237":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":2,"docs":{"108":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"142":{"tf":1.0},"185":{"tf":1.0},"214":{"tf":1.0}}}}},"x":{"df":2,"docs":{"259":{"tf":1.0},"262":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"107":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"274":{"tf":1.0}}}},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"b":{"df":1,"docs":{"240":{"tf":1.7320508075688772}},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"239":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":3,"docs":{"143":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":1,"docs":{"143":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"265":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"188":{"tf":1.0},"213":{"tf":1.0}}}}}}},"df":0,"docs":{}},":":{":":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"188":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":1,"docs":{"188":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"188":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"n":{"(":{"&":{"df":0,"docs":{},"t":{"df":3,"docs":{"130":{"tf":1.0},"132":{"tf":1.0},"143":{"tf":1.0}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"i":{"df":2,"docs":{"268":{"tf":1.7320508075688772},"269":{"tf":2.23606797749979}}}},"df":75,"docs":{"102":{"tf":1.4142135623730951},"103":{"tf":1.0},"105":{"tf":2.0},"107":{"tf":1.0},"108":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"142":{"tf":1.0},"143":{"tf":1.4142135623730951},"151":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.0},"166":{"tf":1.0},"167":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":1.0},"176":{"tf":1.7320508075688772},"177":{"tf":1.0},"179":{"tf":2.23606797749979},"180":{"tf":1.4142135623730951},"181":{"tf":2.0},"182":{"tf":2.0},"184":{"tf":1.0},"185":{"tf":2.6457513110645907},"186":{"tf":2.0},"187":{"tf":1.4142135623730951},"188":{"tf":1.0},"205":{"tf":1.0},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"208":{"tf":1.0},"210":{"tf":1.4142135623730951},"211":{"tf":2.6457513110645907},"212":{"tf":1.0},"213":{"tf":1.0},"233":{"tf":1.7320508075688772},"236":{"tf":1.7320508075688772},"237":{"tf":2.0},"238":{"tf":1.4142135623730951},"239":{"tf":1.7320508075688772},"240":{"tf":1.4142135623730951},"249":{"tf":2.449489742783178},"25":{"tf":1.4142135623730951},"251":{"tf":2.449489742783178},"252":{"tf":2.0},"253":{"tf":1.7320508075688772},"255":{"tf":1.0},"256":{"tf":1.4142135623730951},"262":{"tf":1.0},"267":{"tf":2.23606797749979},"268":{"tf":1.7320508075688772},"269":{"tf":2.8284271247461903},"278":{"tf":1.4142135623730951},"279":{"tf":1.0},"286":{"tf":1.4142135623730951},"287":{"tf":1.0},"289":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"44":{"tf":1.4142135623730951},"54":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0},"76":{"tf":1.4142135623730951},"83":{"tf":1.0},"92":{"tf":1.4142135623730951}}},"o":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"|":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"239":{"tf":1.0}}}},"df":0,"docs":{}}},"df":1,"docs":{"239":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"17":{"tf":1.7320508075688772},"18":{"tf":1.0},"19":{"tf":1.4142135623730951}}}},"c":{"df":1,"docs":{"251":{"tf":1.0}}},"d":{"df":0,"docs":{},"o":{"df":1,"docs":{"227":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":1,"docs":{"272":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"47":{"tf":1.0}}}},"df":2,"docs":{"185":{"tf":1.0},"240":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"r":{"a":{"c":{"df":2,"docs":{"80":{"tf":1.7320508075688772},"81":{"tf":1.0}},"{":{"\\":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"df":0,"docs":{},"{":{"\\":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"}":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"\\":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"df":0,"docs":{},"{":{"2":{"df":1,"docs":{"260":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}}}}},"c":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{},"n":{"^":{"2":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"2":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"2":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"i":{"df":1,"docs":{"42":{"tf":1.0}}},"n":{"(":{"df":0,"docs":{},"n":{"df":3,"docs":{"66":{"tf":1.0},"75":{"tf":1.0},"99":{"tf":1.0}}}},"^":{"2":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"2":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"260":{"tf":1.0}},"}":{"df":0,"docs":{},"{":{"2":{"^":{"df":0,"docs":{},"k":{"df":1,"docs":{"30":{"tf":1.4142135623730951}}}},"df":2,"docs":{"114":{"tf":2.0},"75":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":2,"docs":{"231":{"tf":1.0},"242":{"tf":1.4142135623730951}}}}}},"y":{"_":{"1":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"100":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"274":{"tf":1.0}}}}},"df":0,"docs":{}}}},"o":{"d":{"df":0,"docs":{},"o":{"df":2,"docs":{"227":{"tf":1.7320508075688772},"230":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"255":{"tf":1.4142135623730951}}}}}}},"n":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"181":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":4,"docs":{"164":{"tf":1.0},"178":{"tf":1.0},"181":{"tf":1.0},"189":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"175":{"tf":1.0}}}},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":11,"docs":{"130":{"tf":1.7320508075688772},"131":{"tf":1.0},"143":{"tf":1.0},"229":{"tf":1.0},"251":{"tf":1.4142135623730951},"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0},"284":{"tf":1.0},"32":{"tf":1.0},"47":{"tf":1.0}}}}}}},"df":0,"docs":{}}},":":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"143":{"tf":1.0}}}}}}},"df":0,"docs":{}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"130":{"tf":1.0}}}}}}},"g":{"(":{"df":0,"docs":{},"n":{"df":3,"docs":{"17":{"tf":2.23606797749979},"18":{"tf":1.7320508075688772},"19":{"tf":2.0}}},"x":{")":{"=":{"3":{"df":0,"docs":{},"x":{"^":{"6":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"16":{"tf":1.7320508075688772}}}},"_":{"df":0,"docs":{},"i":{"(":{"df":0,"docs":{},"x":{"df":4,"docs":{"260":{"tf":1.0},"266":{"tf":1.0},"268":{"tf":1.7320508075688772},"269":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"48":{"tf":1.0}}}}}},"p":{"df":6,"docs":{"78":{"tf":1.7320508075688772},"79":{"tf":2.0},"80":{"tf":2.0},"81":{"tf":2.23606797749979},"82":{"tf":2.449489742783178},"83":{"tf":3.4641016151377544}}},"t":{"df":1,"docs":{"185":{"tf":1.7320508075688772}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"135":{"tf":1.0},"136":{"tf":1.0},"139":{"tf":1.0},"143":{"tf":1.4142135623730951}}}}}}},"b":{"df":1,"docs":{"14":{"tf":1.0}}},"df":1,"docs":{"284":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"k":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"k":{"df":1,"docs":{"109":{"tf":1.0}}}}}}}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":4,"docs":{"142":{"tf":1.0},"185":{"tf":1.0},"264":{"tf":1.0},"272":{"tf":1.0}}}}},"q":{"df":2,"docs":{"18":{"tf":1.0},"19":{"tf":1.0}}},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"237":{"tf":1.0}}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"q":{">":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"237":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"266":{"tf":1.0}}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"238":{"tf":1.0}}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"185":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":2,"docs":{"185":{"tf":1.4142135623730951},"237":{"tf":1.0}},":":{"df":0,"docs":{},"取":{"df":0,"docs":{},"得":{"df":0,"docs":{},"指":{"df":0,"docs":{},"定":{"df":0,"docs":{},"鍵":{"df":0,"docs":{},"對":{"df":0,"docs":{},"應":{"df":0,"docs":{},"的":{"df":0,"docs":{},"資":{"df":0,"docs":{},"料":{"df":0,"docs":{},",":{"df":0,"docs":{},"並":{"df":0,"docs":{},"可":{"df":0,"docs":{},"寫":{"df":0,"docs":{},"入":{"df":0,"docs":{},"修":{"df":0,"docs":{},"改":{"df":0,"docs":{},"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"235":{"tf":1.0}}}}}}}}}}}}}}}}}}}}}}}}}}}},"df":1,"docs":{"210":{"tf":1.0}}}},"i":{"df":0,"docs":{},"f":{"df":6,"docs":{"122":{"tf":1.0},"62":{"tf":1.0},"70":{"tf":1.0},"77":{"tf":1.0},"86":{"tf":1.0},"93":{"tf":1.0}}},"m":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"230":{"tf":1.7320508075688772}}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"b":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"o":{"b":{"a":{"df":0,"docs":{},"l":{"_":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"176":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"176":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"df":1,"docs":{"291":{"tf":1.0}},"e":{"df":1,"docs":{"210":{"tf":1.0}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"227":{"tf":1.7320508075688772},"230":{"tf":1.7320508075688772}},"n":{"df":1,"docs":{"227":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"276":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":2,"docs":{"225":{"tf":1.0},"244":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"92":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"133":{"tf":1.0}}}}},"t":{"df":1,"docs":{"270":{"tf":1.0}}},"u":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"279":{"tf":1.0}}},"df":0,"docs":{}},"v":{"a":{"df":1,"docs":{"276":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"h":{"1":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"269":{"tf":1.0}}}},".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"i":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"h":{"2":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}},"2":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"269":{"tf":1.0}}}},"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}},"_":{"1":{"(":{"df":0,"docs":{},"x":{"df":5,"docs":{"260":{"tf":1.4142135623730951},"266":{"tf":1.0},"268":{"tf":2.23606797749979},"269":{"tf":1.4142135623730951},"275":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"2":{"(":{"df":0,"docs":{},"x":{"df":4,"docs":{"260":{"tf":1.0},"268":{"tf":1.4142135623730951},"269":{"tf":1.0},"275":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"33":{"tf":1.7320508075688772}}}},"m":{"df":3,"docs":{"277":{"tf":1.4142135623730951},"281":{"tf":1.0},"9":{"tf":1.0}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"278":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"279":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"n":{"d":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"10":{"tf":1.0}}}}}},"df":0,"docs":{},"l":{"df":2,"docs":{"44":{"tf":1.0},"54":{"tf":1.0}},"e":{"_":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"d":{"_":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"176":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"275":{"tf":1.0}}},"h":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"275":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"1":{"df":1,"docs":{"228":{"tf":1.0}}},"2":{"df":1,"docs":{"228":{"tf":1.0}}},"df":0,"docs":{}}}},"x":{"df":1,"docs":{"275":{"tf":1.0}}}},"<":{"df":0,"docs":{},"h":{"df":1,"docs":{"233":{"tf":1.0}}}},"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.7320508075688772},"269":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"o":{"df":1,"docs":{"227":{"tf":1.0}}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"227":{"tf":1.0}}}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"228":{"tf":1.0}}}}},"s":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"227":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"247":{"tf":1.0}}}},"df":0,"docs":{}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"228":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":28,"docs":{"142":{"tf":2.23606797749979},"143":{"tf":1.0},"220":{"tf":1.0},"226":{"tf":1.0},"229":{"tf":1.4142135623730951},"230":{"tf":1.4142135623730951},"231":{"tf":1.0},"233":{"tf":3.605551275463989},"234":{"tf":1.4142135623730951},"236":{"tf":1.4142135623730951},"237":{"tf":1.0},"238":{"tf":1.4142135623730951},"244":{"tf":1.7320508075688772},"247":{"tf":1.0},"249":{"tf":1.7320508075688772},"255":{"tf":1.0},"256":{"tf":1.7320508075688772},"260":{"tf":1.0},"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.7320508075688772},"269":{"tf":2.6457513110645907},"271":{"tf":1.0},"274":{"tf":1.4142135623730951},"275":{"tf":2.0},"276":{"tf":1.4142135623730951},"8":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"(":{"&":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"143":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"233":{"tf":1.0}}}}}}}}},"1":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}}}}},"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}},"2":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}}}}},"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}},":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"268":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},">":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"233":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":8,"docs":{"142":{"tf":1.4142135623730951},"143":{"tf":1.4142135623730951},"233":{"tf":2.23606797749979},"263":{"tf":2.0},"264":{"tf":1.4142135623730951},"267":{"tf":1.7320508075688772},"268":{"tf":2.23606797749979},"269":{"tf":1.7320508075688772}}}},"m":{"a":{"df":0,"docs":{},"p":{".":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"234":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"238":{"tf":1.0}}}}}},":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"249":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"249":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"249":{"tf":1.0}}}}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"239":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"<":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"237":{"tf":1.0}}}}}},"df":0,"docs":{},"k":{"df":3,"docs":{"234":{"tf":1.4142135623730951},"236":{"tf":1.4142135623730951},"264":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"264":{"tf":1.0}}}}},"t":{"df":2,"docs":{"247":{"tf":1.0},"248":{"tf":1.0}}}},"df":11,"docs":{"143":{"tf":1.4142135623730951},"216":{"tf":1.0},"230":{"tf":1.0},"231":{"tf":1.0},"233":{"tf":1.0},"234":{"tf":1.0},"236":{"tf":1.4142135623730951},"244":{"tf":1.0},"247":{"tf":1.0},"249":{"tf":1.0},"257":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"237":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{"df":7,"docs":{"247":{"tf":1.0},"249":{"tf":1.0},"251":{"tf":3.4641016151377544},"252":{"tf":2.0},"253":{"tf":1.7320508075688772},"255":{"tf":2.23606797749979},"256":{"tf":2.23606797749979}}}},"df":2,"docs":{"251":{"tf":1.4142135623730951},"258":{"tf":1.0}}}}},":":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"142":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":9,"docs":{"142":{"tf":1.4142135623730951},"143":{"tf":1.7320508075688772},"175":{"tf":3.0},"179":{"tf":1.4142135623730951},"180":{"tf":2.449489742783178},"233":{"tf":1.0},"276":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.0}},"e":{"a":{"d":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"206":{"tf":1.0}}}}}}},"df":21,"docs":{"119":{"tf":1.4142135623730951},"171":{"tf":1.0},"174":{"tf":1.0},"175":{"tf":3.3166247903554},"177":{"tf":1.4142135623730951},"179":{"tf":1.0},"180":{"tf":2.6457513110645907},"181":{"tf":1.7320508075688772},"182":{"tf":1.7320508075688772},"185":{"tf":2.0},"189":{"tf":1.0},"196":{"tf":1.7320508075688772},"200":{"tf":1.0},"203":{"tf":1.4142135623730951},"205":{"tf":1.0},"206":{"tf":2.23606797749979},"207":{"tf":1.0},"208":{"tf":1.4142135623730951},"210":{"tf":1.0},"214":{"tf":1.0},"230":{"tf":1.0}}},"df":0,"docs":{},"p":{"df":10,"docs":{"202":{"tf":1.0},"236":{"tf":1.0},"69":{"tf":1.0},"85":{"tf":2.0},"86":{"tf":3.0},"87":{"tf":4.242640687119285},"89":{"tf":3.4641016151377544},"90":{"tf":1.7320508075688772},"92":{"tf":4.358898943540674},"93":{"tf":1.0}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":4,"docs":{"87":{"tf":1.7320508075688772},"89":{"tf":2.0},"90":{"tf":1.0},"92":{"tf":1.7320508075688772}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"92":{"tf":1.0}}}}},"df":0,"docs":{}},"df":9,"docs":{"4":{"tf":1.0},"69":{"tf":1.4142135623730951},"85":{"tf":2.0},"86":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"88":{"tf":1.0},"89":{"tf":1.0},"92":{"tf":1.7320508075688772},"93":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"i":{"df":1,"docs":{"291":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"p":{"df":2,"docs":{"251":{"tf":1.0},"264":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"102":{"tf":1.0}}}}}},"n":{"c":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"4":{"0":{"4":{"0":{"8":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"df":3,"docs":{"176":{"tf":1.0},"210":{"tf":1.4142135623730951},"251":{"tf":1.7320508075688772}}}}},"i":{"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"44":{"tf":2.449489742783178}}}},"df":0,"docs":{}}},"df":8,"docs":{"102":{"tf":3.0},"103":{"tf":1.4142135623730951},"105":{"tf":4.242640687119285},"107":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"41":{"tf":1.4142135623730951},"44":{"tf":2.8284271247461903},"54":{"tf":2.23606797749979}},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"96":{"tf":1.4142135623730951}}}},"、":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}}}},"o":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"108":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"136":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"o":{"d":{"df":1,"docs":{"231":{"tf":1.0}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"{":{"1":{"0":{"df":2,"docs":{"284":{"tf":1.0},"286":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{"/":{"/":{"d":{"df":0,"docs":{},"o":{"c":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},":":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"143":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"i":{"$":{"df":0,"docs":{},"、":{"$":{"df":0,"docs":{},"j":{"df":1,"docs":{"284":{"tf":1.0}}}},"df":0,"docs":{}}},"+":{"1":{"df":1,"docs":{"96":{"tf":1.0}}},"df":0,"docs":{}},"/":{"df":1,"docs":{"284":{"tf":1.0}},"o":{"df":1,"docs":{"274":{"tf":1.0}}}},"3":{"2":{"df":17,"docs":{"102":{"tf":1.4142135623730951},"103":{"tf":1.0},"105":{"tf":2.0},"107":{"tf":1.0},"108":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.7320508075688772},"151":{"tf":1.0},"264":{"tf":1.4142135623730951},"44":{"tf":2.8284271247461903},"59":{"tf":1.0},"61":{"tf":1.4142135623730951},"67":{"tf":1.0},"76":{"tf":1.4142135623730951},"83":{"tf":1.0},"92":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"275":{"tf":1.0}},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"107":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"7":{"5":{"4":{"df":1,"docs":{"256":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"47":{"tf":1.0}}}}},"h":{"_":{"2":{"(":{"df":0,"docs":{},"x":{"df":4,"docs":{"260":{"tf":1.0},"266":{"tf":1.0},"268":{"tf":1.7320508075688772},"269":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"k":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"n":{"df":2,"docs":{"43":{"tf":1.0},"47":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"a":{"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}}},"m":{"a":{"df":0,"docs":{},"g":{"df":3,"docs":{"190":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"200":{"tf":1.4142135623730951},"211":{"tf":1.4142135623730951},"251":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"l":{"<":{"'":{"a":{"df":4,"docs":{"185":{"tf":2.23606797749979},"186":{"tf":2.0},"211":{"tf":1.0},"255":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"df":1,"docs":{"142":{"tf":1.0}}},"k":{"df":1,"docs":{"236":{"tf":1.4142135623730951}}},"t":{"df":15,"docs":{"176":{"tf":1.7320508075688772},"177":{"tf":1.0},"179":{"tf":1.4142135623730951},"184":{"tf":1.0},"186":{"tf":2.0},"187":{"tf":1.4142135623730951},"188":{"tf":1.0},"205":{"tf":1.0},"210":{"tf":1.4142135623730951},"211":{"tf":1.7320508075688772},"212":{"tf":1.0},"213":{"tf":1.0},"249":{"tf":1.0},"256":{"tf":1.7320508075688772},"269":{"tf":1.0}}}},"df":7,"docs":{"185":{"tf":1.0},"233":{"tf":1.0},"240":{"tf":3.0},"249":{"tf":1.0},"251":{"tf":2.449489742783178},"252":{"tf":2.0},"255":{"tf":1.0}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"144":{"tf":1.0},"190":{"tf":1.0},"276":{"tf":1.0}}}}}}}}}},"n":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":1,"docs":{"151":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"118":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"84":{"tf":1.0}}}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"187":{"tf":1.0}}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"187":{"tf":1.0}}}}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"187":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":24,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"119":{"tf":1.7320508075688772},"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"125":{"tf":2.23606797749979},"132":{"tf":2.0},"168":{"tf":1.0},"179":{"tf":2.0},"187":{"tf":2.8284271247461903},"228":{"tf":1.0},"237":{"tf":1.4142135623730951},"238":{"tf":1.7320508075688772},"25":{"tf":1.0},"268":{"tf":1.0},"269":{"tf":1.7320508075688772},"288":{"tf":1.4142135623730951},"33":{"tf":1.0},"54":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"67":{"tf":1.0},"92":{"tf":2.0}},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"143":{"tf":1.0}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"187":{"tf":1.0}}}}},"df":1,"docs":{"187":{"tf":1.4142135623730951}}}}},"(":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"125":{"tf":1.0}}}}}}}}}}}},"df":1,"docs":{"287":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"185":{"tf":1.0},"264":{"tf":1.0}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"44":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":4,"docs":{"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"239":{"tf":1.0},"267":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"210":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"135":{"tf":1.0},"136":{"tf":1.0},"138":{"tf":1.0},"143":{"tf":1.4142135623730951}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"262":{"tf":1.7320508075688772}}}}}},"df":1,"docs":{"125":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":4,"docs":{"238":{"tf":1.0},"249":{"tf":1.0},"268":{"tf":1.0},"269":{"tf":1.0}}}}}},"df":0,"docs":{},"v":{"df":2,"docs":{"257":{"tf":1.0},"270":{"tf":1.0}}}},"_":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":2,"docs":{"204":{"tf":1.0},"207":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"207":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":30,"docs":{"119":{"tf":1.0},"136":{"tf":1.0},"138":{"tf":1.0},"142":{"tf":1.0},"143":{"tf":1.0},"161":{"tf":1.0},"171":{"tf":1.0},"214":{"tf":1.0},"235":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.0},"249":{"tf":1.4142135623730951},"251":{"tf":1.0},"266":{"tf":1.0},"268":{"tf":1.0},"282":{"tf":1.0},"289":{"tf":1.0},"38":{"tf":1.7320508075688772},"4":{"tf":1.0},"56":{"tf":1.7320508075688772},"57":{"tf":1.0},"58":{"tf":1.4142135623730951},"61":{"tf":2.449489742783178},"62":{"tf":1.0},"65":{"tf":1.0},"71":{"tf":1.0},"78":{"tf":2.0},"79":{"tf":1.4142135623730951},"81":{"tf":2.6457513110645907},"82":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"59":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"t":{"df":1,"docs":{"238":{"tf":1.0}}}},"i":{"d":{"df":3,"docs":{"181":{"tf":1.4142135623730951},"182":{"tf":2.0},"187":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"145":{"tf":1.0}},"e":{"df":0,"docs":{},"g":{"df":1,"docs":{"34":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"}":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"278":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"r":{"df":1,"docs":{"186":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":2,"docs":{"117":{"tf":1.0},"118":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":7,"docs":{"3":{"tf":1.0},"36":{"tf":2.0},"40":{"tf":2.0},"43":{"tf":1.0},"44":{"tf":3.7416573867739413},"46":{"tf":1.4142135623730951},"47":{"tf":1.7320508075688772}}}}},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"253":{"tf":1.0},"255":{"tf":1.0},"257":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"<":{"'":{"a":{">":{"(":{"&":{"'":{"a":{"df":1,"docs":{"252":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},":":{"df":0,"docs":{},"交":{"df":0,"docs":{},"集":{"df":0,"docs":{},",":{"a":{"df":1,"docs":{"250":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}},"o":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"185":{"tf":1.0},"186":{"tf":1.0},"211":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"186":{"tf":1.7320508075688772},"211":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"211":{"tf":1.0}}}}}},"t":{"df":2,"docs":{"186":{"tf":1.7320508075688772},"211":{"tf":2.6457513110645907}},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"186":{"tf":1.0},"211":{"tf":1.0}}}}}}},"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"186":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}}}}}},"df":0,"docs":{}},"df":2,"docs":{"186":{"tf":1.4142135623730951},"211":{"tf":1.7320508075688772}}}},"df":3,"docs":{"185":{"tf":1.0},"186":{"tf":3.1622776601683795},"211":{"tf":2.23606797749979}}}}}}},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"244":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}}}}}}}}}},"o":{"df":1,"docs":{"259":{"tf":1.0}}},"s":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"253":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"250":{"tf":1.0}}}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":5,"docs":{"178":{"tf":1.0},"181":{"tf":1.0},"204":{"tf":1.0},"235":{"tf":1.0},"249":{"tf":1.0}}},"y":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"181":{"tf":1.0},"249":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"178":{"tf":1.0}},"l":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"180":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"249":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"210":{"tf":1.4142135623730951}}}},"u":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"253":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":3,"docs":{"250":{"tf":1.0},"253":{"tf":1.4142135623730951},"256":{"tf":1.4142135623730951}},",":{"a":{"df":1,"docs":{"256":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"253":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":2,"docs":{"250":{"tf":1.0},"253":{"tf":1.0}},",":{"a":{"df":1,"docs":{"256":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":4,"docs":{"102":{"tf":2.0},"103":{"tf":1.7320508075688772},"105":{"tf":2.8284271247461903},"107":{"tf":2.0}}}},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"293":{"tf":2.0}}}},"t":{"df":1,"docs":{"46":{"tf":1.0}}}},"t":{"'":{"df":1,"docs":{"180":{"tf":1.4142135623730951}}},"a":{"df":0,"docs":{},"i":{"df":2,"docs":{"43":{"tf":1.0},"47":{"tf":1.0}}}},"df":1,"docs":{"284":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"m":{"df":15,"docs":{"154":{"tf":1.4142135623730951},"156":{"tf":1.0},"157":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"166":{"tf":1.0},"167":{"tf":1.7320508075688772},"168":{"tf":1.0},"169":{"tf":1.0},"185":{"tf":2.0},"186":{"tf":2.0},"211":{"tf":1.7320508075688772},"25":{"tf":1.4142135623730951},"251":{"tf":2.449489742783178},"252":{"tf":1.4142135623730951},"275":{"tf":1.0}}},"r":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":3,"docs":{"211":{"tf":1.4142135623730951},"240":{"tf":1.0},"249":{"tf":1.0}}}}}}},"df":0,"docs":{}},".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"<":{"'":{"a":{"df":3,"docs":{"185":{"tf":1.4142135623730951},"186":{"tf":1.0},"211":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.4142135623730951}}}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":2,"docs":{"185":{"tf":1.0},"186":{"tf":1.0}}}}}},"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"25":{"tf":1.0}}}}}}}},":":{":":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"256":{"tf":1.0},"269":{"tf":1.0}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"251":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":2,"docs":{"185":{"tf":1.0},"279":{"tf":1.0}}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":4,"docs":{"240":{"tf":1.0},"249":{"tf":1.0},"251":{"tf":2.449489742783178},"252":{"tf":2.0}}}}}}},"df":0,"docs":{}}}}},"df":20,"docs":{"105":{"tf":1.0},"107":{"tf":1.0},"131":{"tf":1.0},"143":{"tf":1.4142135623730951},"151":{"tf":1.0},"185":{"tf":4.69041575982343},"186":{"tf":2.0},"208":{"tf":1.0},"211":{"tf":4.242640687119285},"212":{"tf":1.0},"213":{"tf":1.0},"240":{"tf":1.4142135623730951},"249":{"tf":1.4142135623730951},"251":{"tf":2.23606797749979},"269":{"tf":1.0},"279":{"tf":1.0},"44":{"tf":1.0},"67":{"tf":1.0},"83":{"tf":1.0},"92":{"tf":1.0}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}}}},"df":0,"docs":{}},"<":{"'":{"a":{"df":3,"docs":{"185":{"tf":2.23606797749979},"186":{"tf":1.0},"211":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.0}}}},"df":2,"docs":{"185":{"tf":1.0},"211":{"tf":1.4142135623730951}}}}},"、":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"、":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"178":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.0}}}}}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"176":{"tf":1.0},"185":{"tf":1.0}}}}}}},"、":{"df":0,"docs":{},"j":{"df":1,"docs":{"103":{"tf":1.0}}}},",":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"j":{"a":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},",":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":14,"docs":{"103":{"tf":1.7320508075688772},"107":{"tf":2.449489742783178},"108":{"tf":2.449489742783178},"275":{"tf":1.4142135623730951},"284":{"tf":1.4142135623730951},"287":{"tf":2.449489742783178},"288":{"tf":1.4142135623730951},"289":{"tf":2.449489742783178},"59":{"tf":2.23606797749979},"61":{"tf":2.0},"67":{"tf":1.4142135623730951},"83":{"tf":2.0},"96":{"tf":2.23606797749979},"97":{"tf":4.123105625617661}},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"8":{"9":{"df":2,"docs":{"64":{"tf":1.0},"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"g":{"df":2,"docs":{"225":{"tf":1.0},"244":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"、":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"218":{"tf":1.4142135623730951}}}}}}}}}},"。":{"df":0,"docs":{},"i":{"df":1,"docs":{"97":{"tf":1.7320508075688772}}}}},"k":{"$":{"df":0,"docs":{},"(":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"b":{"df":0,"docs":{},"e":{"df":1,"docs":{"230":{"tf":1.0}}}},"df":0,"docs":{}}}}},":":{"df":0,"docs":{},"雜":{"df":0,"docs":{},"湊":{"df":0,"docs":{},"表":{"df":0,"docs":{},"配":{"df":0,"docs":{},"置":{"df":0,"docs":{},"的":{"df":0,"docs":{},"儲":{"df":0,"docs":{},"存":{"df":0,"docs":{},"空":{"df":0,"docs":{},"間":{"df":0,"docs":{},"(":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"231":{"tf":1.0},"242":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}}}}},")":{".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"238":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"237":{"tf":1.0}}}}}}}},"df":0,"docs":{}},">":{"0":{"df":2,"docs":{"17":{"tf":1.0},"18":{"tf":1.0}}},"df":0,"docs":{}},"^":{"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.4142135623730951}}},"{":{"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.4142135623730951}}}}},"_":{"1":{">":{"0":{"df":1,"docs":{"19":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"19":{"tf":1.4142135623730951}}},"2":{">":{"0":{"df":1,"docs":{"19":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"19":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":38,"docs":{"107":{"tf":2.0},"109":{"tf":1.0},"123":{"tf":1.0},"126":{"tf":2.23606797749979},"127":{"tf":1.7320508075688772},"128":{"tf":1.4142135623730951},"135":{"tf":1.0},"137":{"tf":2.0},"139":{"tf":4.0},"140":{"tf":2.0},"148":{"tf":1.0},"149":{"tf":3.3166247903554},"150":{"tf":1.4142135623730951},"17":{"tf":1.7320508075688772},"173":{"tf":1.0},"18":{"tf":1.4142135623730951},"230":{"tf":1.4142135623730951},"233":{"tf":1.0},"234":{"tf":2.0},"236":{"tf":1.4142135623730951},"237":{"tf":2.0},"238":{"tf":1.7320508075688772},"240":{"tf":2.23606797749979},"241":{"tf":1.0},"244":{"tf":1.0},"249":{"tf":1.0},"260":{"tf":2.8284271247461903},"263":{"tf":1.7320508075688772},"266":{"tf":1.0},"267":{"tf":1.4142135623730951},"268":{"tf":2.0},"269":{"tf":2.0},"270":{"tf":2.23606797749979},"271":{"tf":1.0},"284":{"tf":1.4142135623730951},"285":{"tf":2.449489742783178},"30":{"tf":2.0},"49":{"tf":1.0}},"e":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"132":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"1":{"df":1,"docs":{"228":{"tf":1.0}}},"2":{"df":1,"docs":{"228":{"tf":1.0}}},"df":18,"docs":{"124":{"tf":1.0},"125":{"tf":3.1622776601683795},"128":{"tf":1.0},"130":{"tf":1.4142135623730951},"131":{"tf":2.0},"132":{"tf":1.4142135623730951},"146":{"tf":1.4142135623730951},"149":{"tf":1.0},"151":{"tf":1.0},"216":{"tf":1.0},"228":{"tf":1.0},"233":{"tf":1.0},"234":{"tf":1.4142135623730951},"237":{"tf":2.0},"238":{"tf":1.4142135623730951},"247":{"tf":1.0},"249":{"tf":1.0},"275":{"tf":1.0}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}}}},")":{"df":0,"docs":{},"對":{"df":0,"docs":{},"應":{"df":0,"docs":{},"到":{"df":0,"docs":{},"容":{"df":0,"docs":{},"器":{"df":0,"docs":{},"內":{"df":0,"docs":{},"部":{"df":0,"docs":{},"的":{"df":0,"docs":{},"索":{"df":0,"docs":{},"引":{"df":0,"docs":{},"位":{"df":0,"docs":{},"置":{"df":0,"docs":{},",":{"df":0,"docs":{},"進":{"df":0,"docs":{},"而":{"df":0,"docs":{},"找":{"df":0,"docs":{},"到":{"df":0,"docs":{},"對":{"df":0,"docs":{},"應":{"df":0,"docs":{},"的":{"df":0,"docs":{},"值":{"df":0,"docs":{},"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"226":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}}}}}}},",":{"df":0,"docs":{},"俗":{"df":0,"docs":{},"稱":{"df":0,"docs":{},"指":{"df":0,"docs":{},"紋":{"df":0,"docs":{},"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},")":{"df":0,"docs":{},",":{"df":0,"docs":{},"指":{"df":0,"docs":{},"紋":{"df":0,"docs":{},"的":{"df":0,"docs":{},"鍵":{"df":0,"docs":{},"短":{"df":0,"docs":{},"空":{"df":0,"docs":{},"間":{"df":0,"docs":{},"用":{"df":0,"docs":{},"量":{"df":0,"docs":{},"低":{"df":0,"docs":{},",":{"df":0,"docs":{},"副":{"df":0,"docs":{},"作":{"df":0,"docs":{},"用":{"df":0,"docs":{},"是":{"df":0,"docs":{},"更":{"df":0,"docs":{},"容":{"df":0,"docs":{},"易":{"df":0,"docs":{},"碰":{"df":0,"docs":{},"撞":{"df":0,"docs":{},",":{"df":0,"docs":{},"代":{"df":0,"docs":{},"表":{"df":0,"docs":{},"需":{"df":0,"docs":{},"要":{"df":0,"docs":{},"更":{"df":0,"docs":{},"有":{"df":0,"docs":{},"效":{"df":0,"docs":{},"處":{"df":0,"docs":{},"理":{"df":0,"docs":{},"雜":{"df":0,"docs":{},"湊":{"df":0,"docs":{},"碰":{"df":0,"docs":{},"撞":{"df":0,"docs":{},"(":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"274":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":1,"docs":{"284":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"284":{"tf":2.0},"285":{"tf":1.4142135623730951}}}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"262":{"tf":1.4142135623730951}}}}}},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}},"l":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"/":{"1":{".":{"4":{"9":{".":{"0":{"/":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"/":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"b":{"a":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"#":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"215":{"tf":1.0},"240":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"107":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"107":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"199":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"214":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"103":{"tf":1.0}}}}}},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"s":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}}},":":{":":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"y":{":":{":":{"<":{"df":0,"docs":{},"t":{">":{"(":{"c":{"a":{"df":0,"docs":{},"p":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"176":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"c":{"a":{"df":0,"docs":{},"p":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"176":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"176":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"176":{"tf":2.23606797749979}}}}}},"z":{"df":0,"docs":{},"i":{"df":2,"docs":{"143":{"tf":1.0},"251":{"tf":1.4142135623730951}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"114":{"tf":1.0},"52":{"tf":1.4142135623730951}}}}}},"df":2,"docs":{"273":{"tf":1.4142135623730951},"33":{"tf":1.0}},"e":{"a":{"d":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":2,"docs":{"89":{"tf":1.7320508075688772},"92":{"tf":1.0}}},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"210":{"tf":1.0},"215":{"tf":1.0}}}}},"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"w":{"df":1,"docs":{"12":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"89":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":3,"docs":{"119":{"tf":2.23606797749979},"54":{"tf":1.0},"92":{"tf":1.4142135623730951}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"108":{"tf":1.0},"147":{"tf":1.0},"34":{"tf":1.0}}}}}}}},"n":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":3,"docs":{"181":{"tf":1.0},"239":{"tf":1.0},"249":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":16,"docs":{"118":{"tf":2.23606797749979},"131":{"tf":1.0},"132":{"tf":1.0},"178":{"tf":1.0},"181":{"tf":1.4142135623730951},"189":{"tf":1.0},"233":{"tf":1.7320508075688772},"234":{"tf":1.7320508075688772},"235":{"tf":1.0},"236":{"tf":2.0},"238":{"tf":1.0},"249":{"tf":1.0},"262":{"tf":1.0},"67":{"tf":1.7320508075688772},"76":{"tf":2.0},"83":{"tf":1.4142135623730951}},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":3,"docs":{"112":{"tf":1.0},"238":{"tf":1.0},"279":{"tf":1.0}}}}}},"q":{"df":2,"docs":{"17":{"tf":2.23606797749979},"19":{"tf":2.0}}},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"260":{"tf":1.0},"276":{"tf":1.0}}}},"t":{"'":{"df":1,"docs":{"276":{"tf":1.0}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"89":{"tf":1.0}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":2,"docs":{"286":{"tf":1.4142135623730951},"289":{"tf":1.0}}},"df":0,"docs":{}}}}}},"_":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"287":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":3,"docs":{"282":{"tf":1.4142135623730951},"291":{"tf":2.0},"9":{"tf":1.0}}}}}}}}}}},"x":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"146":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":5,"docs":{"114":{"tf":1.0},"42":{"tf":1.7320508075688772},"80":{"tf":1.7320508075688772},"81":{"tf":1.0},"89":{"tf":1.0}},"{":{"\\":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"_":{"2":{"df":1,"docs":{"30":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"i":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"13":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"185":{"tf":2.8284271247461903},"251":{"tf":2.23606797749979}}}}}},"o":{"df":2,"docs":{"153":{"tf":1.0},"173":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"<":{"df":0,"docs":{},"t":{">":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":9,"docs":{"23":{"tf":1.0},"230":{"tf":2.0},"26":{"tf":1.0},"274":{"tf":1.7320508075688772},"3":{"tf":1.0},"40":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"47":{"tf":1.4142135623730951}}}},"df":2,"docs":{"188":{"tf":1.0},"271":{"tf":1.0}}},"k":{"df":14,"docs":{"144":{"tf":1.0},"153":{"tf":1.0},"163":{"tf":1.0},"171":{"tf":1.0},"191":{"tf":1.0},"198":{"tf":1.0},"199":{"tf":1.4142135623730951},"200":{"tf":1.0},"207":{"tf":1.0},"210":{"tf":2.6457513110645907},"215":{"tf":1.4142135623730951},"230":{"tf":1.4142135623730951},"65":{"tf":1.0},"7":{"tf":1.7320508075688772}},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"193":{"tf":1.0},"215":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":15,"docs":{"144":{"tf":1.0},"153":{"tf":1.0},"163":{"tf":1.0},"171":{"tf":1.0},"191":{"tf":1.0},"198":{"tf":1.0},"199":{"tf":1.4142135623730951},"200":{"tf":1.0},"207":{"tf":1.0},"210":{"tf":1.4142135623730951},"211":{"tf":1.4142135623730951},"215":{"tf":1.4142135623730951},"230":{"tf":1.4142135623730951},"65":{"tf":1.0},"7":{"tf":1.7320508075688772}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"265":{"tf":1.0}}}},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"20":{"tf":1.0}}}}}},"n":{"_":{"2":{"_":{"2":{")":{".":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"267":{"tf":1.4142135623730951},"269":{"tf":1.4142135623730951}},"{":{"\\":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"}":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"(":{"\\":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"df":0,"docs":{},"{":{"2":{"df":0,"docs":{},"}":{")":{"^":{"2":{"df":1,"docs":{"260":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}}},"o":{".":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"103":{"tf":1.0}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"44":{"tf":2.8284271247461903}}}},"df":0,"docs":{}}},"a":{"d":{"_":{"df":0,"docs":{},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"239":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":8,"docs":{"231":{"tf":2.449489742783178},"235":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.4142135623730951},"242":{"tf":1.0},"243":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.0}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"271":{"tf":1.0},"274":{"tf":1.0}}}},"df":0,"docs":{}},"df":9,"docs":{"102":{"tf":2.6457513110645907},"103":{"tf":1.4142135623730951},"105":{"tf":4.58257569495584},"107":{"tf":1.7320508075688772},"108":{"tf":1.4142135623730951},"13":{"tf":1.0},"41":{"tf":1.4142135623730951},"44":{"tf":3.1622776601683795},"54":{"tf":2.0}},"g":{"(":{"9":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.0}}}},"^":{"2":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"_":{"2":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"89":{"tf":1.0}}}},"df":3,"docs":{"267":{"tf":1.0},"269":{"tf":1.0},"30":{"tf":2.23606797749979}},"n":{"df":1,"docs":{"61":{"tf":1.0}}},"{":{"\\":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"260":{"tf":1.0}}}}}}}}},"f":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"{":{"1":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"\\":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"271":{"tf":1.0},"275":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"n":{"df":1,"docs":{"99":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":21,"docs":{"105":{"tf":1.4142135623730951},"110":{"tf":1.4142135623730951},"113":{"tf":1.7320508075688772},"114":{"tf":1.0},"145":{"tf":1.0},"15":{"tf":1.4142135623730951},"20":{"tf":1.0},"21":{"tf":1.0},"43":{"tf":2.0},"46":{"tf":2.0},"47":{"tf":1.4142135623730951},"53":{"tf":1.0},"69":{"tf":1.0},"82":{"tf":1.0},"88":{"tf":2.0},"89":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"94":{"tf":1.0},"98":{"tf":1.4142135623730951},"99":{"tf":1.0}},"i":{"c":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}},"{":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":7,"docs":{"100":{"tf":1.0},"103":{"tf":1.7320508075688772},"105":{"tf":1.0},"107":{"tf":1.4142135623730951},"96":{"tf":1.4142135623730951},"97":{"tf":1.0},"99":{"tf":1.4142135623730951}}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"p":{"df":11,"docs":{"105":{"tf":1.0},"108":{"tf":1.0},"119":{"tf":1.4142135623730951},"211":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.0},"279":{"tf":1.0},"291":{"tf":1.0},"44":{"tf":2.0},"76":{"tf":1.0},"92":{"tf":1.4142135623730951}}}},"w":{"df":1,"docs":{"96":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"54":{"tf":1.0}}}}}},"s":{"d":{"df":3,"docs":{"145":{"tf":1.0},"146":{"tf":2.23606797749979},"147":{"tf":1.0}}},"df":0,"docs":{},"m":{"df":1,"docs":{"274":{"tf":1.0}}}},"t":{"df":0,"docs":{},"、":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":1,"docs":{"256":{"tf":1.0}}}}}}},"m":{"$":{"df":0,"docs":{},"、":{"$":{"df":0,"docs":{},"n":{"$":{"df":0,"docs":{},"、":{"$":{"df":0,"docs":{},"k":{"$":{"df":0,"docs":{},"、":{"$":{"\\":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"267":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"236":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"262":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"230":{"tf":1.0},"262":{"tf":1.0},"44":{"tf":1.0}}}},"k":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"&":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"238":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"x":{">":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"233":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":4,"docs":{"235":{"tf":1.0},"237":{"tf":1.0},"266":{"tf":1.4142135623730951},"268":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":1,"docs":{"238":{"tf":1.0}}}},"n":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"184":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":2,"docs":{"210":{"tf":1.0},"215":{"tf":1.0}}}},"p":{"(":{"df":0,"docs":{},"|":{"(":{"_":{"df":1,"docs":{"237":{"tf":1.4142135623730951}}},"df":0,"docs":{},"k":{"df":1,"docs":{"240":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":2,"docs":{"238":{"tf":1.0},"54":{"tf":1.0}}}}},"df":0,"docs":{}}},"v":{"df":1,"docs":{"238":{"tf":1.0}}}}},"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"54":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":8,"docs":{"216":{"tf":1.0},"220":{"tf":1.0},"221":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.0},"244":{"tf":1.0},"274":{"tf":1.0},"8":{"tf":1.4142135623730951}}},"r":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"83":{"tf":1.0}},"s":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"83":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":2,"docs":{"80":{"tf":1.0},"83":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"264":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"122":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":9,"docs":{"143":{"tf":1.0},"168":{"tf":1.0},"185":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"210":{"tf":1.0},"238":{"tf":1.0},"256":{"tf":1.4142135623730951},"279":{"tf":1.4142135623730951},"61":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"289":{"tf":1.7320508075688772}}}},"df":1,"docs":{"288":{"tf":1.0}}}}}},"x":{"(":{"df":0,"docs":{},"i":{",":{"df":0,"docs":{},"j":{"df":2,"docs":{"284":{"tf":1.4142135623730951},"286":{"tf":1.0}}}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"151":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":8,"docs":{"130":{"tf":1.4142135623730951},"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"151":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":2.0},"90":{"tf":1.0},"92":{"tf":2.0}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":3,"docs":{"154":{"tf":1.4142135623730951},"156":{"tf":1.0},"159":{"tf":1.0}},"e":{"df":0,"docs":{},"、":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"154":{"tf":1.0}}}}}}}}}}}}},"df":10,"docs":{"260":{"tf":2.0},"262":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.0},"269":{"tf":1.0},"270":{"tf":2.6457513110645907},"284":{"tf":1.0},"290":{"tf":1.7320508075688772},"84":{"tf":1.0}},"e":{"d":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"99":{"tf":1.0}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"259":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{":":{":":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"184":{"tf":1.0}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"c":{"df":1,"docs":{"238":{"tf":1.4142135623730951}},"e":{"(":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"239":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{":":{":":{"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"176":{"tf":1.0},"179":{"tf":1.0}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"179":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"154":{"tf":1.0}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"266":{"tf":1.0}}}}}}}}},"c":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":2,"docs":{"119":{"tf":1.4142135623730951},"180":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":6,"docs":{"176":{"tf":1.4142135623730951},"181":{"tf":1.4142135623730951},"182":{"tf":2.0},"184":{"tf":1.0},"187":{"tf":1.4142135623730951},"215":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"g":{"df":7,"docs":{"112":{"tf":1.4142135623730951},"116":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"119":{"tf":1.4142135623730951},"122":{"tf":1.0},"193":{"tf":1.0}},"e":{"(":{"&":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"[":{".":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"117":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{".":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"118":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"1":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"117":{"tf":1.4142135623730951}}}}}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"117":{"tf":1.0}}}}},"df":0,"docs":{}},"_":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"118":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":9,"docs":{"110":{"tf":1.7320508075688772},"111":{"tf":1.7320508075688772},"112":{"tf":1.0},"114":{"tf":1.7320508075688772},"115":{"tf":1.4142135623730951},"116":{"tf":1.4142135623730951},"20":{"tf":1.0},"4":{"tf":1.0},"94":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}}}},"t":{"a":{"df":1,"docs":{"293":{"tf":1.0}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"d":{"df":5,"docs":{"131":{"tf":1.0},"185":{"tf":1.7320508075688772},"211":{"tf":1.4142135623730951},"255":{"tf":1.0},"256":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"i":{"b":{"df":2,"docs":{"259":{"tf":1.0},"270":{"tf":1.0}}},"d":{"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"44":{"tf":2.449489742783178}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"l":{"df":2,"docs":{"103":{"tf":1.0},"118":{"tf":1.0}}}},"df":4,"docs":{"117":{"tf":1.4142135623730951},"118":{"tf":1.0},"33":{"tf":1.7320508075688772},"34":{"tf":1.4142135623730951}}},"df":0,"docs":{},"n":{"(":{"2":{",":{"2":{",":{"1":{"df":1,"docs":{"285":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{",":{"2":{",":{"2":{"df":1,"docs":{"285":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{",":{"df":0,"docs":{},"j":{"df":2,"docs":{"284":{"tf":1.4142135623730951},"286":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":8,"docs":{"130":{"tf":1.4142135623730951},"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"284":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.0}},"、":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"x":{"df":1,"docs":{"130":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"240":{"tf":1.0},"251":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"l":{"a":{"c":{"df":1,"docs":{"108":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"244":{"tf":1.0}}}},"o":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"215":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"268":{"tf":1.0}}}},"df":1,"docs":{"256":{"tf":1.0}},"o":{"df":3,"docs":{"228":{"tf":1.0},"233":{"tf":1.0},"268":{"tf":1.0}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"119":{"tf":1.0},"175":{"tf":1.4142135623730951}}}},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"211":{"tf":1.0},"251":{"tf":2.8284271247461903}}}}},"s":{"d":{"df":2,"docs":{"145":{"tf":1.0},"146":{"tf":2.6457513110645907}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"222":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":5,"docs":{"157":{"tf":1.0},"167":{"tf":1.0},"211":{"tf":1.4142135623730951},"237":{"tf":1.0},"238":{"tf":1.0}}}},"df":0,"docs":{}},"df":43,"docs":{"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"105":{"tf":2.8284271247461903},"107":{"tf":2.0},"108":{"tf":1.7320508075688772},"117":{"tf":1.7320508075688772},"118":{"tf":2.23606797749979},"119":{"tf":2.0},"130":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":1.7320508075688772},"143":{"tf":1.4142135623730951},"151":{"tf":1.4142135623730951},"176":{"tf":1.4142135623730951},"185":{"tf":4.898979485566356},"186":{"tf":2.23606797749979},"187":{"tf":1.4142135623730951},"188":{"tf":1.4142135623730951},"207":{"tf":2.8284271247461903},"208":{"tf":1.4142135623730951},"210":{"tf":1.0},"211":{"tf":1.7320508075688772},"213":{"tf":1.0},"233":{"tf":1.4142135623730951},"236":{"tf":1.0},"239":{"tf":1.0},"251":{"tf":2.23606797749979},"268":{"tf":1.4142135623730951},"269":{"tf":1.4142135623730951},"278":{"tf":1.4142135623730951},"279":{"tf":1.7320508075688772},"287":{"tf":1.4142135623730951},"288":{"tf":1.4142135623730951},"289":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951},"44":{"tf":2.449489742783178},"54":{"tf":1.0},"59":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"76":{"tf":2.23606797749979},"83":{"tf":1.7320508075688772},"92":{"tf":2.0}}}}},"n":{")":{"$":{"df":0,"docs":{},",":{"$":{"df":0,"docs":{},"n":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}},"^":{"2":{"df":1,"docs":{"46":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"=":{"3":{"0":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},"5":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},">":{"df":0,"docs":{},"n":{"_":{"0":{"df":3,"docs":{"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"^":{"2":{"df":4,"docs":{"17":{"tf":1.0},"66":{"tf":1.0},"75":{"tf":1.4142135623730951},"99":{"tf":1.0}}},"df":0,"docs":{}},"_":{"0":{"df":3,"docs":{"17":{"tf":1.7320508075688772},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":3,"docs":{"151":{"tf":1.0},"289":{"tf":1.4142135623730951},"290":{"tf":1.0}}}},"n":{"df":1,"docs":{"256":{"tf":1.4142135623730951}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"107":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"121":{"tf":1.0}}}}},"ï":{"df":0,"docs":{},"v":{"df":7,"docs":{"100":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0},"48":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.4142135623730951},"73":{"tf":1.0}}}}},"c":{"df":1,"docs":{"13":{"tf":1.0}}},"df":63,"docs":{"100":{"tf":1.4142135623730951},"105":{"tf":2.0},"110":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"113":{"tf":1.7320508075688772},"114":{"tf":2.449489742783178},"115":{"tf":1.0},"123":{"tf":1.0},"127":{"tf":1.4142135623730951},"135":{"tf":1.0},"136":{"tf":1.7320508075688772},"137":{"tf":1.0},"139":{"tf":2.0},"140":{"tf":1.4142135623730951},"143":{"tf":1.0},"145":{"tf":1.0},"148":{"tf":1.4142135623730951},"149":{"tf":1.7320508075688772},"15":{"tf":2.0},"150":{"tf":1.0},"16":{"tf":2.0},"17":{"tf":2.23606797749979},"179":{"tf":1.4142135623730951},"18":{"tf":1.0},"189":{"tf":1.0},"19":{"tf":2.0},"20":{"tf":1.4142135623730951},"21":{"tf":1.0},"214":{"tf":1.4142135623730951},"221":{"tf":1.0},"228":{"tf":1.4142135623730951},"231":{"tf":1.0},"24":{"tf":1.4142135623730951},"241":{"tf":1.0},"242":{"tf":1.7320508075688772},"257":{"tf":1.0},"260":{"tf":1.0},"262":{"tf":2.23606797749979},"266":{"tf":1.0},"267":{"tf":1.4142135623730951},"269":{"tf":1.0},"27":{"tf":1.0},"270":{"tf":2.449489742783178},"272":{"tf":1.7320508075688772},"280":{"tf":1.0},"284":{"tf":1.4142135623730951},"290":{"tf":1.7320508075688772},"30":{"tf":3.1622776601683795},"43":{"tf":2.0},"46":{"tf":2.0},"47":{"tf":1.0},"58":{"tf":1.4142135623730951},"66":{"tf":2.0},"69":{"tf":1.0},"75":{"tf":2.23606797749979},"82":{"tf":1.7320508075688772},"88":{"tf":2.0},"89":{"tf":2.449489742783178},"90":{"tf":1.4142135623730951},"91":{"tf":1.0},"94":{"tf":1.4142135623730951},"98":{"tf":1.7320508075688772},"99":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"e":{"d":{"df":2,"docs":{"176":{"tf":1.0},"185":{"tf":1.0}}},"df":0,"docs":{}},"g":{"df":1,"docs":{"259":{"tf":1.0}}},"q":{"df":2,"docs":{"284":{"tf":1.4142135623730951},"287":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"234":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"99":{"tf":1.0}}}},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"84":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"264":{"tf":1.0}}}}},"w":{"(":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":2,"docs":{"267":{"tf":1.7320508075688772},"269":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"142":{"tf":1.0}}}}},"df":0,"docs":{}}},"_":{"c":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"76":{"tf":2.8284271247461903}}}}},"m":{"a":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"239":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":1,"docs":{"239":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"207":{"tf":1.0}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"k":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"251":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":1,"docs":{"251":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"176":{"tf":1.4142135623730951}}}}}},"df":13,"docs":{"142":{"tf":1.0},"143":{"tf":1.0},"166":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.0},"204":{"tf":1.0},"205":{"tf":1.0},"207":{"tf":1.4142135623730951},"235":{"tf":1.0},"236":{"tf":1.4142135623730951},"249":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"180":{"tf":1.0}}}}},"x":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"185":{"tf":2.0},"186":{"tf":1.0},"211":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"<":{"'":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{">":{"(":{"&":{"'":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":1,"docs":{"185":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"b":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":9,"docs":{"118":{"tf":1.0},"147":{"tf":1.0},"185":{"tf":1.7320508075688772},"202":{"tf":2.0},"206":{"tf":1.7320508075688772},"207":{"tf":2.0},"208":{"tf":2.8284271247461903},"210":{"tf":1.0},"211":{"tf":2.449489742783178}}}}},"g":{"df":1,"docs":{"284":{"tf":1.4142135623730951}}},"o":{"d":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"202":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{".":{"a":{"df":0,"docs":{},"s":{"_":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"211":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"210":{"tf":1.0}}}},"df":0,"docs":{}}},"df":4,"docs":{"202":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":2.449489742783178},"208":{"tf":1.4142135623730951}}}}}}},"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"202":{"tf":2.0},"211":{"tf":2.0}}}},"df":17,"docs":{"195":{"tf":1.4142135623730951},"196":{"tf":1.7320508075688772},"197":{"tf":3.1622776601683795},"198":{"tf":3.0},"200":{"tf":1.7320508075688772},"202":{"tf":2.449489742783178},"203":{"tf":1.7320508075688772},"207":{"tf":3.7416573867739413},"208":{"tf":2.8284271247461903},"210":{"tf":2.23606797749979},"211":{"tf":1.7320508075688772},"213":{"tf":1.4142135623730951},"215":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.4142135623730951},"89":{"tf":2.449489742783178},"92":{"tf":2.23606797749979}},"。":{"df":0,"docs":{},"但":{"df":0,"docs":{},"這":{"df":0,"docs":{},"樣":{"df":0,"docs":{},"編":{"df":0,"docs":{},"譯":{"df":0,"docs":{},"不":{"df":0,"docs":{},"會":{"df":0,"docs":{},"成":{"df":0,"docs":{},"功":{"df":0,"docs":{},",":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"202":{"tf":1.0}}}}}}}}}}}}}}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"251":{"tf":1.0}}}}},"df":0,"docs":{}}},"n":{"df":2,"docs":{"262":{"tf":1.4142135623730951},"92":{"tf":1.0}},"e":{"df":17,"docs":{"143":{"tf":1.0},"158":{"tf":1.0},"160":{"tf":1.0},"168":{"tf":1.0},"181":{"tf":1.4142135623730951},"182":{"tf":1.4142135623730951},"185":{"tf":2.0},"205":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.7320508075688772},"208":{"tf":1.0},"233":{"tf":1.0},"237":{"tf":1.0},"238":{"tf":1.7320508075688772},"25":{"tf":1.0},"256":{"tf":1.4142135623730951},"279":{"tf":2.23606797749979}}},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}}}}},"t":{"a":{"df":0,"docs":{},"t":{"df":5,"docs":{"1":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0},"22":{"tf":1.4142135623730951},"270":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":5,"docs":{"185":{"tf":2.23606797749979},"240":{"tf":1.0},"251":{"tf":1.0},"62":{"tf":1.0},"89":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":7,"docs":{"195":{"tf":1.4142135623730951},"196":{"tf":1.0},"197":{"tf":1.7320508075688772},"198":{"tf":1.7320508075688772},"200":{"tf":1.0},"202":{"tf":1.7320508075688772},"230":{"tf":1.0}}}},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"137":{"tf":1.0},"148":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.0},"227":{"tf":1.0}}}}},"df":1,"docs":{"44":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}}}},"}":{"df":0,"docs":{},"{":{"2":{"^":{"df":0,"docs":{},"k":{"df":2,"docs":{"80":{"tf":1.0},"81":{"tf":1.0}}}},"df":1,"docs":{"80":{"tf":1.0}}},"4":{"df":1,"docs":{"80":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"$":{"df":0,"docs":{},":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"17":{"tf":1.0}}}}},"df":0,"docs":{}}},"(":{"(":{"\\":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"46":{"tf":1.0}}}}}},"df":0,"docs":{}},"1":{"df":25,"docs":{"100":{"tf":1.0},"161":{"tf":2.0},"171":{"tf":2.0},"189":{"tf":4.0},"20":{"tf":1.0},"207":{"tf":1.0},"214":{"tf":2.0},"217":{"tf":1.0},"234":{"tf":1.0},"24":{"tf":1.4142135623730951},"241":{"tf":2.0},"242":{"tf":1.4142135623730951},"257":{"tf":1.7320508075688772},"259":{"tf":1.0},"270":{"tf":1.0},"280":{"tf":1.0},"30":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"58":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":1.0},"88":{"tf":1.0}}},"3":{"^":{"df":0,"docs":{},"{":{"df":0,"docs":{},"m":{"df":1,"docs":{"284":{"tf":1.0}}}}},"df":0,"docs":{}},"\\":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"89":{"tf":1.0}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"_":{"2":{"df":1,"docs":{"30":{"tf":1.0}}},"df":0,"docs":{}},"df":15,"docs":{"100":{"tf":1.0},"105":{"tf":1.4142135623730951},"115":{"tf":1.0},"143":{"tf":1.0},"20":{"tf":1.0},"221":{"tf":1.0},"27":{"tf":1.0},"30":{"tf":1.7320508075688772},"43":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"51":{"tf":1.4142135623730951},"53":{"tf":2.23606797749979},"89":{"tf":1.4142135623730951},"94":{"tf":1.0},"98":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"m":{",":{"df":0,"docs":{},"n":{"df":1,"docs":{"290":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"c":{"^":{"df":0,"docs":{},"n":{"df":1,"docs":{"20":{"tf":1.0}}}},"df":0,"docs":{}},"d":{"df":3,"docs":{"148":{"tf":1.0},"149":{"tf":1.4142135623730951},"150":{"tf":1.0}},"n":{"df":1,"docs":{"148":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":2.0}}}},"df":0,"docs":{}},"k":{"df":7,"docs":{"127":{"tf":1.0},"128":{"tf":1.4142135623730951},"139":{"tf":1.4142135623730951},"173":{"tf":1.0},"270":{"tf":1.7320508075688772},"273":{"tf":1.4142135623730951},"30":{"tf":1.0}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":2,"docs":{"52":{"tf":1.0},"53":{"tf":1.0}}}}},"m":{"df":1,"docs":{"270":{"tf":1.4142135623730951}},"n":{"df":1,"docs":{"290":{"tf":1.4142135623730951}}}},"n":{"+":{"df":0,"docs":{},"k":{"df":1,"docs":{"144":{"tf":1.0}}}},"^":{"2":{"df":18,"docs":{"106":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.4142135623730951},"17":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.7320508075688772},"61":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":2.0},"74":{"tf":1.4142135623730951},"75":{"tf":1.0},"76":{"tf":1.0},"82":{"tf":1.0},"94":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}},"3":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"df":42,"docs":{"100":{"tf":1.0},"110":{"tf":1.4142135623730951},"113":{"tf":2.0},"114":{"tf":1.0},"115":{"tf":1.4142135623730951},"123":{"tf":1.0},"126":{"tf":2.0},"127":{"tf":1.4142135623730951},"128":{"tf":1.4142135623730951},"137":{"tf":1.7320508075688772},"139":{"tf":2.8284271247461903},"140":{"tf":1.4142135623730951},"145":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.0},"151":{"tf":1.0},"17":{"tf":1.0},"171":{"tf":1.7320508075688772},"20":{"tf":1.7320508075688772},"207":{"tf":1.0},"21":{"tf":1.0},"214":{"tf":2.449489742783178},"24":{"tf":1.7320508075688772},"241":{"tf":2.0},"242":{"tf":1.4142135623730951},"243":{"tf":1.0},"257":{"tf":3.3166247903554},"280":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.7320508075688772},"46":{"tf":1.0},"58":{"tf":1.0},"69":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":1.7320508075688772},"88":{"tf":2.0},"89":{"tf":1.4142135623730951},"90":{"tf":1.0},"91":{"tf":1.0},"94":{"tf":1.0},"98":{"tf":1.7320508075688772},"99":{"tf":2.0}}}},"b":{"df":0,"docs":{},"j":{"df":1,"docs":{"25":{"tf":1.4142135623730951}},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"233":{"tf":1.0},"240":{"tf":1.7320508075688772},"265":{"tf":1.0}}}},"df":0,"docs":{}}}},"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"y":{"df":0,"docs":{},")":{"df":0,"docs":{},"。":{"c":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":1,"docs":{"275":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"r":{"df":2,"docs":{"124":{"tf":1.0},"125":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"b":{"df":2,"docs":{"46":{"tf":1.0},"47":{"tf":1.0}}},"df":0,"docs":{}}}},"df":9,"docs":{"10":{"tf":1.4142135623730951},"162":{"tf":1.0},"17":{"tf":1.7320508075688772},"18":{"tf":1.0},"180":{"tf":6.0},"19":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.4142135623730951},"46":{"tf":1.0}},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"276":{"tf":1.0}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":5,"docs":{"125":{"tf":1.0},"181":{"tf":1.4142135623730951},"182":{"tf":2.0},"187":{"tf":1.4142135623730951},"44":{"tf":2.0}}}}}}},"k":{"(":{"b":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":2,"docs":{"143":{"tf":1.0},"61":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}}}}}}}},"p":{"df":0,"docs":{},"o":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":4,"docs":{"207":{"tf":1.0},"213":{"tf":1.0},"32":{"tf":1.0},"44":{"tf":1.0}}},"l":{"d":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"180":{"tf":2.23606797749979}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"s":{"df":1,"docs":{"176":{"tf":1.0}}}},"df":1,"docs":{"176":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"df":1,"docs":{"176":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"a":{"$":{"df":0,"docs":{},":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"18":{"tf":1.0}}}}},"df":0,"docs":{}}},"(":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":0,"docs":{}},"n":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":3,"docs":{"18":{"tf":1.4142135623730951},"19":{"tf":1.0},"20":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}},"n":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"276":{"tf":1.0}}}},"df":4,"docs":{"175":{"tf":1.0},"211":{"tf":1.0},"238":{"tf":1.0},"81":{"tf":1.0}},"t":{"df":0,"docs":{},"o":{"df":1,"docs":{"175":{"tf":2.0}}}}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"296":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":4,"docs":{"230":{"tf":1.7320508075688772},"242":{"tf":1.0},"244":{"tf":1.0},"274":{"tf":1.7320508075688772}}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"{":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":2,"docs":{"284":{"tf":2.6457513110645907},"287":{"tf":1.7320508075688772}},"}":{"_":{"df":0,"docs":{},"{":{"a":{",":{"b":{"df":0,"docs":{},"}":{"(":{"df":0,"docs":{},"i":{",":{"df":0,"docs":{},"j":{"df":1,"docs":{"284":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"67":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":14,"docs":{"117":{"tf":1.0},"161":{"tf":1.0},"171":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.0},"179":{"tf":1.0},"189":{"tf":1.0},"214":{"tf":1.0},"241":{"tf":1.0},"254":{"tf":1.0},"255":{"tf":1.0},"257":{"tf":1.0},"268":{"tf":1.0},"270":{"tf":1.0}}}},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"275":{"tf":1.7320508075688772}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"266":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"r":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"266":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":3,"docs":{"210":{"tf":1.0},"267":{"tf":1.4142135623730951},"291":{"tf":1.0}},"i":{"df":0,"docs":{},"z":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},",":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},")":{"df":0,"docs":{},",":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"100":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{":":{":":{"a":{"df":0,"docs":{},"s":{"_":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.0}}}}}},"df":1,"docs":{"211":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"256":{"tf":1.0}}}}}}},"df":0,"docs":{}},"<":{"&":{"'":{"a":{"df":2,"docs":{"185":{"tf":1.7320508075688772},"211":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"t":{"df":4,"docs":{"160":{"tf":1.0},"170":{"tf":1.0},"181":{"tf":1.4142135623730951},"211":{"tf":1.0}}},"v":{"df":1,"docs":{"237":{"tf":1.4142135623730951}}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"202":{"tf":1.0},"203":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"256":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":3,"docs":{"185":{"tf":2.23606797749979},"186":{"tf":1.0},"211":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"df":8,"docs":{"158":{"tf":1.0},"168":{"tf":1.0},"170":{"tf":1.0},"182":{"tf":1.4142135623730951},"202":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"211":{"tf":1.0}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"233":{"tf":1.0},"25":{"tf":1.4142135623730951}}}},"v":{"df":1,"docs":{"238":{"tf":1.4142135623730951}}}},"df":3,"docs":{"158":{"tf":1.0},"249":{"tf":1.4142135623730951},"256":{"tf":1.0}}}}}}},"r":{"d":{"df":2,"docs":{"143":{"tf":1.4142135623730951},"256":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":10,"docs":{"112":{"tf":1.0},"146":{"tf":1.0},"221":{"tf":1.0},"256":{"tf":2.0},"8":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.7320508075688772},"89":{"tf":2.449489742783178},"90":{"tf":1.0},"92":{"tf":2.0}},",":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"256":{"tf":1.0}}}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"136":{"tf":1.4142135623730951},"143":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"251":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"(":{"&":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"253":{"tf":1.0},"256":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"252":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"253":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"251":{"tf":1.4142135623730951}}}}},"|":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"251":{"tf":1.7320508075688772}}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"212":{"tf":1.0},"253":{"tf":1.0},"256":{"tf":1.4142135623730951}}}}}},"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"251":{"tf":2.23606797749979}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"255":{"tf":1.7320508075688772}}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"255":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}},"u":{"df":0,"docs":{},"t":{"df":7,"docs":{"118":{"tf":1.0},"185":{"tf":1.0},"187":{"tf":1.7320508075688772},"205":{"tf":1.0},"210":{"tf":1.0},"211":{"tf":1.0},"67":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":2,"docs":{"185":{"tf":1.7320508075688772},"251":{"tf":1.4142135623730951}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":6,"docs":{"124":{"tf":1.0},"125":{"tf":1.0},"130":{"tf":1.0},"132":{"tf":1.0},"187":{"tf":1.0},"255":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"84":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"210":{"tf":1.0},"34":{"tf":1.4142135623730951}}}}}},"l":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"180":{"tf":1.0}}}},"df":0,"docs":{},"o":{"a":{"d":{"df":2,"docs":{"254":{"tf":1.0},"255":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"180":{"tf":1.0}}}}}}}}}}}},"w":{"df":0,"docs":{},"n":{"df":2,"docs":{"237":{"tf":1.7320508075688772},"251":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":5,"docs":{"206":{"tf":1.0},"207":{"tf":1.0},"208":{"tf":1.4142135623730951},"210":{"tf":1.0},"251":{"tf":1.0}}}}}}}}}},"、":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"20":{"tf":1.0}}}}}}}}},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{".":{"0":{"df":1,"docs":{"212":{"tf":1.0}}},"1":{"df":1,"docs":{"212":{"tf":1.0}}},"df":0,"docs":{}},"df":4,"docs":{"216":{"tf":1.0},"234":{"tf":1.4142135623730951},"256":{"tf":1.0},"71":{"tf":1.0}}}},"n":{"df":0,"docs":{},"i":{"c":{"!":{"(":{"\"":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"279":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"238":{"tf":1.0}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"83":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"142":{"tf":1.0}},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"185":{"tf":1.0},"251":{"tf":1.0},"264":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":1,"docs":{"256":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"256":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":2,"docs":{"103":{"tf":1.0},"256":{"tf":1.0}}}},"t":{"df":5,"docs":{"119":{"tf":1.0},"291":{"tf":1.0},"44":{"tf":1.4142135623730951},"91":{"tf":1.0},"92":{"tf":1.7320508075688772}},"i":{"a":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":1,"docs":{"256":{"tf":1.0}}}}},"df":0,"docs":{}},"_":{"c":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"256":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"256":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":5,"docs":{"212":{"tf":1.0},"256":{"tf":2.0},"274":{"tf":1.0},"275":{"tf":1.0},"85":{"tf":1.0}},"e":{"df":0,"docs":{},"q":{"df":3,"docs":{"212":{"tf":2.23606797749979},"25":{"tf":1.7320508075688772},"256":{"tf":1.4142135623730951}},",":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":1,"docs":{"256":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"r":{"d":{":":{":":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"_":{"c":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"256":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":4,"docs":{"256":{"tf":1.7320508075688772},"32":{"tf":1.4142135623730951},"33":{"tf":1.0},"54":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"t":{"df":9,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"103":{"tf":1.4142135623730951},"105":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"96":{"tf":1.7320508075688772},"97":{"tf":1.4142135623730951},"99":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":5,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"105":{"tf":1.7320508075688772},"107":{"tf":1.0},"108":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"81":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"210":{"tf":1.0},"256":{"tf":1.0}}}}}}}},"d":{"df":0,"docs":{},"f":{"df":1,"docs":{"43":{"tf":1.0}}},"q":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}}}}}}}},"df":1,"docs":{"208":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"k":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"160":{"tf":1.0},"170":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":2,"docs":{"155":{"tf":1.0},"165":{"tf":1.0}}}},"r":{"df":2,"docs":{"271":{"tf":1.0},"275":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{":":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"260":{"tf":1.0},"276":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":1,"docs":{"119":{"tf":1.0}}}}}},"l":{"df":2,"docs":{"43":{"tf":1.0},"47":{"tf":1.0}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"200":{"tf":1.4142135623730951}}}}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"264":{"tf":1.0},"269":{"tf":1.0}}}},"df":3,"docs":{"264":{"tf":1.4142135623730951},"267":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"227":{"tf":1.4142135623730951}}}}}},"i":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"284":{"tf":1.0}}}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"e":{"df":9,"docs":{"103":{"tf":1.0},"117":{"tf":1.0},"119":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951},"63":{"tf":2.0},"64":{"tf":2.0},"67":{"tf":1.0},"85":{"tf":2.0},"92":{"tf":1.0}}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":11,"docs":{"102":{"tf":3.0},"103":{"tf":3.3166247903554},"104":{"tf":1.0},"105":{"tf":4.47213595499958},"106":{"tf":1.7320508075688772},"107":{"tf":2.8284271247461903},"108":{"tf":3.0},"95":{"tf":3.0},"96":{"tf":3.4641016151377544},"97":{"tf":4.123105625617661},"99":{"tf":2.23606797749979}},"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"106":{"tf":1.0}}}}}}}},")":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"106":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}},",":{"df":0,"docs":{},"i":{"df":1,"docs":{"97":{"tf":1.0}}}}}}}},"l":{"a":{"c":{"df":0,"docs":{},"e":{"df":2,"docs":{"128":{"tf":1.0},"143":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"o":{"df":2,"docs":{"207":{"tf":3.0},"61":{"tf":2.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":10,"docs":{"107":{"tf":1.0},"176":{"tf":1.0},"180":{"tf":1.0},"185":{"tf":1.0},"195":{"tf":1.0},"202":{"tf":1.0},"207":{"tf":1.0},"236":{"tf":1.0},"251":{"tf":1.0},"262":{"tf":1.0}},",":{"df":0,"docs":{},"但":{"df":0,"docs":{},"照":{"df":0,"docs":{},"鏈":{"df":0,"docs":{},"結":{"df":0,"docs":{},"串":{"df":0,"docs":{},"列":{"df":0,"docs":{},"的":{"df":0,"docs":{},"定":{"df":0,"docs":{},"義":{"df":0,"docs":{},",":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"202":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}},"p":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"158":{"tf":1.0}}}}}},"df":0,"docs":{}},"_":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"182":{"tf":1.0}}}}}},"df":0,"docs":{},"v":{"df":1,"docs":{"189":{"tf":1.0}}}},"df":3,"docs":{"178":{"tf":1.0},"182":{"tf":1.0},"184":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"182":{"tf":1.0},"206":{"tf":1.0}}}}}},"df":0,"docs":{},"v":{"df":1,"docs":{"189":{"tf":1.0}}}},"df":6,"docs":{"178":{"tf":1.0},"182":{"tf":1.0},"204":{"tf":1.0},"206":{"tf":1.0},"210":{"tf":1.4142135623730951},"211":{"tf":1.4142135623730951}}}}}}}},"df":7,"docs":{"155":{"tf":1.0},"158":{"tf":1.0},"160":{"tf":1.0},"161":{"tf":1.4142135623730951},"186":{"tf":1.0},"211":{"tf":1.0},"214":{"tf":1.4142135623730951}}},"s":{"_":{"df":1,"docs":{"207":{"tf":2.23606797749979}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"238":{"tf":1.0}}}}},"t":{"df":2,"docs":{"132":{"tf":1.0},"260":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"|":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"238":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},")":{"df":0,"docs":{},",":{"df":0,"docs":{},"但":{"df":0,"docs":{},"絕":{"df":0,"docs":{},"不":{"df":0,"docs":{},"會":{"df":0,"docs":{},"有":{"df":0,"docs":{},"假":{"df":0,"docs":{},"陰":{"df":0,"docs":{},"性":{"df":0,"docs":{},"(":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":1,"docs":{"259":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}},"p":{"df":1,"docs":{"47":{"tf":1.0}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"275":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}},"s":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"132":{"tf":2.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":5,"docs":{"124":{"tf":1.4142135623730951},"125":{"tf":4.242640687119285},"127":{"tf":1.0},"131":{"tf":2.23606797749979},"132":{"tf":2.0}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"214":{"tf":1.0}}},"df":0,"docs":{}}}},"v":{".":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"208":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":1,"docs":{"208":{"tf":2.8284271247461903}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":3,"docs":{"207":{"tf":1.0},"208":{"tf":1.4142135623730951},"210":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"287":{"tf":1.0}}}}},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"152":{"tf":1.0}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"df":1,"docs":{"186":{"tf":1.0}}}}}},"v":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"154":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"b":{"a":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"259":{"tf":1.0}}}}}}},"l":{"df":3,"docs":{"260":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":2,"docs":{"230":{"tf":2.449489742783178},"274":{"tf":1.7320508075688772}}}},"c":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"92":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"47":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":3,"docs":{"215":{"tf":1.0},"240":{"tf":1.0},"285":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"293":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"86":{"tf":1.0},"87":{"tf":1.7320508075688772},"89":{"tf":1.0}}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"d":{"df":0,"docs":{},"o":{"df":1,"docs":{"139":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"df":2,"docs":{"284":{"tf":1.0},"286":{"tf":1.0}},"r":{".":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"176":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}},":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"180":{"tf":1.0}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"180":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{":":{":":{"d":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{")":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"176":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"182":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"182":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":4,"docs":{"176":{"tf":2.6457513110645907},"185":{"tf":1.7320508075688772},"188":{"tf":1.0},"230":{"tf":1.7320508075688772}}}},"u":{"b":{"df":66,"docs":{"102":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"130":{"tf":1.0},"132":{"tf":1.0},"142":{"tf":1.0},"143":{"tf":1.4142135623730951},"151":{"tf":1.0},"154":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.0},"164":{"tf":1.0},"166":{"tf":1.0},"167":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":1.0},"176":{"tf":1.4142135623730951},"177":{"tf":1.4142135623730951},"179":{"tf":1.0},"181":{"tf":2.0},"182":{"tf":2.0},"185":{"tf":1.4142135623730951},"186":{"tf":1.0},"203":{"tf":1.0},"205":{"tf":1.0},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"208":{"tf":1.0},"211":{"tf":2.449489742783178},"234":{"tf":1.4142135623730951},"236":{"tf":1.4142135623730951},"237":{"tf":1.4142135623730951},"238":{"tf":1.4142135623730951},"240":{"tf":1.0},"247":{"tf":1.0},"249":{"tf":2.449489742783178},"25":{"tf":1.4142135623730951},"251":{"tf":2.449489742783178},"252":{"tf":2.0},"253":{"tf":1.7320508075688772},"262":{"tf":1.7320508075688772},"263":{"tf":1.0},"264":{"tf":2.0},"265":{"tf":1.4142135623730951},"267":{"tf":1.7320508075688772},"268":{"tf":1.0},"269":{"tf":2.23606797749979},"278":{"tf":1.4142135623730951},"279":{"tf":1.0},"286":{"tf":1.4142135623730951},"287":{"tf":1.0},"289":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"44":{"tf":1.4142135623730951},"54":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0},"76":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"92":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"199":{"tf":1.0},"258":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"293":{"tf":1.0},"294":{"tf":1.0}}}},"s":{"df":0,"docs":{},"h":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"157":{"tf":1.0}}}}}},"df":0,"docs":{}},"_":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"182":{"tf":1.0}}}}}},"df":0,"docs":{},"v":{"df":1,"docs":{"189":{"tf":1.0}}}},"df":4,"docs":{"178":{"tf":1.0},"179":{"tf":2.0},"180":{"tf":1.4142135623730951},"182":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"182":{"tf":1.0},"206":{"tf":1.0}}}}}},"df":0,"docs":{},"v":{"df":1,"docs":{"189":{"tf":1.0}}}},"df":5,"docs":{"178":{"tf":1.0},"179":{"tf":1.4142135623730951},"182":{"tf":1.0},"204":{"tf":1.0},"206":{"tf":1.0}}}}}}}},"df":7,"docs":{"143":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"159":{"tf":1.0},"161":{"tf":1.4142135623730951},"239":{"tf":1.0}}}},"t":{"df":1,"docs":{"142":{"tf":1.0}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"216":{"tf":1.0},"254":{"tf":1.4142135623730951},"256":{"tf":1.0},"258":{"tf":1.0},"61":{"tf":1.7320508075688772}}}}}}}},"q":{"df":3,"docs":{"237":{"tf":2.0},"238":{"tf":2.0},"249":{"tf":2.0}},"u":{"a":{"d":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"230":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"71":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"266":{"tf":1.0}}}}},"df":0,"docs":{},"(":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"q":{"df":1,"docs":{"266":{"tf":1.0}}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"164":{"tf":1.0}}}},"df":4,"docs":{"163":{"tf":1.4142135623730951},"172":{"tf":1.0},"173":{"tf":1.0},"6":{"tf":1.0}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"p":{"df":1,"docs":{"102":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":2,"docs":{"102":{"tf":2.0},"105":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"o":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"105":{"tf":2.23606797749979}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"d":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"105":{"tf":2.23606797749979}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"102":{"tf":1.0}}}}},"df":0,"docs":{}},"df":1,"docs":{"102":{"tf":1.0}}}}}}}}},"df":15,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"104":{"tf":1.0},"105":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.7320508075688772},"21":{"tf":1.0},"4":{"tf":1.0},"56":{"tf":1.0},"94":{"tf":2.0},"95":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.7320508075688772},"99":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"274":{"tf":2.449489742783178},"275":{"tf":1.4142135623730951}}}}}}}}}},"r":{"a":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"151":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":8,"docs":{"145":{"tf":2.6457513110645907},"146":{"tf":2.23606797749979},"147":{"tf":1.4142135623730951},"149":{"tf":2.23606797749979},"150":{"tf":1.4142135623730951},"151":{"tf":2.8284271247461903},"152":{"tf":1.4142135623730951},"4":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"i":{"df":1,"docs":{"205":{"tf":1.0}}}},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":4,"docs":{"173":{"tf":1.0},"192":{"tf":1.0},"207":{"tf":1.0},"242":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{")":{".":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":2,"docs":{"267":{"tf":1.4142135623730951},"269":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"267":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"g":{"df":3,"docs":{"117":{"tf":1.0},"136":{"tf":1.4142135623730951},"67":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"67":{"tf":1.0}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"67":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":1,"docs":{"273":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{":":{":":{"c":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"179":{"tf":1.0}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"176":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"180":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"177":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{"df":4,"docs":{"176":{"tf":2.0},"177":{"tf":1.0},"179":{"tf":1.0},"188":{"tf":1.0}}}},"df":6,"docs":{"176":{"tf":2.8284271247461903},"177":{"tf":1.0},"180":{"tf":1.0},"184":{"tf":1.4142135623730951},"188":{"tf":1.0},"190":{"tf":1.0}}},"df":0,"docs":{}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"114":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"89":{"tf":1.0}}}}}},"df":4,"docs":{"109":{"tf":1.0},"244":{"tf":1.0},"273":{"tf":1.0},"33":{"tf":1.0}},"e":{"a":{"d":{"/":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":2,"docs":{"263":{"tf":1.0},"264":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"c":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{".":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":4,"docs":{"176":{"tf":1.7320508075688772},"192":{"tf":1.0},"231":{"tf":1.0},"239":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":1,"docs":{"164":{"tf":1.0}}}},"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":5,"docs":{"102":{"tf":1.4142135623730951},"112":{"tf":1.0},"202":{"tf":1.0},"210":{"tf":1.0},"273":{"tf":1.0}}}}}},"df":1,"docs":{"207":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":9,"docs":{"157":{"tf":1.0},"167":{"tf":1.0},"185":{"tf":1.0},"208":{"tf":1.0},"211":{"tf":1.4142135623730951},"237":{"tf":1.0},"240":{"tf":1.0},"264":{"tf":1.0},"278":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"256":{"tf":1.0}}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"176":{"tf":1.0},"181":{"tf":1.4142135623730951},"182":{"tf":2.0},"184":{"tf":1.0},"187":{"tf":1.4142135623730951}}}}}},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":3,"docs":{"231":{"tf":1.0},"239":{"tf":1.0},"274":{"tf":1.0}}}}},"df":0,"docs":{}},"l":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"256":{"tf":2.0}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"176":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":6,"docs":{"204":{"tf":1.0},"207":{"tf":1.0},"214":{"tf":1.0},"235":{"tf":1.0},"249":{"tf":1.4142135623730951},"264":{"tf":1.0}},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"207":{"tf":1.0}}}}}},"df":0,"docs":{},"k":{"df":1,"docs":{"241":{"tf":1.0}}},"v":{"df":1,"docs":{"257":{"tf":1.0}}}},"<":{"df":0,"docs":{},"q":{">":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"238":{"tf":1.0},"249":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"146":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"l":{"a":{"c":{"df":1,"docs":{"176":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"215":{"tf":1.0}}}}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"293":{"tf":1.0},"294":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"r":{"df":4,"docs":{"185":{"tf":1.4142135623730951},"211":{"tf":1.4142135623730951},"255":{"tf":1.0},"256":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"119":{"tf":1.0}}}},"i":{"df":0,"docs":{},"z":{"df":4,"docs":{"180":{"tf":1.4142135623730951},"236":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"112":{"tf":1.0}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":5,"docs":{"32":{"tf":1.0},"33":{"tf":1.0},"44":{"tf":1.4142135623730951},"54":{"tf":1.0},"61":{"tf":1.0}}}}},"df":6,"docs":{"117":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"119":{"tf":1.0},"207":{"tf":1.0},"32":{"tf":1.0},"44":{"tf":1.7320508075688772}}}}}},"t":{"[":{"df":0,"docs":{},"i":{".":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":1,"docs":{"118":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{".":{".":{"]":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"(":{"&":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"1":{"[":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"119":{"tf":1.0}}}}}}},"df":0,"docs":{}},"2":{"[":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"119":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"119":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"df":4,"docs":{"117":{"tf":2.0},"118":{"tf":1.4142135623730951},"119":{"tf":2.449489742783178},"143":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":25,"docs":{"103":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"117":{"tf":1.0},"119":{"tf":1.0},"157":{"tf":1.4142135623730951},"176":{"tf":1.4142135623730951},"181":{"tf":1.4142135623730951},"182":{"tf":1.4142135623730951},"185":{"tf":2.0},"207":{"tf":1.4142135623730951},"212":{"tf":1.0},"233":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.0},"25":{"tf":1.0},"251":{"tf":1.7320508075688772},"253":{"tf":1.0},"256":{"tf":1.0},"286":{"tf":1.4142135623730951},"287":{"tf":1.4142135623730951},"289":{"tf":1.4142135623730951},"33":{"tf":1.0},"44":{"tf":1.7320508075688772},"54":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"215":{"tf":1.0}},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"208":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{},":":{"df":0,"docs":{},"反":{"df":0,"docs":{},"轉":{"df":0,"docs":{},"整":{"df":0,"docs":{},"個":{"df":0,"docs":{},"串":{"df":0,"docs":{},"列":{"df":0,"docs":{},"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"204":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}}}}}},"f":{"c":{"df":2,"docs":{"240":{"tf":1.0},"251":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":6,"docs":{"114":{"tf":1.4142135623730951},"30":{"tf":1.0},"42":{"tf":1.7320508075688772},"80":{"tf":1.7320508075688772},"81":{"tf":1.0},"89":{"tf":1.0}}}}}}},"h":{"df":1,"docs":{"255":{"tf":1.0}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"30":{"tf":1.7320508075688772}}}}}}},"df":3,"docs":{"119":{"tf":2.23606797749979},"278":{"tf":1.4142135623730951},"92":{"tf":1.0}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"108":{"tf":1.0},"147":{"tf":1.0},"34":{"tf":1.0}}}}}}}}},"n":{"df":0,"docs":{},"g":{"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"f":{"df":3,"docs":{"177":{"tf":1.4142135623730951},"180":{"tf":1.0},"185":{"tf":2.449489742783178}}}}},"df":0,"docs":{}},"df":3,"docs":{"174":{"tf":1.0},"175":{"tf":1.0},"180":{"tf":1.0}}}}},"o":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"231":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"h":{"df":1,"docs":{"93":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"t":{"df":3,"docs":{"86":{"tf":1.0},"87":{"tf":2.6457513110645907},"92":{"tf":3.3166247903554}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}}}}}},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"121":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"_":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"b":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{":":{":":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"259":{"tf":1.0}}}}}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"173":{"tf":1.0}}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"226":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"245":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":1,"docs":{"163":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"200":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}}}},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"153":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"277":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":1,"docs":{"277":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"n":{"a":{"df":1,"docs":{"282":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":1,"docs":{"282":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"256":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"c":{"df":1,"docs":{"185":{"tf":1.0}}},"df":55,"docs":{"0":{"tf":2.23606797749979},"105":{"tf":1.4142135623730951},"108":{"tf":1.0},"117":{"tf":1.0},"131":{"tf":1.0},"143":{"tf":1.4142135623730951},"144":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"164":{"tf":1.0},"167":{"tf":1.0},"176":{"tf":2.0},"181":{"tf":1.4142135623730951},"183":{"tf":1.4142135623730951},"185":{"tf":2.0},"186":{"tf":1.0},"187":{"tf":1.4142135623730951},"190":{"tf":1.4142135623730951},"193":{"tf":1.0},"202":{"tf":1.0},"205":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":1.4142135623730951},"211":{"tf":1.0},"212":{"tf":1.0},"215":{"tf":2.0},"216":{"tf":1.0},"225":{"tf":1.0},"231":{"tf":1.0},"232":{"tf":1.0},"233":{"tf":2.0},"236":{"tf":1.0},"237":{"tf":1.0},"240":{"tf":2.449489742783178},"244":{"tf":1.0},"248":{"tf":1.7320508075688772},"25":{"tf":1.0},"251":{"tf":2.23606797749979},"253":{"tf":1.0},"254":{"tf":1.0},"255":{"tf":1.0},"256":{"tf":1.7320508075688772},"258":{"tf":1.0},"262":{"tf":1.0},"264":{"tf":1.4142135623730951},"267":{"tf":1.0},"278":{"tf":1.7320508075688772},"287":{"tf":1.0},"288":{"tf":1.0},"291":{"tf":1.4142135623730951},"292":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"32":{"tf":1.0},"44":{"tf":1.7320508075688772}},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{"df":1,"docs":{"294":{"tf":1.0}}}}}}}}},"s":{"a":{"df":15,"docs":{"122":{"tf":1.0},"13":{"tf":1.0},"190":{"tf":1.0},"212":{"tf":1.7320508075688772},"225":{"tf":1.0},"244":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.4142135623730951},"62":{"tf":1.0},"64":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"77":{"tf":1.0},"93":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"df":5,"docs":{"176":{"tf":2.0},"180":{"tf":1.4142135623730951},"181":{"tf":1.4142135623730951},"182":{"tf":2.0},"187":{"tf":1.4142135623730951}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}}}}},"m":{"'":{"df":1,"docs":{"227":{"tf":1.0}}},"df":2,"docs":{"227":{"tf":3.0},"230":{"tf":1.4142135623730951}},"e":{"_":{"df":0,"docs":{},"s":{"df":1,"docs":{"256":{"tf":1.4142135623730951}}}},"df":3,"docs":{"260":{"tf":1.0},"276":{"tf":1.0},"279":{"tf":1.0}}}},"、":{"df":0,"docs":{},"s":{"b":{"df":0,"docs":{},",":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"、":{"df":0,"docs":{},"s":{"b":{"df":1,"docs":{"212":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"b":{"df":1,"docs":{"212":{"tf":2.0}}},"c":{"a":{"df":0,"docs":{},"l":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"273":{"tf":2.23606797749979}}}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":2,"docs":{"131":{"tf":1.4142135623730951},"132":{"tf":1.0}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"135":{"tf":1.0},"136":{"tf":1.0},"143":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":2,"docs":{"175":{"tf":2.23606797749979},"54":{"tf":1.0}}}}}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"291":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"e":{"df":5,"docs":{"103":{"tf":1.7320508075688772},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"96":{"tf":1.4142135623730951},"97":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":2,"docs":{"47":{"tf":1.0},"84":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":2,"docs":{"205":{"tf":1.0},"210":{"tf":1.0}},",":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"210":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"258":{"tf":1.0}}}}}}}}}}}},"df":3,"docs":{"273":{"tf":1.7320508075688772},"284":{"tf":1.0},"285":{"tf":1.7320508075688772}},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"241":{"tf":1.0}}}},"df":17,"docs":{"117":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.4142135623730951},"26":{"tf":1.0},"27":{"tf":1.4142135623730951},"3":{"tf":2.0},"36":{"tf":2.0},"37":{"tf":1.7320508075688772},"39":{"tf":1.0},"40":{"tf":1.4142135623730951},"43":{"tf":1.0},"46":{"tf":1.7320508075688772},"47":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"61":{"tf":1.0}},"—":{"a":{"df":2,"docs":{"43":{"tf":1.0},"47":{"tf":1.0}}},"df":0,"docs":{}},",":{"df":0,"docs":{},"又":{"df":0,"docs":{},"稱":{"df":0,"docs":{},"對":{"df":0,"docs":{},"數":{"df":0,"docs":{},"搜":{"df":0,"docs":{},"尋":{"df":0,"docs":{},"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"df":1,"docs":{"27":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}}}}}}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"109":{"tf":1.0},"244":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":10,"docs":{"4":{"tf":1.0},"56":{"tf":1.0},"63":{"tf":1.7320508075688772},"64":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951},"87":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"67":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"66":{"tf":1.0}}}}}},"df":0,"docs":{}},"f":{".":{"0":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"186":{"tf":1.0},"211":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}},"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"n":{"d":{".":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"233":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"237":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"239":{"tf":1.0}}}}}},"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"239":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"238":{"tf":1.0}},"s":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{")":{".":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"|":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"237":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{")":{".":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"|":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"238":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"240":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"239":{"tf":1.0},"240":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"239":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"c":{"a":{"df":0,"docs":{},"p":{"df":4,"docs":{"176":{"tf":1.7320508075688772},"179":{"tf":1.7320508075688772},"180":{"tf":1.4142135623730951},"181":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"251":{"tf":2.23606797749979}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{")":{".":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"252":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"249":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"249":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"249":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"|":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"251":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"249":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"249":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"249":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"[":{"0":{"]":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"]":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"e":{"a":{"d":{".":{"a":{"df":0,"docs":{},"s":{"_":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"211":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"k":{"df":3,"docs":{"206":{"tf":1.4142135623730951},"208":{"tf":1.0},"210":{"tf":1.0}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"181":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":6,"docs":{"180":{"tf":1.7320508075688772},"182":{"tf":1.7320508075688772},"185":{"tf":1.7320508075688772},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"208":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"253":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"181":{"tf":1.4142135623730951},"182":{"tf":1.4142135623730951}}}}}}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"180":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"256":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"256":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"t":{"df":2,"docs":{"186":{"tf":1.0},"213":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"170":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"168":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"160":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"157":{"tf":1.0},"159":{"tf":1.0},"169":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"158":{"tf":1.0}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"157":{"tf":1.0},"167":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"r":{"(":{")":{".":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"253":{"tf":1.0},"256":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"252":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"251":{"tf":2.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"252":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}}}},"z":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{")":{".":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"212":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"186":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":8,"docs":{"180":{"tf":1.0},"181":{"tf":1.0},"187":{"tf":1.4142135623730951},"212":{"tf":1.0},"238":{"tf":1.7320508075688772},"239":{"tf":1.7320508075688772},"253":{"tf":1.0},"256":{"tf":1.4142135623730951}}}}},"m":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.7320508075688772}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"237":{"tf":1.0}}}}},"q":{"df":2,"docs":{"237":{"tf":1.0},"238":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"x":{"df":0,"docs":{},"s":{"df":1,"docs":{"157":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.4142135623730951}}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"_":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"184":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"210":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"r":{"(":{")":{".":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{")":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"182":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"187":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"l":{"d":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"180":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{")":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"182":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"176":{"tf":1.0},"180":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"f":{".":{"c":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"179":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"185":{"tf":2.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"185":{"tf":1.7320508075688772}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"180":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"185":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"180":{"tf":1.0},"182":{"tf":1.7320508075688772},"185":{"tf":3.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"182":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":1,"docs":{"238":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"&":{"df":0,"docs":{},"r":{"df":0,"docs":{},"h":{"df":0,"docs":{},"s":{")":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"d":{"(":{")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"255":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"182":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"182":{"tf":1.0},"187":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":2,"docs":{"181":{"tf":1.0},"182":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"182":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"186":{"tf":1.7320508075688772},"211":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":2,"docs":{"267":{"tf":1.4142135623730951},"269":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"r":{"df":2,"docs":{"267":{"tf":1.4142135623730951},"269":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"187":{"tf":1.0},"255":{"tf":1.0}}}}}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"(":{"1":{"df":1,"docs":{"176":{"tf":1.0}}},"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"239":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":33,"docs":{"156":{"tf":1.4142135623730951},"157":{"tf":1.0},"158":{"tf":1.0},"166":{"tf":1.4142135623730951},"167":{"tf":1.0},"168":{"tf":1.0},"176":{"tf":2.449489742783178},"177":{"tf":1.4142135623730951},"180":{"tf":1.0},"182":{"tf":2.0},"184":{"tf":1.0},"185":{"tf":3.4641016151377544},"186":{"tf":1.0},"187":{"tf":1.0},"205":{"tf":1.7320508075688772},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"208":{"tf":1.0},"210":{"tf":1.4142135623730951},"211":{"tf":2.0},"212":{"tf":1.0},"236":{"tf":2.23606797749979},"238":{"tf":1.7320508075688772},"239":{"tf":1.7320508075688772},"249":{"tf":1.4142135623730951},"251":{"tf":4.795831523312719},"252":{"tf":3.1622776601683795},"253":{"tf":2.6457513110645907},"255":{"tf":1.0},"256":{"tf":1.4142135623730951},"267":{"tf":2.0},"268":{"tf":1.0},"269":{"tf":1.7320508075688772}},"、":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"251":{"tf":1.0}}}}}},"(":{"&":{"'":{"a":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"197":{"tf":1.0}},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"197":{"tf":2.449489742783178}}}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":5,"docs":{"230":{"tf":2.0},"234":{"tf":1.4142135623730951},"242":{"tf":1.0},"243":{"tf":1.0},"274":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":9,"docs":{"211":{"tf":1.0},"230":{"tf":1.0},"44":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.4142135623730951},"80":{"tf":2.0},"81":{"tf":1.0},"82":{"tf":2.0},"83":{"tf":2.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"23":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"80":{"tf":1.0}}},"df":0,"docs":{}}}}},"t":{"df":9,"docs":{"223":{"tf":1.4142135623730951},"245":{"tf":1.0},"248":{"tf":1.0},"250":{"tf":1.0},"251":{"tf":1.4142135623730951},"255":{"tf":2.8284271247461903},"256":{"tf":1.0},"258":{"tf":1.4142135623730951},"8":{"tf":1.0}},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"44":{"tf":1.0}}}}}},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"200":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"162":{"tf":1.0},"20":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"83":{"tf":1.0}}}}},"df":0,"docs":{}},"df":8,"docs":{"4":{"tf":1.0},"78":{"tf":2.0},"79":{"tf":1.0},"80":{"tf":1.4142135623730951},"81":{"tf":1.4142135623730951},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.7320508075688772}}}}}}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":2,"docs":{"278":{"tf":1.4142135623730951},"54":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"231":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"i":{"df":1,"docs":{"285":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"t":{"_":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"92":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"df":2,"docs":{"89":{"tf":1.4142135623730951},"92":{"tf":2.8284271247461903}}}}}},"df":0,"docs":{}},"df":4,"docs":{"87":{"tf":1.7320508075688772},"89":{"tf":1.7320508075688772},"90":{"tf":1.7320508075688772},"92":{"tf":1.0}}}},"g":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"130":{"tf":1.4142135623730951},"143":{"tf":1.0},"32":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},")":{"df":0,"docs":{},"則":{"df":0,"docs":{},"是":{"df":0,"docs":{},"算":{"df":0,"docs":{},"術":{"df":0,"docs":{},"右":{"df":0,"docs":{},"移":{"df":0,"docs":{},"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"278":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"146":{"tf":1.4142135623730951},"278":{"tf":1.0}}},"df":0,"docs":{}}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":6,"docs":{"171":{"tf":1.0},"198":{"tf":1.0},"199":{"tf":1.0},"200":{"tf":1.0},"215":{"tf":1.0},"7":{"tf":1.0}}},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{"df":6,"docs":{"203":{"tf":1.0},"205":{"tf":1.0},"210":{"tf":1.4142135623730951},"211":{"tf":1.4142135623730951},"212":{"tf":1.0},"213":{"tf":1.0}}}},"df":5,"docs":{"203":{"tf":1.0},"206":{"tf":1.0},"209":{"tf":1.0},"211":{"tf":2.0},"212":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}},"k":{"df":1,"docs":{"71":{"tf":1.0}}}},"t":{"df":2,"docs":{"284":{"tf":1.4142135623730951},"285":{"tf":1.4142135623730951}}},"z":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"159":{"tf":1.0},"169":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":17,"docs":{"155":{"tf":1.0},"159":{"tf":1.0},"165":{"tf":1.0},"176":{"tf":1.4142135623730951},"179":{"tf":1.4142135623730951},"233":{"tf":2.449489742783178},"237":{"tf":1.0},"238":{"tf":1.0},"248":{"tf":1.0},"249":{"tf":1.4142135623730951},"259":{"tf":1.0},"262":{"tf":2.0},"264":{"tf":1.0},"265":{"tf":2.0},"269":{"tf":1.4142135623730951},"33":{"tf":3.0},"54":{"tf":2.0}}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"81":{"tf":1.7320508075688772}}}}},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"185":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"170":{"tf":1.0}}}}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}}},"df":1,"docs":{"185":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":10,"docs":{"117":{"tf":1.4142135623730951},"173":{"tf":1.0},"184":{"tf":1.0},"185":{"tf":1.0},"233":{"tf":1.0},"262":{"tf":1.4142135623730951},"265":{"tf":1.0},"32":{"tf":1.0},"54":{"tf":2.0},"61":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"t":{"df":3,"docs":{"227":{"tf":1.4142135623730951},"230":{"tf":2.449489742783178},"274":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"107":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":5,"docs":{"264":{"tf":1.0},"265":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.4142135623730951},"288":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"185":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"(":{"&":{"'":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":1,"docs":{"185":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"*":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"(":{")":{".":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"181":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"181":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"211":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"(":{"_":{"df":1,"docs":{"238":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":1,"docs":{"238":{"tf":1.0}}}},"*":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}}},"_":{"df":2,"docs":{"184":{"tf":1.0},"279":{"tf":1.4142135623730951}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"206":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"c":{"1":{"df":1,"docs":{"279":{"tf":1.0}}},"2":{"df":1,"docs":{"279":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"233":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"a":{"d":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"206":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"25":{"tf":1.0}}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"v":{"df":1,"docs":{"238":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"207":{"tf":1.0},"208":{"tf":1.0},"210":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"207":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"o":{"d":{"df":2,"docs":{"207":{"tf":1.4142135623730951},"208":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"207":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"256":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"256":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{")":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"|":{"_":{"df":1,"docs":{"256":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"256":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"0":{"df":1,"docs":{"168":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"(":{")":{".":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"182":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"182":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":2,"docs":{"174":{"tf":1.0},"177":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"296":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"t":{"/":{"b":{"df":0,"docs":{},"u":{"b":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"56":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":56,"docs":{"122":{"tf":1.4142135623730951},"123":{"tf":2.0},"125":{"tf":1.0},"127":{"tf":1.4142135623730951},"128":{"tf":1.4142135623730951},"129":{"tf":1.4142135623730951},"130":{"tf":1.0},"133":{"tf":1.4142135623730951},"134":{"tf":2.23606797749979},"135":{"tf":1.0},"136":{"tf":2.8284271247461903},"138":{"tf":2.0},"140":{"tf":1.0},"142":{"tf":1.4142135623730951},"143":{"tf":2.23606797749979},"144":{"tf":1.7320508075688772},"145":{"tf":3.872983346207417},"146":{"tf":2.6457513110645907},"147":{"tf":3.0},"149":{"tf":3.0},"150":{"tf":2.0},"151":{"tf":2.8284271247461903},"152":{"tf":1.4142135623730951},"20":{"tf":1.0},"38":{"tf":1.7320508075688772},"4":{"tf":2.449489742783178},"46":{"tf":1.0},"47":{"tf":1.0},"56":{"tf":2.0},"57":{"tf":1.0},"58":{"tf":1.4142135623730951},"61":{"tf":2.8284271247461903},"62":{"tf":1.4142135623730951},"63":{"tf":2.23606797749979},"64":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"69":{"tf":1.0},"70":{"tf":1.7320508075688772},"71":{"tf":2.23606797749979},"73":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"77":{"tf":1.4142135623730951},"78":{"tf":2.0},"79":{"tf":1.4142135623730951},"81":{"tf":3.7416573867739413},"82":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":2.23606797749979},"87":{"tf":1.7320508075688772},"90":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.4142135623730951},"93":{"tf":1.0},"94":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"151":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"。":{"b":{"df":0,"docs":{},"u":{"b":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"71":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}}}}}}},",":{"df":0,"docs":{},"但":{"df":0,"docs":{},"前":{"df":0,"docs":{},"一":{"df":0,"docs":{},"次":{"df":0,"docs":{},"結":{"df":0,"docs":{},"果":{"df":0,"docs":{},"已":{"df":0,"docs":{},"經":{"df":0,"docs":{},"很":{"df":0,"docs":{},"接":{"df":0,"docs":{},"近":{"df":0,"docs":{},"排":{"df":0,"docs":{},"序":{"df":0,"docs":{},"完":{"df":0,"docs":{},"成":{"df":0,"docs":{},",":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"81":{"tf":1.0}}}}}}}}}}}}}}}}}}}}}}}},"此":{"df":0,"docs":{},"時":{"df":0,"docs":{},"大":{"df":0,"docs":{},"部":{"df":0,"docs":{},"分":{"df":0,"docs":{},"元":{"df":0,"docs":{},"素":{"df":0,"docs":{},"皆":{"df":0,"docs":{},"排":{"df":0,"docs":{},"序":{"df":0,"docs":{},"完":{"df":0,"docs":{},"成":{"df":0,"docs":{},",":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}}}}}}}}}}}}}}}}}}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":4,"docs":{"274":{"tf":1.0},"275":{"tf":1.0},"278":{"tf":1.4142135623730951},"279":{"tf":1.7320508075688772}},"e":{".":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"279":{"tf":1.0}},"s":{"(":{")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"287":{"tf":1.4142135623730951},"289":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"286":{"tf":1.0},"287":{"tf":1.0},"289":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"286":{"tf":1.0},"287":{"tf":1.0},"289":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"279":{"tf":1.0}}}}}}},"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"287":{"tf":2.0},"288":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"p":{"a":{"c":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"276":{"tf":1.0}}}}}},"df":23,"docs":{"100":{"tf":1.0},"113":{"tf":1.0},"115":{"tf":1.0},"126":{"tf":1.0},"128":{"tf":1.0},"137":{"tf":1.0},"140":{"tf":1.0},"148":{"tf":1.0},"150":{"tf":1.0},"214":{"tf":1.0},"24":{"tf":1.0},"290":{"tf":1.4142135623730951},"30":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"51":{"tf":1.0},"58":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":1.0},"88":{"tf":1.0},"98":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"112":{"tf":1.4142135623730951},"117":{"tf":1.0},"118":{"tf":1.0},"193":{"tf":1.0}}}}}},"r":{"c":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"/":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"3":{"4":{"4":{":":{"6":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{":":{"1":{"2":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"5":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"3":{":":{"2":{"3":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"9":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"/":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"2":{"5":{"3":{":":{"9":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"1":{"7":{":":{"4":{"8":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{":":{"5":{"3":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{":":{"9":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"3":{":":{"2":{"4":{"df":1,"docs":{"264":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"7":{":":{"2":{"3":{"df":1,"docs":{"262":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{":":{"5":{"df":1,"docs":{"262":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":2,"docs":{"180":{"tf":1.0},"182":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"s":{"d":{"df":1,"docs":{"274":{"tf":1.0}}},"df":0,"docs":{}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"145":{"tf":1.0},"70":{"tf":1.0}}}},"c":{"df":0,"docs":{},"k":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"154":{"tf":1.0}}}},"df":9,"docs":{"100":{"tf":1.7320508075688772},"105":{"tf":1.7320508075688772},"115":{"tf":1.0},"153":{"tf":1.7320508075688772},"162":{"tf":1.0},"200":{"tf":1.0},"210":{"tf":2.23606797749979},"6":{"tf":1.0},"99":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"x":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"215":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"215":{"tf":1.0}}}}}}}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":7,"docs":{"118":{"tf":1.0},"124":{"tf":1.4142135623730951},"125":{"tf":1.4142135623730951},"132":{"tf":1.0},"211":{"tf":1.0},"34":{"tf":1.7320508075688772},"92":{"tf":3.0}}}},"t":{"df":0,"docs":{},"e":{"df":3,"docs":{"131":{"tf":1.4142135623730951},"132":{"tf":1.4142135623730951},"233":{"tf":1.0}}},"i":{"c":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":1,"docs":{"0":{"tf":1.0}}}}},"d":{":":{":":{"c":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"118":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"256":{"tf":1.0}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"264":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":3,"docs":{"263":{"tf":1.0},"264":{"tf":1.4142135623730951},"265":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"d":{"df":0,"docs":{},"t":{"df":1,"docs":{"225":{"tf":1.0}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{":":{":":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"184":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{},"f":{"3":{"2":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"267":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"4":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"267":{"tf":1.0}},"s":{":":{":":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"_":{"2":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"f":{"(":{"2":{"df":0,"docs":{},"f":{"6":{"4":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{":":{":":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"213":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":1,"docs":{"213":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"213":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{":":{":":{"df":0,"docs":{},"{":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"233":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"<":{"'":{"_":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"240":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"225":{"tf":1.0}}},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":2,"docs":{"264":{"tf":1.7320508075688772},"265":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"256":{"tf":1.0}}}},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"240":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"<":{"'":{"_":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"(":{"&":{"df":0,"docs":{},"k":{"df":1,"docs":{"240":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"c":{":":{":":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"240":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":1,"docs":{"164":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":2,"docs":{"267":{"tf":1.0},"291":{"tf":1.0}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":2,"docs":{"225":{"tf":1.0},"244":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"174":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":4,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"142":{"tf":1.0},"44":{"tf":1.0}}}}},"r":{":":{":":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"279":{"tf":1.4142135623730951},"287":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"287":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":6,"docs":{"237":{"tf":1.0},"264":{"tf":1.0},"279":{"tf":1.4142135623730951},"286":{"tf":2.0},"287":{"tf":1.4142135623730951},"289":{"tf":1.4142135623730951}},"e":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":5,"docs":{"233":{"tf":1.0},"237":{"tf":1.0},"264":{"tf":1.0},"265":{"tf":1.0},"286":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":22,"docs":{"142":{"tf":1.4142135623730951},"154":{"tf":1.0},"164":{"tf":1.0},"174":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.0},"185":{"tf":1.4142135623730951},"186":{"tf":1.0},"188":{"tf":1.0},"202":{"tf":1.7320508075688772},"203":{"tf":2.23606797749979},"210":{"tf":1.4142135623730951},"211":{"tf":3.1622776601683795},"233":{"tf":1.0},"234":{"tf":1.4142135623730951},"240":{"tf":1.4142135623730951},"247":{"tf":1.0},"262":{"tf":2.449489742783178},"263":{"tf":1.0},"264":{"tf":3.3166247903554},"265":{"tf":1.4142135623730951},"269":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"200":{"tf":1.0},"259":{"tf":1.0},"273":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"u":{"b":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"112":{"tf":1.4142135623730951},"97":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":3,"docs":{"287":{"tf":2.0},"289":{"tf":2.6457513110645907},"54":{"tf":1.7320508075688772}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"200":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"145":{"tf":1.0},"146":{"tf":1.4142135623730951},"149":{"tf":1.4142135623730951}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":2,"docs":{"118":{"tf":1.0},"81":{"tf":2.6457513110645907}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"282":{"tf":1.0},"289":{"tf":1.0}}}}}},"r":{"df":2,"docs":{"284":{"tf":1.0},"9":{"tf":1.0}},"e":{"df":1,"docs":{"92":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"179":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"89":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"176":{"tf":1.0},"264":{"tf":1.0}}}},"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"{":{"df":0,"docs":{},"i":{"=":{"0":{"df":0,"docs":{},"}":{"^":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"df":1,"docs":{"75":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"1":{"df":0,"docs":{},"}":{"^":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"df":1,"docs":{"66":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"99":{"tf":1.0}}}}},"df":6,"docs":{"124":{"tf":1.4142135623730951},"125":{"tf":4.358898943540674},"127":{"tf":1.0},"131":{"tf":2.23606797749979},"132":{"tf":2.0},"91":{"tf":1.0}}}},"v":{"df":0,"docs":{},"g":{"df":3,"docs":{"199":{"tf":1.0},"215":{"tf":1.0},"47":{"tf":1.4142135623730951}}}},"w":{"a":{"df":0,"docs":{},"p":{"'":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"92":{"tf":1.0}}}}},"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"238":{"tf":1.0}}}}}}}},"df":6,"docs":{"103":{"tf":1.4142135623730951},"107":{"tf":1.0},"108":{"tf":1.0},"76":{"tf":2.0},"87":{"tf":2.0},"97":{"tf":2.6457513110645907}},")":{"df":0,"docs":{},"、":{"df":0,"docs":{},"賦":{"df":0,"docs":{},"值":{"df":0,"docs":{},"(":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"61":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}},"改":{"df":0,"docs":{},"為":{"df":0,"docs":{},"插":{"df":0,"docs":{},"入":{"df":0,"docs":{},"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"65":{"tf":1.0}}}}}}}}}}}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"8":{"df":3,"docs":{"62":{"tf":1.0},"72":{"tf":1.0},"77":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":2,"docs":{"0":{"tf":1.0},"109":{"tf":1.0}}}}}},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"256":{"tf":1.0},"257":{"tf":1.0}},"i":{"c":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"250":{"tf":1.0},"255":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"<":{"'":{"a":{">":{"(":{"&":{"'":{"a":{"df":1,"docs":{"252":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"47":{"tf":1.0}}}}}}}}}}},"t":{"(":{"\\":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"114":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"n":{"df":1,"docs":{"114":{"tf":1.7320508075688772}}}},">":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":3,"docs":{"130":{"tf":1.0},"132":{"tf":1.0},"143":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"]":{"df":0,"docs":{},"。":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}}}},"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"244":{"tf":1.4142135623730951}},"e":{"[":{"0":{"df":1,"docs":{"227":{"tf":1.0}}},"1":{"df":1,"docs":{"227":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"227":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":15,"docs":{"100":{"tf":1.0},"105":{"tf":1.0},"174":{"tf":1.0},"175":{"tf":3.3166247903554},"177":{"tf":1.4142135623730951},"179":{"tf":1.4142135623730951},"180":{"tf":2.0},"181":{"tf":1.4142135623730951},"182":{"tf":1.7320508075688772},"185":{"tf":3.3166247903554},"189":{"tf":1.0},"196":{"tf":1.7320508075688772},"200":{"tf":1.0},"204":{"tf":1.0},"210":{"tf":1.4142135623730951}},"、":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"189":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"k":{"df":0,"docs":{},"e":{"df":5,"docs":{"206":{"tf":1.0},"207":{"tf":1.0},"208":{"tf":1.0},"210":{"tf":1.0},"251":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"105":{"tf":1.0}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}},"t":{")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"278":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"279":{"tf":1.0}},"s":{"(":{")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"287":{"tf":1.4142135623730951},"289":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"286":{"tf":1.0},"287":{"tf":1.0},"289":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"286":{"tf":1.0},"287":{"tf":1.0},"289":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"279":{"tf":1.0}}}}}}},"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"287":{"tf":2.0},"288":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"df":10,"docs":{"25":{"tf":1.4142135623730951},"278":{"tf":1.7320508075688772},"279":{"tf":2.0},"286":{"tf":1.4142135623730951},"287":{"tf":1.0},"289":{"tf":1.4142135623730951},"32":{"tf":1.0},"33":{"tf":2.0},"44":{"tf":4.123105625617661},"54":{"tf":1.7320508075688772}}}}}}},"c":{"df":0,"docs":{},"o":{"df":1,"docs":{"105":{"tf":2.0}}}},"df":33,"docs":{"130":{"tf":1.7320508075688772},"132":{"tf":1.4142135623730951},"142":{"tf":2.23606797749979},"143":{"tf":2.449489742783178},"151":{"tf":1.4142135623730951},"157":{"tf":1.0},"167":{"tf":1.0},"175":{"tf":3.0},"176":{"tf":1.7320508075688772},"179":{"tf":1.4142135623730951},"180":{"tf":2.449489742783178},"182":{"tf":1.4142135623730951},"185":{"tf":5.744562646538029},"186":{"tf":3.1622776601683795},"187":{"tf":1.4142135623730951},"188":{"tf":1.0},"202":{"tf":1.7320508075688772},"206":{"tf":1.0},"207":{"tf":1.0},"211":{"tf":3.872983346207417},"247":{"tf":1.0},"249":{"tf":2.23606797749979},"25":{"tf":2.6457513110645907},"251":{"tf":3.605551275463989},"252":{"tf":2.0},"255":{"tf":1.7320508075688772},"256":{"tf":1.7320508075688772},"264":{"tf":2.449489742783178},"268":{"tf":2.0},"269":{"tf":2.8284271247461903},"32":{"tf":2.0},"33":{"tf":1.7320508075688772},"54":{"tf":1.7320508075688772}},"e":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"105":{"tf":1.0},"210":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"67":{"tf":1.7320508075688772}}}},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"16":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"294":{"tf":1.0}}}},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"242":{"tf":1.0}},"{":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"y":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"50":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":3,"docs":{"114":{"tf":1.0},"284":{"tf":1.4142135623730951},"286":{"tf":1.0}}}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":2,"docs":{"231":{"tf":1.0},"242":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":2,"docs":{"114":{"tf":1.0},"284":{"tf":1.0}}}}}}}}}}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"176":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"114":{"tf":1.0}}}},"i":{"df":2,"docs":{"223":{"tf":1.0},"258":{"tf":1.0}}}}},"t":{"a":{"$":{"df":0,"docs":{},":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"19":{"tf":1.0}}}}},"df":0,"docs":{}}},"(":{"1":{"+":{"\\":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"df":0,"docs":{},"k":{"df":1,"docs":{"242":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"19":{"tf":1.0}}}},"df":0,"docs":{}},"n":{"df":1,"docs":{"19":{"tf":1.0}}}},"df":1,"docs":{"19":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"274":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":2,"docs":{"256":{"tf":1.0},"44":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"274":{"tf":1.0}}}}}}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":9,"docs":{"114":{"tf":1.0},"127":{"tf":1.0},"149":{"tf":1.0},"22":{"tf":1.0},"262":{"tf":1.4142135623730951},"270":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.0},"99":{"tf":1.0}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"121":{"tf":1.4142135623730951},"4":{"tf":1.0}}}}}}}},"o":{"_":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"132":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"p":{"df":3,"docs":{"116":{"tf":1.0},"117":{"tf":1.0},"119":{"tf":1.0}}},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"256":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"r":{"a":{"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"276":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":23,"docs":{"143":{"tf":1.0},"183":{"tf":1.0},"185":{"tf":1.7320508075688772},"188":{"tf":1.0},"205":{"tf":1.0},"209":{"tf":1.4142135623730951},"210":{"tf":1.4142135623730951},"211":{"tf":2.449489742783178},"212":{"tf":1.7320508075688772},"213":{"tf":1.4142135623730951},"232":{"tf":1.0},"233":{"tf":2.23606797749979},"236":{"tf":1.0},"237":{"tf":1.0},"240":{"tf":3.3166247903554},"251":{"tf":1.4142135623730951},"255":{"tf":1.7320508075688772},"256":{"tf":2.0},"265":{"tf":1.7320508075688772},"288":{"tf":1.0},"44":{"tf":1.4142135623730951},"67":{"tf":1.0},"83":{"tf":1.0}},",":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":1,"docs":{"233":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"208":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"256":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"211":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":3,"docs":{"274":{"tf":1.0},"46":{"tf":1.0},"87":{"tf":1.0}},"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}}}}},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"251":{"tf":1.0}}}},"u":{"df":0,"docs":{},"e":{"df":7,"docs":{"157":{"tf":1.0},"168":{"tf":1.0},"256":{"tf":2.0},"262":{"tf":1.4142135623730951},"268":{"tf":1.0},"269":{"tf":1.0},"76":{"tf":1.7320508075688772}}}},"y":{"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"176":{"tf":1.0},"180":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":3,"docs":{"176":{"tf":1.4142135623730951},"178":{"tf":1.0},"180":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":1,"docs":{"235":{"tf":1.0}},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"239":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"211":{"tf":1.0},"247":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"j":{"df":1,"docs":{"291":{"tf":1.0}}}}}}}},"w":{"df":0,"docs":{},"o":{"df":4,"docs":{"103":{"tf":1.0},"108":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":18,"docs":{"162":{"tf":1.0},"172":{"tf":1.0},"176":{"tf":1.4142135623730951},"185":{"tf":2.23606797749979},"186":{"tf":2.6457513110645907},"187":{"tf":1.0},"211":{"tf":2.23606797749979},"233":{"tf":1.0},"234":{"tf":1.4142135623730951},"240":{"tf":1.7320508075688772},"245":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.7320508075688772},"251":{"tf":1.4142135623730951},"255":{"tf":1.0},"262":{"tf":1.0},"264":{"tf":2.23606797749979},"287":{"tf":1.0}},"s":{"df":0,"docs":{},"(":{"d":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"233":{"tf":1.0},"262":{"tf":1.0}}}}},"df":0,"docs":{},"z":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}}}}}}},"、":{"df":0,"docs":{},"k":{"df":0,"docs":{},"、":{"df":0,"docs":{},"v":{"df":1,"docs":{"264":{"tf":1.0}}}}}}},"u":{"3":{"2":{">":{"df":0,"docs":{},",":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"264":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":2,"docs":{"264":{"tf":1.0},"278":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"6":{"4":{"df":3,"docs":{"268":{"tf":2.6457513110645907},"269":{"tf":3.0},"278":{"tf":2.0}}},"df":0,"docs":{}},"8":{"df":1,"docs":{"237":{"tf":1.0}}},"df":0,"docs":{},"m":{"d":{"df":1,"docs":{"89":{"tf":1.0}}},"df":0,"docs":{}},"n":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"217":{"tf":1.0}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"176":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"279":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":3,"docs":{"229":{"tf":1.0},"43":{"tf":1.7320508075688772},"47":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"n":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"251":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"<":{"'":{"a":{">":{"(":{"&":{"'":{"a":{"df":2,"docs":{"251":{"tf":1.4142135623730951},"252":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"251":{"tf":1.4142135623730951},"252":{"tf":1.4142135623730951},"255":{"tf":1.0},"257":{"tf":1.0}},":":{"df":0,"docs":{},"聯":{"df":0,"docs":{},"集":{"df":0,"docs":{},",":{"a":{"df":1,"docs":{"250":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"t":{"df":3,"docs":{"244":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.4142135623730951}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":3,"docs":{"122":{"tf":1.0},"152":{"tf":1.0},"93":{"tf":1.0}}}}}}},"s":{"a":{"df":0,"docs":{},"f":{"df":6,"docs":{"176":{"tf":2.23606797749979},"180":{"tf":1.0},"181":{"tf":1.7320508075688772},"182":{"tf":2.0},"185":{"tf":1.7320508075688772},"187":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},")":{"df":0,"docs":{},"是":{"df":0,"docs":{},"邏":{"df":0,"docs":{},"輯":{"df":0,"docs":{},"右":{"df":0,"docs":{},"移":{"df":0,"docs":{},"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"278":{"tf":1.0}}}}}}}}}}}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":6,"docs":{"63":{"tf":1.4142135623730951},"64":{"tf":1.7320508075688772},"67":{"tf":1.0},"85":{"tf":1.4142135623730951},"87":{"tf":1.0},"92":{"tf":1.4142135623730951}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"70":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"176":{"tf":1.0},"264":{"tf":1.0}}}},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"&":{"0":{"df":1,"docs":{"151":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"287":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"241":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":5,"docs":{"116":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"285":{"tf":1.0},"91":{"tf":1.0}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"118":{"tf":1.4142135623730951},"54":{"tf":1.0},"67":{"tf":1.0}}}}}},"s":{"df":12,"docs":{"132":{"tf":1.0},"144":{"tf":1.0},"151":{"tf":1.0},"211":{"tf":1.0},"233":{"tf":1.0},"251":{"tf":1.0},"262":{"tf":1.0},"263":{"tf":1.0},"264":{"tf":2.23606797749979},"265":{"tf":1.4142135623730951},"267":{"tf":1.0},"54":{"tf":1.0}},"e":{"_":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"(":{"a":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"z":{"df":42,"docs":{"103":{"tf":2.449489742783178},"107":{"tf":2.6457513110645907},"108":{"tf":1.7320508075688772},"130":{"tf":2.0},"132":{"tf":1.7320508075688772},"151":{"tf":1.0},"154":{"tf":1.0},"156":{"tf":1.0},"159":{"tf":1.0},"169":{"tf":1.0},"174":{"tf":1.4142135623730951},"176":{"tf":1.4142135623730951},"177":{"tf":1.4142135623730951},"179":{"tf":3.4641016151377544},"181":{"tf":1.0},"185":{"tf":2.0},"187":{"tf":1.4142135623730951},"188":{"tf":1.0},"207":{"tf":1.7320508075688772},"233":{"tf":1.4142135623730951},"234":{"tf":1.0},"236":{"tf":2.23606797749979},"249":{"tf":1.0},"262":{"tf":1.4142135623730951},"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":2.8284271247461903},"268":{"tf":1.4142135623730951},"269":{"tf":3.0},"279":{"tf":1.0},"286":{"tf":1.4142135623730951},"287":{"tf":1.7320508075688772},"288":{"tf":1.0},"289":{"tf":1.4142135623730951},"32":{"tf":1.0},"33":{"tf":1.7320508075688772},"44":{"tf":2.23606797749979},"54":{"tf":1.0},"61":{"tf":1.0},"76":{"tf":1.0},"83":{"tf":1.7320508075688772},"92":{"tf":1.4142135623730951}},"e":{":":{":":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"x":{"df":1,"docs":{"179":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"f":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}}}},"v":{">":{">":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"236":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"61":{"tf":1.0}},"i":{"d":{"df":5,"docs":{"181":{"tf":1.4142135623730951},"182":{"tf":2.0},"185":{"tf":1.0},"187":{"tf":1.4142135623730951},"92":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":18,"docs":{"107":{"tf":1.7320508075688772},"125":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":2.0},"136":{"tf":1.4142135623730951},"142":{"tf":2.8284271247461903},"143":{"tf":2.449489742783178},"211":{"tf":1.0},"216":{"tf":1.0},"230":{"tf":1.0},"234":{"tf":1.4142135623730951},"237":{"tf":1.4142135623730951},"238":{"tf":2.0},"249":{"tf":2.23606797749979},"251":{"tf":1.0},"262":{"tf":1.7320508075688772},"44":{"tf":1.4142135623730951},"96":{"tf":1.4142135623730951}},"e":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"132":{"tf":1.4142135623730951},"143":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"251":{"tf":1.0},"44":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":16,"docs":{"112":{"tf":1.4142135623730951},"136":{"tf":3.4641016151377544},"189":{"tf":1.0},"196":{"tf":1.4142135623730951},"197":{"tf":1.0},"200":{"tf":1.0},"230":{"tf":1.0},"234":{"tf":2.8284271247461903},"236":{"tf":2.23606797749979},"237":{"tf":2.0},"238":{"tf":2.0},"239":{"tf":1.4142135623730951},"240":{"tf":3.3166247903554},"241":{"tf":1.7320508075688772},"257":{"tf":1.0},"264":{"tf":1.0}},"e":{"c":{"!":{"[":{"0":{"df":1,"docs":{"288":{"tf":1.0}}},"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}}}},"df":0,"docs":{}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"142":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"!":{"[":{"0":{"df":2,"docs":{"287":{"tf":1.4142135623730951},"288":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":1,"docs":{"131":{"tf":1.0}}}}}},":":{":":{"<":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{"df":1,"docs":{"236":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"237":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":3,"docs":{"143":{"tf":1.0},"166":{"tf":1.0},"236":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"171":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"238":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"x":{"df":0,"docs":{},"s":{"df":1,"docs":{"156":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"<":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"234":{"tf":1.4142135623730951}}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":4,"docs":{"262":{"tf":1.0},"263":{"tf":1.0},"264":{"tf":1.4142135623730951},"269":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"h":{"df":1,"docs":{"143":{"tf":1.0}}},"k":{"df":2,"docs":{"234":{"tf":1.0},"236":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"df":4,"docs":{"142":{"tf":1.0},"154":{"tf":1.0},"164":{"tf":1.0},"171":{"tf":1.0}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"288":{"tf":1.0},"289":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"u":{"8":{"df":1,"docs":{"264":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":1,"docs":{"288":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":2,"docs":{"190":{"tf":1.0},"193":{"tf":1.0}},"e":{":":{":":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"180":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":14,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"131":{"tf":1.0},"142":{"tf":1.0},"166":{"tf":1.0},"167":{"tf":1.0},"170":{"tf":1.4142135623730951},"176":{"tf":1.4142135623730951},"234":{"tf":1.4142135623730951},"236":{"tf":1.0},"239":{"tf":1.0},"262":{"tf":2.23606797749979},"287":{"tf":1.0},"288":{"tf":2.0}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":9,"docs":{"117":{"tf":1.0},"153":{"tf":1.0},"156":{"tf":2.23606797749979},"157":{"tf":1.0},"163":{"tf":1.0},"234":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"287":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":2,"docs":{"250":{"tf":1.0},"258":{"tf":1.0}}}}},"i":{"a":{"df":11,"docs":{"122":{"tf":1.0},"190":{"tf":1.0},"199":{"tf":1.0},"225":{"tf":1.0},"244":{"tf":1.0},"258":{"tf":1.0},"47":{"tf":1.4142135623730951},"62":{"tf":1.0},"70":{"tf":1.0},"77":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"179":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":1,"docs":{"10":{"tf":1.0}}}},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"47":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":3,"docs":{"107":{"tf":1.0},"108":{"tf":1.0},"256":{"tf":1.0}},"n":{"df":2,"docs":{"109":{"tf":1.0},"244":{"tf":1.0}}}}},"df":1,"docs":{"260":{"tf":1.4142135623730951}},"e":{"b":{"df":1,"docs":{"133":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"13":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"12":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"296":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"185":{"tf":1.0},"44":{"tf":1.0}}}}}}}},"i":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"w":{"7":{"7":{"2":{"1":{"0":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"d":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"118":{"tf":2.6457513110645907}}}}},"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":25,"docs":{"109":{"tf":1.0},"122":{"tf":1.0},"133":{"tf":1.0},"144":{"tf":1.4142135623730951},"152":{"tf":1.0},"163":{"tf":1.0},"190":{"tf":1.0},"199":{"tf":1.0},"22":{"tf":1.4142135623730951},"225":{"tf":1.4142135623730951},"244":{"tf":1.4142135623730951},"258":{"tf":1.0},"26":{"tf":1.0},"276":{"tf":1.0},"281":{"tf":1.0},"291":{"tf":1.0},"39":{"tf":1.0},"47":{"tf":1.0},"55":{"tf":1.0},"62":{"tf":1.0},"70":{"tf":1.0},"77":{"tf":1.0},"84":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.4142135623730951}},"m":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"a":{"df":10,"docs":{"122":{"tf":1.0},"190":{"tf":1.0},"199":{"tf":1.0},"225":{"tf":1.0},"244":{"tf":1.0},"47":{"tf":1.4142135623730951},"62":{"tf":1.0},"70":{"tf":1.0},"77":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"a":{"df":4,"docs":{"153":{"tf":1.4142135623730951},"163":{"tf":1.0},"258":{"tf":1.0},"271":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"h":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":3,"docs":{"155":{"tf":1.0},"176":{"tf":1.4142135623730951},"235":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"(":{"c":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"176":{"tf":1.0},"236":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"x":{"df":0,"docs":{},"s":{"df":1,"docs":{"156":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"180":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"d":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":5,"docs":{"263":{"tf":1.0},"264":{"tf":1.7320508075688772},"293":{"tf":1.0},"62":{"tf":1.0},"77":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":21,"docs":{"113":{"tf":1.4142135623730951},"126":{"tf":1.4142135623730951},"137":{"tf":1.4142135623730951},"138":{"tf":1.0},"148":{"tf":1.4142135623730951},"161":{"tf":1.0},"171":{"tf":1.0},"189":{"tf":1.0},"24":{"tf":1.4142135623730951},"241":{"tf":1.0},"257":{"tf":1.0},"290":{"tf":1.7320508075688772},"30":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951},"88":{"tf":1.4142135623730951},"98":{"tf":1.4142135623730951}}}}}},"r":{"a":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"a":{"d":{"d":{"(":{"a":{"d":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"179":{"tf":1.0}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"a":{"d":{"d":{"(":{"1":{"df":1,"docs":{"185":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"187":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":4,"docs":{"179":{"tf":1.0},"181":{"tf":1.4142135623730951},"182":{"tf":2.0},"187":{"tf":1.4142135623730951}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"a":{"d":{"d":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"179":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"179":{"tf":1.0}},"、":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"df":1,"docs":{"178":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"268":{"tf":1.0}}}},"s":{"df":0,"docs":{},"u":{"b":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"179":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"!":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"213":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"296":{"tf":1.0},"34":{"tf":1.0}}}}}}},"x":{",":{"df":0,"docs":{},"y":{",":{"df":0,"docs":{},"z":{"df":1,"docs":{"260":{"tf":1.0}}}},"df":0,"docs":{}}},".":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"210":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"233":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"^":{"2":{"df":1,"docs":{"16":{"tf":1.0}}},"4":{"+":{"5":{"\\":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"{":{"3":{"df":0,"docs":{},"}":{"^":{"df":0,"docs":{},"{":{"2":{"6":{"df":0,"docs":{},"}":{"8":{"8":{"df":0,"docs":{},"x":{"^":{"3":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"0":{",":{"df":0,"docs":{},"x":{"_":{"1":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"y":{"_":{"0":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"42":{"tf":1.4142135623730951}}},"1":{",":{"df":0,"docs":{},"y":{"_":{"1":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":17,"docs":{"131":{"tf":1.7320508075688772},"132":{"tf":1.7320508075688772},"139":{"tf":1.4142135623730951},"151":{"tf":1.0},"175":{"tf":6.082762530298219},"179":{"tf":2.0},"180":{"tf":6.48074069840786},"210":{"tf":1.0},"233":{"tf":1.7320508075688772},"25":{"tf":1.0},"256":{"tf":5.916079783099616},"272":{"tf":1.0},"275":{"tf":1.4142135623730951},"287":{"tf":1.0},"289":{"tf":1.4142135623730951},"42":{"tf":2.449489742783178},"50":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"255":{"tf":1.0},"275":{"tf":1.4142135623730951},"278":{"tf":2.8284271247461903}}}},"」":{"df":0,"docs":{},"或":{"df":0,"docs":{},"是":{"df":0,"docs":{},"「":{"df":0,"docs":{},"x":{"df":1,"docs":{"272":{"tf":1.0}}}}}}}},"y":{".":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"210":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"_":{"0":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"df":0,"docs":{},"x":{"_":{"1":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"42":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":5,"docs":{"210":{"tf":1.0},"256":{"tf":5.5677643628300215},"42":{"tf":1.7320508075688772},"43":{"tf":1.4142135623730951},"47":{"tf":1.0}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}}}}},"z":{".":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"210":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":2,"docs":{"210":{"tf":1.0},"256":{"tf":2.8284271247461903}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":4,"docs":{"176":{"tf":1.7320508075688772},"248":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"212":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"176":{"tf":2.23606797749979},"179":{"tf":1.0},"248":{"tf":1.7320508075688772}}}}}}},"breadcrumbs":{"root":{"0":{".":{".":{"=":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"289":{"tf":1.0}}}}}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"(":{")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{")":{")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{":":{":":{"<":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"_":{"df":1,"docs":{"289":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"c":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"236":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"92":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"67":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{")":{".":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"i":{"df":1,"docs":{"269":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"1":{"df":3,"docs":{"259":{"tf":1.0},"267":{"tf":1.0},"270":{"tf":1.0}}},"7":{"5":{"df":1,"docs":{"239":{"tf":1.0}}},"df":0,"docs":{}},"8":{"df":1,"docs":{"273":{"tf":1.0}}},"9":{"df":1,"docs":{"273":{"tf":1.0}}},"df":0,"docs":{}},"0":{"0":{"0":{"df":1,"docs":{"175":{"tf":1.0}}},"df":2,"docs":{"227":{"tf":2.0},"230":{"tf":1.0}}},"df":2,"docs":{"227":{"tf":2.0},"230":{"tf":1.0}}},"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":2,"docs":{"33":{"tf":1.4142135623730951},"44":{"tf":2.0}}}}}}},"b":{"0":{"0":{"0":{"0":{"df":1,"docs":{"179":{"tf":1.0}}},"1":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{},"(":{"0":{"df":1,"docs":{"175":{"tf":1.0}}},"df":0,"docs":{}}},"1":{"0":{"df":1,"docs":{"179":{"tf":1.0}}},"1":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"1":{"1":{"df":1,"docs":{"179":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"0":{"0":{"0":{"df":1,"docs":{"179":{"tf":1.0}}},"1":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}},"1":{"0":{"df":1,"docs":{"179":{"tf":1.0}}},"1":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"1":{"df":0,"docs":{},"(":{"7":{"df":1,"docs":{"175":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":49,"docs":{"102":{"tf":1.4142135623730951},"117":{"tf":1.4142135623730951},"118":{"tf":1.0},"119":{"tf":1.7320508075688772},"123":{"tf":1.0},"125":{"tf":3.3166247903554},"131":{"tf":1.7320508075688772},"132":{"tf":1.4142135623730951},"145":{"tf":1.4142135623730951},"147":{"tf":4.58257569495584},"149":{"tf":1.0},"151":{"tf":2.0},"159":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.4142135623730951},"175":{"tf":1.4142135623730951},"176":{"tf":2.449489742783178},"177":{"tf":1.4142135623730951},"179":{"tf":2.449489742783178},"18":{"tf":1.0},"181":{"tf":1.0},"196":{"tf":1.0},"197":{"tf":1.0},"198":{"tf":1.7320508075688772},"200":{"tf":1.0},"207":{"tf":1.4142135623730951},"227":{"tf":3.3166247903554},"230":{"tf":1.4142135623730951},"233":{"tf":1.7320508075688772},"236":{"tf":1.7320508075688772},"239":{"tf":1.4142135623730951},"253":{"tf":1.4142135623730951},"260":{"tf":1.0},"272":{"tf":1.0},"275":{"tf":1.0},"278":{"tf":2.0},"279":{"tf":1.0},"284":{"tf":1.4142135623730951},"285":{"tf":1.0},"286":{"tf":1.4142135623730951},"288":{"tf":1.0},"289":{"tf":1.0},"33":{"tf":1.4142135623730951},"42":{"tf":2.449489742783178},"48":{"tf":1.0},"54":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"76":{"tf":1.4142135623730951},"92":{"tf":1.4142135623730951}},"}":{"^":{"df":0,"docs":{},"n":{"df":1,"docs":{"99":{"tf":1.0}}}},"df":0,"docs":{}}},"1":{")":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"58":{"tf":1.0}}}},".":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"67":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"2":{"df":4,"docs":{"58":{"tf":1.0},"66":{"tf":1.0},"75":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}}}},",":{"2":{"df":1,"docs":{"256":{"tf":1.0}}},"df":0,"docs":{},"j":{"df":2,"docs":{"284":{"tf":2.0},"287":{"tf":1.4142135623730951}}}},".":{".":{"=":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"e":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"287":{"tf":1.4142135623730951},"288":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{")":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"92":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"59":{"tf":1.0},"61":{"tf":1.0},"76":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"76":{"tf":1.0}}}}}},"0":{".":{"0":{"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"6":{"df":1,"docs":{"240":{"tf":1.4142135623730951}}},"8":{"df":1,"docs":{"176":{"tf":1.0}}},"df":0,"docs":{}},"4":{"4":{"df":1,"docs":{"271":{"tf":1.0}}},"df":0,"docs":{}},"7":{"1":{"df":2,"docs":{"259":{"tf":1.0},"270":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"0":{"0":{"df":1,"docs":{"145":{"tf":1.0}}},"df":4,"docs":{"135":{"tf":1.0},"136":{"tf":1.0},"151":{"tf":1.0},"23":{"tf":1.0}}},"2":{".":{"0":{"3":{"6":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":13,"docs":{"135":{"tf":1.0},"136":{"tf":2.23606797749979},"14":{"tf":1.0},"145":{"tf":1.4142135623730951},"147":{"tf":1.0},"149":{"tf":1.4142135623730951},"151":{"tf":1.7320508075688772},"156":{"tf":1.0},"179":{"tf":1.4142135623730951},"274":{"tf":1.0},"42":{"tf":1.4142135623730951},"80":{"tf":1.4142135623730951},"83":{"tf":1.0}},"x":{"df":1,"docs":{"16":{"tf":1.0}}}},"1":{"7":{"df":1,"docs":{"251":{"tf":1.0}}},"8":{"df":1,"docs":{"251":{"tf":1.4142135623730951}}},"9":{"df":1,"docs":{"251":{"tf":1.0}}},"df":6,"docs":{"135":{"tf":1.0},"136":{"tf":1.0},"156":{"tf":1.4142135623730951},"179":{"tf":1.4142135623730951},"227":{"tf":2.23606797749979},"230":{"tf":1.0}}},"2":{"6":{"df":1,"docs":{"146":{"tf":1.0}}},"df":0,"docs":{}},"3":{"2":{"df":2,"docs":{"80":{"tf":1.0},"83":{"tf":1.0}}},"5":{"df":1,"docs":{"47":{"tf":1.0}}},"df":3,"docs":{"29":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"50":{"tf":1.7320508075688772}}},"4":{"1":{"df":1,"docs":{"47":{"tf":1.0}}},"df":2,"docs":{"136":{"tf":2.0},"42":{"tf":1.0}}},"5":{"df":4,"docs":{"29":{"tf":1.7320508075688772},"42":{"tf":1.0},"50":{"tf":1.7320508075688772},"80":{"tf":1.0}}},"6":{"$":{"df":0,"docs":{},",":{"df":0,"docs":{},"的":{"df":0,"docs":{},"位":{"df":0,"docs":{},"置":{"df":0,"docs":{},"已":{"df":0,"docs":{},"經":{"df":0,"docs":{},"超":{"df":0,"docs":{},"出":{"df":0,"docs":{},"序":{"df":0,"docs":{},"列":{"df":0,"docs":{},"長":{"df":0,"docs":{},"度":{"df":0,"docs":{},",":{"df":0,"docs":{},"因":{"df":0,"docs":{},"此":{"df":0,"docs":{},"取":{"df":0,"docs":{},"至":{"df":0,"docs":{},"序":{"df":0,"docs":{},"列":{"df":0,"docs":{},"最":{"df":0,"docs":{},"後":{"df":0,"docs":{},"一":{"df":0,"docs":{},"個":{"df":0,"docs":{},"數":{"df":0,"docs":{},"字":{"df":0,"docs":{},"作":{"df":0,"docs":{},"為":{"df":0,"docs":{},"比":{"df":0,"docs":{},"較":{"df":0,"docs":{},"對":{"df":0,"docs":{},"象":{"df":0,"docs":{},"。":{"2":{"5":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"df":1,"docs":{"262":{"tf":1.0}}},"7":{"0":{"df":1,"docs":{"147":{"tf":2.6457513110645907}}},"df":3,"docs":{"42":{"tf":1.4142135623730951},"87":{"tf":3.4641016151377544},"97":{"tf":3.3166247903554}}},"8":{"df":1,"docs":{"42":{"tf":1.0}}},"9":{"7":{"8":{"df":2,"docs":{"43":{"tf":1.0},"47":{"tf":1.0}}},"df":0,"docs":{}},"9":{"6":{"df":2,"docs":{"46":{"tf":1.0},"47":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":2,"docs":{"29":{"tf":1.0},"50":{"tf":1.7320508075688772}}},"]":{"[":{"df":0,"docs":{},"j":{"df":1,"docs":{"287":{"tf":2.0}}}},"df":0,"docs":{}},"^":{"2":{"df":1,"docs":{"230":{"tf":1.0}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"54":{"tf":1.0}}}}}}},"df":97,"docs":{"100":{"tf":1.0},"102":{"tf":2.23606797749979},"103":{"tf":1.4142135623730951},"105":{"tf":3.605551275463989},"107":{"tf":2.0},"108":{"tf":2.23606797749979},"111":{"tf":1.0},"112":{"tf":3.0},"114":{"tf":1.7320508075688772},"117":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"119":{"tf":2.23606797749979},"125":{"tf":5.0990195135927845},"127":{"tf":1.0},"131":{"tf":2.0},"132":{"tf":2.23606797749979},"135":{"tf":1.4142135623730951},"136":{"tf":2.0},"143":{"tf":1.0},"147":{"tf":1.4142135623730951},"15":{"tf":1.0},"151":{"tf":1.7320508075688772},"159":{"tf":1.0},"16":{"tf":1.0},"175":{"tf":3.0},"176":{"tf":2.8284271247461903},"179":{"tf":4.58257569495584},"180":{"tf":2.0},"181":{"tf":2.23606797749979},"182":{"tf":3.4641016151377544},"185":{"tf":2.0},"19":{"tf":1.0},"196":{"tf":1.0},"197":{"tf":1.0},"198":{"tf":1.7320508075688772},"200":{"tf":1.0},"203":{"tf":1.0},"206":{"tf":1.7320508075688772},"207":{"tf":2.0},"208":{"tf":1.4142135623730951},"210":{"tf":1.0},"211":{"tf":1.7320508075688772},"227":{"tf":2.6457513110645907},"228":{"tf":1.4142135623730951},"230":{"tf":1.4142135623730951},"233":{"tf":1.0},"234":{"tf":1.0},"236":{"tf":1.0},"238":{"tf":2.0},"239":{"tf":1.4142135623730951},"24":{"tf":1.0},"242":{"tf":1.0},"249":{"tf":1.0},"256":{"tf":1.4142135623730951},"260":{"tf":1.7320508075688772},"267":{"tf":1.4142135623730951},"268":{"tf":2.0},"269":{"tf":2.0},"272":{"tf":1.0},"278":{"tf":2.449489742783178},"279":{"tf":1.4142135623730951},"284":{"tf":3.7416573867739413},"285":{"tf":3.872983346207417},"287":{"tf":4.58257569495584},"288":{"tf":2.449489742783178},"289":{"tf":4.0},"29":{"tf":1.4142135623730951},"30":{"tf":2.23606797749979},"33":{"tf":2.23606797749979},"42":{"tf":2.23606797749979},"44":{"tf":3.1622776601683795},"46":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"53":{"tf":2.0},"54":{"tf":2.23606797749979},"58":{"tf":1.7320508075688772},"59":{"tf":2.0},"61":{"tf":1.7320508075688772},"65":{"tf":2.449489742783178},"66":{"tf":2.0},"67":{"tf":1.0},"72":{"tf":1.0},"75":{"tf":2.0},"76":{"tf":2.449489742783178},"78":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":2.23606797749979},"81":{"tf":1.0},"83":{"tf":1.7320508075688772},"86":{"tf":1.0},"87":{"tf":3.4641016151377544},"92":{"tf":2.8284271247461903},"95":{"tf":1.0},"96":{"tf":2.0},"97":{"tf":3.3166247903554},"99":{"tf":1.7320508075688772}},"f":{"6":{"4":{"df":2,"docs":{"267":{"tf":1.4142135623730951},"269":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"179":{"tf":1.0}}}}}},"}":{"df":0,"docs":{},"i":{"df":1,"docs":{"75":{"tf":1.0}}}},")":{"df":0,"docs":{},",":{"df":0,"docs":{},"加":{"df":0,"docs":{},"上":{"df":0,"docs":{},"刪":{"df":0,"docs":{},"除":{"df":0,"docs":{},"操":{"df":0,"docs":{},"作":{"df":0,"docs":{},"的":{"df":0,"docs":{},"成":{"df":0,"docs":{},"本":{"df":0,"docs":{},"(":{"1":{"df":1,"docs":{"285":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}},"插":{"df":0,"docs":{},"入":{"df":0,"docs":{},"操":{"df":0,"docs":{},"作":{"df":0,"docs":{},"的":{"df":0,"docs":{},"成":{"df":0,"docs":{},"本":{"df":0,"docs":{},"(":{"1":{"df":1,"docs":{"285":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}}}}}}}},",":{"df":0,"docs":{},"所":{"df":0,"docs":{},"以":{"df":0,"docs":{},"我":{"df":0,"docs":{},"們":{"df":0,"docs":{},"採":{"df":0,"docs":{},"取":{"df":0,"docs":{},"類":{"df":0,"docs":{},"似":{"df":0,"docs":{},"環":{"df":0,"docs":{},"繞":{"df":0,"docs":{},"算":{"df":0,"docs":{},"術":{"df":0,"docs":{},"運":{"df":0,"docs":{},"算":{"df":0,"docs":{},"(":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"175":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}},"2":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"92":{"tf":1.0}}}}}},"^":{"2":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"1":{"df":2,"docs":{"143":{"tf":1.0},"33":{"tf":1.0}}},"2":{"3":{"6":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"143":{"tf":1.4142135623730951},"33":{"tf":1.0}}},"3":{"df":1,"docs":{"33":{"tf":1.0}}},"5":{"df":1,"docs":{"122":{"tf":1.0}}},"df":0,"docs":{}},"0":{"0":{"1":{"df":1,"docs":{"84":{"tf":1.0}}},"df":0,"docs":{}},"1":{"1":{"df":3,"docs":{"122":{"tf":1.0},"244":{"tf":1.0},"93":{"tf":1.0}}},"2":{"df":1,"docs":{"274":{"tf":1.0}}},"4":{"df":1,"docs":{"275":{"tf":1.0}}},"7":{"df":1,"docs":{"13":{"tf":1.0}}},"8":{".":{"2":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"1":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{}},"df":8,"docs":{"106":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"256":{"tf":1.0},"29":{"tf":1.0},"50":{"tf":1.7320508075688772},"87":{"tf":3.4641016151377544},"97":{"tf":3.3166247903554}}},"1":{"(":{"7":{"df":1,"docs":{"47":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"87":{"tf":3.4641016151377544},"97":{"tf":3.3166247903554}}},"2":{"df":2,"docs":{"29":{"tf":1.0},"50":{"tf":3.1622776601683795}},"。":{"3":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{},"哎":{"df":0,"docs":{},"呀":{"df":0,"docs":{},",":{"$":{"2":{"^":{"4":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"3":{"df":5,"docs":{"29":{"tf":1.0},"42":{"tf":1.0},"50":{"tf":1.7320508075688772},"80":{"tf":1.4142135623730951},"83":{"tf":1.0}}},"4":{"df":5,"docs":{"147":{"tf":2.6457513110645907},"262":{"tf":1.0},"288":{"tf":1.0},"29":{"tf":1.0},"50":{"tf":1.7320508075688772}}},"5":{"3":{"df":1,"docs":{"240":{"tf":1.0}}},"4":{":":{"2":{"8":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"240":{"tf":1.0}}},"5":{":":{"3":{"3":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"240":{"tf":1.0}}},"df":3,"docs":{"274":{"tf":1.0},"29":{"tf":1.0},"50":{"tf":1.7320508075688772}}},"6":{"df":1,"docs":{"151":{"tf":1.0}}},"7":{"df":1,"docs":{"42":{"tf":3.4641016151377544}}},"8":{"df":2,"docs":{"136":{"tf":2.0},"42":{"tf":2.23606797749979}}},"9":{"df":2,"docs":{"16":{"tf":1.0},"42":{"tf":2.0}}},"^":{"0":{"$":{"df":0,"docs":{},",":{"$":{"2":{"^":{"1":{"df":1,"docs":{"37":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":2,"docs":{"48":{"tf":1.0},"50":{"tf":1.0}}},"1":{"$":{"df":0,"docs":{},"、":{"$":{"2":{"^":{"2":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},":":{"3":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}}},"df":1,"docs":{"81":{"tf":1.0}}},"2":{"$":{"df":0,"docs":{},":":{"6":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}}},"df":2,"docs":{"230":{"tf":1.0},"81":{"tf":1.0}}},"3":{"$":{"df":0,"docs":{},":":{"1":{"5":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":2,"docs":{"179":{"tf":1.0},"81":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":2,"docs":{"30":{"tf":1.7320508075688772},"48":{"tf":1.0}}},"n":{"$":{"df":0,"docs":{},",":{"df":0,"docs":{},"將":{"df":0,"docs":{},"邏":{"df":0,"docs":{},"輯":{"df":0,"docs":{},"索":{"df":0,"docs":{},"引":{"df":0,"docs":{},"映":{"df":0,"docs":{},"射":{"df":0,"docs":{},"到":{"df":0,"docs":{},"實":{"df":0,"docs":{},"際":{"df":0,"docs":{},"索":{"df":0,"docs":{},"引":{"df":0,"docs":{},",":{"df":0,"docs":{},"只":{"df":0,"docs":{},"要":{"df":0,"docs":{},"將":{"df":0,"docs":{},"索":{"df":0,"docs":{},"引":{"df":0,"docs":{},"和":{"df":0,"docs":{},"實":{"df":0,"docs":{},"際":{"df":0,"docs":{},"可":{"df":0,"docs":{},"用":{"df":0,"docs":{},"容":{"df":0,"docs":{},"量":{"df":0,"docs":{},"(":{"$":{"2":{"^":{"df":0,"docs":{},"n":{"df":1,"docs":{"179":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"df":3,"docs":{"179":{"tf":2.0},"181":{"tf":1.0},"37":{"tf":1.0}}},"x":{"df":1,"docs":{"43":{"tf":1.0}}},"{":{"4":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}},"\\":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"tf":1.0}},"{":{"df":0,"docs":{},"i":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{},"k":{"df":1,"docs":{"80":{"tf":1.0}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"{":{"df":0,"docs":{},"i":{"df":1,"docs":{"53":{"tf":1.0}}}}}}}}},"a":{"df":1,"docs":{"65":{"tf":2.6457513110645907}},"、":{"2":{"b":{"df":1,"docs":{"65":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"b":{"df":1,"docs":{"65":{"tf":2.449489742783178}}},"df":89,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"105":{"tf":1.0},"108":{"tf":1.0},"111":{"tf":1.4142135623730951},"112":{"tf":2.8284271247461903},"114":{"tf":1.0},"117":{"tf":1.4142135623730951},"118":{"tf":2.0},"119":{"tf":1.0},"125":{"tf":4.123105625617661},"131":{"tf":1.4142135623730951},"132":{"tf":1.4142135623730951},"136":{"tf":1.0},"143":{"tf":1.0},"147":{"tf":3.605551275463989},"151":{"tf":1.0},"153":{"tf":1.0},"16":{"tf":1.0},"175":{"tf":2.449489742783178},"176":{"tf":1.7320508075688772},"179":{"tf":3.1622776601683795},"18":{"tf":1.0},"180":{"tf":1.4142135623730951},"182":{"tf":2.0},"185":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"196":{"tf":1.0},"198":{"tf":1.4142135623730951},"200":{"tf":1.0},"203":{"tf":1.0},"206":{"tf":1.7320508075688772},"207":{"tf":1.4142135623730951},"208":{"tf":1.4142135623730951},"210":{"tf":1.0},"211":{"tf":1.4142135623730951},"227":{"tf":3.7416573867739413},"228":{"tf":1.4142135623730951},"230":{"tf":1.7320508075688772},"233":{"tf":1.0},"234":{"tf":1.0},"238":{"tf":1.4142135623730951},"239":{"tf":1.0},"249":{"tf":1.0},"256":{"tf":1.4142135623730951},"262":{"tf":1.0},"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.4142135623730951},"269":{"tf":1.0},"273":{"tf":1.0},"275":{"tf":1.0},"278":{"tf":1.0},"279":{"tf":1.0},"285":{"tf":2.449489742783178},"287":{"tf":2.0},"288":{"tf":1.0},"289":{"tf":1.0},"29":{"tf":3.0},"291":{"tf":1.0},"30":{"tf":1.7320508075688772},"33":{"tf":1.4142135623730951},"34":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.7320508075688772},"53":{"tf":1.0},"54":{"tf":1.7320508075688772},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"76":{"tf":1.4142135623730951},"81":{"tf":4.123105625617661},"83":{"tf":1.0},"87":{"tf":3.4641016151377544},"89":{"tf":1.0},"92":{"tf":2.0},"97":{"tf":3.3166247903554},"99":{"tf":1.7320508075688772}},"t":{"(":{"\\":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"2":{"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"x":{"^":{"2":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},")":{"df":0,"docs":{},",":{"df":0,"docs":{},"加":{"df":0,"docs":{},"上":{"df":0,"docs":{},"刪":{"df":0,"docs":{},"除":{"df":0,"docs":{},"操":{"df":0,"docs":{},"作":{"df":0,"docs":{},"的":{"df":0,"docs":{},"成":{"df":0,"docs":{},"本":{"df":0,"docs":{},"(":{"1":{"df":1,"docs":{"285":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}}}}}}},"3":{",":{"4":{"df":1,"docs":{"256":{"tf":1.0}}},"df":0,"docs":{}},".":{"0":{"df":12,"docs":{"190":{"tf":1.0},"225":{"tf":1.0},"244":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.4142135623730951},"62":{"tf":1.0},"64":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"77":{"tf":1.0},"93":{"tf":1.0}}},"1":{"df":3,"docs":{"143":{"tf":1.0},"238":{"tf":1.0},"44":{"tf":1.0}}},"2":{"df":3,"docs":{"143":{"tf":1.0},"238":{"tf":1.0},"44":{"tf":1.0}}},"3":{"df":1,"docs":{"44":{"tf":1.0}}},"4":{"df":1,"docs":{"244":{"tf":1.0}}},"df":0,"docs":{}},"/":{"4":{"df":1,"docs":{"231":{"tf":1.0}}},"df":0,"docs":{}},"0":{"1":{"df":2,"docs":{"80":{"tf":1.0},"83":{"tf":1.0}}},"df":2,"docs":{"15":{"tf":1.0},"42":{"tf":1.0}}},"1":{"df":2,"docs":{"42":{"tf":1.0},"80":{"tf":1.0}}},"2":{"df":2,"docs":{"14":{"tf":1.0},"236":{"tf":1.0}}},"3":{"3":{"df":2,"docs":{"227":{"tf":2.23606797749979},"230":{"tf":1.0}}},"df":0,"docs":{}},"4":{"4":{":":{"6":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"185":{"tf":1.0}}},"7":{":":{"5":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"185":{"tf":1.4142135623730951}}},"df":1,"docs":{"42":{"tf":1.7320508075688772}}},"5":{"1":{"df":2,"docs":{"122":{"tf":1.0},"93":{"tf":1.0}}},"3":{"df":1,"docs":{"185":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"6":{",":{"3":{"7":{"df":1,"docs":{"136":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"136":{"tf":1.4142135623730951}}},"7":{",":{"3":{"6":{"df":1,"docs":{"136":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"136":{"tf":1.4142135623730951}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"47":{"tf":1.0}}}}},"^":{"2":{"df":1,"docs":{"230":{"tf":1.0}}},"df":0,"docs":{}},"df":70,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"105":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.4142135623730951},"112":{"tf":2.8284271247461903},"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"125":{"tf":2.8284271247461903},"131":{"tf":1.4142135623730951},"132":{"tf":1.4142135623730951},"136":{"tf":1.0},"143":{"tf":1.0},"151":{"tf":1.0},"17":{"tf":1.0},"175":{"tf":2.23606797749979},"176":{"tf":1.4142135623730951},"179":{"tf":3.0},"180":{"tf":1.0},"182":{"tf":2.0},"185":{"tf":1.4142135623730951},"197":{"tf":1.0},"198":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.4142135623730951},"208":{"tf":2.449489742783178},"210":{"tf":1.0},"211":{"tf":1.4142135623730951},"227":{"tf":2.23606797749979},"230":{"tf":1.0},"233":{"tf":1.0},"234":{"tf":1.0},"236":{"tf":1.0},"238":{"tf":1.4142135623730951},"239":{"tf":1.0},"244":{"tf":1.0},"249":{"tf":1.0},"256":{"tf":1.0},"258":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.4142135623730951},"278":{"tf":1.0},"279":{"tf":1.0},"284":{"tf":1.7320508075688772},"285":{"tf":1.0},"287":{"tf":2.0},"288":{"tf":1.0},"289":{"tf":1.0},"29":{"tf":2.0},"30":{"tf":1.7320508075688772},"33":{"tf":1.0},"44":{"tf":1.4142135623730951},"50":{"tf":2.449489742783178},"54":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"61":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":2.449489742783178},"67":{"tf":1.0},"73":{"tf":5.830951894845301},"76":{"tf":1.4142135623730951},"80":{"tf":1.0},"81":{"tf":3.872983346207417},"83":{"tf":1.0},"87":{"tf":3.4641016151377544},"92":{"tf":1.7320508075688772},"97":{"tf":3.3166247903554}},"n":{"df":3,"docs":{"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"19":{"tf":1.7320508075688772}}},"、":{"4":{"df":0,"docs":{},"、":{"5":{"df":1,"docs":{"153":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"4":{".":{"0":{"df":1,"docs":{"13":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"0":{"4":{"df":1,"docs":{"296":{"tf":1.0}}},"df":0,"docs":{}},"5":{"df":1,"docs":{"147":{"tf":2.6457513110645907}}},"df":48,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"112":{"tf":2.8284271247461903},"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"125":{"tf":2.449489742783178},"132":{"tf":1.0},"136":{"tf":1.0},"143":{"tf":1.0},"147":{"tf":2.0},"151":{"tf":1.0},"17":{"tf":2.23606797749979},"175":{"tf":2.0},"176":{"tf":1.7320508075688772},"179":{"tf":2.449489742783178},"18":{"tf":1.0},"180":{"tf":1.7320508075688772},"185":{"tf":1.0},"19":{"tf":2.0},"207":{"tf":1.4142135623730951},"208":{"tf":1.4142135623730951},"210":{"tf":1.0},"211":{"tf":1.0},"236":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.0},"249":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"278":{"tf":1.0},"279":{"tf":1.0},"287":{"tf":1.4142135623730951},"289":{"tf":1.0},"29":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"44":{"tf":1.0},"52":{"tf":1.0},"57":{"tf":1.0},"65":{"tf":2.23606797749979},"73":{"tf":5.916079783099616},"76":{"tf":1.0},"80":{"tf":1.4142135623730951},"81":{"tf":4.123105625617661},"83":{"tf":1.4142135623730951},"92":{"tf":1.4142135623730951}},"n":{"^":{"2":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"109":{"tf":1.0},"244":{"tf":1.0}}}},",":{"df":0,"docs":{},"找":{"df":0,"docs":{},"尋":{"df":0,"docs":{},"第":{"df":0,"docs":{},"四":{"df":0,"docs":{},"個":{"df":0,"docs":{},"元":{"df":0,"docs":{},"素":{"df":0,"docs":{},"來":{"df":0,"docs":{},"比":{"df":0,"docs":{},"對":{"df":0,"docs":{},",":{"6":{"df":1,"docs":{"29":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}}}}},"看":{"df":0,"docs":{},"看":{"$":{"2":{"^":{"4":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"5":{".":{"4":{"7":{"7":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"0":{"df":1,"docs":{"47":{"tf":1.0}}},"3":{"df":1,"docs":{"47":{"tf":1.0}}},"df":0,"docs":{}},"7":{"df":2,"docs":{"80":{"tf":1.0},"83":{"tf":1.0}}},"df":22,"docs":{"112":{"tf":2.8284271247461903},"117":{"tf":1.0},"118":{"tf":1.0},"125":{"tf":3.4641016151377544},"147":{"tf":2.0},"15":{"tf":1.0},"151":{"tf":1.0},"17":{"tf":1.7320508075688772},"175":{"tf":1.7320508075688772},"179":{"tf":2.0},"180":{"tf":1.0},"19":{"tf":1.0},"207":{"tf":1.0},"211":{"tf":1.0},"239":{"tf":1.0},"262":{"tf":1.0},"279":{"tf":1.0},"287":{"tf":1.4142135623730951},"289":{"tf":1.0},"30":{"tf":1.4142135623730951},"73":{"tf":5.916079783099616},"81":{"tf":4.0}},"n":{"^":{"2":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"19":{"tf":1.0}}}},"6":{",":{"9":{"df":1,"docs":{"136":{"tf":1.4142135623730951}}},"df":0,"docs":{}},".":{"0":{"0":{"6":{"df":1,"docs":{"244":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"df":1,"docs":{"80":{"tf":1.0}}},"4":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"236":{"tf":1.0}}}}},"df":2,"docs":{"262":{"tf":1.0},"288":{"tf":1.0}}},"6":{"6":{"df":2,"docs":{"227":{"tf":2.449489742783178},"230":{"tf":1.0}}},"df":1,"docs":{"147":{"tf":2.6457513110645907}}},"df":15,"docs":{"112":{"tf":2.8284271247461903},"118":{"tf":1.0},"125":{"tf":1.4142135623730951},"136":{"tf":1.4142135623730951},"147":{"tf":2.0},"151":{"tf":1.0},"175":{"tf":1.4142135623730951},"179":{"tf":2.0},"239":{"tf":1.0},"279":{"tf":1.0},"289":{"tf":1.0},"29":{"tf":2.8284271247461903},"30":{"tf":1.4142135623730951},"50":{"tf":2.449489742783178},"81":{"tf":3.872983346207417}}},"7":{"0":{"1":{"df":2,"docs":{"80":{"tf":1.0},"83":{"tf":1.0}}},"df":0,"docs":{}},"1":{",":{"7":{"4":{"df":1,"docs":{"136":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"136":{"tf":1.4142135623730951}}},"4":{",":{"7":{"1":{"df":1,"docs":{"136":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"136":{"tf":1.4142135623730951}}},"5":{"%":{"$":{"df":0,"docs":{},"。":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":1,"docs":{"231":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":2,"docs":{"147":{"tf":2.6457513110645907},"231":{"tf":1.0}}},"df":16,"docs":{"112":{"tf":2.8284271247461903},"125":{"tf":1.4142135623730951},"147":{"tf":2.0},"175":{"tf":1.4142135623730951},"179":{"tf":1.7320508075688772},"227":{"tf":2.449489742783178},"230":{"tf":1.0},"262":{"tf":1.0},"270":{"tf":1.0},"289":{"tf":1.0},"29":{"tf":2.6457513110645907},"30":{"tf":1.7320508075688772},"50":{"tf":1.7320508075688772},"73":{"tf":5.916079783099616},"80":{"tf":1.0},"81":{"tf":3.872983346207417}}},"8":{".":{"0":{"4":{"6":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"2":{"df":1,"docs":{"147":{"tf":2.6457513110645907}}},"df":0,"docs":{}},"8":{"df":2,"docs":{"227":{"tf":2.449489742783178},"230":{"tf":1.0}}},"df":17,"docs":{"112":{"tf":2.8284271247461903},"125":{"tf":3.0},"146":{"tf":1.0},"147":{"tf":1.4142135623730951},"149":{"tf":1.0},"175":{"tf":1.4142135623730951},"179":{"tf":3.1622776601683795},"180":{"tf":1.0},"262":{"tf":1.4142135623730951},"287":{"tf":1.4142135623730951},"289":{"tf":1.0},"29":{"tf":1.4142135623730951},"42":{"tf":1.7320508075688772},"73":{"tf":5.830951894845301},"81":{"tf":4.358898943540674},"83":{"tf":1.0},"97":{"tf":4.795831523312719}},"、":{"9":{"df":0,"docs":{},"、":{"1":{"0":{"df":0,"docs":{},"、":{"1":{"1":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},",":{"8":{"df":1,"docs":{"73":{"tf":1.0}}},"df":0,"docs":{}}},"9":{"0":{"df":2,"docs":{"147":{"tf":2.6457513110645907},"231":{"tf":1.0}}},"1":{",":{"9":{"6":{"df":1,"docs":{"136":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"136":{"tf":1.4142135623730951}}},"5":{".":{"5":{"df":1,"docs":{"275":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"275":{"tf":1.0}}},"6":{",":{"9":{"1":{"df":1,"docs":{"136":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"136":{"tf":1.4142135623730951}}},"9":{"9":{"9":{"df":1,"docs":{"175":{"tf":1.0}}},"df":2,"docs":{"145":{"tf":1.0},"230":{"tf":1.0}}},"df":1,"docs":{"230":{"tf":1.0}}},"df":13,"docs":{"125":{"tf":2.449489742783178},"136":{"tf":1.4142135623730951},"145":{"tf":1.0},"147":{"tf":1.4142135623730951},"149":{"tf":1.0},"151":{"tf":1.4142135623730951},"179":{"tf":1.4142135623730951},"230":{"tf":1.0},"29":{"tf":3.0},"42":{"tf":2.0},"50":{"tf":1.7320508075688772},"52":{"tf":1.0},"81":{"tf":3.7416573867739413}}},"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"_":{"_":{"df":1,"docs":{"61":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"t":{"_":{"_":{"df":1,"docs":{"61":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":11,"docs":{"147":{"tf":5.830951894845301},"180":{"tf":3.605551275463989},"236":{"tf":1.0},"237":{"tf":1.4142135623730951},"238":{"tf":1.4142135623730951},"249":{"tf":1.0},"251":{"tf":1.0},"256":{"tf":1.0},"279":{"tf":1.0},"29":{"tf":5.656854249492381},"50":{"tf":1.4142135623730951}},"k":{"_":{"df":2,"docs":{"263":{"tf":1.0},"264":{"tf":1.0}}},"df":0,"docs":{}},"m":{"_":{"df":2,"docs":{"263":{"tf":1.0},"264":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":3,"docs":{"264":{"tf":1.0},"267":{"tf":1.0},"269":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"{":{"(":{"a":{"df":2,"docs":{"284":{"tf":1.4142135623730951},"287":{"tf":1.0}}},"df":0,"docs":{}},"a":{",":{"b":{"df":0,"docs":{},"}":{"(":{"df":0,"docs":{},"i":{",":{"df":0,"docs":{},"j":{"df":2,"docs":{"284":{"tf":1.7320508075688772},"287":{"tf":1.0}}}},"df":2,"docs":{"284":{"tf":2.0},"287":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":2,"docs":{"284":{"tf":1.4142135623730951},"287":{"tf":1.0}}},"j":{"df":2,"docs":{"284":{"tf":1.4142135623730951},"287":{"tf":1.0}}}}},"a":{"'":{"df":0,"docs":{},"、":{"b":{"df":1,"docs":{"41":{"tf":1.0}}},"df":0,"docs":{}}},"+":{"1":{"df":1,"docs":{"287":{"tf":1.0}}},"df":0,"docs":{}},".":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"210":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"k":{".":{"a":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},">":{"(":{"&":{"'":{"b":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"b":{"c":{"df":1,"docs":{"284":{"tf":1.0}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"288":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"162":{"tf":1.0},"172":{"tf":1.0},"245":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":4,"docs":{"173":{"tf":1.0},"187":{"tf":1.0},"192":{"tf":1.0},"207":{"tf":1.0}},")":{"df":0,"docs":{},"的":{"df":0,"docs":{},"執":{"df":0,"docs":{},"行":{"df":0,"docs":{},"時":{"df":0,"docs":{},"間":{"df":0,"docs":{},",":{"$":{"\\":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"df":0,"docs":{},"k":{"df":1,"docs":{"242":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{},"m":{"df":1,"docs":{"47":{"tf":1.0}}},"t":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"176":{"tf":1.0},"179":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"d":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"266":{"tf":1.0}}}},"k":{"df":1,"docs":{"241":{"tf":1.0}}}},"df":2,"docs":{"175":{"tf":2.0},"188":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":4,"docs":{"230":{"tf":1.7320508075688772},"242":{"tf":1.0},"244":{"tf":1.0},"274":{"tf":1.4142135623730951}},"p":{"df":1,"docs":{"274":{"tf":1.0}}}}}}}},"df":1,"docs":{"180":{"tf":1.0}},"v":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"180":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":2,"docs":{"274":{"tf":1.0},"275":{"tf":1.0}},"g":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"250":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"df":21,"docs":{"0":{"tf":2.23606797749979},"1":{"tf":1.0},"10":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.4142135623730951},"11":{"tf":1.0},"12":{"tf":1.0},"122":{"tf":1.0},"13":{"tf":1.0},"162":{"tf":1.0},"2":{"tf":1.0},"244":{"tf":1.4142135623730951},"3":{"tf":1.0},"39":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0},"93":{"tf":1.0}}}}}}}}},"i":{"a":{"df":1,"docs":{"234":{"tf":1.0}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"o":{"c":{"(":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"176":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":1,"docs":{"176":{"tf":2.449489742783178}},"、":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"、":{"d":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"176":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"w":{"df":1,"docs":{"276":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"h":{"a":{"$":{"df":0,"docs":{},",":{"$":{"\\":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"a":{"df":1,"docs":{"275":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"103":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":4,"docs":{"144":{"tf":1.0},"189":{"tf":1.0},"241":{"tf":1.0},"257":{"tf":1.0}}}}},"q":{"df":1,"docs":{"275":{"tf":1.0}},",":{"df":0,"docs":{},"為":{"df":0,"docs":{},"了":{"df":0,"docs":{},"節":{"df":0,"docs":{},"省":{"df":0,"docs":{},"空":{"df":0,"docs":{},"間":{"df":0,"docs":{},"使":{"df":0,"docs":{},"用":{"df":0,"docs":{},"量":{"df":0,"docs":{},",":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"274":{"tf":1.0}}}}}}}}}}}}}}}}}}}},"n":{"^":{"2":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":3,"docs":{"140":{"tf":1.0},"144":{"tf":1.0},"22":{"tf":1.0}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"46":{"tf":1.0},"47":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"47":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":1,"docs":{"185":{"tf":1.7320508075688772}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"256":{"tf":1.0}}}}}}}}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"176":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"i":{"df":11,"docs":{"0":{"tf":1.0},"153":{"tf":1.0},"163":{"tf":1.0},"173":{"tf":1.0},"200":{"tf":1.0},"226":{"tf":1.0},"245":{"tf":1.0},"259":{"tf":1.0},"269":{"tf":1.0},"277":{"tf":1.0},"282":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"139":{"tf":1.0},"214":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"185":{"tf":1.0}}}}},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"266":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"175":{"tf":1.0},"179":{"tf":1.4142135623730951},"268":{"tf":1.0}}}}}}}},"r":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"117":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"t":{"df":3,"docs":{"131":{"tf":1.0},"132":{"tf":1.0},"143":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"x":{"df":1,"docs":{"25":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":10,"docs":{"102":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"33":{"tf":1.0},"44":{"tf":1.4142135623730951},"54":{"tf":1.0},"67":{"tf":1.0},"76":{"tf":1.0},"83":{"tf":1.0},"92":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"92":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"df":5,"docs":{"103":{"tf":1.4142135623730951},"107":{"tf":1.0},"108":{"tf":1.0},"67":{"tf":1.0},"76":{"tf":1.4142135623730951}}},"j":{"df":3,"docs":{"59":{"tf":1.0},"61":{"tf":1.0},"83":{"tf":1.0}}},"k":{"df":1,"docs":{"107":{"tf":1.0}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"92":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"(":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"132":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"117":{"tf":1.0},"118":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"1":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"119":{"tf":1.4142135623730951}}}}}},"[":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"119":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"、":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"2":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"2":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"119":{"tf":1.4142135623730951}}}}}},"[":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"119":{"tf":1.4142135623730951}}}}}}}},"df":1,"docs":{"119":{"tf":1.0}}},"[":{".":{".":{"df":0,"docs":{},"i":{"]":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"(":{"&":{"df":0,"docs":{},"v":{"df":1,"docs":{"61":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"61":{"tf":1.0}}},"m":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"117":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"1":{"0":{"0":{"0":{"df":1,"docs":{"145":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"8":{"df":1,"docs":{"42":{"tf":1.0}}},"9":{"df":1,"docs":{"42":{"tf":1.0}}},"b":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"33":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"92":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":4,"docs":{"103":{"tf":1.0},"107":{"tf":1.0},"44":{"tf":2.0},"54":{"tf":1.4142135623730951}},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"96":{"tf":1.0}}}}}},"i":{"+":{"1":{".":{".":{".":{"df":0,"docs":{},"j":{"df":1,"docs":{"96":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},".":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"]":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"[":{"df":0,"docs":{},"i":{".":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":1,"docs":{"118":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":3,"docs":{"108":{"tf":1.0},"61":{"tf":1.0},"76":{"tf":2.0}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}}}}}}}},"j":{".":{".":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"96":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":6,"docs":{"103":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"59":{"tf":1.4142135623730951},"67":{"tf":1.0},"83":{"tf":1.4142135623730951}}},"l":{"df":0,"docs":{},"o":{"df":2,"docs":{"108":{"tf":1.0},"44":{"tf":2.0}},"w":{".":{".":{".":{"df":0,"docs":{},"i":{"df":1,"docs":{"96":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"m":{"df":0,"docs":{},"i":{"d":{".":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":1,"docs":{"118":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":2,"docs":{"117":{"tf":1.4142135623730951},"33":{"tf":1.0}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"132":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"92":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"67":{"tf":1.0}}}}}}},"a":{"df":1,"docs":{"132":{"tf":1.0}},"y":{"[":{"0":{"df":1,"docs":{"125":{"tf":1.0}}},"1":{"df":1,"docs":{"125":{"tf":1.0}}},"2":{"df":1,"docs":{"125":{"tf":1.0}}},"3":{"df":1,"docs":{"125":{"tf":1.0}}},"4":{"df":1,"docs":{"125":{"tf":1.0}}},"5":{"df":1,"docs":{"125":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"187":{"tf":1.0}}}}},"df":0,"docs":{}}}},"_":{"df":0,"docs":{},"s":{"df":1,"docs":{"228":{"tf":1.4142135623730951}}}},"df":32,"docs":{"112":{"tf":1.0},"117":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"119":{"tf":1.4142135623730951},"123":{"tf":1.4142135623730951},"125":{"tf":1.0},"127":{"tf":1.4142135623730951},"128":{"tf":1.4142135623730951},"131":{"tf":2.0},"132":{"tf":1.0},"136":{"tf":2.23606797749979},"139":{"tf":1.0},"140":{"tf":1.4142135623730951},"143":{"tf":1.0},"145":{"tf":1.0},"147":{"tf":1.0},"153":{"tf":1.0},"163":{"tf":1.0},"20":{"tf":1.4142135623730951},"225":{"tf":1.0},"227":{"tf":1.4142135623730951},"230":{"tf":1.7320508075688772},"231":{"tf":1.0},"234":{"tf":1.4142135623730951},"236":{"tf":1.0},"238":{"tf":1.0},"242":{"tf":1.0},"260":{"tf":1.0},"262":{"tf":2.449489742783178},"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0}},")":{"df":0,"docs":{},"、":{"df":0,"docs":{},"映":{"df":0,"docs":{},"射":{"df":0,"docs":{},"(":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},")":{"df":0,"docs":{},"、":{"df":0,"docs":{},"表":{"df":0,"docs":{},"(":{"df":0,"docs":{},"t":{"df":1,"docs":{"216":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}}}}},",":{"df":0,"docs":{},"而":{"df":0,"docs":{},"是":{"df":0,"docs":{},"在":{"df":0,"docs":{},"堆":{"df":0,"docs":{},"積":{"df":0,"docs":{},"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}}}},"df":8,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"130":{"tf":1.4142135623730951},"132":{"tf":1.4142135623730951},"143":{"tf":1.4142135623730951},"151":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"92":{"tf":1.0}}}},"s":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"i":{"df":10,"docs":{"112":{"tf":1.0},"136":{"tf":1.0},"175":{"tf":1.0},"196":{"tf":1.0},"230":{"tf":1.0},"279":{"tf":1.0},"73":{"tf":1.0},"81":{"tf":1.4142135623730951},"96":{"tf":1.0},"97":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"!":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"187":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"187":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":3,"docs":{"119":{"tf":1.0},"185":{"tf":1.0},"207":{"tf":1.4142135623730951}}}}},"o":{"c":{"df":0,"docs":{},"i":{"df":4,"docs":{"185":{"tf":1.0},"211":{"tf":1.0},"216":{"tf":1.4142135623730951},"225":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"228":{"tf":1.0},"230":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":11,"docs":{"1":{"tf":1.0},"14":{"tf":1.7320508075688772},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"260":{"tf":1.0}}}}}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"262":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"210":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"188":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"185":{"tf":1.0}}}}}}},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":11,"docs":{"113":{"tf":1.0},"126":{"tf":1.0},"128":{"tf":1.0},"137":{"tf":1.0},"148":{"tf":1.0},"58":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":1.0},"88":{"tf":1.0},"98":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"g":{"df":15,"docs":{"113":{"tf":1.0},"126":{"tf":1.0},"137":{"tf":1.0},"148":{"tf":1.0},"24":{"tf":1.0},"30":{"tf":1.0},"43":{"tf":1.4142135623730951},"51":{"tf":1.0},"58":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":1.0},"84":{"tf":1.0},"88":{"tf":1.0},"98":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"i":{"df":2,"docs":{"43":{"tf":1.0},"47":{"tf":1.0}}}},"o":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"107":{"tf":1.0},"118":{"tf":1.0}}},"df":0,"docs":{}}}},"、":{"b":{"df":1,"docs":{"285":{"tf":1.0}}},"df":0,"docs":{}},",":{"a":{"df":1,"docs":{"208":{"tf":1.0}}},"df":0,"docs":{}}},"b":{"+":{"1":{"df":1,"docs":{"287":{"tf":1.0}}},"df":0,"docs":{}},".":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"210":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},">":{"(":{"&":{"'":{"a":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"k":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"181":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":7,"docs":{"117":{"tf":1.4142135623730951},"118":{"tf":1.0},"119":{"tf":1.0},"178":{"tf":1.0},"181":{"tf":1.0},"189":{"tf":1.0},"207":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{".":{".":{"df":0,"docs":{},"s":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}},"df":5,"docs":{"111":{"tf":1.0},"117":{"tf":1.0},"184":{"tf":1.0},"234":{"tf":1.0},"33":{"tf":2.449489742783178}}}}},"df":18,"docs":{"125":{"tf":2.6457513110645907},"139":{"tf":1.4142135623730951},"185":{"tf":1.7320508075688772},"207":{"tf":2.449489742783178},"208":{"tf":1.7320508075688772},"210":{"tf":1.0},"240":{"tf":1.7320508075688772},"250":{"tf":3.1622776601683795},"251":{"tf":2.0},"253":{"tf":1.7320508075688772},"255":{"tf":1.4142135623730951},"256":{"tf":3.4641016151377544},"284":{"tf":2.6457513110645907},"285":{"tf":1.4142135623730951},"287":{"tf":2.0},"289":{"tf":1.7320508075688772},"290":{"tf":1.0},"41":{"tf":2.0}},"e":{"df":1,"docs":{"210":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"176":{"tf":1.0},"180":{"tf":1.4142135623730951}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"{":{"c":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"114":{"tf":1.0},"284":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"274":{"tf":1.0}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"df":21,"docs":{"113":{"tf":1.0},"126":{"tf":1.0},"137":{"tf":1.0},"139":{"tf":1.4142135623730951},"148":{"tf":1.0},"161":{"tf":1.0},"171":{"tf":1.0},"189":{"tf":1.0},"24":{"tf":1.0},"241":{"tf":1.0},"257":{"tf":1.0},"30":{"tf":1.0},"43":{"tf":1.0},"51":{"tf":1.0},"58":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":1.0},"84":{"tf":1.0},"88":{"tf":1.0},"98":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"260":{"tf":1.0},"275":{"tf":1.0},"276":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"44":{"tf":1.0}}}}}}}},"f":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"\"":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"264":{"tf":1.0}}}}}}},"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"264":{"tf":1.0}}}}}}}},"&":{"1":{"df":1,"docs":{"264":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"!":{"[":{"3":{".":{"1":{"4":{"1":{"5":{"9":{"df":1,"docs":{"264":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":1,"docs":{"264":{"tf":1.4142135623730951}}},"i":{"df":0,"docs":{},"g":{"df":7,"docs":{"10":{"tf":1.4142135623730951},"162":{"tf":1.0},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"19":{"tf":1.7320508075688772},"20":{"tf":1.0},"22":{"tf":1.4142135623730951}}},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":22,"docs":{"117":{"tf":1.0},"20":{"tf":1.0},"27":{"tf":2.0},"28":{"tf":1.0},"29":{"tf":1.0},"3":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":2.0},"39":{"tf":1.4142135623730951},"54":{"tf":1.0},"61":{"tf":2.449489742783178},"85":{"tf":1.0},"87":{"tf":1.0},"89":{"tf":1.0},"92":{"tf":1.0}}},"y":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}}},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"(":{"&":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"[":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{".":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"54":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{">":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":2,"docs":{"32":{"tf":1.0},"33":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"_":{"b":{"df":0,"docs":{},"i":{"df":1,"docs":{"143":{"tf":1.0}}}},"df":0,"docs":{}},"df":2,"docs":{"32":{"tf":1.0},"61":{"tf":2.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"d":{"df":1,"docs":{"217":{"tf":1.0}}},"df":1,"docs":{"134":{"tf":1.0}}},"t":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"/":{"c":{"a":{"a":{"b":{"7":{"df":0,"docs":{},"f":{"b":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":9,"docs":{"255":{"tf":1.0},"260":{"tf":1.0},"262":{"tf":3.3166247903554},"263":{"tf":1.7320508075688772},"264":{"tf":1.7320508075688772},"267":{"tf":1.7320508075688772},"269":{"tf":1.4142135623730951},"271":{"tf":1.0},"275":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"255":{"tf":1.0}}}}}}},"<":{"&":{"'":{"b":{"df":1,"docs":{"255":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"255":{"tf":1.7320508075688772}}}},"s":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"267":{"tf":1.7320508075688772},"269":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":3,"docs":{"179":{"tf":1.0},"255":{"tf":1.0},"54":{"tf":1.0}}}}}}},"l":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"227":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"176":{"tf":1.0},"185":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"\"":{"1":{"2":{"3":{"4":{"df":1,"docs":{"265":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}}}},"df":20,"docs":{"224":{"tf":1.4142135623730951},"259":{"tf":3.4641016151377544},"260":{"tf":2.23606797749979},"261":{"tf":1.0},"262":{"tf":1.4142135623730951},"263":{"tf":1.0},"264":{"tf":1.7320508075688772},"265":{"tf":1.4142135623730951},"266":{"tf":1.4142135623730951},"267":{"tf":1.4142135623730951},"268":{"tf":1.4142135623730951},"269":{"tf":1.4142135623730951},"270":{"tf":1.4142135623730951},"271":{"tf":2.8284271247461903},"272":{"tf":3.3166247903554},"273":{"tf":2.8284271247461903},"274":{"tf":1.4142135623730951},"275":{"tf":1.7320508075688772},"276":{"tf":2.449489742783178},"8":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":6,"docs":{"262":{"tf":2.6457513110645907},"263":{"tf":2.0},"264":{"tf":1.7320508075688772},"265":{"tf":1.0},"266":{"tf":1.0},"276":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"263":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"263":{"tf":1.0}}}}},"df":0,"docs":{}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":2,"docs":{"264":{"tf":1.4142135623730951},"267":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{"df":3,"docs":{"264":{"tf":2.0},"265":{"tf":1.4142135623730951},"269":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}}}}}},"n":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"o":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"185":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"227":{"tf":1.0}}},"l":{"df":10,"docs":{"157":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.0},"212":{"tf":1.0},"249":{"tf":2.0},"253":{"tf":1.7320508075688772},"256":{"tf":1.7320508075688772},"262":{"tf":1.7320508075688772},"269":{"tf":1.7320508075688772},"33":{"tf":1.0}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"<":{"df":0,"docs":{},"q":{"df":3,"docs":{"237":{"tf":1.0},"238":{"tf":1.0},"249":{"tf":1.4142135623730951}}}},"df":5,"docs":{"185":{"tf":1.4142135623730951},"211":{"tf":1.4142135623730951},"237":{"tf":2.0},"251":{"tf":2.6457513110645907},"252":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"285":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"54":{"tf":1.0}}}}},"df":6,"docs":{"118":{"tf":1.4142135623730951},"185":{"tf":1.4142135623730951},"187":{"tf":1.7320508075688772},"265":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"67":{"tf":1.0}},"?":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"67":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"x":{":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"211":{"tf":1.0}}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"207":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"202":{"tf":1.0},"211":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"202":{"tf":1.0}}}},"df":3,"docs":{"195":{"tf":1.0},"202":{"tf":1.0},"210":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"233":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":4,"docs":{"279":{"tf":1.0},"44":{"tf":2.0},"76":{"tf":1.0},"92":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"u":{"b":{"b":{"df":0,"docs":{},"l":{"df":10,"docs":{"20":{"tf":1.0},"4":{"tf":1.0},"71":{"tf":2.23606797749979},"72":{"tf":1.0},"73":{"tf":1.7320508075688772},"74":{"tf":1.0},"75":{"tf":1.7320508075688772},"76":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951},"94":{"tf":1.0}},"e":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"76":{"tf":1.0}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"d":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"76":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{".":{"c":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"(":{"&":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"143":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"237":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"(":{"df":0,"docs":{},"|":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"238":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"238":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"(":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"238":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{")":{".":{"1":{"df":1,"docs":{"238":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"143":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"143":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"h":{"df":1,"docs":{"142":{"tf":1.7320508075688772}}},"k":{"df":1,"docs":{"234":{"tf":1.0}}}},"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"239":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"235":{"tf":1.0}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"h":{"df":1,"docs":{"143":{"tf":1.0}}}},"df":2,"docs":{"142":{"tf":1.0},"143":{"tf":1.4142135623730951}}}}}}},"df":29,"docs":{"123":{"tf":1.0},"134":{"tf":2.449489742783178},"135":{"tf":1.7320508075688772},"136":{"tf":2.23606797749979},"137":{"tf":1.4142135623730951},"138":{"tf":2.23606797749979},"139":{"tf":1.7320508075688772},"140":{"tf":1.7320508075688772},"141":{"tf":1.0},"142":{"tf":3.0},"143":{"tf":3.1622776601683795},"144":{"tf":2.23606797749979},"145":{"tf":1.4142135623730951},"147":{"tf":1.7320508075688772},"149":{"tf":1.4142135623730951},"150":{"tf":1.0},"227":{"tf":1.7320508075688772},"230":{"tf":1.4142135623730951},"231":{"tf":1.4142135623730951},"234":{"tf":3.4641016151377544},"235":{"tf":2.0},"236":{"tf":2.6457513110645907},"237":{"tf":1.7320508075688772},"238":{"tf":2.23606797749979},"239":{"tf":1.7320508075688772},"240":{"tf":1.0},"242":{"tf":2.0},"274":{"tf":1.0},"4":{"tf":1.0}},"s":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"_":{"b":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"|":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"143":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"236":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"]":{".":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"143":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"、":{"df":0,"docs":{},"s":{"c":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"、":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":1,"docs":{"143":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},",":{"df":0,"docs":{},"並":{"df":0,"docs":{},"考":{"df":0,"docs":{},"慮":{"df":0,"docs":{},"平":{"df":0,"docs":{},"攤":{"df":0,"docs":{},"分":{"df":0,"docs":{},"析":{"df":0,"docs":{},"(":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"140":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"174":{"tf":1.0},"175":{"tf":1.4142135623730951},"180":{"tf":1.4142135623730951},"190":{"tf":1.4142135623730951}}}}}},"g":{"df":2,"docs":{"15":{"tf":1.7320508075688772},"16":{"tf":1.0}},",":{"df":0,"docs":{},"有":{"df":0,"docs":{},"的":{"df":0,"docs":{},"工":{"df":0,"docs":{},"程":{"df":0,"docs":{},"師":{"df":0,"docs":{},"連":{"df":0,"docs":{},"續":{"df":0,"docs":{},"工":{"df":0,"docs":{},"作":{"df":0,"docs":{},"後":{"df":0,"docs":{},"效":{"df":0,"docs":{},"率":{"df":0,"docs":{},"大":{"df":0,"docs":{},"幅":{"df":0,"docs":{},"滑":{"df":0,"docs":{},"落":{"df":0,"docs":{},"。":{"df":0,"docs":{},"每":{"df":0,"docs":{},"個":{"df":0,"docs":{},"工":{"df":0,"docs":{},"程":{"df":0,"docs":{},"師":{"df":0,"docs":{},"的":{"df":0,"docs":{},"除":{"df":0,"docs":{},"蟲":{"df":0,"docs":{},"效":{"df":0,"docs":{},"率":{"df":0,"docs":{},"可":{"df":0,"docs":{},"以":{"df":0,"docs":{},"畫":{"df":0,"docs":{},"成":{"df":0,"docs":{},"「":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"15":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"df":0,"docs":{},"l":{"d":{"df":4,"docs":{"0":{"tf":1.0},"267":{"tf":1.0},"89":{"tf":1.7320508075688772},"92":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"276":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":3,"docs":{"116":{"tf":1.0},"118":{"tf":1.4142135623730951},"119":{"tf":1.0}}}}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":4,"docs":{"147":{"tf":1.0},"149":{"tf":1.0},"236":{"tf":1.0},"287":{"tf":1.0}}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"152":{"tf":1.0}}},"df":0,"docs":{}}}}},",":{"b":{"df":1,"docs":{"208":{"tf":1.0}}},"df":0,"docs":{}},":":{"a":{"df":1,"docs":{"256":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"c":{".":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"210":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"1":{"df":1,"docs":{"279":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"279":{"tf":1.4142135623730951}}},"_":{"0":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"139":{"tf":1.0}}}},"df":1,"docs":{"139":{"tf":1.4142135623730951}},"n":{"df":1,"docs":{"139":{"tf":1.0}}}},"1":{"df":1,"docs":{"139":{"tf":1.7320508075688772}},"k":{"df":1,"docs":{"139":{"tf":1.0}}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"h":{"df":6,"docs":{"21":{"tf":1.0},"218":{"tf":1.0},"230":{"tf":1.7320508075688772},"259":{"tf":1.0},"271":{"tf":1.0},"274":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":5,"docs":{"131":{"tf":1.0},"132":{"tf":1.0},"176":{"tf":1.0},"276":{"tf":1.0},"44":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":7,"docs":{"100":{"tf":1.7320508075688772},"105":{"tf":2.23606797749979},"115":{"tf":1.0},"180":{"tf":1.0},"210":{"tf":2.23606797749979},"211":{"tf":1.0},"99":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"176":{"tf":1.0}}}}}},"p":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"179":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"a":{"c":{"df":5,"docs":{"176":{"tf":1.0},"239":{"tf":1.7320508075688772},"262":{"tf":1.0},"267":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"159":{"tf":1.0}}}}}},"df":3,"docs":{"176":{"tf":2.23606797749979},"180":{"tf":1.0},"188":{"tf":1.0}}},"r":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"256":{"tf":1.4142135623730951}}}}},"df":1,"docs":{"233":{"tf":1.4142135623730951}},"e":{"df":1,"docs":{"176":{"tf":1.0}}},"g":{"df":0,"docs":{},"o":{"df":2,"docs":{"291":{"tf":1.0},"294":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":7,"docs":{"111":{"tf":1.0},"138":{"tf":1.4142135623730951},"139":{"tf":1.4142135623730951},"189":{"tf":1.4142135623730951},"241":{"tf":1.4142135623730951},"257":{"tf":1.4142135623730951},"84":{"tf":1.0}},")":{"df":0,"docs":{},",":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"d":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"117":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":1,"docs":{"190":{"tf":1.0}}}}}}}}},"c":{"df":14,"docs":{"122":{"tf":1.0},"13":{"tf":1.0},"190":{"tf":1.0},"225":{"tf":1.0},"244":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.4142135623730951},"62":{"tf":1.0},"64":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"77":{"tf":1.0},"93":{"tf":1.0}}},"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":16,"docs":{"139":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"149":{"tf":1.0},"150":{"tf":1.4142135623730951},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.4142135623730951},"230":{"tf":1.0},"273":{"tf":1.0},"290":{"tf":1.0},"30":{"tf":1.0},"42":{"tf":1.7320508075688772},"58":{"tf":2.23606797749979},"66":{"tf":1.0},"89":{"tf":1.0},"99":{"tf":1.0}}}}},"df":8,"docs":{"119":{"tf":1.0},"125":{"tf":2.449489742783178},"16":{"tf":1.4142135623730951},"180":{"tf":1.0},"205":{"tf":1.0},"210":{"tf":1.0},"256":{"tf":1.0},"58":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"114":{"tf":1.0}}}}},"h":{"1":{"df":2,"docs":{"287":{"tf":2.0},"289":{"tf":1.4142135623730951}}},"2":{"df":2,"docs":{"287":{"tf":2.0},"289":{"tf":1.4142135623730951}}},"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"230":{"tf":2.0},"234":{"tf":1.4142135623730951},"242":{"tf":1.0},"243":{"tf":1.0},"251":{"tf":1.0},"274":{"tf":1.4142135623730951}}}},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"185":{"tf":1.0},"288":{"tf":1.0}}}},"r":{"df":2,"docs":{"287":{"tf":1.0},"289":{"tf":1.0}},"t":{"df":1,"docs":{"175":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"162":{"tf":1.0},"20":{"tf":1.0}},"s":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"118":{"tf":1.0},"96":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"251":{"tf":1.0},"252":{"tf":1.0}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"89":{"tf":1.7320508075688772},"92":{"tf":3.4641016151377544}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"89":{"tf":1.0}}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"103":{"tf":1.0}}}}},"z":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"12":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"259":{"tf":1.0}}}}}}}}},"i":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"190":{"tf":1.4142135623730951},"198":{"tf":1.0},"7":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"r":{"a":{"'":{"df":1,"docs":{"83":{"tf":1.0}}},"df":2,"docs":{"80":{"tf":1.0},"84":{"tf":1.0}}},"df":0,"docs":{}}}},"j":{"df":0,"docs":{},"k":{"df":1,"docs":{"287":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"204":{"tf":1.0},"235":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"294":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":7,"docs":{"130":{"tf":1.4142135623730951},"132":{"tf":1.0},"143":{"tf":1.4142135623730951},"151":{"tf":1.0},"251":{"tf":1.4142135623730951},"255":{"tf":1.7320508075688772},"268":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"240":{"tf":1.0},"251":{"tf":3.7416573867739413},"288":{"tf":1.0}},"e":{"@":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"/":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"2":{"5":{"4":{":":{"2":{"3":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{":":{"1":{"8":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"u":{"d":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"271":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"251":{"tf":1.0}}}}}}},"u":{"b":{"df":15,"docs":{"0":{"tf":2.23606797749979},"1":{"tf":1.0},"10":{"tf":1.0},"109":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"138":{"tf":1.0},"230":{"tf":1.0}}}}}}}},"m":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":2,"docs":{"42":{"tf":1.0},"47":{"tf":1.0}}}}}},"p":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"c":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"289":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"c":{"df":2,"docs":{"122":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"b":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"122":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"e":{"df":5,"docs":{"10":{"tf":1.0},"139":{"tf":1.0},"276":{"tf":1.0},"277":{"tf":1.0},"291":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{":":{":":{"<":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"131":{"tf":1.0},"132":{"tf":1.0},"143":{"tf":1.0},"255":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"d":{"df":1,"docs":{"230":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":2,"docs":{"229":{"tf":1.0},"274":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0}}}}},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"111":{"tf":1.0},"116":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":12,"docs":{"122":{"tf":1.0},"13":{"tf":1.0},"190":{"tf":1.0},"199":{"tf":1.0},"225":{"tf":1.0},"244":{"tf":1.0},"47":{"tf":1.4142135623730951},"62":{"tf":1.0},"70":{"tf":1.0},"77":{"tf":1.0},"9":{"tf":1.0},"93":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"47":{"tf":1.0}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"119":{"tf":1.0}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"256":{"tf":1.0},"44":{"tf":1.0}}}}}}},"t":{"df":1,"docs":{"264":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"l":{"df":5,"docs":{"100":{"tf":1.0},"202":{"tf":1.0},"251":{"tf":1.4142135623730951},"262":{"tf":1.4142135623730951},"264":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":32,"docs":{"100":{"tf":1.4142135623730951},"113":{"tf":1.0},"114":{"tf":1.4142135623730951},"115":{"tf":1.4142135623730951},"126":{"tf":1.0},"127":{"tf":1.4142135623730951},"128":{"tf":1.4142135623730951},"137":{"tf":1.0},"140":{"tf":1.4142135623730951},"144":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.4142135623730951},"150":{"tf":1.4142135623730951},"161":{"tf":1.4142135623730951},"162":{"tf":1.0},"171":{"tf":1.4142135623730951},"214":{"tf":1.0},"22":{"tf":1.4142135623730951},"24":{"tf":1.0},"270":{"tf":1.0},"290":{"tf":1.0},"30":{"tf":1.0},"43":{"tf":1.0},"51":{"tf":1.0},"58":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.4142135623730951},"82":{"tf":1.0},"88":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.4142135623730951}}}}},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"47":{"tf":1.0},"84":{"tf":1.0}}}}}},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"256":{"tf":1.7320508075688772}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"111":{"tf":1.4142135623730951},"116":{"tf":1.4142135623730951},"30":{"tf":1.0},"95":{"tf":1.0}},"」":{"df":0,"docs":{},"手":{"df":0,"docs":{},"法":{"df":0,"docs":{},"的":{"df":0,"docs":{},"經":{"df":0,"docs":{},"典":{"df":0,"docs":{},"案":{"df":0,"docs":{},"例":{"df":0,"docs":{},",":{"df":0,"docs":{},"先":{"df":0,"docs":{},"將":{"df":0,"docs":{},"序":{"df":0,"docs":{},"列":{"df":0,"docs":{},"分":{"df":0,"docs":{},"成":{"df":0,"docs":{},"更":{"df":0,"docs":{},"小":{"df":0,"docs":{},"的":{"df":0,"docs":{},"子":{"df":0,"docs":{},"序":{"df":0,"docs":{},"列":{"df":0,"docs":{},"(":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},")":{"df":0,"docs":{},",":{"df":0,"docs":{},"一":{"df":0,"docs":{},"個":{"df":0,"docs":{},"個":{"df":0,"docs":{},"排":{"df":0,"docs":{},"序":{"df":0,"docs":{},"後":{"df":0,"docs":{},"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},")":{"df":0,"docs":{},",":{"df":0,"docs":{},"再":{"df":0,"docs":{},"合":{"df":0,"docs":{},"併":{"df":0,"docs":{},"已":{"df":0,"docs":{},"排":{"df":0,"docs":{},"序":{"df":0,"docs":{},"的":{"df":0,"docs":{},"子":{"df":0,"docs":{},"序":{"df":0,"docs":{},"列":{"df":0,"docs":{},"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"110":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"264":{"tf":1.0}}},"df":0,"docs":{}},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"262":{"tf":1.7320508075688772}}}}},"df":2,"docs":{"239":{"tf":1.0},"83":{"tf":1.0}}},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"211":{"tf":1.0},"255":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"216":{"tf":1.4142135623730951},"225":{"tf":1.0},"249":{"tf":1.4142135623730951},"266":{"tf":1.0}},"s":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"269":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"v":{"df":2,"docs":{"257":{"tf":1.0},"270":{"tf":1.0}}}},"<":{"df":0,"docs":{},"q":{">":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"249":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"176":{"tf":1.4142135623730951},"180":{"tf":1.0},"185":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":1,"docs":{"279":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"]":{"[":{"1":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"i":{"df":8,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"143":{"tf":1.0},"180":{"tf":1.0},"185":{"tf":1.4142135623730951}}},"y":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"180":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"13":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"288":{"tf":1.0}}}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"289":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":2,"docs":{"105":{"tf":1.0},"210":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},")":{"df":0,"docs":{},",":{"df":0,"docs":{},"漢":{"df":0,"docs":{},"明":{"df":0,"docs":{},"碼":{"df":0,"docs":{},"(":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":1,"docs":{"277":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"df":0,"docs":{},"s":{"c":{"a":{"df":0,"docs":{},"n":{"(":{"0":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}},"[":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}}},"df":0,"docs":{}},"df":23,"docs":{"123":{"tf":2.6457513110645907},"124":{"tf":1.4142135623730951},"125":{"tf":2.23606797749979},"126":{"tf":1.0},"127":{"tf":2.23606797749979},"128":{"tf":1.7320508075688772},"129":{"tf":1.4142135623730951},"130":{"tf":1.4142135623730951},"131":{"tf":2.0},"132":{"tf":1.7320508075688772},"133":{"tf":1.7320508075688772},"145":{"tf":2.23606797749979},"147":{"tf":1.7320508075688772},"149":{"tf":1.4142135623730951},"150":{"tf":1.0},"151":{"tf":1.7320508075688772},"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.4142135623730951},"272":{"tf":2.449489742783178},"278":{"tf":1.7320508075688772},"279":{"tf":1.7320508075688772},"4":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"151":{"tf":1.0}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"f":{"df":2,"docs":{"130":{"tf":1.0},"132":{"tf":1.0}}}},"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}}}}},"df":0,"docs":{},")":{"df":0,"docs":{},",":{"df":0,"docs":{},"有":{"df":0,"docs":{},"了":{"df":0,"docs":{},"個":{"df":0,"docs":{},"別":{"df":0,"docs":{},"元":{"df":0,"docs":{},"素":{"df":0,"docs":{},"增":{"df":0,"docs":{},"刪":{"df":0,"docs":{},"資":{"df":0,"docs":{},"訊":{"df":0,"docs":{},",":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"272":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"152":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"225":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"u":{"df":6,"docs":{"192":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"230":{"tf":1.4142135623730951},"259":{"tf":1.0},"271":{"tf":1.0},"85":{"tf":1.4142135623730951}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"62":{"tf":1.0}}}}}}}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"44":{"tf":1.0}},"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":11,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"122":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"142":{"tf":1.0},"143":{"tf":1.7320508075688772},"207":{"tf":1.0},"211":{"tf":1.0},"227":{"tf":1.0},"77":{"tf":1.0}},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"13":{"tf":1.0}}}}}},"df":0,"docs":{}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"229":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":1,"docs":{"275":{"tf":3.4641016151377544}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{"?":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"207":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"207":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"207":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":2,"docs":{"207":{"tf":2.8284271247461903},"208":{"tf":2.449489742783178}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"207":{"tf":1.7320508075688772},"208":{"tf":1.0},"251":{"tf":1.4142135623730951}}}}}}}}},"d":{".":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{")":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"(":{"1":{"df":1,"docs":{"186":{"tf":1.0}}},"2":{"df":1,"docs":{"186":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"3":{"df":1,"docs":{"186":{"tf":1.0}}},"4":{"df":1,"docs":{"186":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"251":{"tf":1.0}}}}},"t":{"a":{"df":11,"docs":{"162":{"tf":1.0},"172":{"tf":1.0},"175":{"tf":2.449489742783178},"200":{"tf":1.0},"245":{"tf":1.0},"251":{"tf":1.0},"259":{"tf":1.0},"271":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0},"43":{"tf":1.0}}},"df":0,"docs":{}}},"df":5,"docs":{"125":{"tf":2.449489742783178},"148":{"tf":1.0},"149":{"tf":1.4142135623730951},"150":{"tf":1.0},"186":{"tf":1.7320508075688772}},"e":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{".":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"176":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"_":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"!":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":1,"docs":{"179":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"188":{"tf":1.0}}}}}}},"df":2,"docs":{"188":{"tf":2.23606797749979},"213":{"tf":2.0}}}}},"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"185":{"tf":1.0},"251":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"238":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"236":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"131":{"tf":1.0},"132":{"tf":1.0},"236":{"tf":1.7320508075688772}},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":4,"docs":{"233":{"tf":1.0},"263":{"tf":1.4142135623730951},"264":{"tf":1.0},"269":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"233":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}}}},"l":{"df":1,"docs":{"287":{"tf":2.0}},"e":{"df":0,"docs":{},"t":{"df":4,"docs":{"161":{"tf":1.0},"171":{"tf":1.0},"282":{"tf":1.0},"289":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":2,"docs":{"263":{"tf":1.0},"264":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"47":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"q":{"df":0,"docs":{},"u":{"df":20,"docs":{"171":{"tf":1.0},"173":{"tf":1.7320508075688772},"174":{"tf":1.4142135623730951},"175":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":2.0},"178":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.0},"182":{"tf":1.4142135623730951},"183":{"tf":1.0},"184":{"tf":2.0},"185":{"tf":2.0},"186":{"tf":2.0},"187":{"tf":1.0},"188":{"tf":1.0},"189":{"tf":1.0},"190":{"tf":1.0},"6":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"f":{"df":1,"docs":{"184":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},":":{":":{"c":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"179":{"tf":1.0}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"184":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"186":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"186":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"186":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{"df":6,"docs":{"177":{"tf":1.4142135623730951},"179":{"tf":1.0},"184":{"tf":1.0},"186":{"tf":2.6457513110645907},"187":{"tf":1.4142135623730951},"188":{"tf":1.0}}}},"df":0,"docs":{},"u":{"df":2,"docs":{"165":{"tf":1.0},"171":{"tf":1.4142135623730951}},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"168":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},")":{"df":0,"docs":{},"是":{"df":0,"docs":{},"一":{"df":0,"docs":{},"般":{"df":0,"docs":{},"化":{"df":0,"docs":{},"(":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"173":{"tf":1.0}}}}}}}}}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{":":{":":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"211":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"176":{"tf":1.0},"83":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"188":{"tf":1.4142135623730951}},"e":{"(":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"188":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"92":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"270":{"tf":1.0}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"176":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"103":{"tf":1.0},"44":{"tf":1.0},"54":{"tf":1.0}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":1.0},"47":{"tf":1.0}}}}}}}}}}}},"i":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":6,"docs":{"112":{"tf":1.0},"136":{"tf":1.0},"258":{"tf":1.0},"73":{"tf":1.0},"81":{"tf":1.4142135623730951},"97":{"tf":1.0}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"df":0,"docs":{},")":{"df":0,"docs":{},"、":{"df":0,"docs":{},"關":{"df":0,"docs":{},"聯":{"df":0,"docs":{},"陣":{"df":0,"docs":{},"列":{"df":0,"docs":{},"(":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"216":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{}}}},",":{"df":0,"docs":{},"j":{"a":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"216":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"251":{"tf":1.0},"255":{"tf":1.0},"257":{"tf":1.4142135623730951},"267":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"<":{"'":{"a":{">":{"(":{"&":{"'":{"a":{"df":1,"docs":{"252":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},":":{"df":0,"docs":{},"差":{"df":0,"docs":{},"集":{"df":0,"docs":{},",":{"a":{"df":1,"docs":{"250":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":5,"docs":{"146":{"tf":1.4142135623730951},"147":{"tf":1.7320508075688772},"148":{"tf":1.0},"151":{"tf":2.23606797749979},"278":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"250":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"253":{"tf":1.0},"256":{"tf":1.0}}}}}}},"k":{"df":1,"docs":{"259":{"tf":1.0}}},"p":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"240":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"84":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":17,"docs":{"230":{"tf":1.0},"277":{"tf":1.7320508075688772},"278":{"tf":1.0},"279":{"tf":1.0},"280":{"tf":1.0},"281":{"tf":1.4142135623730951},"282":{"tf":2.23606797749979},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.7320508075688772},"288":{"tf":1.7320508075688772},"289":{"tf":1.4142135623730951},"290":{"tf":1.0},"291":{"tf":2.23606797749979},"9":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{")":{".":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"|":{"d":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"289":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"[":{"0":{"]":{"[":{"df":0,"docs":{},"j":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":1,"docs":{"289":{"tf":1.0}}},"df":0,"docs":{},"i":{"]":{"[":{"0":{"df":2,"docs":{"287":{"tf":1.4142135623730951},"288":{"tf":1.0}}},"df":0,"docs":{},"j":{"df":1,"docs":{"287":{"tf":2.0}}}},"df":0,"docs":{}},"df":1,"docs":{"287":{"tf":2.0}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"j":{"df":1,"docs":{"289":{"tf":2.0}}}},"df":0,"docs":{}},")":{"df":0,"docs":{},"是":{"df":0,"docs":{},"指":{"df":0,"docs":{},"兩":{"df":0,"docs":{},"個":{"df":0,"docs":{},"相":{"df":0,"docs":{},"同":{"df":0,"docs":{},"長":{"df":0,"docs":{},"度":{"df":0,"docs":{},"的":{"df":0,"docs":{},"序":{"df":0,"docs":{},"列":{"df":0,"docs":{},"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},")":{"df":0,"docs":{},"在":{"df":0,"docs":{},"相":{"df":0,"docs":{},"同":{"df":0,"docs":{},"位":{"df":0,"docs":{},"置":{"df":0,"docs":{},"上":{"df":0,"docs":{},",":{"df":0,"docs":{},"有":{"df":0,"docs":{},"多":{"df":0,"docs":{},"少":{"df":0,"docs":{},"個":{"df":0,"docs":{},"數":{"df":0,"docs":{},"值":{"df":0,"docs":{},"不":{"df":0,"docs":{},"同":{"df":0,"docs":{},",":{"df":0,"docs":{},"對":{"df":0,"docs":{},"二":{"df":0,"docs":{},"進":{"df":0,"docs":{},"位":{"df":0,"docs":{},"序":{"df":0,"docs":{},"列":{"df":0,"docs":{},"來":{"df":0,"docs":{},"說":{"df":0,"docs":{},"就":{"df":0,"docs":{},"是":{"df":0,"docs":{},"「":{"df":0,"docs":{},"相":{"df":0,"docs":{},"異":{"df":0,"docs":{},"位":{"df":0,"docs":{},"元":{"df":0,"docs":{},"的":{"df":0,"docs":{},"數":{"df":0,"docs":{},"目":{"df":0,"docs":{},"」":{"df":0,"docs":{},"。":{"df":0,"docs":{},"漢":{"df":0,"docs":{},"明":{"df":0,"docs":{},"距":{"df":0,"docs":{},"離":{"df":0,"docs":{},"同":{"df":0,"docs":{},"時":{"df":0,"docs":{},"也":{"df":0,"docs":{},"是":{"df":0,"docs":{},"一":{"df":0,"docs":{},"種":{"df":0,"docs":{},"編":{"df":0,"docs":{},"輯":{"df":0,"docs":{},"距":{"df":0,"docs":{},"離":{"df":0,"docs":{},",":{"df":0,"docs":{},"即":{"df":0,"docs":{},"是":{"df":0,"docs":{},"將":{"df":0,"docs":{},"一":{"df":0,"docs":{},"個":{"df":0,"docs":{},"字":{"df":0,"docs":{},"串":{"df":0,"docs":{},"轉":{"df":0,"docs":{},"換":{"df":0,"docs":{},"成":{"df":0,"docs":{},"另":{"df":0,"docs":{},"一":{"df":0,"docs":{},"個":{"df":0,"docs":{},"字":{"df":0,"docs":{},"串":{"df":0,"docs":{},",":{"df":0,"docs":{},"需":{"df":0,"docs":{},"要":{"df":0,"docs":{},"經":{"df":0,"docs":{},"過":{"df":0,"docs":{},"多":{"df":0,"docs":{},"少":{"df":0,"docs":{},"次":{"df":0,"docs":{},"置":{"df":0,"docs":{},"換":{"df":0,"docs":{},"操":{"df":0,"docs":{},"作":{"df":0,"docs":{},"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"277":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}}}},"df":0,"docs":{}}},"df":1,"docs":{"289":{"tf":1.4142135623730951}},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":4,"docs":{"129":{"tf":1.0},"229":{"tf":1.0},"43":{"tf":1.7320508075688772},"47":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"i":{"d":{"df":5,"docs":{"110":{"tf":1.0},"111":{"tf":1.0},"116":{"tf":1.4142135623730951},"30":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":6,"docs":{"0":{"tf":1.0},"190":{"tf":1.0},"215":{"tf":1.0},"225":{"tf":1.0},"244":{"tf":1.0},"258":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"262":{"tf":1.0}}}},"df":0,"docs":{}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"199":{"tf":1.0},"258":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"271":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"87":{"tf":1.0}}},"’":{"df":0,"docs":{},"t":{"df":1,"docs":{"274":{"tf":1.0}}}}},"u":{"b":{"df":0,"docs":{},"l":{"df":5,"docs":{"173":{"tf":1.0},"180":{"tf":1.0},"230":{"tf":1.0},"271":{"tf":1.0},"275":{"tf":1.0}},"i":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"n":{"df":7,"docs":{"116":{"tf":1.0},"117":{"tf":1.4142135623730951},"119":{"tf":1.0},"87":{"tf":1.7320508075688772},"89":{"tf":1.7320508075688772},"90":{"tf":2.0},"92":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"176":{"tf":1.0},"184":{"tf":1.0},"210":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}},"df":7,"docs":{"176":{"tf":2.8284271247461903},"182":{"tf":1.0},"184":{"tf":2.8284271247461903},"185":{"tf":1.0},"205":{"tf":1.7320508075688772},"210":{"tf":3.3166247903554},"251":{"tf":1.0}}}}},"s":{"a":{"df":1,"docs":{"152":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":3,"docs":{"180":{"tf":1.4142135623730951},"233":{"tf":1.4142135623730951},"265":{"tf":1.7320508075688772}}}},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"185":{"tf":1.0}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"107":{"tf":1.0}}},"df":0,"docs":{}}}},"s":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"215":{"tf":1.0}}}}}},"df":0,"docs":{}},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"107":{"tf":1.0}}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":6,"docs":{"140":{"tf":1.0},"230":{"tf":1.0},"233":{"tf":1.4142135623730951},"240":{"tf":1.0},"262":{"tf":1.0},"285":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"0":{"3":{"7":{"3":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"2":{"3":{"df":1,"docs":{"251":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"^":{"df":0,"docs":{},"{":{"7":{"7":{"7":{"^":{"df":0,"docs":{},"{":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"_":{"2":{"^":{"9":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"139":{"tf":1.4142135623730951},"146":{"tf":1.4142135623730951},"211":{"tf":1.0}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"0":{"tf":1.0},"109":{"tf":1.0},"244":{"tf":1.0},"282":{"tf":1.0}}}}},"df":2,"docs":{"125":{"tf":2.23606797749979},"284":{"tf":1.0}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{".":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"1":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}},"2":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":7,"docs":{"182":{"tf":1.4142135623730951},"186":{"tf":2.23606797749979},"202":{"tf":1.7320508075688772},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"268":{"tf":1.7320508075688772},"269":{"tf":2.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":11,"docs":{"103":{"tf":1.4142135623730951},"107":{"tf":1.0},"108":{"tf":2.23606797749979},"119":{"tf":1.4142135623730951},"131":{"tf":1.0},"132":{"tf":1.7320508075688772},"139":{"tf":1.0},"142":{"tf":1.0},"176":{"tf":1.0},"179":{"tf":1.0},"185":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"105":{"tf":1.0}}}}},"s":{"df":1,"docs":{"251":{"tf":1.7320508075688772}}}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":5,"docs":{"140":{"tf":1.0},"175":{"tf":1.0},"227":{"tf":1.0},"44":{"tf":1.0},"54":{"tf":1.0}}}}}},"n":{"d":{"df":4,"docs":{"173":{"tf":1.0},"211":{"tf":1.0},"34":{"tf":1.4142135623730951},"92":{"tf":3.3166247903554}},"{":{"c":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"114":{"tf":1.0},"284":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":3,"docs":{"165":{"tf":1.0},"167":{"tf":1.0},"171":{"tf":1.0}},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"167":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":2,"docs":{"210":{"tf":1.0},"215":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"271":{"tf":1.0}}},"y":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"239":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":4,"docs":{"260":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.0},"270":{"tf":1.4142135623730951}}}}}}}},"q":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"212":{"tf":1.0},"256":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":9,"docs":{"233":{"tf":2.0},"234":{"tf":1.4142135623730951},"236":{"tf":1.4142135623730951},"237":{"tf":1.0},"238":{"tf":1.0},"247":{"tf":1.0},"249":{"tf":1.7320508075688772},"255":{"tf":1.0},"256":{"tf":2.8284271247461903}},"u":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"107":{"tf":1.0},"256":{"tf":1.0},"44":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},")":{"df":0,"docs":{},"定":{"df":0,"docs":{},"義":{"df":0,"docs":{},"為":{"df":0,"docs":{},":":{"df":0,"docs":{},"x":{"df":1,"docs":{"256":{"tf":1.0}}}}}}}}}}}}},"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"(":{"df":0,"docs":{},"s":{"a":{"df":1,"docs":{"212":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"256":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},",":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"233":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"r":{"(":{"0":{"df":3,"docs":{"33":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951}}},"b":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"143":{"tf":1.0}}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}},"p":{"df":0,"docs":{},"o":{"df":2,"docs":{"207":{"tf":1.4142135623730951},"61":{"tf":1.0}}}},"目":{"df":0,"docs":{},"標":{"df":0,"docs":{},"值":{"df":0,"docs":{},"若":{"df":0,"docs":{},"插":{"df":0,"docs":{},"入":{"df":0,"docs":{},"後":{"df":0,"docs":{},",":{"df":0,"docs":{},"不":{"df":0,"docs":{},"會":{"df":0,"docs":{},"影":{"df":0,"docs":{},"響":{"df":0,"docs":{},"序":{"df":0,"docs":{},"列":{"df":0,"docs":{},"排":{"df":0,"docs":{},"序":{"df":0,"docs":{},"的":{"df":0,"docs":{},"位":{"df":0,"docs":{},"置":{")":{"df":0,"docs":{},"。":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"32":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}}},"_":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"267":{"tf":2.449489742783178},"269":{"tf":1.7320508075688772}},"e":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}},"o":{"df":0,"docs":{},"g":{"2":{"(":{")":{")":{".":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":2,"docs":{"44":{"tf":1.0},"61":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"r":{"[":{"df":0,"docs":{},"e":{"0":{"1":{"9":{"5":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"7":{"7":{"df":1,"docs":{"262":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"0":{"8":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"7":{"3":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"9":{"2":{"df":1,"docs":{"264":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"3":{"5":{"df":1,"docs":{"262":{"tf":1.0}}},"df":0,"docs":{}},"9":{"5":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"2":{"3":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":4,"docs":{"251":{"tf":1.4142135623730951},"264":{"tf":1.0},"276":{"tf":1.0},"277":{"tf":1.0}}}}}},"t":{"df":2,"docs":{"274":{"tf":1.0},"275":{"tf":1.0}}},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":5,"docs":{"143":{"tf":1.0},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"19":{"tf":1.7320508075688772},"92":{"tf":1.0}}}},"t":{"df":1,"docs":{"44":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"(":{"\"":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"238":{"tf":1.0}}}}},"df":0,"docs":{}}},"&":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"!":{"(":{"\"":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"238":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":3,"docs":{"185":{"tf":1.0},"238":{"tf":1.0},"240":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"<":{"df":0,"docs":{},"t":{">":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"54":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":10,"docs":{"3":{"tf":1.0},"37":{"tf":2.23606797749979},"48":{"tf":2.0},"49":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.4142135623730951}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"185":{"tf":1.0}}}}}}},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"130":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"f":{"(":{"df":0,"docs":{},"n":{"df":3,"docs":{"17":{"tf":3.3166247903554},"18":{"tf":1.7320508075688772},"19":{"tf":2.23606797749979}}},"x":{")":{"=":{"\\":{"df":0,"docs":{},"s":{"df":0,"docs":{},"q":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"{":{"\\":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"{":{"1":{"8":{"2":{"7":{"7":{"7":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"2":{"8":{"6":{"df":0,"docs":{},"}":{"df":0,"docs":{},"}":{"\\":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"x":{"^":{"2":{"+":{"3":{"df":0,"docs":{},"x":{"+":{"6":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"16":{"tf":1.7320508075688772}}}},".":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{")":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"188":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"6":{"4":{"df":3,"docs":{"239":{"tf":1.4142135623730951},"267":{"tf":2.449489742783178},"269":{"tf":2.0}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"q":{"df":1,"docs":{"274":{"tf":1.0}}},"r":{"df":1,"docs":{"274":{"tf":1.0}}}},"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"176":{"tf":1.0}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":8,"docs":{"231":{"tf":2.8284271247461903},"235":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.4142135623730951},"242":{"tf":1.4142135623730951},"243":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.0}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":3,"docs":{"122":{"tf":1.0},"244":{"tf":1.0},"93":{"tf":1.0}}},"s":{"df":8,"docs":{"157":{"tf":1.0},"168":{"tf":1.0},"212":{"tf":1.0},"253":{"tf":1.4142135623730951},"256":{"tf":2.0},"259":{"tf":1.0},"260":{"tf":1.0},"76":{"tf":1.0}}}},"n":{"df":1,"docs":{"275":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"291":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"46":{"tf":1.0},"47":{"tf":1.0}}}}}}},"df":7,"docs":{"125":{"tf":1.7320508075688772},"130":{"tf":1.4142135623730951},"132":{"tf":1.4142135623730951},"143":{"tf":1.7320508075688772},"188":{"tf":1.0},"213":{"tf":1.0},"274":{"tf":1.0}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"142":{"tf":1.0},"264":{"tf":1.0}}},"df":0,"docs":{}}},"f":{"df":0,"docs":{},"o":{"df":2,"docs":{"163":{"tf":1.0},"173":{"tf":1.0}}}},"g":{"df":4,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"19":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"185":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"273":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":20,"docs":{"224":{"tf":1.4142135623730951},"259":{"tf":3.1622776601683795},"260":{"tf":2.23606797749979},"261":{"tf":1.0},"262":{"tf":1.4142135623730951},"263":{"tf":1.0},"264":{"tf":1.7320508075688772},"265":{"tf":1.0},"266":{"tf":1.4142135623730951},"267":{"tf":1.4142135623730951},"268":{"tf":1.4142135623730951},"269":{"tf":1.4142135623730951},"270":{"tf":1.4142135623730951},"271":{"tf":2.8284271247461903},"272":{"tf":3.4641016151377544},"273":{"tf":4.123105625617661},"274":{"tf":3.1622776601683795},"275":{"tf":3.7416573867739413},"276":{"tf":2.23606797749979},"8":{"tf":1.0}},"f":{"df":1,"docs":{"274":{"tf":1.0}}}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"103":{"tf":1.0}}}},"d":{"(":{"df":0,"docs":{},"|":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"237":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":2,"docs":{"108":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"142":{"tf":1.0},"185":{"tf":1.0},"214":{"tf":1.0}}}}},"x":{"df":2,"docs":{"259":{"tf":1.0},"262":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"107":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"274":{"tf":1.0}}}},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"b":{"df":1,"docs":{"240":{"tf":1.7320508075688772}},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"239":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":3,"docs":{"143":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":1,"docs":{"143":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"265":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"188":{"tf":1.0},"213":{"tf":1.0}}}}}}},"df":0,"docs":{}},":":{":":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"188":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":1,"docs":{"188":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"188":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"n":{"(":{"&":{"df":0,"docs":{},"t":{"df":3,"docs":{"130":{"tf":1.0},"132":{"tf":1.0},"143":{"tf":1.0}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"i":{"df":2,"docs":{"268":{"tf":1.7320508075688772},"269":{"tf":2.23606797749979}}}},"df":75,"docs":{"102":{"tf":1.4142135623730951},"103":{"tf":1.0},"105":{"tf":2.0},"107":{"tf":1.0},"108":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"142":{"tf":1.0},"143":{"tf":1.4142135623730951},"151":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.0},"166":{"tf":1.0},"167":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":1.0},"176":{"tf":1.7320508075688772},"177":{"tf":1.0},"179":{"tf":2.23606797749979},"180":{"tf":1.4142135623730951},"181":{"tf":2.0},"182":{"tf":2.0},"184":{"tf":1.0},"185":{"tf":2.6457513110645907},"186":{"tf":2.0},"187":{"tf":1.4142135623730951},"188":{"tf":1.0},"205":{"tf":1.0},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"208":{"tf":1.0},"210":{"tf":1.4142135623730951},"211":{"tf":2.6457513110645907},"212":{"tf":1.0},"213":{"tf":1.0},"233":{"tf":1.7320508075688772},"236":{"tf":1.7320508075688772},"237":{"tf":2.0},"238":{"tf":1.4142135623730951},"239":{"tf":1.7320508075688772},"240":{"tf":1.4142135623730951},"249":{"tf":2.449489742783178},"25":{"tf":1.4142135623730951},"251":{"tf":2.449489742783178},"252":{"tf":2.0},"253":{"tf":1.7320508075688772},"255":{"tf":1.0},"256":{"tf":1.4142135623730951},"262":{"tf":1.0},"267":{"tf":2.23606797749979},"268":{"tf":1.7320508075688772},"269":{"tf":2.8284271247461903},"278":{"tf":1.4142135623730951},"279":{"tf":1.0},"286":{"tf":1.4142135623730951},"287":{"tf":1.0},"289":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"44":{"tf":1.4142135623730951},"54":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0},"76":{"tf":1.4142135623730951},"83":{"tf":1.0},"92":{"tf":1.4142135623730951}}},"o":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"|":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"239":{"tf":1.0}}}},"df":0,"docs":{}}},"df":1,"docs":{"239":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"17":{"tf":1.7320508075688772},"18":{"tf":1.0},"19":{"tf":1.4142135623730951}}}},"c":{"df":1,"docs":{"251":{"tf":1.0}}},"d":{"df":0,"docs":{},"o":{"df":1,"docs":{"227":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":1,"docs":{"272":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"47":{"tf":1.0}}}},"df":2,"docs":{"185":{"tf":1.0},"240":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"r":{"a":{"c":{"df":2,"docs":{"80":{"tf":1.7320508075688772},"81":{"tf":1.0}},"{":{"\\":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"df":0,"docs":{},"{":{"\\":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"}":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"\\":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"df":0,"docs":{},"{":{"2":{"df":1,"docs":{"260":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}}}}},"c":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{},"n":{"^":{"2":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"2":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"2":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"i":{"df":1,"docs":{"42":{"tf":1.0}}},"n":{"(":{"df":0,"docs":{},"n":{"df":3,"docs":{"66":{"tf":1.0},"75":{"tf":1.0},"99":{"tf":1.0}}}},"^":{"2":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"2":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"260":{"tf":1.0}},"}":{"df":0,"docs":{},"{":{"2":{"^":{"df":0,"docs":{},"k":{"df":1,"docs":{"30":{"tf":1.4142135623730951}}}},"df":2,"docs":{"114":{"tf":2.0},"75":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":2,"docs":{"231":{"tf":1.0},"242":{"tf":1.4142135623730951}}}}}},"y":{"_":{"1":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"100":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"274":{"tf":1.0}}}}},"df":0,"docs":{}}}},"o":{"d":{"df":0,"docs":{},"o":{"df":2,"docs":{"227":{"tf":1.7320508075688772},"230":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"255":{"tf":1.4142135623730951}}}}}}},"n":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"181":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":4,"docs":{"164":{"tf":1.0},"178":{"tf":1.0},"181":{"tf":1.0},"189":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"175":{"tf":1.0}}}},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":11,"docs":{"130":{"tf":2.0},"131":{"tf":1.0},"143":{"tf":1.0},"229":{"tf":1.0},"251":{"tf":1.4142135623730951},"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0},"284":{"tf":1.0},"32":{"tf":1.0},"47":{"tf":1.0}}}}}}},"df":0,"docs":{}}},":":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"143":{"tf":1.0}}}}}}},"df":0,"docs":{}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"130":{"tf":1.0}}}}}}},"g":{"(":{"df":0,"docs":{},"n":{"df":3,"docs":{"17":{"tf":2.23606797749979},"18":{"tf":1.7320508075688772},"19":{"tf":2.0}}},"x":{")":{"=":{"3":{"df":0,"docs":{},"x":{"^":{"6":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"16":{"tf":1.7320508075688772}}}},"_":{"df":0,"docs":{},"i":{"(":{"df":0,"docs":{},"x":{"df":4,"docs":{"260":{"tf":1.0},"266":{"tf":1.0},"268":{"tf":1.7320508075688772},"269":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"48":{"tf":1.0}}}}}},"p":{"df":6,"docs":{"78":{"tf":1.7320508075688772},"79":{"tf":2.0},"80":{"tf":2.23606797749979},"81":{"tf":2.23606797749979},"82":{"tf":2.449489742783178},"83":{"tf":3.4641016151377544}}},"t":{"df":1,"docs":{"185":{"tf":1.7320508075688772}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"135":{"tf":1.0},"136":{"tf":1.0},"139":{"tf":1.0},"143":{"tf":1.4142135623730951}}}}}}},"b":{"df":1,"docs":{"14":{"tf":1.0}}},"df":1,"docs":{"284":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"k":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"k":{"df":1,"docs":{"109":{"tf":1.0}}}}}}}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":4,"docs":{"142":{"tf":1.0},"185":{"tf":1.0},"264":{"tf":1.0},"272":{"tf":1.0}}}}},"q":{"df":2,"docs":{"18":{"tf":1.0},"19":{"tf":1.0}}},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"237":{"tf":1.0}}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"q":{">":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"237":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"266":{"tf":1.0}}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"238":{"tf":1.0}}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"185":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":2,"docs":{"185":{"tf":1.4142135623730951},"237":{"tf":1.0}},":":{"df":0,"docs":{},"取":{"df":0,"docs":{},"得":{"df":0,"docs":{},"指":{"df":0,"docs":{},"定":{"df":0,"docs":{},"鍵":{"df":0,"docs":{},"對":{"df":0,"docs":{},"應":{"df":0,"docs":{},"的":{"df":0,"docs":{},"資":{"df":0,"docs":{},"料":{"df":0,"docs":{},",":{"df":0,"docs":{},"並":{"df":0,"docs":{},"可":{"df":0,"docs":{},"寫":{"df":0,"docs":{},"入":{"df":0,"docs":{},"修":{"df":0,"docs":{},"改":{"df":0,"docs":{},"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"235":{"tf":1.0}}}}}}}}}}}}}}}}}}}}}}}}}}}},"df":1,"docs":{"210":{"tf":1.0}}}},"i":{"df":0,"docs":{},"f":{"df":6,"docs":{"122":{"tf":1.0},"62":{"tf":1.0},"70":{"tf":1.0},"77":{"tf":1.0},"86":{"tf":1.0},"93":{"tf":1.0}}},"m":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"230":{"tf":1.7320508075688772}}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"b":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"o":{"b":{"a":{"df":0,"docs":{},"l":{"_":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"176":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"176":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"df":1,"docs":{"291":{"tf":1.0}},"e":{"df":1,"docs":{"210":{"tf":1.0}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"227":{"tf":1.7320508075688772},"230":{"tf":1.7320508075688772}},"n":{"df":1,"docs":{"227":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"276":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":2,"docs":{"225":{"tf":1.0},"244":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"92":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"133":{"tf":1.0}}}}},"t":{"df":1,"docs":{"270":{"tf":1.0}}},"u":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"279":{"tf":1.0}}},"df":0,"docs":{}},"v":{"a":{"df":1,"docs":{"276":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"h":{"1":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"269":{"tf":1.0}}}},".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"i":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"h":{"2":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}},"2":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"269":{"tf":1.0}}}},"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}},"_":{"1":{"(":{"df":0,"docs":{},"x":{"df":5,"docs":{"260":{"tf":1.4142135623730951},"266":{"tf":1.0},"268":{"tf":2.23606797749979},"269":{"tf":1.4142135623730951},"275":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"2":{"(":{"df":0,"docs":{},"x":{"df":4,"docs":{"260":{"tf":1.0},"268":{"tf":1.4142135623730951},"269":{"tf":1.0},"275":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"33":{"tf":1.7320508075688772}}}},"m":{"df":6,"docs":{"277":{"tf":2.0},"278":{"tf":1.0},"279":{"tf":1.0},"280":{"tf":1.0},"281":{"tf":1.4142135623730951},"9":{"tf":1.0}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"278":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"279":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"n":{"d":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"10":{"tf":1.0}}}}}},"df":0,"docs":{},"l":{"df":2,"docs":{"44":{"tf":1.0},"54":{"tf":1.0}},"e":{"_":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"d":{"_":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"176":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"275":{"tf":1.0}}},"h":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"275":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"1":{"df":1,"docs":{"228":{"tf":1.0}}},"2":{"df":1,"docs":{"228":{"tf":1.0}}},"df":0,"docs":{}}}},"x":{"df":1,"docs":{"275":{"tf":1.0}}}},"<":{"df":0,"docs":{},"h":{"df":1,"docs":{"233":{"tf":1.0}}}},"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.7320508075688772},"269":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"o":{"df":1,"docs":{"227":{"tf":1.0}}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"227":{"tf":1.0}}}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"228":{"tf":1.0}}}}},"s":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"227":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"247":{"tf":1.0}}}},"df":0,"docs":{}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"228":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":37,"docs":{"142":{"tf":2.23606797749979},"143":{"tf":1.0},"220":{"tf":1.4142135623730951},"226":{"tf":1.7320508075688772},"227":{"tf":1.0},"228":{"tf":1.0},"229":{"tf":1.7320508075688772},"230":{"tf":1.7320508075688772},"231":{"tf":1.4142135623730951},"232":{"tf":1.0},"233":{"tf":3.872983346207417},"234":{"tf":1.7320508075688772},"235":{"tf":1.0},"236":{"tf":1.7320508075688772},"237":{"tf":1.4142135623730951},"238":{"tf":1.7320508075688772},"239":{"tf":1.0},"240":{"tf":1.0},"241":{"tf":1.0},"242":{"tf":1.0},"243":{"tf":1.0},"244":{"tf":2.0},"247":{"tf":1.0},"249":{"tf":1.7320508075688772},"255":{"tf":1.0},"256":{"tf":1.7320508075688772},"260":{"tf":1.0},"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.7320508075688772},"269":{"tf":2.6457513110645907},"271":{"tf":1.0},"274":{"tf":1.4142135623730951},"275":{"tf":2.0},"276":{"tf":1.4142135623730951},"8":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"(":{"&":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"143":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"233":{"tf":1.0}}}}}}}}},"1":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}}}}},"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}},"2":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}}}}},"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}},":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"268":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},">":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"233":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":8,"docs":{"142":{"tf":1.4142135623730951},"143":{"tf":1.4142135623730951},"233":{"tf":2.23606797749979},"263":{"tf":2.0},"264":{"tf":1.4142135623730951},"267":{"tf":1.7320508075688772},"268":{"tf":2.23606797749979},"269":{"tf":1.7320508075688772}}}},"m":{"a":{"df":0,"docs":{},"p":{".":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"234":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"238":{"tf":1.0}}}}}},":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"249":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"249":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"249":{"tf":1.0}}}}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"239":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"<":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"237":{"tf":1.0}}}}}},"df":0,"docs":{},"k":{"df":3,"docs":{"234":{"tf":1.4142135623730951},"236":{"tf":1.4142135623730951},"264":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"264":{"tf":1.0}}}}},"t":{"df":2,"docs":{"247":{"tf":1.0},"248":{"tf":1.0}}}},"df":11,"docs":{"143":{"tf":1.4142135623730951},"216":{"tf":1.0},"230":{"tf":1.0},"231":{"tf":1.0},"233":{"tf":1.0},"234":{"tf":1.0},"236":{"tf":1.4142135623730951},"244":{"tf":1.0},"247":{"tf":1.0},"249":{"tf":1.0},"257":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"237":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{"df":7,"docs":{"247":{"tf":1.0},"249":{"tf":1.0},"251":{"tf":3.4641016151377544},"252":{"tf":2.0},"253":{"tf":1.7320508075688772},"255":{"tf":2.23606797749979},"256":{"tf":2.23606797749979}}}},"df":2,"docs":{"251":{"tf":1.4142135623730951},"258":{"tf":1.0}}}}},":":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"142":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":9,"docs":{"142":{"tf":1.4142135623730951},"143":{"tf":1.7320508075688772},"175":{"tf":3.0},"179":{"tf":1.4142135623730951},"180":{"tf":2.449489742783178},"233":{"tf":1.0},"276":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.0}},"e":{"a":{"d":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"206":{"tf":1.0}}}}}}},"df":21,"docs":{"119":{"tf":1.4142135623730951},"171":{"tf":1.0},"174":{"tf":1.0},"175":{"tf":3.3166247903554},"177":{"tf":1.4142135623730951},"179":{"tf":1.0},"180":{"tf":2.6457513110645907},"181":{"tf":1.7320508075688772},"182":{"tf":1.7320508075688772},"185":{"tf":2.0},"189":{"tf":1.0},"196":{"tf":2.0},"200":{"tf":1.0},"203":{"tf":1.4142135623730951},"205":{"tf":1.0},"206":{"tf":2.23606797749979},"207":{"tf":1.0},"208":{"tf":1.4142135623730951},"210":{"tf":1.0},"214":{"tf":1.0},"230":{"tf":1.0}}},"df":0,"docs":{},"p":{"df":10,"docs":{"202":{"tf":1.0},"236":{"tf":1.0},"69":{"tf":1.0},"85":{"tf":2.0},"86":{"tf":3.0},"87":{"tf":4.242640687119285},"89":{"tf":3.605551275463989},"90":{"tf":1.7320508075688772},"92":{"tf":4.358898943540674},"93":{"tf":1.0}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":4,"docs":{"87":{"tf":1.7320508075688772},"89":{"tf":2.23606797749979},"90":{"tf":1.0},"92":{"tf":1.7320508075688772}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"92":{"tf":1.0}}}}},"df":0,"docs":{}},"df":11,"docs":{"4":{"tf":1.0},"69":{"tf":1.7320508075688772},"85":{"tf":2.449489742783178},"86":{"tf":1.7320508075688772},"87":{"tf":1.7320508075688772},"88":{"tf":1.4142135623730951},"89":{"tf":1.4142135623730951},"90":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":2.0},"93":{"tf":1.4142135623730951}}}}}}},"v":{"df":0,"docs":{},"i":{"df":1,"docs":{"291":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"p":{"df":2,"docs":{"251":{"tf":1.0},"264":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"102":{"tf":1.0}}}}}},"n":{"c":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"4":{"0":{"4":{"0":{"8":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"df":3,"docs":{"176":{"tf":1.0},"210":{"tf":1.4142135623730951},"251":{"tf":1.7320508075688772}}}}},"i":{"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"44":{"tf":2.449489742783178}}}},"df":0,"docs":{}}},"df":8,"docs":{"102":{"tf":3.0},"103":{"tf":1.4142135623730951},"105":{"tf":4.242640687119285},"107":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"41":{"tf":1.4142135623730951},"44":{"tf":2.8284271247461903},"54":{"tf":2.23606797749979}},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"96":{"tf":1.4142135623730951}}}},"、":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}}}},"o":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"108":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"136":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"o":{"d":{"df":1,"docs":{"231":{"tf":1.0}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"{":{"1":{"0":{"df":2,"docs":{"284":{"tf":1.0},"286":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{"/":{"/":{"d":{"df":0,"docs":{},"o":{"c":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},":":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"143":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"i":{"$":{"df":0,"docs":{},"、":{"$":{"df":0,"docs":{},"j":{"df":1,"docs":{"284":{"tf":1.0}}}},"df":0,"docs":{}}},"+":{"1":{"df":1,"docs":{"96":{"tf":1.0}}},"df":0,"docs":{}},"/":{"df":1,"docs":{"284":{"tf":1.0}},"o":{"df":1,"docs":{"274":{"tf":1.0}}}},"3":{"2":{"df":17,"docs":{"102":{"tf":1.4142135623730951},"103":{"tf":1.0},"105":{"tf":2.0},"107":{"tf":1.0},"108":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.7320508075688772},"151":{"tf":1.0},"264":{"tf":1.4142135623730951},"44":{"tf":2.8284271247461903},"59":{"tf":1.0},"61":{"tf":1.4142135623730951},"67":{"tf":1.0},"76":{"tf":1.4142135623730951},"83":{"tf":1.0},"92":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"275":{"tf":1.0}},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"107":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"7":{"5":{"4":{"df":1,"docs":{"256":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"47":{"tf":1.0}}}}},"h":{"_":{"2":{"(":{"df":0,"docs":{},"x":{"df":4,"docs":{"260":{"tf":1.0},"266":{"tf":1.0},"268":{"tf":1.7320508075688772},"269":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"k":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"n":{"df":2,"docs":{"43":{"tf":1.0},"47":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"a":{"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}}},"m":{"a":{"df":0,"docs":{},"g":{"df":3,"docs":{"190":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"200":{"tf":1.4142135623730951},"211":{"tf":1.4142135623730951},"251":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"l":{"<":{"'":{"a":{"df":4,"docs":{"185":{"tf":2.23606797749979},"186":{"tf":2.0},"211":{"tf":1.0},"255":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"df":1,"docs":{"142":{"tf":1.0}}},"k":{"df":1,"docs":{"236":{"tf":1.4142135623730951}}},"t":{"df":15,"docs":{"176":{"tf":1.7320508075688772},"177":{"tf":1.0},"179":{"tf":1.4142135623730951},"184":{"tf":1.0},"186":{"tf":2.0},"187":{"tf":1.4142135623730951},"188":{"tf":1.0},"205":{"tf":1.0},"210":{"tf":1.4142135623730951},"211":{"tf":1.7320508075688772},"212":{"tf":1.0},"213":{"tf":1.0},"249":{"tf":1.0},"256":{"tf":1.7320508075688772},"269":{"tf":1.0}}}},"df":7,"docs":{"185":{"tf":1.0},"233":{"tf":1.0},"240":{"tf":3.0},"249":{"tf":1.0},"251":{"tf":2.449489742783178},"252":{"tf":2.0},"255":{"tf":1.0}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"144":{"tf":1.0},"190":{"tf":1.0},"276":{"tf":1.0}}}}}}}}}},"n":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":1,"docs":{"151":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"118":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"84":{"tf":1.0}}}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"187":{"tf":1.0}}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"187":{"tf":1.0}}}}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"187":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":24,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"119":{"tf":1.7320508075688772},"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"125":{"tf":2.23606797749979},"132":{"tf":2.23606797749979},"168":{"tf":1.0},"179":{"tf":2.0},"187":{"tf":3.0},"228":{"tf":1.0},"237":{"tf":1.4142135623730951},"238":{"tf":1.7320508075688772},"25":{"tf":1.0},"268":{"tf":1.0},"269":{"tf":1.7320508075688772},"288":{"tf":1.4142135623730951},"33":{"tf":1.0},"54":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"67":{"tf":1.0},"92":{"tf":2.0}},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"143":{"tf":1.0}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"187":{"tf":1.0}}}}},"df":1,"docs":{"187":{"tf":1.7320508075688772}}}}},"(":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"125":{"tf":1.0}}}}}}}}}}}},"df":1,"docs":{"287":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"185":{"tf":1.0},"264":{"tf":1.0}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"44":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":4,"docs":{"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"239":{"tf":1.0},"267":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"210":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"135":{"tf":1.0},"136":{"tf":1.0},"138":{"tf":1.0},"143":{"tf":1.4142135623730951}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"262":{"tf":1.7320508075688772}}}}}},"df":1,"docs":{"125":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":4,"docs":{"238":{"tf":1.0},"249":{"tf":1.0},"268":{"tf":1.0},"269":{"tf":1.0}}}}}},"df":0,"docs":{},"v":{"df":2,"docs":{"257":{"tf":1.0},"270":{"tf":1.0}}}},"_":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":2,"docs":{"204":{"tf":1.0},"207":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"207":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":32,"docs":{"119":{"tf":1.0},"136":{"tf":1.0},"138":{"tf":1.0},"142":{"tf":1.0},"143":{"tf":1.0},"161":{"tf":1.0},"171":{"tf":1.0},"214":{"tf":1.0},"235":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.0},"249":{"tf":1.4142135623730951},"251":{"tf":1.0},"266":{"tf":1.0},"268":{"tf":1.0},"282":{"tf":1.0},"289":{"tf":1.0},"38":{"tf":2.0},"4":{"tf":1.0},"56":{"tf":2.23606797749979},"57":{"tf":1.4142135623730951},"58":{"tf":1.7320508075688772},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":2.8284271247461903},"62":{"tf":1.4142135623730951},"65":{"tf":1.0},"71":{"tf":1.0},"78":{"tf":2.0},"79":{"tf":1.4142135623730951},"81":{"tf":2.6457513110645907},"82":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"59":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"t":{"df":1,"docs":{"238":{"tf":1.0}}}},"i":{"d":{"df":3,"docs":{"181":{"tf":1.4142135623730951},"182":{"tf":2.0},"187":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"145":{"tf":1.0}},"e":{"df":0,"docs":{},"g":{"df":1,"docs":{"34":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"}":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"278":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"r":{"df":1,"docs":{"186":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":2,"docs":{"117":{"tf":1.0},"118":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":10,"docs":{"3":{"tf":1.0},"36":{"tf":2.23606797749979},"40":{"tf":2.449489742783178},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":3.872983346207417},"45":{"tf":1.0},"46":{"tf":2.0},"47":{"tf":2.0}}}}},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"253":{"tf":1.0},"255":{"tf":1.0},"257":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"<":{"'":{"a":{">":{"(":{"&":{"'":{"a":{"df":1,"docs":{"252":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},":":{"df":0,"docs":{},"交":{"df":0,"docs":{},"集":{"df":0,"docs":{},",":{"a":{"df":1,"docs":{"250":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}},"o":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"185":{"tf":1.0},"186":{"tf":1.0},"211":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"186":{"tf":1.7320508075688772},"211":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"211":{"tf":1.0}}}}}},"t":{"df":2,"docs":{"186":{"tf":1.7320508075688772},"211":{"tf":2.6457513110645907}},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"186":{"tf":1.0},"211":{"tf":1.0}}}}}}},"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"186":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}}}}}},"df":0,"docs":{}},"df":2,"docs":{"186":{"tf":1.4142135623730951},"211":{"tf":1.7320508075688772}}}},"df":3,"docs":{"185":{"tf":1.0},"186":{"tf":3.3166247903554},"211":{"tf":2.449489742783178}}}}}}},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"244":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}}}}}}}}}},"o":{"df":1,"docs":{"259":{"tf":1.0}}},"s":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"253":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"250":{"tf":1.0}}}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":5,"docs":{"178":{"tf":1.0},"181":{"tf":1.0},"204":{"tf":1.0},"235":{"tf":1.0},"249":{"tf":1.0}}},"y":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"181":{"tf":1.0},"249":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"178":{"tf":1.0}},"l":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"180":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"249":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"210":{"tf":1.4142135623730951}}}},"u":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"253":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":3,"docs":{"250":{"tf":1.0},"253":{"tf":1.4142135623730951},"256":{"tf":1.4142135623730951}},",":{"a":{"df":1,"docs":{"256":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"253":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":2,"docs":{"250":{"tf":1.0},"253":{"tf":1.0}},",":{"a":{"df":1,"docs":{"256":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":4,"docs":{"102":{"tf":2.0},"103":{"tf":1.7320508075688772},"105":{"tf":2.8284271247461903},"107":{"tf":2.0}}}},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"293":{"tf":2.0}}}},"t":{"df":1,"docs":{"46":{"tf":1.0}}}},"t":{"'":{"df":1,"docs":{"180":{"tf":1.4142135623730951}}},"a":{"df":0,"docs":{},"i":{"df":2,"docs":{"43":{"tf":1.0},"47":{"tf":1.0}}}},"df":1,"docs":{"284":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"m":{"df":15,"docs":{"154":{"tf":1.4142135623730951},"156":{"tf":1.0},"157":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"166":{"tf":1.0},"167":{"tf":1.7320508075688772},"168":{"tf":1.0},"169":{"tf":1.0},"185":{"tf":2.0},"186":{"tf":2.0},"211":{"tf":1.7320508075688772},"25":{"tf":1.4142135623730951},"251":{"tf":2.449489742783178},"252":{"tf":1.4142135623730951},"275":{"tf":1.0}}},"r":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":3,"docs":{"211":{"tf":1.4142135623730951},"240":{"tf":1.0},"249":{"tf":1.0}}}}}}},"df":0,"docs":{}},".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"<":{"'":{"a":{"df":3,"docs":{"185":{"tf":1.4142135623730951},"186":{"tf":1.0},"211":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.4142135623730951}}}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":2,"docs":{"185":{"tf":1.0},"186":{"tf":1.0}}}}}},"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"25":{"tf":1.0}}}}}}}},":":{":":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"256":{"tf":1.0},"269":{"tf":1.0}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"251":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":2,"docs":{"185":{"tf":1.0},"279":{"tf":1.0}}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":4,"docs":{"240":{"tf":1.0},"249":{"tf":1.0},"251":{"tf":2.449489742783178},"252":{"tf":2.0}}}}}}},"df":0,"docs":{}}}}},"df":20,"docs":{"105":{"tf":1.0},"107":{"tf":1.0},"131":{"tf":1.0},"143":{"tf":1.4142135623730951},"151":{"tf":1.0},"185":{"tf":4.795831523312719},"186":{"tf":2.0},"208":{"tf":1.0},"211":{"tf":4.358898943540674},"212":{"tf":1.0},"213":{"tf":1.0},"240":{"tf":1.4142135623730951},"249":{"tf":1.4142135623730951},"251":{"tf":2.23606797749979},"269":{"tf":1.0},"279":{"tf":1.0},"44":{"tf":1.0},"67":{"tf":1.0},"83":{"tf":1.0},"92":{"tf":1.0}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}}}},"df":0,"docs":{}},"<":{"'":{"a":{"df":3,"docs":{"185":{"tf":2.23606797749979},"186":{"tf":1.0},"211":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.0}}}},"df":2,"docs":{"185":{"tf":1.0},"211":{"tf":1.4142135623730951}}}}},"、":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"、":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"178":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.0}}}}}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"176":{"tf":1.0},"185":{"tf":1.0}}}}}}},"、":{"df":0,"docs":{},"j":{"df":1,"docs":{"103":{"tf":1.0}}}},",":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"j":{"a":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},",":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":14,"docs":{"103":{"tf":1.7320508075688772},"107":{"tf":2.449489742783178},"108":{"tf":2.449489742783178},"275":{"tf":1.4142135623730951},"284":{"tf":1.4142135623730951},"287":{"tf":2.449489742783178},"288":{"tf":1.4142135623730951},"289":{"tf":2.449489742783178},"59":{"tf":2.23606797749979},"61":{"tf":2.0},"67":{"tf":1.4142135623730951},"83":{"tf":2.0},"96":{"tf":2.23606797749979},"97":{"tf":4.123105625617661}},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"8":{"9":{"df":2,"docs":{"64":{"tf":1.0},"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"g":{"df":2,"docs":{"225":{"tf":1.0},"244":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"、":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"218":{"tf":1.4142135623730951}}}}}}}}}},"。":{"df":0,"docs":{},"i":{"df":1,"docs":{"97":{"tf":1.7320508075688772}}}}},"k":{"$":{"df":0,"docs":{},"(":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"b":{"df":0,"docs":{},"e":{"df":1,"docs":{"230":{"tf":1.0}}}},"df":0,"docs":{}}}}},":":{"df":0,"docs":{},"雜":{"df":0,"docs":{},"湊":{"df":0,"docs":{},"表":{"df":0,"docs":{},"配":{"df":0,"docs":{},"置":{"df":0,"docs":{},"的":{"df":0,"docs":{},"儲":{"df":0,"docs":{},"存":{"df":0,"docs":{},"空":{"df":0,"docs":{},"間":{"df":0,"docs":{},"(":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"231":{"tf":1.0},"242":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}}}}},")":{".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"238":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"237":{"tf":1.0}}}}}}}},"df":0,"docs":{}},">":{"0":{"df":2,"docs":{"17":{"tf":1.0},"18":{"tf":1.0}}},"df":0,"docs":{}},"^":{"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.4142135623730951}}},"{":{"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.4142135623730951}}}}},"_":{"1":{">":{"0":{"df":1,"docs":{"19":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"19":{"tf":1.4142135623730951}}},"2":{">":{"0":{"df":1,"docs":{"19":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"19":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":38,"docs":{"107":{"tf":2.0},"109":{"tf":1.0},"123":{"tf":1.0},"126":{"tf":2.23606797749979},"127":{"tf":1.7320508075688772},"128":{"tf":1.4142135623730951},"135":{"tf":1.0},"137":{"tf":2.0},"139":{"tf":4.0},"140":{"tf":2.0},"148":{"tf":1.0},"149":{"tf":3.3166247903554},"150":{"tf":1.4142135623730951},"17":{"tf":1.7320508075688772},"173":{"tf":1.0},"18":{"tf":1.4142135623730951},"230":{"tf":1.4142135623730951},"233":{"tf":1.0},"234":{"tf":2.0},"236":{"tf":1.4142135623730951},"237":{"tf":2.0},"238":{"tf":1.7320508075688772},"240":{"tf":2.23606797749979},"241":{"tf":1.0},"244":{"tf":1.0},"249":{"tf":1.0},"260":{"tf":2.8284271247461903},"263":{"tf":1.7320508075688772},"266":{"tf":1.0},"267":{"tf":1.4142135623730951},"268":{"tf":2.0},"269":{"tf":2.0},"270":{"tf":2.23606797749979},"271":{"tf":1.0},"284":{"tf":1.4142135623730951},"285":{"tf":2.449489742783178},"30":{"tf":2.0},"49":{"tf":1.0}},"e":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"132":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"1":{"df":1,"docs":{"228":{"tf":1.0}}},"2":{"df":1,"docs":{"228":{"tf":1.0}}},"df":18,"docs":{"124":{"tf":1.0},"125":{"tf":3.1622776601683795},"128":{"tf":1.0},"130":{"tf":1.4142135623730951},"131":{"tf":2.0},"132":{"tf":1.4142135623730951},"146":{"tf":1.4142135623730951},"149":{"tf":1.0},"151":{"tf":1.0},"216":{"tf":1.0},"228":{"tf":1.0},"233":{"tf":1.0},"234":{"tf":1.4142135623730951},"237":{"tf":2.0},"238":{"tf":1.4142135623730951},"247":{"tf":1.0},"249":{"tf":1.0},"275":{"tf":1.0}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}}}},")":{"df":0,"docs":{},"對":{"df":0,"docs":{},"應":{"df":0,"docs":{},"到":{"df":0,"docs":{},"容":{"df":0,"docs":{},"器":{"df":0,"docs":{},"內":{"df":0,"docs":{},"部":{"df":0,"docs":{},"的":{"df":0,"docs":{},"索":{"df":0,"docs":{},"引":{"df":0,"docs":{},"位":{"df":0,"docs":{},"置":{"df":0,"docs":{},",":{"df":0,"docs":{},"進":{"df":0,"docs":{},"而":{"df":0,"docs":{},"找":{"df":0,"docs":{},"到":{"df":0,"docs":{},"對":{"df":0,"docs":{},"應":{"df":0,"docs":{},"的":{"df":0,"docs":{},"值":{"df":0,"docs":{},"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"226":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}}}}}}},",":{"df":0,"docs":{},"俗":{"df":0,"docs":{},"稱":{"df":0,"docs":{},"指":{"df":0,"docs":{},"紋":{"df":0,"docs":{},"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},")":{"df":0,"docs":{},",":{"df":0,"docs":{},"指":{"df":0,"docs":{},"紋":{"df":0,"docs":{},"的":{"df":0,"docs":{},"鍵":{"df":0,"docs":{},"短":{"df":0,"docs":{},"空":{"df":0,"docs":{},"間":{"df":0,"docs":{},"用":{"df":0,"docs":{},"量":{"df":0,"docs":{},"低":{"df":0,"docs":{},",":{"df":0,"docs":{},"副":{"df":0,"docs":{},"作":{"df":0,"docs":{},"用":{"df":0,"docs":{},"是":{"df":0,"docs":{},"更":{"df":0,"docs":{},"容":{"df":0,"docs":{},"易":{"df":0,"docs":{},"碰":{"df":0,"docs":{},"撞":{"df":0,"docs":{},",":{"df":0,"docs":{},"代":{"df":0,"docs":{},"表":{"df":0,"docs":{},"需":{"df":0,"docs":{},"要":{"df":0,"docs":{},"更":{"df":0,"docs":{},"有":{"df":0,"docs":{},"效":{"df":0,"docs":{},"處":{"df":0,"docs":{},"理":{"df":0,"docs":{},"雜":{"df":0,"docs":{},"湊":{"df":0,"docs":{},"碰":{"df":0,"docs":{},"撞":{"df":0,"docs":{},"(":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"274":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":1,"docs":{"284":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"284":{"tf":2.0},"285":{"tf":1.4142135623730951}}}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"262":{"tf":1.4142135623730951}}}}}},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}},"l":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"/":{"1":{".":{"4":{"9":{".":{"0":{"/":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"/":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"b":{"a":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"#":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"215":{"tf":1.0},"240":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"107":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"107":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"199":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"214":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"103":{"tf":1.0}}}}}},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"s":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}}},":":{":":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"y":{":":{":":{"<":{"df":0,"docs":{},"t":{">":{"(":{"c":{"a":{"df":0,"docs":{},"p":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"176":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"c":{"a":{"df":0,"docs":{},"p":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"176":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"176":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"176":{"tf":2.23606797749979}}}}}},"z":{"df":0,"docs":{},"i":{"df":2,"docs":{"143":{"tf":1.0},"251":{"tf":1.4142135623730951}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"114":{"tf":1.0},"52":{"tf":1.4142135623730951}}}}}},"df":2,"docs":{"273":{"tf":1.4142135623730951},"33":{"tf":1.0}},"e":{"a":{"d":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":2,"docs":{"89":{"tf":1.7320508075688772},"92":{"tf":1.0}}},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"210":{"tf":1.0},"215":{"tf":1.0}}}}},"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"w":{"df":1,"docs":{"12":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"89":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":3,"docs":{"119":{"tf":2.23606797749979},"54":{"tf":1.0},"92":{"tf":1.4142135623730951}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"108":{"tf":1.0},"147":{"tf":1.0},"34":{"tf":1.0}}}}}}}},"n":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":3,"docs":{"181":{"tf":1.0},"239":{"tf":1.0},"249":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":16,"docs":{"118":{"tf":2.23606797749979},"131":{"tf":1.0},"132":{"tf":1.0},"178":{"tf":1.0},"181":{"tf":1.4142135623730951},"189":{"tf":1.0},"233":{"tf":1.7320508075688772},"234":{"tf":1.7320508075688772},"235":{"tf":1.0},"236":{"tf":2.0},"238":{"tf":1.0},"249":{"tf":1.0},"262":{"tf":1.0},"67":{"tf":1.7320508075688772},"76":{"tf":2.0},"83":{"tf":1.4142135623730951}},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":3,"docs":{"112":{"tf":1.0},"238":{"tf":1.0},"279":{"tf":1.0}}}}}},"q":{"df":2,"docs":{"17":{"tf":2.23606797749979},"19":{"tf":2.0}}},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"260":{"tf":1.0},"276":{"tf":1.0}}}},"t":{"'":{"df":1,"docs":{"276":{"tf":1.0}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"89":{"tf":1.0}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":2,"docs":{"286":{"tf":1.4142135623730951},"289":{"tf":1.0}}},"df":0,"docs":{}}}}}},"_":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"287":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":11,"docs":{"282":{"tf":2.0},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":2.23606797749979},"9":{"tf":1.0}}}}}}}}}}},"x":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"146":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":5,"docs":{"114":{"tf":1.0},"42":{"tf":1.7320508075688772},"80":{"tf":1.7320508075688772},"81":{"tf":1.0},"89":{"tf":1.0}},"{":{"\\":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"_":{"2":{"df":1,"docs":{"30":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"i":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"13":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"185":{"tf":2.8284271247461903},"251":{"tf":2.23606797749979}}}}}},"o":{"df":2,"docs":{"153":{"tf":1.0},"173":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"<":{"df":0,"docs":{},"t":{">":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":11,"docs":{"23":{"tf":1.7320508075688772},"230":{"tf":2.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.4142135623730951},"274":{"tf":1.7320508075688772},"3":{"tf":1.0},"40":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"47":{"tf":1.4142135623730951}}}},"df":2,"docs":{"188":{"tf":1.0},"271":{"tf":1.0}}},"k":{"df":26,"docs":{"144":{"tf":1.0},"153":{"tf":1.0},"163":{"tf":1.0},"171":{"tf":1.0},"191":{"tf":1.4142135623730951},"198":{"tf":1.0},"199":{"tf":1.4142135623730951},"200":{"tf":1.7320508075688772},"201":{"tf":1.0},"202":{"tf":1.0},"203":{"tf":1.0},"204":{"tf":1.0},"205":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.4142135623730951},"208":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":2.8284271247461903},"211":{"tf":1.0},"212":{"tf":1.0},"213":{"tf":1.0},"214":{"tf":1.0},"215":{"tf":1.7320508075688772},"230":{"tf":1.4142135623730951},"65":{"tf":1.0},"7":{"tf":1.7320508075688772}},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"193":{"tf":1.0},"215":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":26,"docs":{"144":{"tf":1.0},"153":{"tf":1.0},"163":{"tf":1.0},"171":{"tf":1.0},"191":{"tf":1.4142135623730951},"198":{"tf":1.0},"199":{"tf":1.4142135623730951},"200":{"tf":1.7320508075688772},"201":{"tf":1.0},"202":{"tf":1.0},"203":{"tf":1.0},"204":{"tf":1.0},"205":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.4142135623730951},"208":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":1.7320508075688772},"211":{"tf":1.7320508075688772},"212":{"tf":1.0},"213":{"tf":1.0},"214":{"tf":1.0},"215":{"tf":1.7320508075688772},"230":{"tf":1.4142135623730951},"65":{"tf":1.0},"7":{"tf":1.7320508075688772}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"265":{"tf":1.0}}}},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"20":{"tf":1.0}}}}}},"n":{"_":{"2":{"_":{"2":{")":{".":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"267":{"tf":1.4142135623730951},"269":{"tf":1.4142135623730951}},"{":{"\\":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"}":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"(":{"\\":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"df":0,"docs":{},"{":{"2":{"df":0,"docs":{},"}":{")":{"^":{"2":{"df":1,"docs":{"260":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}}},"o":{".":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"103":{"tf":1.0}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"44":{"tf":2.8284271247461903}}}},"df":0,"docs":{}}},"a":{"d":{"_":{"df":0,"docs":{},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"239":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":8,"docs":{"231":{"tf":2.449489742783178},"235":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.4142135623730951},"242":{"tf":1.0},"243":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.0}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"271":{"tf":1.0},"274":{"tf":1.0}}}},"df":0,"docs":{}},"df":9,"docs":{"102":{"tf":2.6457513110645907},"103":{"tf":1.4142135623730951},"105":{"tf":4.58257569495584},"107":{"tf":1.7320508075688772},"108":{"tf":1.4142135623730951},"13":{"tf":1.0},"41":{"tf":1.4142135623730951},"44":{"tf":3.1622776601683795},"54":{"tf":2.0}},"g":{"(":{"9":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.0}}}},"^":{"2":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"_":{"2":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"89":{"tf":1.0}}}},"df":3,"docs":{"267":{"tf":1.0},"269":{"tf":1.0},"30":{"tf":2.23606797749979}},"n":{"df":1,"docs":{"61":{"tf":1.0}}},"{":{"\\":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"260":{"tf":1.0}}}}}}}}},"f":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"{":{"1":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"\\":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"271":{"tf":1.0},"275":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"n":{"df":1,"docs":{"99":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":21,"docs":{"105":{"tf":1.4142135623730951},"110":{"tf":1.4142135623730951},"113":{"tf":1.7320508075688772},"114":{"tf":1.0},"145":{"tf":1.0},"15":{"tf":1.4142135623730951},"20":{"tf":1.0},"21":{"tf":1.0},"43":{"tf":2.0},"46":{"tf":2.0},"47":{"tf":1.4142135623730951},"53":{"tf":1.0},"69":{"tf":1.0},"82":{"tf":1.0},"88":{"tf":2.0},"89":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"94":{"tf":1.0},"98":{"tf":1.4142135623730951},"99":{"tf":1.0}},"i":{"c":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}},"{":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":7,"docs":{"100":{"tf":1.0},"103":{"tf":1.7320508075688772},"105":{"tf":1.0},"107":{"tf":1.4142135623730951},"96":{"tf":1.7320508075688772},"97":{"tf":1.0},"99":{"tf":1.4142135623730951}}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"p":{"df":11,"docs":{"105":{"tf":1.0},"108":{"tf":1.0},"119":{"tf":1.4142135623730951},"211":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.0},"279":{"tf":1.0},"291":{"tf":1.0},"44":{"tf":2.0},"76":{"tf":1.0},"92":{"tf":1.4142135623730951}}}},"w":{"df":1,"docs":{"96":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"54":{"tf":1.0}}}}}},"s":{"d":{"df":3,"docs":{"145":{"tf":1.0},"146":{"tf":2.23606797749979},"147":{"tf":1.0}}},"df":0,"docs":{},"m":{"df":1,"docs":{"274":{"tf":1.0}}}},"t":{"df":0,"docs":{},"、":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":1,"docs":{"256":{"tf":1.0}}}}}}},"m":{"$":{"df":0,"docs":{},"、":{"$":{"df":0,"docs":{},"n":{"$":{"df":0,"docs":{},"、":{"$":{"df":0,"docs":{},"k":{"$":{"df":0,"docs":{},"、":{"$":{"\\":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"267":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"236":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"262":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"230":{"tf":1.0},"262":{"tf":1.0},"44":{"tf":1.0}}}},"k":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"&":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"238":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"x":{">":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"233":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":4,"docs":{"235":{"tf":1.0},"237":{"tf":1.0},"266":{"tf":1.4142135623730951},"268":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":1,"docs":{"238":{"tf":1.0}}}},"n":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"184":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":2,"docs":{"210":{"tf":1.0},"215":{"tf":1.0}}}},"p":{"(":{"df":0,"docs":{},"|":{"(":{"_":{"df":1,"docs":{"237":{"tf":1.4142135623730951}}},"df":0,"docs":{},"k":{"df":1,"docs":{"240":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":2,"docs":{"238":{"tf":1.0},"54":{"tf":1.0}}}}},"df":0,"docs":{}}},"v":{"df":1,"docs":{"238":{"tf":1.0}}}}},"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"54":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":25,"docs":{"216":{"tf":1.0},"220":{"tf":1.4142135623730951},"221":{"tf":1.4142135623730951},"225":{"tf":1.0},"226":{"tf":1.7320508075688772},"227":{"tf":1.0},"228":{"tf":1.0},"229":{"tf":1.0},"230":{"tf":1.0},"231":{"tf":1.0},"232":{"tf":1.0},"233":{"tf":1.0},"234":{"tf":1.0},"235":{"tf":1.0},"236":{"tf":1.0},"237":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"241":{"tf":1.0},"242":{"tf":1.0},"243":{"tf":1.0},"244":{"tf":1.4142135623730951},"274":{"tf":1.0},"8":{"tf":1.4142135623730951}}},"r":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"83":{"tf":1.0}},"s":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"83":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":2,"docs":{"80":{"tf":1.0},"83":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"264":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"122":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":9,"docs":{"143":{"tf":1.0},"168":{"tf":1.0},"185":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"210":{"tf":1.0},"238":{"tf":1.0},"256":{"tf":1.4142135623730951},"279":{"tf":1.4142135623730951},"61":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"289":{"tf":1.7320508075688772}}}},"df":1,"docs":{"288":{"tf":1.0}}}}}},"x":{"(":{"df":0,"docs":{},"i":{",":{"df":0,"docs":{},"j":{"df":2,"docs":{"284":{"tf":1.4142135623730951},"286":{"tf":1.0}}}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"151":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":8,"docs":{"130":{"tf":1.4142135623730951},"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"151":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":2.0},"90":{"tf":1.0},"92":{"tf":2.0}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":3,"docs":{"154":{"tf":1.4142135623730951},"156":{"tf":1.0},"159":{"tf":1.0}},"e":{"df":0,"docs":{},"、":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"154":{"tf":1.0}}}}}}}}}}}}},"df":10,"docs":{"260":{"tf":2.0},"262":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.0},"269":{"tf":1.0},"270":{"tf":2.6457513110645907},"284":{"tf":1.0},"290":{"tf":1.7320508075688772},"84":{"tf":1.0}},"e":{"d":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"99":{"tf":1.0}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"259":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{":":{":":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"184":{"tf":1.0}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"c":{"df":1,"docs":{"238":{"tf":1.4142135623730951}},"e":{"(":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"239":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{":":{":":{"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"176":{"tf":1.0},"179":{"tf":1.0}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"179":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"154":{"tf":1.0}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"266":{"tf":1.0}}}}}}}}},"c":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":2,"docs":{"119":{"tf":1.4142135623730951},"180":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":6,"docs":{"176":{"tf":1.4142135623730951},"181":{"tf":1.4142135623730951},"182":{"tf":2.0},"184":{"tf":1.0},"187":{"tf":1.4142135623730951},"215":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"g":{"df":7,"docs":{"112":{"tf":1.4142135623730951},"116":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"119":{"tf":1.7320508075688772},"122":{"tf":1.0},"193":{"tf":1.0}},"e":{"(":{"&":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"[":{".":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"117":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{".":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"118":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"1":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"117":{"tf":1.4142135623730951}}}}}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"117":{"tf":1.0}}}}},"df":0,"docs":{}},"_":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"118":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":16,"docs":{"110":{"tf":2.23606797749979},"111":{"tf":2.0},"112":{"tf":1.4142135623730951},"113":{"tf":1.0},"114":{"tf":2.0},"115":{"tf":1.7320508075688772},"116":{"tf":1.7320508075688772},"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"122":{"tf":1.0},"20":{"tf":1.0},"4":{"tf":1.0},"94":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}}}},"t":{"a":{"df":1,"docs":{"293":{"tf":1.0}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"d":{"df":5,"docs":{"131":{"tf":1.0},"185":{"tf":1.7320508075688772},"211":{"tf":1.4142135623730951},"255":{"tf":1.0},"256":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"i":{"b":{"df":2,"docs":{"259":{"tf":1.0},"270":{"tf":1.0}}},"d":{"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"44":{"tf":2.449489742783178}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"l":{"df":2,"docs":{"103":{"tf":1.0},"118":{"tf":1.0}}}},"df":4,"docs":{"117":{"tf":1.4142135623730951},"118":{"tf":1.0},"33":{"tf":1.7320508075688772},"34":{"tf":1.4142135623730951}}},"df":0,"docs":{},"n":{"(":{"2":{",":{"2":{",":{"1":{"df":1,"docs":{"285":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{",":{"2":{",":{"2":{"df":1,"docs":{"285":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{",":{"df":0,"docs":{},"j":{"df":2,"docs":{"284":{"tf":1.4142135623730951},"286":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":8,"docs":{"130":{"tf":1.4142135623730951},"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"284":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.0}},"、":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"x":{"df":1,"docs":{"130":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"240":{"tf":1.0},"251":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"l":{"a":{"c":{"df":1,"docs":{"108":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"244":{"tf":1.0}}}},"o":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"215":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"268":{"tf":1.0}}}},"df":1,"docs":{"256":{"tf":1.0}},"o":{"df":3,"docs":{"228":{"tf":1.0},"233":{"tf":1.0},"268":{"tf":1.0}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"119":{"tf":1.0},"175":{"tf":1.4142135623730951}}}},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"211":{"tf":1.0},"251":{"tf":2.8284271247461903}}}}},"s":{"d":{"df":2,"docs":{"145":{"tf":1.0},"146":{"tf":2.6457513110645907}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"222":{"tf":1.4142135623730951},"8":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":5,"docs":{"157":{"tf":1.0},"167":{"tf":1.0},"211":{"tf":1.4142135623730951},"237":{"tf":1.0},"238":{"tf":1.0}}}},"df":0,"docs":{}},"df":43,"docs":{"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"105":{"tf":2.8284271247461903},"107":{"tf":2.0},"108":{"tf":1.7320508075688772},"117":{"tf":1.7320508075688772},"118":{"tf":2.23606797749979},"119":{"tf":2.0},"130":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":1.7320508075688772},"143":{"tf":1.4142135623730951},"151":{"tf":1.4142135623730951},"176":{"tf":1.4142135623730951},"185":{"tf":4.898979485566356},"186":{"tf":2.23606797749979},"187":{"tf":1.4142135623730951},"188":{"tf":1.4142135623730951},"207":{"tf":2.8284271247461903},"208":{"tf":1.4142135623730951},"210":{"tf":1.0},"211":{"tf":1.7320508075688772},"213":{"tf":1.0},"233":{"tf":1.4142135623730951},"236":{"tf":1.0},"239":{"tf":1.0},"251":{"tf":2.23606797749979},"268":{"tf":1.4142135623730951},"269":{"tf":1.4142135623730951},"278":{"tf":1.4142135623730951},"279":{"tf":1.7320508075688772},"287":{"tf":1.4142135623730951},"288":{"tf":1.4142135623730951},"289":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951},"44":{"tf":2.449489742783178},"54":{"tf":1.0},"59":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"76":{"tf":2.23606797749979},"83":{"tf":1.7320508075688772},"92":{"tf":2.0}}}}},"n":{")":{"$":{"df":0,"docs":{},",":{"$":{"df":0,"docs":{},"n":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}},"^":{"2":{"df":1,"docs":{"46":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"=":{"3":{"0":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},"5":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},">":{"df":0,"docs":{},"n":{"_":{"0":{"df":3,"docs":{"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"^":{"2":{"df":4,"docs":{"17":{"tf":1.0},"66":{"tf":1.0},"75":{"tf":1.4142135623730951},"99":{"tf":1.0}}},"df":0,"docs":{}},"_":{"0":{"df":3,"docs":{"17":{"tf":1.7320508075688772},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":3,"docs":{"151":{"tf":1.0},"289":{"tf":1.4142135623730951},"290":{"tf":1.0}}}},"n":{"df":1,"docs":{"256":{"tf":1.4142135623730951}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"107":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"121":{"tf":1.0}}}}},"ï":{"df":0,"docs":{},"v":{"df":7,"docs":{"100":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0},"48":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.4142135623730951},"73":{"tf":1.0}}}}},"c":{"df":1,"docs":{"13":{"tf":1.0}}},"df":63,"docs":{"100":{"tf":1.4142135623730951},"105":{"tf":2.0},"110":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"113":{"tf":1.7320508075688772},"114":{"tf":2.449489742783178},"115":{"tf":1.0},"123":{"tf":1.0},"127":{"tf":1.4142135623730951},"135":{"tf":1.0},"136":{"tf":1.7320508075688772},"137":{"tf":1.0},"139":{"tf":2.0},"140":{"tf":1.4142135623730951},"143":{"tf":1.0},"145":{"tf":1.0},"148":{"tf":1.4142135623730951},"149":{"tf":1.7320508075688772},"15":{"tf":2.0},"150":{"tf":1.0},"16":{"tf":2.0},"17":{"tf":2.23606797749979},"179":{"tf":1.4142135623730951},"18":{"tf":1.0},"189":{"tf":1.0},"19":{"tf":2.0},"20":{"tf":1.4142135623730951},"21":{"tf":1.0},"214":{"tf":1.4142135623730951},"221":{"tf":1.0},"228":{"tf":1.4142135623730951},"231":{"tf":1.0},"24":{"tf":1.4142135623730951},"241":{"tf":1.0},"242":{"tf":1.7320508075688772},"257":{"tf":1.0},"260":{"tf":1.0},"262":{"tf":2.23606797749979},"266":{"tf":1.0},"267":{"tf":1.4142135623730951},"269":{"tf":1.0},"27":{"tf":1.0},"270":{"tf":2.449489742783178},"272":{"tf":1.7320508075688772},"280":{"tf":1.0},"284":{"tf":1.4142135623730951},"290":{"tf":1.7320508075688772},"30":{"tf":3.1622776601683795},"43":{"tf":2.0},"46":{"tf":2.0},"47":{"tf":1.0},"58":{"tf":1.4142135623730951},"66":{"tf":2.0},"69":{"tf":1.0},"75":{"tf":2.23606797749979},"82":{"tf":1.7320508075688772},"88":{"tf":2.0},"89":{"tf":2.449489742783178},"90":{"tf":1.4142135623730951},"91":{"tf":1.0},"94":{"tf":1.4142135623730951},"98":{"tf":1.7320508075688772},"99":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"e":{"d":{"df":2,"docs":{"176":{"tf":1.0},"185":{"tf":1.0}}},"df":0,"docs":{}},"g":{"df":1,"docs":{"259":{"tf":1.0}}},"q":{"df":2,"docs":{"284":{"tf":1.4142135623730951},"287":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"234":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"99":{"tf":1.0}}}},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"84":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"264":{"tf":1.0}}}}},"w":{"(":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":2,"docs":{"267":{"tf":1.7320508075688772},"269":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"142":{"tf":1.0}}}}},"df":0,"docs":{}}},"_":{"c":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"76":{"tf":2.8284271247461903}}}}},"m":{"a":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"239":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":1,"docs":{"239":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"207":{"tf":1.0}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"k":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"251":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":1,"docs":{"251":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"176":{"tf":1.4142135623730951}}}}}},"df":13,"docs":{"142":{"tf":1.0},"143":{"tf":1.0},"166":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.0},"204":{"tf":1.0},"205":{"tf":1.0},"207":{"tf":1.4142135623730951},"235":{"tf":1.0},"236":{"tf":1.4142135623730951},"249":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"180":{"tf":1.0}}}}},"x":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"185":{"tf":2.0},"186":{"tf":1.0},"211":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"<":{"'":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{">":{"(":{"&":{"'":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":1,"docs":{"185":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"b":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":9,"docs":{"118":{"tf":1.0},"147":{"tf":1.0},"185":{"tf":1.7320508075688772},"202":{"tf":2.0},"206":{"tf":1.7320508075688772},"207":{"tf":2.0},"208":{"tf":2.8284271247461903},"210":{"tf":1.0},"211":{"tf":2.449489742783178}}}}},"g":{"df":1,"docs":{"284":{"tf":1.4142135623730951}}},"o":{"d":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"202":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{".":{"a":{"df":0,"docs":{},"s":{"_":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"211":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"210":{"tf":1.0}}}},"df":0,"docs":{}}},"df":4,"docs":{"202":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":2.449489742783178},"208":{"tf":1.4142135623730951}}}}}}},"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"202":{"tf":2.0},"211":{"tf":2.0}}}},"df":17,"docs":{"195":{"tf":1.7320508075688772},"196":{"tf":1.7320508075688772},"197":{"tf":3.3166247903554},"198":{"tf":3.0},"200":{"tf":1.7320508075688772},"202":{"tf":2.6457513110645907},"203":{"tf":1.7320508075688772},"207":{"tf":3.7416573867739413},"208":{"tf":2.8284271247461903},"210":{"tf":2.23606797749979},"211":{"tf":1.7320508075688772},"213":{"tf":1.4142135623730951},"215":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.4142135623730951},"89":{"tf":2.449489742783178},"92":{"tf":2.23606797749979}},"。":{"df":0,"docs":{},"但":{"df":0,"docs":{},"這":{"df":0,"docs":{},"樣":{"df":0,"docs":{},"編":{"df":0,"docs":{},"譯":{"df":0,"docs":{},"不":{"df":0,"docs":{},"會":{"df":0,"docs":{},"成":{"df":0,"docs":{},"功":{"df":0,"docs":{},",":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"202":{"tf":1.0}}}}}}}}}}}}}}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"251":{"tf":1.0}}}}},"df":0,"docs":{}}},"n":{"df":2,"docs":{"262":{"tf":1.4142135623730951},"92":{"tf":1.0}},"e":{"df":17,"docs":{"143":{"tf":1.0},"158":{"tf":1.0},"160":{"tf":1.0},"168":{"tf":1.0},"181":{"tf":1.4142135623730951},"182":{"tf":1.4142135623730951},"185":{"tf":2.0},"205":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.7320508075688772},"208":{"tf":1.0},"233":{"tf":1.0},"237":{"tf":1.0},"238":{"tf":1.7320508075688772},"25":{"tf":1.0},"256":{"tf":1.4142135623730951},"279":{"tf":2.23606797749979}}},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}}}}},"t":{"a":{"df":0,"docs":{},"t":{"df":11,"docs":{"1":{"tf":1.0},"14":{"tf":1.7320508075688772},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.7320508075688772},"270":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":5,"docs":{"185":{"tf":2.23606797749979},"240":{"tf":1.0},"251":{"tf":1.0},"62":{"tf":1.0},"89":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":7,"docs":{"195":{"tf":1.4142135623730951},"196":{"tf":1.0},"197":{"tf":1.7320508075688772},"198":{"tf":1.7320508075688772},"200":{"tf":1.0},"202":{"tf":1.7320508075688772},"230":{"tf":1.0}}}},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"137":{"tf":1.0},"148":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.0},"227":{"tf":1.0}}}}},"df":1,"docs":{"44":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}}}},"}":{"df":0,"docs":{},"{":{"2":{"^":{"df":0,"docs":{},"k":{"df":2,"docs":{"80":{"tf":1.0},"81":{"tf":1.0}}}},"df":1,"docs":{"80":{"tf":1.0}}},"4":{"df":1,"docs":{"80":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"$":{"df":0,"docs":{},":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"(":{"(":{"\\":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"46":{"tf":1.0}}}}}},"df":0,"docs":{}},"1":{"df":25,"docs":{"100":{"tf":1.0},"161":{"tf":2.0},"171":{"tf":2.0},"189":{"tf":4.0},"20":{"tf":1.0},"207":{"tf":1.0},"214":{"tf":2.0},"217":{"tf":1.0},"234":{"tf":1.0},"24":{"tf":1.4142135623730951},"241":{"tf":2.0},"242":{"tf":1.4142135623730951},"257":{"tf":1.7320508075688772},"259":{"tf":1.0},"270":{"tf":1.0},"280":{"tf":1.0},"30":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"58":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":1.0},"88":{"tf":1.0}}},"3":{"^":{"df":0,"docs":{},"{":{"df":0,"docs":{},"m":{"df":1,"docs":{"284":{"tf":1.0}}}}},"df":0,"docs":{}},"\\":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"89":{"tf":1.0}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"_":{"2":{"df":1,"docs":{"30":{"tf":1.0}}},"df":0,"docs":{}},"df":15,"docs":{"100":{"tf":1.0},"105":{"tf":1.4142135623730951},"115":{"tf":1.0},"143":{"tf":1.0},"20":{"tf":1.0},"221":{"tf":1.0},"27":{"tf":1.0},"30":{"tf":1.7320508075688772},"43":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"51":{"tf":1.4142135623730951},"53":{"tf":2.23606797749979},"89":{"tf":1.4142135623730951},"94":{"tf":1.0},"98":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"m":{",":{"df":0,"docs":{},"n":{"df":1,"docs":{"290":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"c":{"^":{"df":0,"docs":{},"n":{"df":1,"docs":{"20":{"tf":1.0}}}},"df":0,"docs":{}},"d":{"df":3,"docs":{"148":{"tf":1.0},"149":{"tf":1.4142135623730951},"150":{"tf":1.0}},"n":{"df":1,"docs":{"148":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":2.0}}}},"df":0,"docs":{}},"k":{"df":7,"docs":{"127":{"tf":1.0},"128":{"tf":1.4142135623730951},"139":{"tf":1.4142135623730951},"173":{"tf":1.0},"270":{"tf":1.7320508075688772},"273":{"tf":1.4142135623730951},"30":{"tf":1.0}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":2,"docs":{"52":{"tf":1.0},"53":{"tf":1.0}}}}},"m":{"df":1,"docs":{"270":{"tf":1.4142135623730951}},"n":{"df":1,"docs":{"290":{"tf":1.4142135623730951}}}},"n":{"+":{"df":0,"docs":{},"k":{"df":1,"docs":{"144":{"tf":1.0}}}},"^":{"2":{"df":18,"docs":{"106":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.4142135623730951},"17":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.7320508075688772},"61":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":2.0},"74":{"tf":1.4142135623730951},"75":{"tf":1.0},"76":{"tf":1.0},"82":{"tf":1.0},"94":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}},"3":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"df":42,"docs":{"100":{"tf":1.0},"110":{"tf":1.4142135623730951},"113":{"tf":2.0},"114":{"tf":1.0},"115":{"tf":1.4142135623730951},"123":{"tf":1.0},"126":{"tf":2.0},"127":{"tf":1.4142135623730951},"128":{"tf":1.4142135623730951},"137":{"tf":1.7320508075688772},"139":{"tf":2.8284271247461903},"140":{"tf":1.4142135623730951},"145":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.0},"151":{"tf":1.0},"17":{"tf":1.0},"171":{"tf":1.7320508075688772},"20":{"tf":1.7320508075688772},"207":{"tf":1.0},"21":{"tf":1.0},"214":{"tf":2.449489742783178},"24":{"tf":1.7320508075688772},"241":{"tf":2.0},"242":{"tf":1.4142135623730951},"243":{"tf":1.0},"257":{"tf":3.3166247903554},"280":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.7320508075688772},"46":{"tf":1.0},"58":{"tf":1.0},"69":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":1.7320508075688772},"88":{"tf":2.0},"89":{"tf":1.4142135623730951},"90":{"tf":1.0},"91":{"tf":1.0},"94":{"tf":1.0},"98":{"tf":1.7320508075688772},"99":{"tf":2.0}}}},"b":{"df":0,"docs":{},"j":{"df":1,"docs":{"25":{"tf":1.4142135623730951}},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"233":{"tf":1.0},"240":{"tf":1.7320508075688772},"265":{"tf":1.0}}}},"df":0,"docs":{}}}},"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"y":{"df":0,"docs":{},")":{"df":0,"docs":{},"。":{"c":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":1,"docs":{"275":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"r":{"df":2,"docs":{"124":{"tf":1.0},"125":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"b":{"df":2,"docs":{"46":{"tf":1.0},"47":{"tf":1.0}}},"df":0,"docs":{}}}},"df":9,"docs":{"10":{"tf":1.4142135623730951},"162":{"tf":1.0},"17":{"tf":2.0},"18":{"tf":1.0},"180":{"tf":6.0},"19":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.4142135623730951},"46":{"tf":1.0}},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"276":{"tf":1.0}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":5,"docs":{"125":{"tf":1.0},"181":{"tf":1.4142135623730951},"182":{"tf":2.0},"187":{"tf":1.4142135623730951},"44":{"tf":2.0}}}}}}},"k":{"(":{"b":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":2,"docs":{"143":{"tf":1.0},"61":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}}}}}}}},"p":{"df":0,"docs":{},"o":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":4,"docs":{"207":{"tf":1.0},"213":{"tf":1.0},"32":{"tf":1.0},"44":{"tf":1.0}}},"l":{"d":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"180":{"tf":2.23606797749979}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"s":{"df":1,"docs":{"176":{"tf":1.0}}}},"df":1,"docs":{"176":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"df":1,"docs":{"176":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"a":{"$":{"df":0,"docs":{},":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"18":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"(":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":0,"docs":{}},"n":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":3,"docs":{"18":{"tf":1.7320508075688772},"19":{"tf":1.0},"20":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}},"n":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"276":{"tf":1.0}}}},"df":4,"docs":{"175":{"tf":1.0},"211":{"tf":1.0},"238":{"tf":1.0},"81":{"tf":1.0}},"t":{"df":0,"docs":{},"o":{"df":1,"docs":{"175":{"tf":2.0}}}}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"296":{"tf":1.4142135623730951}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":4,"docs":{"230":{"tf":1.7320508075688772},"242":{"tf":1.0},"244":{"tf":1.0},"274":{"tf":1.7320508075688772}}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"{":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":2,"docs":{"284":{"tf":2.6457513110645907},"287":{"tf":1.7320508075688772}},"}":{"_":{"df":0,"docs":{},"{":{"a":{",":{"b":{"df":0,"docs":{},"}":{"(":{"df":0,"docs":{},"i":{",":{"df":0,"docs":{},"j":{"df":1,"docs":{"284":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"67":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":14,"docs":{"117":{"tf":1.0},"161":{"tf":1.0},"171":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.0},"179":{"tf":1.0},"189":{"tf":1.0},"214":{"tf":1.0},"241":{"tf":1.0},"254":{"tf":1.0},"255":{"tf":1.0},"257":{"tf":1.0},"268":{"tf":1.0},"270":{"tf":1.0}}}},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"275":{"tf":1.7320508075688772}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"266":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"r":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"266":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":3,"docs":{"210":{"tf":1.0},"267":{"tf":1.4142135623730951},"291":{"tf":1.0}},"i":{"df":0,"docs":{},"z":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},",":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},")":{"df":0,"docs":{},",":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"100":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{":":{":":{"a":{"df":0,"docs":{},"s":{"_":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.0}}}}}},"df":1,"docs":{"211":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"256":{"tf":1.0}}}}}}},"df":0,"docs":{}},"<":{"&":{"'":{"a":{"df":2,"docs":{"185":{"tf":1.7320508075688772},"211":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"t":{"df":4,"docs":{"160":{"tf":1.0},"170":{"tf":1.0},"181":{"tf":1.4142135623730951},"211":{"tf":1.0}}},"v":{"df":1,"docs":{"237":{"tf":1.4142135623730951}}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"202":{"tf":1.0},"203":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"256":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":3,"docs":{"185":{"tf":2.23606797749979},"186":{"tf":1.0},"211":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"df":8,"docs":{"158":{"tf":1.0},"168":{"tf":1.0},"170":{"tf":1.0},"182":{"tf":1.4142135623730951},"202":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"211":{"tf":1.0}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"233":{"tf":1.0},"25":{"tf":1.4142135623730951}}}},"v":{"df":1,"docs":{"238":{"tf":1.4142135623730951}}}},"df":3,"docs":{"158":{"tf":1.0},"249":{"tf":1.4142135623730951},"256":{"tf":1.0}}}}}}},"r":{"d":{"df":2,"docs":{"143":{"tf":1.4142135623730951},"256":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":10,"docs":{"112":{"tf":1.0},"146":{"tf":1.0},"221":{"tf":1.4142135623730951},"256":{"tf":2.0},"8":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.7320508075688772},"89":{"tf":2.449489742783178},"90":{"tf":1.0},"92":{"tf":2.0}},",":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"256":{"tf":1.0}}}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"136":{"tf":1.4142135623730951},"143":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"251":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"(":{"&":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"253":{"tf":1.0},"256":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"252":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"253":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"251":{"tf":1.4142135623730951}}}}},"|":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"251":{"tf":1.7320508075688772}}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"212":{"tf":1.0},"253":{"tf":1.0},"256":{"tf":1.4142135623730951}}}}}},"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"251":{"tf":2.23606797749979}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"255":{"tf":1.7320508075688772}}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"255":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}},"u":{"df":0,"docs":{},"t":{"df":7,"docs":{"118":{"tf":1.0},"185":{"tf":1.0},"187":{"tf":1.7320508075688772},"205":{"tf":1.0},"210":{"tf":1.0},"211":{"tf":1.0},"67":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":2,"docs":{"185":{"tf":1.7320508075688772},"251":{"tf":1.4142135623730951}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":6,"docs":{"124":{"tf":1.0},"125":{"tf":1.0},"130":{"tf":1.0},"132":{"tf":1.0},"187":{"tf":1.0},"255":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"84":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"210":{"tf":1.0},"34":{"tf":1.4142135623730951}}}}}},"l":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"180":{"tf":1.0}}}},"df":0,"docs":{},"o":{"a":{"d":{"df":2,"docs":{"254":{"tf":1.0},"255":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"180":{"tf":1.0}}}}}}}}}}}},"w":{"df":0,"docs":{},"n":{"df":2,"docs":{"237":{"tf":1.7320508075688772},"251":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":5,"docs":{"206":{"tf":1.0},"207":{"tf":1.0},"208":{"tf":1.4142135623730951},"210":{"tf":1.0},"251":{"tf":1.0}}}}}}}}}},"、":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"20":{"tf":1.0}}}}}}}}},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{".":{"0":{"df":1,"docs":{"212":{"tf":1.0}}},"1":{"df":1,"docs":{"212":{"tf":1.0}}},"df":0,"docs":{}},"df":4,"docs":{"216":{"tf":1.0},"234":{"tf":1.4142135623730951},"256":{"tf":1.0},"71":{"tf":1.0}}}},"n":{"df":0,"docs":{},"i":{"c":{"!":{"(":{"\"":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"279":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"238":{"tf":1.0}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"83":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"142":{"tf":1.0}},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"185":{"tf":1.0},"251":{"tf":1.0},"264":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":1,"docs":{"256":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"256":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":2,"docs":{"103":{"tf":1.0},"256":{"tf":1.0}}}},"t":{"df":5,"docs":{"119":{"tf":1.4142135623730951},"291":{"tf":1.0},"44":{"tf":1.4142135623730951},"91":{"tf":1.0},"92":{"tf":1.7320508075688772}},"i":{"a":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":1,"docs":{"256":{"tf":1.0}}}}},"df":0,"docs":{}},"_":{"c":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"256":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"256":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":5,"docs":{"212":{"tf":1.0},"256":{"tf":2.0},"274":{"tf":1.0},"275":{"tf":1.0},"85":{"tf":1.0}},"e":{"df":0,"docs":{},"q":{"df":3,"docs":{"212":{"tf":2.449489742783178},"25":{"tf":1.7320508075688772},"256":{"tf":1.4142135623730951}},",":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":1,"docs":{"256":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"r":{"d":{":":{":":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"_":{"c":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"256":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":4,"docs":{"256":{"tf":1.7320508075688772},"32":{"tf":1.4142135623730951},"33":{"tf":1.0},"54":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"t":{"df":9,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"103":{"tf":1.7320508075688772},"105":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"96":{"tf":2.0},"97":{"tf":1.4142135623730951},"99":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":5,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"105":{"tf":1.7320508075688772},"107":{"tf":1.0},"108":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"81":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"210":{"tf":1.0},"256":{"tf":1.0}}}}}}}},"d":{"df":0,"docs":{},"f":{"df":1,"docs":{"43":{"tf":1.0}}},"q":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}}}}}}}},"df":1,"docs":{"208":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"k":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"160":{"tf":1.0},"170":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":2,"docs":{"155":{"tf":1.0},"165":{"tf":1.0}}}},"r":{"df":2,"docs":{"271":{"tf":1.0},"275":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{":":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"260":{"tf":1.0},"276":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":1,"docs":{"119":{"tf":1.0}}}}}},"l":{"df":2,"docs":{"43":{"tf":1.0},"47":{"tf":1.0}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"200":{"tf":1.4142135623730951}}}}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"264":{"tf":1.0},"269":{"tf":1.0}}}},"df":3,"docs":{"264":{"tf":1.7320508075688772},"267":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"227":{"tf":1.4142135623730951}}}}}},"i":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"284":{"tf":1.0}}}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"e":{"df":9,"docs":{"103":{"tf":1.0},"117":{"tf":1.0},"119":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951},"63":{"tf":2.0},"64":{"tf":2.0},"67":{"tf":1.0},"85":{"tf":2.0},"92":{"tf":1.0}}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":11,"docs":{"102":{"tf":3.0},"103":{"tf":3.3166247903554},"104":{"tf":1.0},"105":{"tf":4.47213595499958},"106":{"tf":2.0},"107":{"tf":2.8284271247461903},"108":{"tf":3.0},"95":{"tf":3.0},"96":{"tf":3.4641016151377544},"97":{"tf":4.123105625617661},"99":{"tf":2.23606797749979}},"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"106":{"tf":1.0}}}}}}}},")":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"106":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}},",":{"df":0,"docs":{},"i":{"df":1,"docs":{"97":{"tf":1.0}}}}}}}},"l":{"a":{"c":{"df":0,"docs":{},"e":{"df":2,"docs":{"128":{"tf":1.0},"143":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"o":{"df":2,"docs":{"207":{"tf":3.0},"61":{"tf":2.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":10,"docs":{"107":{"tf":1.0},"176":{"tf":1.0},"180":{"tf":1.0},"185":{"tf":1.0},"195":{"tf":1.0},"202":{"tf":1.0},"207":{"tf":1.0},"236":{"tf":1.0},"251":{"tf":1.0},"262":{"tf":1.0}},",":{"df":0,"docs":{},"但":{"df":0,"docs":{},"照":{"df":0,"docs":{},"鏈":{"df":0,"docs":{},"結":{"df":0,"docs":{},"串":{"df":0,"docs":{},"列":{"df":0,"docs":{},"的":{"df":0,"docs":{},"定":{"df":0,"docs":{},"義":{"df":0,"docs":{},",":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"202":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}},"p":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"158":{"tf":1.0}}}}}},"df":0,"docs":{}},"_":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"182":{"tf":1.0}}}}}},"df":0,"docs":{},"v":{"df":1,"docs":{"189":{"tf":1.0}}}},"df":3,"docs":{"178":{"tf":1.0},"182":{"tf":1.0},"184":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"182":{"tf":1.0},"206":{"tf":1.0}}}}}},"df":0,"docs":{},"v":{"df":1,"docs":{"189":{"tf":1.0}}}},"df":6,"docs":{"178":{"tf":1.0},"182":{"tf":1.0},"204":{"tf":1.0},"206":{"tf":1.0},"210":{"tf":1.4142135623730951},"211":{"tf":1.4142135623730951}}}}}}}},"df":7,"docs":{"155":{"tf":1.0},"158":{"tf":1.0},"160":{"tf":1.0},"161":{"tf":1.4142135623730951},"186":{"tf":1.0},"211":{"tf":1.0},"214":{"tf":1.4142135623730951}}},"s":{"_":{"df":1,"docs":{"207":{"tf":2.23606797749979}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"238":{"tf":1.0}}}}},"t":{"df":2,"docs":{"132":{"tf":1.0},"260":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"|":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"238":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},")":{"df":0,"docs":{},",":{"df":0,"docs":{},"但":{"df":0,"docs":{},"絕":{"df":0,"docs":{},"不":{"df":0,"docs":{},"會":{"df":0,"docs":{},"有":{"df":0,"docs":{},"假":{"df":0,"docs":{},"陰":{"df":0,"docs":{},"性":{"df":0,"docs":{},"(":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":1,"docs":{"259":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}},"p":{"df":1,"docs":{"47":{"tf":1.0}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"275":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}},"s":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"132":{"tf":2.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":5,"docs":{"124":{"tf":1.4142135623730951},"125":{"tf":4.242640687119285},"127":{"tf":1.0},"131":{"tf":2.449489742783178},"132":{"tf":2.23606797749979}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"214":{"tf":1.0}}},"df":0,"docs":{}}}},"v":{".":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"208":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":1,"docs":{"208":{"tf":2.8284271247461903}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":3,"docs":{"207":{"tf":1.0},"208":{"tf":1.4142135623730951},"210":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"287":{"tf":1.0}}}}},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"152":{"tf":1.0}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"df":1,"docs":{"186":{"tf":1.0}}}}}},"v":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"154":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"b":{"a":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"259":{"tf":1.0}}}}}}},"l":{"df":3,"docs":{"260":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":2,"docs":{"230":{"tf":2.449489742783178},"274":{"tf":1.7320508075688772}}}},"c":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"92":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"47":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":3,"docs":{"215":{"tf":1.0},"240":{"tf":1.0},"285":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"293":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"86":{"tf":1.0},"87":{"tf":1.7320508075688772},"89":{"tf":1.0}}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"d":{"df":0,"docs":{},"o":{"df":1,"docs":{"139":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"df":2,"docs":{"284":{"tf":1.0},"286":{"tf":1.0}},"r":{".":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"176":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}},":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"180":{"tf":1.0}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"180":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{":":{":":{"d":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{")":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"176":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"182":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"182":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":4,"docs":{"176":{"tf":2.6457513110645907},"185":{"tf":1.7320508075688772},"188":{"tf":1.0},"230":{"tf":1.7320508075688772}}}},"u":{"b":{"df":66,"docs":{"102":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"130":{"tf":1.0},"132":{"tf":1.0},"142":{"tf":1.0},"143":{"tf":1.4142135623730951},"151":{"tf":1.0},"154":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.0},"164":{"tf":1.0},"166":{"tf":1.0},"167":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":1.0},"176":{"tf":1.4142135623730951},"177":{"tf":1.4142135623730951},"179":{"tf":1.0},"181":{"tf":2.0},"182":{"tf":2.0},"185":{"tf":1.4142135623730951},"186":{"tf":1.0},"203":{"tf":1.0},"205":{"tf":1.0},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"208":{"tf":1.0},"211":{"tf":2.449489742783178},"234":{"tf":1.4142135623730951},"236":{"tf":1.4142135623730951},"237":{"tf":1.4142135623730951},"238":{"tf":1.4142135623730951},"240":{"tf":1.0},"247":{"tf":1.0},"249":{"tf":2.449489742783178},"25":{"tf":1.4142135623730951},"251":{"tf":2.449489742783178},"252":{"tf":2.0},"253":{"tf":1.7320508075688772},"262":{"tf":1.7320508075688772},"263":{"tf":1.0},"264":{"tf":2.0},"265":{"tf":1.4142135623730951},"267":{"tf":1.7320508075688772},"268":{"tf":1.0},"269":{"tf":2.23606797749979},"278":{"tf":1.4142135623730951},"279":{"tf":1.0},"286":{"tf":1.4142135623730951},"287":{"tf":1.0},"289":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"44":{"tf":1.4142135623730951},"54":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0},"76":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"92":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"199":{"tf":1.0},"258":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"293":{"tf":1.0},"294":{"tf":1.0}}}},"s":{"df":0,"docs":{},"h":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"157":{"tf":1.0}}}}}},"df":0,"docs":{}},"_":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"182":{"tf":1.0}}}}}},"df":0,"docs":{},"v":{"df":1,"docs":{"189":{"tf":1.0}}}},"df":4,"docs":{"178":{"tf":1.0},"179":{"tf":2.0},"180":{"tf":1.4142135623730951},"182":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"182":{"tf":1.0},"206":{"tf":1.0}}}}}},"df":0,"docs":{},"v":{"df":1,"docs":{"189":{"tf":1.0}}}},"df":5,"docs":{"178":{"tf":1.0},"179":{"tf":1.4142135623730951},"182":{"tf":1.0},"204":{"tf":1.0},"206":{"tf":1.0}}}}}}}},"df":7,"docs":{"143":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"159":{"tf":1.0},"161":{"tf":1.4142135623730951},"239":{"tf":1.0}}}},"t":{"df":1,"docs":{"142":{"tf":1.0}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"216":{"tf":1.0},"254":{"tf":1.4142135623730951},"256":{"tf":1.0},"258":{"tf":1.0},"61":{"tf":1.7320508075688772}}}}}}}},"q":{"df":3,"docs":{"237":{"tf":2.0},"238":{"tf":2.0},"249":{"tf":2.0}},"u":{"a":{"d":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"230":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"71":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"266":{"tf":1.0}}}}},"df":0,"docs":{},"(":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"q":{"df":1,"docs":{"266":{"tf":1.0}}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"164":{"tf":1.0}}}},"df":12,"docs":{"163":{"tf":2.0},"164":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"167":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.4142135623730951},"173":{"tf":1.0},"6":{"tf":1.0}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"p":{"df":1,"docs":{"102":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":2,"docs":{"102":{"tf":2.0},"105":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"o":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"105":{"tf":2.23606797749979}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"d":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"105":{"tf":2.23606797749979}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"102":{"tf":1.0}}}}},"df":0,"docs":{}},"df":1,"docs":{"102":{"tf":1.0}}}}}}}}},"df":19,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.4142135623730951},"105":{"tf":1.4142135623730951},"106":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"109":{"tf":2.0},"21":{"tf":1.0},"4":{"tf":1.0},"56":{"tf":1.0},"94":{"tf":2.449489742783178},"95":{"tf":1.4142135623730951},"96":{"tf":1.4142135623730951},"97":{"tf":2.0},"98":{"tf":1.0},"99":{"tf":1.7320508075688772}}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"274":{"tf":2.6457513110645907},"275":{"tf":1.4142135623730951}}}}}}}}}},"r":{"a":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"151":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":9,"docs":{"145":{"tf":3.0},"146":{"tf":2.449489742783178},"147":{"tf":1.7320508075688772},"148":{"tf":1.0},"149":{"tf":2.449489742783178},"150":{"tf":1.7320508075688772},"151":{"tf":3.0},"152":{"tf":1.7320508075688772},"4":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"i":{"df":1,"docs":{"205":{"tf":1.0}}}},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":4,"docs":{"173":{"tf":1.0},"192":{"tf":1.0},"207":{"tf":1.0},"242":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{")":{".":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":2,"docs":{"267":{"tf":1.4142135623730951},"269":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"267":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"g":{"df":3,"docs":{"117":{"tf":1.0},"136":{"tf":1.4142135623730951},"67":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"67":{"tf":1.0}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"67":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":1,"docs":{"273":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{":":{":":{"c":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"179":{"tf":1.0}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"176":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"180":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"177":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{"df":4,"docs":{"176":{"tf":2.0},"177":{"tf":1.0},"179":{"tf":1.0},"188":{"tf":1.0}}}},"df":6,"docs":{"176":{"tf":2.8284271247461903},"177":{"tf":1.0},"180":{"tf":1.0},"184":{"tf":1.4142135623730951},"188":{"tf":1.0},"190":{"tf":1.0}}},"df":0,"docs":{}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"114":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"89":{"tf":1.0}}}}}},"df":4,"docs":{"109":{"tf":1.0},"244":{"tf":1.0},"273":{"tf":1.0},"33":{"tf":1.0}},"e":{"a":{"d":{"/":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":2,"docs":{"263":{"tf":1.0},"264":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"c":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{".":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":4,"docs":{"176":{"tf":1.7320508075688772},"192":{"tf":1.0},"231":{"tf":1.0},"239":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":1,"docs":{"164":{"tf":1.0}}}},"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":5,"docs":{"102":{"tf":1.7320508075688772},"112":{"tf":1.0},"202":{"tf":1.0},"210":{"tf":1.0},"273":{"tf":1.0}}}}}},"df":1,"docs":{"207":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":9,"docs":{"157":{"tf":1.0},"167":{"tf":1.0},"185":{"tf":1.0},"208":{"tf":1.0},"211":{"tf":1.4142135623730951},"237":{"tf":1.0},"240":{"tf":1.0},"264":{"tf":1.0},"278":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"256":{"tf":1.0}}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"176":{"tf":1.0},"181":{"tf":1.4142135623730951},"182":{"tf":2.0},"184":{"tf":1.0},"187":{"tf":1.4142135623730951}}}}}},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":3,"docs":{"231":{"tf":1.0},"239":{"tf":1.0},"274":{"tf":1.0}}}}},"df":0,"docs":{}},"l":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"256":{"tf":2.0}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"176":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":6,"docs":{"204":{"tf":1.0},"207":{"tf":1.0},"214":{"tf":1.0},"235":{"tf":1.0},"249":{"tf":1.4142135623730951},"264":{"tf":1.0}},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"207":{"tf":1.0}}}}}},"df":0,"docs":{},"k":{"df":1,"docs":{"241":{"tf":1.0}}},"v":{"df":1,"docs":{"257":{"tf":1.0}}}},"<":{"df":0,"docs":{},"q":{">":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"238":{"tf":1.0},"249":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"146":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"l":{"a":{"c":{"df":1,"docs":{"176":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"215":{"tf":1.0}}}}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"293":{"tf":1.0},"294":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"r":{"df":4,"docs":{"185":{"tf":1.4142135623730951},"211":{"tf":1.4142135623730951},"255":{"tf":1.0},"256":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"119":{"tf":1.0}}}},"i":{"df":0,"docs":{},"z":{"df":4,"docs":{"180":{"tf":1.4142135623730951},"236":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"112":{"tf":1.0}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":5,"docs":{"32":{"tf":1.0},"33":{"tf":1.0},"44":{"tf":1.4142135623730951},"54":{"tf":1.0},"61":{"tf":1.0}}}}},"df":6,"docs":{"117":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"119":{"tf":1.0},"207":{"tf":1.0},"32":{"tf":1.0},"44":{"tf":1.7320508075688772}}}}}},"t":{"[":{"df":0,"docs":{},"i":{".":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":1,"docs":{"118":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{".":{".":{"]":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"(":{"&":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"1":{"[":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"119":{"tf":1.0}}}}}}},"df":0,"docs":{}},"2":{"[":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"119":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"119":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"df":4,"docs":{"117":{"tf":2.0},"118":{"tf":1.4142135623730951},"119":{"tf":2.449489742783178},"143":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":25,"docs":{"103":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"117":{"tf":1.0},"119":{"tf":1.0},"157":{"tf":1.4142135623730951},"176":{"tf":1.4142135623730951},"181":{"tf":1.4142135623730951},"182":{"tf":1.4142135623730951},"185":{"tf":2.0},"207":{"tf":1.4142135623730951},"212":{"tf":1.0},"233":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.0},"25":{"tf":1.0},"251":{"tf":1.7320508075688772},"253":{"tf":1.0},"256":{"tf":1.0},"286":{"tf":1.4142135623730951},"287":{"tf":1.4142135623730951},"289":{"tf":1.4142135623730951},"33":{"tf":1.0},"44":{"tf":1.7320508075688772},"54":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"215":{"tf":1.0}},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"208":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{},":":{"df":0,"docs":{},"反":{"df":0,"docs":{},"轉":{"df":0,"docs":{},"整":{"df":0,"docs":{},"個":{"df":0,"docs":{},"串":{"df":0,"docs":{},"列":{"df":0,"docs":{},"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"204":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}}}}}},"f":{"c":{"df":2,"docs":{"240":{"tf":1.0},"251":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":6,"docs":{"114":{"tf":1.4142135623730951},"30":{"tf":1.0},"42":{"tf":1.7320508075688772},"80":{"tf":1.7320508075688772},"81":{"tf":1.0},"89":{"tf":1.0}}}}}}},"h":{"df":1,"docs":{"255":{"tf":1.0}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"30":{"tf":1.7320508075688772}}}}}}},"df":3,"docs":{"119":{"tf":2.23606797749979},"278":{"tf":1.4142135623730951},"92":{"tf":1.0}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"108":{"tf":1.0},"147":{"tf":1.0},"34":{"tf":1.0}}}}}}}}},"n":{"df":0,"docs":{},"g":{"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"f":{"df":3,"docs":{"177":{"tf":1.4142135623730951},"180":{"tf":1.0},"185":{"tf":2.449489742783178}}}}},"df":0,"docs":{}},"df":3,"docs":{"174":{"tf":1.0},"175":{"tf":1.0},"180":{"tf":1.0}}}}},"o":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"231":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"h":{"df":1,"docs":{"93":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"t":{"df":3,"docs":{"86":{"tf":1.0},"87":{"tf":2.6457513110645907},"92":{"tf":3.3166247903554}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}}}}}},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"121":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"_":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"b":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{":":{":":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"259":{"tf":1.0}}}}}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"173":{"tf":1.0}}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"226":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"245":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":1,"docs":{"163":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"200":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}}}},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"153":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"277":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":1,"docs":{"277":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"n":{"a":{"df":1,"docs":{"282":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":1,"docs":{"282":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"256":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"c":{"df":1,"docs":{"185":{"tf":1.0}}},"df":68,"docs":{"0":{"tf":2.6457513110645907},"1":{"tf":1.0},"10":{"tf":1.0},"105":{"tf":1.4142135623730951},"108":{"tf":1.0},"11":{"tf":1.0},"117":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"131":{"tf":1.0},"143":{"tf":1.4142135623730951},"144":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"164":{"tf":1.0},"167":{"tf":1.0},"176":{"tf":2.0},"181":{"tf":1.4142135623730951},"183":{"tf":1.4142135623730951},"185":{"tf":2.0},"186":{"tf":1.0},"187":{"tf":1.4142135623730951},"190":{"tf":1.4142135623730951},"193":{"tf":1.0},"2":{"tf":1.0},"202":{"tf":1.0},"205":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":1.4142135623730951},"211":{"tf":1.0},"212":{"tf":1.0},"215":{"tf":2.0},"216":{"tf":1.0},"225":{"tf":1.0},"231":{"tf":1.0},"232":{"tf":1.0},"233":{"tf":2.0},"236":{"tf":1.0},"237":{"tf":1.0},"240":{"tf":2.449489742783178},"244":{"tf":1.0},"248":{"tf":1.7320508075688772},"25":{"tf":1.0},"251":{"tf":2.23606797749979},"253":{"tf":1.0},"254":{"tf":1.0},"255":{"tf":1.0},"256":{"tf":1.7320508075688772},"258":{"tf":1.0},"262":{"tf":1.0},"264":{"tf":1.4142135623730951},"267":{"tf":1.0},"278":{"tf":1.7320508075688772},"287":{"tf":1.0},"288":{"tf":1.0},"291":{"tf":1.4142135623730951},"292":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.4142135623730951},"3":{"tf":1.0},"32":{"tf":1.0},"4":{"tf":1.0},"44":{"tf":1.7320508075688772},"5":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{"df":1,"docs":{"294":{"tf":1.0}}}}}}}}},"s":{"a":{"df":15,"docs":{"122":{"tf":1.0},"13":{"tf":1.0},"190":{"tf":1.0},"212":{"tf":1.7320508075688772},"225":{"tf":1.0},"244":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.4142135623730951},"62":{"tf":1.0},"64":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"77":{"tf":1.0},"93":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"df":5,"docs":{"176":{"tf":2.0},"180":{"tf":1.4142135623730951},"181":{"tf":1.4142135623730951},"182":{"tf":2.0},"187":{"tf":1.4142135623730951}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}}}}},"m":{"'":{"df":1,"docs":{"227":{"tf":1.0}}},"df":2,"docs":{"227":{"tf":3.0},"230":{"tf":1.4142135623730951}},"e":{"_":{"df":0,"docs":{},"s":{"df":1,"docs":{"256":{"tf":1.4142135623730951}}}},"df":3,"docs":{"260":{"tf":1.0},"276":{"tf":1.0},"279":{"tf":1.0}}}},"、":{"df":0,"docs":{},"s":{"b":{"df":0,"docs":{},",":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"、":{"df":0,"docs":{},"s":{"b":{"df":1,"docs":{"212":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"b":{"df":1,"docs":{"212":{"tf":2.0}}},"c":{"a":{"df":0,"docs":{},"l":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"273":{"tf":2.449489742783178}}}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":2,"docs":{"131":{"tf":1.4142135623730951},"132":{"tf":1.0}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"135":{"tf":1.0},"136":{"tf":1.0},"143":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":2,"docs":{"175":{"tf":2.23606797749979},"54":{"tf":1.0}}}}}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"291":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"e":{"df":5,"docs":{"103":{"tf":1.7320508075688772},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"96":{"tf":1.7320508075688772},"97":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":2,"docs":{"47":{"tf":1.0},"84":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":2,"docs":{"205":{"tf":1.0},"210":{"tf":1.0}},",":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"210":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"258":{"tf":1.0}}}}}}}}}}}},"df":3,"docs":{"273":{"tf":1.7320508075688772},"284":{"tf":1.0},"285":{"tf":1.7320508075688772}},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"241":{"tf":1.0}}}},"df":37,"docs":{"117":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":2.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.4142135623730951},"27":{"tf":2.0},"28":{"tf":1.0},"29":{"tf":1.0},"3":{"tf":2.0},"30":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":2.449489742783178},"37":{"tf":2.23606797749979},"38":{"tf":1.0},"39":{"tf":1.4142135623730951},"40":{"tf":2.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":2.23606797749979},"47":{"tf":2.0},"48":{"tf":2.0},"49":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.7320508075688772},"55":{"tf":1.4142135623730951},"61":{"tf":1.0}},"—":{"a":{"df":2,"docs":{"43":{"tf":1.0},"47":{"tf":1.0}}},"df":0,"docs":{}},",":{"df":0,"docs":{},"又":{"df":0,"docs":{},"稱":{"df":0,"docs":{},"對":{"df":0,"docs":{},"數":{"df":0,"docs":{},"搜":{"df":0,"docs":{},"尋":{"df":0,"docs":{},"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"df":1,"docs":{"27":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}}}}}}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"109":{"tf":1.0},"244":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":12,"docs":{"4":{"tf":1.0},"56":{"tf":1.0},"63":{"tf":2.23606797749979},"64":{"tf":1.4142135623730951},"65":{"tf":2.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.4142135623730951},"70":{"tf":1.7320508075688772},"85":{"tf":1.4142135623730951},"87":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"67":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"66":{"tf":1.0}}}}}},"df":0,"docs":{}},"f":{".":{"0":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"186":{"tf":1.0},"211":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}},"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"n":{"d":{".":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"233":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"237":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"239":{"tf":1.0}}}}}},"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"239":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"238":{"tf":1.0}},"s":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{")":{".":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"|":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"237":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{")":{".":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"|":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"238":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"240":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"239":{"tf":1.0},"240":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"239":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"c":{"a":{"df":0,"docs":{},"p":{"df":4,"docs":{"176":{"tf":1.7320508075688772},"179":{"tf":1.7320508075688772},"180":{"tf":1.4142135623730951},"181":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"251":{"tf":2.23606797749979}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{")":{".":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"252":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"249":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"249":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"249":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"|":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"251":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"249":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"249":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"249":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"[":{"0":{"]":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"]":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"e":{"a":{"d":{".":{"a":{"df":0,"docs":{},"s":{"_":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"211":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"k":{"df":3,"docs":{"206":{"tf":1.4142135623730951},"208":{"tf":1.0},"210":{"tf":1.0}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"181":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":6,"docs":{"180":{"tf":1.7320508075688772},"182":{"tf":1.7320508075688772},"185":{"tf":1.7320508075688772},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"208":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"253":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"181":{"tf":1.4142135623730951},"182":{"tf":1.4142135623730951}}}}}}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"180":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"256":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"256":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"t":{"df":2,"docs":{"186":{"tf":1.0},"213":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"170":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"168":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"160":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"157":{"tf":1.0},"159":{"tf":1.0},"169":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"158":{"tf":1.0}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"157":{"tf":1.0},"167":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"r":{"(":{")":{".":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"253":{"tf":1.0},"256":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"252":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"251":{"tf":2.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"252":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}}}},"z":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{")":{".":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"212":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"186":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":8,"docs":{"180":{"tf":1.0},"181":{"tf":1.0},"187":{"tf":1.4142135623730951},"212":{"tf":1.0},"238":{"tf":1.7320508075688772},"239":{"tf":1.7320508075688772},"253":{"tf":1.0},"256":{"tf":1.4142135623730951}}}}},"m":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.7320508075688772}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"237":{"tf":1.0}}}}},"q":{"df":2,"docs":{"237":{"tf":1.0},"238":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"x":{"df":0,"docs":{},"s":{"df":1,"docs":{"157":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.4142135623730951}}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"_":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"184":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"210":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"r":{"(":{")":{".":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{")":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"182":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"187":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"l":{"d":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"180":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{")":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"182":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"176":{"tf":1.0},"180":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"f":{".":{"c":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"179":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"185":{"tf":2.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"185":{"tf":1.7320508075688772}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"180":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"185":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"180":{"tf":1.0},"182":{"tf":1.7320508075688772},"185":{"tf":3.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"182":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":1,"docs":{"238":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"&":{"df":0,"docs":{},"r":{"df":0,"docs":{},"h":{"df":0,"docs":{},"s":{")":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"d":{"(":{")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"255":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"182":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"182":{"tf":1.0},"187":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":2,"docs":{"181":{"tf":1.0},"182":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"182":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"186":{"tf":1.7320508075688772},"211":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":2,"docs":{"267":{"tf":1.4142135623730951},"269":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"r":{"df":2,"docs":{"267":{"tf":1.4142135623730951},"269":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"187":{"tf":1.0},"255":{"tf":1.0}}}}}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"(":{"1":{"df":1,"docs":{"176":{"tf":1.0}}},"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"239":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":33,"docs":{"156":{"tf":1.4142135623730951},"157":{"tf":1.0},"158":{"tf":1.0},"166":{"tf":1.4142135623730951},"167":{"tf":1.0},"168":{"tf":1.0},"176":{"tf":2.449489742783178},"177":{"tf":1.4142135623730951},"180":{"tf":1.0},"182":{"tf":2.0},"184":{"tf":1.0},"185":{"tf":3.4641016151377544},"186":{"tf":1.0},"187":{"tf":1.0},"205":{"tf":1.7320508075688772},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"208":{"tf":1.0},"210":{"tf":1.4142135623730951},"211":{"tf":2.0},"212":{"tf":1.0},"236":{"tf":2.23606797749979},"238":{"tf":1.7320508075688772},"239":{"tf":1.7320508075688772},"249":{"tf":1.4142135623730951},"251":{"tf":4.795831523312719},"252":{"tf":3.1622776601683795},"253":{"tf":2.6457513110645907},"255":{"tf":1.0},"256":{"tf":1.4142135623730951},"267":{"tf":2.0},"268":{"tf":1.0},"269":{"tf":1.7320508075688772}},"、":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"251":{"tf":1.0}}}}}},"(":{"&":{"'":{"a":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"197":{"tf":1.0}},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"197":{"tf":2.6457513110645907}}}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":5,"docs":{"230":{"tf":2.0},"234":{"tf":1.4142135623730951},"242":{"tf":1.0},"243":{"tf":1.0},"274":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":9,"docs":{"211":{"tf":1.0},"230":{"tf":1.0},"44":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.4142135623730951},"80":{"tf":2.0},"81":{"tf":1.0},"82":{"tf":2.0},"83":{"tf":2.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"23":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"80":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"t":{"df":16,"docs":{"223":{"tf":1.7320508075688772},"245":{"tf":1.7320508075688772},"246":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.4142135623730951},"249":{"tf":1.0},"250":{"tf":1.4142135623730951},"251":{"tf":1.7320508075688772},"252":{"tf":1.0},"253":{"tf":1.0},"254":{"tf":1.0},"255":{"tf":3.0},"256":{"tf":1.4142135623730951},"257":{"tf":1.0},"258":{"tf":1.7320508075688772},"8":{"tf":1.0}},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"44":{"tf":1.0}}}}}},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"200":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"162":{"tf":1.0},"20":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"83":{"tf":1.0}}}}},"df":0,"docs":{}},"df":8,"docs":{"4":{"tf":1.0},"78":{"tf":2.449489742783178},"79":{"tf":1.4142135623730951},"80":{"tf":1.7320508075688772},"81":{"tf":1.7320508075688772},"82":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"84":{"tf":2.0}}}}}}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":2,"docs":{"278":{"tf":1.4142135623730951},"54":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"231":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"i":{"df":1,"docs":{"285":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"t":{"_":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"92":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"df":2,"docs":{"89":{"tf":1.4142135623730951},"92":{"tf":2.8284271247461903}}}}}},"df":0,"docs":{}},"df":4,"docs":{"87":{"tf":1.7320508075688772},"89":{"tf":1.7320508075688772},"90":{"tf":2.0},"92":{"tf":1.0}}}},"g":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"130":{"tf":1.7320508075688772},"143":{"tf":1.0},"32":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},")":{"df":0,"docs":{},"則":{"df":0,"docs":{},"是":{"df":0,"docs":{},"算":{"df":0,"docs":{},"術":{"df":0,"docs":{},"右":{"df":0,"docs":{},"移":{"df":0,"docs":{},"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"278":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"146":{"tf":1.4142135623730951},"278":{"tf":1.0}}},"df":0,"docs":{}}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":20,"docs":{"171":{"tf":1.0},"198":{"tf":1.0},"199":{"tf":1.0},"200":{"tf":1.7320508075688772},"201":{"tf":1.0},"202":{"tf":1.0},"203":{"tf":1.0},"204":{"tf":1.0},"205":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"208":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":1.0},"211":{"tf":1.0},"212":{"tf":1.0},"213":{"tf":1.0},"214":{"tf":1.0},"215":{"tf":1.4142135623730951},"7":{"tf":1.0}}},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{"df":6,"docs":{"203":{"tf":1.0},"205":{"tf":1.0},"210":{"tf":1.4142135623730951},"211":{"tf":1.4142135623730951},"212":{"tf":1.0},"213":{"tf":1.0}}}},"df":5,"docs":{"203":{"tf":1.4142135623730951},"206":{"tf":1.0},"209":{"tf":1.0},"211":{"tf":2.0},"212":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}},"k":{"df":1,"docs":{"71":{"tf":1.0}}}},"t":{"df":2,"docs":{"284":{"tf":1.4142135623730951},"285":{"tf":1.4142135623730951}}},"z":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"159":{"tf":1.0},"169":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":17,"docs":{"155":{"tf":1.0},"159":{"tf":1.0},"165":{"tf":1.0},"176":{"tf":1.4142135623730951},"179":{"tf":1.4142135623730951},"233":{"tf":2.449489742783178},"237":{"tf":1.0},"238":{"tf":1.0},"248":{"tf":1.0},"249":{"tf":1.4142135623730951},"259":{"tf":1.0},"262":{"tf":2.0},"264":{"tf":1.0},"265":{"tf":2.23606797749979},"269":{"tf":1.4142135623730951},"33":{"tf":3.0},"54":{"tf":2.0}}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"81":{"tf":1.7320508075688772}}}}},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"185":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"170":{"tf":1.0}}}}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}}},"df":1,"docs":{"185":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":10,"docs":{"117":{"tf":1.4142135623730951},"173":{"tf":1.0},"184":{"tf":1.0},"185":{"tf":1.0},"233":{"tf":1.0},"262":{"tf":1.4142135623730951},"265":{"tf":1.0},"32":{"tf":1.0},"54":{"tf":2.0},"61":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"t":{"df":3,"docs":{"227":{"tf":1.4142135623730951},"230":{"tf":2.449489742783178},"274":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"107":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":5,"docs":{"264":{"tf":1.0},"265":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.4142135623730951},"288":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"185":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"(":{"&":{"'":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":1,"docs":{"185":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"*":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"(":{")":{".":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"181":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"181":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"211":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"(":{"_":{"df":1,"docs":{"238":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":1,"docs":{"238":{"tf":1.0}}}},"*":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}}},"_":{"df":2,"docs":{"184":{"tf":1.0},"279":{"tf":1.4142135623730951}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"206":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"c":{"1":{"df":1,"docs":{"279":{"tf":1.0}}},"2":{"df":1,"docs":{"279":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"233":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"a":{"d":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"206":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"25":{"tf":1.0}}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"v":{"df":1,"docs":{"238":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"207":{"tf":1.0},"208":{"tf":1.0},"210":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"207":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"o":{"d":{"df":2,"docs":{"207":{"tf":1.4142135623730951},"208":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"207":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"256":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"256":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{")":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"|":{"_":{"df":1,"docs":{"256":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"256":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"0":{"df":1,"docs":{"168":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"(":{")":{".":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"182":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"182":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":2,"docs":{"174":{"tf":1.0},"177":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"296":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"t":{"/":{"b":{"df":0,"docs":{},"u":{"b":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"56":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":70,"docs":{"122":{"tf":1.4142135623730951},"123":{"tf":2.449489742783178},"124":{"tf":1.0},"125":{"tf":1.4142135623730951},"126":{"tf":1.0},"127":{"tf":1.7320508075688772},"128":{"tf":1.7320508075688772},"129":{"tf":1.7320508075688772},"130":{"tf":1.4142135623730951},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.7320508075688772},"134":{"tf":2.6457513110645907},"135":{"tf":1.4142135623730951},"136":{"tf":3.0},"137":{"tf":1.0},"138":{"tf":2.23606797749979},"139":{"tf":1.0},"140":{"tf":1.4142135623730951},"141":{"tf":1.0},"142":{"tf":1.7320508075688772},"143":{"tf":2.6457513110645907},"144":{"tf":2.0},"145":{"tf":4.123105625617661},"146":{"tf":2.8284271247461903},"147":{"tf":3.1622776601683795},"148":{"tf":1.0},"149":{"tf":3.1622776601683795},"150":{"tf":2.23606797749979},"151":{"tf":3.0},"152":{"tf":1.7320508075688772},"20":{"tf":1.0},"38":{"tf":2.0},"4":{"tf":2.449489742783178},"46":{"tf":1.0},"47":{"tf":1.0},"56":{"tf":2.449489742783178},"57":{"tf":1.4142135623730951},"58":{"tf":1.7320508075688772},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":3.1622776601683795},"62":{"tf":1.7320508075688772},"63":{"tf":2.6457513110645907},"64":{"tf":1.7320508075688772},"65":{"tf":2.0},"66":{"tf":1.7320508075688772},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.4142135623730951},"70":{"tf":2.0},"71":{"tf":2.6457513110645907},"72":{"tf":1.0},"73":{"tf":1.7320508075688772},"74":{"tf":1.0},"75":{"tf":1.7320508075688772},"76":{"tf":1.4142135623730951},"77":{"tf":1.7320508075688772},"78":{"tf":2.0},"79":{"tf":1.4142135623730951},"81":{"tf":3.7416573867739413},"82":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":2.23606797749979},"87":{"tf":1.7320508075688772},"90":{"tf":1.4142135623730951},"91":{"tf":1.0},"92":{"tf":1.4142135623730951},"93":{"tf":1.0},"94":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"151":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"。":{"b":{"df":0,"docs":{},"u":{"b":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"71":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}}}}}}},",":{"df":0,"docs":{},"但":{"df":0,"docs":{},"前":{"df":0,"docs":{},"一":{"df":0,"docs":{},"次":{"df":0,"docs":{},"結":{"df":0,"docs":{},"果":{"df":0,"docs":{},"已":{"df":0,"docs":{},"經":{"df":0,"docs":{},"很":{"df":0,"docs":{},"接":{"df":0,"docs":{},"近":{"df":0,"docs":{},"排":{"df":0,"docs":{},"序":{"df":0,"docs":{},"完":{"df":0,"docs":{},"成":{"df":0,"docs":{},",":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"81":{"tf":1.0}}}}}}}}}}}}}}}}}}}}}}}},"此":{"df":0,"docs":{},"時":{"df":0,"docs":{},"大":{"df":0,"docs":{},"部":{"df":0,"docs":{},"分":{"df":0,"docs":{},"元":{"df":0,"docs":{},"素":{"df":0,"docs":{},"皆":{"df":0,"docs":{},"排":{"df":0,"docs":{},"序":{"df":0,"docs":{},"完":{"df":0,"docs":{},"成":{"df":0,"docs":{},",":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}}}}}}}}}}}}}}}}}}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":4,"docs":{"274":{"tf":1.0},"275":{"tf":1.0},"278":{"tf":1.4142135623730951},"279":{"tf":1.7320508075688772}},"e":{".":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"279":{"tf":1.0}},"s":{"(":{")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"287":{"tf":1.4142135623730951},"289":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"286":{"tf":1.0},"287":{"tf":1.0},"289":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"286":{"tf":1.0},"287":{"tf":1.0},"289":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"279":{"tf":1.0}}}}}}},"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"287":{"tf":2.0},"288":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"p":{"a":{"c":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"276":{"tf":1.0}}}}}},"df":23,"docs":{"100":{"tf":1.4142135623730951},"113":{"tf":1.0},"115":{"tf":1.4142135623730951},"126":{"tf":1.0},"128":{"tf":1.4142135623730951},"137":{"tf":1.0},"140":{"tf":1.4142135623730951},"148":{"tf":1.0},"150":{"tf":1.4142135623730951},"214":{"tf":1.0},"24":{"tf":1.0},"290":{"tf":1.4142135623730951},"30":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"51":{"tf":1.0},"58":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":1.0},"88":{"tf":1.0},"98":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"112":{"tf":1.4142135623730951},"117":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"193":{"tf":1.0}}}}}},"r":{"c":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"/":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"3":{"4":{"4":{":":{"6":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{":":{"1":{"2":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"5":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"3":{":":{"2":{"3":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"9":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"/":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"2":{"5":{"3":{":":{"9":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"1":{"7":{":":{"4":{"8":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{":":{"5":{"3":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{":":{"9":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"3":{":":{"2":{"4":{"df":1,"docs":{"264":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"7":{":":{"2":{"3":{"df":1,"docs":{"262":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{":":{"5":{"df":1,"docs":{"262":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":2,"docs":{"180":{"tf":1.0},"182":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"s":{"d":{"df":1,"docs":{"274":{"tf":1.0}}},"df":0,"docs":{}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"145":{"tf":1.0},"70":{"tf":1.0}}}},"c":{"df":0,"docs":{},"k":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"154":{"tf":1.0}}}},"df":17,"docs":{"100":{"tf":1.7320508075688772},"105":{"tf":1.7320508075688772},"115":{"tf":1.0},"153":{"tf":2.23606797749979},"154":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.0},"161":{"tf":1.0},"162":{"tf":1.4142135623730951},"200":{"tf":1.0},"210":{"tf":2.23606797749979},"6":{"tf":1.0},"99":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"x":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"215":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"215":{"tf":1.0}}}}}}}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":7,"docs":{"118":{"tf":1.0},"124":{"tf":1.4142135623730951},"125":{"tf":1.4142135623730951},"132":{"tf":1.4142135623730951},"211":{"tf":1.0},"34":{"tf":1.7320508075688772},"92":{"tf":3.0}}}},"t":{"df":0,"docs":{},"e":{"df":3,"docs":{"131":{"tf":1.4142135623730951},"132":{"tf":1.4142135623730951},"233":{"tf":1.0}}},"i":{"c":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":1,"docs":{"0":{"tf":1.0}}}}},"d":{":":{":":{"c":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"118":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"256":{"tf":1.0}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"264":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":3,"docs":{"263":{"tf":1.0},"264":{"tf":1.4142135623730951},"265":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"d":{"df":0,"docs":{},"t":{"df":1,"docs":{"225":{"tf":1.0}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{":":{":":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"184":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{},"f":{"3":{"2":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"267":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"4":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"267":{"tf":1.0}},"s":{":":{":":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"_":{"2":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"f":{"(":{"2":{"df":0,"docs":{},"f":{"6":{"4":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{":":{":":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"213":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":1,"docs":{"213":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"213":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{":":{":":{"df":0,"docs":{},"{":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"233":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"<":{"'":{"_":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"240":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"225":{"tf":1.0}}},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":2,"docs":{"264":{"tf":1.7320508075688772},"265":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"256":{"tf":1.0}}}},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"240":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"<":{"'":{"_":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"(":{"&":{"df":0,"docs":{},"k":{"df":1,"docs":{"240":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"c":{":":{":":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"240":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":1,"docs":{"164":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":2,"docs":{"267":{"tf":1.0},"291":{"tf":1.0}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":2,"docs":{"225":{"tf":1.0},"244":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"174":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":4,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"142":{"tf":1.0},"44":{"tf":1.0}}}}},"r":{":":{":":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"279":{"tf":1.4142135623730951},"287":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"287":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":6,"docs":{"237":{"tf":1.0},"264":{"tf":1.0},"279":{"tf":1.4142135623730951},"286":{"tf":2.0},"287":{"tf":1.4142135623730951},"289":{"tf":1.4142135623730951}},"e":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":5,"docs":{"233":{"tf":1.0},"237":{"tf":1.0},"264":{"tf":1.0},"265":{"tf":1.0},"286":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":22,"docs":{"142":{"tf":1.4142135623730951},"154":{"tf":1.0},"164":{"tf":1.0},"174":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.0},"185":{"tf":1.4142135623730951},"186":{"tf":1.0},"188":{"tf":1.0},"202":{"tf":1.7320508075688772},"203":{"tf":2.23606797749979},"210":{"tf":1.4142135623730951},"211":{"tf":3.1622776601683795},"233":{"tf":1.0},"234":{"tf":1.4142135623730951},"240":{"tf":1.4142135623730951},"247":{"tf":1.0},"262":{"tf":2.449489742783178},"263":{"tf":1.0},"264":{"tf":3.3166247903554},"265":{"tf":1.4142135623730951},"269":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"200":{"tf":1.0},"259":{"tf":1.0},"273":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"u":{"b":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"112":{"tf":1.4142135623730951},"97":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":3,"docs":{"287":{"tf":2.0},"289":{"tf":2.6457513110645907},"54":{"tf":1.7320508075688772}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"200":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"145":{"tf":1.0},"146":{"tf":1.4142135623730951},"149":{"tf":1.4142135623730951}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":2,"docs":{"118":{"tf":1.0},"81":{"tf":2.6457513110645907}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"282":{"tf":1.0},"289":{"tf":1.0}}}}}},"r":{"df":2,"docs":{"284":{"tf":1.0},"9":{"tf":1.0}},"e":{"df":1,"docs":{"92":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"179":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"89":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"176":{"tf":1.0},"264":{"tf":1.0}}}},"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"{":{"df":0,"docs":{},"i":{"=":{"0":{"df":0,"docs":{},"}":{"^":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"df":1,"docs":{"75":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"1":{"df":0,"docs":{},"}":{"^":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"df":1,"docs":{"66":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"99":{"tf":1.0}}}}},"df":6,"docs":{"124":{"tf":1.4142135623730951},"125":{"tf":4.358898943540674},"127":{"tf":1.0},"131":{"tf":2.449489742783178},"132":{"tf":2.23606797749979},"91":{"tf":1.4142135623730951}}}},"v":{"df":0,"docs":{},"g":{"df":3,"docs":{"199":{"tf":1.0},"215":{"tf":1.0},"47":{"tf":1.4142135623730951}}}},"w":{"a":{"df":0,"docs":{},"p":{"'":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"92":{"tf":1.0}}}}},"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"238":{"tf":1.0}}}}}}}},"df":6,"docs":{"103":{"tf":1.4142135623730951},"107":{"tf":1.0},"108":{"tf":1.0},"76":{"tf":2.0},"87":{"tf":2.0},"97":{"tf":2.6457513110645907}},")":{"df":0,"docs":{},"、":{"df":0,"docs":{},"賦":{"df":0,"docs":{},"值":{"df":0,"docs":{},"(":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"61":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}},"改":{"df":0,"docs":{},"為":{"df":0,"docs":{},"插":{"df":0,"docs":{},"入":{"df":0,"docs":{},"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"65":{"tf":1.0}}}}}}}}}}}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"8":{"df":3,"docs":{"62":{"tf":1.0},"72":{"tf":1.0},"77":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":2,"docs":{"0":{"tf":1.0},"109":{"tf":1.0}}}}}},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"256":{"tf":1.0},"257":{"tf":1.0}},"i":{"c":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"250":{"tf":1.0},"255":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"<":{"'":{"a":{">":{"(":{"&":{"'":{"a":{"df":1,"docs":{"252":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"47":{"tf":1.0}}}}}}}}}}},"t":{"(":{"\\":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"114":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"n":{"df":1,"docs":{"114":{"tf":1.7320508075688772}}}},">":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":3,"docs":{"130":{"tf":1.0},"132":{"tf":1.0},"143":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"]":{"df":0,"docs":{},"。":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}}}},"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"244":{"tf":1.4142135623730951}},"e":{"[":{"0":{"df":1,"docs":{"227":{"tf":1.0}}},"1":{"df":1,"docs":{"227":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"227":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":15,"docs":{"100":{"tf":1.0},"105":{"tf":1.0},"174":{"tf":1.0},"175":{"tf":3.3166247903554},"177":{"tf":1.4142135623730951},"179":{"tf":1.4142135623730951},"180":{"tf":2.0},"181":{"tf":1.4142135623730951},"182":{"tf":1.7320508075688772},"185":{"tf":3.3166247903554},"189":{"tf":1.0},"196":{"tf":2.0},"200":{"tf":1.0},"204":{"tf":1.0},"210":{"tf":1.4142135623730951}},"、":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"189":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"k":{"df":0,"docs":{},"e":{"df":5,"docs":{"206":{"tf":1.0},"207":{"tf":1.0},"208":{"tf":1.0},"210":{"tf":1.0},"251":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"105":{"tf":1.0}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}},"t":{")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"278":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"279":{"tf":1.0}},"s":{"(":{")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"287":{"tf":1.4142135623730951},"289":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"286":{"tf":1.0},"287":{"tf":1.0},"289":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"286":{"tf":1.0},"287":{"tf":1.0},"289":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"279":{"tf":1.0}}}}}}},"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"287":{"tf":2.0},"288":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"df":10,"docs":{"25":{"tf":1.4142135623730951},"278":{"tf":1.7320508075688772},"279":{"tf":2.0},"286":{"tf":1.4142135623730951},"287":{"tf":1.0},"289":{"tf":1.4142135623730951},"32":{"tf":1.0},"33":{"tf":2.0},"44":{"tf":4.123105625617661},"54":{"tf":1.7320508075688772}}}}}}},"c":{"df":0,"docs":{},"o":{"df":1,"docs":{"105":{"tf":2.0}}}},"df":33,"docs":{"130":{"tf":1.7320508075688772},"132":{"tf":1.4142135623730951},"142":{"tf":2.23606797749979},"143":{"tf":2.449489742783178},"151":{"tf":1.4142135623730951},"157":{"tf":1.0},"167":{"tf":1.0},"175":{"tf":3.0},"176":{"tf":1.7320508075688772},"179":{"tf":1.4142135623730951},"180":{"tf":2.449489742783178},"182":{"tf":1.4142135623730951},"185":{"tf":5.744562646538029},"186":{"tf":3.1622776601683795},"187":{"tf":1.4142135623730951},"188":{"tf":1.0},"202":{"tf":1.7320508075688772},"206":{"tf":1.0},"207":{"tf":1.0},"211":{"tf":3.872983346207417},"247":{"tf":1.0},"249":{"tf":2.23606797749979},"25":{"tf":2.6457513110645907},"251":{"tf":3.605551275463989},"252":{"tf":2.0},"255":{"tf":1.7320508075688772},"256":{"tf":1.7320508075688772},"264":{"tf":2.449489742783178},"268":{"tf":2.0},"269":{"tf":2.8284271247461903},"32":{"tf":2.0},"33":{"tf":1.7320508075688772},"54":{"tf":1.7320508075688772}},"e":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"105":{"tf":1.0},"210":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"67":{"tf":1.7320508075688772}}}},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"16":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"294":{"tf":1.0}}}},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"242":{"tf":1.0}},"{":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"y":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"50":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":3,"docs":{"114":{"tf":1.0},"284":{"tf":1.4142135623730951},"286":{"tf":1.0}}}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":2,"docs":{"231":{"tf":1.0},"242":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":2,"docs":{"114":{"tf":1.0},"284":{"tf":1.0}}}}}}}}}}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"176":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"114":{"tf":1.0}}}},"i":{"df":2,"docs":{"223":{"tf":1.0},"258":{"tf":1.0}}}}},"t":{"a":{"$":{"df":0,"docs":{},":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"19":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"(":{"1":{"+":{"\\":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"df":0,"docs":{},"k":{"df":1,"docs":{"242":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"19":{"tf":1.0}}}},"df":0,"docs":{}},"n":{"df":1,"docs":{"19":{"tf":1.0}}}},"df":1,"docs":{"19":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"274":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":2,"docs":{"256":{"tf":1.0},"44":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"274":{"tf":1.0}}}}}}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":9,"docs":{"114":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951},"149":{"tf":1.4142135623730951},"22":{"tf":1.0},"262":{"tf":1.4142135623730951},"270":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.4142135623730951},"99":{"tf":1.4142135623730951}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"121":{"tf":1.7320508075688772},"4":{"tf":1.0}}}}}}}},"o":{"_":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"132":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"p":{"df":3,"docs":{"116":{"tf":1.0},"117":{"tf":1.4142135623730951},"119":{"tf":1.0}}},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"256":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"r":{"a":{"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"276":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":23,"docs":{"143":{"tf":1.0},"183":{"tf":1.0},"185":{"tf":1.7320508075688772},"188":{"tf":1.0},"205":{"tf":1.0},"209":{"tf":1.7320508075688772},"210":{"tf":1.7320508075688772},"211":{"tf":2.6457513110645907},"212":{"tf":2.0},"213":{"tf":1.7320508075688772},"232":{"tf":1.0},"233":{"tf":2.23606797749979},"236":{"tf":1.0},"237":{"tf":1.0},"240":{"tf":3.3166247903554},"251":{"tf":1.4142135623730951},"255":{"tf":1.7320508075688772},"256":{"tf":2.0},"265":{"tf":1.7320508075688772},"288":{"tf":1.0},"44":{"tf":1.4142135623730951},"67":{"tf":1.0},"83":{"tf":1.0}},",":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":1,"docs":{"233":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"208":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"256":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"211":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":3,"docs":{"274":{"tf":1.0},"46":{"tf":1.4142135623730951},"87":{"tf":1.0}},"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}}}}},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"251":{"tf":1.0}}}},"u":{"df":0,"docs":{},"e":{"df":7,"docs":{"157":{"tf":1.0},"168":{"tf":1.0},"256":{"tf":2.0},"262":{"tf":1.4142135623730951},"268":{"tf":1.0},"269":{"tf":1.0},"76":{"tf":1.7320508075688772}}}},"y":{"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"176":{"tf":1.0},"180":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":3,"docs":{"176":{"tf":1.4142135623730951},"178":{"tf":1.0},"180":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":1,"docs":{"235":{"tf":1.0}},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"239":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"211":{"tf":1.0},"247":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"j":{"df":1,"docs":{"291":{"tf":1.0}}}}}}}},"w":{"df":0,"docs":{},"o":{"df":4,"docs":{"103":{"tf":1.0},"108":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":18,"docs":{"162":{"tf":1.0},"172":{"tf":1.0},"176":{"tf":1.4142135623730951},"185":{"tf":2.23606797749979},"186":{"tf":2.6457513110645907},"187":{"tf":1.0},"211":{"tf":2.23606797749979},"233":{"tf":1.0},"234":{"tf":1.4142135623730951},"240":{"tf":1.7320508075688772},"245":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":2.0},"251":{"tf":1.4142135623730951},"255":{"tf":1.0},"262":{"tf":1.0},"264":{"tf":2.23606797749979},"287":{"tf":1.0}},"s":{"df":0,"docs":{},"(":{"d":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"233":{"tf":1.0},"262":{"tf":1.0}}}}},"df":0,"docs":{},"z":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}}}}}}},"、":{"df":0,"docs":{},"k":{"df":0,"docs":{},"、":{"df":0,"docs":{},"v":{"df":1,"docs":{"264":{"tf":1.0}}}}}}},"u":{"3":{"2":{">":{"df":0,"docs":{},",":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"264":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":2,"docs":{"264":{"tf":1.0},"278":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"6":{"4":{"df":3,"docs":{"268":{"tf":2.6457513110645907},"269":{"tf":3.0},"278":{"tf":2.0}}},"df":0,"docs":{}},"8":{"df":1,"docs":{"237":{"tf":1.0}}},"df":0,"docs":{},"m":{"d":{"df":1,"docs":{"89":{"tf":1.0}}},"df":0,"docs":{}},"n":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"217":{"tf":1.0}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"176":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"279":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":3,"docs":{"229":{"tf":1.0},"43":{"tf":1.7320508075688772},"47":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"n":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"251":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"<":{"'":{"a":{">":{"(":{"&":{"'":{"a":{"df":2,"docs":{"251":{"tf":1.4142135623730951},"252":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"251":{"tf":1.4142135623730951},"252":{"tf":1.4142135623730951},"255":{"tf":1.0},"257":{"tf":1.0}},":":{"df":0,"docs":{},"聯":{"df":0,"docs":{},"集":{"df":0,"docs":{},",":{"a":{"df":1,"docs":{"250":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"t":{"df":3,"docs":{"244":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.7320508075688772}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":3,"docs":{"122":{"tf":1.0},"152":{"tf":1.0},"93":{"tf":1.0}}}}}}},"s":{"a":{"df":0,"docs":{},"f":{"df":6,"docs":{"176":{"tf":2.23606797749979},"180":{"tf":1.0},"181":{"tf":1.7320508075688772},"182":{"tf":2.0},"185":{"tf":1.7320508075688772},"187":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},")":{"df":0,"docs":{},"是":{"df":0,"docs":{},"邏":{"df":0,"docs":{},"輯":{"df":0,"docs":{},"右":{"df":0,"docs":{},"移":{"df":0,"docs":{},"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"278":{"tf":1.0}}}}}}}}}}}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":6,"docs":{"63":{"tf":1.4142135623730951},"64":{"tf":1.7320508075688772},"67":{"tf":1.0},"85":{"tf":1.4142135623730951},"87":{"tf":1.0},"92":{"tf":1.4142135623730951}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"70":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"176":{"tf":1.0},"264":{"tf":1.0}}}},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"&":{"0":{"df":1,"docs":{"151":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"287":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"241":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":5,"docs":{"116":{"tf":1.0},"118":{"tf":1.4142135623730951},"119":{"tf":1.0},"285":{"tf":1.0},"91":{"tf":1.4142135623730951}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"118":{"tf":1.4142135623730951},"54":{"tf":1.0},"67":{"tf":1.0}}}}}},"s":{"df":12,"docs":{"132":{"tf":1.0},"144":{"tf":1.0},"151":{"tf":1.0},"211":{"tf":1.0},"233":{"tf":1.0},"251":{"tf":1.0},"262":{"tf":1.0},"263":{"tf":1.0},"264":{"tf":2.23606797749979},"265":{"tf":1.4142135623730951},"267":{"tf":1.0},"54":{"tf":1.0}},"e":{"_":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"(":{"a":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"z":{"df":42,"docs":{"103":{"tf":2.449489742783178},"107":{"tf":2.6457513110645907},"108":{"tf":1.7320508075688772},"130":{"tf":2.0},"132":{"tf":1.7320508075688772},"151":{"tf":1.0},"154":{"tf":1.0},"156":{"tf":1.0},"159":{"tf":1.0},"169":{"tf":1.0},"174":{"tf":1.4142135623730951},"176":{"tf":1.4142135623730951},"177":{"tf":1.4142135623730951},"179":{"tf":3.4641016151377544},"181":{"tf":1.0},"185":{"tf":2.0},"187":{"tf":1.4142135623730951},"188":{"tf":1.0},"207":{"tf":1.7320508075688772},"233":{"tf":1.4142135623730951},"234":{"tf":1.0},"236":{"tf":2.23606797749979},"249":{"tf":1.0},"262":{"tf":1.4142135623730951},"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":2.8284271247461903},"268":{"tf":1.4142135623730951},"269":{"tf":3.0},"279":{"tf":1.0},"286":{"tf":1.4142135623730951},"287":{"tf":1.7320508075688772},"288":{"tf":1.0},"289":{"tf":1.4142135623730951},"32":{"tf":1.0},"33":{"tf":1.7320508075688772},"44":{"tf":2.23606797749979},"54":{"tf":1.0},"61":{"tf":1.0},"76":{"tf":1.0},"83":{"tf":1.7320508075688772},"92":{"tf":1.4142135623730951}},"e":{":":{":":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"x":{"df":1,"docs":{"179":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"f":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}}}},"v":{">":{">":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"236":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"61":{"tf":1.0}},"i":{"d":{"df":5,"docs":{"181":{"tf":1.4142135623730951},"182":{"tf":2.0},"185":{"tf":1.0},"187":{"tf":1.4142135623730951},"92":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":18,"docs":{"107":{"tf":1.7320508075688772},"125":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":2.0},"136":{"tf":1.4142135623730951},"142":{"tf":2.8284271247461903},"143":{"tf":2.449489742783178},"211":{"tf":1.0},"216":{"tf":1.0},"230":{"tf":1.0},"234":{"tf":1.4142135623730951},"237":{"tf":1.4142135623730951},"238":{"tf":2.0},"249":{"tf":2.23606797749979},"251":{"tf":1.0},"262":{"tf":1.7320508075688772},"44":{"tf":1.4142135623730951},"96":{"tf":1.4142135623730951}},"e":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"132":{"tf":1.4142135623730951},"143":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"251":{"tf":1.0},"44":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":16,"docs":{"112":{"tf":1.4142135623730951},"136":{"tf":3.4641016151377544},"189":{"tf":1.0},"196":{"tf":1.4142135623730951},"197":{"tf":1.0},"200":{"tf":1.0},"230":{"tf":1.0},"234":{"tf":2.8284271247461903},"236":{"tf":2.23606797749979},"237":{"tf":2.0},"238":{"tf":2.0},"239":{"tf":1.4142135623730951},"240":{"tf":3.3166247903554},"241":{"tf":1.7320508075688772},"257":{"tf":1.0},"264":{"tf":1.0}},"e":{"c":{"!":{"[":{"0":{"df":1,"docs":{"288":{"tf":1.0}}},"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}}}},"df":0,"docs":{}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"142":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"!":{"[":{"0":{"df":2,"docs":{"287":{"tf":1.4142135623730951},"288":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":1,"docs":{"131":{"tf":1.0}}}}}},":":{":":{"<":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{"df":1,"docs":{"236":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"237":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":3,"docs":{"143":{"tf":1.0},"166":{"tf":1.0},"236":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"171":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"238":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"x":{"df":0,"docs":{},"s":{"df":1,"docs":{"156":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"<":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"234":{"tf":1.4142135623730951}}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":4,"docs":{"262":{"tf":1.0},"263":{"tf":1.0},"264":{"tf":1.4142135623730951},"269":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"h":{"df":1,"docs":{"143":{"tf":1.0}}},"k":{"df":2,"docs":{"234":{"tf":1.0},"236":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"df":4,"docs":{"142":{"tf":1.0},"154":{"tf":1.0},"164":{"tf":1.0},"171":{"tf":1.0}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"288":{"tf":1.0},"289":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"u":{"8":{"df":1,"docs":{"264":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":1,"docs":{"288":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":2,"docs":{"190":{"tf":1.0},"193":{"tf":1.0}},"e":{":":{":":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"180":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":14,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"131":{"tf":1.0},"142":{"tf":1.0},"166":{"tf":1.0},"167":{"tf":1.0},"170":{"tf":1.4142135623730951},"176":{"tf":1.4142135623730951},"234":{"tf":1.4142135623730951},"236":{"tf":1.0},"239":{"tf":1.0},"262":{"tf":2.449489742783178},"287":{"tf":1.0},"288":{"tf":2.0}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":9,"docs":{"117":{"tf":1.0},"153":{"tf":1.0},"156":{"tf":2.23606797749979},"157":{"tf":1.0},"163":{"tf":1.0},"234":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"287":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":2,"docs":{"250":{"tf":1.0},"258":{"tf":1.0}}}}},"i":{"a":{"df":11,"docs":{"122":{"tf":1.0},"190":{"tf":1.0},"199":{"tf":1.0},"225":{"tf":1.0},"244":{"tf":1.0},"258":{"tf":1.0},"47":{"tf":1.4142135623730951},"62":{"tf":1.0},"70":{"tf":1.0},"77":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"179":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":1,"docs":{"10":{"tf":1.0}}}},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"47":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":3,"docs":{"107":{"tf":1.0},"108":{"tf":1.0},"256":{"tf":1.0}},"n":{"df":2,"docs":{"109":{"tf":1.0},"244":{"tf":1.0}}}}},"df":1,"docs":{"260":{"tf":1.4142135623730951}},"e":{"b":{"df":1,"docs":{"133":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"13":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"12":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"296":{"tf":1.4142135623730951}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"185":{"tf":1.0},"44":{"tf":1.0}}}}}}}},"i":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"w":{"7":{"7":{"2":{"1":{"0":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"d":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"118":{"tf":2.6457513110645907}}}}},"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":25,"docs":{"109":{"tf":1.0},"122":{"tf":1.0},"133":{"tf":1.0},"144":{"tf":1.4142135623730951},"152":{"tf":1.0},"163":{"tf":1.0},"190":{"tf":1.0},"199":{"tf":1.0},"22":{"tf":1.4142135623730951},"225":{"tf":1.4142135623730951},"244":{"tf":1.4142135623730951},"258":{"tf":1.0},"26":{"tf":1.0},"276":{"tf":1.0},"281":{"tf":1.0},"291":{"tf":1.0},"39":{"tf":1.0},"47":{"tf":1.0},"55":{"tf":1.0},"62":{"tf":1.0},"70":{"tf":1.0},"77":{"tf":1.0},"84":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.4142135623730951}},"m":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"a":{"df":10,"docs":{"122":{"tf":1.0},"190":{"tf":1.0},"199":{"tf":1.0},"225":{"tf":1.0},"244":{"tf":1.0},"47":{"tf":1.4142135623730951},"62":{"tf":1.0},"70":{"tf":1.0},"77":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"a":{"df":4,"docs":{"153":{"tf":1.4142135623730951},"163":{"tf":1.0},"258":{"tf":1.0},"271":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"h":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":3,"docs":{"155":{"tf":1.0},"176":{"tf":1.4142135623730951},"235":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"(":{"c":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"176":{"tf":1.0},"236":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"x":{"df":0,"docs":{},"s":{"df":1,"docs":{"156":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"180":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"d":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":5,"docs":{"263":{"tf":1.0},"264":{"tf":1.7320508075688772},"293":{"tf":1.0},"62":{"tf":1.0},"77":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":21,"docs":{"113":{"tf":1.4142135623730951},"126":{"tf":1.4142135623730951},"137":{"tf":1.4142135623730951},"138":{"tf":1.4142135623730951},"148":{"tf":1.4142135623730951},"161":{"tf":1.0},"171":{"tf":1.0},"189":{"tf":1.0},"24":{"tf":1.4142135623730951},"241":{"tf":1.0},"257":{"tf":1.0},"290":{"tf":1.7320508075688772},"30":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951},"88":{"tf":1.4142135623730951},"98":{"tf":1.4142135623730951}}}}}},"r":{"a":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"a":{"d":{"d":{"(":{"a":{"d":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"179":{"tf":1.0}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"a":{"d":{"d":{"(":{"1":{"df":1,"docs":{"185":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"187":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":4,"docs":{"179":{"tf":1.0},"181":{"tf":1.4142135623730951},"182":{"tf":2.0},"187":{"tf":1.4142135623730951}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"a":{"d":{"d":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"179":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"179":{"tf":1.0}},"、":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"df":1,"docs":{"178":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"268":{"tf":1.0}}}},"s":{"df":0,"docs":{},"u":{"b":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"179":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"!":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"213":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"296":{"tf":1.4142135623730951},"34":{"tf":1.0}}}}}}},"x":{",":{"df":0,"docs":{},"y":{",":{"df":0,"docs":{},"z":{"df":1,"docs":{"260":{"tf":1.0}}}},"df":0,"docs":{}}},".":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"210":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"233":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"^":{"2":{"df":1,"docs":{"16":{"tf":1.0}}},"4":{"+":{"5":{"\\":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"{":{"3":{"df":0,"docs":{},"}":{"^":{"df":0,"docs":{},"{":{"2":{"6":{"df":0,"docs":{},"}":{"8":{"8":{"df":0,"docs":{},"x":{"^":{"3":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"0":{",":{"df":0,"docs":{},"x":{"_":{"1":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"y":{"_":{"0":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"42":{"tf":1.4142135623730951}}},"1":{",":{"df":0,"docs":{},"y":{"_":{"1":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":17,"docs":{"131":{"tf":1.7320508075688772},"132":{"tf":1.7320508075688772},"139":{"tf":1.4142135623730951},"151":{"tf":1.0},"175":{"tf":6.082762530298219},"179":{"tf":2.0},"180":{"tf":6.48074069840786},"210":{"tf":1.0},"233":{"tf":1.7320508075688772},"25":{"tf":1.0},"256":{"tf":5.916079783099616},"272":{"tf":1.0},"275":{"tf":1.4142135623730951},"287":{"tf":1.0},"289":{"tf":1.4142135623730951},"42":{"tf":2.449489742783178},"50":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"255":{"tf":1.0},"275":{"tf":1.4142135623730951},"278":{"tf":2.8284271247461903}}}},"」":{"df":0,"docs":{},"或":{"df":0,"docs":{},"是":{"df":0,"docs":{},"「":{"df":0,"docs":{},"x":{"df":1,"docs":{"272":{"tf":1.0}}}}}}}},"y":{".":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"210":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"_":{"0":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"df":0,"docs":{},"x":{"_":{"1":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"42":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":5,"docs":{"210":{"tf":1.0},"256":{"tf":5.5677643628300215},"42":{"tf":1.7320508075688772},"43":{"tf":1.4142135623730951},"47":{"tf":1.0}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}}}}},"z":{".":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"210":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":2,"docs":{"210":{"tf":1.0},"256":{"tf":2.8284271247461903}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":4,"docs":{"176":{"tf":1.7320508075688772},"248":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"212":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"176":{"tf":2.23606797749979},"179":{"tf":1.0},"248":{"tf":1.7320508075688772}}}}}}},"title":{"root":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}}}},"r":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"131":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"216":{"tf":1.0}}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}}}}}}}},"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"139":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"27":{"tf":1.0},"38":{"tf":1.0},"61":{"tf":1.0}}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":4,"docs":{"224":{"tf":1.0},"259":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0}}}}}},"u":{"b":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"71":{"tf":1.0}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"134":{"tf":1.0},"142":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"89":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"118":{"tf":1.0}}}}}}}},"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":2,"docs":{"138":{"tf":1.0},"139":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"b":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":10,"docs":{"100":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"140":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.0},"75":{"tf":1.0},"99":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"216":{"tf":1.0}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"123":{"tf":1.0},"272":{"tf":1.0}}}}}},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":1,"docs":{"275":{"tf":1.0}}}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":2,"docs":{"188":{"tf":1.0},"213":{"tf":1.0}}}}},"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":2,"docs":{"173":{"tf":1.0},"177":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":2,"docs":{"277":{"tf":1.0},"282":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":2,"docs":{"117":{"tf":1.0},"90":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":2,"docs":{"184":{"tf":1.0},"210":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"265":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":1,"docs":{"233":{"tf":1.0}}},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"37":{"tf":1.0},"48":{"tf":1.0}}}}}}}}}}},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"224":{"tf":1.0},"259":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"130":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"g":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"80":{"tf":1.0}}}},"df":0,"docs":{}},"h":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"277":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"df":3,"docs":{"220":{"tf":1.0},"226":{"tf":1.0},"233":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"196":{"tf":1.0}}},"df":0,"docs":{},"p":{"df":1,"docs":{"89":{"tf":1.0}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"89":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"69":{"tf":1.0},"85":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":2,"docs":{"132":{"tf":1.0},"187":{"tf":1.0}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"187":{"tf":1.0}}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":3,"docs":{"38":{"tf":1.0},"56":{"tf":1.0},"61":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":3,"docs":{"36":{"tf":1.0},"40":{"tf":1.0},"46":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"186":{"tf":1.0},"211":{"tf":1.0}}}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"185":{"tf":1.0},"211":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"282":{"tf":1.0}}}}}}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":0,"docs":{}},"k":{"df":2,"docs":{"191":{"tf":1.0},"200":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"191":{"tf":1.0},"200":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":1,"docs":{"96":{"tf":1.0}}}}}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":3,"docs":{"220":{"tf":1.0},"221":{"tf":1.0},"226":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"119":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"110":{"tf":1.0}}}}}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"222":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"df":3,"docs":{"195":{"tf":1.0},"197":{"tf":1.0},"202":{"tf":1.0}}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"$":{"df":0,"docs":{},":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"17":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":1,"docs":{"17":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"a":{"$":{"df":0,"docs":{},":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"18":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":1,"docs":{"18":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"296":{"tf":1.0}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"221":{"tf":1.0}}}}},"df":0,"docs":{}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"119":{"tf":1.0}},"i":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":1,"docs":{"212":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":2,"docs":{"103":{"tf":1.0},"96":{"tf":1.0}}}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"264":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"106":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"163":{"tf":1.0}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"94":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"274":{"tf":1.0}}}}}}}}}},"r":{"a":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"145":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"102":{"tf":1.0}}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"0":{"tf":1.0},"295":{"tf":1.0}}}}}},"s":{"c":{"a":{"df":0,"docs":{},"l":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"273":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"96":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":7,"docs":{"23":{"tf":1.0},"27":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"40":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"197":{"tf":1.0}}}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"80":{"tf":1.0}}},"df":0,"docs":{}}}}},"t":{"df":2,"docs":{"223":{"tf":1.0},"245":{"tf":1.0}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}}}}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"90":{"tf":1.0}}}},"g":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"130":{"tf":1.0}}}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"200":{"tf":1.0}}},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"203":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}}},"z":{"df":0,"docs":{},"e":{"df":1,"docs":{"265":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"296":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"t":{"df":10,"docs":{"123":{"tf":1.0},"134":{"tf":1.0},"143":{"tf":1.0},"145":{"tf":1.0},"38":{"tf":1.0},"56":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0},"71":{"tf":1.0},"90":{"tf":1.0}}}}},"p":{"a":{"c":{"df":0,"docs":{},"e":{"df":5,"docs":{"100":{"tf":1.0},"115":{"tf":1.0},"128":{"tf":1.0},"140":{"tf":1.0},"150":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"117":{"tf":1.0},"118":{"tf":1.0}}}}}},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"153":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"132":{"tf":1.0}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":3,"docs":{"131":{"tf":1.0},"132":{"tf":1.0},"91":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"196":{"tf":1.0}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"a":{"$":{"df":0,"docs":{},":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"19":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":1,"docs":{"19":{"tf":1.0}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":5,"docs":{"114":{"tf":1.0},"127":{"tf":1.0},"149":{"tf":1.0},"75":{"tf":1.0},"99":{"tf":1.0}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"121":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"117":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":5,"docs":{"209":{"tf":1.0},"210":{"tf":1.0},"211":{"tf":1.0},"212":{"tf":1.0},"213":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":1,"docs":{"46":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"248":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"248":{"tf":1.0}}}}},"p":{"df":2,"docs":{"118":{"tf":1.0},"91":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"262":{"tf":1.0}}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"296":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"138":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"296":{"tf":1.0}}}}}}}}}},"lang":"English","pipeline":["trimmer","stopWordFilter","stemmer"],"ref":"id","version":"0.9.5"},"results_options":{"limit_results":30,"teaser_word_count":30},"search_options":{"bool":"OR","expand":true,"fields":{"body":{"boost":1},"breadcrumbs":{"boost":1},"title":{"boost":2}}}}); \ No newline at end of file +Object.assign(window.search, {"doc_urls":["index.html#rust-algorithm-club","index.html#基礎概念","index.html#演算法","index.html#搜尋","index.html#排序","index.html#資料結構","index.html#堆疊與佇列","index.html#鏈結串列","index.html#關聯容器","index.html#字串處理","index.html#學習資源","index.html#如何貢獻","index.html#貢獻者","index.html#授權條款","concepts/asymptotic-notation/index.html#漸進符號-asymptotic-notation","concepts/asymptotic-notation/index.html#用數學表示演算法效率","concepts/asymptotic-notation/index.html#何謂漸進符號","concepts/asymptotic-notation/index.html#obig-o","concepts/asymptotic-notation/index.html#omegabig-omega","concepts/asymptotic-notation/index.html#thetabig-theta","concepts/asymptotic-notation/index.html#常見的複雜度","concepts/asymptotic-notation/index.html#你可能不適合漸進符號","concepts/asymptotic-notation/index.html#參考資料","searching/linear_search/index.html#線性搜尋-linear-search","searching/linear_search/index.html#效能","searching/linear_search/index.html#實作","searching/linear_search/index.html#參考資料","searching/binary_search/index.html#二元搜尋-binary-search","searching/binary_search/index.html#步驟","searching/binary_search/index.html#說明","searching/binary_search/index.html#效能","searching/binary_search/index.html#實作","searching/binary_search/index.html#函式宣告","searching/binary_search/index.html#函式主體","searching/binary_search/index.html#常見誤區與解法","searching/binary_search/index.html#變形與衍生","searching/binary_search/index.html#interpolation-search","searching/binary_search/index.html#exponential-search","searching/binary_search/index.html#binary-insertion-sort","searching/binary_search/index.html#參考資料","searching/interpolation_search/index.html#內插搜尋-interpolation-search","searching/interpolation_search/index.html#步驟","searching/interpolation_search/index.html#說明","searching/interpolation_search/index.html#效能","searching/interpolation_search/index.html#實作","searching/interpolation_search/index.html#變形與衍生","searching/interpolation_search/index.html#interpolation-search-tree","searching/interpolation_search/index.html#參考資料","searching/exponential_search/index.html#指數搜尋-exponential-search","searching/exponential_search/index.html#步驟","searching/exponential_search/index.html#說明","searching/exponential_search/index.html#效能","searching/exponential_search/index.html#劃定搜尋範圍","searching/exponential_search/index.html#執行二元搜尋","searching/exponential_search/index.html#實作","searching/exponential_search/index.html#參考資料","sorting/insertion_sort/index.html#插入排序-insertion-sort","sorting/insertion_sort/index.html#步驟","sorting/insertion_sort/index.html#效能","sorting/insertion_sort/index.html#實作","sorting/insertion_sort/index.html#變形","sorting/insertion_sort/index.html#binary-insertion-sort","sorting/insertion_sort/index.html#參考資料","sorting/selection_sort/index.html#選擇排序-selection-sort","sorting/selection_sort/index.html#步驟","sorting/selection_sort/index.html#說明","sorting/selection_sort/index.html#效能","sorting/selection_sort/index.html#實作","sorting/selection_sort/index.html#變形","sorting/selection_sort/index.html#heapsort","sorting/selection_sort/index.html#參考資料","sorting/bubble_sort/index.html#氣泡排序-bubble-sort","sorting/bubble_sort/index.html#步驟","sorting/bubble_sort/index.html#說明","sorting/bubble_sort/index.html#效能","sorting/bubble_sort/index.html#time-complexity","sorting/bubble_sort/index.html#實作","sorting/bubble_sort/index.html#參考資料","sorting/shellsort/index.html#希爾排序-shellsort","sorting/shellsort/index.html#步驟","sorting/shellsort/index.html#gap-sequneces","sorting/shellsort/index.html#說明","sorting/shellsort/index.html#效能","sorting/shellsort/index.html#實作","sorting/shellsort/index.html#參考資料","sorting/heapsort/index.html#堆積排序-heapsort","sorting/heapsort/index.html#步驟","sorting/heapsort/index.html#說明","sorting/heapsort/index.html#效能","sorting/heapsort/index.html#build-heap-heapify","sorting/heapsort/index.html#sorting-sift-down","sorting/heapsort/index.html#sum-up","sorting/heapsort/index.html#實作","sorting/heapsort/index.html#參考資料","sorting/quicksort/index.html#快速排序-quicksort","sorting/quicksort/index.html#步驟","sorting/quicksort/index.html#lomuto-partition-scheme","sorting/quicksort/index.html#說明","sorting/quicksort/index.html#效能","sorting/quicksort/index.html#time-complexity","sorting/quicksort/index.html#space-complexity","sorting/quicksort/index.html#實作","sorting/quicksort/index.html#recursion","sorting/quicksort/index.html#partitioning","sorting/quicksort/index.html#最佳化與變形","sorting/quicksort/index.html#降低額外空間複雜度","sorting/quicksort/index.html#選擇-pivot-的方法","sorting/quicksort/index.html#對付重複的元素","sorting/quicksort/index.html#選擇不同的分割方案","sorting/quicksort/index.html#參考資料","sorting/mergesort/index.html#合併排序-mergesort","sorting/mergesort/index.html#步驟","sorting/mergesort/index.html#說明","sorting/mergesort/index.html#效能","sorting/mergesort/index.html#time-complexity","sorting/mergesort/index.html#space-complexity","sorting/mergesort/index.html#實作","sorting/mergesort/index.html#top-down-split","sorting/mergesort/index.html#buttom-up-split","sorting/mergesort/index.html#the-merge-part","sorting/mergesort/index.html#變形","sorting/mergesort/index.html#timsort","sorting/mergesort/index.html#參考資料","sorting/counting_sort/index.html#計數排序-counting-sort","sorting/counting_sort/index.html#步驟","sorting/counting_sort/index.html#說明","sorting/counting_sort/index.html#效能","sorting/counting_sort/index.html#time-complexity","sorting/counting_sort/index.html#space-complexity","sorting/counting_sort/index.html#實作","sorting/counting_sort/index.html#function-signature","sorting/counting_sort/index.html#prefix-sums-array","sorting/counting_sort/index.html#prefix-sums-as-start-index","sorting/counting_sort/index.html#參考資料","sorting/bucket_sort/index.html#桶排序-bucket-sort","sorting/bucket_sort/index.html#步驟","sorting/bucket_sort/index.html#說明","sorting/bucket_sort/index.html#效能","sorting/bucket_sort/index.html#worst-case","sorting/bucket_sort/index.html#best-case","sorting/bucket_sort/index.html#space-complexity","sorting/bucket_sort/index.html#實作","sorting/bucket_sort/index.html#bucket","sorting/bucket_sort/index.html#sorting","sorting/bucket_sort/index.html#參考資料","sorting/radix_sort/index.html#基數排序-radix-sort","sorting/radix_sort/index.html#步驟","sorting/radix_sort/index.html#說明","sorting/radix_sort/index.html#效能","sorting/radix_sort/index.html#time-complexity","sorting/radix_sort/index.html#space-complexity","sorting/radix_sort/index.html#實作","sorting/radix_sort/index.html#參考資料","collections/stack/index.html#堆疊-stack","collections/stack/index.html#架構設計","collections/stack/index.html#基本操作","collections/stack/index.html#定義一個空間有限的堆疊","collections/stack/index.html#將新資料加入資料結構","collections/stack/index.html#將最新加入的資料移出資料結構","collections/stack/index.html#取得堆疊的大小","collections/stack/index.html#在不將資料退出堆疊的情況下偷看最後加入堆疊的資料","collections/stack/index.html#效能","collections/stack/index.html#參考資料","collections/queue/index.html#佇列-queue","collections/queue/index.html#架構設計","collections/queue/index.html#基本操作","collections/queue/index.html#定義佇列","collections/queue/index.html#將新資料加入佇列","collections/queue/index.html#將最先放入的資料移出佇列","collections/queue/index.html#取得佇列大小","collections/queue/index.html#不改變佇列的情況下取得最先放入的資料","collections/queue/index.html#效能","collections/queue/index.html#參考資料","collections/deque/index.html#雙端佇列-deque","collections/deque/index.html#架構設計","collections/deque/index.html#環形緩衝區","collections/deque/index.html#手動配置記憶體","collections/deque/index.html#deque","collections/deque/index.html#基本操作","collections/deque/index.html#邏輯索引映射","collections/deque/index.html#動態增加記憶體空間","collections/deque/index.html#查看元素","collections/deque/index.html#增刪元素","collections/deque/index.html#特徵","collections/deque/index.html#drop","collections/deque/index.html#iterator","collections/deque/index.html#intoiterator","collections/deque/index.html#index-and-indexmut","collections/deque/index.html#debug","collections/deque/index.html#效能","collections/deque/index.html#參考資料","collections/linked_list/index.html#鏈結串列-linked-list","collections/linked_list/index.html#特性","collections/linked_list/index.html#適用場景","collections/linked_list/index.html#術語","collections/linked_list/index.html#node","collections/linked_list/index.html#head-and-tail","collections/linked_list/index.html#sentinel-node","collections/linked_list/index.html#種類","collections/linked_list/index.html#參考資料","collections/singly_linked_list/index.html#單向鏈結串列-singly-linked-list","collections/singly_linked_list/index.html#實作設計","collections/singly_linked_list/index.html#node","collections/singly_linked_list/index.html#singlylinkedlist","collections/singly_linked_list/index.html#基本操作","collections/singly_linked_list/index.html#初始化與清除資料","collections/singly_linked_list/index.html#增刪首個節點","collections/singly_linked_list/index.html#插入刪除任意節點","collections/singly_linked_list/index.html#反轉","collections/singly_linked_list/index.html#traits","collections/singly_linked_list/index.html#drop-trait","collections/singly_linked_list/index.html#iterator-and-intoiterator-traits","collections/singly_linked_list/index.html#partialeq-trait","collections/singly_linked_list/index.html#debug-trait","collections/singly_linked_list/index.html#效能","collections/singly_linked_list/index.html#參考資料","collections/associative-container/index.html#關聯容器-associative-container","collections/associative-container/index.html#特性","collections/associative-container/index.html#適用場景","collections/associative-container/index.html#種類","collections/associative-container/index.html#雜湊表-hash-map","collections/associative-container/index.html#有序映射表-ordered-map","collections/associative-container/index.html#多重映射表-multimap","collections/associative-container/index.html#集合-set","collections/associative-container/index.html#布隆過濾器-bloom-filter","collections/associative-container/index.html#參考資料","collections/hash_map/index.html#雜湊表-hash-map","collections/hash_map/index.html#概念","collections/hash_map/index.html#雜湊","collections/hash_map/index.html#選擇雜湊函數","collections/hash_map/index.html#處理雜湊碰撞","collections/hash_map/index.html#動態調整雜湊表大小","collections/hash_map/index.html#架構設計","collections/hash_map/index.html#hash-and-eq","collections/hash_map/index.html#記憶體佈局","collections/hash_map/index.html#基本操作","collections/hash_map/index.html#初始化與預設值","collections/hash_map/index.html#存取單一元素","collections/hash_map/index.html#插入與刪除元素","collections/hash_map/index.html#動態調整儲存空間","collections/hash_map/index.html#實作疊代器方法","collections/hash_map/index.html#效能","collections/hash_map/index.html#時間複雜度","collections/hash_map/index.html#空間複雜度","collections/hash_map/index.html#參考資料","collections/set/index.html#集合-set","collections/set/index.html#架構設計","collections/set/index.html#以雜湊表為底層容器","collections/set/index.html#不佔空間的-unit-type","collections/set/index.html#基本操作","collections/set/index.html#集合運算","collections/set/index.html#實作聯集","collections/set/index.html#實作交集差集與對稱差集","collections/set/index.html#子集超集與不交集","collections/set/index.html#二元運算與運算子","collections/set/index.html#運算子多載","collections/set/index.html#比較運算子","collections/set/index.html#效能","collections/set/index.html#參考資料","collections/bloom_filter/index.html#布隆過濾器-bloom-filter","collections/bloom_filter/index.html#概念","collections/bloom_filter/index.html#架構設計","collections/bloom_filter/index.html#利用-vec-儲存位元","collections/bloom_filter/index.html#儲存兩個雜湊函數","collections/bloom_filter/index.html#使用--phantomdata--讓編譯器閉嘴","collections/bloom_filter/index.html#sized-讓容器可以儲存-dsts","collections/bloom_filter/index.html#基本操作","collections/bloom_filter/index.html#初始化","collections/bloom_filter/index.html#新增","collections/bloom_filter/index.html#查詢","collections/bloom_filter/index.html#效能","collections/bloom_filter/index.html#變形","collections/bloom_filter/index.html#可以計數的-counting-bloom-filter","collections/bloom_filter/index.html#動態適應空間大小的-scalable-bloom-filter","collections/bloom_filter/index.html#quotient-filter","collections/bloom_filter/index.html#支援刪除元素的-cuckoo-filter","collections/bloom_filter/index.html#參考資料","hamming_distance/index.html#漢明距離-hamming-distance","hamming_distance/index.html#位元版實作","hamming_distance/index.html#字串版實作","hamming_distance/index.html#效能","hamming_distance/index.html#參考資料","levenshtein_distance/index.html#萊文斯坦距離-levenshtein-distance","levenshtein_distance/index.html#概念","levenshtein_distance/index.html#萊文斯坦的遞迴函數","levenshtein_distance/index.html#動態規劃的距離矩陣","levenshtein_distance/index.html#實作","levenshtein_distance/index.html#距離矩陣","levenshtein_distance/index.html#使用一維陣列減少記憶體配置","levenshtein_distance/index.html#拋棄矩陣降低空間複雜度","levenshtein_distance/index.html#效能","levenshtein_distance/index.html#參考資料","CONTRIBUTING.html#貢獻指南","CONTRIBUTING.html#開始貢獻之前","CONTRIBUTING.html#提交你的成果","CONTRIBUTING.html#歡迎加入-rust-演算法俱樂部願演算法與你同在","404.html#oops-something-went-wrong"],"index":{"documentStore":{"docInfo":{"0":{"body":15,"breadcrumbs":6,"title":3},"1":{"body":2,"breadcrumbs":3,"title":0},"10":{"body":14,"breadcrumbs":3,"title":0},"100":{"body":21,"breadcrumbs":3,"title":2},"101":{"body":2,"breadcrumbs":1,"title":0},"102":{"body":58,"breadcrumbs":2,"title":1},"103":{"body":65,"breadcrumbs":2,"title":1},"104":{"body":2,"breadcrumbs":1,"title":0},"105":{"body":147,"breadcrumbs":1,"title":0},"106":{"body":6,"breadcrumbs":2,"title":1},"107":{"body":78,"breadcrumbs":1,"title":0},"108":{"body":61,"breadcrumbs":1,"title":0},"109":{"body":15,"breadcrumbs":1,"title":0},"11":{"body":0,"breadcrumbs":3,"title":0},"110":{"body":9,"breadcrumbs":2,"title":1},"111":{"body":15,"breadcrumbs":1,"title":0},"112":{"body":81,"breadcrumbs":1,"title":0},"113":{"body":17,"breadcrumbs":1,"title":0},"114":{"body":39,"breadcrumbs":3,"title":2},"115":{"body":8,"breadcrumbs":3,"title":2},"116":{"body":11,"breadcrumbs":1,"title":0},"117":{"body":59,"breadcrumbs":4,"title":3},"118":{"body":72,"breadcrumbs":4,"title":3},"119":{"body":82,"breadcrumbs":3,"title":2},"12":{"body":5,"breadcrumbs":3,"title":0},"120":{"body":0,"breadcrumbs":1,"title":0},"121":{"body":2,"breadcrumbs":2,"title":1},"122":{"body":20,"breadcrumbs":1,"title":0},"123":{"body":14,"breadcrumbs":4,"title":2},"124":{"body":13,"breadcrumbs":2,"title":0},"125":{"body":199,"breadcrumbs":2,"title":0},"126":{"body":16,"breadcrumbs":2,"title":0},"127":{"body":19,"breadcrumbs":4,"title":2},"128":{"body":14,"breadcrumbs":4,"title":2},"129":{"body":4,"breadcrumbs":2,"title":0},"13":{"body":15,"breadcrumbs":3,"title":0},"130":{"body":34,"breadcrumbs":4,"title":2},"131":{"body":65,"breadcrumbs":5,"title":3},"132":{"body":94,"breadcrumbs":6,"title":4},"133":{"body":7,"breadcrumbs":2,"title":0},"134":{"body":8,"breadcrumbs":4,"title":2},"135":{"body":15,"breadcrumbs":2,"title":0},"136":{"body":92,"breadcrumbs":2,"title":0},"137":{"body":18,"breadcrumbs":2,"title":0},"138":{"body":12,"breadcrumbs":4,"title":2},"139":{"body":53,"breadcrumbs":4,"title":2},"14":{"body":3,"breadcrumbs":4,"title":2},"140":{"body":19,"breadcrumbs":4,"title":2},"141":{"body":0,"breadcrumbs":2,"title":0},"142":{"body":54,"breadcrumbs":3,"title":1},"143":{"body":116,"breadcrumbs":3,"title":1},"144":{"body":18,"breadcrumbs":2,"title":0},"145":{"body":43,"breadcrumbs":4,"title":2},"146":{"body":38,"breadcrumbs":2,"title":0},"147":{"body":166,"breadcrumbs":2,"title":0},"148":{"body":17,"breadcrumbs":2,"title":0},"149":{"body":47,"breadcrumbs":4,"title":2},"15":{"body":19,"breadcrumbs":2,"title":0},"150":{"body":16,"breadcrumbs":4,"title":2},"151":{"body":67,"breadcrumbs":2,"title":0},"152":{"body":10,"breadcrumbs":2,"title":0},"153":{"body":13,"breadcrumbs":2,"title":1},"154":{"body":12,"breadcrumbs":1,"title":0},"155":{"body":4,"breadcrumbs":1,"title":0},"156":{"body":19,"breadcrumbs":1,"title":0},"157":{"body":20,"breadcrumbs":1,"title":0},"158":{"body":9,"breadcrumbs":1,"title":0},"159":{"body":11,"breadcrumbs":1,"title":0},"16":{"body":32,"breadcrumbs":2,"title":0},"160":{"body":7,"breadcrumbs":1,"title":0},"161":{"body":15,"breadcrumbs":1,"title":0},"162":{"body":10,"breadcrumbs":1,"title":0},"163":{"body":10,"breadcrumbs":2,"title":1},"164":{"body":10,"breadcrumbs":1,"title":0},"165":{"body":4,"breadcrumbs":1,"title":0},"166":{"body":8,"breadcrumbs":1,"title":0},"167":{"body":14,"breadcrumbs":1,"title":0},"168":{"body":13,"breadcrumbs":1,"title":0},"169":{"body":6,"breadcrumbs":1,"title":0},"17":{"body":70,"breadcrumbs":4,"title":2},"170":{"body":9,"breadcrumbs":1,"title":0},"171":{"body":24,"breadcrumbs":1,"title":0},"172":{"body":4,"breadcrumbs":1,"title":0},"173":{"body":9,"breadcrumbs":2,"title":1},"174":{"body":9,"breadcrumbs":1,"title":0},"175":{"body":148,"breadcrumbs":1,"title":0},"176":{"body":213,"breadcrumbs":1,"title":0},"177":{"body":25,"breadcrumbs":2,"title":1},"178":{"body":11,"breadcrumbs":1,"title":0},"179":{"body":177,"breadcrumbs":1,"title":0},"18":{"body":29,"breadcrumbs":4,"title":2},"180":{"body":188,"breadcrumbs":1,"title":0},"181":{"body":63,"breadcrumbs":1,"title":0},"182":{"body":112,"breadcrumbs":1,"title":0},"183":{"body":2,"breadcrumbs":1,"title":0},"184":{"body":27,"breadcrumbs":2,"title":1},"185":{"body":348,"breadcrumbs":2,"title":1},"186":{"body":105,"breadcrumbs":2,"title":1},"187":{"body":63,"breadcrumbs":3,"title":2},"188":{"body":31,"breadcrumbs":2,"title":1},"189":{"body":33,"breadcrumbs":1,"title":0},"19":{"body":56,"breadcrumbs":4,"title":2},"190":{"body":19,"breadcrumbs":1,"title":0},"191":{"body":0,"breadcrumbs":2,"title":2},"192":{"body":4,"breadcrumbs":0,"title":0},"193":{"body":5,"breadcrumbs":0,"title":0},"194":{"body":0,"breadcrumbs":0,"title":0},"195":{"body":5,"breadcrumbs":1,"title":1},"196":{"body":14,"breadcrumbs":2,"title":2},"197":{"body":22,"breadcrumbs":2,"title":2},"198":{"body":25,"breadcrumbs":0,"title":0},"199":{"body":13,"breadcrumbs":0,"title":0},"2":{"body":0,"breadcrumbs":3,"title":0},"20":{"body":23,"breadcrumbs":2,"title":0},"200":{"body":22,"breadcrumbs":6,"title":3},"201":{"body":0,"breadcrumbs":3,"title":0},"202":{"body":39,"breadcrumbs":4,"title":1},"203":{"body":15,"breadcrumbs":4,"title":1},"204":{"body":9,"breadcrumbs":3,"title":0},"205":{"body":19,"breadcrumbs":3,"title":0},"206":{"body":41,"breadcrumbs":3,"title":0},"207":{"body":135,"breadcrumbs":3,"title":0},"208":{"body":76,"breadcrumbs":3,"title":0},"209":{"body":3,"breadcrumbs":4,"title":1},"21":{"body":5,"breadcrumbs":2,"title":0},"210":{"body":106,"breadcrumbs":5,"title":2},"211":{"body":198,"breadcrumbs":6,"title":3},"212":{"body":33,"breadcrumbs":5,"title":2},"213":{"body":20,"breadcrumbs":5,"title":2},"214":{"body":24,"breadcrumbs":3,"title":0},"215":{"body":25,"breadcrumbs":3,"title":0},"216":{"body":7,"breadcrumbs":2,"title":2},"217":{"body":3,"breadcrumbs":0,"title":0},"218":{"body":3,"breadcrumbs":0,"title":0},"219":{"body":0,"breadcrumbs":0,"title":0},"22":{"body":15,"breadcrumbs":2,"title":0},"220":{"body":0,"breadcrumbs":2,"title":2},"221":{"body":2,"breadcrumbs":2,"title":2},"222":{"body":0,"breadcrumbs":1,"title":1},"223":{"body":2,"breadcrumbs":1,"title":1},"224":{"body":0,"breadcrumbs":2,"title":2},"225":{"body":21,"breadcrumbs":0,"title":0},"226":{"body":2,"breadcrumbs":4,"title":2},"227":{"body":113,"breadcrumbs":2,"title":0},"228":{"body":18,"breadcrumbs":2,"title":0},"229":{"body":7,"breadcrumbs":2,"title":0},"23":{"body":3,"breadcrumbs":4,"title":2},"230":{"body":99,"breadcrumbs":2,"title":0},"231":{"body":31,"breadcrumbs":2,"title":0},"232":{"body":2,"breadcrumbs":2,"title":0},"233":{"body":88,"breadcrumbs":4,"title":2},"234":{"body":68,"breadcrumbs":2,"title":0},"235":{"body":17,"breadcrumbs":2,"title":0},"236":{"body":75,"breadcrumbs":2,"title":0},"237":{"body":71,"breadcrumbs":2,"title":0},"238":{"body":101,"breadcrumbs":2,"title":0},"239":{"body":66,"breadcrumbs":2,"title":0},"24":{"body":14,"breadcrumbs":2,"title":0},"240":{"body":106,"breadcrumbs":2,"title":0},"241":{"body":23,"breadcrumbs":2,"title":0},"242":{"body":28,"breadcrumbs":2,"title":0},"243":{"body":5,"breadcrumbs":2,"title":0},"244":{"body":38,"breadcrumbs":2,"title":0},"245":{"body":5,"breadcrumbs":2,"title":1},"246":{"body":0,"breadcrumbs":1,"title":0},"247":{"body":12,"breadcrumbs":1,"title":0},"248":{"body":13,"breadcrumbs":3,"title":2},"249":{"body":84,"breadcrumbs":1,"title":0},"25":{"body":35,"breadcrumbs":2,"title":0},"250":{"body":21,"breadcrumbs":1,"title":0},"251":{"body":239,"breadcrumbs":1,"title":0},"252":{"body":50,"breadcrumbs":1,"title":0},"253":{"body":41,"breadcrumbs":1,"title":0},"254":{"body":5,"breadcrumbs":1,"title":0},"255":{"body":60,"breadcrumbs":1,"title":0},"256":{"body":234,"breadcrumbs":1,"title":0},"257":{"body":31,"breadcrumbs":1,"title":0},"258":{"body":16,"breadcrumbs":1,"title":0},"259":{"body":35,"breadcrumbs":4,"title":2},"26":{"body":3,"breadcrumbs":2,"title":0},"260":{"body":48,"breadcrumbs":2,"title":0},"261":{"body":0,"breadcrumbs":2,"title":0},"262":{"body":102,"breadcrumbs":3,"title":1},"263":{"body":35,"breadcrumbs":2,"title":0},"264":{"body":117,"breadcrumbs":3,"title":1},"265":{"body":28,"breadcrumbs":4,"title":2},"266":{"body":20,"breadcrumbs":2,"title":0},"267":{"body":105,"breadcrumbs":2,"title":0},"268":{"body":94,"breadcrumbs":2,"title":0},"269":{"body":169,"breadcrumbs":2,"title":0},"27":{"body":4,"breadcrumbs":4,"title":2},"270":{"body":40,"breadcrumbs":2,"title":0},"271":{"body":30,"breadcrumbs":2,"title":0},"272":{"body":31,"breadcrumbs":5,"title":3},"273":{"body":41,"breadcrumbs":5,"title":3},"274":{"body":64,"breadcrumbs":4,"title":2},"275":{"body":71,"breadcrumbs":4,"title":2},"276":{"body":31,"breadcrumbs":2,"title":0},"277":{"body":7,"breadcrumbs":4,"title":2},"278":{"body":58,"breadcrumbs":2,"title":0},"279":{"body":60,"breadcrumbs":2,"title":0},"28":{"body":0,"breadcrumbs":2,"title":0},"280":{"body":3,"breadcrumbs":2,"title":0},"281":{"body":3,"breadcrumbs":2,"title":0},"282":{"body":9,"breadcrumbs":4,"title":2},"283":{"body":0,"breadcrumbs":2,"title":0},"284":{"body":96,"breadcrumbs":2,"title":0},"285":{"body":45,"breadcrumbs":2,"title":0},"286":{"body":30,"breadcrumbs":2,"title":0},"287":{"body":158,"breadcrumbs":2,"title":0},"288":{"body":46,"breadcrumbs":2,"title":0},"289":{"body":89,"breadcrumbs":2,"title":0},"29":{"body":87,"breadcrumbs":2,"title":0},"290":{"body":18,"breadcrumbs":2,"title":0},"291":{"body":27,"breadcrumbs":2,"title":0},"292":{"body":1,"breadcrumbs":0,"title":0},"293":{"body":8,"breadcrumbs":0,"title":0},"294":{"body":7,"breadcrumbs":0,"title":0},"295":{"body":0,"breadcrumbs":1,"title":1},"296":{"body":0,"breadcrumbs":5,"title":4},"3":{"body":8,"breadcrumbs":3,"title":0},"30":{"body":64,"breadcrumbs":2,"title":0},"31":{"body":0,"breadcrumbs":2,"title":0},"32":{"body":19,"breadcrumbs":2,"title":0},"33":{"body":68,"breadcrumbs":2,"title":0},"34":{"body":15,"breadcrumbs":2,"title":0},"35":{"body":0,"breadcrumbs":2,"title":0},"36":{"body":6,"breadcrumbs":4,"title":2},"37":{"body":6,"breadcrumbs":4,"title":2},"38":{"body":5,"breadcrumbs":5,"title":3},"39":{"body":4,"breadcrumbs":2,"title":0},"4":{"body":19,"breadcrumbs":3,"title":0},"40":{"body":6,"breadcrumbs":4,"title":2},"41":{"body":9,"breadcrumbs":2,"title":0},"42":{"body":88,"breadcrumbs":2,"title":0},"43":{"body":45,"breadcrumbs":2,"title":0},"44":{"body":197,"breadcrumbs":2,"title":0},"45":{"body":0,"breadcrumbs":2,"title":0},"46":{"body":29,"breadcrumbs":5,"title":3},"47":{"body":65,"breadcrumbs":2,"title":0},"48":{"body":9,"breadcrumbs":4,"title":2},"49":{"body":8,"breadcrumbs":2,"title":0},"5":{"body":0,"breadcrumbs":3,"title":0},"50":{"body":67,"breadcrumbs":2,"title":0},"51":{"body":10,"breadcrumbs":2,"title":0},"52":{"body":9,"breadcrumbs":2,"title":0},"53":{"body":18,"breadcrumbs":2,"title":0},"54":{"body":72,"breadcrumbs":2,"title":0},"55":{"body":3,"breadcrumbs":2,"title":0},"56":{"body":9,"breadcrumbs":4,"title":2},"57":{"body":6,"breadcrumbs":2,"title":0},"58":{"body":38,"breadcrumbs":2,"title":0},"59":{"body":25,"breadcrumbs":2,"title":0},"6":{"body":3,"breadcrumbs":3,"title":0},"60":{"body":0,"breadcrumbs":2,"title":0},"61":{"body":66,"breadcrumbs":5,"title":3},"62":{"body":16,"breadcrumbs":2,"title":0},"63":{"body":12,"breadcrumbs":4,"title":2},"64":{"body":17,"breadcrumbs":2,"title":0},"65":{"body":46,"breadcrumbs":2,"title":0},"66":{"body":31,"breadcrumbs":2,"title":0},"67":{"body":35,"breadcrumbs":2,"title":0},"68":{"body":0,"breadcrumbs":2,"title":0},"69":{"body":7,"breadcrumbs":3,"title":1},"7":{"body":9,"breadcrumbs":3,"title":0},"70":{"body":16,"breadcrumbs":2,"title":0},"71":{"body":12,"breadcrumbs":4,"title":2},"72":{"body":6,"breadcrumbs":2,"title":0},"73":{"body":182,"breadcrumbs":2,"title":0},"74":{"body":11,"breadcrumbs":2,"title":0},"75":{"body":23,"breadcrumbs":4,"title":2},"76":{"body":61,"breadcrumbs":2,"title":0},"77":{"body":14,"breadcrumbs":2,"title":0},"78":{"body":16,"breadcrumbs":2,"title":1},"79":{"body":12,"breadcrumbs":1,"title":0},"8":{"body":8,"breadcrumbs":3,"title":0},"80":{"body":44,"breadcrumbs":3,"title":2},"81":{"body":182,"breadcrumbs":1,"title":0},"82":{"body":33,"breadcrumbs":1,"title":0},"83":{"body":62,"breadcrumbs":1,"title":0},"84":{"body":17,"breadcrumbs":1,"title":0},"85":{"body":24,"breadcrumbs":2,"title":1},"86":{"body":19,"breadcrumbs":1,"title":0},"87":{"body":134,"breadcrumbs":1,"title":0},"88":{"body":21,"breadcrumbs":1,"title":0},"89":{"body":68,"breadcrumbs":4,"title":3},"9":{"body":7,"breadcrumbs":3,"title":0},"90":{"body":14,"breadcrumbs":4,"title":3},"91":{"body":5,"breadcrumbs":3,"title":2},"92":{"body":169,"breadcrumbs":1,"title":0},"93":{"body":20,"breadcrumbs":1,"title":0},"94":{"body":12,"breadcrumbs":2,"title":1},"95":{"body":13,"breadcrumbs":1,"title":0},"96":{"body":38,"breadcrumbs":4,"title":3},"97":{"body":144,"breadcrumbs":1,"title":0},"98":{"body":17,"breadcrumbs":1,"title":0},"99":{"body":42,"breadcrumbs":3,"title":2}},"docs":{"0":{"body":"歡迎來到 Rust 演算法俱樂部!本專案受 Swift Algorithm Club 啟發,專案中的演算法皆使用 Rust 程式語言 撰寫說明與實作!您可以在 Rust Algorithm Club 一站,依您的意願,挑選有興趣的演算法知識學習;若您夠大膽,推薦您閱讀 自動生成的 API 文件 ,直接單挑程式原始碼。 本專案原始碼放在 GitHub 上,非常期待您的貢獻。 Rust Edition Build Status Documentation","breadcrumbs":"Rust Algorithm Club » Rust Algorithm Club","id":"0","title":"Rust Algorithm Club"},"1":{"body":"漸進符號 Asymptotic Notation","breadcrumbs":"Rust Algorithm Club » 基礎概念","id":"1","title":"基礎概念"},"10":{"body":"有許多優秀的網站與學習資源,分享給大家學習演算法。 VisuAlgo - 也許是最好的演算法視覺化專案。 Big-O Cheat Sheet - 最全面的 Big O cheat sheet。 Rosetta Code - 使用各種程式語言,解答上百種不同程式問題。 Competitive Programmer's Handbook - 讓你更有競爭力。這書本身也很有競爭力。","breadcrumbs":"Rust Algorithm Club » 學習資源","id":"10","title":"學習資源"},"100":{"body":"Quicksort 的空間複雜度取決於實作細節,由於 分割序列 步驟需 $O(1) $ 的空間複雜度,因此僅需分析遞迴式會在 call stack 產生多少 stack frame 即可。 前面提及 ,最 naïve 的 Lomuto partition 最糟糕的情形下,會產生 $n - 1 $ 個嵌套遞迴,也就是需額外使用 $O(n) $ 的空間儲存 call stack frame,但只要 compiler 有支援 尾端呼叫 最佳化(tail-call optimization,TCO),Quicksort 很容易最佳化至 $O(\\log n) $。","breadcrumbs":"快速排序 Quicksort » Space complexity","id":"100","title":"Space complexity"},"101":{"body":"Quicksort 實作主要分為兩部分:遞迴,以及分割序列(partition)。","breadcrumbs":"快速排序 Quicksort » 實作","id":"101","title":"實作"},"102":{"body":"遞迴函式本身實作非常簡單,分別將小於 pivot 與大於 pivot 兩部分遞迴呼叫自身即可。 /// Recursion helper\nfn quicksort_helper(arr: &mut [i32], lo: isize, hi: isize) { if lo <= hi { // 1 let pivot = partition(arr, lo, hi); // 2 quicksort_helper(arr, lo, pivot - 1); // 3 quicksort_helper(arr, pivot + 1, hi); // 4 }\n} 利用 lo 與 hi 兩個指標決定每次的遞迴範圍,並在 lo 大於 hi 時停止遞迴,避免重複分割序列。 分割序列步驟,回傳該序列範圍內 pivot 的 index。 遞迴小於 pivot 的部分。 遞迴大於 pivot 的部分。 這邊比較特別的是,lo 和 hi 兩個指標的型別為 isize,因為當 pivot 可能為 0,在第三步驟 - 1 時會產生型別錯誤,故為之。有任何更好的寫法歡迎提供! 由於外部不需知道排序法實作細節,我們將函式命名為 quicksort_helper ,對外再多封裝一層主函式 quicksort_lomuto,實作如下: pub fn quicksort_lomuto(arr: &mut [i32]) { let hi = arr.len() as isize - 1; quicksort_helper(arr, 0, hi);\n}","breadcrumbs":"快速排序 Quicksort » Recursion","id":"102","title":"Recursion"},"103":{"body":"一般來說,分割序列的實作有下列兩個步驟: 選擇 pivot 遍歷序列置換元素 我們以 Lomuto scheme 實作 partition。 fn partition(arr: &mut [i32], lo: isize, hi: isize) -> isize { // -- Determine the pivot -- // In Lomuto parition scheme, // the latest element is always chosen as the pivot. let pivot = arr[hi as usize]; // 1 let mut i = lo; // -- Swap elements -- for j in lo..hi { // 2 if arr[j as usize] < pivot { arr.swap(i as usize, j as usize); i += 1; // 3 } } // Swap pivot to the middle of two piles. arr.swap(i as usize, hi as usize); // 4 i // Return the final index of the pivot\n} Lomuto scheme 選擇 pivot 的方式很直接,就是選擇最後一個元素。 利用 i、j 兩個指標疊代指定的序列範圍,若第 j 個值小於 pivot 時,則於第 i 個元素置換。 i 指標加一,繼續處理下個元素。 最後置換第 i 個元素於 pivot,此時 pivot 已落在最終正確的位置。","breadcrumbs":"快速排序 Quicksort » Partitioning","id":"103","title":"Partitioning"},"104":{"body":"Quicksort 有數個方向可以探討最佳化: 降低額外空間複雜度 選擇 Pivot 的方法 對付重複的元素 選擇不同的分割方案","breadcrumbs":"快速排序 Quicksort » 最佳化與變形","id":"104","title":"最佳化與變形"},"105":{"body":"前述提到最佳情形下(每次 pivot 都選到中位數),僅需 $\\log n $ 個嵌套遞迴,額外空間複雜度僅需 $O(\\log n) $。 倘若編譯器有實作 尾端呼叫最佳化 ,Quicksort 可以達到 $O(\\log n) $ 對數級別的額外空間使用。 實作尾端呼叫最佳化的思路很簡單,「 先遞迴較少元素的部分,再利用 tall-call 遞迴另一部分 」,如此以來,較多元素的遞迴則會直接被編譯器展開,消去遞迴時需要的 call stack 空間。剩下較少元素的部分,則與最佳情形相同,最多僅需 $\\log n $ 次嵌套遞迴。 簡單實作如下: fn quicksort_helper_optimized(arr: &mut [i32], lo: isize, hi: isize) { if lo <= hi { let pivot = partition(arr, lo, hi); if pivot - lo < hi - pivot { // 1 quicksort_helper_optimized(arr, lo, pivot - 1); quicksort_helper_optimized(arr, pivot + 1, hi); // 2 } else { quicksort_helper_optimized(arr, pivot + 1, hi); quicksort_helper_optimized(arr, lo, pivot - 1); // 3 } }\n} 說穿了就只有這個判斷式,決定哪部分該先遞迴而已。 這是一個尾端呼叫,會展開。 這也是一個尾端呼叫。 實際上,截至 2018.2, Rust Core Team 決定暫緩 TCO 的實作 ,目前 Rust 並沒有支援 TCO。但我們還是可以手動實作 TCO,減少 call stack。 我們先把原始的 lomuto partition 實作改成手動 TCO 版本。利用 while loop,將 lo 替換成下一個遞迴的引數,減少部分的 call stack。 - fn quicksort_helper(arr: &mut [i32], lo: isize, hi: isize) {\n+ fn quicksort_helper_manual_tco(arr: &mut [i32], mut lo: isize, mut hi: isize) {\n- if lo <= hi {\n+ while lo < hi { let pivot = partition(arr, lo, hi);\n- quicksort_helper(arr, lo, pivot - 1);\n- quicksort_helper(arr, pivot + 1, hi);\n+ quicksort_helper_manual_tco(arr, lo, pivot - 1);\n+ lo = pivot + 1; } } 再來,選擇性遞迴較小的部分。Iterative 版本的尾端呼叫消除(tail-call eliminate)就做完了! fn quicksort_helper_manual_tco(arr: &mut [i32], mut lo: isize, mut hi: isize) { while lo < hi { let pivot = partition(arr, lo, hi); if pivot - lo < hi - pivot { quicksort_helper_manual_tco(arr, lo, pivot - 1); lo = pivot + 1; } else { quicksort_helper_manual_tco(arr, pivot + 1, hi); hi = pivot - 1; } }\n}","breadcrumbs":"快速排序 Quicksort » 降低額外空間複雜度","id":"105","title":"降低額外空間複雜度"},"106":{"body":"選擇 pivot 的方法大致上有以下幾種: 總是選擇最後一個元素。 總是選擇第一個元素。 選擇特定位置(如中位數)的元素。 隨機選擇任意元素。 選擇第一個或最後一個元素會印序列已經接近排序完成或相反排序,造成 $O(n^2) $ 最壞的時間複雜度。隨機或選擇特定位置的方法較能避免這種情況,但實作上較困難。 除了選擇 pivot 的方法,近幾年來多 pivot(multi-pivot)Quicksort 也愈趨流行,可以減少 20% 的元素置換。相關的討論與證明可以參考 這篇文章 。","breadcrumbs":"快速排序 Quicksort » 選擇 Pivot 的方法","id":"106","title":"選擇 Pivot 的方法"},"107":{"body":"若輸入序列有許多重複的元素,使用原本 Lomuto scheme 實作的 Quicksort 仍然會比較置換等於 pivot 的所有元素。3-way partition scheme 就是將序列多分出「等於 pivot」部分,減少重複置換相等元素的排序法。 [ values < pivot | values == pivot | value > pivot ] 通常是使用著名的 Dutch national flag algorithm 來解決這個問題。實作上和 Lomuto 非常類似。 fn partition(arr: &mut [i32], lo: isize, hi: isize) -> (isize, isize) { let pivot = arr[hi as usize]; let mut i = lo; // smaller let mut j = lo; // equal let mut k = hi; // large while j <= k { if arr[j as usize] < pivot { arr.swap(i as usize, j as usize); i += 1; j += 1; } else if arr[j as usize] > pivot { arr.swap(k as usize, j as usize); k -= 1; } else { // No swap when identicial. j += 1; } } // Return smaller and larger pointer to avoid iterate duplicate elements. (i, k)\n}","breadcrumbs":"快速排序 Quicksort » 對付重複的元素","id":"107","title":"對付重複的元素"},"108":{"body":"不同的分割方案有著不同的應用場景,如上述的 3-way scheme 就適合重複元素多的序列。這裡再多介紹另一個常見的分割實作方案 Hoare partition,是 Quicksort 發明這 Hoare 自己提出的分割法,Rust 實作演算法如下: fn partition(arr: &mut [i32], lo: usize, hi: usize) -> usize { let pivot = arr[lo]; let mut i = lo; let mut j = hi; loop { // Find element >= pivot from leftmost element. while arr[i] < pivot { // 1 i += 1; } // Find element <= pivot from rightmost element. while arr[j] > pivot { // 2 j -= 1; } if i >= j { return j; } // Two elements are misplaced, swap them. arr.swap(i, j); // 3 i += 1; j -= 1; }\n} 從最左邊開始找比 pivot 大或相等的元素。 從最右邊開始找比 pivot 小或相等的元素。 若找到這兩個元素,置換之,以符合小於 pivot 在前,大於 pivot 在後的分割準則。","breadcrumbs":"快速排序 Quicksort » 選擇不同的分割方案","id":"108","title":"選擇不同的分割方案"},"109":{"body":"Wiki: Quicksort Algorithms, 4th Edition by R. Sedgewick and K. Wayne GeeksForGeeks: QuickSort Swift Algorithm Club: Quicksort","breadcrumbs":"快速排序 Quicksort » 參考資料","id":"109","title":"參考資料"},"11":{"body":"歡迎各式各樣的貢獻,修正錯字也行!開始動手之前,請先閱讀 貢獻指南 。","breadcrumbs":"Rust Algorithm Club » 如何貢獻","id":"11","title":"如何貢獻"},"110":{"body":"Mergesort 是一個泛用且高效穩定的排序法,最佳與最差時間複雜都是 $O(n \\log n) $。Mergesort 可謂著名「Divide and Conquer」手法的經典案例,先將序列分成更小的子序列(Divide),一個個排序後(Conquer),再合併已排序的子序列(Combine)。 高效穩定 :最佳、平均,與最差時間複雜度皆為 $O(n \\log n) $。 穩定排序 :相同鍵值的元素,排序後相對位置不改變。 非原地排序 :除了資料本身,仍需額外花費儲存空間來排序。 分治演算法 :將主問題化作數個子問題,各個擊破。","breadcrumbs":"合併排序 Mergesort » 合併排序 Mergesort","id":"110","title":"合併排序 Mergesort"},"111":{"body":"Mergesort 演算法分為以下步驟: Divide :將含有 n 個元素的序列分割成含有 n / 2 個子序列。 Conquer :排序分割後的兩個子序列。 Combine :合併排序完成的兩子序列,成為一個排好序的序列。 其中,Conquer 步驟中的「排序」可以不斷遞迴 Mergesort 自身,因此需要停止遞迴的條件(base case),我們將條件設定為「子序列的長度小於 2」,因為長度為 1 的序列可視為已完成排序。 將 Mergesort 視覺化排序如下: mergsort","breadcrumbs":"合併排序 Mergesort » 步驟","id":"111","title":"步驟"},"112":{"body":"以 ASCII diagram 圖解 Mergesort。 先將原始序列分割成數個長度為一的子序列。 Split array into length 1 subarray. [8, 7, 1, 2, 4, 6, 5, 3] | [8, 7, 1, 2] | [4, 6, 5, 3] | [8, 7] [1, 2] | [4, 6] [5, 3] |\n[8] [7] [1] [2] | [4] [6] [5] [3] V split 再將子序列依序合併成一個排好序的大序列。 Recursively merge subarray respecting the order. Merge |\n[8] [7] [1] [2] | [4] [6] [5] [3] | [7, 8] [1, 2] | [4, 6] [3, 5] | [1, 2, 7, 8] | [3, 4, 5, 6] V [1, 2, 3, 4, 5, 6, 7, 8]","breadcrumbs":"合併排序 Mergesort » 說明","id":"112","title":"說明"},"113":{"body":"Complexity Worst $O(n \\log n) $ Best $O(n \\log n) $ Average $O(n \\log n) $ Worst space $O(n) $ auxiliary","breadcrumbs":"合併排序 Mergesort » 效能","id":"113","title":"效能"},"114":{"body":"透過遞迴關係式,很容易計算 Mergesort 的時間複雜度。假設排序長度為 $n $ 的序列最多需要 $T(n) $ 時間。可以觀察到,如果序列只有一個元素,Mergesort 僅需要常數時間就可以完成排序,寫成 $T(n) = 1 $。 如果 $n > 2 $,Mergesort 會將序列分為 $\\lceil \\frac{n}{2} \\rceil $ 部分,以及 $\\lfloor \\frac{n}{2} \\rfloor $ 部分。我們可以將排序前者寫成 $T(\\lceil \\frac{n}{2} \\rceil) $,而後者花費時間為 $ T(\\lfloor \\frac{n}{2} \\rfloor) $。 最後,合併兩個子序列僅需 $n $ 個操作。可得下列遞迴關係式。 (為了方便計算,把 floor 和 ceil 捨去) $$ T(n) = \\begin{cases} 1 & \\text{if } n = 1, \\\\ 2T(\\frac{n}{2}) + n & \\text{otherwise.} \\end{cases} $$ 根據 Master Theorem ,可得複雜度為 $O(n \\log n) $。","breadcrumbs":"合併排序 Mergesort » Time Complexity","id":"114","title":"Time Complexity"},"115":{"body":"Mergesort 的缺點之一就是在合併子序列時,需要額外的空間依序插入排序資料;若是遞迴版本的 Mergesort 還需額外加上遞迴花費的 call stack 空間,因此額外空間複雜度為 $O(n) + O(\\log n) = O(n) $(以陣列實作)。","breadcrumbs":"合併排序 Mergesort » Space Complexity","id":"115","title":"Space Complexity"},"116":{"body":"一般來說,Divide and Conquer 有兩種設計、解決問題的技巧:Top-down(自上而下)與 Buttom-up(自下而上)。前者是先對問題有整體的輪廓概念,再逐步針對細節一一處理;後者則是先準備每個問題需要的基礎步驟與元件,再將這些步驟結合,解決整體的問題。 Mergesort 的實作分為兩部分: mergesort 主程式:對外的介面,負責分割序列。對應 Divide 功能。 merge:合併子序列,對應到 Conquer 與 Combine 功能。 先來看看如何分割序列。","breadcrumbs":"合併排序 Mergesort » 實作","id":"116","title":"實作"},"117":{"body":"自上而下的解法會不斷以類似 binary search 的方式找中點,進而分割序列。 pub fn mergesort(arr: &mut [i32]) { let mid = arr.len() / 2; if mid == 0 { // 1 return; } mergesort(&mut arr[..mid]); // 2 mergesort(&mut arr[mid..]); // Create an array to store intermediate result. let mut ret = arr.to_vec(); // 3 // Merge the two piles. merge(&arr[..mid], &arr[mid..], &mut ret[..]); // 4 // Copy back the result back to original array. arr.copy_from_slice(&ret); // 5\n} 設定遞迴的終止條件(base case),middle index 為 0 表示長度不大於 1。 利用 Rust 的 Range Operator ,可快速分割兩個 slice。 建立一個 Vec 儲存排序結果。 將兩個 slice 合併排序至 ret vector 中。 將 ret 的結果複製到原始 arr 中,使回傳值保有相同起始位址。","breadcrumbs":"合併排序 Mergesort » Top-down split","id":"117","title":"Top-down split"},"118":{"body":"自下而上的解法則是預定好最小的子序列長度,直接使用 for 迴圈從頭開始逐一擊破。 pub fn mergesort_bottom_up(arr: &mut [i32]) { let mut width = 1; // 1 // Create an array to store intermediate result. let mut ret = arr.to_vec(); // 2 let len = arr.len(); while width < len { let mut i = 0; while i < len { // Check to avoid upper bound and middle index out of bound. let upper = ::std::cmp::min(i + 2 * width, len); // 3 let mid = ::std::cmp::min(i + width, len); merge(&arr[i..mid], &arr[mid..upper], &mut ret[i..upper]); // Copy the merged result back to original array. arr[i..upper].copy_from_slice(&ret[i..upper]); // 4 // Increase start index to merge next two subsequences. i += 2 * width; // 5 } width *= 2; // 6 }\n} 設定最小的子序列長度,這個長度以下的子序列皆視為已排序。 建立一個 Vec 儲存排序結果。 取最小值,避免下標超出邊界,並且維持除了最後一組,其他子序列長度恆為 width。 複製這部分排序結果 ret 到原始的 arr 中。 繼續下兩個子序列的合併步驟。 將下個疊代的子序列長度加倍,繼續合併。","breadcrumbs":"合併排序 Mergesort » Buttom-up split","id":"118","title":"Buttom-up split"},"119":{"body":"無論是 Top-down 還是 Buttom-up 版本的解法,皆免不了 merge 這個共同步驟,將子序列合併為較大的序列。 fn merge(arr1: &[i32], arr2: &[i32], ret: &mut [i32]) { let mut left = 0; // Head of left pile. // 1 let mut right = 0; // Head of right pile. let mut index = 0; // Compare element and insert back to result array. while left < arr1.len() && right < arr2.len() { // 2 if arr1[left] <= arr2[right] { // 3 ret[index] = arr1[left]; index += 1; left += 1; } else { ret[index] = arr2[right]; index += 1; right += 1; } } // Copy the reset elements to returned array. // `memcpy` may be more performant than for-loop assignment. if left < arr1.len() { // 4 ret[index..].copy_from_slice(&arr1[left..]); } if right < arr2.len() { ret[index..].copy_from_slice(&arr2[right..]); }\n} 建立三個指標,分別給 arr1、arr2 與回傳陣列 ret 使用。 這部分依序比較兩個子序列,排序較小者先進入回傳 ret。直到其中一序列所有元素都進入 ret 就停止。 這邊判斷使用 <= 小於等於確保排序穩定(相同鍵值順序不換)。 將剩餘未進入 ret 的元素,依序複製到 ret 中。 slice.copy_from_slice 底層使用 C 的 memcpy,比起 for-loop 一個個賦值,直接複製整塊記憶體比較快了。","breadcrumbs":"合併排序 Mergesort » The merge part","id":"119","title":"The merge part"},"12":{"body":"@weihanglo @choznerol @henry40408 @wiasliaw77210 @LebranceBW","breadcrumbs":"Rust Algorithm Club » 貢獻者","id":"12","title":"貢獻者"},"120":{"body":"","breadcrumbs":"合併排序 Mergesort » 變形","id":"120","title":"變形"},"121":{"body":"在真實世界資料中,早有許多部分排序的分區(natural run),倘若跳過排序這些分區的步驟,就可減少許多不必要的操作, Timsort 就是為了完全利用榨乾這些分區的混合排序法。","breadcrumbs":"合併排序 Mergesort » Timsort","id":"121","title":"Timsort"},"122":{"body":"Wiki: Merge sort CMSC 351 Algorithms, Fall, 2011, University of Maryland. Sorting GIF was created By CobaltBlue CC BY-SA 2.5 via Wikimedia Commons.","breadcrumbs":"合併排序 Mergesort » 參考資料","id":"122","title":"參考資料"},"123":{"body":"Counting sort 是一個特殊的整數排序法,被視為 Bucket sort 的特例。原理是在已知整數範圍內,計算每個鍵值出現次數,並用額外的陣列保存(Count array)。最後將 Count array 的元素值作為排序資料的新 index。 Counting sort 基本特性如下: 非原地排序 :額外花費較大量、非固定的空間來排序。 穩定排序 :相同鍵值的元素,排序後相對位置不改變。 整數排序 :以整數作為排序的鍵值。 分配式排序 :不透過兩兩比較,而是分析鍵值分佈來排序。特定情況下可達線性執行時間。 線型執行時間 :當輸入資料量 n 與已知範圍上下界之差值相近,執行時間接近線型( O(n) ) 預期分佈 :預期輸入資料是落在已知範圍內的整數(例如 0 到 k)。 適用範圍 :僅適用於小範圍整數(額外空間需求大)。","breadcrumbs":"計數排序 Counting sort » 計數排序 Counting sort","id":"123","title":"計數排序 Counting sort"},"124":{"body":"Count occurrence :計算每個 key 的出現次數。 Prefix sum as start index :計算前綴和(Prefix sum),並作為該元素的 start index。 Copy output :利用步驟二的前綴和,遍歷輸入資料,取得元素排序後的索引。","breadcrumbs":"計數排序 Counting sort » 步驟","id":"124","title":"步驟"},"125":{"body":"這裡有資料需要透過正整數的 key 來排序。key 的範圍在 0 - 9 之間,格式為 (key, value)。 Input: (1, A) (5, B) (8, C) (2, D) (2, E) (9, F) 1. Count occurrence :首先,先計算每個 key 的出現頻率,儲存在額外的 count array 中。 Key : 0 1 2 3 4 5 6 7 8 9\nCount: 0 1 2 0 0 1 0 0 1 1 2. Prefix sum as start index :再計算 prefix sum,也就是將當前 index 前累計的 key 數量加總。例如 key 5 的 prefix sum 1 + 2 = 3 。 這裡的 prefix sum 等同於每筆資料排序後的位置(index)。例如排序後, 8 位於陣列第四位。 Key : 0 1 2 3 4 5 6 7 8 9\nPrefix Sum: 0 0 1 3 3 3 4 4 4 5 3. Copy output :透過 key 與 prefix sum 的映射關係,找到原始資料對應的位置。 實作上,每筆資料找到對應的 start index(prefix sum) 後,要將 該 index 之值 +1 ,使得重複的元素可取得正確的 index offset(對唯一的 key 沒有影響)。 (1, A)\n--> prefix sum 為 0,寫入 array[0],並將 prefix sum + 1 +--------+--------+--------+--------+--------+--------+\n| (1, A) | | | | | |\n+--------+--------+--------+--------+--------+--------+ (5, B)\n--> prefix sum 為 3,寫入 array[3],並將 prefix sum + 1 +--------+--------+--------+--------+--------+--------+\n| (1, A) | | | (5, B) | | |\n+--------+--------+--------+--------+--------+--------+ (8, C)\n--> prefix sum 為 4,寫入 array[4],並將 prefix sum + 1 +--------+--------+--------+--------+--------+--------+\n| (1, A) | | | (5, B) | (8, C) | |\n+--------+--------+--------+--------+--------+--------+ (2, D)\n--> prefix sum 為 1,寫入 array[1],並將 prefix sum + 1 +--------+--------+--------+--------+--------+--------+\n| (1, A) | (2, D) | | (5, B) | (8, C) | |\n+--------+--------+--------+--------+--------+--------+ (2, E)\n--> prefix sum 為 2(前一步驟 + 1),寫入 array[2],並將 prefix sum + 1 +--------+--------+--------+--------+--------+--------+\n| (1, A) | (2, D) | (2, E) | (5, B) | (8, C) | |\n+--------+--------+--------+--------+--------+--------+ (9, F)\n--> prefix sum 為 5,寫入 array[5],並將 prefix sum + 1 +--------+--------+--------+--------+--------+--------+\n| (1, A) | (2, D) | (2, E) | (5, B) | (8, C) | (9, F) |\n+--------+--------+--------+--------+--------+--------+ 這樣就完成排序了。此外,觀察 (2, D) 與 (2, E) 排序前後的位置,會發現 counting sort 是個實實在在的穩定排序,很棒。","breadcrumbs":"計數排序 Counting sort » 說明","id":"125","title":"說明"},"126":{"body":"Complexity Worst $O(n + k) $ Best $O(n + k) $ Average $O(n + k) $ Worst space $O(n + k) $ auxiliary k 為資料已知範圍上下界之差。","breadcrumbs":"計數排序 Counting sort » 效能","id":"126","title":"效能"},"127":{"body":"Counting sort 沒有用到任何遞迴,可以直觀地分析複雜度。在步驟一,建立 count array 與步驟三輸出排序結果,都需要遍歷 $n $ 個輸入的資料,因此複雜度為 $O(n) $;步驟二計算 prefix sum,以及 count array 自身的初始化則需執行 $k + 1 $ 次(給定的資料範圍),這部分的複雜度為 $O(k) $。由於 $n $ 與 $k $ 的權重會因輸入資料及實作的不同而有所改變,我們無法捨棄任何一個因子,可得知 counting sort 的複雜度為 $O(n + k) $。","breadcrumbs":"計數排序 Counting sort » Time Complexity","id":"127","title":"Time Complexity"},"128":{"body":"Counting sort 並非 in-place sort,排序後的結果會另外輸出為新的記憶體空間,因此 $O(n) $ 的額外(auxiliary)空間複雜度絕對免不了。再加上需要長度為 $k $ 的 count array 保存每個 key 的出現次數,因此需再加上 $O(k) $。除了原始的輸入 array,總共需花費 $O(n + k) $ 的額外空間複雜度。 如果欲排序資料就是整數鍵值自身,可以將「計算前綴和」與「複製輸出」兩步驟最佳化,直接覆寫原始陣列,額外空間複雜度會下降至 $O(k) $,但也因此成為不穩定排序法。","breadcrumbs":"計數排序 Counting sort » Space complexity","id":"128","title":"Space complexity"},"129":{"body":"由於 Counting sort 屬於分布式排序(Distribution sort),這裡使用泛型,以彰顯分布式排序的特色。","breadcrumbs":"計數排序 Counting sort » 實作","id":"129","title":"實作"},"13":{"body":"本專案分為兩部分授權: 程式碼與函式庫依據 The MIT License (MIT) 授權條款發佈。 文章與相關著作依據 Creative Commons 4.0 (CC BY-NC-SA 4.0) 授權條款發佈。 Copyright © 2017 - 2021 Weihang Lo","breadcrumbs":"Rust Algorithm Club » 授權條款","id":"13","title":"授權條款"},"130":{"body":"首先,我們先看函式如何宣告(function signature)。 pub fn counting_sort(arr: &mut [T], min: usize, max: usize, key: F) where F: Fn(&T) -> usize, T: Clone, 這裡使用了四個參數: arr:待排序陣列。 min、max:整數排序的上下界。 key:由於資料不一定是整數,需要一個 function 從資料擷取鍵值做排序。 另外,也使用兩個泛型型別: F:key extactor 的型別,回傳的 usize 必須落在 [min, max) 之間。 T:陣列元素的型別,實作 Clone 是由於 Counting sort 需要將 output 再複製回原本的參數 arr 上,達成「偽」原地排序。","breadcrumbs":"計數排序 Counting sort » Function Signature","id":"130","title":"Function Signature"},"131":{"body":"再來,了解如何建立一個元素出現次數的陣列。 fn counting_sort() { // ... let mut prefix_sums = { // 1. Initialize the count array with default value 0. let len = max - min; let mut count_arr = Vec::with_capacity(len); count_arr.resize(len, 0); // 2. Scan elements to collect counts. for value in arr.iter() { count_arr[key(value)] += 1; } // 3. Calculate prefix sum. count_arr.into_iter().scan(0, |state, x| { *state += x; Some(*state - x) }).collect::>() }; // ...\n} 建立一個長度為上下界之差的 count array。注意,這裡使用了 Vec.resize,因為 Rust initialize 空的 Vec 時並不會插入 0 或其他預設值。 遍歷整個輸入資料,利用 key function 取出每筆資料的鍵值,出現一次就 +1。 利用 Iterator 上的 scan method 計算每個鍵值的 prefix sum。需要注意的是,每個元素對應的 prefix sum 不包含自身,例如 key 3 的計算結果就是 key 1 與 key 2 的出現總次數,如此一來,prefix sum 才會直接對應到排序後的位置。","breadcrumbs":"計數排序 Counting sort » Prefix Sums Array","id":"131","title":"Prefix Sums Array"},"132":{"body":"最後一步就是將 prefix sum 當作每個 element 的正確位置,把資料重頭排序。 fn counting_sort() { // ... for value in arr.to_vec().iter() { // 1 let index = key(value); arr[prefix_sums[index]] = value.clone(); // 2 prefix_sums[index] += 1; // 3 }\n} 將輸入資料透過 to_vec 複製起來疊代,需要複製 arr 是因為之後要直接在 arr 插入新值,需要另一份原始輸入的拷貝。 利用 key 擷取鍵值後,把資料複製給 arra 上對應 prefix_sums[index] 的位置。 將該 prefix_sums[index] 的值加一,以便元素重複時,可以正常複製到下一個位置。 完成了!這裡再貼一次完整的程式碼。 pub fn counting_sort(arr: &mut [T], min: usize, max: usize, key: F) where F: Fn(&T) -> usize, T: Clone,\n{ let mut prefix_sums = { // 1. Initialize the count array with default value 0. let len = max - min; let mut count_arr = Vec::with_capacity(len); count_arr.resize(len, 0); // 2. Scan elements to collect counts. for value in arr.iter() { count_arr[key(value)] += 1; } // 3. Calculate prefix sum. count_arr.into_iter().scan(0, |state, x| { *state += x; Some(*state - x) }).collect::>() }; // 4. Use prefix sum as index position of output element. for value in arr.to_vec().iter() { let index = key(value); arr[prefix_sums[index]] = value.clone(); prefix_sums[index] += 1; }\n}","breadcrumbs":"計數排序 Counting sort » Prefix Sums as Start Index","id":"132","title":"Prefix Sums as Start Index"},"133":{"body":"Wiki: Counting sort Growing with the web: Counting sort","breadcrumbs":"計數排序 Counting sort » 參考資料","id":"133","title":"參考資料"},"134":{"body":"Bucket sort ,是一個非比較排序。原理是建立一些桶子,每個桶子對應一資料區間,在將待排序資料分配到不同的桶中,桶子內部各自排序。由於並非 比較排序 ,使用 Bucket sort 需要事先知道資料的範圍與分佈,才能決定桶子對應的區間。 Bucket sort 基本特性如下: 又稱 bin sort 。 穩定排序 :相同鍵值的元素,排序後相對位置不改變。 分配式排序 :不透過兩兩比較,而是分析鍵值分佈來排序。特定情況下可達線性執行時間。 預期分佈 :資料為 均勻分佈 。","breadcrumbs":"桶排序 Bucket sort » 桶排序 Bucket sort","id":"134","title":"桶排序 Bucket sort"},"135":{"body":"假設要排序 $n $ 個元素的陣列,這些元素的值平均散落在某個 已知的預期範圍內 ,例如 1 到 100。 Create buckets :建立 $k $ 個桶子(bucket)的陣列。每個桶子 對應預期範圍的某區間 ,如第一個桶子放 1 到 10,第二個放 11 到 20。 Scatter :將每個元素依照該值放入對應的桶子中。 Inner sort :排序所有非空的桶子。 Gather :依序走訪所有桶子,將桶內的元素放回原本的陣列中。","breadcrumbs":"桶排序 Bucket sort » 步驟","id":"135","title":"步驟"},"136":{"body":"以下用 ASCII diagram 視覺化解釋: 這裡有一些整數,落在 1 至 100 之間。我們有 $n = 10 $ 的陣列要排序。 Original array +-------------------------------------------------+\n| 6 | 28 | 96 | 14 | 74 | 37 | 9 | 71 | 91 | 36 |\n+-------------------------------------------------+ 1. Create buckets :建立一定數量的桶子,這裡我們建立與原始陣列相同數量的桶子(10)。每個桶子對應 $n - 1 * 10 $ 到 $n * 10 $ 的區間。 Bucket array +-------------------------------------------------+\n| | | | | | | | | | |\n+-------------------------------------------------+ ^ ^ | | | | | holds values in range 11 to 20 holds values in range 1 to 10 2. Scatter :將原始陣列中的元素,放入對應的桶中。 Bucket array 6,9 14 28 37,36 74,71 96,91 | | | | | |\n+-v----v----v----v-------------------v---------v--+\n| | | | | | | | | | |\n+-------------------------------------------------+ 3. Inner sort :排序所有非空桶子中的元素,桶內排序可用任意排序法,通常選用「insertion sort」,可確保排序穩定性,並降低額外開銷。 Bucket array sort sort sort sort sort sort --- -- -- ----- ----- ----- 6,9 14 28 36,37 71,74 91,96 | | | | | |\n+-v----v----v----v-------------------v---------v--+\n| | | | | | | | | | |\n+-------------------------------------------------+ 4. Gather :排序完後,再將所有桶中元素依序放回原始的陣列。 Original array\n+-------------------------------------------------+\n| 6 | 9 | 14 | 28 | 36 | 37 | 71 | 74 | 91 | 96 |\n+-------------------------------------------------+","breadcrumbs":"桶排序 Bucket sort » 說明","id":"136","title":"說明"},"137":{"body":"Complexity Worst $O(n^2) $ Best $O(n + k) $ Average $O(n + k) $ Worst space $O(n + k) $ auxiliary $k $ = 桶子的數量(number of buckets) $n $ = 資料筆數","breadcrumbs":"桶排序 Bucket sort » 效能","id":"137","title":"效能"},"138":{"body":"Bucket sort 是一個分配式排序法,對資料分佈有既定的預期:「 所有元素平均分佈在每個 bucket 的區間內 」。可想而知,最差的狀況是所有元素都聚集(clustering)在同一個 bucket 中,整個 bucket sort 的會退化成單一一個 inner sort 的複雜度。而桶內排序通常選用 insertion sort(最差 $O(n^2) $),所以最差的時間複雜度為「 $O(n^2) $」。","breadcrumbs":"桶排序 Bucket sort » Worst case","id":"138","title":"Worst case"},"139":{"body":"最佳的狀況則是完全符合預期的平均分佈,一個蘿蔔一個坑,每個桶內排序的最佳時間複雜度為 $O(n / k) $,再乘上桶子總數 $k $,僅需 $O(k \\cdot (n / k)) = O(n) $。計算結果看起來非常合理,但實際上最佳時間複雜度為 $O(n + k) $,為什麼呢? 無庸置疑,桶內排序最佳時間複雜度為 $O(n / k) $,但別忘了這是省略常數項過後式子,進行符號運算時,較精確的表達是 $c_0 O(n / k) + c_1 $,對於實作層面的常數 $c_0 $ 和 $c_1 $ 則予以保留。 當我們乘上 $k $,試著算出總運算量時, $$k \\cdot (c_0(n / k) + c_1) $$ 會得到: $$ c_0n + c_1k $$ 可以得知,整個計算與 $k $ 有關,所以需要耗時 $O(n + k) $。 撇開數學,我們從 pseudo code 來看。最佳情況下,將所有元素蒐集回陣列的步驟(Gather)如下: for (each bucket b in all k buckets) for (each element x in b) append x to the array 最外層的迴圈依桶子數 $k $ 而定,至少需要執行 $k $ 次,複雜度為 $O(k) $。內層的迴圈則是每個桶內的元素都會執行,而我們的資料時均勻分布,因此執行時間與元素總數 $n $ 相關,為 $O(n) $。兩者加起來就是我們所說的 $O(n + k) $ 的最佳複雜度。 那 $k $ 究竟會是多少,影響會比 $n $ 大嗎? 端看桶子總數而定,若桶子總數很大,比元素個數 $n $ 大得多,則桶子總數對執行時間的影響恐較劇烈,就算大多數為空桶子,仍須挨家挨戶查看是否需要執行桶內排序。","breadcrumbs":"桶排序 Bucket sort » Best case","id":"139","title":"Best case"},"14":{"body":"日常生活中,你會如何描述處理事情的效率? 「原來她五分鐘內可以吃掉一頭牛!」 「房間這麼小你還能擺一堆雜物?還不快收拾!」 這些描述方法,著重在處理事情的花費時間,或單位空間內的儲存量。描述演算法的效率也如此,就是「測量演算法的執行成本」,例如這個排序法花了 10 秒鐘跑完兩萬筆資料,或是這個模擬演算法很吃資源需要 32 GB 的記憶體。 然而,在不同的機器規格、環境溫濕度、程式語言、實作方式,以及有沒有放乖乖的變異影響下,相同演算法的執行成本常常不一致。為了消弭這些外部因素,讓分析演算法能夠更科學化。科學家抽絲剝繭,發明一個方法: 「統計演算法內所需操作步驟的數目。」 這是最簡單,最粗淺比較不同演算法效率的作法。","breadcrumbs":"漸進符號 Asymptotic Notation » 漸進符號 Asymptotic Notation","id":"14","title":"漸進符號 Asymptotic Notation"},"140":{"body":"Bucket sort 須額外建立 $k $ 個桶子,每個桶子需要配置長度為 $n $ 的 array,因此空間複雜度為 $O(n \\cdot k) $。如果以 dynamic array 實作 bucket,並考慮平攤分析(Amortized analysis),則空間複雜度降至 $O(n + k) $,這也是大多數人接受的分析結果,畢竟不會有人無聊到預先配置 $n \\cdot k $ 個 empty bucket。","breadcrumbs":"桶排序 Bucket sort » Space Complexity","id":"140","title":"Space Complexity"},"141":{"body":"","breadcrumbs":"桶排序 Bucket sort » 實作","id":"141","title":"實作"},"142":{"body":"Bucket sort 有許多種各異的實作法,差異最大之處就是桶子 bucket 這部分。 /// Bucket to store elements.\nstruct Bucket { hash: H, values: Vec,\n} impl Bucket { /// Create a new bucket and insert its first value. /// /// * `hash` - Hash value generated by hasher param of `bucket_sort`. /// * `value` - Value to be put in the bucket. pub fn new(hash: H, value: T) -> Bucket { Bucket { hash: hash, values: vec![value], } }\n} 這裡的桶子實作兩個 struct fields: values:使用 Vec 儲存對應範圍內的元素 hash:Bucket Sort 主函式有一個 hasher 函式,會計算出對應各個桶子的雜湊值,因此要確保桶子的雜湊值有唯一性。","breadcrumbs":"桶排序 Bucket sort » Bucket","id":"142","title":"Bucket"},"143":{"body":"接下來就是排序主函式。依照慣例,先看看函式的宣告(function signature)。 pub fn bucket_sort(arr: &mut [T], hasher: F) where H: Ord, F: Fn(&T) -> H, T: Ord + Clone, 這個 bucket_sort 函式使用了不少泛型: H:hasher 函式的回傳型別,用來辨識不同的桶子。 F:hasher 函式自身,只需要一個參數 &T,回傳一個 H。 T:欲排序資料的型別。 函式自身稍微複雜一點,但仍不脫離 四步驟 :Create buckets、Scatter、Inner sort,還有 Gather。 pub fn bucket_sort() { // ... // 1. Create buckets. let mut buckets: Vec> = Vec::new(); // 2. Scatter for value in arr.iter() { let hash = hasher(&value); // 2.1. let value = value.clone(); // 2.2. match buckets.binary_search_by(|bucket| bucket.hash.cmp(&hash)) { // If exists, push the value to the bucket. Ok(index) => buckets[index].values.push(value), // If none, create and new bucket and insert value in. Err(index) => buckets.insert(index, Bucket::new(hash, value)), } } // 3. Inner sort and gather let ret = buckets.into_iter().flat_map(|mut bucket| { bucket.values.sort(); // 3.1. bucket.values }).collect::>(); // 3.2. arr.clone_from_slice(&ret); // 4 Copy to original array\n} 一般來說,第一步會配置完所有桶子,但這裡實作僅建立儲存桶子們的容器 buckets,這是由於實作了 hasher 函式,元素對應桶子的邏輯交由外部決定,因此桶子不需事先配置,而是交給第二步驟時 on-the-fly 建立。 疊代輸入的 arr,將元素散佈到桶子中。 使用元素值 value 取得雜湊值。 從一堆桶子內 buckets 尋找對應雜湊值的桶子,如有對應桶子,則將待排序元素插入桶中;若無對應桶子,則馬上建立桶子,並插入待排序元素。 由於桶子們 buckets 是一個二維陣列集合,我們使用 flat_map 將之壓平。 使用 Rust 內建 sort(Timsort 的變形)作為我們 inner sort 的實作,將桶內所有元素排好序 別忘了 Rust 的 Iterator 很 lazy,記得要使用 collect 蒐集 iterator 實作後的結果。 由於要模擬 in-place 原地排序法的特性,將排序好的資料再次拷貝到 arr 上。這也是為什麼函式元素泛型 T 需要 Clone trait 的原因了。 有關於步驟 2.2.,這部分可以用 HashMap 的變形 IndexMap (一個保存插入順序的有序 HashMap)保存雜湊值對應桶子的資訊,使得外界更容易依雜湊值找到桶子。但為了保持範例程式的簡潔,決定不引入第三方的 crate(Rust 語言第三方模組的代稱),且 binary_search_by 的複雜度為 $O(\\log n) $,對 Bucket sort 最差複雜度並無影響。","breadcrumbs":"桶排序 Bucket sort » Sorting","id":"143","title":"Sorting"},"144":{"body":"Wiki: Bucket sort Wiki: Amortized analysis How is the complexity of bucket sort is O(n+k) if we implement buckets using linked lists? Bucket sort in Rust","breadcrumbs":"桶排序 Bucket sort » 參考資料","id":"144","title":"參考資料"},"145":{"body":"如果你對 Counting sort 與 Bucket sort 有認識,應該知道這兩個排序都能突破比較排序法複雜度 $O(n \\log n) $ 限制的特殊排序法。 Radix sort 同樣是個特殊的 整數排序法 ,效能同樣可達突破限制。差別在於,前兩者僅依據一個鍵值排序,而 Radix sort 則是依據多個鍵值排序。 舉例來說,欲排序一群範圍在 0 - 999 的整數,若以 Counting sort 排序,則需建立一個「1000 元素的陣列」來計算每個整數的出現次數;若使用以 10 為基數的 Radix sort,則僅需以個位數、十位數、百位數作為鍵值分別排序三次。通常 Radix sort 的排序副程式(Sorting subroutine)會選用 Counting sort 或 Bucket sort,而以 10 為基數的鍵值範圍僅 0 - 9,這種小範圍整數非常適合 Counting sort 作為排序副程式,節省了配置 int arr[1000] 的 count array 的時空間。 Radix sort 基本特性如下: 整數排序法 :以整數作為排序的鍵值。 分配式排序法 :不透過兩兩比較,而是分析鍵值分佈來排序。特定情況下可達線性執行時間。 穩定性 :採用 LSD 的 Radix sort 屬穩定排序法(Stable sort);透過優化,採用 MSD 也可以是穩定排序法。","breadcrumbs":"基數排序 Radix sort » 基數排序 Radix sort","id":"145","title":"基數排序 Radix sort"},"146":{"body":"常見的 Radix sort 依據整數的每個位數來排序,依照位數排序的先後順序,可分為兩種: Least significant digit (LSD) :從最低有效鍵值開始排序(最小位數排到大)。 Most significant digit (MSD) :從最高有效鍵值開始排序(最大位數排到小)。 簡單的 LSD Radix sort 步驟如下: LSD of each key :取得每個資料鍵值的最小位數(LSD)。 Sorting subroutine :依據該位數大小排序資料。 Repeating :取得下一個有效位數,並重複步驟二,至最大位數(MSD)為止。 而 MSD Radix sort 的步驟相似,但取得資料鍵值的方向相反。 MSD of each key :取得每個資料鍵值的最大位數(MSD)。 Sorting subroutine :依據該位數大小排序資料。 Repeating :取得下一個有效位數,並重複步驟二,至最小位數(LSD)為止。 由於 MSD Radix sort 先排序最大位數,會出現 8 > 126 的結果,這種順序通常稱為 Lexicographical order ,有如字典一般,越前面的字母排序權重越重,也因此,基本版的 MSD Radix sort 並非穩定排序法。","breadcrumbs":"基數排序 Radix sort » 步驟","id":"146","title":"步驟"},"147":{"body":"我們選用 LSD Radix sort 示範,並且為了增加可讀性,將基數設為 10。需注意在現實場景中,有時使用 bytes 作為基數可能更適合。 待排序的數列如下。 [170, 45, 75, 90, 802, 2, 24, 66] Radix sort 的排序副程式,通常選用 counting sort 或 bucket sort,因此,開始排序前,需建立供其使用的 buckets(或 count array)。這屬於其他排序法的範疇,有興趣可看 Counting sort 或 Bucket sort 。 首先,從最小位數開始排序。 注意,同樣鍵值的資料,相對位置不會改變(穩定排序)。 0 5 5 0 2 2 4 6 _ _ _ _ _ _ _ _\n[170, 45, 75, 90, 802, 2, 24, 66] sort by rightmost digit --> 0 0 2 2 4 5 5 6 _ _ _ _ _ _ _ _\n[170, 90, 802, 2, 24, 45, 75, 66] 再來,對下一個位數排序資料。位數不足的資料,予以補 0。 7 9 0 0 2 4 7 6 _ _ _ _ _ _ _\n[170, 90, 802, 2, 24, 45, 75, 66] sort by next digit --> 0 0 2 4 6 7 7 9 _ _ _ _ _ _ _\n[802, 2, 24, 45, 66, 170, 75, 90] 最終,對最後一個位數進行排序。大功告成! 8 0 0 0 0 1 0 0 _ _\n[802, 2, 24, 45, 66, 170, 75, 90] sort by leftmost digit --> 0 0 0 0 0 0 1 8 _ _\n[2, 24, 45, 66, 75, 90, 170, 802]","breadcrumbs":"基數排序 Radix sort » 說明","id":"147","title":"說明"},"148":{"body":"Complexity Worst $O(dn) $ Best $O(dn) $ Average $O(dn) $ Worst space $O(d + n) $ auxiliary $n $:資料筆數。 $d $:number of digit,資料中最多有幾個位數(或鍵值)。 $k $:基數,就是一個位數最多有幾種可能的值。","breadcrumbs":"基數排序 Radix sort » 效能","id":"148","title":"效能"},"149":{"body":"欲分析 Radix sort 的時間複雜度,我們可以逐一擊破,先從排序副程式開始分析。 Radix sort 的 subroutine 通常採用 Counting sort 或 Bucket sort,因此每個 subroutine 的複雜度為 $O(n + k) $, $k $ 為 key 的範圍,以 10 為基數,就是 0 - 9 之間 $k = 10 $。 再來,我們分析整個主程式,Radix sort 每個位數各需排序一次,若最多位數的資料有 $d $ 位數,時間複雜度需乘上 $d $,為 $O(d (n + k)) $,那這個 $k $ 是否可以捨去呢? 分析 Counting sort 或 Bucket sort 時,範圍 $k $ 會隨輸入資料而變化,若 $k $ 過大,對複雜度的影響甚至會超過 $n $,因此分析複雜度時無法將 $k $ 捨去。而在 Radix sort, $k $ 通常為一個已知的常數,例如以 bytes 為基數 $k = 8 $, $k $ 可以捨去。最後可得 Radix sort 的時間複雜度為 $O(d \\cdot n) $。","breadcrumbs":"基數排序 Radix sort » Time complexity","id":"149","title":"Time complexity"},"15":{"body":"「計算步驟數目」很像中小學的數學題目:某公司有三個能力相異的工程師,有的工程師一天解決一個 bug,有的工程師連續工作後效率大幅滑落。每個工程師的除蟲效率可以畫成「bug 數 - 解決 bug 所需時數」函數,橫軸為待處理的臭蟲數,縱軸為解決臭蟲所需時數,如圖一與表所示。 時數 $\\log N$ $N$ $N \\log N$ $N=5$ 2.236 5 8.046 $N=30$ 5.477 30 102.036 Fig. 1 不論從圖或表,我們都可以明確看出,當 bug 數目小時,每個工程師耗時差不多;當 bug 數目成長到一定程度時,效率好與效率差的工程師差距就很明顯了。 我們把場景拉回演算法的範疇,再闡明一次。上述的除蟲效率函數關係,可以簡單視為為「輸入資料量 - 運算成本」關係之函數。例如 $f(x)=x^2+3x+6$。當輸入資料量增大時,成本也隨之上升,這個用來描述演算法執行成本與輸入資料量之關係的函數,我們稱之為該演算法的「複雜度」。","breadcrumbs":"漸進符號 Asymptotic Notation » 用數學表示演算法效率","id":"15","title":"用數學表示演算法效率"},"150":{"body":"Radix sort 的空間複雜度同樣取決於排序副程式,Counting sort 與 Bucket sort 的空間複雜度皆為 $O(n \\cdot k) $。Radix sort 的 $k $ 是常數,予以捨去。再乘上 $d $ 個位數,最差的空間複雜度為 $O(d \\cdot n) $。","breadcrumbs":"基數排序 Radix sort » Space complexity","id":"150","title":"Space complexity"},"151":{"body":"這裡示範實作以 10 為基數,用來排序非負整數的 Radix sort。 首先,我們的排序副程式使用 Counting sort。 // 0. Include counting sort.\nuse ::sorting::counting_sort; 再來,就是 Radix sort 本體了。為了凸顯 Radix sort 的概念,簡化了函式參數數量,除去泛型宣告,並將基數選擇寫死在函式裡。 pub fn radix_sort(arr: &mut [i32]) { let radix = 10; // 1 let mut digit = 1; // 2 let max_value = arr // 3 .iter() .max() .unwrap_or(&0) .clone(); while digit <= max_value { // 4 counting_sort(arr, 0, 9, |t| (t / digit % radix) as usize); // 5 digit *= radix; // 6 }\n} 設定基數為 10。 設定一個旗標,記錄當前在排序哪一位數,1 表示從最小位數(個位數)開始。 先找到輸入資料的最大值,作為之後副程式迴圈結束的條件。尋找最大值的複雜度為 $O(n)$,因此不影響 Radix Sort 的複雜度。如果 arr 為空序列,則最大值設為 0,在第四步驟就會自動結束排序。 判斷當前排序的位數是否大於最大值,例如當前排序百分位,digit 為 100,而最大值 x 為 26,則不需再排序百分位。 使用 Counting sort 作為排序副程式,只需要有 0 - 9 十個桶子。而 key 參數則取出當前欲比較的位數。 位數乘上基數,移至下一個位數繼續比較。 小提醒:這是簡單又容易理解的實作,相對有許多額外的運算開銷(例如尋找最大值)。實務上,會在對資料有些了解才採用 Radix sort,因此實作並不會這麼 naive。","breadcrumbs":"基數排序 Radix sort » 實作","id":"151","title":"實作"},"152":{"body":"Wiki: Radix sort Princeton University DSA Course: Radix sort ByVoid: 三種線性排序算法 計數排序、桶排序與基數排序","breadcrumbs":"基數排序 Radix sort » 參考資料","id":"152","title":"參考資料"},"153":{"body":"Stack - Wikipedia 堆疊是一個具有 後進先出 LIFO 特性的資料結構。以從 Wikipedia 借來的上圖為例,在第五張圖的狀況下,如果要取得 2,就必須先把 3、4、5 都退出堆疊。 堆疊的底部與頂部都是抽象的概念,頂部是資料被加入、移除、較為繁忙的那一端,底部即另一端。 堆疊的空間可能是有限的,亦即也有可能實現空間無限的堆疊。有鑑於有限空間的堆疊較為常見,我們選擇實作空間有限的堆疊。 堆疊 stack 有兩種實作方式:陣列 array 與鏈結串列 linked list,在此選擇以類似陣列的 Vector 實現。 本次實作的程式碼置於 rust_algorithm_club::collections::Stack API 文件中。","breadcrumbs":"堆疊 Stack » 堆疊 Stack","id":"153","title":"堆疊 Stack"},"154":{"body":"pub struct Stack { maxsize: usize, items: Vec,\n} maxsize 用於模擬堆疊空間有限的特性;items 負責保存加入堆疊的資料。 在此刻意將 maxsize、items 定義為 private member,避免外部直接存取。","breadcrumbs":"堆疊 Stack » 架構設計","id":"154","title":"架構設計"},"155":{"body":"with_capacity:定義一個空間有限的堆疊。 push:將新資料加入資料結構。 pop:將最新加入的資料移出資料結構。 size:(選用)取得堆疊的大小。 peek:(選用)在不將資料退出堆疊的情況下偷看最後加入堆疊的資料。","breadcrumbs":"堆疊 Stack » 基本操作","id":"155","title":"基本操作"},"156":{"body":"pub fn with_capacity(maxsize: usize) -> Self { Self { maxsize, items: Vec::with_capacity(maxsize), } } 初始化一個帶有預先分配空間 Vector 的堆疊。 ⚠ 注意,即使預先分配了有限的空間,Rust 的 vector 在空間已滿的情況下會重新分配。假設一開始為 vector 分配了 10 單位的空間,在將第 11 筆資料插入 vector 前,vector 在記憶體的空間將被重新分配,以容納這第 11 筆資料。為了模擬堆疊空間有限的特性,我們會在 push 的操作動點手腳。","breadcrumbs":"堆疊 Stack » 定義一個空間有限的堆疊","id":"156","title":"定義一個空間有限的堆疊"},"157":{"body":"pub fn push(&mut self, item: T) -> bool { if self.items.len() == self.maxsize { return false; } self.items.push(item); return true; } 由於 push 操作會改變 items,因此需要堆疊的 mutable reference。由於 Rust 的 vector 有重新分配的特性,在將資料正式加入堆疊之前,必須先檢查堆疊初始化時設定的空間是否已經被塞滿了。如果結果為是,則拒絕將資料加入堆疊。","breadcrumbs":"堆疊 Stack » 將新資料加入資料結構","id":"157","title":"將新資料加入資料結構"},"158":{"body":"pub fn pop(&mut self) -> Option { self.items.pop() } 堆疊有可能是空的,在此以 Option 表現這個情況。如果針對一個空堆疊進行 pop 操作,將會得到 None。","breadcrumbs":"堆疊 Stack » 將最新加入的資料移出資料結構","id":"158","title":"將最新加入的資料移出資料結構"},"159":{"body":"pub fn size(&self) -> usize { self.items.len() } 一個空堆疊的大小是 0,加入一筆資料後是 1⋯⋯以此類推。注意容量 capcity 與大小 size 是兩個不同的概念。容量是這個堆疊最多可以塞下多少資料,大小則是這個堆疊已經被塞入了多少資料。由於 push 的檢查機制,堆疊的大小永遠不會超過 maxsize。","breadcrumbs":"堆疊 Stack » 取得堆疊的大小","id":"159","title":"取得堆疊的大小"},"16":{"body":"了解每個演算法的時間複雜度之後,就能比較何者效率佳。但往往天不從人願,給了我們兩個演算法進行比較。 $$f(x)=\\sqrt{\\frac{182777}{286}}\\pi x^4+5\\log_{3}^{26}88x^3-e^{777^{log_2^9}}$$ $$g(x)=3x^6-2x^2$$ 「天啊!這樣要怎麼分析執行效率呀!」 為了有統一的加薪標準,我們不能假定產品只會產生特定數量的臭蟲,也不能以單一天的工作表現判定員工能力,我們知道老舊系統有無限多個 bug,因此,優秀的老闆關心的是工程師長期處理「海量臭蟲」,在極限下的 成長趨勢 ,這些成長趨勢才是衡量 KPI 的關鍵。再次強調,優秀老闆關心如何榨出是工程師的「極限成長趨勢」,而非一時半刻賣弄學識。 同樣地,有太多因素干擾影響一個演算法的複雜度,假使我們只觀察當輸入資料量 $n$ 接近無窮大時,演算法的成長趨勢為何,就很接近所謂漸進符號(asymptotic notation)的定義。漸進符號 只關心演算法在極限下的漸進行為,不同的演算法可能使用相同的漸進符號表示。 我們比較兩個簡單函數,$f(x) = 10x + 29$ 以及 $g(x) = x^2 + 1$。從圖二可以看出一開始 $g(x)$ 的執行時間比 $f(x)$ 多了不少,但隨著輸入資料量 $n$ 增多,$g(x)$ 的執行時間成長愈來愈快速,最後遠遠大於 $f(x)$。 Fig. 2 若以 $an^2 + bn + c$ 表示複雜度,就是當存在一個 $a > 0$ 時,一定會有 $n$ 符合 $an^2 > bn + c$,這個差距隨著 $n$ 越大越明顯,這是因為首項(leading term),也就是帶有最高指數的那一項,隨著 輸入大小改變,執行時間變化幅度較大。因此,可捨去複雜度函數中其他較不重要的次項與常數,留下最大次項,「 透過簡單的函數來表述函數接近極限的行為 」,讓複雜度函數更易理解,這就是「漸進符號」的概念。 這裡介紹常見的幾種漸進符號:","breadcrumbs":"漸進符號 Asymptotic Notation » 何謂漸進符號","id":"16","title":"何謂漸進符號"},"160":{"body":"pub fn peek(&self) -> Option<&T> { self.items.last() } 與 pop 操作類似,但不會對堆疊造成任何影響。如果偷看的是一個空堆疊,會得到 None。","breadcrumbs":"堆疊 Stack » 在不將資料退出堆疊的情況下偷看最後加入堆疊的資料","id":"160","title":"在不將資料退出堆疊的情況下偷看最後加入堆疊的資料"},"161":{"body":"Operation Best Complexity Worst Complexity push (insert) O(1) O(1) pop (delete) O(1) O(1) 無論堆疊大小如何變化,push 與 pop 的效能都不會被影響。","breadcrumbs":"堆疊 Stack » 效能","id":"161","title":"效能"},"162":{"body":"Stack (abstract data type) Big-O Algorithm Complexity Cheat Sheet","breadcrumbs":"堆疊 Stack » 參考資料","id":"162","title":"參考資料"},"163":{"body":"Queue - Wiki 佇列是一個具有 先進先出 FIFO 特性的資料結構。從 Wikipedia 上的圖為例,一個資料從左邊進入佇列並從右邊離開,最先進入佇列的資料會最先被取出。 佇列常見實作方式有:陣列 array、鏈結串列 linked list。為了使概念容易理解,我們選擇以類似陣列的 Vector 實作。 本次實作的程式碼置於 rust_algorithm_club::collections::Queue API 文件中。","breadcrumbs":"佇列 Queue » 佇列 Queue","id":"163","title":"佇列 Queue"},"164":{"body":"pub struct Queue { items: Vec,\n} 以 items 保存加入佇列的資料。大部分用陣列實作的佇列可能會有 front 和 rear 兩個欄位負責保存指向佇列開頭和尾端的索引,作為佇列新增刪除資料的依據,但是透過 Rust 的 std::vec::Vec (線形動態成長的陣列容器),我們可以直接取得佇列第一以及最後一筆資料,所以這邊實作忽略這兩個欄位。","breadcrumbs":"佇列 Queue » 架構設計","id":"164","title":"架構設計"},"165":{"body":"enqueue:將新資料加入佇列 dequeue:將最先放入的資料移出佇列 peek:在不將資料移出佇列的情況下取得最先放入的資料 size:取得佇列大小","breadcrumbs":"佇列 Queue » 基本操作","id":"165","title":"基本操作"},"166":{"body":"pub fn new() -> Self { Self { items: Vec::new() } } 初始化具有 Vec 的佇列。","breadcrumbs":"佇列 Queue » 定義佇列","id":"166","title":"定義佇列"},"167":{"body":"pub fn enqueue(&mut self, item: T) { self.items.push(item); } 由於 enqueue 會改變 items,因此需要佇列的 mutable reference。再來,我們沒有限制佇列大小,全由 Rust 的 Vec 自行分配空間,將新資料放到 items 的最後端。","breadcrumbs":"佇列 Queue » 將新資料加入佇列","id":"167","title":"將新資料加入佇列"},"168":{"body":"pub fn dequeue(&mut self) -> Option { match self.items.is_empty() { false => Some(self.items.remove(0)), true => None, } } items 有可能是空的,在移出資料之前需要檢查,然後移出 index 為零的資料,也就是最先放入的資料。","breadcrumbs":"佇列 Queue » 將最先放入的資料移出佇列","id":"168","title":"將最先放入的資料移出佇列"},"169":{"body":"pub fn size(&self) -> usize { self.items.len() } 取得 items 的大小。","breadcrumbs":"佇列 Queue » 取得佇列大小","id":"169","title":"取得佇列大小"},"17":{"body":"當我們談論演算法複雜度時,通常關心的是演算法「最糟糕的情況下」,「最多」需要執行多久。Big O 就是描述演算法複雜度上界的漸進符號,當一個演算法「實際」的複雜度(或執行成本對輸入資料量函數)為 $f(n)$ 時,欲以 Big O 描述其複雜度上界時,必須滿足以下定義: $$f(n) = O(g(n)) \\colon {\\exists k>0\\ \\exists n_0\\ \\forall n>n_0\\ |f(n)| \\leq k \\cdot g(n)}$$ 假設有一演算法實際複雜度為 $f(n) = 3n + 4$,有一組 $k = 4;\\ g(n) = n;\\ n_0 = 4$ 滿足 $$\\forall n > 4,\\ 0 \\leq f(n) = 3n + 4 \\leq 4n$$ 意思是「$f(n)$ 的複雜度上界成長趨勢最終不會超過 $g(n) = 4n$ 」,再代入 $O(g(n))$,可得演算法最差複雜度為 $f(n) = O(n)$,也就是「該演算法的成長趨勢不會比 $g(n)$ 來得快」(見圖三)。 Fig. 3 再多看一個例子,若 $f(n) = 4n^2 + n$ 有一組 $k = 5;\\ g(n) = n^2;\\ n_0 = 5$ 滿足 $$\\forall n > 5,\\ 0 \\leq f(n) = 4n^2 + n \\leq 5n^2$$ 則此函數的複雜度為 $f(n) = O(n^2)$。 注意:也寫作 $f(n) \\in O(g(n))$,因為實際上 $O(g(n))$ 是所有可描述演算法成長趨勢,並滿足上述條件的函數之「集合」。","breadcrumbs":"漸進符號 Asymptotic Notation » $O$:Big O","id":"17","title":"$O$:Big O"},"170":{"body":"pub fn peek(&self) -> Option<&T> { self.items.first() } 這裡的作法很單純,就是呼叫 Vec 底層 slice::first ,回傳一個 Option,不會影響到底層的 Vec 的內容。","breadcrumbs":"佇列 Queue » 不改變佇列的情況下,取得最先放入的資料","id":"170","title":"不改變佇列的情況下,取得最先放入的資料"},"171":{"body":"Operation Best Complexity Worst Complexity enqueue (insert) O(1) O(1) dequeue (delete) O(n)* O(n)* *:注意,一般來說 dequeue 會選用 O(1) 的實作方式,這裡直接呼叫 Vec::remove 會導致整個 Vec 的元素向前位移一個,是較耗費計算資源的 O(n) 操作。 我們可以選用其他方式實作,例如用額外指標紀錄當前 head 所在位置的 雙端佇列 Deque ,或是使用 單向鏈結串列 Singly linked list 實作,都能達到 O(1) 的時間複雜度。","breadcrumbs":"佇列 Queue » 效能","id":"171","title":"效能"},"172":{"body":"Queue (abstract data type)","breadcrumbs":"佇列 Queue » 參考資料","id":"172","title":"參考資料"},"173":{"body":"雙端佇列(double-ended queue,通常縮寫為 deque)是一般化(generalize)的 佇列 或 堆疊 。比起佇列只能「先進先出 FIFO」,以及堆疊只有「後進先出 LIFO」,雙端佇列可以從最前端或最末端任意方向,在常數時間複雜度內增刪元素,更為方便。 雙端佇列常見用動態陣列或是鏈結串列實作,動態陣列的實作會因空間不夠,需要重新配置記憶體,但通常會支援隨機存取(random access);鏈結串列的實作版本雖無法隨機存取,相對地增刪元素不需記憶體重配置。 雙端佇列顯著的缺點是:無論以動態陣列或連結串列實作,基本款實作通常無法在 $O(k)$ 時間複雜度的情況下,選定範圍內 k 個元素並取得單一切片(slice)。這肇因於動態陣列的實作通常內部儲存空間經過多次增刪,空間利用會不連續;而用鏈結串列實作者,則因不支援隨機存取而無法達到相應的複雜度。 本次實作的程式碼置於在 rust_algorithm_club::collections::Deque API 文件中。","breadcrumbs":"雙端佇列 Deque » 雙端佇列 Deque","id":"173","title":"雙端佇列 Deque"},"174":{"body":"雙端佇列有個實作重點:可在 常數時間 從頭尾兩端增刪元素。在資料結構設計上,會儲存分別指向頭尾的兩個指標,長相可能如下: struct Deque { head: usize, tail: usize, storage: SomeStorageType,\n} 第一直覺肯定是選用 雙向鏈結串列 可以雙向增刪節點的特性,作為解決方案。不過這裡我們採用動態陣列實作,更精確來說,底層儲存容器同樣是有兩個分別指向頭尾的指標的「環形緩衝區(Ring buffer)」。","breadcrumbs":"雙端佇列 Deque » 架構設計","id":"174","title":"架構設計"},"175":{"body":"環形緩衝區(Ring buffer) 是一個長度大小固定的緩衝區,可以視為頭尾相連的記憶體區塊,上圖雖以環狀呈現,但在計算機架構中儲存方式通常是線性陣列,再搭配指向頭端的 head 與指向尾端的 tail 兩個指標構成。 環形緩衝區有分兩種,一種是有循環的,緩衝區寫滿了就覆蓋尾端舊的資料,另一種是不會循環,緩衝區會放滿的,後者就是本次實作會用到的,以下將來探討: 如何表示環形緩衝區為空 如何表示環形緩衝區已滿 環形緩衝區如何增加元素 這節以 ASCII chart 表示之。 h: head t: tail x: no data [number]: has data 下面一個容量為 8,尚未有任何元素存入的環形緩衝區,這裡觀察到,若 head 與 tail 指向的儲存單元相同,換句話說 兩者索引值相同,則緩衝區為空 。 scenario: empty buffer h\nt\n---------------\nx x x x x x x x\n--------------- 再來,從頭端增加一個元素,此時 head 指向的儲存單元會存入元素,並且 head 索引加一。 scenario: add one data onto head t h\n---------------\n1 x x x x x x x\n--------------- 我們再連續加幾個元素,可以觀察到,head 最終指向的儲存單元永遠為空: scenario: add more data onto head t h\n---------------\n1 2 x x x x x x\n--------------- t h\n---------------\n1 2 3 x x x x x\n--------------- t h\n---------------\n1 2 3 4 x x x x\n--------------- 再來,我們從尾端增加元素,首先 tail 減一,並在移動過後的 tail 指向的儲存單元放入元素。因為 tail 原本為 0,減一之後為 -1,但索引不該有 -1,所以我們採取類似環繞算術運算(wrapping arithmetic operation)處理 整數溢位 ,因此 tail 索引從 0 變成 7(總共 8 個儲存單元)。 scenario: add data onto tail h t\n---------------\n1 2 3 4 x x x 5\n--------------- 日常生活中,環繞算術運算可見於汽車儀錶板或是電錶,9999 轉過頭後會自動變成 0000,可以想像成在萬分位進位了,但我們看不到。上述減一也可以想像二進位退一位,但我們看不到,所以從 0b000(0)變成了 0b111(7)。 我們從尾端加更多資料到緩衝區: scenario: add more data onto tail h t\n---------------\n1 2 3 4 x x 6 5\n--------------- h t\n---------------\n1 2 3 4 x 7 6 5 --> full\n--------------- 欸,怎麼加到第七個就停了? 由於目前僅探討 不循環 的環形緩衝區,已經規範 head = tail 代表緩衝區為空,如果貿然加上第八個元素,就無法分辨緩衝區是空是滿,恐導致轉盈為空。所以當緩衝區容量減去元素個數為 1 時,換句話說就是當剩餘最後一個空儲存單元時,表示該緩衝區已滿,不能再增加元素。由此推論環形緩衝區永遠會剩下一個沒使用的儲存單元。 至此,環形緩衝區的特性很符合雙端佇列的需求,總結一下: head = tail 時,表示緩衝區為空。 容量僅剩一個儲存單元時,表示緩衝區已滿。 head 永遠指向一個空的儲存單元。 邏輯索引的映射會利用環繞算術運算配合 模除運算 ,將索引值限制在緩衝區範圍內。 第四點很難懂齁?免驚,下面實作範例「 邏輯索引映射 」段落就會解釋給你聽!","breadcrumbs":"雙端佇列 Deque » 環形緩衝區","id":"175","title":"環形緩衝區"},"176":{"body":"這一段,我們將為環形緩衝區打造屬於它自己的底層儲存空間。你可能想問,既然環形緩衝區是一個固定長度的陣列,為什麼不直接利用 Rust 標準函式庫的 Vec 呢?因為 Vec 的容量和記憶體配置 屬於實作細節,雖然目前是滿了才擴充容量重新配置空間,但難保未來改變,為了更細緻控制記憶體,決定弄髒手,自行配置記憶體。 ⚠️ 以下範例有 unsafe 程式碼,未經審計,請謹慎使用。 首先,宣告一個 RawVec 結構體,儲存了兩個欄位: ptr:指向陣列最前端的指標,因為底層陣列會變化,所以是可變裸指標 *mut T 。 cap:當前 RawVec 的容量。注意,容量需永遠大於等於元數個數,否則會發生 緩衝區溢位 。 struct RawVec { ptr: *mut T, cap: usize,\n} 接下來,我們要為 RawVec 實作三個方法,完成自我管理記憶體的偉大志向: with_capacity:建立指定容量的 RawVec,會在堆疊上配置一塊記憶體。 try_grow:嘗試將 RawVec 的容量加倍,會觸發記憶體的重新配置。 drop:實作 Drop 特徵,會釋放在堆疊上手動配置的記憶體。 先來看 with_capacity: impl RawVec { // ... pub fn with_capacity(cap: usize) -> Self { let layout = Layout::array::(cap).unwrap(); // 1 // 2 if layout.size() == 0 { // This is safe for zero sized types. However, be careful when facing // zero capacity layouts. It must be replaced with an actual pointer // before operations such as dereference or read/write. let ptr = ptr::NonNull::dangling().as_ptr(); // 3 Self { ptr, cap: 0 } } else { // This is safe because it conforms to the [safety contracts][1]. // // [1]: https://doc.rust-lang.org/1.49.0/alloc/alloc/trait.GlobalAlloc.html#safety-1 let ptr = unsafe { alloc(layout) }; // 4 if ptr.is_null() { handle_alloc_error(layout); } Self { ptr: ptr.cast(), cap, } } }\n} 首先,我們先透過 Layout::array 取得給定長度給定型別的陣列的記憶體佈局,這個佈局包含 記憶體對齊 (二的倍數的位元組)與佔用記憶體大小等資訊。 再來這個 layout.size() 條件式是因為 alloc 為 unsafe 函式,需遵守其安全條款: 不允許配置大小為零的空間 。因此,必須判斷實際上需要配置記憶體與否,有兩種情況不需配置: T 是 Zero Sized Types(ZSTs) ,也就是不需要空間的型別。 cap 為零,所以不需要容量。 若記憶體佈局所佔空間大小為零,則配置一個 NonNull 的迷途指標。 對 ZST 來說,NonNull 是安全的,ZST 的指標算術操作無論如何加減,都會指向原始的指標位址,所以上層可以零成本的抽象操作容器的各種方法,完全不需要配置額外記憶體區塊。 對非 ZST 但容量為零的記憶體佈局來說,NonNull 不會有危害但要非常小心,只有在容量大於 0 且內容有初始化時,才該允許指標算術,否則可能存取到未初始化的記憶體位址,進而引發未定義行為。 很簡單地呼叫 alloc 讓 Rust 全域預設的配置器幹一塊空間資源來。因為 alloc 發生記憶體配置錯誤時會回傳空指標,所以這裡按照官方建議用 handle_alloc_error 捕捉這個行為,防止空指標被當作合法指標使用。 Rust 1.28 導入 Global allocators 的功能,讓使用者使用 #[global_allocator] 屬性,替標準函式庫註冊全域的記憶體配置器,也因此,上述的 alloc、realloc、dealloc 即將在 allocator_api 穩定後被取代。 看完配置記憶體,來看如何手動釋放記憶體。Rust 的 Drop 特徵有 drop() 方法,會在數值不需要時呼叫,類似其他語言的解構函式(destructor)。我們將釋放記憶體的邏輯放在 RawVec::drop 裡面,當 RawVec 不被需要時,就會協助我們釋放手動配置的記憶體。 impl Drop for RawVec { /// Deallocates the underlying memory region by calculating the type layout /// and number of elements. /// /// This only drop the memory block allocated by `RawVec` itself but not /// dropping the contents. Callers need to drop the contents by themselves. fn drop(&mut self) { let layout = Layout::array::(self.cap).unwrap(); // 1 if layout.size() > 0 { // This is safe because it conforms to the [safety contracts][1]. // // [1]: https://doc.rust-lang.org/1.49.0/alloc/alloc/trait.GlobalAlloc.html#safety-2 unsafe { dealloc(self.ptr.cast(), layout) } } }\n} 實作上,第一步取得當前記憶體佈局,並透過 dealloc 配合指標來釋放記憶體。當然,ZST 或是容量為零的狀況並沒有配置記憶體,額外判斷無需釋放。 最後,來瞧瞧 try_grow,為了簡化實作,每次呼叫時,記憶體區塊就單純加倍。 impl RawVec { // ... pub fn try_grow(&mut self) { if mem::size_of::() == 0 { return; // 1 } if self.cap == 0 { *self = Self::with_capacity(1); // 2 return; } let old_layout = Layout::array::(self.cap).unwrap(); // 3 let new_cap = self.cap << 1; let new_size = old_layout.size() * new_cap; // This is safe because it conforms to the [safety contracts][1]. // // [1]: https://doc.rust-lang.org/1.49.0/alloc/alloc/trait.GlobalAlloc.html#safety-4 let ptr = unsafe { realloc(self.ptr.cast(), old_layout, new_size) }; if ptr.is_null() { handle_alloc_error(old_layout); } // ...Old allocation is unusable and may be released from here at anytime. self.ptr = ptr.cast(); // 4 self.cap = new_cap; }\n} ZST 的空間不需加倍,直接返回。 原本空間容量為零的狀況,直接配置容量為一的空間。 準備 realloc 需要的參數:容量超過零的,取得舊的記憶體佈局,並乘上翻倍後的容量,算出新的空間大小。這讓之後呼叫 realloc 時符合其安全條款:合法指標、空間大於零、記憶體佈局為該區塊的舊佈局。 呼叫 realloc 之後,原先記憶體區塊可能被釋放,因此不該繼續用舊指標,此以新指標取代之。 終於將手動配置記憶體的邏輯封裝在 RawVec 裡面,外部不需要弄髒手搞記憶體了!","breadcrumbs":"雙端佇列 Deque » 手動配置記憶體","id":"176","title":"手動配置記憶體"},"177":{"body":"有了 RawVec,現在可以將先前缺失的 SomeStorageType 補上,初始化的方法也異常單純。 pub struct Deque { tail: usize, head: usize, ring_buf: RawVec,\n} impl Deque { pub fn new() -> Self { Self { tail: 0, head: 0, ring_buf: RawVec::with_capacity(DEFAULT_CAPACITY), } }\n} 至此,Deque 結構體的佈局設計告一段落,接下來就是各種方法實作。","breadcrumbs":"雙端佇列 Deque » Deque","id":"177","title":"Deque"},"178":{"body":"身為一個雙端佇列,會有以下符合定義的基本操作: new:初始化一個容器。 push_front:在容器最前端新增一個元素。 push_back:在容器最末端新增一個元素。 pop_front:移除在容器最前端的元素。 pop_back:移除在容器最末端的元素。 另外為了提升方便性,也提供了一些方法: front:查看容器最前端的元素。 back:查看容器最末端的元素。 len:檢查容器內的元素數目。 is_empty:檢查容器內是否沒有任何元素。 iter、iter_mut、into_iter:產生一個疊代容器內所有元素的疊代器。 因為需要比較動態精細地控制記憶體,少不了一些內部方法: is_full:檢查底層環形緩衝區是否滿載。 try_grow:嘗試動態增加底層儲存空間。 wrapping_add、wrapping_sub:確保邏輯索引的增減正確映射到底層實際索引位址。","breadcrumbs":"雙端佇列 Deque » 基本操作","id":"178","title":"基本操作"},"179":{"body":"前一段 提及環形緩衝區可以從頭尾增加元素,這一段來說明「如何封裝環形緩衝區內部的物理索引」,讓外部的邏輯索引可映射到內部已儲存合法數值的緩衝區位址。 再回來看容量為 8 的雙端佇列的例子,已進行一系列操作: push_back 1 push_back 2 push_back 3 push_back 4 push_front 5 push_front 6 h t\n---------------\n1 2 3 4 x x 6 5\n--------------- 如果我們要按照順序,從佇列的 tail 到 head 印出所有元素,應該從 tail 開始,逐一增加索引,依序 6 5 1 2 3 4 印出,我們畫上虛擬的元素對應位置: ~: virtual element h t -->\n-----------------------\n1 2 3 4 x x 6 5 1 2 3 4\n----------------------- ~ ~ ~ ~ 顯而易見,虛擬元素對應的索引是 8、9、10、11,已經超過緩衝區的長度,可以利用 模除運算 計算物理索引,將索引固定在一定長度內。目前緩衝區容量為 8,所以將索引全部 模除 8: 8 % 8 = 0:對應到 [0] 的元素 1 9 % 8 = 1:對應到 [1] 的元素 2 10 % 8 = 2:對應到 [2] 的元素 3 11 % 8 = 3:對應到 [3] 的元素 4 模除是直觀的作法,但還有更神奇的思路:位元運算(bitwise arithmetic)。只要拿 7 跟這些索引做 & 位元 AND 運算,也能得到相同結果。 8 9 10 11 <- Logical 0b1000 0b1001 0b1010 0b1011\n& 0b0111 0b0111 0b0111 0b0111\n----------------------------------- 0b0000 0b0001 0b0010 0b0011\n= 0 1 2 3 <- Actual 這邊使用 7 有其意義: 7 是 $2^3 - 1$,剛好 $2^n - 1$ 在是二進位制中全部位元都會是 1 ,任意數與 $2^n - 1$ 做位元 AND 運算,可以得到低位 n 位中有多少 1,同時捨棄大於 n 的位元。這個特性不偏不倚和模除的結果相同。 還記得環形緩衝區有個特性嗎: 容量僅剩一個儲存單元時,表示緩衝區已滿 。若能保證環形緩衝區的容量必為 $2^n$,當緩衝區滿時,元素個數定為 $2^n - 1$,完全符合前一點的特性。 綜合以上,只需要保證緩衝區容量是 $2^n$,將邏輯索引映射到實際索引,只要將索引和實際可用容量($2^n - 1$)做位元 AND 運算即可: fn wrap_index(index: usize, size: usize) -> usize { debug_assert!(size.is_power_of_two()); index & (size - 1)\n} 接下來,就可以推出 wrapping_add 和 wrapping_sub 這兩支正確增減索引的方法: impl Deque { // ... fn wrapping_add(&self, index: usize, addend: usize) -> usize { wrap_index(index.wrapping_add(addend), self.cap()) } fn wrapping_sub(&self, index: usize, subtrahend: usize) -> usize { wrap_index(index.wrapping_sub(subtrahend), self.cap()) } fn cap(&self) -> usize { self.ring_buf.cap() }\n} 上面用環繞算術運算(wrapping arithmetic operation) 可以使開發更方便,例如遇上 index 0 而 subtrahend 1 時,巧妙避開 $0 - 1 = -1$ 但 usize 不能為負的限制,直接環繞回 usize::MAX。 值得一提的是,在 Deque::cap 這個簡單的封裝上呼叫了 RawVec::cap,這是新增的方法,旨在提供 ZST 一個很大很大的虛擬容量,但同時保證是 2 的次方: impl RawVec { // ... pub fn cap(&self) -> usize { if mem::size_of::() == 0 { 1usize << (mem::size_of::() * 8 - 1) } else { self.cap } }\n}","breadcrumbs":"雙端佇列 Deque » 邏輯索引映射","id":"179","title":"邏輯索引映射"},"18":{"body":"相較於 Big O 描述演算法成長趨勢的上界,Big Omega 則是對應成長趨勢的「下界」,定義如下: $$f(n) = \\Omega(g(n)) \\colon {\\exists k>0\\ \\exists n_0\\ \\forall n>n_0\\ |f(n)| \\geq k \\cdot g(n)}$$ 以 $f(n) = 3n + 4$ 為例,有一組 $k = 2;\\ g(n) = n;\\ n_0 = 0$ 滿足上式,因此這個演算法在輸入資料夠大時,「至少」會達到 $\\Omega(n)$ 的複雜度,也就是「該演算法的成長趨勢不會比 $g(n)$ 來得慢」。","breadcrumbs":"漸進符號 Asymptotic Notation » $\\Omega$:Big Omega","id":"18","title":"$\\Omega$:Big Omega"},"180":{"body":"前面提及環形緩衝區是長度固定的陣列,但雙端佇列若必須固定長度就太沒路用,直觀作法就是透過加倍 RawVec 容量,再繼續新增元素。這個想法沒錯,但會遇到一個問題:如何確保邏輯索引在記憶體加倍後依然正確映射到實際索引?這裡舉一個實際案例: Before: h t\n[o o o o x x o o] Resize: h t\n[o o o o x x o o | x x x x x x x x] 同樣一個容量為 8 的佇列,觸發了記憶體重新配置,所以記憶體加倍,無奈今非昔比,現在的邏輯索引 tail 無法映射到實際索引,環形緩衝區的「環」已經斷掉。若我們繼續 push_back 往 head 添加元素,就會覆蓋掉 tail 和後面的元素。 after 4 push_back: overwritten: ⌀\nnewly added: _ t h\n[o o o o o o ⌀ ⌀ | x x x x x x x x] _ _ _ _ 有鑑於此,需要修正將斷掉的環,最簡單的作法就是將緩衝區首個索引到 head 之前的索引這段記憶體空間,複製到新翻倍的空間上,讓 tail 在 head 前面,合法的記憶體區塊再次變得連續: Before: h t\n[o o o o x x o o] Resize: h t\n[o o o o x x o o | x x x x x x x x] Copy: t h\n[x x x x x x o o | o o o o x x x x] _ _ _ _ _ _ _ _ 了解實作的目標後,先定義個容量已滿的方法暖暖身: fn is_full(&self) -> bool { self.cap() - self.len() == 1 } 然後是 try_grow 的實作: fn try_grow(&mut self) { if self.is_full() { let old_cap = self.cap(); // 1 self.ring_buf.try_grow(); // 2 // 3 if self.tail > self.head { // The content of ring buffer won't overlapped, so it's safe to // call `copy_nonoverlapping`. It's also safe to advance the // pointer by `old_cap` since the buffer has been doubled. unsafe { let src = self.ptr(); // 4-1 let dst = self.ptr().add(old_cap); // 4-2 ptr::copy_nonoverlapping(src, dst, self.head); } self.head += old_cap; // 5 } } } 將舊的容量存起來,因為當 ring_buf 容量翻倍後,cap() 返回的容量就會翻倍。 呼叫 RawVec::try_grow() 讓容量翻倍。 在 tail 大於 head 時,代表環在翻倍後會不連續,所以需要複製元素。 這裡用 ptr::copy_nonoverlapping 進行位元複製,此函式語義上與 C 的 memcpy 相同。 取得緩衝區首個索引的位址,作為複製的起始位址。 取擴增後部分的首個索引位址,作為複製的目標位址。 實際呼叫 memcpy ,因為 head 永遠比最後一個元素索引多 1,剛好可作為元素數目。 被複製的元素位移了 old_cap,因此更新 head 映射到正確的 head + old_cap。 我們完成了動態增加容量的方法的同時,也維持邏輯索引映射的正確性。 這裡維持索引正確性有稍微簡化,更高效優美的解法請參考標準函式庫 VecDeque::handle_capacity_increase 。","breadcrumbs":"雙端佇列 Deque » 動態增加記憶體空間","id":"180","title":"動態增加記憶體空間"},"181":{"body":"查看首末兩段的元素非常簡單,不過由於涉及底層儲存空間的指標操作,所以需要寫 Unsafe Rust: pub fn front(&self) -> Option<&T> { if self.is_empty() { return None; } // This is safe because the offset is wrapped inside valid memory region. unsafe { Some(&*self.ptr().add(self.tail)) } } pub fn back(&self) -> Option<&T> { if self.is_empty() { return None; } let head = self.wrapping_sub(self.head, 1); // This is safe because the offset is wrapped inside valid memory region. unsafe { Some(&*self.ptr().add(head)) } } 兩個函式都先判斷雙端佇列是否為空,再做指標位移運算,head - 1 是 back 的指標位移量,而 front 就直接回傳 tail 指向的值。其中 &* 是常見的 Rust 模式,可視為 將裸指標「升級」為更安全的引用型別 ,步驟如下: 解引用裸指標,得到底下的裸數值。 建立一個安全的引用,指向裸數值。 這裡再來品嚐 is_empty 和 len 的實作: pub fn is_empty(&self) -> bool { self.len() == 0 } pub fn len(&self) -> usize { self.head.wrapping_sub(self.tail) & (self.cap() - 1) } len 用了環繞算術運算,讓 head - tail 能正確算出兩者的距離,並在用前面提及的「容量 - 1」的 $2^n - 1$ 做位元 AND 運算來捨棄高位。","breadcrumbs":"雙端佇列 Deque » 查看元素","id":"181","title":"查看元素"},"182":{"body":"來看從頭尾刪除元素的 pop_front 和 pop_back: pub fn pop_front(&mut self) -> Option { if self.is_empty() { return None; // 1 } let tail = self.tail; self.tail = self.wrapping_add(self.tail, 1); // 2 // This is safe because the offset is wrapped inside valid memory region. unsafe { Some(self.ptr().add(tail).read()) } // 3 } pub fn pop_back(&mut self) -> Option { if self.is_empty() { return None; // 1 } self.head = self.wrapping_sub(self.head, 1); // 2 // This is safe because the offset is wrapped inside valid memory region. unsafe { Some(self.ptr().add(self.head).read()) } // 3 } 同樣先判斷雙端佇列是否為空。 再來移動到下一個合法的索引上,會是 head - 1 或 tail + 1。 最後是指標位移再讀取,注意,雖然 ptr::read 會複製指標指向的值,但可視為所有權轉移到回傳值上了,這是因為倘若原始 src 指向的資料帶有其他指標,那麼繼續使用 src 就可能導致記憶體安全問題。 再來看增加元素的 push_front 與 push_back: pub fn push_front(&mut self, elem: T) { self.try_grow(); // 1 self.tail = self.wrapping_sub(self.tail, 1); // 2 // This is safe because the offset is wrapped inside valid memory region. unsafe { self.ptr().add(self.tail).write(elem) } // 3 } pub fn push_back(&mut self, elem: T) { self.try_grow(); // 1 let head = self.head; self.head = self.wrapping_add(self.head, 1); // 2 // This is safe because the offset is wrapped inside valid memory region. unsafe { self.ptr().add(head).write(elem) } // 3 } 同樣先判斷雙端佇列是否為空。 再來移動到下一個合法的索引上,會是 head + 1 或 tail - 1。 最後是指標位移再寫入, ptr::write 不會觸發讀取或是 drop 裸指標指向的值,但使用上仍然要確認存取該位址是否合法。 以上就是 Deque 基本操作方法,至此,剩下最後一步「 正確釋放記憶體 」,雙端佇列基本款就完成了。","breadcrumbs":"雙端佇列 Deque » 增刪元素","id":"182","title":"增刪元素"},"183":{"body":"Rust 提供許多特徵(Trait),實作特徵可以讓資料結構更方便,更符合 Rust 社群的寫作慣例。","breadcrumbs":"雙端佇列 Deque » 特徵","id":"183","title":"特徵"},"184":{"body":"這是 Deque 最重要的特徵之一,也是完成 Deque 基本款的最後一個必要功能。Drop 會用來釋放儲存在 Deque 裡面元素的資源。實作是將所有元素 pop_back 出來,所有權轉移到 drop 函式內,函式本體執行結束後,就會自動呼叫該元素型別的 drop 並釋放資源。 impl Drop for Deque { fn drop(&mut self) { while let Some(_) = self.pop_back() {} }\n} 也許你會問「為什麼不在 Deque.ring_buf 的 RawVec 實作 Drop 來釋放其內容的資源?」主因是權責區分,RawVec 僅負責釋放它自行配置的堆疊記憶體,不清楚內容元素該如何釋放記憶體,例如內容可能是 Region-based memory management ,一起釋放效率更高,元素各別 mem::drop 反而拖累效率。 事實上 Deque::drop 也能更高效, std::colletions::VecDeque::drop 就是直接 drop 兩個指向切片(slice)的指標,而非每個元素各自處理,雖然最後可能殊途同歸,視編譯器最佳化程度而定。","breadcrumbs":"雙端佇列 Deque » Drop","id":"184","title":"Drop"},"185":{"body":"身為容器型別,沒有疊代器簡直不能用,Rust 提供許多疊代器特徵供實作,其中 Iterator 特徵最為基礎且重要,實作 Iterator 特徵需求一個 next 方法,會不斷回傳下一個元素。任何實作 Iterator 特徵的型別,都可以放入 for 迴圈疊代。 而 Rust 常見的疊代器設計模式包含三個產生疊代器的方法: iter():慣例上回傳會產生不可變引用 &T 的 Iterator。 iter_mut():慣例上回傳會產出可變引用 &mut T 的 Iterator。 into_iter():慣例上回傳吃掉所有權 T 的 Iterator ,通常直接實作 IntoIterator 特徵即可,我們在 下一段 介紹它。 實作 Iterator 需要新的結構體,以儲存疊代的內部狀態: pub struct Iter<'a, T> { head: usize, tail: usize, ring_buf: &'a [T],\n} pub struct IterMut<'a, T> { head: usize, tail: usize, ring_buf: &'a mut [T],\n} Iter:由於定位 Deque 中有元素的合法記憶體區域需要 head 和 tail,因此儲存該兩者,並且儲存底層的環形緩衝區的切片引用,方便存取元素。 IterMut:同 Iter,但改為儲存可變的切片引用。 來看看 Iter 如何實作疊代器: impl<'a, T> Iterator for Iter<'a, T> { type Item = &'a T; fn next(&mut self) -> Option { if self.tail == self.head { return None; // 1 } let tail = self.tail; // 2 self.tail = wrap_index(self.tail.wrapping_add(1), self.ring_buf.len()); // 3 self.ring_buf.get(tail) // 4 }\n} 當 tail 等於 head 時,代表環形緩衝區為空,直接回傳 None。 tail 是 Deque 最前端,這裡先將當前的 tail 儲存起來。 再將 Iter 上的 tail 增加 1(不影響原始 Deque),下一次呼叫 next 就會取得下一個元素。 利用第二步儲存的當前 tail,配合 slice::get 直接回傳一個元素。 再來處理 IterMut::next,直觀上將 Iter::next 的 self.ring_buf.get(tail) 改成 get_mut 即可。 impl<'a, T> Iterator for IterMut<'a, T> { type Item = &'a mut T; fn next(&mut self) -> Option { if self.tail == self.head { return None; } let tail = self.tail; self.tail = wrap_index(self.tail.wrapping_add(1), self.ring_buf.len()); self.ring_buf.get_mut(tail) // Change to `get_mut` }\n} 欸!居然編譯失敗了,到底為什麼呢? error[E0495]: cannot infer an appropriate lifetime for autoref due to conflicting requirements --> src/collections/deque/mod.rs:353:23 |\n353 | self.ring_buf.get_mut(tail) | ^^^^^^^ |\nnote: first, the lifetime cannot outlive the anonymous lifetime #1 defined on the method body at 347:5... --> src/collections/deque/mod.rs:347:5 |\n347 | fn next(&mut self) -> Option<&'a mut T> { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nnote: ...so that reference does not outlive borrowed content --> src/collections/deque/mod.rs:353:9 |\n353 | self.ring_buf.get_mut(tail) | ^^^^^^^^^^^^^\nnote: but, the lifetime must be valid for the lifetime `'a` as defined on the impl at 344:6... --> src/collections/deque/mod.rs:344:6 |\n344 | impl<'a, T> Iterator for IterMut<'a, T> { | ^^\nnote: ...so that the expression is assignable --> src/collections/deque/mod.rs:353:9 |\n353 | self.ring_buf.get_mut(tail) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: expected `Option<&'a mut T>` found `Option<&mut T>` 這個編譯錯誤是因為匿名的 &mut self 和 Self::Item 兩者生命週期不匹配。以下把函式簽名的生命週期展開來看: fn next<'anonymous>(&'anonymous mut self) -> Option<&'a mut T> { // ... self.ring_buf // &'anonymous [T] .get_mut(tail) // Some(&'anonymous mut T) } 嗯,這不太對,我們知道 Rust 保證「就算 drop 了疊代器本身,產出的元素仍然合法」,產出的元素若為引用絕對 不會是迷途引用 ,例如下面範例: let a = iter.next().unwrap();\nlet b = iter.next().unwrap();\ndrop(iter);\nuse_both(a, b); 但編譯器只看型別是否正確,並無法檢查執行期間的 &mut self 內部 ring_buf 和 Self::Item 是否活得一樣久,且由於 Iterator::next 函式簽名上沒有對 &mut self 的生命週期做任何限制,因此無法寫出下列這種預期中的生命週期限制(可視為要求 'b 至少活得跟 'a 一樣長): impl<'a, T> Iterator for IterMut<'a, T> { type Item = &'a mut T; fn next<'b: 'a>(&'b mut self) -> Option { // ...omit }\n} // error[E0195]: lifetime parameters or bounds on method `next` do not match the trait declaration\n// --> src/collections/deque/mod.rs:347:12\n// |\n// 347 | fn next<'b: 'a>(&'b mut self) -> Option {\n// | ^^^^^^^^ lifetimes do not match method in trait 當然,我們知道回傳 ring_buf 的 &'a mut T 在生命週期上合法,但編譯器認不出來,所以 unsafe 又要來拯救世界。 impl<'a, T> Iterator for IterMut<'a, T> { type Item = &'a mut T; fn next(&mut self) -> Option { if self.tail == self.head { return None; } let tail = self.tail; self.tail = wrap_index(self.tail.wrapping_add(1), self.ring_buf.len()); // This unsafe block is needed for solving the limitation of Iterator // trait: the `&mut self` is bound to an anonymous lifetime which rustc // cannot figure out whether it would outlive returning element. Hence // the explicit pointer casting is required. unsafe { let ptr = self.ring_buf as *mut [T]; // 1 let slice = &mut *ptr; // 2 slice.get_mut(tail) // 3 } }\n} 將 ring_buf 轉換成裸指標,因為裸指標無生命週期,所以 &mut self 給的限制不見了。 再把 ptr 指向的 *mut [T] 裸指標轉換成有生命週期的可變引用 &mut [T] 的切片。藉由 Rust 對回傳型別的自動推斷,此切片的實際型別會是 &'a mut [T]。Got it!這就是我們所要的。 老老實實地呼叫 slice::get_mut,完全正確。 這類 An iterator yields borrowing contents from itself 的問題,有個俗名叫做 streaming iterator ,可以透過 泛型關聯型別 (generic associated type a.k.a GAT)解決,但目前 GAT 尚未穩定。詳情可參考這篇介紹 GAT 與 streaming iterator workaroud 的文章。 欸,或許你有疑惑,Iter::next 不也同樣有生命週期問題嗎,為什麼沒有報錯呢?這是因為 所有 &T 引用都預設實作 Copy 特徵 ,呼叫 slice::get() 時會 自動複製 ring_buf 的引用,因此沒有生命週期的問題,但 &mut T 並沒有實作 Copy 特徵,才會遇上生命週期不符的編譯錯誤。","breadcrumbs":"雙端佇列 Deque » Iterator","id":"185","title":"Iterator"},"186":{"body":"相較於 Interator, IntoIterator 是一個讓容器型別錦上添花的特徵,主要功能是:將一個型別自動轉換為有實作 Iterator 的型別,實作後該型別就可以直接放入 for 迴圈中。 例如下列用法: let mut d = Deque::new();\nd.push_back(1);\nd.push_back(2);\nd.push_front(3);\nd.push_front(4); for elem in &d { println!(\"{:?}\". elem);\n} for elem in &mut d { *elem *= *elem;\n} 實作上分三個: impl IntoIterator for Deque:將容器轉換成疊代器,並轉移容器和元素的所有權。 impl<'a, T> IntoIterator for &'a Deque:將容器不可變引用轉換成不可變元素的疊代器。 impl<'a, T> IntoIterator for &'a mut Deque:將容器可變引用轉換成可變元素的疊代器。 先說明後面兩者。以下實作非常簡單,只要根據容器引用可變與否,對應呼叫前一段提及的 Deque::iter 或 Deque::iter_mut 即可,這算是 Rust 容器型別的一貫作法。 impl<'a, T> IntoIterator for &'a Deque { type Item = &'a T; type IntoIter = Iter<'a, T>; fn into_iter(self) -> Self::IntoIter { self.iter() }\n} impl<'a, T> IntoIterator for &'a mut Deque { type Item = &'a mut T; type IntoIter = IterMut<'a, T>; fn into_iter(self) -> Self::IntoIter { self.iter_mut() }\n} 至於 impl IntoIterator for Deque 和 iter 與 iter_mut 不一樣,會吃所有權,所以需要宣告額外的結構體來儲存其內部狀態,並直接實作 IntoIterator 要求的 into_iter 方法: pub struct IntoIter(Deque); impl IntoIterator for Deque { type Item = T; type IntoIter = IntoIter; fn into_iter(self) -> Self::IntoIter { IntoIter(self) }\n} 此疊代方法中,佇列內元素的所有權會轉移,所以不需要跟 Iter 一樣保存切片,可以直接存整個 Deque 作為內部狀態,拿走 Deque 的所有權。 既然掌控 Deque 所有權,實作疊代器就沒有困難了,直接將所有元素 pop 取出即可。 impl Iterator for IntoIter { type Item = T; fn next(&mut self) -> Option { self.0.pop_front() }\n}","breadcrumbs":"雙端佇列 Deque » IntoIterator","id":"186","title":"IntoIterator"},"187":{"body":"用索引下標 array[index] 取值的語法常見於各大主流語言,Rust 提供 Index 和 IndexMut 兩個特徵來實作這個運算子,讓容器型別更符合人體工學。 實作方法是利用 邏輯索引映射 段落實作的 wrap_index 得出實際索引,再透過指標取值即可。唯一需要注意的是越界存取(out of bound access)可能產生未定義行為,不符合 Rust 對記憶體安全的要求,所以在裸指標存取之前,就要直接 assert! 索引是否在元素數量的安全範圍內,防止越界存取。 impl Index for Deque { type Output = T; fn index(&self, index: usize) -> &Self::Output { assert!(index < self.len(), \"Out of bound\"); let index = self.wrapping_add(self.tail, index); // This is safe because the offset is wrapped inside valid memory region. unsafe { &*self.ptr().add(index) } }\n} impl IndexMut for Deque { fn index_mut(&mut self, index: usize) -> &mut T { assert!(index < self.len(), \"Out of bound\"); let index = self.wrapping_add(self.tail, index); // This is safe because the offset is wrapped inside valid memory region. unsafe { &mut *self.ptr().add(index) } }\n}","breadcrumbs":"雙端佇列 Deque » Index and IndexMut","id":"187","title":"Index and IndexMut"},"188":{"body":"最後,介紹一下 fmt::Formatter 有許多方便的 debug 格式化輸出的方法,例如 debug_list 可以丟一個疊代器,會轉化成序列般的輸出格式。 impl fmt::Debug for Deque { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { f.debug_list().entries(self.iter()).finish() }\n} 當然,如果想要對 RawVec 實作 Debug 特徵,免手寫,可直接用 derive 屬性讓 編譯器推導實作 。 #[derive(Debug)] // Add this line to derive Debug trait automatically.\nstruct RawVec { ptr: *mut T, cap: usize,\n}","breadcrumbs":"雙端佇列 Deque » Debug","id":"188","title":"Debug"},"189":{"body":"以環形緩衝區為底層儲存容器的雙端序列,各操作複雜度如下: Operation Best case Worst case push_front(v) $O(1)$ $O(1)$~ push_back(v) $O(1)$ $O(1)$~ pop_front(v) $O(1)$ $O(1)$~ pop_back(v) $O(1)$ $O(1)$~ front $O(1)$ $O(1)$ back $O(1)$ $O(1)$ len $O(1)$ $O(1)$ $n$:資料筆數。 $v$:資料值。 ~ :平攤後的複雜度(amortized)。 雙端佇列任何操作都是直接對 head 或 tail 的索引讀寫記憶體,複雜度皆為 $O(1)$,不過因為增減元素需要動態調整儲存空間大小,所以這些方法的時間複雜度需要平攤。 空間複雜度則是只用了一個環形緩衝區儲存元素,和幾個欄位儲存 tail、head 還有容量,因此額外空間複雜度只有 $O(1)$。","breadcrumbs":"雙端佇列 Deque » 效能","id":"189","title":"效能"},"19":{"body":"Big Theta 則是 Big O 與 Big Omega 兩個漸進上下界所夾出的範圍,表示該演算法在輸入資料夠大時,最終的複雜度會成長到這個範圍中。其定義如下: $$f(n) = \\Theta(g(n)) \\colon {\\exists k_1>0\\ \\exists k_2>0\\ \\exists n_0\\ \\forall n>n_0\\ k_1 \\cdot g(n) \\leq |f(n)| \\leq k_2 \\cdot g(n)}$$ 繼續以 $f(n) = 3n + 4$ 為例,同樣有一組 $k_1 = 1;\\ k_2 = 5;\\ g(n) = n;\\ n_0 = 2$,滿足 $$\\forall n \\geq 2,\\ n \\leq f(n) = 3n + 4 \\leq 5n$$ 可得知,$f(n) = 3n + 4 \\in \\Theta(n)$,表示「該演算法的成長趨勢與 $g(n) = n$ 相同」(見圖四)。 Fig. 4","breadcrumbs":"漸進符號 Asymptotic Notation » $\\Theta$:Big Theta","id":"19","title":"$\\Theta$:Big Theta"},"190":{"body":"Rust Documentation: VecDeque Rust RawVec Implementation Wiki: Circular buffer Circular Buffer Image by Cburnett CC BY-SA-3.0 via Wikimedia Commons.","breadcrumbs":"雙端佇列 Deque » 參考資料","id":"190","title":"參考資料"},"191":{"body":"鏈結串列是一種基本線性資料集合,每一個資料元素都是獨立的物件。儲存資料的方式和一般陣列配置連續物理記憶體空間不同,而是在各節點儲存額外的指標指向下一個節點。 (單向鏈結串列示意圖)","breadcrumbs":"鏈結串列概述 » 鏈結串列 Linked list","id":"191","title":"鏈結串列 Linked list"},"192":{"body":"鏈結串列有以下特性與優點: 不需事先知道資料型別大小,充分利用動態記憶體管理。 以常數時間插入/刪除,不需重新配置記憶體(reallocation)。 但也因動態配置記憶體等因素,連帶產生一些缺陷: 空間開銷大 :每個元素需儲存額外的指標空間。 較差的 CPU 快取 :不連續存取的特性,不利於 CPU 快取 。 不允許隨機存取(random access) :搜尋特定節點仍需線性時間循序存取。","breadcrumbs":"鏈結串列概述 » 特性","id":"192","title":"特性"},"193":{"body":"大多數的場景其實不太常使用鏈結串列,Rust 內建的 LinkedList 文件也建議,除非肯定要用鏈結串列,不然建議優先考慮其他類似的資料結構如 VecDeque 。話雖如此,鏈結串列仍有不少應用場景: 需要頻繁地插入與刪除資料。 需要頻繁分離與合併(split and merge)資料。 不需要隨機存取的資料。 遞迴友好,因此成為大多函數式語言中基本資料型別之一。 教學上,常用於實作抽象資料型別,如 堆疊 與 佇列 等等。","breadcrumbs":"鏈結串列概述 » 適用場景","id":"193","title":"適用場景"},"194":{"body":"","breadcrumbs":"鏈結串列概述 » 術語","id":"194","title":"術語"},"195":{"body":"又稱「節點」,為組成鏈結串列的基本元素,節點包含資料儲存區與指標儲存區,指標儲存區用以儲存指向其他節點位址的變數。此外,最後一個節點的不指向其他節點位址的指標成為 null pointer,慣例以 NULL 表示。 node-box (節點示意圖)","breadcrumbs":"鏈結串列概述 » Node","id":"195","title":"Node"},"196":{"body":"Head 為指向整個串列第一個節點的指標。而 tail 則為指向最後一個節點的指標。用 ASCII 圖表示如下: head tail | | v v\n+--------+ +--------+ +--------+\n| | | | | |\n| node 0 |-->| node 1 |-->| node 2 |--> NULL\n| | | | | |\n+--------+ +--------+ +--------+","breadcrumbs":"鏈結串列概述 » Head and tail","id":"196","title":"Head and tail"},"197":{"body":"Sentinal node 一個特殊的節點,資料值為 NULL 的節點,用意代表鏈結串列的端點。也就是說,sentinel node 指向串列第一個節點,而串列最後一個節點也會指向 sentinel node,就像哨兵一樣守著串列前後,因而得名。 實作鏈結串列時,常常因為判斷節點是否為 NULL 而讓程式變得複雜,而 sentinel node 可減少程式操作步驟,也能增加程式可讀性。詳細資訊可以參考這篇 NULL 與 sentinel node 的比較討論 。 +-----------------------------------------------+ | | v |\n+---------+ +--------+ +--------+ +--------+ |\n|sentinel | | | | | | | |\n| |-->| node 0 |-->| node 1 |-->| node 3 |--+\n| node | | | | | | |\n+---------+ +--------+ +--------+ +--------+","breadcrumbs":"鏈結串列概述 » Sentinel node","id":"197","title":"Sentinel node"},"198":{"body":"依據每個節點的鏈結多寡,可分為 單向鏈結串列 ,每個節點只有一個指標,指向下一個節點。 +--------+ +--------+ +--------+\n| | | | | |\n| node 0 |-->| node 1 |-->| node 2 |--> NULL\n| | | | | |\n+--------+ +--------+ +--------+ 雙向鏈結串列 ,每個節點有兩個指標,分別指向前後一個節點。 +--------+ +--------+ +--------+ | |-->| |-->| |--> NULL | node 0 | | node 1 | | node 2 |\nNULL <--| |<--| |<--| | +--------+ +--------+ +--------+ 倘若該鏈結串列末端節點的指標指向第一個的節點,形成一個循環,則稱之為「 循環鏈結串列 」。 Singly linked list as circular +-----------------------------------------+\n| |\n| +--------+ +--------+ +--------+ |\n| | | | | | | |\n+-->| node 0 |-->| node 1 |-->| node 3 |--+ | | | | | | +--------+ +--------+ +--------+ 詳細說明與實作請點選各個連結。","breadcrumbs":"鏈結串列概述 » 種類","id":"198","title":"種類"},"199":{"body":"Wiki: Linked list Singly linked list SVG By Lasindi [Public domain], via Wikimedia Commons.","breadcrumbs":"鏈結串列概述 » 參考資料","id":"199","title":"參考資料"},"2":{"body":"","breadcrumbs":"Rust Algorithm Club » 演算法","id":"2","title":"演算法"},"20":{"body":"看完了讓人昏昏欲睡的數學定義,現在來認識一些常見的複雜度,從最快最有效率,到最慢最拖台錢的通通一起認識。 $O(1)$:常數時間,演算法執行時間與資料量毫無瓜葛。例如讀取 array 首個元素。 $O(\\log n)$:執行時間隨資料量呈對數比例成長。常見的例子是 二元搜索(Binary search) 。 $O(n)$:執行時間隨資料量呈線性成長,例如在無序的 array 中尋找特定值。 $O(n \\log n)$:執行時間隨資料量呈線性對數成長,常見的 合併排序(Mergesort) 的複雜度即如斯。 $O(n^2)$:執行時間隨資料量呈平方成長,例如一些效率不彰的排序法如 氣泡排序(Bubble sort) 。 $O(n^3)$:執行時間隨資料量呈立方成長,常見例子為 naïve 實作的矩陣乘法。 $O(c^n)$:執行時間隨資料量呈指數成長。 $O(n!)$:執行時間隨資料量呈階乘成長,大部分情況下,這是非常差勁的複雜度。 若想一窺各種常見演算法的複雜度,可以參考這個最全面的 Big-O Cheat Sheet ,圖表非常精美直觀! 再次強調,漸進符號也可以代表其他執行成本如記憶體空間,並不一定代表執行時間。 其他的漸進符號還有 little-o、little-omega 等等,有興趣的朋友可以參考文末的資料。","breadcrumbs":"漸進符號 Asymptotic Notation » 常見的複雜度","id":"20","title":"常見的複雜度"},"200":{"body":"單向鏈結串列是鏈結串列家族中最簡單的版本,特色是每兩個節點間只有一個單向的鏈結。 head | v\n+--------+ +--------+ +--------+\n| | | | | |\n| node 0 |-->| node 1 |-->| node 2 |--> NULL\n| | | | | |\n+--------+ +--------+ +--------+ 比起 雙向鏈結串列 ,單向鏈結串列少了一個額外的指標開銷,在基本操作的花費也較低。在不需要雙向疊代情形下單向鏈結串列很適用。 此外,單向鏈結串列也支援 tail-sharing,也就是共享 sublist。藉由共享 sublist,單向鏈結串列很容易實作 persistent data structure ,再配合 immutable 特性,使得單向鏈結串列幾乎成為函數式程式語言最常見的集合型別之一。可以參考這篇 persistent immutable stack 實作 文章。 本次實作的程式碼置於 rust_algorithm_club::collections::SinglyLinkedList API 文件中。","breadcrumbs":"單向鏈結串列 Singly linked list » 單向鏈結串列 Singly linked list","id":"200","title":"單向鏈結串列 Singly linked list"},"201":{"body":"","breadcrumbs":"單向鏈結串列 Singly linked list » 實作設計","id":"201","title":"實作設計"},"202":{"body":"先建立最基本的節點 Node。 // cannot compile\nstruct Node { elem: T, next: Node,\n} Node.elem 很直觀地儲存實際資料。而 Node.next 則是指向下個 Node。但這樣編譯不會成功,Rust 編譯時需要決定每個型別該配置多少記憶體空間,這種遞迴型別使得編譯器無限循環,無法決定配置大小。 node-recursive 很簡單,我們使用 Box 這個 智慧指標 ,直接將 Node 配置在記憶體 heap 上。如此以來,編譯器就會知道 next 只佔了一個指標的空間。 struct Node { elem: T, next: Box>,\n} node-box 由於 Rust 沒有 null pointer,但照鏈結串列的定義,Node.next 可以是 NULL,因此我們使用 Option 模擬 null pointer 的行為。最後,Node 的定義如下: struct Node { elem: T, next: Option>>,\n}","breadcrumbs":"單向鏈結串列 Singly linked list » Node","id":"202","title":"Node"},"203":{"body":"在開始實作各種增刪節點的操作之前,我們需要建立一個 struct 存放指向鏈結串列 head 的指標,同時,各種操作也會實作在這個 struct 上。事實上,這個 struct 就是對外公開的資料結構。 pub struct SinglyLinkedList { head: Option>>,\n} 選擇把操作串列的函式寫在另一個 struct 而非 Node 上有幾個原因,1)外部並不需知道串列內部如何實作,公開 Node 會暴露實作。2)每個 Node 都帶有成員函式的話,函式指標會佔用太多額外資源。","breadcrumbs":"單向鏈結串列 Singly linked list » SinglyLinkedList","id":"203","title":"SinglyLinkedList"},"204":{"body":"串列的基本操作如下: new:初始化一個空串列。 push_front:新增節點到開頭的位置。 pop_front:將開頭第一個節點移除。 insert_after:在指定索引位置後插入一個新節點。 remove:移除任意索引下的節點。 clear:清除所有節點。 is_empty:檢查串列是否沒有任何節點。 reverse:反轉整個串列(head 變成 tail)。","breadcrumbs":"單向鏈結串列 Singly linked list » 基本操作","id":"204","title":"基本操作"},"205":{"body":"實做初始化與清除資料非常直觀。其中清除其實就只是將 self 指向新的串列實例。 impl SinglyLinkedList { pub fn new() -> Self { Self { head: None } } } 你可能會想,在清除所有資料時,資源需不需要手動釋放? 和 C++ 的 RAII 一樣,Rust 有一個名叫 drop 的解構式,只要程式執行離開了資源擁有者的可視範圍(out of scope),就會自動呼叫 drop。我們在 Drop trait 一節會再深入探討。","breadcrumbs":"單向鏈結串列 Singly linked list » 初始化與清除資料","id":"205","title":"初始化與清除資料"},"206":{"body":"單向鏈結串列在第一個節點前增加新節點,或是刪除第一個節點,都可以在常數時間完成。新增節點 push_front 的概念很簡單,1)建立新的節點,並把新節點 next 指標指向串列第一個節點。2)把串列的 head 指向新建立的節點。 pub fn push_front(&mut self, elem: T) { let next = self.head.take(); // 1 self.head = Some(Box::new(Node { elem, next })); // 2 } 釋放 SinglyLinkedList 對第一個節點的所有權 建立一新節點,並將原本第一個節點所有權轉移給新節點。再將新節點所有權轉移到串列本身。 刪除第一個節點 pop_front 的實作步驟如下:首先取得第一個節點的所有權,再將 head 指向第一個節點 Node.next 下一個節點,再返回第一個節點的資料給呼叫端。 pub fn pop_front(&mut self) -> Option { // Take ownership of head let head = self.head.take()?; // 1 self.head = head.next; // 2 Some(head.elem) // 3 } 取得第一個元素的所有權,若無首個元素,表示串列為空,此處利用 ? 運算子 直接回傳 None。 將 head 指向下一個節點。 返回即將刪除節點的資料。","breadcrumbs":"單向鏈結串列 Singly linked list » 增刪首個節點","id":"206","title":"增刪首個節點"},"207":{"body":"鏈結串列新增和刪除第一個節點都可以在 $O(1)$ 時間內做完,那為什麼插入刪除任意節點沒有辦法呢?原因是鏈結串列不支援隨機存取(random access),就是無法透過索引在常數時間內取得資料,每次的搜尋都只能從 head 開始。因此,當我們需要在某個索引的節點後新增一筆資料,我們會需要最差 $O(n)$ 的複雜度。 實作插入 insert_after 分為幾個步驟: pub fn insert_after(&mut self, pos: usize, elem: T) -> Result<(), usize> { let mut curr = &mut self.head; let mut pos_ = pos; // Find the node at `pos`. while pos_ > 0 { // 1 curr = match curr.as_mut() { Some(node) => &mut node.next, None => return Err(pos - pos_), }; pos_ -= 1; } // Take the ownership of current node. match curr.take() { // 2 Some(mut node) => { // Node A // Create new node. let new_node = Box::new(Node { // 3: Node B elem, next: node.next, }); // Re-link new node and current node. node.next = Some(new_node); // 4 // Assign current node back to the list. *curr = Some(node); // 5 } None => return Err(pos - pos_), } Ok(()) } 找到對應索引值的節點 A,若找不到則回傳這個串列的資料長度。 先取得節點 A 的所有權,才能修改它的值。 建立新節點 B,同時將節點 B 的 next 指向 A 的後一個節點。 將新節點 B 做為節點 A 後一個節點 next。 把修改過的節點 A,重新賦值給指向節點 A 的指標 curr(可視為歸還所有權)。 而實作刪除任意索引下的節點 remove 和插入非常相似。 pub fn remove(&mut self, pos: usize) -> Option { let mut curr = &mut self.head; let mut pos = pos; // Find the node at `pos`. while pos > 0 { // 1 curr = &mut curr.as_mut()?.next; pos -= 1; } // Assign next node to previous node.next pointer. let node = curr.take()?; // 2: Node A *curr = node.next; // 3: node.next is Node B Some(node.elem) // 4 } 找到對應索引值的節點 A,若找不到則回傳 None。 先取得節點 A 的所有權,才能修改它的值。 把節點 A 的後一個節點 B 賦值給原本指向節點 A 的指標 curr。 回傳節點 A 的值。","breadcrumbs":"單向鏈結串列 Singly linked list » 插入刪除任意節點","id":"207","title":"插入刪除任意節點"},"208":{"body":"反轉鏈結串列是工作面試時很常見的考題,這裡來實作看看。 pub fn reverse(&mut self) { let mut prev = None; // 1: prev -> Node P let mut curr = self.head.take(); // 2 while let Some(mut node) = curr { // 3: node -> Node A let next = node.next; // 3-1: next -> Node B node.next = prev.take(); // 3-2: Take ownership from previous node. prev = Some(node); // 3-3: Transfer ownership from current node to previous. curr = next; // 3-4: curr references to next node for next iteration. } self.head = prev.take(); // 4 } 先建立一個暫時變數 prev,儲存疊代時的前一個節點。 從串列 head 取得第一個節點的所有權。 依序疊代整個串列 將節點 A 的後一個節點 B 暫存起來。 節點 A 的 next 指向暫存在變數 prev 的節點 P。 節點 A 暫存在變數 prev 內,保留到下一個疊代使用。 將節點 B 儲存在變數 curr 內。此時 prev:節點 A,A 的 next 指向 P, curr:節點 B,B 的 next 指向 A。 最後一次疊代時,變數 prev 會儲存原始串列末端節點,這時轉移所有權到 head,完成反轉。","breadcrumbs":"單向鏈結串列 Singly linked list » 反轉","id":"208","title":"反轉"},"209":{"body":"除了基本操作,SinglyLinkedList 實作了許多 trait,使用上更方便更符合 Rust 的慣例。","breadcrumbs":"單向鏈結串列 Singly linked list » Traits","id":"209","title":"Traits"},"21":{"body":"善用漸進符號,可以讓原本複雜艱澀的實際複雜度,簡化至人類容易理解的簡單數學符號,也讓分析演算法效率更為客觀。但實際上,漸進符號省略了常數項與低次項,僅保留最高次項,這種「漸進行為下」的效能表現,在真實世界中,若輸入資料量不夠大,實際複雜度的低次項係數又比高次項大上許多,很可能這個演算法實際上根本沒辦法使用。 另外,漸進符號僅考慮最差與最佳複雜度,沒有考慮到平均複雜度。舉例來說, Quicksort 最差複雜度為 $O(n^2)$,乍看之下不是很理想,但這種情況非常稀少;其平均複雜度落在 $O(n \\log n)$,且其係數相對較低,額外開銷少,自然成為最熱門的排序法之一。 還有,漸進符號也沒有考慮到不同語言、平台的基礎操作開銷,例如實作排序法時,有些語言「比較」兩個元素的開銷比「置換」來得大,實作上就需要盡量減少置換元素。同樣的,CPU 快取也非常容易忽略,一些快速的搜尋法很可能因為不是 線性搜尋 ,沒辦法充分利用 CPU cache,效能不一定理想。 總之,漸進符號只能告訴你「當輸入資料量夠大時,演算法的複雜度表現如何」,並不總是適用每個情境,端看你怎麼使用他。","breadcrumbs":"漸進符號 Asymptotic Notation » 你可能不適合漸進符號","id":"21","title":"你可能不適合漸進符號"},"210":{"body":"如果一個 struct 有許多成員,則會遞迴呼叫 struct 的 drop 成員函式。因此,一個串列的解構式很可能發生深層的巢狀遞迴: # a linked list\na -> b -> c -> x -> y -> z # call stack when `drop` being called (a.drop (b.drop (c.drop (x.drop (y.drop (z.drop (z.dropped (y.dropped (x.dropped (c.dropped (b.dropped\n(a.dropped 如果節點一多,肯定會 stack overflow,太可怕了! 既然如此,那麼就透過 Drop trait ,實作一個疊代版本的解構式,消弭可怕的 call stack 吧。 impl Drop for SinglyLinkedList { fn drop(&mut self) { let mut link = self.head.take(); // 1 while let Some(mut node) = link { // 2 link = node.next.take(); // 3: Take ownership of next `link` here. } // 4: Previous `node` goes out of scope and gets dropped here. }\n} 取得 head 的所有權。 透過 pattern matching 取得 Node 裡面 Box 的所有權。 取得下一個 Node 的所有權,並將它指向共用的變數 link。 離開了 node 的 scope,node 呼叫 drop 釋放自身資源。 詳細思路過程可查看 Learning Rust With Entirely Too Many Linked Lists 的 Drop 章節,該章完整闡述為什麼不能用 tail recursive 來實作,但最大的原因是 Rust core team 暫時延緩實踐 tail call optimization 。 實際上,透過呼叫 pop_front(),不斷移除第一個節點,並使用 is_some() 檢查是否仍有節點,幾乎可以達到同樣的 drop 效果,而且更簡潔易懂。差別僅在於,相較於前個實作自己處理 call stack,這個實作每次移除元素都需要 pop_front() 與 is_some() 的 stack,多了些微小的開銷,雖然可透過 #[inline] attribute 提示編譯器,但終究只是提示。 impl Drop for SinglyLinkedList { fn drop(&mut self) { while self.pop_front().is_some() {} }\n}","breadcrumbs":"單向鏈結串列 Singly linked list » Drop trait","id":"210","title":"Drop trait"},"211":{"body":"既然鏈結串列是一種序列(sequence,有序的資料結構),少不了實作 Iterator 、 IntoIterator 等 trait,使串列可以輕鬆使用 for-in loop 遍歷(traverse)。 首先,先定義幾個疊代器的 struct。 pub struct IntoIter(SinglyLinkedList); pub struct Iter<'a, T> { next: Option<&'a Node>, // 1\n} pub struct IterMut<'a, T> { next: Option<&'a mut Node>,\n} 建立這三個 iterator struct 是常見的 Rust 設計模式。 IntoIter:產生 T,實作會吃掉元素所有權的 IntoIterator trait Iter:產生 &T,實作提供 immutable borrow 的 Iterator trait。 IterMut:產生 &mut T,實作提供 mutable borrow 的 Iterator trait。 相對應的,SinglyLinkedList 則新增三個成員函式: fn into_iter(self) -> IntoIter:轉移所有權的疊代器。 Into 一詞慣例上指涉所有權移轉。 fn iter(&self) -> Iter:以 immutable reference 疊代串列。 fn iter_mut(&mut self) -> IterMut:以 mutable reference 疊代串列。 先來看 IntoIter 實作。 // 1\npub struct IntoIter(SinglyLinkedList); // 2\nimpl Iterator for IntoIter { type Item = T; fn next(&mut self) -> Option { self.0.pop_front() }\n} // 3\nimpl IntoIterator for SinglyLinkedList { type Item = T; type IntoIter = IntoIter; /// Creates a consuming iterator, that is, one that moves each value out of /// the list (from start to end). The list cannot be used after calling this. fn into_iter(self) -> Self::IntoIter { IntoIter(self) }\n} 宣告一個 tuple struct,唯一的成員是 SinglyLinkedList。 實作 Iterator trait 的 required method next,為了達成 Into 會消耗原始資料,轉換所有權的特性,我們利用 pop_front() 將節點的資料依序刪除(pop)。 IntoInterator 的 required method 傳遞 self 進來,所以無論怎麼實作 IntoIter struct,呼叫 into_iter() 後,外部就無法再次存取此 SinglyLinkedList 實例,達到所有權轉移的目標。 可能有人會疑惑,IntoIter 並沒有內部狀態記錄欄位,疊代器如何依據狀態產生下一筆資料?受惠於 IntoIterator 傳遞所有權的特性,IntoIter 可直接改變原始串列的內部狀態,例如 pop_front 會移除原始串列的節點。因此,相較於 Iter、IterMut 額外記錄狀態,IntoIter 不需自行記錄疊代器的疊代狀態。 再來看看 Iter 怎麼實踐。 pub struct Iter<'a, T> { next: Option<&'a Node>, // 1\n} impl<'a, T> Iterator for Iter<'a, T> { type Item = &'a T; // 2 fn next(&mut self) -> Option { let node = self.next?; self.next = node.next.as_deref(); // 3 Some(&node.elem) }\n} impl SinglyLinkedList { // ... pub fn iter(&self) -> Iter { // 4 Iter { next: self.head.as_deref(), // 5 } }\n} 這個 struct 的 next 是為了儲存 Node 資訊,方便記錄疊代器當前的狀態。加上生命週期 'a 是因編譯器無法推敲 Option<&Node> 會活多久,需要顯著標明 &Node 至少與該疊代器同生共死。 由於 Iter 是為了實作產生 &T 的疊代器,associated type 設為 &'a T。 將當前節點的後一個節點設為 Iter 疊代器的狀態。並回傳當前節點的資料。 這邊用了 Option::as_deref() ,可直接將 Option 轉換成 Option<&T>,若 T 有實作 Deref 特徵,更可以將 T 轉為 Deref::Target,例如這裡就是藉由 Box::deref() 將 Box> 轉換為 &Node。 在 SinglyLinkedList 上加 iter() 成員函式回傳 Iter 疊代器。 產生疊代器初始化狀態,和第三步一模一樣。 最後,IterMut 與 Iter 疊代器實作上大同小異。把 Iter 用到 Option::as_deref() 改為 Option::as_deref_mut(),其他 & 改成 &mut 即可。","breadcrumbs":"單向鏈結串列 Singly linked list » Iterator and IntoIterator traits","id":"211","title":"Iterator and IntoIterator traits"},"212":{"body":"PartialEq trait 是用來實現兩個串列是否能夠比較,而我們在此定義如下: 有兩個 SinglyLinkedList Sa、Sb,Sa、Sb 的元素皆符合 PartialEq trait。當 Sa 的總節點數 等於 Sb 的總節點數, Sa 所有元素依序等於 Sb 所有元素, 則稱 Sa 與 Sb 有 partial equiavalence(Sa == Sb)。 實作上我們用了 iter 成員函式把兩個串列 zip 在一起,在用 all 確認元素兩兩相等,十分 Rust 風格的作法。 impl PartialEq for SinglyLinkedList { fn eq(&self, other: &Self) -> bool { if self.len() != other.len() { return false; } self.iter().zip(other.iter()).all(|pair| pair.0 == pair.1) }\n}","breadcrumbs":"單向鏈結串列 Singly linked list » PartialEq trait","id":"212","title":"PartialEq trait"},"213":{"body":"為了方便修復臭蟲,通常會實作 Debug trait 印出有助於解決問題的資料。歸功於 Iterator 的實踐,我們可以快速用 self.iter() 印出所有節點內的元素,客製化 Debug 的顯示方式。 impl std::fmt::Debug for SinglyLinkedList { fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { for node in self.iter() { write!(f, \"{:?} -> \", node)? } Ok(()) }\n}","breadcrumbs":"單向鏈結串列 Singly linked list » Debug trait","id":"213","title":"Debug trait"},"214":{"body":"Operation Complexity get $O(n)$ insert 節點已知:$O(1)$ ;節點未知:$O(n - i)$ remove 節點已知:$O(1)$ ;節點未知:$O(n - i)$ append $O(n)$ prepend $O(1)$ pop first $O(1)$ pop last $O(n)$ space $O(n)$ + 各節點額外一個指標 $n$ 個 $n$:資料筆數。 $i$:相對於整個容器的索引位置。 值得觀察的是,許多操作因為單向鏈結串列只能從 head 開始搜索的緣故,執行時間都呈線性,使用上要特別注意。","breadcrumbs":"單向鏈結串列 Singly linked list » 效能","id":"214","title":"效能"},"215":{"body":"Rust Documentation: LinkedList Learning Rust With Entirely Too Many Linked Lists Duscussions at Stackoverflow StackExchange: Reversal of a singly-linked list in Rust SVG of node memory representation modified from The Rust Programming Language","breadcrumbs":"單向鏈結串列 Singly linked list » 參考資料","id":"215","title":"參考資料"},"216":{"body":"關聯容器是一種抽象資料型別,儲存鍵與值配對關係(key-value pair)的集合,並透過鍵存取元素,所謂「鍵值對」好比身份證字號與公民,戶政單位知道一個人證號,就可在關聯容器內,透過證號查找是否有這個公民,以及此證號對應的公民基本資訊。 關聯容器有許多別名,例如字典(dictionary)、關聯陣列(associative array)、映射(map)、表(table)等。在大多數程式語言函式庫中,關聯容器通常是最基本的容器型別之一,如 Python 的 dict,JavaScript 的 Map,以及 Rust 的 HashMap。 方便起見,本文以「 映射表 」統稱這類集合型別。 (雜湊表示意圖)","breadcrumbs":"關聯容器概述 » 關聯容器 Associative Container","id":"216","title":"關聯容器 Associative Container"},"217":{"body":"一般來說,映射表有以下特性: 鍵值對為單向關係 :可透過鍵取得其唯一值;但無法確保一值僅對應唯一的鍵。 鍵值唯一性 :同個映射表內,同個鍵不重複,只會出現一次。 元素組合性 :映射表內每個元素都是「鍵值對」,鍵或值無法單獨存在。 操作開銷小 :合理實作下,基本操作開銷相對較小,不高於線性時間。 註:多重映射表為一對多的例外。 映射表會有以下幾種基本操作: 新增 :配對鍵值關聯,又稱為綁定 binding。 修改 :修改任意鍵之下的值。 移除 :透過任意鍵移除該鍵值對,又稱 unbinding。 查找 :透過任意鍵搜尋該鍵值對。 不難看出,基本操作都是透過鍵取得值。事實上,合理實作的映射表,只要透過鍵來操作,就能有良好效能,甚至上述操作能達到 $O(1)$ 複雜度。","breadcrumbs":"關聯容器概述 » 特性","id":"217","title":"特性"},"218":{"body":"雖然映射表依實作不同,效能有所權衡。但其最大優勢仍是可「高效地透過鍵尋找值」,只要有映射關係的資料,都非常適合使用映射表。例如,快取暫存機制需透過特定鍵快速查找暫存值。此外,現代常用的 JSON、TOML 等資料交換格式,都是「鍵—值對」的形式,非常適合使用映射表處理。而應用映射表最有名的實際案例莫過於資料庫的索引,透過索引,我們可以大大降低搜尋的成本,從線性時間直落到對數甚至常數時間,不過相對就需要付出額外時空間建立索引。 我們再次把應用場景條列出來,方便懶人帶著走。 有映射關係,處理「鍵—值」配對的資料結構。 處理 JSON、TOML 等資料交換,資料序列化。 實作快取(cache)機制。 資料庫索引的實作方法之一。 查找操作頻率遠高於其他操作時。 總的來說,只要資料有對應綁定關係,就可以考慮使用映射表處理。","breadcrumbs":"關聯容器概述 » 適用場景","id":"218","title":"適用場景"},"219":{"body":"以下簡單介紹常見的映射表,詳情請點擊各連結。","breadcrumbs":"關聯容器概述 » 種類","id":"219","title":"種類"},"22":{"body":"Wiki: Time complexity Wiki: Big O notation Brilliant: Big O Notation Infinite Loop: Complexity Analysis","breadcrumbs":"漸進符號 Asymptotic Notation » 參考資料","id":"22","title":"參考資料"},"220":{"body":"雜湊表 是以雜湊函數實作的映射表。透過 雜湊函數 將任意資料轉換為固定長度的雜湊值,並將此鍵與一筆資料綁定,再映射到內部資料結構的某位置。理論上,只要雜湊函數品質過得去,雜湊表的基本操作都能在常數時間完成。","breadcrumbs":"關聯容器概述 » 雜湊表 Hash Map","id":"220","title":"雜湊表 Hash Map"},"221":{"body":"有序映射表 係一種有特定排序方式的映射表。常見兩種排序方式,其一是依照插入映射表的先後順序;其二則是依照鍵的大小。不同排序的底層資料結構各異,操作複雜度也不盡相同,如依鍵大小排序的映射表通常使用搜索樹實作,因此「新增」操作的複雜度為較差的 $O(\\log n)$。","breadcrumbs":"關聯容器概述 » 有序映射表 Ordered Map","id":"221","title":"有序映射表 Ordered Map"},"222":{"body":"多重映射表 允許鍵值對重複,一個鍵可對應多個值(一對多)。類似於映射表內放入陣列,但能以較方便輕鬆的介面來操作或疊代整張映射表。","breadcrumbs":"關聯容器概述 » 多重映射表 Multimap","id":"222","title":"多重映射表 Multimap"},"223":{"body":"集合 實際上並無鍵值「關聯」,可將其想像成普通的映射表。只關心鍵而值不重要。集合借用了數學 集合論(set theory) 中有限集合的概念,常應用於需要操作交集、聯集、差集等集合運算場景。","breadcrumbs":"關聯容器概述 » 集合 Set","id":"223","title":"集合 Set"},"224":{"body":"布隆過濾器 是一種類似於集合,但只會回報「絕對不存在」或「可能存在」的機率資料結構,實作上節省空間,常用於在海量資料中確認成員是否存在,並能有一定容錯率的場景。","breadcrumbs":"關聯容器概述 » 布隆過濾器 Bloom Filter","id":"224","title":"布隆過濾器 Bloom Filter"},"225":{"body":"Wiki: Associative array Wiki: Associative containers cpprefernce.com: std::map Rust documentation: std::colledtion Map graph by Jorge Stolfi CC BY-SA-3.0 via Wikimedia Commons.","breadcrumbs":"關聯容器概述 » 參考資料","id":"225","title":"參考資料"},"226":{"body":"雜湊表是以雜湊函數實作的關聯容器。透過雜湊函數,計算鍵(key)對應到容器內部的索引位置,進而找到對應的值(value)。一般來說,雜湊表最常見的實作是以一個簡單陣列儲存資料。 雜湊表的優勢是: 在資料量大時,仍然維持常數時間的高效能。 若資料數量上限已知,就可避免重新配置記憶體,效能更佳。 若資料形態已知,就可針對該資料形態找尋適合的雜湊函數最佳化。 而雜湊表相對有以下短處: 資料量不夠大時,單一操作需要雜湊計算,開銷相對高。 效能與雜湊函數息息相關,較差的函數容易雜湊碰撞,較佳函數計算成本通常較高。 只能以某種偽隨機的順序疊代雜湊表。 本次實作的程式碼置於 rust_algorithm_club::collections::HashMap API 文件中。","breadcrumbs":"雜湊表 Hash map » 雜湊表 Hash Map","id":"226","title":"雜湊表 Hash Map"},"227":{"body":"建立雜湊表的第一步,就是配置一定大小的陣列(通常稱為 bucket array),來儲存對應索引的鍵值對。我們以建立電話簿為例,儲存人名與號碼的對應關係。 Create an empty phone book with some blank slots. +--------------+ | 0: | +--------------+ | 1: | +--------------+ | 2: | +--------------+ | 3: | +--------------+ 我們嘗試插入第一筆資料,記錄 Frodo 以及他的手機號碼 88-7-666。 透過雜湊函數,計算出 Frodo 的索引值為 1。 將 88-7-666 插入 table[1] 的位置上。 table[1] 這種 bucket array 下的個別索引空間,通常稱為一個 slot 或 bucket。 Fordo: hash_function(Frodo) --> 1 +-------------+ | 0: | +-------------+\nFrodo --> | 1: 88-7-666 | +-------------+ | 2: | +-------------+ | 3: | +-------------+ 嘗試插入另外二筆資料,記錄 Sam 的手機 11-2-333,以及 Gollum 的手機 00-0-000。 透過雜湊函數,計算出 Sam 的索引值為 2。 將 11-2-333 插入 table[2] 的位置上。 透過雜湊函數,計算出 Gollumn 的索引值為 0。 將 00-0-000 插入 table[0] 的位置上。 Sam: hash_function(Sam) --> 2 +-------------+ | 0: | +-------------+ | 1: 88-7-666 | +-------------+\nSam --> | 2: 11-2-333 | +-------------+ | 3: | +-------------+ Gollum: hash_function(Gollum) --> 0 +-------------+\nGollum -> | 0: 00-0-000 | +-------------+ | 1: 88-7-666 | +-------------+ | 2: 11-2-333 | +-------------+ | 3: | +-------------+ 若需要取得 Sam 的手機號碼,只要 透過雜湊函數,計算出 Sam 的索引值為 2。 從 table[2] 的索引位置上,找到 Sam 的手機號碼 Sam: hash_function(Sam) --> 2 +-------------+ | 0: 00-0-000 | +-------------+ | 1: 88-7-666 | +-------------+\nSam --> | 2: 11-2-333 | --> Sam's phone number +-------------+ | 3: | +-------------+ 這就是最基本,以陣列實作的雜湊表了。 然而,你可能已經開始好奇了。 雜湊是什麼?怎麼知道要映射到哪個索引位置? 雜湊函數是否會計算出相同的索引值?要如何解決? 若預先配置的陣列填滿了,該如何處理? 接下來,將探討這幾個魔術般的因子,從簡單介紹雜湊函數,到如何解決雜湊碰撞,最後探討陣列塞滿重配置解決方案。 註:雜湊表也可以搜尋樹等其他資料結構實作,在此不深入討論。","breadcrumbs":"雜湊表 Hash map » 概念","id":"227","title":"概念"},"228":{"body":"所謂的雜湊函數,就是一種將「較寬的定義域映射到較窄值域」的函數。簡單來說,就是輸入任意值到此函數,則輸出值會落在一已知範圍。再白話一點,雜湊函數就是用來「化繁為簡」,把複雜多變的東西,透過函數生成簡化版本。此外,相同的輸入鍵,必須得到相同的輸出雜湊值,這是雜湊函數很重要的一個特性,以虛擬碼表示: key1 == key2 -> hash(key1) == hash(key2) 「映射」這部分只是使用雜湊的一小步。雜湊表根據程式實作的不同,底層儲存資料的形式也不盡相同,為了完全放入陣列中,通常會對雜湊值(雜湊函數的計算結果)取模(modulo)。也就是說:假設有長度為 n 的陣列。1)先對 key 取雜湊值。2)再對雜湊值取模,確認索引值落在陣列內部。 Assumed: array_size = n hash_value = hash_function(key) // 1 index = hash_value % array_size // 2 如此一來,所有可能的值都會落在陣列內,這就是最簡單普遍的雜湊兩步驟:計算雜湊值﹢取模。","breadcrumbs":"雜湊表 Hash map » 雜湊","id":"228","title":"雜湊"},"229":{"body":"接下來,你會緊接著向問第二個問題「函數計算出相同索引值該怎麼辦?」不同輸入產生相同雜湊值,多個值映射到同個索引上,這種狀況科學家稱之 雜湊碰撞(hash collision) 。 首先,要瞭解雜湊函數本身就是時空間的權衡,如果記憶體空間夠多,那讓輸入值與雜湊值呈一對一的完美關係,就不會出現碰撞;大多數情況,尤其是實作泛用的雜湊函式庫,無法預期輸入資料的範圍,實務上會鎖定一個輸出雜湊值的範圍,僧多粥少,難免碰撞。 好的雜湊函數還必須符合一些條件: 同一筆輸入資料,必須得到相同的雜湊值。 結果必須能夠高效的計算出來(預期為常數時間)。 任意輸入資料所得之雜湊值在值域內需接近 均勻分佈(uniform distribution) ,才能減少碰撞機率。 但總歸一句,欲達成上述條件,就是一種權衡取捨,例如, 加密雜湊函數(cryptographic hash function) 即是非常優秀的雜湊函數,但相對需付出更高的計算成本。 更多雜湊函數相關的討論,會另撰 專文 。","breadcrumbs":"雜湊表 Hash map » 選擇雜湊函數","id":"229","title":"選擇雜湊函數"},"23":{"body":"線性搜尋,又稱為循序搜尋(sequential search),是一個在序列中找尋目標的方法。正如字面上的意義,線性搜尋會按照順序疊代序列,挨家挨戶比對每個元素與目標值是否相等,若相等則停止疊代,並回傳搜尋所得結果。 線性搜尋乍看之下,是最簡單實作也最 naïve 的實作,效能應該不怎麼好。事實上,在資料量不多時(少於 100 個元素),線性搜尋的效能也不會太差,因為其他搜尋演算法可能需要建立特殊資料結構,就會導致時空間初始開銷暴增,複雜度的常數項成本變大。","breadcrumbs":"線性搜尋 Linear search » 線性搜尋 Linear Search","id":"23","title":"線性搜尋 Linear Search"},"230":{"body":"既然雜湊函數人生在世難免碰撞,科學家也研究幾個處理雜湊碰撞的策略,分別是 separate chaining 與 open addressing。 Separate chaining 可以說是最直觀的做法,就是設法讓同一個索引下,可以儲存多個碰撞的值。依據儲存資料的形式,可分為幾種實作: 鏈結串列 :以 鏈結串列(linked list) 儲存元素。發生碰撞時,新的元素串接在既有元素之後。 動態陣列 :新增元素時,在該位址配置 動態陣列(dynamic array) 儲存元素。發生碰撞時,直接將新元素加在陣列尾端。 不同實作方式有各自優缺點,例如串列版本容易實作,但需額外儲存指標資訊;用動態陣列,則會有更好的 CPU caching,但相對地碰撞過多則需要重配置陣列。 以 ASCII 表述使用串列實作 separate chaining 示意圖如下: ... assumed hash values of Gimli and Gollum collided. +----------------+ +-> |Gollum, 00-0-000| (linked list) | +----------------+ | |\nGimli -+ | v | | +---------------+ | +--------+ | |Gimli, 99-9-999|\nGollum -->|0: ptr |--+ +---------------+ +--------+\nFrodo -->|1: ptr |----> +---------------+ +--------+ |Frodo, 88-7-666|\nSam -->|2: ptr |--+ +---------------+ +--------+ | |3: null | +-> +---------------+ +--------+ | Sam, 11-2-333 | (main bucket array) +---------------+ 而這邊也有精美的實作示意圖,將串列首個元素 head 直接放置在 slot 中的作法,減少一次指標操作。 (利用 separate chaining 實作的雜湊表,並將串列第一個元素放在 bucket array 中) 另一方面 Open addressing 則走完全不同的套路,不額外配置儲存空間給碰撞的元素,而是繼續在同個陣列內「探測」其他可用的 slot,再把資料塞進尚未被佔據的 slot 中。而 Open addressing 依據不同探測序列(probe sequence)有不同實作,常見的有: Linear probing :從發生碰撞索引開始,依序往下一個 slot 探測是否可用,因此得名「線性」。 Quadratic probing :從碰撞索引開始,間隔以二次式增加往下探測可用 slot,如 $i + 1^2, i + 2^2, i + 3^2$。 Double hashing :以固定間隔大小 $k$(probe distance),依序探測 $i + k, i + k \\cdot 2 ...$ 的 slot 是否為空。而這個間隔是以另外一個雜湊函數計算所得,因此得名「雙雜湊」。 $i$ 為發生碰撞的索引位置。 這些方法的差異主要在於 CPU caching 的效能,以及 HashMap 資料的群聚效應(clustering)的敏感程度。當然,論 caching 絕對非 linear probing 莫屬,但 linear probing 以線性一個挨一個探勘,效能較容易受雜湊值群聚影響。 以下是 linear probing(間隔 = 1)的示意圖。","breadcrumbs":"雜湊表 Hash map » 處理雜湊碰撞","id":"230","title":"處理雜湊碰撞"},"231":{"body":"若資料的筆數已知,那初始配置的陣列大小設定與資料筆數成比例,就不必擔心雜湊表空間不夠,需要重新配置(reallocate)儲存空間的困擾。倘若資料量未知,而最初配置的 bucket array 滿了,該如何重新配置呢? 動態調整大小對雜湊表來說,不同於一般動態陣列,舊的雜湊表若要對應到新雜湊表,是每個鍵都需要重新計算雜湊值(rehash),成本相對較高。因此,減少動態調整的次數,可說是調教雜湊表的重點之一。說到調教雜湊表,必定要瞭解一個重要指標: load factor 。 $$\\text{load factor} = \\frac{n}{k}$$ $n$:已放入雜湊表內的資料總數。 $k$:雜湊表配置的儲存空間(bucket 總數)。 Load factor 代表目前雜湊表的「使用率」,若三筆資料放在四個 bucket 內,則 load factor 為 $3/4 = 75%$。Load factor 太大會更容易碰撞,會有效能上的影響;太小則代表過多冗餘空間沒有使用。如何維持 load factor 在一定範圍內至關重要。一般來說,75% 的 load factor 就可以準備重新配置雜湊表了,當然,這個門檻仍要以實作經驗為主,例如 Rust 的 HashMap 使用了 Robin Hood Hashing ,將 load factor 調教到 90%。 重配置雜湊表與動態陣列的動態調整大小雷同,達到某個門檻值,就會將底層陣列大小翻倍。為了避免開銷過高,通常元素減少時,不會主動調整大小,而是提供一個 shrink_to_fit 一類的方法,讓呼叫端自行決定釋放多餘空間的時機。","breadcrumbs":"雜湊表 Hash map » 動態調整雜湊表大小","id":"231","title":"動態調整雜湊表大小"},"232":{"body":"在介紹架構設計之前,我們先來瞭解 Rust 雜湊相關的觀念與 trait。","breadcrumbs":"雜湊表 Hash map » 架構設計","id":"232","title":"架構設計"},"233":{"body":"要實作雜湊函數,當然可以自幹計算雜湊值的函式來用,那為什麼還要使用 Rust 定義好的 Hash 呢?當然是希望將雜湊的介面抽象化,只要型別宣告符合 Hash trait,任何人都可以輕鬆計算雜湊值。而實作 Hash 很簡單,只要寫一個 fn hash(),呼叫端就能透過它計算雜湊,例如: use std::hash::{Hash, Hasher}; struct Car { brand: String,\n} impl Hash for Car { fn hash(&self, state: &mut H) { self.brand.hash(state); }\n} 光是計算雜湊值還不夠,要確定「當鍵相等時,其雜湊值也相等」這極為重要的雜湊特性,這時候除了實作 Hash trait,Eq trait 也要同時實作,該型別才能夠「被比較」,標準函式庫的 HashMap 的鍵就是實作 Hash + Eq 的型別,詳情請參閱 trait 的文件說明。 綜合以上,可以大膽定論,我們將實作的雜湊表的 key 一定符合 K: Hash + Eq,key 本身才能相互比較(實作 Eq),並開放呼叫端自定義型別實作不同的雜湊計算方式(實作 Hash)。 為了方便計算雜湊值,我們寫了一個輔助函式,以達成雜湊兩步驟: 計算雜湊值﹢取模 。其中,我們使用了 Rust 預設的雜湊演算法 DefaultHasher ,省下實作雜湊函數的功夫。 fn make_hash(x: &X, len: usize) -> Option where X: Hash + ?Sized, // 1\n{ if len == 0 { return None; } // 2 let mut hasher = DefaultHasher::new(); // 3 x.hash(&mut hasher); Some(hasher.finish() as usize % len)\n} X 泛型參數除了 Hash,還必須是 Dynamically Sized Type (DST,型別記作 ?Sized) 防止以 0 取模(% modulo),除數不能為 0。 Rust 的 hasher 是一狀態機,每餵他吃資料,hasher.finish() 產生的雜湊值就不同,為了確保雜湊相同,這裡每次呼叫就建立一個全新的 hasher。 所謂 Dynamically Sized Types(DSTs) 是指無法靜態得知大小的型別,例如 slice,或是一個函式的參數接受實作某個 trait 型別( trait object ),而在 Rust 幾乎所有基礎型別預設都是 Sized 編譯期就可得知大小。而在這裡我們不關心知道實作該型別可否靜態決定大小,只需知道它是否實作 Hash,所以明確添加 ?Sized 表示接受 DSTs。","breadcrumbs":"雜湊表 Hash map » Hash and Eq","id":"233","title":"Hash and Eq"},"234":{"body":"我們嘗試建立可以儲存 key-value pair 的結構體,裡面配置一個 bucket array buckets。其中 K 泛型參數是準備計算雜湊的鍵,而 V 則是與鍵配對的資料。 pub struct HashMap where K: Hash + Eq { buckets: Vec<(K, V)>,\n} 可是,用單一 Vec 儲存所有資料,萬一雜湊碰撞,不同鍵指向同個索引值該如何?這次先挑選相對容易的方案 separate chaining 處理碰撞,並以 Vec 動態陣列作為每個 bucket 儲存碰撞元素的容器,因此,buckets 陣列裡面改存 Bucket 陣列,而 Bucket 則儲存真正的 key-value pair。 type Bucket = Vec<(K, V)>; // 1 pub struct HashMap where K: Hash + Eq { buckets: Vec>, // 2 len: usize, // 3\n} 宣告 bucket 的型別 Bucket,實際上是一個 type alias 指向儲存鍵值 (K, V) 的動態陣列。 將 HashMap.buckets 改為儲存 Bucket 的動態陣列。 新增 len 記錄容器當前鍵值對數目,在增刪資料時, len 都會同步更新。 之所以使用額外的成員記錄資料數目,是為了計算數目能在 O(1) 時間內完成,nested array 動態疊代每個 Bucket 計算的成本太高。 這就是 Vector-based separate chaining HashMap 的記憶體佈局,來看張精美的雜湊表架構佈局圖吧!","breadcrumbs":"雜湊表 Hash map » 記憶體佈局","id":"234","title":"記憶體佈局"},"235":{"body":"雜湊表有以下幾個基本操作: new:初始化一個空雜湊表。 with_capacity:配置特定數量 bucket 的雜湊表。 get:取得指定鍵對應的資料。 get_mut:取得指定鍵對應的資料,並可寫入修改(mutable)。 insert:在任意位置插入一組鍵值對。 remove:移除任意位置下的鍵值對。 clear:清除所有鍵值對。 is_empty:檢查雜湊表是否沒有任何鍵值對。 len:檢查目前鍵值對的數目。 bucket_count:檢查目前 bucket 的數目。 以及幾個內部方法: try_resize:根據給定條件,決定調整 bucket 數目的時機,讓 load factor 維持最適狀態。 make_hash:從輸入資料產生雜湊值,再模除 bucket 數,得到輸入資料對應的索引位置。 接下來解釋實作的重點。","breadcrumbs":"雜湊表 Hash map » 基本操作","id":"235","title":"基本操作"},"236":{"body":"雜湊表初始化相對容易,一樣慣例使用 new。 impl HashMap where K: Hash + Eq { pub fn new() -> Self { Default::default() } /// ...\n} impl Default for HashMap where K: Hash + Eq { fn default() -> Self { Self { buckets: Vec::>::new(), len: 0 } }\n} 這裡為了符合人因工程,使用了 Default trait 設定初始值。此外,由於 Rust 的容器型別慣例上沒有任何元素時,不會配置任何記憶體空間,僅有初始的 pointer。 HashMap 初始化後,記憶體空間僅需 buckets 的 Vec 佔據 3 個 usize 大小(一個 heap 指標,兩個記錄容量與長度的 usize。 len 本身佔據 1 個 usize 大小。 所以預設初始化的 HashMap 在 64bit machine 上佔 4 * usize = 32 bytes。 為了後續實作 resize 容易些,同時實作了指定 bucket 數目的建構式。 pub fn with_capacity(cap: usize) -> Self { let mut buckets: Vec> = Vec::new(); for _ in 0..cap { buckets.push(Bucket::new()); } Self { buckets, len: 0 }\n} 很清楚地,同樣建立一個空的 bucket array,再預先配置給定數量的 Bucket 。len 則因為沒有開始增加新值,而設定為 0。","breadcrumbs":"雜湊表 Hash map » 初始化與預設值","id":"236","title":"初始化與預設值"},"237":{"body":"存取元素的實作也非常直觀, 使用 make_hash 計算出 key 對應的索引位置, 再透過 Vec::get 取得該索引下的 bucket,找不到時則返回 None, 找到 bucket 後則對整個 bucket 線性搜索與 key 相同的鍵值對。 pub fn get(&self, key: &K) -> Option<&V> { let index = self.make_hash(key)?; self.buckets.get(index).and_then(|bucket| bucket.iter() .find(|(k, _)| *k == *key) .map(|(_, v)| v) )\n} 事實上,這個 get 不是非常方便使用,當我們透過 HashMep::get 搜尋特定鍵時,必須傳入一模一樣的型別,例如 HashMap<&str, u8> 就只能透過相同的 borrowed value &str 搜索,而不能透過 owned value &String 尋找,就算兩個型別可無痛轉換也無法。 因此我們可以參考 Rust 標準函式庫為泛型參數 K 實作 Borrow trait,抽象化 owned 與 borrowed 間的型別,讓呼叫端無論傳 owned 或 borrowed 型別都可以有相同的行為。 pub fn get(&self, q: &Q) -> Option<&V> where K: Borrow, Q: Hash + Eq + ?Sized\n{ let index = self.make_hash(q)?; self.buckets.get(index).and_then(|bucket| bucket.iter() .find(|(k, _)| q == k.borrow()) .map(|(_, v)| v) )\n} fn get_mut() 與 fn get() 的差異只在於呼叫了 self.bucket.get_mut 取得 mutable reference,這裡就不多做說明。","breadcrumbs":"雜湊表 Hash map » 存取單一元素","id":"237","title":"存取單一元素"},"238":{"body":"插入與刪除比較特別,需要做些額外的功夫: 在操作完成之後需依據操作結果增減 HashMap.len,確保 len 永遠記錄正確的鍵值對數目。 在執行插入之前,需額外「動態調整」儲存空間,確保記憶體配置足夠空間新增元素。 先來看看刪除怎麼實作。 pub fn remove(&mut self, q: &Q) -> Option where K: Borrow, Q: Hash + Eq + ?Sized\n{ let index = self.make_hash(q)?; // 1 self.buckets.get_mut(index).and_then(|bucket| { // 2 bucket.iter_mut() .position(|(k, _)| q == (*k).borrow()) .map(|index| bucket.swap_remove(index).1) }).map(|v| { // 3 self.len -= 1; // Length decreases by one. v })\n} 所有涉及搜尋的操作,第一步一定是計算雜湊值。 建立 mutable 的疊代器,利用 posiion 找到對應的鍵值對,再呼叫 Vec::swap_remove 移除。 前一步驟若有 return value 產生,表示移除一個元素,因此 self.len 需手動減一。 Vec::swap_remove 不需要 resize array,而是取得最後一個元素填補該空間,由於雜湊表的排序不重要,我們選擇 swap_remove 減少一點開銷。 而插入與移除非常相似。 pub fn insert(&mut self, key: K, value: V) -> Option { self.try_resize(); // 1 let index = self // 2 .make_hash(&key) .expect(\"Failed to make a hash while insertion\"); let bucket = self.buckets .get_mut(index) .expect(&format!(\"Failed to get bucket[{}] while insetion\", index)); match bucket.iter_mut().find(|(k, _)| *k == key) { // 3 Some((_ , v)) => Some(mem::replace(v, value)), // 3.1 None => { bucket.push((key , value)); // 3.2 self.len += 1; None } } // 4\n} 嘗試調整雜湊表大小,以確保 load factor 在閾值之間。 同樣地,根據鍵計算雜湊值,以取得對應的內部 bucket 位置。 疊代整個 bucket 尋找鍵相同的鍵值對。 若找到,使用 mem::replace 資料部分,不需取代整個鍵值對。 若找無,則新增一組新鍵值對到該 bucket 中,並將長度加一。 若插入操作實際上是更新原有資料,則回傳被更新前的舊資料 Some((K, V)),反之則回傳 None。 原則上「動態調整儲存空間」正確實作下,步驟二的 expect 不會發生 panic。 mem::replace 可當作將同型別兩變數的記憶體位置互換,也就同時更新了原始資料。","breadcrumbs":"雜湊表 Hash map » 插入與刪除元素","id":"238","title":"插入與刪除元素"},"239":{"body":"動態調整儲存空間大概是整個實作中最詭譎的一部分。首先,我們需要知道 容器內鍵值對的總數:透過 self.len,我們將取得 self.len 的邏輯包裝在 fn len(&self),以免未來長度移動至別處儲存計算。 容器內 bucket 的總數:計算 self.bucket.len(),同樣地,將之包裝在 fn bucket_count(&self),並開放給外界呼叫。 Load factor 閾值:記錄在 const LOAD_FACTOR,設定為 0.75。 前情提要完畢,接下來就是程式碼的部分了。 fn try_resize(&mut self) { let entry_count = self.len(); // 1 let capacity = self.bucket_count(); // Initialization. if capacity == 0 { // 2 self.buckets.push(Bucket::new()); return } if entry_count as f64 / capacity as f64 > LOAD_FACTOR { // 3 // Resize. Rehash. Reallocate! let mut new_map = Self::with_capacity(capacity << 1); // 4 self.buckets.iter_mut() // 5 .flat_map(|bucket| mem::replace(bucket, vec![])) .for_each(|(k, v)| { new_map.insert(k, v); }); *self = new_map; // 6 }\n} 取得所有需要用到的長度資料。 若當前容量為 0,表示尚未新增任何元素,我們 push 一個空 bucket 進去,讓其他操作可以正常新增鍵值對。 判斷 load factor,決定需不需要動態調整大小。 透過 HashMap::with_capacity 建立容量兩倍大的空雜湊表。 開始疊代舊的 bucket,並利用 flat_map 打平 nested vector,再利用 for_each 將每個元素重新 insert 到新雜湊表。 把 self 的值指向新雜湊表,舊雜湊表的記憶體空間會被釋放。","breadcrumbs":"雜湊表 Hash map » 動態調整儲存空間","id":"239","title":"動態調整儲存空間"},"24":{"body":"Complexity Worst $O(n)$ Best $O(1)$ Average $O(n)$ Worst space $O(1)$ 若序列中總共有 $n$ 個元素,則線性搜尋最差的狀況為元素不在序列中,就是全部元素都比較一次,共比較 $n - 1$ 次,最差複雜度為 $O(n)$。","breadcrumbs":"線性搜尋 Linear search » 效能","id":"24","title":"效能"},"240":{"body":"一個集合型別當然少不了簡易的產生疊代器實作。 根據之前其他方法的實作,要疊代整個雜湊表非常簡單,就是疊代所有 bucket,並利用 flat_map 打平 nested vector。簡單實作如下: fn iter() -> std::slice::Iter<(&k, &v)> { self.buckets.iter_mut() .flat_map(|b| b) .map(|(k, v)| (k, v))\n} 但最終會發現,我們的程式完全無法編譯,也無法理解這麼長的閉包(closure)究竟要如何寫泛型型別。得了吧 Rust,老子學不動了! error[E0308]: mismatched types --> src/collections/hash_map/mod.rs:253:9 |\n253 | / self.buckets.iter()\n254 | | .flat_map(|b| b)\n255 | | .map(|(k, v)| (k, v)) | |_________________________________^ expected struct `std::slice::Iter`, found struct `std::iter::Map` | = note: expected type `std::slice::Iter<'_, (&K, &V)>` found type `std::iter::Map>, &std::vec::Vec<(K, V)>, [closure@src/collections/hash_map/mod.rs:254:23: 254:28]>, [closure@src/collections/hash_map/mod.rs:255:18: 255:33]>` 幸好,在 Rust 1.26 釋出時,大家期待已久的 impl trait 穩定了。如同字面上的意思,impl trait 可以用在函式參數與回傳型別的宣告中。代表這個型別有 impl 對應的 trait,所以不必再寫出落落長的 Iterator 泛型型別。impl trait 有另一個特點是以靜態分派(static dispatch)來呼叫函式,相較於 trait object 的 動態分派(dynamic dispatch) ,impl trait 毫無效能損失。 實作如下: pub fn iter(&self) -> impl Iterator { self.buckets.iter() .flat_map(|b| b) .map(|(k, v)| (k, v))\n} 更多 impl trait 相關資訊可以參考: Rust RFC: impl trait Rust 1.26: impl trait Rust Reference: Trait objects The Rust Programming Language: Trait objects","breadcrumbs":"雜湊表 Hash map » 實作疊代器方法","id":"240","title":"實作疊代器方法"},"241":{"body":"以陣列實作的雜湊表各操作複雜度如下 Operation Best case Worst case add(k, v) $O(1)$~ $O(n)$ update(k, v) $O(1)$ $O(n)$ remove(k) $O(1)$~ $O(n)$ search(k) $O(1)$ $O(n)$ $n$:資料筆數。 $k$:欲綁定資料的鍵。 $v$:欲與鍵綁定的資料。 ~ :平攤後的複雜度(amortized)。","breadcrumbs":"雜湊表 Hash map » 效能","id":"241","title":"效能"},"242":{"body":"在預期情況下,只要雜湊函數品質穩定,大部分操作都可達到在常數時間, 但由於部分操作,尤其是新增或刪除元素的操作,會需要調整 bucket array 的空間,重新配置記憶體空間,所以需要平攤計算複雜度。 而最差複雜度出現在每個元素都發生雜湊碰撞。若使用 open addressing 處理碰撞,則會把雜湊表配置的每個位置都填滿,而所有操作都從同個位置開始,搜尋對應的鍵,複雜度與陣列的線性搜索相同為 $O(n)$;若使用 separate chaining,碰撞代表所有元素都會在同一個 bucket 裡面,也就是只有一個 bucket 上會有一個長度為 n ,被塞滿的陣列或鏈結串列,結果同樣是線性搜索的 $O(n)$。 我們嘗試使用數學表示搜索的複雜度。另 $n$:已放入雜湊表內的資料總數。 $k$:雜湊表配置的儲存空間(bucket 總數)。 $\\text{load factor} = \\frac{n}{k}$:預期每個 bucket 儲存的資料筆數。 則預期執行時間為 $$\\Theta(1+\\frac{n}{k}) = O(1) \\ \\text{ if } \\frac{n}{k} = O(1)$$ 而 1 為計算雜湊與取得索引(random access)的執行時間,$\\frac{n}{k}$ 則是搜尋陣列的執行時間。只要 load factor 越接近 $n$,執行時間就相對增加。","breadcrumbs":"雜湊表 Hash map » 時間複雜度","id":"242","title":"時間複雜度"},"243":{"body":"雜湊表的空間複雜度取決於實作預先配置的陣列大小,並與維持 load factor 息息相關。一般來說,仍與資料筆數成線性關係,因此空間複雜度只有資料本身 $O(n)$。而以 separate chaining 會額外配置陣列或鏈結串列儲存碰撞元素,理論上需負擔更多額外的指標儲存空間。","breadcrumbs":"雜湊表 Hash map » 空間複雜度","id":"243","title":"空間複雜度"},"244":{"body":"Rust Documentation: HashMap Wiki: Hash table Wiki: Open addressing Algorithms, 4th Edition by R. Sedgewick and K. Wayne: 3.4 Hash Tables MIT 6.006: Introduction to Algorithms, fall 2011: Unit 3 Hashing Map graph by Jorge Stolfi CC BY-SA-3.0 via Wikimedia Commons.","breadcrumbs":"雜湊表 Hash map » 參考資料","id":"244","title":"參考資料"},"245":{"body":"集合是一種抽象資料型別(Abstract data type),概念衍生自數學的 集合論 ,和陣列類似,為不同元素所組成的資料結構,不同在於集合有些重要的特性: 無序性:集合內各元素無特定排序或排序不重要。 互異性:集合內每個元素且只能出現一次。 一般來說,集合的實作會盡量貼近集合論中的有限集合定義,本次實作同樣遵照數學定義。 本次實作的程式碼置於 rust_algorithm_club::collections::HashSet API 文件中。","breadcrumbs":"集合 Set » 集合 Set","id":"245","title":"集合 Set"},"246":{"body":"","breadcrumbs":"集合 Set » 架構設計","id":"246","title":"架構設計"},"247":{"body":"集合能以許多不同的資料結構實現,通用的集合實作多會最佳化取得、增加、移除元素等運算,這讓我們想到了「 雜湊表 」,雜湊表正是能將集合運算最佳化的一種資料結構,我們將借用 雜湊表作為底層儲存容器 ,進一步實作集合。 你可能好奇,集合明明只有元素,並沒有 鍵值對 ,跟雜湊表有啥關係?讓我們回想雜湊表一個重要的特性:每一個鍵(key)只會出現一次,利用雜湊表這個特性,即可達成上述集合兩大特性。 既然選用雜湊表作為底層容器,集合的結構體就非常簡單了,我們可以將集合想像為在 HashMap 薄薄的一層封裝。 pub struct HashSet\nwhere T: Hash + Eq,\n{ hash_map: HashMap,\n} 比較特別的是雜湊表的鍵值,這裡使用空的 tuple (),也就是以 unit type 作為雜湊表之值,只要將集合的元素作為雜湊表鍵,忽略對應的值,就是貨真價實的集合結構。","breadcrumbs":"集合 Set » 以雜湊表為底層容器","id":"247","title":"以雜湊表為底層容器"},"248":{"body":"這樣多儲存一個 () 會不會造成額外的儲存空間負擔?事實上,Unit type () 在 Rust 語言中是一種 Zero Sized Types (ZSTs) ,在編譯時期 Rust 會將 ZST 當作一種型別來操作,但真正輸出的機器碼中,ZST 並不會佔用任何運算空間。Set = HashMap 完全體現了 Rust 零成本抽象的語言特性。","breadcrumbs":"集合 Set » 不佔空間的 Unit Type","id":"248","title":"不佔空間的 Unit Type"},"249":{"body":"身為一個容器,集合有以下幾個基本操作: new:初始化一個集合。 contains:檢查集合內有無特定元素。 is_empty:檢查集合內是否沒有任何元素。 insert:新增一個元素。 remove:移除特定元素。 len:檢查集合內的元素數目。 iter:產生一個疊代集合內所有元素的疊代器。 這些基本操作的實作上,只是對雜湊表的簡單封裝,詳細實作可以參考 HashMap 。 impl HashSet\nwhere T: Hash + Eq,\n{ pub fn len(&self) -> usize { self.hash_map.len() } pub fn is_empty(&self) -> bool { self.hash_map.is_empty() } pub fn insert(&mut self, value: T) -> bool { // 1 self.hash_map.insert(value, ()).is_none() } pub fn contains(&self, value: &Q) -> bool // 2 where T: Borrow, Q: Hash + Eq + ?Sized, { self.hash_map.get(value).is_some() } pub fn remove(&mut self, value: &Q) -> bool // 3 where T: Borrow, Q: Hash + Eq + ?Sized, { self.hash_map.remove(value).is_some() } pub fn iter(&self) -> impl Iterator { // 4 self.hash_map.iter().map(|(k, _)| k) }\n} insert 將元素置於 key 上,value 則設為 ()。 contains 利用 HashMap::get 回傳的 Option<()> 判斷是否已有該的元素。 remove 同樣直接呼叫 HashMap::remove,並透過回傳 Option<()> 判斷實際上是否有移除任何元素。 iter 則直接利用 HashMap::iter 並捨棄 value。","breadcrumbs":"集合 Set » 基本操作","id":"249","title":"基本操作"},"25":{"body":"線性搜尋就是用一個 for-loop 解決。要注意的是,T 泛型參數至少要實作 PartialEq 才能比較。程式碼中使用了疊代器的 enumerate ,建立一個新疊代器,每次疊代產生疊代次數與對應的值。 pub fn linear_search(arr: &[T], target: &T) -> Option where T: PartialEq\n{ for (index, item) in arr.iter().enumerate() { if item == target { return Some(index); } } None\n} 事實上,若利用 Rust 內建的 iterator.position ,程式碼也許會更簡潔。 pub fn linear_search(arr: &[T], obj: &T) -> Option where T: PartialEq\n{ arr.iter().position(|x| x == obj)\n}","breadcrumbs":"線性搜尋 Linear search » 實作","id":"25","title":"實作"},"250":{"body":"電腦科學的集合型別衍生自 集合論 ,當然也得符合 集合代數(set algebra) 的特性,和算術的加減乘除,集合也有自己的二元運算,我們會實作以下幾個基本方法: intersection:交集,A ∩ B 定義為 A 與 B 共有的元素。 union:聯集,A ∪ B 定義為 A 與 B 所有的元素。 symmetric_difference:對稱差集,定義為 A △ B = (A ∪ B) - (A ∩ B),就是只出現在 A 或 B,不會在兩集合內同時出現的元素。 difference:差集,A \\ B 定義為 A 中所有未在 B 中出現的元素。 venn digrams 此外,也會介紹許多方便的方法: is_disjoint:兩集合是否不交集。 is_subset:包含於 ⊆,是否為子集。 is_superset:包含 ⊇,是否為超集。 哇!好多方法要實作。那就事不宜遲!","breadcrumbs":"集合 Set » 集合運算","id":"250","title":"集合運算"},"251":{"body":"第一次嘗試 - 建立新的聯集集合 要取得兩個集合的聯集,最直覺的想法可能是創造一個新的集合,再把 A 和 B 兩個集合的元素通通 insert 進去,就像這樣: // 利用 Clone 實現的聯集。完整實作見 bit.ly/caab7fb\npub fn union(&self, other: &HashSet) -> HashSet { // 複製一整份 other 到新的 set let mut new_set: HashSet = other.clone(); // 把現有的 item 一一塞到新的 set,重複的 item 會直接覆寫掉 self.hash_map.iter().for_each(|(k, _)| { new_set.insert(k.clone()); }); // 回傳 self 與 other 的聯集 new_set\n} 然而,上述做法有兩個缺點: 建立了一個全新的 HashSet 實例,花了額外的時間與空間 必須為 HashSet 和 item 的型別 T 額外加上 Clone trait 的限制 因此接下來我們嘗試利用 Rust 的 iterator 的特性實現更節省資源的版本! 更多詳情可參考實作過程的 討論串 與 第一次嘗試的完整實作 。 第二次嘗試 - Lazy Iterator 有了第一次嘗試的經驗,第二次決定讓 union() 回傳一個 lazy iterator,會疊代聯集的元素,必要才從疊代器收集所有元素,再建立新的集合,如此可以節省許多運算資源。 至於實作步驟,我們可以: 先製造一個疊代器,包含所有 other 集合的元素,但過濾掉與 self 共有的元素。 再將 self 的疊代器與步驟一產生的疊代器,利用 Iterator::chain 連起來。 這樣其實就是 other \\ self 這個差集,加上 self 自身,剛好就是聯集。程式碼如下: // 使用 impl trait 語法,避免宣告不同疊代器型別的麻煩。\npub fn union(&self, other: &HashSet) -> impl Iterator { // 實際上就是差集 let other_but_not_self = other.iter().filter(|item| !self.contains(item)); // 差集 + self 本身 self.iter().chain(other_but_not_self)\n} Lifetime Elision 但很不幸地,Compiler error E0623(甚至查不到 E0623 是什麼)。 error[E0623]: lifetime mismatch --> src/collections/set/mod.rs:117:48 |\n117 | pub fn union(&self, other: &HashSet) -> impl Iterator { | ----------- ^^^^^^^^^^^^^^^^^^^^^^^^ | | | | | ...but data from `other` is returned here | this parameter and the return type are declared with different lifetimes... 是 self 與 other 的生命週期不同導致,當這兩個集合的疊代器被 chain 起來後回傳,編譯器無法確認 Iterator 的 Item 生命週期多長。你可能很好奇為什麼 self 與 other 生命週期不同,事實上,Rust 為了讓語法輕鬆一點,允許函數省略部分生命週期標註,這個行為稱作 Lifetime Elision ,會在各種不同的條件下加註生命週期,其中有一條是「 每個被省略的生命週期都會成為獨立的生命週期 」。因此,union() 加上被省略的生命週期,會長得像: pub fn union<'a, 'b>(&'a self, other: &'b HashSet) -> impl Iterator; 於是乎,編譯器無法理解 Iterator 的 &T 到底生命週期是 'a 還是 'b,就不給編譯。 解法也很簡單,合併 self 與 other 的生命週期到同一個,不論是語意上(兩個集合至少活得一樣長)還是編譯條件都說得通。 // 加上 'a ,讓 self、other 的生命週期至少在這個函數內一樣長\npub fn union<'a>(&'a self, other: &'a HashSet) -> impl Iterator { let other_but_not_self = other.iter().filter(|item| !self.contains(item)); self.iter().chain(other_but_not_self)\n} 更多 Lifetime Elision 的資訊,可以參考 Rust 黑魔法 Nomicon 與 Rust TRPL 的解釋 ,還有相關的 RFC 可以看。 move closure 解決了生命週期,編譯看看就知道誰沒穿褲子。 Compiler error E0373 ,是野生的 borrow checker! error[E0373]: closure may outlive the current function, but it borrows `self`, which is owned by the current function --> src/collections/set/mod.rs:118:53 |\n118 | let other_but_not_self = other.iter().filter(|item| !self.contains(item)); | ^^^^^^ ---- `self` is borrowed here | | | may outlive borrowed value `self` |\nnote: closure is returned here --> src/collections/set/mod.rs:119:9 |\n119 | self.iter().chain(other_but_not_self) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nhelp: to force the closure to take ownership of `self` (and any other referenced variables), use the `move` keyword |\n118 | let other_but_not_self = other.iter().filter(move |item| !self.contains(item)); 讓我們嘗試理解,當我們回傳 iterator 時,整個過濾共同元素的 closure 會連帶一起回傳,若 closure 沒有使用 move 關鍵字修飾,編譯器會嘗試以傷害最小的方式去捕獲變數,在這裡會是 immutable borrow &T 捕獲。這裡的 self 實際型別是 &'a mut HashSet,可以想像成 closure 捕獲了 &(&'a mut HashSet)。 Rust 編譯器遇到 closure 需要捕獲變數時,如果沒有用 move 修飾,會嘗試使用以下順序來捕獲: &T > &mut T > T。若用了 move 修飾,則會直接將所有權轉移進 clousure 中,也就是捕獲 T。 可惜的是,多出來的這層 borrow 並沒有相同的生命週期 'a,編譯器無法識別它會活到什麼時候,可能 self 的資源已被釋放,但 closure 還沒結束,有機會產生 dangling pointer ,編譯器因此禁止這種危險操作。 編譯器也十分好心地提示,只要使用 move 關鍵字,將 self 的所有權轉移至 closure 中,就能避免生命週期不一致的問題。你可能有些疑惑,把 self move 進 closure 之後,self 不就會被 drop 釋放掉了?可以這樣理解,轉移進 closure 的型別是整個 self,也就是 &'a mut HashSet 型別,解讀為編譯器將 self 的型別看作新的 owned type,所有權可合法轉移,但底層仍保留指向原始資料的 borrow,巧妙避開生命週期問題。 pub fn union<'a>(&'a self, other: &'a HashSet) -> impl Iterator { // 用 move 修飾 closure // self(&'a HashSet)被整個轉移進 closure let other_but_not_self = other.iter().filter(move |item| !self.contains(item)); self.iter().chain(other_but_not_self)\n}","breadcrumbs":"集合 Set » 實作聯集","id":"251","title":"實作聯集"},"252":{"body":"呼,上面解決了最困難的生命週期和 borrow checker 問題,接下來的實作只要關注數學上的集合定義就能輕鬆解決了。 首先,交集的定義為「你有,而且我也有的」,簡單,疊代 self 並過濾出 other 也有的元素就好,秒殺! pub fn intersection<'a>(&'a self, other: &'a HashSet) -> impl Iterator { self.iter().filter(move |item| other.contains(item))\n} 再來是差集,概念是就是「我有,但你沒有的」,一樣疊代 self 並過濾出 other 沒有的元素。 pub fn difference<'a>(&'a self, other: &'a HashSet) -> impl Iterator { self.iter().filter(move |item| !other.contains(item))\n} 剛剛實作 union 有用到差集,我們可以稍微改寫,讓 union 的程式碼更神清氣爽。 pub fn union<'a>(&'a self, other: &'a HashSet) -> impl Iterator { // self ∪ (other \\ self) self.iter().chain(other.difference(self))\n} 最後,對稱差集可以透過組合上面的操作算出,可以是:「我有加上你有的,減去我們共同有的」,也可以是「我有但你沒有的,加上你有但我沒有的」,這裡我們選擇第二種實作。 pub fn symmetric_difference<'a>(&'a self, other: &'a HashSet) -> impl Iterator { // (self \\ other) ∪ (other \\ self) self.difference(other).chain(other.difference(self))\n} 整個集合的基礎在這邊大功告成了!","breadcrumbs":"集合 Set » 實作交集、差集與對稱差集","id":"252","title":"實作交集、差集與對稱差集"},"253":{"body":"經歷 Rust 編譯器的摧殘,來實作比較簡單的方法吧。集合運算常要比較兩個集合的關係,例如 A ⊆ B 代表 A 是 B 的子集,定義是 A 裡面的元素 B 都有。 我們先來實作 is_subset 檢查 self 是否為 other 的子集。 pub fn is_subset(&self, other: &HashSet) -> bool { // 若 self 的元素比 other 多,就不可能是 self ⊆ other // 所以提前回傳 false if self.len() > other.len() { return false; } // 利用 all 確認 other 內包含 self 的所有元素 self.iter().all(|item| other.contains(&item))\n} is_superset 檢查 self 是否為 other 的超集就更簡單了,只要把 is_subset 反過來使用就行了。 pub fn is_superset(&self, other: &HashSet) -> bool { // self ⊇ other = other ⊆ self other.is_subset(self)\n} 最後,我們常會檢查兩個集合是否沒有交集(disjoint),這個方法只要檢查交集 intersection() 疊代器的長度是否為 0 就可以了。 pub fn is_disjoint(&self, other: &HashSet) -> bool { self.intersection(other).count() == 0\n}","breadcrumbs":"集合 Set » 子集、超集與不交集","id":"253","title":"子集、超集與不交集"},"254":{"body":"上面的方法好冗,能不能和 Python 一樣,用簡單明瞭的語法操作集合的二元運算?當然行,Rust 的表達性很強,完全不輸 Python,透過 運算子多載(operator overloading) 。","breadcrumbs":"集合 Set » 二元運算與運算子","id":"254","title":"二元運算與運算子"},"255":{"body":"Rust 提供許多 trait 供使用者多載運算子,可以簡化集合的二元運算: set | other:bitwise or 運算子,效果同 union 聯集。 set & other:bitwise and 效果同 intersection 交集。 set - other:substraction 運算子,效果同 difference 差集。 set ^ other:bitwise xor 運算子,效果同 symmetric_difference 對稱差集。 由於四個運算子實作的概念相同,這裡挑 | bitwise or 來解釋如何客製化運算子邏輯。 // 實作 BitOr 多載 `|` 運算子\nimpl<'a, 'b, T> BitOr<&'b HashSet> for &'a HashSet\nwhere T: Hash + Eq + Clone, // 實作 Clone 讓 Set 可透過 FromIterator 建立實例\n{ type Output = HashSet; fn bitor(self, rhs: &'b HashSet) -> Self::Output { // 利用 FromIterator 提供的 collect() 蒐集元素,產生新 Set self.union(&rhs).cloned().collect() }\n} 要多載 bit or 運算子,代表型別要實作 BitOr trait。 由於運算子的 required method 通常會 consume self 的所有權,因此我們要在 impl 動手腳,改以 &HashSet 作為 BitOr 實作的對象。 為了簡化實作,交集聯集等運算子改為產生一個新的 Set 實例,也就是說,T 泛型型別需要實現 Clone trait,才能複製舊的值產生新的 Set。 多載運算子,可以參考 Overloadable operators 一頁的說明。","breadcrumbs":"集合 Set » 運算子多載","id":"255","title":"運算子多載"},"256":{"body":"除了交集、聯集等運算,我們還可以實作集合間的比較,作為檢查是否為子集或超集的運算子。 A <= B:效果同 is_subset,A 是否為 B 的子集 A ⊆ B。 A < B:A 是否為 B 的子集且不等於 B,等同於 A ⊂ B。 A >= B:效果同 is_superset,A 是否為 B 的超集 A ⊇ B。 A > B:A 是否為 B 的超集且不等於 B,等同於 A ⊃ B。 但眼尖的 Rustacean 肯定會發現, std::ops 裡面根本沒有 lt、gt 等比較運算子。Rust 的「比較」是透過實作幾個 Trait 後,自動推導生成的方法,這些 trait 放在 std::cmp module 中,分別是 Eq 、 ParitalEq 、 Ord ,以及 ParitalOrd 。 在開始介紹如何實作比較前,先讓複習一下離散數學學到的二元關係: 若 ∼ 為一種二元關係,A 為任意集合。 自反性(Reflexive):對所有 x ∈ A : x ∼ x。 對稱性(Symmetric):對所有 x, y ∈ A ,若 x ∼ y 則 y ∼ x。 傳遞性(Transitive):對所有 x, y, z ∈ A ,若 x ∼ y 且 y ∼ z 則 x ∼ z。 反對稱(Antisymmetric):對所有 x, y ∈ A,若 x ∼ y 且 x ≠ y 則 y ∼ x 不成立。 Rust 中的相等關係有其理論背景,Eq 就是數學上的 Equivalence relation ,須符合自反性、對稱性,及傳遞性;與之對應的是 PartialEq, Partial equivalence 具有對稱性和傳遞性,但並無自反性,有名的例子是 IEEE754 的浮點數 定義了 NaN == NaN -> false,浮點數因此不符合自反性定義。 回到集合,集合論中的集合相等(set equality)定義為:x = y ⇒ ∀z, (z ∈ x ⇔ z ∈ y),也就所有屬於集合 x 的元素必屬於集合 y,反之亦然。因此,集合相等具有自反性、對稱性、傳遞性。實作 == 運算子,我們會 比較集合 x, y 內元素數目(cardinality)是否一致,以及 疊代集合 x,並檢查是否每個屬於 x 的元素都屬於 y。 impl PartialEq for HashSet\nwhere T: Hash + Eq,\n{ fn eq(&self, other: &HashSet) -> bool { // 1. 檢查 cardinality,不同長度就不可能相等 if self.len() != other.len() { return false; } // 2. 利用 Iterator::all 確保每個 self 的元素都屬於 other。 self.iter().all(|item| other.contains(&item)) }\n} /// `Eq` 並沒有 required method,只要實作 `Partial::eq` 方法,就能直接推斷出 `Eq`。\nimpl Eq for HashSet where T: Hash + Eq {} 與相等關係相同,Rust 的排序關係同樣有理論依據,Ord 是數學上的 Total order ,符合反對稱性、傳遞性,以及 connex relation ;而 ParitalOrd 則接近數學上的 partial order,Rust 的文件中描述該 trait 須符合反對稱性與傳遞性。 Connex relation:在集合 X 下,所有 (x, y) pair 都會符合 x ∼ y 或 y ∼ x 的關係。在排序關係上,意指不是 x ≥ y 就是 y ≥ x。 要把集合的「包含於但不相等」關係 ⊂ 映射到排序關係 x < y 前,先來檢驗 ⊂ 有什麼特性。 具反對稱性:若 x ⊂ y 且 x ≠ y 則 y ⊄ x,換句話說,若 x ⊂ y 且 y ⊂ x 則 x = y。 具傳遞性:若 x ⊂ y 且 y ⊂ z 則 x ⊂ z。 不具 connex relation:若 x = {1,2}, y = {3,4},則 x, y 無法以 ⊂ 表示兩者間的關係。 很明顯地,「包含於但不相等」符合 partial order 但不是 total order。我們選擇實作 PartialOrd trait,其有一個 required method PartialOrd::partial_cmp。 partial_cmp 回傳 Option,因為兩個集合可能無交集,導致無法相互比較。 先檢查 other 是不是子集,再檢查是不是長度相同,得到兩個 bool。 有了上述兩個 bool,就可以用 pattern matching 把所有情況列舉出來。 是子集且同長度:相等 =。 是子集但長度不同:包含於 ⊂(<)。 不是子集但長度相同:不相交(disjoint)。 不是子集且長度不同:先假設 self 是 other 的超集,再透過 Option::filter 過濾,是超集則回傳 Some(Ordering::Greater),不是則回傳 None。 impl PartialOrd for HashSet\nwhere T: Hash + Eq,\n{ fn partial_cmp(&self, other: &HashSet) -> Option { // 1 let is_subset = self.is_subset(other); // 2 let same_size = self.len() == other.len(); match (is_subset, same_size) { // 3 (true, true) => Some(Ordering::Equal), (true, false) => Some(Ordering::Less), (false, true) => None, _ => Some(Ordering::Greater).filter(|_| self.is_superset(other)), } }\n} 實作 PartialEq,Eq 與 PartialOrd 後,我們的集合型別終於能和 Python 的集合互別苗頭,有更高層次的表達性! 有人可能會認為,比較運算還要透過 partial_cmp 判斷 Option 多麻煩,事實上,C++ 20 也帶來了 <=> 運算子以及 three way comparison 衍生的各種型別,partial order 或 parital equal 可說是更精確且必要的比較運算,也是一種趨勢。","breadcrumbs":"集合 Set » 比較運算子","id":"256","title":"比較運算子"},"257":{"body":"以雜湊表為底層儲存容器的集合,各操作複雜度如下 Operation Best case Worst case insert(v) $O(1)$~ $O(n)$ remove(v) $O(1)$~ $O(n)$ contains(v) $O(1)$ $O(n)$ union $O(n)$ $O(n)$ intersection $O(n)$ $O(n)$ difference $O(n)$ $O(n)$ symmetric difference $O(n)$ $O(n)$ $n$:資料筆數。 $v$:資料值。 ~ :平攤後的複雜度(amortized)。 操作的時間與空間複雜度,與其底層儲存容器的實作有關,本次集合實作只是對雜湊表的簡單封裝,詳細演算法複雜度可以參考 HashMap 。","breadcrumbs":"集合 Set » 效能","id":"257","title":"效能"},"258":{"body":"Rust Documentation: HashSet Python 3: Set Wiki: Set theory Venn diagrams are screenshoot from Wikipedia via public domain.","breadcrumbs":"集合 Set » 參考資料","id":"258","title":"參考資料"},"259":{"body":"Bloom filter 是一種機率資料結構(probabilistic data structure),類似於 集合 ,常用於需快速驗證成員是否「可能存在」或是「絕對不存在」在容器中,亦即有機會出現假陽性(false positive),但絕不會有假陰性(false negative)。 Bloom filter 的優勢是: 類似 集合 ,可在 $O(1)$ 時間複雜度驗證成員是否存在,卻僅需相對少的儲存空間。 承上, 在 0.1% 錯誤率下儲存一百萬個元素僅需 1.71 MiB 。 非常容易實作的機率資料結構,僅需多次雜湊。 Bloom filter 則有以下短處: 經典款 Bloom filter 容器大小固定(fixed-size),無法動態調整儲存空間。 可能給出假陽性答案:回報存在但實際不存在,且錯誤隨數量變多上升。 自身不儲存成員資料,需要有額外的儲存資料方案。 只能新增成員,但不能移除成員(可透過 變形 解決)。 若輸入資料集本身離散,接近 隨機存取 ,無法充分利用 CPU cache。 承上,因為隨機存取,不利於延伸到記憶體以外的外部儲存裝置。 Bloom filter 常見應用場景為: 資料庫利用 Bloom filter 中減少實際存取 disk 的 IO 開銷。 Chromium 瀏覽器 驗證大量惡意連結 。 Medium 避免推薦已推薦過的文章 。 小知識:bloom 是開花之意,但 Bloom filter 和開花沒任何關係,只因發明人姓氏為 Bloom 本次實作的程式碼置於 rust_algorithm_club::collections::BloomFilter API 文件中。","breadcrumbs":"布隆過濾器 Bloom filter » 布隆過濾器 Bloom Filter","id":"259","title":"布隆過濾器 Bloom Filter"},"26":{"body":"Wiki: Linear search","breadcrumbs":"線性搜尋 Linear search » 參考資料","id":"26","title":"參考資料"},"260":{"body":"Bloom filter 由下列兩個部分組成: 一個 $m$ 位元的位元陣列(bit array) $k$ 個不同的雜湊函數 經典款的 Bloom filter 作為一個近似集合的容器,提供下列兩個操作 新增: 新增一個值時,透過 $k$ 個雜湊函數產生 $k$ 個雜湊值,分別代表在位元陣列的索引位置,再將 $k$ 個位置的位元翻轉至 1。 查詢: 同樣透過 $k$ 個雜湊函數產生 $k$ 個雜湊值作為位元陣列的索引位置,若所有位元皆為 1,則代表該值存在。 上圖顯示 w 並沒有在 {x,y,z} 集合中,因為 w 的雜湊結果有個位元為 0。 你可能會開始想: 欲儲存一百萬個元素,需要多少位元? 出現假陽性的機率是多少?可以調整嗎? 需要幾個雜湊函數? 可重複使用相同的雜湊函數嗎? 回答這些問題需要兩個已知條件: 預期會儲存多少 $n$ 個元素到容器。 可容忍的假陽性機率 $\\epsilon$,即容器不包含該元素,檢測卻回報存在(所有雜湊位皆為 1)。 於是可得位元陣列最佳化的長度為 $m$ 個位元,$m$ 為: $$m = -\\frac{n \\ln{\\epsilon}}{(\\ln{2})^2}$$ 而在已知條件下,需要的雜湊函數數量 $k$ 為: $$k = -\\frac{\\ln{\\epsilon}}{\\ln{2}} = -\\log_2{\\epsilon}$$ 當然,這些公式並非憑空冒出,有興趣可以讀讀 維基百科上的數學 ,和 這段詳細的推導 ,不過也要注意,Bloom filter 的假設是「每個雜湊函數獨立」但 位元間是否獨立有待討論 ,這順便開啟了其他問題,可重複使用相同的雜湊函數嗎? 答案是可以, 這篇 「Less Hashing, Same Performance:Building a Better Bloom Filter」 提及,在不犧牲漸進假陽性機率(asymptotic false positive probability)的前提下,透過兩個不同的雜湊函數 $h_1(x)$ 和 $h_2(x)$,配合以下公式,就可以模擬出多個雜湊函數: $$g_i(x) = h_1(x) + ih_2(x)$$ 數學看暈了嗎?來點程式碼吧。","breadcrumbs":"布隆過濾器 Bloom filter » 概念","id":"260","title":"概念"},"261":{"body":"","breadcrumbs":"布隆過濾器 Bloom filter » 架構設計","id":"261","title":"架構設計"},"262":{"body":"Bloom filter 底層以位元陣列作為儲存容器,如果目標是最省空間,該用 Rust 的什麼型別來儲存位元呢? 直觀作法是在 struct 新增一個 bits 位元陣列的 array 型別: pub struct BloomFilter { bits: [bool; N]\n} 雖然非常省空間,用了多少 bits 這個 struct 就佔多大,但這語法並非不合法,因為 N 未定義,無法編譯, array 的 N 必須是編譯期就決定的常數,BloomFilter 若寫死 N 就不夠泛用了(除非參考 vec! 透過 macro 建立)。 不如換個方向,不用 fixed size array,給定動態大小的 slice 試試看。 pub struct BloomFilter { bits: [bool]\n} 嗯,可以編譯通過,但如果嘗試建立一個 struct 呢? fn main() { let input_len = 5; let bits = [true; input_len]; BloomFilter { bits };\n} 就會發現編譯結果如下: error[E0435]: attempt to use a non-constant value in a constant --> src/main.rs:7:23 |\n7 | let bits = [true; input_len]; | ^^^^^^^^^ non-constant value error[E0277]: the size for values of type `[bool]` cannot be known at compilation time --> src/main.rs:8:5 |\n8 | BloomFilter { bits }; | ^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time 原因有二,其一同樣是 array bits 需要一個常數長度;其二則是 bits 是一個 Dynamic Sized Types(Dsts) ,長度無法在編譯時決定,編譯期就無法得知 BloomFilter 的所佔記憶體用量。 看來得放棄用 array 或 slice 這些方法,改用最暴力的 Vec 作為位元陣列儲存容器,Vec 雖可動態調整大小,背後其實是一個 pointer + 一個 usize 的 capacity + 一個 usize 的 len 組成,若是在 64 位元的機器上, 一個 Vec 就會佔 24 位元組 ,比起 array 多耗費兩個 2 * 8 個位元組空間,幸好這額外的 16 個位元組是固定支出,不隨著 $m$ 和 $n$ 成長。 pub struct BloomFilter { bits: Vec\n}","breadcrumbs":"布隆過濾器 Bloom filter » 利用 Vec 儲存位元","id":"262","title":"利用 Vec 儲存位元"},"263":{"body":"再來,要在 BloomFilter 儲存兩個 hasher,也就是實作前面提及 用兩個雜湊函數模擬 $k$ 個 論文中的兩個 hasher,這兩個在 BloomFilter 建構時同時建立,並在操作 BloomFilter 的方法上共用。 這次直接使用標準函式庫內預設雜湊演算法 DefaultHasher 作為隨機的兩個雜湊函數 BloomFilter.hashers。由於是模擬 $k$ 個函數的雜湊行為,仍需另闢欄位,儲存 $k$ 實際上是多少個雜湊函數 BloomFilter.hash_fn_count。 use std::collections::hash_map::DefaultHasher; pub struct BloomFilter { /// The bit array of _m_ bits. bits: Vec, /// Count of hash functions. Denoted by _k_. hash_fn_count: usize, /// The hashers that do real works. hashers: [DefaultHasher; 2],\n} 就剩最後一里路了!","breadcrumbs":"布隆過濾器 Bloom filter » 儲存兩個雜湊函數","id":"263","title":"儲存兩個雜湊函數"},"264":{"body":"眾所周知,透過 泛型(Generic) ,Rust 可重用相同的容器型別,特化接受不同型別的容器,例如 HashMap 可以特化為鍵為 String,值為 u32 的 HashMap,Vec 可以成為二維位元組 Vec>。看 std::collections 提供的容器,所有泛型型別參數(Type Parameter)像是 T、K、V 都是跟著 struct 宣告,也因為這些容器的確實際儲存了這些型別的元素,泛型型別參數跟著 struct 很合理。 有趣的是,作為一個容器,Bloom filter 其實不儲存元素本身,而是記錄元素是否「曾經新增至」該容器中。這給了一些想像空間:如何提供型別參數給 Bloom filter?提供兩個方向: 泛型型別參數宣告跟著 struct: 也就是 struct BloomFilter,如此一來,一個容器實例只能操作一種型別,而且在編譯期就決定。 let bf = BloomFilter::new();\nbf.insert(&1); // infer the type T is i32\nbf.insert(\"wront type\"); // compile error: &str is not compatible to i32 泛型型別跟著 struct 的方法,struct 本身不宣告: 很難想像容器裡面儲存不同的型別,但 BloomFilter 實際上只需要一個 Vec 記錄存在與否,到底新增了什麼型別的元素其實不重要,型別有實作雜湊就行。這個作法下,你可能會看到這種邪魔歪道: let bf = BloomFilter::new();\nbf.insert(&1);\nbf.insert(\"another type\"); // it works\nbf.insert(vec![3.14159]); // it also works 為了讓容器有一致感,這裡決定選擇法一,讓泛型跟著容器走。實作非常簡單,加上 T 泛型參數就行 use std::collections::hash_map::DefaultHasher; - pub struct BloomFilter {\n+ pub struct BloomFilter { /// .. snip\n} 哎呀,編譯失敗! error[E0392]: parameter `T` is never used --> src/lib.rs:3:24 |\n3 | pub struct BloomFilter { | ^ unused parameter | = help: consider removing `T`, referring to it in a field, or using a marker such as `std::marker::PhantomData` 因為 Rust 編譯器認為 BloomFilter 並不實際擁有 T 相關欄位,因此編譯不通過,我們可以利用 std::marker::PhantomData ,PhantomData 是一個 Zero-Sized Type 不佔空間,就是為了取悅編譯器,製造出 struct 擁有 T 的假象。 use std::collections::hash_map::DefaultHasher;\nuse std::marker::PhantomData; pub struct BloomFilter { /// The bit array of _m_ bits. bits: Vec, /// Count of hash functions. Denoted by _k_. hash_fn_count: usize, /// The hashers that do real works. hashers: [DefaultHasher; 2], _phantom: PhantomData,\n}","breadcrumbs":"布隆過濾器 Bloom filter » 使用 PhantomData 讓編譯器閉嘴","id":"264","title":"使用 PhantomData 讓編譯器閉嘴"},"265":{"body":"最後,有鑑於讓Bloom fliter 能夠接受更多型別,元素不一定要符合編譯期確定大小的 Sized trait bound,可以透過加上 ?Sized trait bound 解除預設的限制,如此一來 BloomFilter 就可接受 slice 和 trait object 這些 DSTs 了,傳入 string literal 變為可能 bloom_filter.insert(\"1234\")。 use std::collections::hash_map::DefaultHasher;\nuse std::marker::PhantomData; - pub struct BloomFilter {\n+ pub struct BloomFilter { // .. snip\n}","breadcrumbs":"布隆過濾器 Bloom filter » ?Sized 讓容器可以儲存 DSTs","id":"265","title":"?Sized 讓容器可以儲存 DSTs"},"266":{"body":"Bloom filter 為類似集合的容器,當然有 類似的操作 ,事實上,這類機率性集合成員檢測的資料結構有個較少聽見但令人印象深刻的名字,稱為「Approximate Membership Query(AMQ)」,提供 add(element) 和 query(element) 兩個基本操作。 本文的 BloomFilter 提供下列幾個公開方法: new:初始化一個容器。 insert:新增一個元素。 contains:檢查容器內有無特定元素(是否曾新增過)。 以及幾個內部輔助方法: make_hash:給定輸入元素資料,透過兩個雜湊函數產生兩個雜湊值。 get_index:將 make_hash 的兩雜湊值帶入 $g_i(x) = h_1(x) + ih_2(x)$ 計算單次 i 的索引位置。 optimal_bits_count:給定預期儲存元素個數 $n$ 與假陽性機率 $\\epsilon$,得位元陣列最適位元數 $m$。 optimal_hashers_count:給定預期假陽性機率,得最適雜湊函數個數 $k$。","breadcrumbs":"布隆過濾器 Bloom filter » 基本操作","id":"266","title":"基本操作"},"267":{"body":"Bloom filter 有四個參數 $m$、$n$、$k$、$\\epsilon$ 可以調整(詳見 效能 一節),對使用者來說,有幾個雜湊函數或底層是多少個位元都是實作細節了,更關心的可能是 「我有一百萬筆資料需要驗證存在,容錯率需要在 0.1%,我需要多大的儲存空間?」 因此,建構函數 new 提供輸入預期儲存元素個數 $n$ 和預期的假陽性機率 $\\epsilon$ 是天經地義的事: pub fn new(capacity: usize, err_rate: f64) -> Self; 接下來,會實作 概念 一節的數學公式,找出最適位元數和最適雜湊函數個數。這兩個函數都是以 Rust 表達數學公式,可注意的點是, std::f32::consts 和 std::f64::consts ,提供許多數學上常見的常數老朋友,操作浮點數和雙精度浮點數就不用自己手動重算了。 /// m = -1 * (n * ln ε) / (ln 2)^2\nfn optimal_bits_count(capacity: usize, err_rate: f64) -> usize { let ln_2_2 = std::f64::consts::LN_2.powf(2f64); (-1f64 * capacity as f64 * err_rate.ln() / ln_2_2).ceil() as usize\n} /// k = -log_2 ε\nfn optimal_hashers_count(err_rate: f64) -> usize { (-1f64 * err_rate.log2()).ceil() as usize\n} 目前為止,BloomFilter::new 長這樣: pub fn new(capacity: usize, err_rate: f64) -> Self { let bits_count = Self::optimal_bits_count(capacity, err_rate); let hash_fn_count = Self::optimal_hashers_count(err_rate);\n} 最後,按照前述 兩個雜湊函數恰恰好 的道理,建立兩個不同的雜湊函數,並初始化位元陣列,大功告成! pub fn new(capacity: usize, err_rate: f64) -> Self { // #1 Get optimal count of bit let bits_count = Self::optimal_bits_count(capacity, err_rate); // #2 Get optimal count of hash functions let hash_fn_count = Self::optimal_hashers_count(err_rate); // #3 Use RandomState to build different hasher let hashers = [ RandomState::new().build_hasher(), RandomState::new().build_hasher(), ]; Self { bits: vec![false; bits_count], // #4 Initialize a all zero bit array hash_fn_count, hashers, _phantom: PhantomData, }\n} 透過指定假陽性機率與預期元素個數,算得最適位元數 透過指定假陽性機率,算得最適雜湊函數個數 透過 std 內建的 RandomState 產生兩個不同初始狀態的雜湊函數,以模擬 $k$ 個雜湊函數 初始化一個全零的位元陣列","breadcrumbs":"布隆過濾器 Bloom filter » 初始化","id":"267","title":"初始化"},"268":{"body":"新增一個元素到 Bloom filter,說穿了就做一件事:將元素透過 $k$ 個雜湊函數,產出 $k$ 個索引位置,並將位元陣列上這些位置的位元翻轉至 1。 整個 insert 函數即為計算 $g_i(x) = h_1(x) + ih_2(x)$ 模擬 $k$ 個雜湊函數的過程: pub fn insert(&mut self, elem: &T)\nwhere T: Hash,\n{ let hashes = self.make_hash(elem); // #1 for fn_i in 0..self.hash_fn_count { // #2 let index = self.get_index(hashes, fn_i as u64); // #3 self.bits[index] = true; // #4 }\n} 取得 $h_1(x)$ 和 $h_2(x)$ 的雜湊輸出結果。 疊代 i 次,i 上限為 $k$:初始化時所得的最適雜湊函數個數 計算 $g_i(x) = h_1(x) + ih_2(x)$ 取得索引位置 將索引位置下的位元設定為 1 這裡有兩個內部方法,先講解如何計算 $h_1(x)$ 和 $h_2(x)$: fn make_hash(&self, elem: &T) -> (u64, u64)\nwhere T: Hash,\n{ // #1 let hasher1 = &mut self.hashers[0].clone(); let hasher2 = &mut self.hashers[1].clone(); // #2 elem.hash(hasher1); elem.hash(hasher2); // #3 (hasher1.finish(), hasher2.finish())\n} 為保存兩個 hasher 內部初始狀態,使用 clone 複製新的 hasher 來做雜湊 將 elem 餵給 hasher 計算雜湊值 輸出雜湊值,由於 Hasher::finish 不會重設 hasher 內部狀態,所以需要步驟一 clone 來保留 hasher 的原始狀態 再來是實作計算索引位置 $g_i(x) = h_1(x) + ih_2(x)$,這個函數非常單純,就是輸入 make_hash 所得之雜湊值,然後帶入公式中。為了防止輸出的索引位置超過位元陣列的位元數,這裡以位元數 $m$ 取模(% modulo),加上使用 wrapping_ops 這些 modular arithmetic operation 達成。 fn get_index(&self, (h1, h2): (u64, u64), fn_i: u64) -> usize { (h1.wrapping_add(fn_i.wrapping_mul(h2)) % self.bits.len() as u64) as usize\n}","breadcrumbs":"布隆過濾器 Bloom filter » 新增","id":"268","title":"新增"},"269":{"body":"查詢元素是否在 Bloom filter 裡面,就是看看該元素透過 $k$ 個雜湊函數輸出的每個索引位置 全部為 1 ,則可能存在;否則就是絕對不存在。 實作步驟和插入非常相似: pub fn contains(&self, elem: &T) -> bool\nwhere T: Hash,\n{ let hashes = self.make_hash(elem); // #1 (0..self.hash_fn_count).all(|fn_i| { // #1 使用 iter let index = self.get_index(hashes, fn_i as u64); self.bits[index] })\n} 取得 $h_1(x)$ 和 $h_2(x)$ 的雜湊輸出結果。 使用 Iterator::all 疊代收集 $k$ 個雜湊函數的輸出 計算 $g_i(x) = h_1(x) + ih_2(x)$ 取得索引位置 回傳索引位置下的位元 bool 值,此值會匯集起來,於步驟二確認命中全部 $k$ 個索引,即為元素存在 完整程式碼如下,或轉駕到 API 文件 : pub struct BloomFilter { bits: Vec, hash_fn_count: usize, hashers: [DefaultHasher; 2], _phantom: PhantomData,\n} impl BloomFilter { pub fn new(capacity: usize, err_rate: f64) -> Self { let bits_count = Self::optimal_bits_count(capacity, err_rate); let hash_fn_count = Self::optimal_hashers_count(err_rate); let hashers = [ RandomState::new().build_hasher(), RandomState::new().build_hasher(), ]; Self { bits: vec![false; bits_count], hash_fn_count, hashers, _phantom: PhantomData, } } pub fn insert(&mut self, elem: &T) where T: Hash, { // g_i(x) = h1(x) + i * h2(x) let hashes = self.make_hash(elem); for fn_i in 0..self.hash_fn_count { let index = self.get_index(hashes, fn_i as u64); self.bits[index] = true; } } pub fn contains(&self, elem: &T) -> bool where T: Hash, { let hashes = self.make_hash(elem); (0..self.hash_fn_count).all(|fn_i| { let index = self.get_index(hashes, fn_i as u64); self.bits[index] }) } fn get_index(&self, (h1, h2): (u64, u64), fn_i: u64) -> usize { (h1.wrapping_add(fn_i.wrapping_mul(h2)) % self.bits.len() as u64) as usize } fn make_hash(&self, elem: &T) -> (u64, u64) where T: Hash, { let hasher1 = &mut self.hashers[0].clone(); let hasher2 = &mut self.hashers[1].clone(); elem.hash(hasher1); elem.hash(hasher2); (hasher1.finish(), hasher2.finish()) } /// m = -1 * (n * ln ε) / (ln 2)^2 fn optimal_bits_count(capacity: usize, err_rate: f64) -> usize { let ln_2_2 = std::f64::consts::LN_2.powf(2f64); (-1f64 * capacity as f64 * err_rate.ln() / ln_2_2).ceil() as usize } /// k = -log_2 ε fn optimal_hashers_count(err_rate: f64) -> usize { (-1f64 * err_rate.log2()).ceil() as usize }\n}","breadcrumbs":"布隆過濾器 Bloom filter » 查詢","id":"269","title":"查詢"},"27":{"body":"Binary search,又稱對數搜尋(logarithmic search),是一個在已排序的序列中,快速找出特定元素的搜尋演算法。二元搜尋的步驟就像玩猜數字,先猜一個數字,告訴你你的猜測比正確答案大或小,再繼續往對的方向猜,捨棄猜錯的另一半。這樣持續進行好幾次猜測,每猜一次,搜尋範圍就縮小一半,因此稱為「二元」搜尋。 二元搜尋有以下幾個特點: 概念簡單,搜尋高效,達到對數執行時間 $O(\\log n)$。 不需額外實作資料結構或配置記憶體空間。 只能搜尋 已排序 的序列。","breadcrumbs":"二元搜尋 Binary search » 二元搜尋 Binary Search","id":"27","title":"二元搜尋 Binary Search"},"270":{"body":"Notation Description $n$ 預期儲存 $n$ 個元素到容器中 $m$ 使用 $m$ 位元的位元陣列來儲存 $k$ 有 $k$ 個雜湊函數計算索引位置 $\\epsilon$ 假陽性錯誤的機率 $\\epsilon$ 和常見的容器資料結構不太一樣,複雜度和 $n$ 元素個數脫鉤,而是和 $k$ 和 $m$ 相關: Operation Time complexity insert(v) $O(k)$ contains(v) $O(k)$ 而儲存空間複雜度則是 $O(m)$。 新增和搜尋一個元素個別需要雜湊 $k$ 次,因此時間複雜度為 $O(k)$ 顯而易見,然而,$k$ 通常相對 $m$ $n$ 是非常小的數字,例如 在 0.1% 錯誤率下儲存一百萬個元素僅需 1.71 MiB 和 7 個雜湊函數 ,實務上直接當作 $O(1)$ 也不算錯。 至於空間複雜度,由於必須事先配置好 $m$ 位元的位元陣列,就算新增的元素 $n \\gt m$,也不會再新增新位元,因此空間使用為 $O(m)$ 個位元。實務上,當 $n$ 成長到接近 $m$ 時,假陽性的機率會大增,不堪使用,進而需要能動態調整儲存空間的 Bloom filter 變形。","breadcrumbs":"布隆過濾器 Bloom filter » 效能","id":"270","title":"效能"},"271":{"body":"經典款 Bloom filter 容易實作,歷久不衰,不過仍有許多可以增進空間: Data locality 不夠好:Bloom filter 底層儲存是位元陣列 隨機存取 ,較不符合現代 CPU 架構的 cache line 使用姿勢。Cloudflare 技術部落格文 When Bloom filters don't bloom 以幽默筆法帶出這個問題,值得一讀。 雜湊次數過多:Bloom filter 每一個新增查詢操作都需要雜湊 $k$ 次,就算利用 double hashing 還是要雜湊兩次,比起其他類似資料結構硬生生多雜湊數次。 位元陣列大小固定:Bloom filter 容器大小固定,給你預期的元素個數後,無法動態調整儲存空間, bits per entry 較高:以類似功能的的資料結構來說,Bloom filter 在空間利用率上,欲維持一定的假陽性機率,每個元素所需位元數相對較高,需要 $1.44 \\log_2{\\frac{1}{\\epsilon}}$ 個位元。 這裡介紹幾款嘗試解決上述問題的 filter,您也可以去 Wikipedia 看看其他更多變形的介紹 。","breadcrumbs":"布隆過濾器 Bloom filter » 變形","id":"271","title":"變形"},"272":{"body":"📚 維基百科 經典款 Bloom filter 之所以無法刪除元素,是因為沒有記錄哪些元素新增/刪除的資訊,而 Counting Bloom filter 顧名思義,原本用一個位元儲存 0 / 1 資訊,延伸為多位元方便儲存計數(counting),有了個別元素增刪資訊,Bloom filter 因此能實作「刪除元素」。搜尋一個 Counting Bloom filter 是否擁有 n 次以上 x,答案一樣和 Bloom filter 類似是「可能有 n 次以上的 x」或是「x 絕對沒有 n 次以上」。事實上,可將 Counting Bloom filter 視為 Bloom filter 的一般化形式(generalized form),而經典款 Bloom filter 反過來可當作只記一次數的特化。 但 Counting Bloom filter 的缺點是空間需求大,端看決定要用幾個位元計數,例如常見用 4 個位元計數,則是經典款的四倍空間消耗。","breadcrumbs":"布隆過濾器 Bloom filter » 可以計數的 Counting Bloom filter","id":"272","title":"可以計數的 Counting Bloom filter"},"273":{"body":"📚 論文連結 Scalable Bloom Filter 的特色是:動態適應空間大小,不需事先知道預期儲存的元素個數。 Scalable Bloom Filter 的實作蠻暴力的,本身是由一至多個經典款 Bloom filter 組成,若一個 filter 滿了(超過 fill ratio),則會新增一個 filter,往後所有新增都在這個新 filter 上面,直到它也滿了,可視為一個 recursive data structure。 至於查詢,這就是 Scalable Bloom Filter 比較弱的地方,查詢會從第一個 filter 開始找,若找不到往下一個 filter 找,找到會沒有下一個 filter 為止。若 filter 數量為 $l$,則查詢的時間複雜度從 $O(k)$ 變成 $O(k \\cdot l)$。 除了初始化大小和假陽性機率率,Scalable Bloom Filter 提供設定成長率和假陽性錯誤緊縮率: 成長因子 $s$:每個新增的 filter 空間大小成長率,論文的經驗法則得出預期小成長趨勢選擇 $s = 2$,有較大成長趨勢則 $s = 4$ 效果好。 錯誤緊縮率 $r$: 每個新增的 filter 會以等比級數得到更緊縮的假陽性機率上限,由於是等比級數,逼近極限時會小於原始機率,這讓整體假陽性機率得以保持。論文中實證 0.8 到 0.9 在元素預期有大成長率下有最佳平均空間利用率。","breadcrumbs":"布隆過濾器 Bloom filter » 動態適應空間大小的 Scalable Bloom Filter","id":"273","title":"動態適應空間大小的 Scalable Bloom Filter"},"274":{"body":"📚 論文連結 (直接讀論文更易懂) 商數過濾器(Quotient filterF)利用 雜湊表 為底層儲存容器,來做集合成員檢測的 AMQ,為了節省空間使用量,Quotient filter 的雜湊表只儲存 partial-key,俗稱指紋(fingerprint),指紋的鍵短空間用量低,副作用是更容易碰撞,代表需要更有效處理雜湊碰撞(hash collision)。 一般來說, 處理雜湊碰撞 有 separate chaining 和 Open addressping 兩大類方法,而 Quotient filter 選擇了另一條詭譎的方法:利用 open addressing 中 linear probing 的方式,對每個 slot 儲存額外資訊,使得我們可辨認碰撞的元素是在相同指紋下的同個 bucket 內。換句話說,額外資訊就是在「透過 linear probing 模擬 separate chaining」。 回到指紋,Quotient filter 實際上並不直接儲存指紋,而是將指紋 $f$ 進一步拆成商 $f_q$ 與餘數 $f_r$,商作為索引位置,而餘數則為真實被儲存的值。透過商和餘數,可重組回推原本的指紋。不需存完整的指紋,又再次減少空間使用量,帥! 簡單總結 Quotient filter 的特性: 使用 linear probing 解決雜湊碰撞,data locality 好,有 cache friendly。 有額外儲存資訊,可在不重建不 rehash filter 的情況下支援刪除、合併、調整空間。 綜合上述兩點,非常適合 LSM-tree 等需要存取 SSD 的場景,大幅減少 I/O。 Throughput 受到雜湊表 load factor 影響較大。 空間用量仍比經典款 Bloom filter 多 10% 到 25%。 Quotient filter 與它等價的 open addressing hash map Image Source: Bender, et al., 2012. \"Don’t Thrash: How to Cache Your Hash on Flash\" .","breadcrumbs":"布隆過濾器 Bloom filter » Quotient filter","id":"274","title":"Quotient filter"},"275":{"body":"📚 論文連結 (有趣易讀,誠摯推薦) Cuckoo hashing 是一種解決雜湊碰撞的方法,透過一次計算兩個雜湊函數產生兩個索引位置,若其中一個位置有空位則插入空位,若都沒有空位,則隨機踢掉一個,被踢掉的再去找下一個替死鬼,直到全部都有位置,或踢掉次數大於一定值則停止。這種行為和杜鵑鳥(cuckoo、布穀鳥)鳩佔鵲巢的生物習性很像,因此得名。 Cuckoo filter 利用 雜湊表 為底層儲存容器,來做集合成員檢測的 AMQ,會和 cuckoo 扯上關係則是因為使用 Cuckoo hashing 解決雜湊碰撞,以增加空間使用率(達到 95% occupancy)。Cuckoo filter 的雜湊表和 Quotient filter 一樣,為了減少空間使用量而只儲存 partial-key。 儲存指紋導致鍵變短,容易碰撞,也代表萬一碰撞,沒辦法透過原始的鍵再次雜湊來找到 Cuckoo hasing 對應另一位置,不過 Cuckoo filter 巧妙利用 XOR 的 identity $x \\oplus x = 0$ 解決問題,double hashing 公式奉上: $$ h_1(x) = hash(x) \\\\ h_2(x) = h_1(x) \\oplus hash(fingerprint(x)) $$ 如此一次,透過 $h_2(x)$ 和指紋的 XOR 就可以得到 $h_1(x)$,公式進而可一般化成: $$j = i \\oplus hash(fingerprint(x))$$ 其中 $j$ 與 $i$ 為同個元素經過兩個雜湊函數中任一的值,神奇吧! Cuckoo filter 的特性是: 支援動態新增與刪除元數。 比其他 filter 變形(例如 Quotient filter)好實作,如果懂 Cuckoo hashing 的話。 查詢效能比經典款 Bloom filter 好,bits per item 也比較低($(\\log_2{\\frac{1}{\\epsilon}} + 2) / \\alpha$,$\\alpha$ 是雜湊表的 load factor,通常為 95.5%)。 缺點是「一定要先新增過一個元素,才能對 filter 刪除該元素」,但這是所有支援刪除的 filter 的通病,不然就會有假陽性發生。 Image Source: Fan, et al., 2014. \"Cuckoo Filter: Practically Better Than Bloom\" .","breadcrumbs":"布隆過濾器 Bloom filter » 支援刪除元素的 Cuckoo filter","id":"275","title":"支援刪除元素的 Cuckoo filter"},"276":{"body":"Burton H. Bloom: Space/Time Trade-offs in Hash Coding with Allowable Errors Wiki: Bloom filter Less Hashing, Same Performance:Building a Better Bloom Filter Onat: Let's implement a Bloom Filter Google Guava: BloomFilter Bloom Filter Calculator","breadcrumbs":"布隆過濾器 Bloom filter » 參考資料","id":"276","title":"參考資料"},"277":{"body":"漢明距離(Hamming distance)是指兩個相同長度的序列(sequence)在相同位置上,有多少個數值不同,對二進位序列來說就是「相異位元的數目」。漢明距離同時也是一種編輯距離,即是將一個字串轉換成另一個字串,需要經過多少次置換操作(substitute)。 漢明距離多應用於編碼理論中的錯誤更正(error-correcting),漢明碼(Hammming code)中計算距離的演算法即為漢明距離。 本次實作的程式碼置於 rust_algorithm_club::hamming_distance rust_algorithm_club::hamming_distance_str API 文件中。","breadcrumbs":"漢明距離 Hamming distance » 漢明距離 Hamming distance","id":"277","title":"漢明距離 Hamming distance"},"278":{"body":"計算相異位元的數目其實就是一堆位元運算,如下: pub fn hamming_distance(source: u64, target: u64) -> u32 { let mut count = 0; let mut xor = source ^ target; // 1 // 2 while xor != 0 { count += xor & 1; // 3 xor >>= 1; // 4 } count as u32\n} 透過 XOR 操作,讓兩序列相異位元為 1,相同位元為 0。 如果 XOR 操作不為零,表示還有相異位元,繼續計算。 將 XOR 結果和 1 做 AND 運算,看最低有效位(least significant digit)是否為 1。 將 XOR 做位元右移,捨棄最低有效位,並回到步驟二。 根據 《The Rust Reference》 指出,Rust 的位元右移在 無符號整數(unsigned)是邏輯右移(logical right shift),也就是直接在最高有效位補 0; 有符號整數(signed)則是算術右移(arithmetic right shift),右移之後符號會被保留。 實際上,Rust 提供了一個原生的計算整數有多少個零的方法 {integer_type}::count_ones ,可以省去自己做位元運算的麻煩,實作如下,帥: pub fn hamming_distance(source: u64, target: u64) -> u32 { (source ^ target).count_ones()\n}","breadcrumbs":"漢明距離 Hamming distance » 位元版實作","id":"278","title":"位元版實作"},"279":{"body":"字串版的漢明距離就相對好懂了。 pub fn hamming_distance_str(source: &str, target: &str) -> usize { let mut count = 0; // 1 let mut source = source.chars(); let mut target = target.chars(); loop { // 2 match (source.next(), target.next()) { // 3 (Some(c1), Some(c2)) if c1 != c2 => count += 1, // 4 (None, Some(_)) | (Some(_), None) => panic!(\"Must have the same length\"), // 5 (None, None) => break, // 6 _ => continue, } } count\n} 字串版同樣吃 source 和 target 兩個輸入。 用 str::chars 讓漢明距離可以比對 Unicode 字串,而非只有 ASCII,而 str::chars 是 Iterator,所以透過 Iterator::next 逐一比較每個字元。 這裡 if c1 != c2 叫做 match guard ,是在模式匹配之外,額外條件式檢查,因此,只有 source 和 target 都有下一個字元而且兩字元不相等才會進入這個匹配分支。 若有任何一個是 None,另外一個是 Some,標示輸入字串的長度不同,直接噴錯。 如果都沒有下一個字元,直接結束迴圈。 其他情況,例如兩個字元相同,就繼續疊代。","breadcrumbs":"漢明距離 Hamming distance » 字串版實作","id":"279","title":"字串版實作"},"28":{"body":"從序列中間的元素開始,比較其與目標值 若該元素為搜尋目標,則結束搜尋。 若該元素較大或小,則將序列切一半,往較小或較大的一半搜尋。 繼續從一半的序列中間的元素開始,重複步驟一到三,直到欲搜尋的序列為空。","breadcrumbs":"二元搜尋 Binary search » 步驟","id":"28","title":"步驟"},"280":{"body":"長度為 n 的序列,計算漢明距離的時間複雜度為 $O(n)$,空間複雜度為 $O(1)$。","breadcrumbs":"漢明距離 Hamming distance » 效能","id":"280","title":"效能"},"281":{"body":"Wiki: Hamming distance 錯誤更正碼簡介","breadcrumbs":"漢明距離 Hamming distance » 參考資料","id":"281","title":"參考資料"},"282":{"body":"萊文斯坦距離(Levenshtein distance)是一種量化兩字串間差異的演算法,代表從一個字串轉換為另一個字串最少需要多少次編輯操作,這種量化指標的演算法稱為 「編輯距離(Edit distance)」 ,不同的演算法允許的編輯操作不盡相同,萊文斯坦距離允許使用: 插入(insertion) 刪除(deletion) 置換(substitution) 三種編輯操作,通常一般實作上三種操作的權重會相同。 萊文斯坦距離概念易理解,實作簡單,常用在簡易拼字修正與建議,為最具代表性的編輯距離演算法。 本次實作的程式碼置於 rust_algorithm_club::levenshtein_distance rust_algorithm_club::levenshtein_distance_naive API 文件中。","breadcrumbs":"萊文斯坦距離 Levenshtein distance » 萊文斯坦距離 Levenshtein distance","id":"282","title":"萊文斯坦距離 Levenshtein distance"},"283":{"body":"","breadcrumbs":"萊文斯坦距離 Levenshtein distance » 概念","id":"283","title":"概念"},"284":{"body":"編輯距離愛拿 kitten 和 sitting 當例子,這兩個單字的編輯距離為 3,可以透過以下步驟,算出 kitten 與 sitting 轉換會經歷三個編輯操作: s itting -> k itting:置換 /k kitt i ng -> kitt e ng:置換 i/e kitten g -> kitten g :刪除最末端 g 等等,怎麼知道 3 就是最少編輯操作呢?我們可以經由下列函數計算萊文斯坦距離: $$ \\operatorname{lev} _{a,b}(i,j) = \\begin{cases} \\max(i,j) & \\text{if} \\min(i,j) = 0, \\\\ \\min{ \\begin{cases} \\operatorname{lev} _{a,b}(i-1,j) + 1, \\\\ \\operatorname{lev} _{a,b}(i,j-1) + 1, \\\\ \\operatorname{lev} _{a,b}(i-1,j-1) + 1 _{(a _{i} \\neq b _{j})} \\end{cases} } & \\text{otherwise.} \\end{cases} $$ $\\operatorname{lev}_{a,b}(i,j)$ 代表字串 $a$ 前 $i$ 個字元,與 $b$ 前 $j$ 個字元的萊文斯坦距離。($i$、$j$ 索引從 1 開始計算) 別怕,這個函數是一個分段函數(piecewise function),由兩個子函數組成,接下來將一一拆解。 首先來看第一個子函數: $$ \\max(i,j) \\hspace{10 pt} \\text{if} \\min(i,j) = 0 $$ 根據函數定義,$i$ $j$ 可以視為 $a$ $b$ 前幾個字元的子字串(substring),所以這個子函數白話翻譯是「若有子字串是空字串,則以較長的子字串長度作為編輯距離」。這其實非常直觀,如果有一空字串和另一個非空字串 abc,那編輯距離一定是插入三次或刪除三次,也就是該字串長度。這帶出萊文斯坦距離一個很重要的上界:「兩字串的編輯距離至多為較長字串的長度」。 第二個子函數稍微複雜,要再從三個函數中取最小值,但剛剛好,這三個函數分別代表了萊文斯坦距離接受的插入、刪除、置換三種操作: $\\operatorname{lev} _{a,b}(i-1,j) + 1$:從 a 轉變到 b 要刪除 1 字元。 $\\operatorname{lev} _{a,b}(i,j-1) + 1$:從 a 轉換到 b 要插入 1 字元。 $\\operatorname{lev} _{a,b}(i-1,j-1) + 1 _{(a _{i} \\neq b _{j})}$:若 a 等於 b,就不需任何操作,直接一起跳過;反之則置換一次。 這是子函數是遞迴函數,每次都會分出三個子程序計算萊文斯坦距離,空間複雜度直逼 $O(3^{m + n - 1})$,驚人! 複雜度的 3 次方會減一是因為只要 m n 其中一個歸零,該路徑就不再遞迴。","breadcrumbs":"萊文斯坦距離 Levenshtein distance » 萊文斯坦的遞迴函數","id":"284","title":"萊文斯坦的遞迴函數"},"285":{"body":"由於上述遞迴複雜度過搞,因此處理萊文斯坦距離,通常會選擇由下至上(bottom-up) 的動態規劃(Dynamic programming),利用一個距離矩陣,將兩個字串所有子字串間的萊文斯坦距離累積紀錄起來,省去重複計算的成本。 首先,先將最基礎的 a、b 其一為空字串時的編輯距離寫上去,因為其中一個為空字串,編輯距離必定是隨著另一字串增加,逐一插入字元(最左方的直行)或刪除字元(上方橫列)。 註:若插入刪除權重相等,對萊文斯坦來說這兩種操作其實一樣,只是由 a 到 b 或 b 到 a 的差異。 圖一:空字串與編輯距離 接下來我們要來算 k 與 s 子字串的編輯距離,按照公式來計算: 紅字上方是執行刪除的累積編輯距離(1),加上刪除操作的成本(1),為 1 + 1 = 2 紅字左方是執行插入的累積編輯距離(1),加上插入操作的成本(1),為 1 + 1 = 2 紅字對角是執行置換的累積編輯距離(1),加上當前 k s 字元不相等的置換成本(1),為 0 + 1 = 1 從刪除、插入、置換的成本中選一個最小值 MIN(2,2,1) 填入矩陣中,完成。 圖二:子字串 k 與 s 的編輯距離 我們再來看一組範例,k 與 si 的距離為 2: 紅字上方是執行刪除的累積編輯距離(2),加上刪除操作的成本(1),為 2 + 1 = 3 紅字左方是執行插入的累積編輯距離(1),加上插入操作的成本(1),為 1 + 1 = 2 紅字對角是執行置換的累積編輯距離(1),加上當前 k i 字元不相等的置換成本(1),為 1 + 1 = 2 從刪除、插入、置換的成本中選一個最小值 MIN(3,2,2) 填入矩陣中,完成。 圖三:子字串 k 與 si 的編輯距離 最後計算出來整個編輯距離矩陣會長得如下,取矩陣最後一行一列的元素就是累積計算出來的 kitten 與 sitting 的編輯距離。 圖三:字串 kitten 與 sitting 的完整編輯距離矩陣 這就是透過動態規劃,將會重複計算的子字串編輯距離紀錄起來,降低原始算式的時空間複雜度,非常簡單暴力的演算法。","breadcrumbs":"萊文斯坦距離 Levenshtein distance » 動態規劃的距離矩陣","id":"285","title":"動態規劃的距離矩陣"},"286":{"body":"萊文斯坦距離的函式簽名很簡單,就是吃兩個 string 回傳一個距離: pub fn levenshtein_distance(source: &str, target: &str) -> usize 首先,先實作第一個子函數 $$ \\max(i,j) \\hspace{10 pt} \\text{if} \\min(i,j) = 0 $$ 當任一字串長度為 0 時(min(i,j)),編輯距離為另一字串之長度。 pub fn levenshtein_distance(source: &str, target: &str) -> usize { if source.is_empty() { return target.len() } if target.is_empty() { return source.len() } /// ...snip\n}","breadcrumbs":"萊文斯坦距離 Levenshtein distance » 實作","id":"286","title":"實作"},"287":{"body":"接下來實作矩陣的部分,這是純天然沒有特別最佳化的版本,要做三件事: 建立一個 a+1 x b+1 的空矩陣,加一是因為要算入 a b 為空字串的狀況。 填入 a b 為空字串時第一列與第一行的編輯距離,也就是全插入和全刪除的狀況。 按照前一節的概念計算整個距離矩陣。 // ...snip let source_count = source.chars().count(); // 1 let target_count = target.chars().count(); let mut distances = vec![vec![0; target_count + 1]; source_count + 1]; // 2 // 3 for i in 1..=source_count { distances[i][0] = i; } for j in 1..=target_count { distances[0][j] = j; } 使用 str::chars 計算字串長度,Rust 的 str::len 回傳的是位元組(byte)的長度,沒有考慮人類閱讀 UTF-8 編碼字串的視覺字元長度。選用 Chars 可以處理絕大部分常見的 UTF-8 字串問題(支援 CJK)。 使用 vec! 巨集建立一個 vector of vector,也就是我們的距離矩陣。 填入第一行和第一列空字串時的狀況,也就是初始化成圖一的情形。 第二步則是撰寫計算距離矩陣編輯操作的邏輯: // ...snip for (i, ch1) in source.chars().enumerate() { for (j, ch2) in target.chars().enumerate() { let ins = distances[i + 1][j] + 1; // 1 let del = distances[i][j + 1] + 1; // 2 let sub = distances[i][j] + (ch1 != ch2) as usize; // 3 distances[i + 1][j + 1] = cmp::min(cmp::min(ins, del), sub); // 4 } } // 5 *distances.last().and_then(|d| d.last()).unwrap() 計算插入操作成本,對應萊文斯坦函數中 $\\operatorname{lev} _{a,b}(i,j-1) + 1$ 子函數。 計算刪除操作成本,對應萊文斯坦函數中 $\\operatorname{lev} _{a,b}(i-1,j) + 1$ 子函數。 計算刪除操作成本,對應萊文斯坦函數中 $\\operatorname{lev} _{a,b}(i-1,j-1) + 1 _{(a _{i} \\neq b _{j})}$,這裡用了 as 運算子,可以在原生型別(primitive type)間互相轉型。 取最小值並紀錄在當前的位置,也就是圖二圖三的綠底紅字。 算完整個距離矩陣後,最後一列最後一行元素就是 a b 兩字串的萊文斯坦距離,你可能好奇,直接呼叫 unwrap 沒有處理錯誤合理嗎?其實在「一定不可能出錯」的地方,呼叫 unwrap 完全可接受,省去不必要的空值處理。 完整程式碼如下: pub fn levenshtein_distance_naive(source: &str, target: &str) -> usize { if source.is_empty() { return target.len(); } if target.is_empty() { return source.len(); } let source_count = source.chars().count(); // 1 let target_count = target.chars().count(); let mut distances = vec![vec![0; target_count + 1]; source_count + 1]; // 2 // 3 for i in 1..=source_count { distances[i][0] = i; } for j in 1..=target_count { distances[0][j] = j; } for (i, ch1) in source.chars().enumerate() { for (j, ch2) in target.chars().enumerate() { let ins = distances[i + 1][j] + 1; // 1 let del = distances[i][j + 1] + 1; // 2 let sub = distances[i][j] + (ch1 != ch2) as usize; // 3 distances[i + 1][j + 1] = cmp::min(cmp::min(ins, del), sub); // 4 } } // 5 *distances.last().and_then(|d| d.last()).unwrap()\n}","breadcrumbs":"萊文斯坦距離 Levenshtein distance » 距離矩陣","id":"287","title":"距離矩陣"},"288":{"body":"Rust 的 Vec 並非簡單的 array,而是在堆積(heap)上配置記憶體,而每一個 Vec 都會帶一個指標和兩個值:指標指向在堆積上的資料,一個值儲存資料當前的長度,一個值儲存容量(圖解請參考 cheats.rs )。所以 Vec 會佔三個 usize 的大小,在 64 位元作業系統中就是 24 個位元組。 但實際上,我們的距離矩陣根本不需要真的矩陣,只需要兩個東西 一個一維的 Vec 一個將二維索引映射到一維空間的函數 再稍微做些小調整就行,如下: // ...snip // 1\n+ let index = |i, j| i * (target_count + 1) + j; // 2\n- let mut distances = vec![vec![0; target_count + 1]; source_count + 1];\n+ let mut distances = vec![0; (target_count + 1) * (source_count + 1)]; for i in 1..=source_count { // 3\n- distances[i][0] = i;\n+ distances[index(i, 0)] = i; } // ...change matrix indexing as above 二維索引轉換成一維索引的閉包(closure) 原本的 Vec> 變為 Vec 的一維矩陣,總元素量不變 改寫所有矩陣索引 若要更有趣的索引方式,可以實作 core::ops::Index trait,這裡就不贅述了。","breadcrumbs":"萊文斯坦距離 Levenshtein distance » 使用一維陣列減少記憶體配置","id":"288","title":"使用一維陣列減少記憶體配置"},"289":{"body":"回想一下,當我們在計算一個編輯距離時,其實只需要取得三個累積的編輯距離:插入 matrix[i, j-1]、刪除 matrix[i-1, j],以及置換 matrix[i-1, j-1]。如圖四 圖四:計算一個編輯距離所需之資料。 這就表示,根本「 無需儲存完整距離矩陣 」,只需儲存前一列的資訊 + 額外一個變數儲存置換操作的成本就行。我們需要儲存的資訊從 (a + 1) x (b + 1) 大小的矩陣,縮小至 a + 1 或 b + 1 長度的一維陣列。 圖五:僅使用一維陣列儲存前一列的資訊。黃色為儲存的陣列,藍色為額外儲存的置換的累積編輯距離 這個最佳化的程式碼,比起矩陣解法又更簡短了,以下一一說明: pub fn levenshtein_distance(source: &str, target: &str) -> usize { // 1 if source.is_empty() { return target.len(); } if target.is_empty() { return source.len(); } // 2 let mut distances = (0..=target.chars().count()).collect::>(); for (i, ch1) in source.chars().enumerate() { let mut sub = i; // 3 distances[0] = sub + 1; // 4 for (j, ch2) in target.chars().enumerate() { let dist = cmp::min( // 5 cmp::min( distances[j], // insert distances[j + 1], // delete ) + 1, sub + (ch1 != ch2) as usize, // substitute ); sub = distances[j + 1]; // 6 distances[j + 1] = dist; // 7 } } *distances.last().unwrap() // 8\n} 和前一段相同,計算空字串的距離。 不需要初始化 a x b 個元素,只需要初始化最多一列的陣列。這裡利用 0..=count 這種 core::ops::RangeInclusive 的寫法,直接產出含有 0 到字串長度的 Vec,這段等同 naive 作法中填入第一列全插入的編輯距離,但省下自己手寫一個迴圈。 將索引 i 作為初始化的刪除編輯距離,等同於 naive 作法中填入第一行全刪除的編輯距離,但尚未用到的距離就跟著索引 i 遞增,不需事先計算了。這個 sub 也等同於置換的累積編輯距離。 置換的累積編輯距離 + 1 就會等於插入的累積編輯距離。 前面步驟配置好陣列後,就可以來計算函數: 插入:索引 j 的元素就是插入的累積編輯距離(圖五紅字左方)。 刪除:索引 j + 1 的元素就是刪除的累積編輯距離(圖五紅字上方)。 置換:sub 變數儲存的就是置換的累積編輯距離(圖五藍色)。 更新 sub 置換的累積編輯距離,也就是這一輪的刪除的累積編輯距離(圖六藍色),以供內層迴圈下個 target char 疊代使用。 將計算所得的編輯距離填入陣列中(圖五紅字/圖六紅字左方),以供外層迴圈計算下一列疊代時使用。 計算完成,取最後一個元素就是兩字串的編輯距離了。 圖六:使用一維陣列疊代計算,藍色為額外儲存的置換的累積編輯距離","breadcrumbs":"萊文斯坦距離 Levenshtein distance » 拋棄矩陣:降低空間複雜度","id":"289","title":"拋棄矩陣:降低空間複雜度"},"29":{"body":"這裡有一個排好序的序列,共有 15 個元素,現在要找尋 9 是否在序列中。 *\n[2, 3, 3, 6, 6, 7, 9, 13, 15, 19, 20, 22, 23, 24, 25] 首先,先找到中間的元素 15 / 2 ~= 8,第八個元素為 13,比 9 大,因此捨棄第八個元素之後的所有元素。 *\n[2, 3, 3, 6, 6, 7, 9, _, _, _, _, _, _, _, _] 接下來繼續對半搜尋,8 / 2 = 4,找尋第四個元素來比對,6 比 9 小,,因此捨棄第四個元素前的所有元素。 *\n[_, _, _, 6, 6, 7, 9, _, _, _, _, _, _, _, _] 對剩下的元素二元搜尋,4 / 2 = 2,並從第四個元素開始計算中點 4 + 2 = 6,取得第六個元素為 7,比 9 小,捨棄 7 之前的元素。 *\n[_, _, _, _, _, 7, 9, _, _, _, _, _, _, _, _] 繼續切一半來搜尋,繼續找中間的元素 2 / 2 = 1,並從第六個元素計算索引位置 6 + 1 = 7,查看第七個元素是 9,終於找到了!","breadcrumbs":"二元搜尋 Binary search » 說明","id":"29","title":"說明"},"290":{"body":"Complexity Worst $O(mn)$ Worst space $O(\\min(m,n))$ Worst space (naive) $O(mn)$ $m$:字串 a 的長度 $n$:字串 b 的長度 顯而易見,萊文斯坦距離最差時間複雜度就是內外兩個迴圈疊代兩個字串的所有字元。而空間複雜度原本是 $m \\cdot n$ 的矩陣,在最佳化動態規劃後,只需兩字串長度 m 或 n 中最小值長度陣列作為儲存空間。","breadcrumbs":"萊文斯坦距離 Levenshtein distance » 效能","id":"290","title":"效能"},"291":{"body":"Wiki: Levenshtein distance Levenshtein distance in Cargo Levenshtein distance in Rust Std (1.0.0-alpha) Ilia Schelokov: Optimizing loop heavy Rust code Turnerj: Levenshtein Distance (Part 2: Gotta Go Fast)","breadcrumbs":"萊文斯坦距離 Levenshtein distance » 參考資料","id":"291","title":"參考資料"},"292":{"body":"感謝您有興趣貢獻 Rust 演算法俱樂部。我們歡迎各種形式的協助。這裡列出幾種任務供你挑選。 增加新的演算法 修正已知的漏洞 改善文件的品質 接下來,將介紹幾個貢獻的注意事項。","breadcrumbs":"貢獻指南 » 貢獻指南","id":"292","title":"貢獻指南"},"293":{"body":"若您決定著手做些厲害的事,請先在 已知 issues 與 pull requests 搜尋,那裡可能已有回報相似的問題。 若沒有重複的問題,請發起一個「進行中(work-in-progress)」的 issue,告知其他人你正在做這項功能。你的時間很寶貴,必須防止重工發生。維護團隊也會追蹤這些 issue 以利管理俱樂部。 有些 meta issue 專門追蹤尚未完成的工作 🚧,可以去看看是否有感興趣的主題。","breadcrumbs":"貢獻指南 » 開始貢獻之前","id":"293","title":"開始貢獻之前"},"294":{"body":"在提交你的貢獻之前,確認成果滿足下列需求: 不要搞壞既有測試。發起 pull request 前執行 cargo test。新的演算法也需包含自身的單元測試。 每個對外介面都需要有文件。這個文件不需要完美無缺,但至少清楚說明它的目的與用法。 儘量維持文章間寫作風格與結構一致。例如:首段需包含簡扼的敘述、解釋效能時請愛用漸進符號。 程式碼撰寫風格應貼近 Rust 的慣例,例如:涉及所有權轉移請使用 into、替額外建構式命名請添加 with 前綴。目前為止,並不強制使用 Clippy 與 rustfmt 。","breadcrumbs":"貢獻指南 » 提交你的成果","id":"294","title":"提交你的成果"},"295":{"body":"","breadcrumbs":"貢獻指南 » 歡迎加入 Rust 演算法俱樂部,願演算法與你同在!","id":"295","title":"歡迎加入 Rust 演算法俱樂部,願演算法與你同在!"},"296":{"body":"","breadcrumbs":"404 » Oops! Something went wrong...","id":"296","title":"Oops! Something went wrong..."},"3":{"body":"線性搜尋 Linear search 二元搜尋 Binary search 內插搜尋 Interpolation search 指數搜尋 Exponential search","breadcrumbs":"Rust Algorithm Club » 搜尋","id":"3","title":"搜尋"},"30":{"body":"Complexity Worst $O(\\log n)$ Best $O(1)$ Average $O(\\log n)$ Worst space $O(1)$ 二元搜尋可以透過分治法(Divide and conquer)遞迴求解,而遞迴的終止條件是序列不能在切兩半。由此可知,二元搜尋的複雜度奠基在要切幾次,子序列長度才會等於 1。設 $n$ 為資料數目,$k$ 為要切幾次才會達成終止條件,可得: $$ \\frac{n}{2^k} = 1 $$ 接下來同乘 $2^k$ 並取對數。 $$ \\frac{n}{2^k} = 1 \\\\ \\Rightarrow 2^k = n \\\\ $$ 再將左式整理一下,得到 $k$。 $$ \\log_2 2^k = log_2 n \\\\ \\Rightarrow k \\cdot \\log_2 2 = log_2 n \\\\ \\Rightarrow k = log_2 n $$ 於是,我們得到二元搜尋時間複雜度為 $O(k) = O(\\log_2 n) = O(\\log n)$。 寫這種式子也許不好理解,我們可以把搜尋過程和每個分支寫成樹狀圖,方便觀察。假設一個數列有七個元素 [1, 2, 3, 4, 5, 6, 7],其二元搜尋所有可能路徑的樹狀圖如下: +---+ | 4 | +---+ / \\ +---+ +---+ | 2 | | 6 | +---+ +---+ / \\ / \\\n+---+ +---+ +---+ +---+\n| 1 | | 3 | | 5 | | 7 |\n+---+ +---+ +---+ +---+ 樹中每一條路徑都代表任意搜尋會經過的步驟,總共有 7 種不同的搜尋路徑,最短路徑僅需要 $\\lfloor{\\log_2 n} = 3 \\rfloor$ 個操作,也就是需要執行「樹高」次的操作。","breadcrumbs":"二元搜尋 Binary search » 效能","id":"30","title":"效能"},"31":{"body":"","breadcrumbs":"二元搜尋 Binary search » 實作","id":"31","title":"實作"},"32":{"body":"二元搜尋概念看似簡單,實際上誤區一堆,不易寫出完全正確的演算法。我們參考 Rust slice binary_search 的實作。先來看看函式宣告的簽名(function signature)。 pub fn binary_search(arr: &[T], target: &T) -> Result where T: PartialOrd 二元搜尋函式宣告中,回傳值大概是最特別的部分。如果有找到目標元素,Result 會是 Ok(目標索引位置),如果沒有找到則回傳 Err(目標值若插入後,不會影響序列排序的位置)。Err 回傳值提供了插入點,非常方便。 再來,T 泛型參數需是 PartialOrd ,這是由於二元搜尋使用排序過後的元素,比起線性搜尋,仍需元素之間相互比較。","breadcrumbs":"二元搜尋 Binary search » 函式宣告","id":"32","title":"函式宣告"},"33":{"body":"市面上常見的實作通常以兩個變數 l 與 r 記錄搜尋範圍的上下界,而我們另闢蹊徑,記錄了 base:搜尋範圍的下界, size:搜尋範圍的長度。 以下是完整實作: pub fn binary_search(arr: &[T], target: &T) -> Result where T: PartialOrd\n{ let mut size = arr.len(); // 1 if size == 0 { return Err(0); } let mut base = 0_usize; while size > 1 { // 2 // mid: [base..size) let half = size / 2; // 2.1 let mid = base + half; if arr[mid] <= *target { // 2.2 base = mid } size -= half; // 2.3 } if arr[base] == *target { // 3 Ok(base) } else { Err(base + (arr[base] < *target) as usize) }\n} 第一部分先取得搜尋範圍 size 以及確定下界為 0_usize。這裡同時檢查若序列長度為零,直接回傳 Err(0),告知呼叫端可直接在 index 0 新增元素。 第二部分就是精髓了,將終止條件設在 size <= 1,以確保迴圈能夠正常結束。 先將搜尋範圍對半切,再與下界 base 相加,算出中點。 另中間元素與目標值比較,如果比較小,則移動下界至中點。 將 size 減半,縮小搜尋範圍。 到了第三部分,base 已經是切到長度為一的序列了,若匹配目標值就直接回傳;若否,需要傳可供目標值插入的位置,將 bool 判斷是轉型成 usize,若 arr[base] 比目標值小,則目標值要加到其後 +1 位置,反之則加在其前 -1 位置。","breadcrumbs":"二元搜尋 Binary search » 函式主體","id":"33","title":"函式主體"},"34":{"body":"只適用已排序序列: 這是使用二元搜尋的前提,千萬不能忽略這重要特性,否則後果絕對大錯特錯。 處理重複元素:一般的實作通常是回傳任意符合目標值的索引位置,就算有重複的元素,仍然不可預期。若要回傳特定位置(leftmost 或 rightmost),則需特別處理。 整數溢位:部分二元搜尋實作會 以兩個變數儲存搜尋範圍上下界的索引位置,而取中點時千萬不可直接將上下界相加再除二,否則很可能整數溢位(integer overflow)。 let mid = (end + start) / 2 // Wrong: integer overflow\nlet mid = start + (end - start) / 2 // Correct 終止條件錯誤:無論如何實作,請將終止條件設為「搜尋範圍為空」,也就是下界大於上界,而不要只比較上下界是否相等。其實搜尋範圍低於一定長度,即可使用線性搜尋替代,避免處理邊界值的麻煩,實務上也幾乎沒有太多效能損失。","breadcrumbs":"二元搜尋 Binary search » 常見誤區與解法","id":"34","title":"常見誤區與解法"},"35":{"body":"","breadcrumbs":"二元搜尋 Binary search » 變形與衍生","id":"35","title":"變形與衍生"},"36":{"body":"Interpolation search 改良自二元搜尋,差別在於,二元搜尋選擇中間的元素作為二分點,而 interpolation search 人如其名,以內插法找尋二分點。在資料平均分佈時,比二元搜尋更高效。欲知後續,待下回 內插搜尋 Interpolation search 分曉。","breadcrumbs":"二元搜尋 Binary search » Interpolation Search","id":"36","title":"Interpolation Search"},"37":{"body":"Exponential search 是一種特殊的二元搜尋,主要用在搜尋無限、無邊界的已排序序列,由於邊界未知長度就未知,無法以傳統二元搜尋找尋中點。Exponential 顧名思義就是不斷比較在 $2^0$,$2^1$ 直到 $2^n$ 的位置上資料是否比目標值大,若較大,再從該位置執行二元搜尋回頭找。詳情請看 指數搜尋 Exponential search 。","breadcrumbs":"二元搜尋 Binary search » Exponential Search","id":"37","title":"Exponential Search"},"38":{"body":"Insertion sort 有一個步驟是在前面已經排完序的資料中,找到適合的地方插入待排序的元素,這部分可透過二元搜尋加快在已排序資料搜尋的速度。詳情請參考 Binary insertion sort 。","breadcrumbs":"二元搜尋 Binary search » Binary Insertion Sort","id":"38","title":"Binary Insertion Sort"},"39":{"body":"Wiki: Binary search algorithm 知乎:二分查找有几种写法?它们的区别是什么?","breadcrumbs":"二元搜尋 Binary search » 參考資料","id":"39","title":"參考資料"},"4":{"body":"簡單排序: 插入排序 Insertion sort 選擇排序 Selection sort 氣泡排序 Bubble sort 希爾排序 Shellsort 高效排序: 堆積排序 Heapsort 快速排序 Quicksort 合併排序 Mergesort 混合排序(更高效): 🚧 內省排序 Introsort 🚧 自適應的合併排序 Timsort 🚧 模式消除快速排序 Pdqsort 特殊排序: 計數排序 Counting sort 桶排序 Bucket sort 基數排序 Radix sort","breadcrumbs":"Rust Algorithm Club » 排序","id":"4","title":"排序"},"40":{"body":"內插搜尋 Interpolation search 為 二元搜尋 的變種,差別在於二分點的選擇方法,二元搜尋選擇中間的元素作為二分點,而內插搜尋則名副其實,以內插法找尋二分點。內插法有許多種類,本次搜尋演算法選擇使用常見的 線性內插(linear interpolation) 實作。 內插搜尋的特色如下: 資料需要是可計算 內插(interpolation) 的數值資料。 對資料分佈敏感,資料均勻分佈時,效能勝過二元搜尋。 資料分佈不均勻時,最差複雜度高達 $O(n)$。","breadcrumbs":"內插搜尋 Interpolation search » 內插搜尋 Interpolation Search","id":"40","title":"內插搜尋 Interpolation Search"},"41":{"body":"確認資料已經排好序。 利用第一個元素 a 與最後的元素 b,以及搜尋上下界 hi 與 lo 位置,作為兩個端點。 利用上述兩點 (lo, a) 與 (hi, b),對搜尋目標計算內插,得到可能的位置。 若該位置上元素較小,則令其為新搜尋下界 a',重複步驟二到三,繼續求內插。 若該位置上元素較大,則令其為新搜尋上界 b',重複步驟二到三,繼續求內插。 若相等,則完成搜尋。 搜尋停止在 a'、b' 兩元素搜尋位置重疊,以及目標值比下界 a' 小或比上界 b' 大。","breadcrumbs":"內插搜尋 Interpolation search » 步驟","id":"41","title":"步驟"},"42":{"body":"迅速說明線性內插法。線性內插法是中學必修的數學概念,給定兩點 $(x_0,y_0)$ 與 $(x_1,y_1)$,欲求在 $[x_0,x_1]$ 區間內直線上 $x'$ 點的 y 值,可以透過斜率公式求解: $$ \\frac{y - y_0}{x' - x_0} = \\frac{y_1 - y_0}{x_1 - x_0 } $$ 接下來就是小學解方程式的事兒了。 Cmglee - CC BY-SA 3.0 回到正題,以下用文字解釋內插搜尋。 這裡有一個已排序有 14 個元素的序列,我們需要從中找出 27 。 [1, 9, 10, 15, 17, 17, 18, 23, 27, 28, 29, 30, 31, 34] 我們將序列索引當作 x 軸,元素值作為 y 軸。可得已知兩點為 $(0, 1)$ 及 $(13, 34)$。 首先,透過斜率公式,計算出在 $y = 27$ 時,$x'$,也就是 27 在序列中可能的位置為 $$x' = \\lfloor 27 / (34 - 1) \\cdot (13 - 0) \\rfloor = 10$$ 查看 arr[10] 為 29,比搜尋目標 27 來得大。將 29 當作我們新的上界,搜尋範變成第 [0, 9] 個元素(29 不需列入搜尋),繼續計算內插 $$x' = \\lfloor 27 / (28 - 1) \\cdot (9 - 0) \\rfloor = 9$$ 查看 arr[9] 為 28,比搜尋目標 27 來得大。將 28 當作我們新的上界,搜尋範變成第 [0, 8] 個元素(28 不需列入搜尋),繼續計算內插 $$x' = \\lfloor 27 / (27 - 1) \\cdot (8 - 0) \\rfloor = 8$$ 查看 arr[8] 為 27,恰恰是搜尋目標 27,搜尋到此結束。","breadcrumbs":"內插搜尋 Interpolation search » 說明","id":"42","title":"說明"},"43":{"body":"Complexity Worst $O(n)$ Best $O(1)$ Average $O(n)$ Average $O(\\log \\log n)$ on uniform distributed data Worst space $O(1)$ $n$:資料筆數 線性內差搜尋的最差時間複雜度為 $O(n)$,也就是每次內差的結果都落在邊界旁,搜尋範圍只縮小一個元素。這種情況容易發生在資料依排序呈指數或對數等非線性函數。例如 $y = 2^x$。 線性內插搜尋對資料的期望是均勻機率分佈(uniform probability distribution)。想求平均時間複雜度 $O(\\log \\log n)$ ,須先透過機率密度函數,計算條件機率,一步步縮小範圍,求得平均誤差,最後求得期望值。這部分計算較為複雜,有興趣的朋友可以參考閱讀資料「 Perl, Y., Itai, A., & Avni, H. (1978). Interpolation search—a log log N search. 」。 PDF of uniform distribution by IkamusumeFan - CC BY-SA 3.0","breadcrumbs":"內插搜尋 Interpolation search » 效能","id":"43","title":"效能"},"44":{"body":"內插搜尋的實作共分為幾部分: 處理空序列狀況。 建立迴圈疊代共用的變數。 計算線性插值的主要迴圈。 將內插值映射到結果的 Result。 首先是函式宣告。 pub fn interpolation_search( arr: &[i32], target: &i32,\n) -> Result 映入眼簾的是 i32,而非泛型參數,為什麼呢?是因為內插搜尋為了計算線性內插,資料僅限定在「數值資料」,而 Rust 並沒有特別一類 Numeric 的型別,自己透過 trait 實作又異常繁瑣,因此先以 i32 代替。而回傳值的部分,與指數搜尋/二元搜尋一模一樣,回傳的 Result 若為 Ok,其值代表目標值在序列內的索引位置; 若為 Err,則是可以將目標值插入序列內又不會破壞排序的位置。 延續數值型別的話題,Rust 社群提供 num crate,定義了各種數值型別與 trait,大整數、複數、虛數、有理數都囊括其中,非常有趣。 再來就是第一第二部分,處理空序列與建立共用變數,非常直觀。 if arr.is_empty() { return Err(0) } let mut hi = arr.len() - 1; let mut lo = 0_usize; let mut interpolant = 0_usize; hi、lo 兩個變數劃定的搜尋範圍上下界。 interpolant 儲存線性插值,代表每次疊代的搜尋位置。 接下來就是主要的迴圈,負責疊代計算內插值。分為三個部分,直接看程式碼先。 loop { let lo_val = arr[lo]; let hi_val = arr[hi]; // 1. if hi <= lo || *target < lo_val || *target > hi_val { break } // 2. The linear interpolation part let offset = (*target - lo_val) * (hi - lo) as i32 / (hi_val - lo_val); interpolant = lo + offset as usize; let mid_val = arr[interpolant]; // 3. if mid_val > *target { hi = interpolant - 1; } else if mid_val < *target { lo = interpolant + 1; } else { break } } 迴圈的三個終止條件,分別為: hi、lo 兩個變數劃定的搜尋範圍重疊,長度為零。 搜尋目標值比上界還大。 搜尋目標值比下界還小。 線性內插的計算方程式,要注意我們是寫 Rust 不是 JavaScript,i32 與 usize 不能混用,要手動轉型。 比較插值與目標值。相等則跳出迴圈;若目標大於小於插值,則縮小搜尋範圍。注意,範圍需手動加減一,排除上下界,以免無限迴圈產生。 最後一部分則是決定線性插值所得的索引位置是否為目標值,並將該值映射到 Result 上。 if *target > arr[hi] { Err(hi + 1) } else if *target < arr[lo] { Err(lo) } else { Ok(interpolant) } 完整的程式碼如下。 pub fn interpolation_search( arr: &[i32], target: &i32,\n) -> Result { // 1. Handle empty sequence. if arr.is_empty() { return Err(0) } // 2. Setup variable storing iteration informaion. let mut hi = arr.len() - 1; let mut lo = 0_usize; let mut interpolant = 0_usize; // 3. Main loop to calculate the interpolant. loop { let lo_val = arr[lo]; let hi_val = arr[hi]; // 3.1. Three condition to exit the loop if hi <= lo || *target < lo_val || *target > hi_val { break } // 3.2. The linear interpolation part let offset = (*target - lo_val) * (hi - lo) as i32 / (hi_val - lo_val); interpolant = lo + offset as usize; let mid_val = arr[interpolant]; // 3.3. Comparison between the interpolant and targert value. if mid_val > *target { hi = interpolant - 1; } else if mid_val < *target { lo = interpolant + 1; } else { break } } // 4. Determine whether the returning interpolant are equal to target value. if *target > arr[hi] { Err(hi + 1) } else if *target < arr[lo] { Err(lo) } else { Ok(interpolant) }\n} 如同 二元搜尋 與 指數搜尋 ,未特別處理重複元素的內插搜尋,並無法預期會選擇哪一個元素。","breadcrumbs":"內插搜尋 Interpolation search » 實作","id":"44","title":"實作"},"45":{"body":"","breadcrumbs":"內插搜尋 Interpolation search » 變形與衍生","id":"45","title":"變形與衍生"},"46":{"body":"Interpolation search tree(IST),姑且稱它「內插搜尋樹」,是一個將內插搜尋結合樹的資料結構。如上述提及,內插搜尋達到 $O(\\log \\log n)$ 的搜尋時間,但僅適用於均勻機率分佈的資料。而 IST 利用動態內插搜尋,讓 1)內插搜尋樹的搜尋可以使用在更多元的 規律機率分佈 的資料中,且 2)可以達到以下的執行效能: $O(n)$ 空間複雜度。 預期有 $O(\\log \\log n)$ 的平攤增減節點操作時間,最差有 $(O \\log n)$。 在規律分佈的資料中,預期搜尋時間為 $O(\\log \\log n)$,最差時間複雜度則為 $O((\\log n)^2)$ 線性時間的循序存取,而取得前後節點或最小值都是常數時間。 更多詳細證明可以閱讀參考資料「 Andersson, A. (1996, October). Faster deterministic sorting and searching in linear space 」。","breadcrumbs":"內插搜尋 Interpolation search » Interpolation Search Tree","id":"46","title":"Interpolation Search Tree"},"47":{"body":"Wiki: Interpolation search Perl, Y., Itai, A., & Avni, H. (1978). Interpolation search—a log log N search. Communications of the ACM, 21(7), 550-553. Andersson, A. (1996, October). Faster deterministic sorting and searching in linear space. In Foundations of Computer Science, 1996. Proceedings., 37th Annual Symposium on (pp. 135-141). IEEE. Linear interpolation visualisation SVG By Cmglee CC BY-SA 3.0 , via Wikimedia Commons. Probability density function of uniform distribution SVG By IkamusumeFan CC BY-SA 3.0 , via Wikimedia Commons.","breadcrumbs":"內插搜尋 Interpolation search » 參考資料","id":"47","title":"參考資料"},"48":{"body":"指數搜尋,又稱為 galloping search,是一種特殊的 二元搜尋 ,主要用在搜尋無限、無邊界的已排序序列。由於邊界未知長度就未知,無法以傳統二元搜尋來找中點。而 Exponential 顧名思義就是從底數為 2,指數為 0 的索引($2^0$ )開始,不斷比較在 $2^1$、$2^2$ 直到 $2^k$ 位置上的值,若比目標值大,則停止指數成長,直接從該位置執行二元搜尋,回頭尋找目標值。 指數搜尋的特點如下: 可以搜尋邊界未知的已排序序列。 縮小搜尋範圍,可比 naïve 的二元搜尋效率高些。 若目標值實際位置很靠近序列前端,效率會非常棒。","breadcrumbs":"指數搜尋 Exponential search » 指數搜尋 Exponential Search","id":"48","title":"指數搜尋 Exponential Search"},"49":{"body":"指數搜尋的步驟只有非常簡單的兩步驟: 依照目標值大小,劃出搜尋範圍。 在上述範圍內執行二元搜尋。 而劃出搜尋範圍這部分也很直觀: 選定一個底數 $k$,通常為 2。 比較 $k^i$ 索引下的值是否比目標值大,$i$ 從零開始。 若較小,指數加一 $k^{i + 1}$ 後繼續重複步驟二比較。 若較大,停止比較,得搜尋範圍為 $k^{i - 1}$ 到 $k^i$。","breadcrumbs":"指數搜尋 Exponential search » 步驟","id":"49","title":"步驟"},"5":{"body":"","breadcrumbs":"Rust Algorithm Club » 資料結構","id":"5","title":"資料結構"},"50":{"body":"這裡有個排好序的序列,我們要尋找其中是否有 22 這個數字。 *\n[2, 3, 3, 6, 6, 7, 9, 13, 15, 19, 20, 22, 23, 24, 25] 首先,先尋找 $2^0 = 1$ 位置上的數字是否超過 22。3 < 22,很明顯沒有。 * * *\n[2, 3, 3, 6, 6, 7, 9, 13, 15, 19, 20, 22, 23, 24, 25] 再來,連續看看 $2^1$:3 < 22 $2^2$:6 < 22 $2^3$:15 < 22 也都沒有超越 22。 *\n[2, 3, 3, 6, 6, 7, 9, 13, 15, 19, 20, 22, 23, 24, 25] _, _ 最後,一口氣將指數加到 4,看看$2^4$ 上的數字是否大於 22。哎呀,$2^4 = 16$,的位置已經超出序列長度,因此取至序列最後一個數字作為比較對象。25 > 22,找到了! 得到搜尋的範圍是 $$2^{4-1} < x < \\text{array.length} < 2^{4}$$","breadcrumbs":"指數搜尋 Exponential search » 說明","id":"50","title":"說明"},"51":{"body":"Complexity Worst $O(\\log i)$ Best $O(1)$ Average $O(\\log i)$ Worst space $O(1)$ $i$:目標值在序列中實際的索引位置。 指數搜尋的複雜度分為兩部分分析:","breadcrumbs":"指數搜尋 Exponential search » 效能","id":"51","title":"效能"},"52":{"body":"設 $i$ 為目標值在序列中實際的索引位置,則搜尋上界,指數增加的操作需執行 $\\lceil \\log(i) \\rceil$ 次,例如匹配目標值的搜尋結果位於序列第 9 個,則指數需增加 $\\lceil \\log(9) \\rceil = 4$ 次,上界才會超過目標值。我們設這部分的複雜度為 $O(log i)$。","breadcrumbs":"指數搜尋 Exponential search » 劃定搜尋範圍","id":"52","title":"劃定搜尋範圍"},"53":{"body":"第二部分就是二元搜尋,複雜度為 $O(log n)$,$n$ 為搜尋範圍的長度。根據第一部分,可以得知範圍長度為 $2^{\\log i} - 2^{\\log{i - 1}} = 2^{log{i - 1}}$ 個元素,帶入二元搜尋的複雜度,計算出第二部分的複雜度為 $log (2^{\\log{i - 1}}) = \\log{(i)} - 1 = O(\\log i)$。 最後,將兩部分的複雜度合起來,就是指數搜尋的時間複雜度了。 $$O(\\log i) + O(\\log i) = 2 O(\\log i) = O(\\log i)$$","breadcrumbs":"指數搜尋 Exponential search » 執行二元搜尋","id":"53","title":"執行二元搜尋"},"54":{"body":"本次實作有邊界的指數搜尋,主要分為三個部分: 處理空序列的狀況。 利用指數,決定搜尋範圍。 執行二元搜尋,並將輸出結果映射回原始序列。 話不多說,直接看程式碼。 use crate::searching::binary_search; pub fn exponential_search(arr: &[T], target: &T) -> Result where T: PartialOrd\n{ // 1. Handle empty scenario. let size = arr.len(); if size == 0 { return Err(0); } // 2. Determine searching boundaries. let mut hi = 1_usize; // Upper bound. while hi < size && arr[hi] < *target { hi <<= 1; } let lo = hi >> 1; // Lower bound. // 3. Do binary search. binary_search(&arr[lo..size.min(hi + 1)], target) .map(|index| lo + index) .map_err(|index| lo + index)\n} 和二元搜尋同,遇到空序列就返回 Err(0) 告知呼叫端可新增資料在位置 0。 決定搜尋上下界,只要 上界不超過序列長度,且 arr[hi] 小於目標值,就讓上界指數成長。這裡用位元左移運算子(bitwise left shift)實作乘以 2。 找到上界後,再將上界除以 2(位元右移),就是下界了。 確定範圍後,利用上下界切序列的 sub slice 作為引數,傳遞給二元搜尋。要注意的是,為了避免 sub slice 超出邊界,上界需在 size 與 hi + 1 之間找最小值。 由於回傳結果的位置是以 sub slice 起始,需加上位移量(下界 lo)才會對應原始 slice 的位置。 由於內部使用 二元搜尋 ,若該二元搜尋沒有處理重複元素的狀況,指數搜尋連帶無法預期這個行為。","breadcrumbs":"指數搜尋 Exponential search » 實作","id":"54","title":"實作"},"55":{"body":"Wiki: Exponential search","breadcrumbs":"指數搜尋 Exponential search » 參考資料","id":"55","title":"參考資料"},"56":{"body":"Insertion sort 是最簡單的排序法之一,比起 quicksort 等高效的排序法,對大資料的處理效能較不理想。其演算法是將欲排序元素直接插入正確位置,因而得名。 Insertion sort 基本特性如下: 實作簡單易理解。 資料量少時較高效,且比其他 $O(n^2) $ 的排序法高效(selection sort/bubble sort)。 自適應排序 :可根據當前資料排序情形加速排序,資料越接近排序完成,效率越高。 穩定排序 :相同鍵值的元素,排序後相對位置不改變。 原地排序 :不需額外花費儲存空間來排序。 即時演算法 :可處理逐步輸入的資料,不需等資料完全備妥。","breadcrumbs":"插入排序 Insertion sort » 插入排序 Insertion Sort","id":"56","title":"插入排序 Insertion Sort"},"57":{"body":"將序列分為未排序與部分排序兩個區域。 取第一個元素 ,將該元素視為已排序。 取出下一元素 ,該元素將插入序列的部分排序區域。 尋找正確位置 :若部分排序元素比新元素大,則互換位置。並重複步驟 2 - 3,直到部分排序元素小於等於新元素。 插入元素 :將新元素 插入 最後的位置。 重複步驟 2 - 4,直到排序完成。 簡而言之,即是每次取一個元素,尋找並插入該元素在部分排序區域的排序位置,再逐步把序列單邊排序完成。 Insertion sort 非常簡單,看動畫就能明瞭。","breadcrumbs":"插入排序 Insertion sort » 步驟","id":"57","title":"步驟"},"58":{"body":"Complexity Worst $O(n^2) $ Best $O(n) $ Average $O(n^2) $ Worst space $O(1) $ auxiliary 最佳時間複雜度發生在資料已完成排序的狀況下,insertion sort 只需執行最外層的迴圈 $n $ 次。 最差時間複雜度發生在資料完全相反時,insertion sort 每取得一個新元素是,都需將資料插入序列最前面,,因此所需的操作如下( $c $ 為任意常數): $$ c \\cdot 1 + c \\cdot 2 + c \\cdot 3 \\cdots + c \\cdot (n - 1) = \\frac{c(n - 1 + 1)(n - 1)}{2}$$ 最後等於 $$\\frac{cn^2}{2} - \\frac{cn}{2}$$ 捨去低次項,得到時間複雜度為 $O(n^2) $。","breadcrumbs":"插入排序 Insertion sort » 效能","id":"58","title":"效能"},"59":{"body":"簡單實作的程式碼如下: pub fn insertion_sort(arr: &mut [i32]) { for i in 1..arr.len() { // 1 let mut j = i; while j > 0 && arr[j - 1] > arr[j] { // 2 arr.swap(j - 1, j); j -= 1; } }\n} 外層迴圈疊代整個序列。並取出 index i,arr[i] 是待排序的元素,index 比 i 小的元素則組成已排序的部分序列。 內層迴圈負責元素比較,決定待排序元素該從何處插入,若前一個元素比待排元素大,則置換兩元素,並繼續往下尋找正確的插入點。直到 j == 0 或待排元素比任何已排序元素都大為止。","breadcrumbs":"插入排序 Insertion sort » 實作","id":"59","title":"實作"},"6":{"body":"堆疊 Stack 佇列 Queue 雙端佇列 Deque","breadcrumbs":"Rust Algorithm Club » 堆疊與佇列","id":"6","title":"堆疊與佇列"},"60":{"body":"","breadcrumbs":"插入排序 Insertion sort » 變形","id":"60","title":"變形"},"61":{"body":"在一般演算法討論中,通常以簡單的型別如 i32 來探討並實作。在真實世界中,做哪種操作,用哪種語言,都會影響到實際效能。例如 Python 的比較操作相對於置換元素,成本高出不少,是因為每個物件在 Python 的比較需動態檢查是否實作 __lt__ __gt__ 等方法才能進行比較。所以 Python 排序法實作就要特別注意減少比較操作的次數。 Binary insertion sort 的目的就是減少內層迴圈的比較次數。在內層迴圈開始之前,使用 binary search 搜尋新元素應要插入哪個位置,最多僅需 $\\log_2n $ 次比較。但 binary insertion sort 的複雜度依舊是 $O(n^2) $,因為除了比較之外,仍需置換(swap)、賦值(assign)等基礎操作。 Binary insertion sort 的程式碼和一般的 insertion sort 差不了多少,我們這裡使用 slice 內建的 binary_search 來找尋插入點。 pub fn binary_insertion_sort(arr: &mut [i32]) { for i in 1..arr.len() { let val = arr[i]; let mut j = i; let pos = match arr[..i].binary_search(&val) { // 1 Ok(pos) => pos, // 2 Err(pos) => pos, }; while j > pos { // 3 arr.swap(j - 1, j); j -= 1; } }\n} 先限制 binary_search 範圍,取出 sorted pile arr[..i]。再對 slice 執行 binary_search。 binary_search 回傳一個 Result 型別,找到時回傳 Ok(index 值),找無時回傳 Err(不影響排序穩定度的插入點),這個 Err 的設計巧妙解決新值插入的問題。 和普通 insertion sort 雷同,從插入點至 sorted pile 疊代到末端以進行排序,省下不少比較操作。","breadcrumbs":"插入排序 Insertion sort » Binary Insertion Sort","id":"61","title":"Binary Insertion Sort"},"62":{"body":"Wiki: Insertion sort CPython: listsort note Sorting GIF by Swfung8 (Own work) CC BY-SA 3.0 via Wikimedia Commons.","breadcrumbs":"插入排序 Insertion sort » 參考資料","id":"62","title":"參考資料"},"63":{"body":"Selection sort 是最易實作的入門排序法之一,會將資料分為 sorted pile 與 unsorted pile,每次從 unsorted pile 尋找最大/最小值,加入 sorted pile 中。 Selection sort 的特性如下: 最簡單的排序法之一。 對小資料序列排序效率較高。 不穩定排序 :排序後,相同鍵值的元素相對位置可能改變。 原地排序 :不需額外花費儲存空間來排序。","breadcrumbs":"選擇排序 Selection sort » 選擇排序 Selection sort","id":"63","title":"選擇排序 Selection sort"},"64":{"body":"將資料分為 sorted pile 與 unsorted pile。 從 unsorted pile 尋找最小值。 置換該最小值元素與 unsorted pile 第一個元素。 重複步驟 2 - 3,直到排序完成。 注意,這個 naïve 的 selection sort 實作為 不穩定排序 。 Joestape89 - CC BY-SA 3.0","breadcrumbs":"選擇排序 Selection sort » 步驟","id":"64","title":"步驟"},"65":{"body":"為什麼 naïve 的 selection sort 會是不穩定排序? 假定有一個序列要遞增排序,其中有重複的 2 元素,我們將其標上 2a、2b 以利辨識。 [2a, 3, 4, 2b, 1] 開始疊代找出最小值並指環。 * *\n[1, 3, 4, 2b, 2a] # 1. 置換 2a, 1 * *\n[1, 2b, 4, 3, 2a] # 2. 置換 3, 2b * *\n[1, 2b, 2a, 3, 4] # 3. 置換 4, 2a 有沒有發現,2a 與 2b 的相對順序顛倒了呢? 首先,回想一下穩定排序的定義: 相同鍵值的元素,排序後相對位置不改變。 問題出在 naïve selection sort 是以置換的方式排序每次疊代的最小值。若我們將置換(swap)改為插入(insert),那麼 selection sort 就會是穩定排序,但相對地,需要位移剩餘未排序的元素,除非使用 linked list 或其他提供 $O(1) $ insertion 的資料結構,不然就會多出額外 $O(n^2) $ 的寫入成本。","breadcrumbs":"選擇排序 Selection sort » 說明","id":"65","title":"說明"},"66":{"body":"Complexity Worst $O(n^2) $ Best $O(n^2) $ Average $O(n^2) $ Worst space $O(1) $ auxiliary 對於接近排序完成的序列,selector sort 並無法有自適應的方式加快排序疊代。第一個元素要做 $n - 1 $ 次比較,第二個 $n - 2 $ 次,總比較次數如下: $$ (n -1) + (n-2) + \\cdots + 1 = \\sum_{i=1}^{n-1} i = \\frac{n(n - 1)}{2}$$ 因此無論序列是否排序完成,selection sort 仍需執行 $n^2 $ 次比較,時間複雜度為 $O(n^2) $。","breadcrumbs":"選擇排序 Selection sort » 效能","id":"66","title":"效能"},"67":{"body":"簡單實作如下: pub fn selection_sort(arr: &mut [i32]) { let len = arr.len(); for i in 0..len { // 1 let mut temp = i; for j in (i + 1)..len { // 2 if arr[temp] > arr[j] { temp = j; } } arr.swap(i, temp); // 3 }\n} 外層迴圈負責儲存當前要排序的 index i 的位置。 內層迴圈負責在 unsorted pile 範圍 [i, len) 找最小值。 外層迴圈在找到最小值之後,置換兩元素。 眼尖的人會發現,內外兩層迴圈的 upper bound 都是 len,這樣是否內側迴圈會 out of bound?Rust 的 range operator(core::ops::Range)實作 Iterator trait 時,有檢查 range.start < range.end,因此這個寫法並不會有出界問題,但會多跑一次無意義的疊代。","breadcrumbs":"選擇排序 Selection sort » 實作","id":"67","title":"實作"},"68":{"body":"","breadcrumbs":"選擇排序 Selection sort » 變形","id":"68","title":"變形"},"69":{"body":"Heapsort 是一個高效的排序法,使用 selection sort 融合 heap 這種半排序的資料結構,讓時間複雜度進化至 $O(n \\log n) $。更多詳情可以參考 這篇介紹 。","breadcrumbs":"選擇排序 Selection sort » Heapsort","id":"69","title":"Heapsort"},"7":{"body":"鏈結串列概述 單向鏈結串列 Singly linked list 🚧 雙向鏈結串列 Doubly linked list 🚧 循環鏈結串列 Circular linked list","breadcrumbs":"Rust Algorithm Club » 鏈結串列","id":"7","title":"鏈結串列"},"70":{"body":"Wiki: Selection sort Why Selection sort can be stable or unstable Sorting GIF by Joestape89 CC BY-SA-3.0 via Wikimedia Commons.","breadcrumbs":"選擇排序 Selection sort » 參考資料","id":"70","title":"參考資料"},"71":{"body":"Bubble sort 是最簡單的排序法之一,由於排序時每個元素會如同泡泡般,一個一個浮出序列頂部,因而得名。由於其簡單好理解,名稱又有趣,常作為第一個學習的入門排序法。不過其效率不彰,甚至不如同為 quardratic time 的 insertion sort。Bubble sort 的原理很平凡,就是相鄰兩兩元素互相比較,如果大小順序錯了,就置換位置。再往下一個 pair 比較。 Bubble sort 的特性如下: 又稱為 sinking sort 。 穩定排序 :相同鍵值的元素,排序後相對位置不改變。 原地排序 :不需額外花費儲存空間來排序。","breadcrumbs":"氣泡排序 Bubble sort » 氣泡排序 Bubble sort","id":"71","title":"氣泡排序 Bubble sort"},"72":{"body":"比較兩個相鄰元素,若首個元素比次個元素大,置換兩者的位置。 依序對相鄰元素執行步驟一,直到抵達序列頂端,此時頂端元素排序完成。 重複步驟 1 - 2 的整個序列疊代,直到任何一次疊代沒有執行元素置換。 Swfung8 - CC BY-SA 3.0","breadcrumbs":"氣泡排序 Bubble sort » 步驟","id":"72","title":"步驟"},"73":{"body":"給定一組序列 [5, 3, 8, 7, 2],以 bubble sort 遞增排序。以 ASCII diagram 表示: 第一次疊代 * * * *\n[5, 3, 8, 7, 4] -> [3, 5, 8, 7, 4] # 置換 3 與 5 * * * *\n[3, 5, 8, 7, 4] -> [3, 5, 8, 7, 4] # 不需置換 * * * *\n[3, 5, 8, 7, 4] -> [3, 5, 7, 8, 4] # 置換 7 與 8 * * * *\n[3, 5, 7, 8, 4] -> [3, 5, 7, 4, 8] # 置換 4 與 8,8 已排好序 第二次疊代 * * * *\n[3, 5, 7, 4, 8] -> [3, 5, 7, 4, 8] # 不需置換 * * * *\n[3, 5, 7, 4, 8] -> [3, 5, 7, 4, 8] # 不需置換 * * * *\n[3, 5, 7, 4, 8] -> [3, 5, 4, 7, 8] # 置換 4 與 7 * * * *\n[3, 5, 4, 7, 8] -> [3, 5, 4, 7, 8] # 不需置換 naïve bubble sort 會跑完整個序列,即是已排序完成。 第三次疊代 * * * *\n[3, 5, 4, 7, 8] -> [3, 5, 4, 7, 8] # 不需置換 * * * *\n[3, 5, 4, 7, 8] -> [3, 4, 5, 7, 8] # 置換 4 與 5 * * * *\n[3, 5, 4, 7, 8] -> [3, 4, 5, 7, 8] # 不需置換 * * * *\n[3, 5, 4, 7, 8] -> [3, 4, 5, 7, 8] # 不需置換 第四次疊代 * * * *\n[3, 4, 5, 7, 8] -> [3, 4, 5, 7, 8] # 不需置換 * * * *\n[3, 4, 5, 7, 8] -> [3, 4, 5, 7, 8] # 不需置換 * * * *\n[3, 4, 5, 7, 8] -> [3, 4, 5, 7, 8] # 不需置換 * * * *\n[3, 4, 5, 7, 8] -> [3, 4, 5, 7, 8] # 不需置換 很簡單的排序法!","breadcrumbs":"氣泡排序 Bubble sort » 說明","id":"73","title":"說明"},"74":{"body":"Complexity Worst $O(n^2) $ Best $O(n) $ Average $O(n^2) $ Worst space $O(1) $ auxiliary","breadcrumbs":"氣泡排序 Bubble sort » 效能","id":"74","title":"效能"},"75":{"body":"Bubble sort 總共需要 $n - 1 $ 次疊代,每次疊代至少需要執行 $n - 1 - i $ 置換( $i $ 為第幾次疊代),總共需要疊代 $$\\sum_{i=0}^{n-1} (n - i - 1) = n^2 - \\sum_{i=0}^{n-1}i - n = n^2 - \\frac{n(n - 1)}{2} - n = \\frac{n^2}{2} - \\frac{n}{2}$$ 次,因此,時間複雜度為 $O(n^2) $。 Bubble sort 在已排序完成的序列上,只需要疊代序列一次,發現完全沒有置換任何元素,即停止排序,可達到最佳時間複雜度。","breadcrumbs":"氣泡排序 Bubble sort » Time complexity","id":"75","title":"Time complexity"},"76":{"body":"Bubble sort 簡單實作如下: pub fn bubble_sort(arr: &mut [i32]) { let mut swapped = true; // 1 while swapped { swapped = false; for i in 1..arr.len() { // 2 if arr[i - 1] > arr[i] { arr.swap(i - 1, i); swapped = true // 3 } } }\n} 建立一個旗標,標誌該次疊代是否有元素置換。 內層迴圈依序比較兩兩相鄰元素。 若有任何置換動作,將旗標標誌為「已置換(true)」。 倘若記錄已排好序的元素位置,雖然複雜度仍是 $O(n^2) $,但如此以來,每次疊代都可少一次元素比較,對比較操作成本高的語言或實作來說,仍不失為最佳化的方法。程式碼如下: pub fn bubble_sort_optimized(arr: &mut [i32]) { let mut new_len: usize; let mut len = arr.len(); // 1 loop { new_len = 0; for i in 1..len { if arr[i - 1] > arr[i] { arr.swap(i - 1, i); new_len = i; // 2 } } if new_len == 0 { // 3 break; } len = new_len; // 4 }\n} 將當前的序列長度記錄到 len。 內層迴圈負責比較、置換,以及記錄未排序部分的序列長度到 new_len。 若未排序部分 new_len 為零,代表排序完成。 外層迴圈將新長度值 new_len 賦予 len,下一次疊代就可少做一次比較。","breadcrumbs":"氣泡排序 Bubble sort » 實作","id":"76","title":"實作"},"77":{"body":"Wiki: Bubble sort Sorting GIF was created by Swfung8 (Own work) CC BY-SA 3.0 via Wikimedia Commons.","breadcrumbs":"氣泡排序 Bubble sort » 參考資料","id":"77","title":"參考資料"},"78":{"body":"眾所周知, Insertion sort 用在幾乎完成排序的序列上非常高效,換句話說,當元素置換不需移動太遠時,效率很高。反之,如果有元素錯位非常遙遠,效能就會大打折扣。Shellsort 以一個 gap sequence 將資料依指定的間隔(gap)分組進行 insertion sort,使得較遠的元素能夠快速歸位,下一次的排序就會因前次排序結果愈來愈接近完成而加速。 Shellsort 最後一個 gap 必定是 1,也就是排序會退化成 insertion sort,此時大部分元素皆排序完成,insertion sort 會非常高效。 Shellsort 特性如下: 自適應排序 :可根據當前資料排序情形加速排序,資料越接近排序完成,效率越高。 不穩定排序 :排序後,相同鍵值的元素相對位置可能改變。 原地排序 :不需額外花費儲存空間來排序。 可視為一般化(Generalizaion)的 insertion sort 。","breadcrumbs":"希爾排序 Shellsort » 希爾排序 Shellsort","id":"78","title":"希爾排序 Shellsort"},"79":{"body":"Shellsort 分為兩個步驟: 決定一組 gap sequence。 疊代 gap sequence 進行分組排序,每次執行有間隔的 insertion sort。也就是每個元素與其相鄰 gap 的元素比較與置換。 最後一次排序(gap = 1)會退化為 insertion sort,完成整個排序。","breadcrumbs":"希爾排序 Shellsort » 步驟","id":"79","title":"步驟"},"8":{"body":"關聯容器概述 雜湊表 Hash map 🚧 有序映射表 Ordered map 🚧 多重映射表 Multimap 集合 Set 布隆過濾器 Bloom filter","breadcrumbs":"Rust Algorithm Club » 關聯容器","id":"8","title":"關聯容器"},"80":{"body":"Shellsort 的效率取決於 gap sequence 的選擇,這邊舉幾個常見的 gap sequence: Sequence Marcin Ciura 1, 4, 10, 23, 57, 132, 301, 701 $2^{k} - 1 $ 1, 3, 7, 15, 31, 63,... $\\lfloor {\\frac {N}{2^k}} \\rfloor $ $\\lfloor {\\frac {N}{2}} \\rfloor $, $\\lfloor {\\frac {N}{4}} \\rfloor $, ..., 1 感受一下 gap sequence 為 23, 10, 4, 1 的 shellsort 吧。","breadcrumbs":"希爾排序 Shellsort » Gap Sequneces","id":"80","title":"Gap Sequneces"},"81":{"body":"Shellsort 其實就是進行好幾次不同 gap 的 insertion sort,以下用 ASCII diagram 解釋。 假定這裡有一個序列需要遞增排序。 [5, 3, 8, 7, 4, 9, 6, 2] 我們選擇最簡單的 $\\lfloor {\\frac {N}{2^k}} \\rfloor $ gap sequence 來排序。我們以 星號 標示出每次 insertion sort 對應排序 首先算出第一個 gap 為 $8 / 2^1 = 4 $。開始 insertion sort。 * *\n[5, 3, 8, 7, 4, 9, 6, 2] -> (sort subsequence [5, 4]) * *\n[4, 3, 8, 7, 5, 9, 6, 2] -> (skip) * *\n[4, 3, 8, 7, 5, 9, 6, 2] -> (sort subsequence [8, 6]) * *\n[4, 3, 6, 7, 5, 9, 8, 2] -> (sort subsequence [7, 2]) [4, 3, 8, 2, 5, 9, 6, 7] 再來算出第二個 gap 為 $8 / 2^2 = 2 $。開始 insertion sort。 * *\n[4, 3, 8, 2, 5, 9, 6, 7] -> (skip) * *\n[4, 3, 8, 2, 5, 9, 6, 7] -> (sort subsequence [3, 2]) * * *\n[4, 2, 8, 3, 5, 9, 6, 7] -> (sort subsequence [4, 8, 5]) * * *\n[4, 2, 5, 3, 8, 9, 6, 7] -> (skip) * * * *\n[4, 2, 5, 3, 8, 9, 6, 7] -> (sort subsequence [4, 5, 8, 6]) * * * *\n[4, 2, 5, 3, 6, 9, 8, 7] -> (sort subsequence [2, 3, 9, 7])\n[4, 2, 5, 3, 6, 7, 8, 9] 再來進行第三次排序。gap 為 $8 / 2^3 = 1 $,shellsort 退化至 insertion sort,但前一次結果已經很接近排序完成,insertion sort 可以幾乎在 one pass 完成排序。 Insertion sort 的 ASCII diagram 我們就不展示了,請參考 Insertion sort 。","breadcrumbs":"希爾排序 Shellsort » 說明","id":"81","title":"說明"},"82":{"body":"Complexity Worst $O(n^2) $ ~ $O(n \\log^2 n) $ (Depends on gap sequence) Best $O(n \\log n) $ Average Depends on gap sequence Worst space $O(1) $ auxiliary Shellsort 的複雜度不容易計算,取決於 gap sequence 怎麼安排,太少 gap 會讓速度太接近 insertion sort,太多 gap 則會有過多額外開銷。目前已知的 gap sequence 中,最差時間複雜度可以達到 $O(n \\log^2 n) $,有著不錯的表現。有興趣可以參考 這篇文章 。","breadcrumbs":"希爾排序 Shellsort » 效能","id":"82","title":"效能"},"83":{"body":"我們這裡以 Marcin 的 Paper 中提到的經驗式為例,首先,先建立一個 gap sequence 的常數。 /// Marcin Ciura's gap sequence.\npub const MARCIN_GAPS: [usize; 8] = [701, 301, 132, 57, 23, 10, 4, 1]; 再來就是主程式的部分,總共會有三個迴圈, 最外層是疊代 gap sequence, 中間層是疊代整個資料序列, 內層就是每個元素的插入排序動作。 /// Shellsort\npub fn shellsort(arr: &mut [i32]) { let len = arr.len(); for gap in MARCIN_GAPS.iter() { // 1 let mut i = *gap; // 4 while i < len { // 2 let mut j = i; while j >= *gap && arr[j - gap] > arr[j] { // 3 arr.swap(j - *gap, j); j -= *gap; } i += 1; } }\n} 最外層的迴圈,利用 iter() trait 產生疊代器,疊代 gap sequence。 中間層迴圈,控制 i 是否超出資料序列,以疊代整合資料序列。 最內層迴圈,執行插入動作,將每個元素置換到正確位置。 由於 gap 的型別是 &usize,需透過 *gap dereference 得到 usize 型別。","breadcrumbs":"希爾排序 Shellsort » 實作","id":"83","title":"實作"},"84":{"body":"Wiki: Shellsort Best Increments for the Average Case of Shellsort, M. Ciura, 2001 Shellsort and Sorting Networks (Outstanding Dissertations in the Computer Sciences)","breadcrumbs":"希爾排序 Shellsort » 參考資料","id":"84","title":"參考資料"},"85":{"body":"Heapsort(堆積排序)可以看作是 selection sort 的變形,同樣會將資料分為 sorted pile 與 unsorted pile,並在 unsorted pile 中尋找最大值(或最小值),加入 sorted pile 中。 和 selection sort 不同之處是,heapsort 利用 堆積(heap) 這種半排序(partially sorted)的資料結構輔助並加速排序。 Heapsort 的特性如下: 使用 heap 資料結構輔助,通常使用 binary heap 。 不穩定排序 :排序後,相同鍵值的元素相對位置可能改變。 原地排序 :不需額外花費儲存空間來排序。 較差的 CPU 快取 :heap 不連續存取位址的特性,不利於 CPU 快取 。","breadcrumbs":"堆積排序 Heapsort » 堆積排序 Heapsort","id":"85","title":"堆積排序 Heapsort"},"86":{"body":"Heapsort 的演算法分為兩大步驟: 將資料轉換為 heap 資料結構(遞增排序用 max-heap, 遞減排序選擇 min-heap)。 逐步取出最大/最小值,並與最後一個元素置換。具體步驟如下: 交換 heap 的 root 與最後一個 node,縮小 heap 的範圍(排序一筆資料,故 heap 長度 -1)。 更新剩下的資料,使其滿足 heap 的特性,稱為 heap ordering property。 重複前兩個步驟,直到 heap 中剩最後一個未排序的資料。 透過 GIF 動畫感受一下 heapsort 的威力吧!","breadcrumbs":"堆積排序 Heapsort » 步驟","id":"86","title":"步驟"},"87":{"body":"在開始之前,定義幾個 heap 常用名詞: Heap ordering property :一個 heap 必須要滿足的條件。以 heap 種類不同有幾種變形。 min-heap property :每個結點皆大於等於其父節點的值,且最小值在 heap root。 max-heap property :每個結點皆小於等於其父節點的值,且最大值在 heap root。 而 heapsort 主要分為兩個部分: Heapify :將陣列轉換為 heap 資料結構(heapify)。 Sorting :不斷置換 heap root 與最後一個元素來排序,並修正剩餘未排序資料使其符合 heap order。 這裡有一個未排序的序列,將以遞增方向排序之。 [17, 20, 2, 1, 3, 21] 首先,將資料轉換為 heap 資料結構,這個步驟即時 heapify 。由於是遞增排序,我們採用 max-heap(最大元素在 root)。 [21, 20, 17, 1, 3, 2] 對應的二元樹(binary tree)的圖形如下: 再來就是 排序的部分 ,Max-heap 會將最大的元素擺在 root 的位置,我們先將最後一個 node 與 root 進行交換,完成第一個排序步驟。 若不熟悉 heap,可以閱讀 Wiki 的介紹 ,其實 heap 就是用陣列實作的二元樹。 [21, 20, 17, 1, 3, 2] * *\n(swap) --> unsorted | sorted\n[2, 20, 17, 1, 3 | 21] 接下來,將未排序的資料區塊重整為符合 max-heap 的結構。 [2, 20, 17, 1, 3 | 21] (sift down) --> [20, 3, 17, 1, 2 | 21] 有沒有看出一些端倪? 只要不斷將 root 和最後一個 node 交換,並將剩餘資料修正至滿足 heap ordering,就完成排序了。 [20, 3, 17, 1, 2 | 21] * *\n(swap) --> [2, 3, 17, 1 | 20, 21] (sift down)--> [17, 3, 2, 1 | 20, 21] * *\n(swap) --> [1, 3, 2 | 17, 20, 21] (sift down)--> [3, 1, 2 | 17, 20, 21] * *\n(swap) --> [1, 2 | 3, 17, 20, 21] (Done!) 以上便是 heapsort 演算法的簡單流程,是不是和 selection sort 非常相似呢!","breadcrumbs":"堆積排序 Heapsort » 說明","id":"87","title":"說明"},"88":{"body":"Complexity Worst $O(n \\log n) $ Best $O(n \\log n) $ Average $O(n \\log n) $ Worst space $O(1) $ auxiliary Heapsort 最佳、最差、平均的時間複雜度皆為 $O(n \\log n) $,同樣分為兩部分簡單解釋。","breadcrumbs":"堆積排序 Heapsort » 效能","id":"88","title":"效能"},"89":{"body":"建立一個 binary heap 有兩種方法,一種是一個個元素慢慢加入 heap 來建立;另一種則是給定隨意的序列,再透過 heapify 演算法修正序列為有效的 heap。一般來說 heapsort 常用實作後者。 Heapify 是指將序列修正至符合 heap ordering 的序列。給定一個元素,假定其為非法的 heap order,而該元素之後的 subtree 視為符合 heap ordering property。欲修正這個在錯誤位置的元素,必須透過與其 children node 置換往下篩,這個往下篩的過程就稱為 sift down ,在 實作 一節會詳細解釋,這邊只要知道 sift down 會不斷將該元素與其 child node 比較,若不符合 heap order 則與 child node 置換,並繼續疊代每一個 level。所以 sift down 的時間複雜度為 $O(\\lceil {\\log_2(n)} \\rceil) = O(\\log n) $, $n $ 為陣列元素個數。 Heapify 從最末個元素開始反向疊代,每個元素都呼叫 sift_down 調整 heap 符合 heap ordering。總共要做 $n $ 次 sift_down 操作,但由於最後一層所以 leaf 已符合 heap order(因為沒有 child node),我們的迴圈可以跳過所有 leaf node 直接從非 leaf node 開始,因此複雜度為 $$\\lfloor n / 2 \\rfloor \\cdot O(\\log n) = O(n \\log n)$$ 實際上,build heap 步驟的複雜度可達到 $O(n) $,可以看看 UMD 演算法課程 Lecture note 的分析 。","breadcrumbs":"堆積排序 Heapsort » Build heap (heapify)","id":"89","title":"Build heap (heapify)"},"9":{"body":"漢明距離 Hamming distance 萊文斯坦距離 Levenshtein distance 🚧 最長共同子字串 Longest common substring","breadcrumbs":"Rust Algorithm Club » 字串處理","id":"9","title":"字串處理"},"90":{"body":"講完了 heapify,就換到排序部分,所謂的排序其實就是利用 max-heap(或 min-heap)的最大值(最小值)會在首個元素的特性,與最後一個元素置換,完成排序,並將剩餘的部分透過 sift down 修正符合 heap order。所以總共需要做 $n $ 次 sift down,複雜度為 $O(n \\log n) $。","breadcrumbs":"堆積排序 Heapsort » Sorting (sift down)","id":"90","title":"Sorting (sift down)"},"91":{"body":"綜合這兩部分,可以看出 Sorting part 對複雜度有決定性影響,最佳複雜度為 $O(n \\log n) $。","breadcrumbs":"堆積排序 Heapsort » Sum up","id":"91","title":"Sum up"},"92":{"body":"Heapsort 的實作相對簡單,只需要不斷呼叫 heap 內部的 sift_down 方法就可以完成排序。整個演算法架構如下: pub fn heapsort(arr: &mut [i32]) { // -- Heapify part -- // This procedure would build a valid max-heap. // (or min-heap for sorting descendantly) let end = arr.len(); for start in (0..end / 2).rev() { // 1 sift_down(arr, start, end - 1); } // -- Sorting part -- // Iteratively sift down unsorted part (the heap). for end in (1..arr.len()).rev() { // 2 arr.swap(end, 0); // 3 sift_down(arr, 0, end - 1); // 4 }\n} 這部分是 heapify,從最小 non-leaf node 開始(end / 2),修正序列至滿足 heap order,再反向疊代做 heapify。 這部分負責排序,每次疊代都將排序 heap 的 root 元素,步驟如 3 - 4: 不斷將 max-heap 中最大值(在 root 上)與 heap 最後一個元素 end 置換, 並利用 sift_down 將序列修正至 max-heap 資料結構,依照定義,此時 unsorted pile 首個元素成為 max-heap root,是最大值。 Heapsort 全靠 sift_down 神救援,那 sift_down 到底有什麼神奇魔力,一探究竟吧! fn sift_down(arr: &mut [i32], start: usize, end: usize) { let mut root = start; loop { let mut child = root * 2 + 1; // Get the left child // 1 if child > end { break; } if child + 1 <= end && arr[child] < arr[child + 1] { // 2 // Right child exists and is greater. child += 1; } if arr[root] < arr[child] { // 3 // If child is greater than root, swap'em! arr.swap(root, child); root = child; } else { break; } }\n} sift_down 的功能是將 node 往下移。通常用在 heap 刪除或取代 node 時,將序列修正為有效的 heap。 這裡實作的版本有三個參數: arr:欲修正為符合 heap 定義的序列。 start:欲往下移動的 node index,可視為需要被修正的元素。 end:此 node 以內(包含)的序列都會被修正為有效的 heap。 sift_down 有些假設條件:從 start index 出發的子樹,除了 start 本身以外,其他皆符合 heap ordering。 再來看看 sift_down 實作內容,loop 中幹的活就是不斷將 start index 上的元素與其子樹比較,若不符合 heap ordering,則兩者置換。 是否有子結點 :依照 binary heap 的定義找出 root 的左子樹(left substree),若左子樹的 index child 比 end 還大,表示沒有 heap 沒有子結點,停止疊代。 檢查右子樹值較大 :若 root 下有右子樹且較大,我們會標記右子樹,並在下一步對右子樹進行處理。 置換 :若 root 元素比 child 的元素小,則置換兩者,並將 child 設置為下個疊代的 root,繼續檢查最初的 start 元素是否滿足 heap ordering。 以上就是簡單的 sift_down 實作,也是整個 heapsort 的精髓。","breadcrumbs":"堆積排序 Heapsort » 實作","id":"92","title":"實作"},"93":{"body":"Wiki: Heap Wiki: Heapsort CMSC 351 Algorithms, Fall, 2011, University of Maryland. Sorting GIF by RolandH CC BY-SA-3.0 via Wikimedia Commons.","breadcrumbs":"堆積排序 Heapsort » 參考資料","id":"93","title":"參考資料"},"94":{"body":"Quicksort 是一個非常熱門且應用廣泛的排序法,相對簡單的實作就可達到 $O(n \\log n) $ 的平均時間複雜度。雖然最差時間複雜度與 bubble sort 同為 $O(n^2) $,但這種情形非常少見。簡單的最佳化實作下,Quicksort 僅需 $O(\\log n) $ 的額外儲存空間,比它的競爭對手 mergesort 來得節省。非常適合運用在真實世界中的排序法。 Quicksort 基本特性如下: 實作簡單,速度快。 不穩定排序 :排序後,相同鍵值的元素相對位置可能改變。 非原地排序 :除了資料本身,仍需額外花費儲存空間來排序。 分治演算法 :將主問題化作數個子問題,各個擊破。","breadcrumbs":"快速排序 Quicksort » 快速排序 Quicksort","id":"94","title":"快速排序 Quicksort"},"95":{"body":"Quicksort 是一個分治演算法(divide-and-conquer),不斷遞迴下列三個步驟: 選擇 Pivot :在序列中任意選擇一個元素,稱為 Pivot 。 分割序列 :將序列重新排序,分為兩部分,比 pivot 小 的元素置換到 pivot 之前,比 pivot 大的元素置換到 pivot 之後,而 pivot 本身會座落在它最終的正確位置。 遞迴 :分別將「比 pivot 小」及「比 pivot 大」兩部分重複上述步驟,直到新序列的長度小於等於 1,無法繼續分割為止,此時排序完成。","breadcrumbs":"快速排序 Quicksort » 步驟","id":"95","title":"步驟"},"96":{"body":"為了達成上述條件,Quicksort 有許多不同的分割序列實作方案(partition scheme),其中以 Lomuto partition 最易理解,常被做為教材。 以序列最後一個元素當做 pivot。 利用兩個指標 i j,其中 j 從頭疊代整個序列 若有序列第 j 個元素小於 pivot,則與第 i 個元素置換。 第 i 個元素已落在小於 pivot 的範圍,將 i 指標往後移一個,處理下個元素。 疊代完成後,小於 pivot 的元素全都置換至序列前端,此時將 pivot 與第 i 個元素置換,pivot 會剛好在最終正確位置上(符合不等式)。 ASCII 畫出來的分割圖如下: [ values <= pivot | values > pivot | not checked yet | pivot ] low i i+1 j-1 j high-1 high arr[low...i] 包含所有小於等於 pivot 的元素。 arr[i+1...j-1] 包含所有大於 pivot 的元素。 arr[j...high-1] 包含所有尚未疊代的元素。 arr[high] pivot 本身。","breadcrumbs":"快速排序 Quicksort » Lomuto partition scheme","id":"96","title":"Lomuto partition scheme"},"97":{"body":"以 Lomuto partition scheme 為例,使用 ASCII diagram 解釋。 給定一個序列,並選擇最後一個元素作為 pivot,i j 指標則在第一個元素位置。 * -> pivot\n[17, 20, 2, 1, 3, 21, 8] i j 第 j 個元素 17 大於 pivot 8,不置換。 17 > 8, no swap * -> pivot\n[17| 20, 2, 1, 3, 21, 8] i j 第 j 個元素 20 大於 pivot 8,不置換。 20 > 8, no swap * -> pivot\n[17, 20| 2, 1, 3, 21, 8] i j 第 j 個元素 2 小於 pivot 8,置換 i j。i 往後一個位置。 2 <= 8,\nswap i, j * -> pivot\n[2, 20, 17| 1, 3, 21, 8] i->i j 第 j 個元素 1 小於 pivot 8,置換 i j。i 往後一個位置。 1 <= 8\nswap i, j * -> pivot\n[2, 1, 17, 20| 3, 21, 8] i->i j 第 j 個元素 3 小於 pivot 8,置換 i j。i 往後一個位置。 3 <= 8\nswap i, j * -> pivot\n[2, 1, 3, 20, 17| 21, 8] i->i j 第 j 個元素 21 大於 pivot 8,不置換。 21 > 8, no swap * -> pivot\n[2, 1, 3, 20, 17, 21| 8] i j 最後,將 pivot 與第 i 個元素置換,此時 pivot 已在最終位置上,前面的元素皆小於等於 8,其後的元素皆大於 8。 swap pivot, i i <-> * -> pivot\n[2, 1, 3, 8, 17, 21, 20] 這樣就完成一次的 partition 了! 之後再遞迴分割 subarray 即可完成 Quicksort。 [2, 1, 3, 8, 17, 21, 20] # # * * | | | | ------- --------- quicksort quicksort","breadcrumbs":"快速排序 Quicksort » 說明","id":"97","title":"說明"},"98":{"body":"Complexity Worst $O(n^2) $ Best $O(n \\log n) $ Average $O(n \\log n) $ Worst space $O(\\log n) $ or $O(n) $ auxiliary","breadcrumbs":"快速排序 Quicksort » 效能","id":"98","title":"效能"},"99":{"body":"Quicksort 僅有「 選擇 Pivot 」與「 分割序列 」兩步驟,不同的實作的效能各異,也影響 Quicksort 的時間複雜度。 最差情況 最差的分割序列狀況發生在挑選的 pivot 總是最大或最小值(或在 Lomuto partition 下,所有元素值都一樣)。由於 Lomuto 總是選擇最後一個元素作為 pivot,這種情形好發於已排序或接近排序完成的資料上。 而當每次的 partition 都是最不平衡的分割序列,就會產生最差時間複雜度的狀況。遞迴在序列長度等於 1 時停止,因此整個排序法的 call stack 需要 $n - 1 $ 的嵌套遞迴呼叫(nested call);而第 $i $ 次分割會執行 $n - i $ 次基本操作( $O(n) $),所以總共需執行 $$\\sum_{i = 0}^n (n - i) = n^2 - \\frac{n(n + 1)}{2}$$ 次基本操作,最差時間複雜度為 $O(n^2) $。 最佳情況 既然最差情況發生在 pivot 總選到最大或最小值,反之,最佳情況則發生在每次 pivot 都可以順利選到序列的中位數(median),如此一來,每次遞迴分割的序列長度都會減半( $n / 2 $),call stack 的嵌套遞迴總共需要 $2 \\log_2{n} $ 次,序列的長度就會減至 1,而每次分割同樣有 $O(n) $ 的複雜度,因此最佳情況為: $$O(n \\cdot 2 \\log_2{n}) = O(n \\log n)$$","breadcrumbs":"快速排序 Quicksort » Time complexity","id":"99","title":"Time complexity"}},"length":297,"save":true},"fields":["title","body","breadcrumbs"],"index":{"body":{"root":{"0":{".":{".":{"=":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"289":{"tf":1.0}}}}}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"(":{")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{")":{")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{":":{":":{"<":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"_":{"df":1,"docs":{"289":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"c":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"236":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"92":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"67":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{")":{".":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"i":{"df":1,"docs":{"269":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"1":{"df":3,"docs":{"259":{"tf":1.0},"267":{"tf":1.0},"270":{"tf":1.0}}},"7":{"5":{"df":1,"docs":{"239":{"tf":1.0}}},"df":0,"docs":{}},"8":{"df":1,"docs":{"273":{"tf":1.0}}},"9":{"df":1,"docs":{"273":{"tf":1.0}}},"df":0,"docs":{}},"0":{"0":{"df":2,"docs":{"227":{"tf":2.0},"230":{"tf":1.0}}},"df":2,"docs":{"227":{"tf":2.0},"230":{"tf":1.0}}},"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":2,"docs":{"33":{"tf":1.4142135623730951},"44":{"tf":2.0}}}}}}},"b":{"0":{"0":{"0":{"0":{"df":1,"docs":{"179":{"tf":1.0}}},"1":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{},"(":{"0":{"df":1,"docs":{"175":{"tf":1.0}}},"df":0,"docs":{}}},"1":{"0":{"df":1,"docs":{"179":{"tf":1.0}}},"1":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"1":{"1":{"df":1,"docs":{"179":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"0":{"0":{"0":{"df":1,"docs":{"179":{"tf":1.0}}},"1":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}},"1":{"0":{"df":1,"docs":{"179":{"tf":1.0}}},"1":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"1":{"df":0,"docs":{},"(":{"7":{"df":1,"docs":{"175":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":49,"docs":{"102":{"tf":1.4142135623730951},"117":{"tf":1.4142135623730951},"118":{"tf":1.0},"119":{"tf":1.7320508075688772},"123":{"tf":1.0},"125":{"tf":3.3166247903554},"131":{"tf":1.7320508075688772},"132":{"tf":1.4142135623730951},"145":{"tf":1.4142135623730951},"147":{"tf":4.58257569495584},"149":{"tf":1.0},"151":{"tf":2.0},"159":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.4142135623730951},"175":{"tf":1.4142135623730951},"176":{"tf":2.449489742783178},"177":{"tf":1.4142135623730951},"179":{"tf":2.449489742783178},"18":{"tf":1.0},"181":{"tf":1.0},"196":{"tf":1.0},"197":{"tf":1.0},"198":{"tf":1.7320508075688772},"200":{"tf":1.0},"207":{"tf":1.4142135623730951},"227":{"tf":3.3166247903554},"230":{"tf":1.4142135623730951},"233":{"tf":1.7320508075688772},"236":{"tf":1.7320508075688772},"239":{"tf":1.4142135623730951},"253":{"tf":1.4142135623730951},"260":{"tf":1.0},"272":{"tf":1.0},"275":{"tf":1.0},"278":{"tf":2.0},"279":{"tf":1.0},"284":{"tf":1.4142135623730951},"285":{"tf":1.0},"286":{"tf":1.4142135623730951},"288":{"tf":1.0},"289":{"tf":1.0},"33":{"tf":1.4142135623730951},"42":{"tf":2.449489742783178},"48":{"tf":1.0},"54":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"76":{"tf":1.4142135623730951},"92":{"tf":1.4142135623730951}},"}":{"^":{"df":0,"docs":{},"n":{"df":1,"docs":{"99":{"tf":1.0}}}},"df":0,"docs":{}}},"1":{")":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"58":{"tf":1.0}}}},".":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"67":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"2":{"df":4,"docs":{"58":{"tf":1.0},"66":{"tf":1.0},"75":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}}}},",":{"2":{"df":1,"docs":{"256":{"tf":1.0}}},"df":0,"docs":{},"j":{"df":2,"docs":{"284":{"tf":2.0},"287":{"tf":1.4142135623730951}}}},".":{".":{"=":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"e":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"287":{"tf":1.4142135623730951},"288":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{")":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"92":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"59":{"tf":1.0},"61":{"tf":1.0},"76":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"76":{"tf":1.0}}}}}},"0":{".":{"0":{"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"6":{"df":1,"docs":{"240":{"tf":1.4142135623730951}}},"8":{"df":1,"docs":{"176":{"tf":1.0}}},"df":0,"docs":{}},"4":{"4":{"df":1,"docs":{"271":{"tf":1.0}}},"df":0,"docs":{}},"7":{"1":{"df":2,"docs":{"259":{"tf":1.0},"270":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"0":{"0":{"df":1,"docs":{"145":{"tf":1.0}}},"df":4,"docs":{"135":{"tf":1.0},"136":{"tf":1.0},"151":{"tf":1.0},"23":{"tf":1.0}}},"2":{".":{"0":{"3":{"6":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":13,"docs":{"135":{"tf":1.0},"136":{"tf":2.0},"14":{"tf":1.0},"145":{"tf":1.4142135623730951},"147":{"tf":1.0},"149":{"tf":1.4142135623730951},"151":{"tf":1.7320508075688772},"156":{"tf":1.0},"179":{"tf":1.4142135623730951},"274":{"tf":1.0},"42":{"tf":1.4142135623730951},"80":{"tf":1.4142135623730951},"83":{"tf":1.0}},"x":{"df":1,"docs":{"16":{"tf":1.0}}}},"1":{"7":{"df":1,"docs":{"251":{"tf":1.0}}},"8":{"df":1,"docs":{"251":{"tf":1.4142135623730951}}},"9":{"df":1,"docs":{"251":{"tf":1.0}}},"df":6,"docs":{"135":{"tf":1.0},"136":{"tf":1.0},"156":{"tf":1.4142135623730951},"179":{"tf":1.4142135623730951},"227":{"tf":2.23606797749979},"230":{"tf":1.0}}},"2":{"6":{"df":1,"docs":{"146":{"tf":1.0}}},"df":0,"docs":{}},"3":{"2":{"df":2,"docs":{"80":{"tf":1.0},"83":{"tf":1.0}}},"5":{"df":1,"docs":{"47":{"tf":1.0}}},"df":3,"docs":{"29":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"50":{"tf":1.7320508075688772}}},"4":{"1":{"df":1,"docs":{"47":{"tf":1.0}}},"df":2,"docs":{"136":{"tf":2.0},"42":{"tf":1.0}}},"5":{"df":4,"docs":{"29":{"tf":1.7320508075688772},"42":{"tf":1.0},"50":{"tf":1.7320508075688772},"80":{"tf":1.0}}},"6":{"df":1,"docs":{"262":{"tf":1.0}}},"7":{"0":{"df":1,"docs":{"147":{"tf":2.6457513110645907}}},"df":3,"docs":{"42":{"tf":1.4142135623730951},"87":{"tf":3.4641016151377544},"97":{"tf":3.3166247903554}}},"8":{"df":1,"docs":{"42":{"tf":1.0}}},"9":{"7":{"8":{"df":2,"docs":{"43":{"tf":1.0},"47":{"tf":1.0}}},"df":0,"docs":{}},"9":{"6":{"df":2,"docs":{"46":{"tf":1.0},"47":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":2,"docs":{"29":{"tf":1.0},"50":{"tf":1.7320508075688772}}},"]":{"[":{"df":0,"docs":{},"j":{"df":1,"docs":{"287":{"tf":2.0}}}},"df":0,"docs":{}},"^":{"2":{"df":1,"docs":{"230":{"tf":1.0}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"54":{"tf":1.0}}}}}}},"df":97,"docs":{"100":{"tf":1.0},"102":{"tf":2.23606797749979},"103":{"tf":1.4142135623730951},"105":{"tf":3.605551275463989},"107":{"tf":2.0},"108":{"tf":2.23606797749979},"111":{"tf":1.0},"112":{"tf":3.0},"114":{"tf":1.7320508075688772},"117":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"119":{"tf":2.23606797749979},"125":{"tf":5.0990195135927845},"127":{"tf":1.0},"131":{"tf":2.0},"132":{"tf":2.23606797749979},"135":{"tf":1.4142135623730951},"136":{"tf":2.0},"143":{"tf":1.0},"147":{"tf":1.4142135623730951},"15":{"tf":1.0},"151":{"tf":1.7320508075688772},"159":{"tf":1.0},"16":{"tf":1.0},"175":{"tf":3.0},"176":{"tf":2.8284271247461903},"179":{"tf":4.58257569495584},"180":{"tf":2.0},"181":{"tf":2.23606797749979},"182":{"tf":3.4641016151377544},"185":{"tf":2.0},"19":{"tf":1.0},"196":{"tf":1.0},"197":{"tf":1.0},"198":{"tf":1.7320508075688772},"200":{"tf":1.0},"203":{"tf":1.0},"206":{"tf":1.7320508075688772},"207":{"tf":2.0},"208":{"tf":1.4142135623730951},"210":{"tf":1.0},"211":{"tf":1.7320508075688772},"227":{"tf":2.6457513110645907},"228":{"tf":1.4142135623730951},"230":{"tf":1.4142135623730951},"233":{"tf":1.0},"234":{"tf":1.0},"236":{"tf":1.0},"238":{"tf":2.0},"239":{"tf":1.4142135623730951},"24":{"tf":1.0},"242":{"tf":1.0},"249":{"tf":1.0},"256":{"tf":1.4142135623730951},"260":{"tf":1.7320508075688772},"267":{"tf":1.4142135623730951},"268":{"tf":2.0},"269":{"tf":2.0},"272":{"tf":1.0},"278":{"tf":2.449489742783178},"279":{"tf":1.4142135623730951},"284":{"tf":3.7416573867739413},"285":{"tf":3.872983346207417},"287":{"tf":4.58257569495584},"288":{"tf":2.449489742783178},"289":{"tf":4.0},"29":{"tf":1.4142135623730951},"30":{"tf":2.23606797749979},"33":{"tf":2.23606797749979},"42":{"tf":2.23606797749979},"44":{"tf":3.1622776601683795},"46":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"53":{"tf":2.0},"54":{"tf":2.23606797749979},"58":{"tf":1.7320508075688772},"59":{"tf":2.0},"61":{"tf":1.7320508075688772},"65":{"tf":2.449489742783178},"66":{"tf":2.0},"67":{"tf":1.0},"72":{"tf":1.0},"75":{"tf":2.0},"76":{"tf":2.449489742783178},"78":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":2.23606797749979},"81":{"tf":1.0},"83":{"tf":1.7320508075688772},"86":{"tf":1.0},"87":{"tf":3.4641016151377544},"92":{"tf":2.8284271247461903},"95":{"tf":1.0},"96":{"tf":2.0},"97":{"tf":3.3166247903554},"99":{"tf":1.7320508075688772}},"f":{"6":{"4":{"df":2,"docs":{"267":{"tf":1.4142135623730951},"269":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"179":{"tf":1.0}}}}}},"}":{"df":0,"docs":{},"i":{"df":1,"docs":{"75":{"tf":1.0}}}},",":{"df":0,"docs":{},"所":{"df":0,"docs":{},"以":{"df":0,"docs":{},"我":{"df":0,"docs":{},"們":{"df":0,"docs":{},"採":{"df":0,"docs":{},"取":{"df":0,"docs":{},"類":{"df":0,"docs":{},"似":{"df":0,"docs":{},"環":{"df":0,"docs":{},"繞":{"df":0,"docs":{},"算":{"df":0,"docs":{},"術":{"df":0,"docs":{},"運":{"df":0,"docs":{},"算":{"df":0,"docs":{},"(":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"175":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}},"2":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"92":{"tf":1.0}}}}}},"^":{"2":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"1":{"df":2,"docs":{"143":{"tf":1.0},"33":{"tf":1.0}}},"2":{"3":{"6":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"143":{"tf":1.4142135623730951},"33":{"tf":1.0}}},"3":{"df":1,"docs":{"33":{"tf":1.0}}},"5":{"df":1,"docs":{"122":{"tf":1.0}}},"df":0,"docs":{}},"0":{"0":{"1":{"df":1,"docs":{"84":{"tf":1.0}}},"df":0,"docs":{}},"1":{"1":{"df":3,"docs":{"122":{"tf":1.0},"244":{"tf":1.0},"93":{"tf":1.0}}},"2":{"df":1,"docs":{"274":{"tf":1.0}}},"4":{"df":1,"docs":{"275":{"tf":1.0}}},"7":{"df":1,"docs":{"13":{"tf":1.0}}},"8":{".":{"2":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"1":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{}},"df":8,"docs":{"106":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"256":{"tf":1.0},"29":{"tf":1.0},"50":{"tf":1.7320508075688772},"87":{"tf":3.4641016151377544},"97":{"tf":3.3166247903554}}},"1":{"(":{"7":{"df":1,"docs":{"47":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"87":{"tf":3.4641016151377544},"97":{"tf":3.3166247903554}}},"2":{"df":2,"docs":{"29":{"tf":1.0},"50":{"tf":3.1622776601683795}},"。":{"3":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{},"哎":{"df":0,"docs":{},"呀":{"df":0,"docs":{},",":{"$":{"2":{"^":{"4":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"3":{"df":5,"docs":{"29":{"tf":1.0},"42":{"tf":1.0},"50":{"tf":1.7320508075688772},"80":{"tf":1.4142135623730951},"83":{"tf":1.0}}},"4":{"df":5,"docs":{"147":{"tf":2.6457513110645907},"262":{"tf":1.0},"288":{"tf":1.0},"29":{"tf":1.0},"50":{"tf":1.7320508075688772}}},"5":{"3":{"df":1,"docs":{"240":{"tf":1.0}}},"4":{":":{"2":{"8":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"240":{"tf":1.0}}},"5":{":":{"3":{"3":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"240":{"tf":1.0}}},"df":3,"docs":{"274":{"tf":1.0},"29":{"tf":1.0},"50":{"tf":1.7320508075688772}}},"6":{"df":1,"docs":{"151":{"tf":1.0}}},"7":{"df":1,"docs":{"42":{"tf":3.4641016151377544}}},"8":{"df":2,"docs":{"136":{"tf":2.0},"42":{"tf":2.23606797749979}}},"9":{"df":2,"docs":{"16":{"tf":1.0},"42":{"tf":2.0}}},"^":{"0":{"$":{"df":0,"docs":{},",":{"$":{"2":{"^":{"1":{"df":1,"docs":{"37":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":2,"docs":{"48":{"tf":1.0},"50":{"tf":1.0}}},"1":{"$":{"df":0,"docs":{},"、":{"$":{"2":{"^":{"2":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},":":{"3":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}}},"df":1,"docs":{"81":{"tf":1.0}}},"2":{"$":{"df":0,"docs":{},":":{"6":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}}},"df":2,"docs":{"230":{"tf":1.0},"81":{"tf":1.0}}},"3":{"$":{"df":0,"docs":{},":":{"1":{"5":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":2,"docs":{"179":{"tf":1.0},"81":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":2,"docs":{"30":{"tf":1.7320508075688772},"48":{"tf":1.0}}},"n":{"df":3,"docs":{"179":{"tf":2.0},"181":{"tf":1.0},"37":{"tf":1.0}}},"x":{"df":1,"docs":{"43":{"tf":1.0}}},"{":{"4":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}},"\\":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"tf":1.0}},"{":{"df":0,"docs":{},"i":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{},"k":{"df":1,"docs":{"80":{"tf":1.0}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"{":{"df":0,"docs":{},"i":{"df":1,"docs":{"53":{"tf":1.0}}}}}}}}},"a":{"df":1,"docs":{"65":{"tf":2.6457513110645907}},"、":{"2":{"b":{"df":1,"docs":{"65":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"b":{"df":1,"docs":{"65":{"tf":2.449489742783178}}},"df":89,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"105":{"tf":1.0},"108":{"tf":1.0},"111":{"tf":1.4142135623730951},"112":{"tf":2.8284271247461903},"114":{"tf":1.0},"117":{"tf":1.4142135623730951},"118":{"tf":2.0},"119":{"tf":1.0},"125":{"tf":4.123105625617661},"131":{"tf":1.4142135623730951},"132":{"tf":1.4142135623730951},"136":{"tf":1.0},"143":{"tf":1.0},"147":{"tf":3.605551275463989},"151":{"tf":1.0},"153":{"tf":1.0},"16":{"tf":1.0},"175":{"tf":2.449489742783178},"176":{"tf":1.7320508075688772},"179":{"tf":3.1622776601683795},"18":{"tf":1.0},"180":{"tf":1.4142135623730951},"182":{"tf":2.0},"185":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"196":{"tf":1.0},"198":{"tf":1.4142135623730951},"200":{"tf":1.0},"203":{"tf":1.0},"206":{"tf":1.7320508075688772},"207":{"tf":1.4142135623730951},"208":{"tf":1.4142135623730951},"210":{"tf":1.0},"211":{"tf":1.4142135623730951},"227":{"tf":3.7416573867739413},"228":{"tf":1.4142135623730951},"230":{"tf":1.7320508075688772},"233":{"tf":1.0},"234":{"tf":1.0},"238":{"tf":1.4142135623730951},"239":{"tf":1.0},"249":{"tf":1.0},"256":{"tf":1.4142135623730951},"262":{"tf":1.0},"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.4142135623730951},"269":{"tf":1.0},"273":{"tf":1.0},"275":{"tf":1.0},"278":{"tf":1.0},"279":{"tf":1.0},"285":{"tf":2.449489742783178},"287":{"tf":2.0},"288":{"tf":1.0},"289":{"tf":1.0},"29":{"tf":3.0},"291":{"tf":1.0},"30":{"tf":1.7320508075688772},"33":{"tf":1.4142135623730951},"34":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.7320508075688772},"53":{"tf":1.0},"54":{"tf":1.7320508075688772},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"76":{"tf":1.4142135623730951},"81":{"tf":4.123105625617661},"83":{"tf":1.0},"87":{"tf":3.4641016151377544},"89":{"tf":1.0},"92":{"tf":2.0},"97":{"tf":3.3166247903554},"99":{"tf":1.7320508075688772}},"t":{"(":{"\\":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"2":{"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"x":{"^":{"2":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"3":{",":{"4":{"df":1,"docs":{"256":{"tf":1.0}}},"df":0,"docs":{}},".":{"0":{"df":12,"docs":{"190":{"tf":1.0},"225":{"tf":1.0},"244":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.4142135623730951},"62":{"tf":1.0},"64":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"77":{"tf":1.0},"93":{"tf":1.0}}},"1":{"df":3,"docs":{"143":{"tf":1.0},"238":{"tf":1.0},"44":{"tf":1.0}}},"2":{"df":3,"docs":{"143":{"tf":1.0},"238":{"tf":1.0},"44":{"tf":1.0}}},"3":{"df":1,"docs":{"44":{"tf":1.0}}},"4":{"df":1,"docs":{"244":{"tf":1.0}}},"df":0,"docs":{}},"/":{"4":{"df":1,"docs":{"231":{"tf":1.0}}},"df":0,"docs":{}},"0":{"1":{"df":2,"docs":{"80":{"tf":1.0},"83":{"tf":1.0}}},"df":2,"docs":{"15":{"tf":1.0},"42":{"tf":1.0}}},"1":{"df":2,"docs":{"42":{"tf":1.0},"80":{"tf":1.0}}},"2":{"df":2,"docs":{"14":{"tf":1.0},"236":{"tf":1.0}}},"3":{"3":{"df":2,"docs":{"227":{"tf":2.23606797749979},"230":{"tf":1.0}}},"df":0,"docs":{}},"4":{"4":{":":{"6":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"185":{"tf":1.0}}},"7":{":":{"5":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"185":{"tf":1.4142135623730951}}},"df":1,"docs":{"42":{"tf":1.7320508075688772}}},"5":{"1":{"df":2,"docs":{"122":{"tf":1.0},"93":{"tf":1.0}}},"3":{"df":1,"docs":{"185":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"6":{",":{"3":{"7":{"df":1,"docs":{"136":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"136":{"tf":1.4142135623730951}}},"7":{",":{"3":{"6":{"df":1,"docs":{"136":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"136":{"tf":1.4142135623730951}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"47":{"tf":1.0}}}}},"^":{"2":{"df":1,"docs":{"230":{"tf":1.0}}},"df":0,"docs":{}},"df":70,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"105":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.4142135623730951},"112":{"tf":2.8284271247461903},"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"125":{"tf":2.8284271247461903},"131":{"tf":1.4142135623730951},"132":{"tf":1.4142135623730951},"136":{"tf":1.0},"143":{"tf":1.0},"151":{"tf":1.0},"17":{"tf":1.0},"175":{"tf":2.23606797749979},"176":{"tf":1.4142135623730951},"179":{"tf":3.0},"180":{"tf":1.0},"182":{"tf":2.0},"185":{"tf":1.4142135623730951},"197":{"tf":1.0},"198":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.4142135623730951},"208":{"tf":2.449489742783178},"210":{"tf":1.0},"211":{"tf":1.4142135623730951},"227":{"tf":2.23606797749979},"230":{"tf":1.0},"233":{"tf":1.0},"234":{"tf":1.0},"236":{"tf":1.0},"238":{"tf":1.4142135623730951},"239":{"tf":1.0},"244":{"tf":1.0},"249":{"tf":1.0},"256":{"tf":1.0},"258":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.4142135623730951},"278":{"tf":1.0},"279":{"tf":1.0},"284":{"tf":1.7320508075688772},"285":{"tf":1.0},"287":{"tf":2.0},"288":{"tf":1.0},"289":{"tf":1.0},"29":{"tf":2.0},"30":{"tf":1.7320508075688772},"33":{"tf":1.0},"44":{"tf":1.4142135623730951},"50":{"tf":2.449489742783178},"54":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"61":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":2.449489742783178},"67":{"tf":1.0},"73":{"tf":5.830951894845301},"76":{"tf":1.4142135623730951},"80":{"tf":1.0},"81":{"tf":3.872983346207417},"83":{"tf":1.0},"87":{"tf":3.4641016151377544},"92":{"tf":1.7320508075688772},"97":{"tf":3.3166247903554}},"n":{"df":3,"docs":{"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"19":{"tf":1.7320508075688772}}},"、":{"4":{"df":0,"docs":{},"、":{"5":{"df":1,"docs":{"153":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"4":{".":{"0":{"df":1,"docs":{"13":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"5":{"df":1,"docs":{"147":{"tf":2.6457513110645907}}},"df":48,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"112":{"tf":2.8284271247461903},"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"125":{"tf":2.449489742783178},"132":{"tf":1.0},"136":{"tf":1.0},"143":{"tf":1.0},"147":{"tf":2.0},"151":{"tf":1.0},"17":{"tf":2.23606797749979},"175":{"tf":2.0},"176":{"tf":1.7320508075688772},"179":{"tf":2.449489742783178},"18":{"tf":1.0},"180":{"tf":1.7320508075688772},"185":{"tf":1.0},"19":{"tf":2.0},"207":{"tf":1.4142135623730951},"208":{"tf":1.4142135623730951},"210":{"tf":1.0},"211":{"tf":1.0},"236":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.0},"249":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"278":{"tf":1.0},"279":{"tf":1.0},"287":{"tf":1.4142135623730951},"289":{"tf":1.0},"29":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"44":{"tf":1.0},"52":{"tf":1.0},"57":{"tf":1.0},"65":{"tf":2.23606797749979},"73":{"tf":5.916079783099616},"76":{"tf":1.0},"80":{"tf":1.4142135623730951},"81":{"tf":4.123105625617661},"83":{"tf":1.4142135623730951},"92":{"tf":1.4142135623730951}},"n":{"^":{"2":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"109":{"tf":1.0},"244":{"tf":1.0}}}},",":{"df":0,"docs":{},"找":{"df":0,"docs":{},"尋":{"df":0,"docs":{},"第":{"df":0,"docs":{},"四":{"df":0,"docs":{},"個":{"df":0,"docs":{},"元":{"df":0,"docs":{},"素":{"df":0,"docs":{},"來":{"df":0,"docs":{},"比":{"df":0,"docs":{},"對":{"df":0,"docs":{},",":{"6":{"df":1,"docs":{"29":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}}}}},"看":{"df":0,"docs":{},"看":{"$":{"2":{"^":{"4":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"5":{".":{"4":{"7":{"7":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"0":{"df":1,"docs":{"47":{"tf":1.0}}},"3":{"df":1,"docs":{"47":{"tf":1.0}}},"df":0,"docs":{}},"7":{"df":2,"docs":{"80":{"tf":1.0},"83":{"tf":1.0}}},"df":22,"docs":{"112":{"tf":2.8284271247461903},"117":{"tf":1.0},"118":{"tf":1.0},"125":{"tf":3.4641016151377544},"147":{"tf":2.0},"15":{"tf":1.0},"151":{"tf":1.0},"17":{"tf":1.7320508075688772},"175":{"tf":1.7320508075688772},"179":{"tf":2.0},"180":{"tf":1.0},"19":{"tf":1.0},"207":{"tf":1.0},"211":{"tf":1.0},"239":{"tf":1.0},"262":{"tf":1.0},"279":{"tf":1.0},"287":{"tf":1.4142135623730951},"289":{"tf":1.0},"30":{"tf":1.4142135623730951},"73":{"tf":5.916079783099616},"81":{"tf":4.0}},"n":{"^":{"2":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"19":{"tf":1.0}}}},"6":{",":{"9":{"df":1,"docs":{"136":{"tf":1.4142135623730951}}},"df":0,"docs":{}},".":{"0":{"0":{"6":{"df":1,"docs":{"244":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"df":1,"docs":{"80":{"tf":1.0}}},"4":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"236":{"tf":1.0}}}}},"df":2,"docs":{"262":{"tf":1.0},"288":{"tf":1.0}}},"6":{"6":{"df":2,"docs":{"227":{"tf":2.449489742783178},"230":{"tf":1.0}}},"df":1,"docs":{"147":{"tf":2.6457513110645907}}},"df":15,"docs":{"112":{"tf":2.8284271247461903},"118":{"tf":1.0},"125":{"tf":1.4142135623730951},"136":{"tf":1.4142135623730951},"147":{"tf":2.0},"151":{"tf":1.0},"175":{"tf":1.4142135623730951},"179":{"tf":2.0},"239":{"tf":1.0},"279":{"tf":1.0},"289":{"tf":1.0},"29":{"tf":2.8284271247461903},"30":{"tf":1.4142135623730951},"50":{"tf":2.449489742783178},"81":{"tf":3.872983346207417}}},"7":{"0":{"1":{"df":2,"docs":{"80":{"tf":1.0},"83":{"tf":1.0}}},"df":0,"docs":{}},"1":{",":{"7":{"4":{"df":1,"docs":{"136":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"136":{"tf":1.4142135623730951}}},"4":{",":{"7":{"1":{"df":1,"docs":{"136":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"136":{"tf":1.4142135623730951}}},"5":{"%":{"$":{"df":0,"docs":{},"。":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":1,"docs":{"231":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":2,"docs":{"147":{"tf":2.6457513110645907},"231":{"tf":1.0}}},"df":16,"docs":{"112":{"tf":2.8284271247461903},"125":{"tf":1.4142135623730951},"147":{"tf":2.0},"175":{"tf":1.4142135623730951},"179":{"tf":1.7320508075688772},"227":{"tf":2.449489742783178},"230":{"tf":1.0},"262":{"tf":1.0},"270":{"tf":1.0},"289":{"tf":1.0},"29":{"tf":2.6457513110645907},"30":{"tf":1.7320508075688772},"50":{"tf":1.7320508075688772},"73":{"tf":5.916079783099616},"80":{"tf":1.0},"81":{"tf":3.872983346207417}}},"8":{".":{"0":{"4":{"6":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"2":{"df":1,"docs":{"147":{"tf":2.6457513110645907}}},"df":0,"docs":{}},"8":{"df":2,"docs":{"227":{"tf":2.449489742783178},"230":{"tf":1.0}}},"df":17,"docs":{"112":{"tf":2.8284271247461903},"125":{"tf":3.0},"146":{"tf":1.0},"147":{"tf":1.4142135623730951},"149":{"tf":1.0},"175":{"tf":1.4142135623730951},"179":{"tf":3.1622776601683795},"180":{"tf":1.0},"262":{"tf":1.4142135623730951},"287":{"tf":1.4142135623730951},"289":{"tf":1.0},"29":{"tf":1.4142135623730951},"42":{"tf":1.7320508075688772},"73":{"tf":5.830951894845301},"81":{"tf":4.358898943540674},"83":{"tf":1.0},"97":{"tf":4.795831523312719}},"、":{"9":{"df":0,"docs":{},"、":{"1":{"0":{"df":0,"docs":{},"、":{"1":{"1":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},",":{"8":{"df":1,"docs":{"73":{"tf":1.0}}},"df":0,"docs":{}}},"9":{"0":{"df":2,"docs":{"147":{"tf":2.6457513110645907},"231":{"tf":1.0}}},"1":{",":{"9":{"6":{"df":1,"docs":{"136":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"136":{"tf":1.4142135623730951}}},"5":{".":{"5":{"df":1,"docs":{"275":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"275":{"tf":1.0}}},"6":{",":{"9":{"1":{"df":1,"docs":{"136":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"136":{"tf":1.4142135623730951}}},"9":{"9":{"9":{"df":1,"docs":{"175":{"tf":1.0}}},"df":2,"docs":{"145":{"tf":1.0},"230":{"tf":1.0}}},"df":1,"docs":{"230":{"tf":1.0}}},"df":13,"docs":{"125":{"tf":2.449489742783178},"136":{"tf":1.4142135623730951},"145":{"tf":1.0},"147":{"tf":1.4142135623730951},"149":{"tf":1.0},"151":{"tf":1.4142135623730951},"179":{"tf":1.4142135623730951},"230":{"tf":1.0},"29":{"tf":3.0},"42":{"tf":2.0},"50":{"tf":1.7320508075688772},"52":{"tf":1.0},"81":{"tf":3.7416573867739413}}},"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"_":{"_":{"df":1,"docs":{"61":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"t":{"_":{"_":{"df":1,"docs":{"61":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":11,"docs":{"147":{"tf":5.830951894845301},"180":{"tf":3.605551275463989},"236":{"tf":1.0},"237":{"tf":1.4142135623730951},"238":{"tf":1.4142135623730951},"249":{"tf":1.0},"251":{"tf":1.0},"256":{"tf":1.0},"279":{"tf":1.0},"29":{"tf":5.656854249492381},"50":{"tf":1.4142135623730951}},"k":{"_":{"df":2,"docs":{"263":{"tf":1.0},"264":{"tf":1.0}}},"df":0,"docs":{}},"m":{"_":{"df":2,"docs":{"263":{"tf":1.0},"264":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":3,"docs":{"264":{"tf":1.0},"267":{"tf":1.0},"269":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"{":{"(":{"a":{"df":2,"docs":{"284":{"tf":1.4142135623730951},"287":{"tf":1.0}}},"df":0,"docs":{}},"a":{",":{"b":{"df":0,"docs":{},"}":{"(":{"df":0,"docs":{},"i":{",":{"df":0,"docs":{},"j":{"df":2,"docs":{"284":{"tf":1.7320508075688772},"287":{"tf":1.0}}}},"df":2,"docs":{"284":{"tf":2.0},"287":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":2,"docs":{"284":{"tf":1.4142135623730951},"287":{"tf":1.0}}},"j":{"df":2,"docs":{"284":{"tf":1.4142135623730951},"287":{"tf":1.0}}}}},"a":{"'":{"df":0,"docs":{},"、":{"b":{"df":1,"docs":{"41":{"tf":1.0}}},"df":0,"docs":{}}},"+":{"1":{"df":1,"docs":{"287":{"tf":1.0}}},"df":0,"docs":{}},".":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"210":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"k":{".":{"a":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},">":{"(":{"&":{"'":{"b":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"288":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"162":{"tf":1.0},"172":{"tf":1.0},"245":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"187":{"tf":1.0},"192":{"tf":1.0}},")":{"df":0,"docs":{},"的":{"df":0,"docs":{},"執":{"df":0,"docs":{},"行":{"df":0,"docs":{},"時":{"df":0,"docs":{},"間":{"df":0,"docs":{},",":{"$":{"\\":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"df":0,"docs":{},"k":{"df":1,"docs":{"242":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{},"m":{"df":1,"docs":{"47":{"tf":1.0}}},"t":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"176":{"tf":1.0},"179":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"d":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"266":{"tf":1.0}}}},"k":{"df":1,"docs":{"241":{"tf":1.0}}}},"df":2,"docs":{"175":{"tf":2.0},"188":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":4,"docs":{"230":{"tf":1.7320508075688772},"242":{"tf":1.0},"244":{"tf":1.0},"274":{"tf":1.4142135623730951}},"p":{"df":1,"docs":{"274":{"tf":1.0}}}}}}}},"df":1,"docs":{"180":{"tf":1.0}},"v":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"180":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":2,"docs":{"274":{"tf":1.0},"275":{"tf":1.0}},"g":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"250":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"df":8,"docs":{"0":{"tf":1.7320508075688772},"107":{"tf":1.0},"109":{"tf":1.4142135623730951},"122":{"tf":1.0},"162":{"tf":1.0},"244":{"tf":1.4142135623730951},"39":{"tf":1.0},"93":{"tf":1.0}}}}}}}}},"i":{"a":{"df":1,"docs":{"234":{"tf":1.0}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"o":{"c":{"(":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"176":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":1,"docs":{"176":{"tf":2.449489742783178}},"、":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"、":{"d":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"176":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"w":{"df":1,"docs":{"276":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"h":{"a":{"$":{"df":0,"docs":{},",":{"$":{"\\":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"a":{"df":1,"docs":{"275":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"103":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":4,"docs":{"144":{"tf":1.0},"189":{"tf":1.0},"241":{"tf":1.0},"257":{"tf":1.0}}}}},"q":{"df":1,"docs":{"275":{"tf":1.0}},",":{"df":0,"docs":{},"為":{"df":0,"docs":{},"了":{"df":0,"docs":{},"節":{"df":0,"docs":{},"省":{"df":0,"docs":{},"空":{"df":0,"docs":{},"間":{"df":0,"docs":{},"使":{"df":0,"docs":{},"用":{"df":0,"docs":{},"量":{"df":0,"docs":{},",":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"274":{"tf":1.0}}}}}}}}}}}}}}}}}}}},"n":{"^":{"2":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":3,"docs":{"140":{"tf":1.0},"144":{"tf":1.0},"22":{"tf":1.0}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"46":{"tf":1.0},"47":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"47":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":1,"docs":{"185":{"tf":1.7320508075688772}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"256":{"tf":1.0}}}}}}}}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"176":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"i":{"df":11,"docs":{"0":{"tf":1.0},"153":{"tf":1.0},"163":{"tf":1.0},"173":{"tf":1.0},"200":{"tf":1.0},"226":{"tf":1.0},"245":{"tf":1.0},"259":{"tf":1.0},"269":{"tf":1.0},"277":{"tf":1.0},"282":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"139":{"tf":1.0},"214":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"185":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"175":{"tf":1.0},"179":{"tf":1.4142135623730951},"268":{"tf":1.0}}}}}}}},"r":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"117":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"t":{"df":3,"docs":{"131":{"tf":1.0},"132":{"tf":1.0},"143":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"x":{"df":1,"docs":{"25":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":10,"docs":{"102":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"33":{"tf":1.0},"44":{"tf":1.4142135623730951},"54":{"tf":1.0},"67":{"tf":1.0},"76":{"tf":1.0},"83":{"tf":1.0},"92":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"92":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"df":5,"docs":{"103":{"tf":1.4142135623730951},"107":{"tf":1.0},"108":{"tf":1.0},"67":{"tf":1.0},"76":{"tf":1.4142135623730951}}},"j":{"df":3,"docs":{"59":{"tf":1.0},"61":{"tf":1.0},"83":{"tf":1.0}}},"k":{"df":1,"docs":{"107":{"tf":1.0}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"92":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"(":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"132":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"117":{"tf":1.0},"118":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"1":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"119":{"tf":1.4142135623730951}}}}}},"[":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"119":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"、":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"2":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"2":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"119":{"tf":1.4142135623730951}}}}}},"[":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"119":{"tf":1.4142135623730951}}}}}}}},"df":1,"docs":{"119":{"tf":1.0}}},"[":{".":{".":{"df":0,"docs":{},"i":{"]":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"(":{"&":{"df":0,"docs":{},"v":{"df":1,"docs":{"61":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"61":{"tf":1.0}}},"m":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"117":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"1":{"0":{"0":{"0":{"df":1,"docs":{"145":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"8":{"df":1,"docs":{"42":{"tf":1.0}}},"9":{"df":1,"docs":{"42":{"tf":1.0}}},"b":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"33":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"92":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":4,"docs":{"103":{"tf":1.0},"107":{"tf":1.0},"44":{"tf":2.0},"54":{"tf":1.4142135623730951}},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"96":{"tf":1.0}}}}}},"i":{"+":{"1":{".":{".":{".":{"df":0,"docs":{},"j":{"df":1,"docs":{"96":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},".":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"]":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"[":{"df":0,"docs":{},"i":{".":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":1,"docs":{"118":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":3,"docs":{"108":{"tf":1.0},"61":{"tf":1.0},"76":{"tf":2.0}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}}}}}}}},"j":{".":{".":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"96":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":6,"docs":{"103":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"59":{"tf":1.4142135623730951},"67":{"tf":1.0},"83":{"tf":1.4142135623730951}}},"l":{"df":0,"docs":{},"o":{"df":2,"docs":{"108":{"tf":1.0},"44":{"tf":2.0}},"w":{".":{".":{".":{"df":0,"docs":{},"i":{"df":1,"docs":{"96":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"m":{"df":0,"docs":{},"i":{"d":{".":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":1,"docs":{"118":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":2,"docs":{"117":{"tf":1.4142135623730951},"33":{"tf":1.0}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"132":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"92":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"67":{"tf":1.0}}}}}}},"a":{"df":1,"docs":{"132":{"tf":1.0}},"y":{"[":{"0":{"df":1,"docs":{"125":{"tf":1.0}}},"1":{"df":1,"docs":{"125":{"tf":1.0}}},"2":{"df":1,"docs":{"125":{"tf":1.0}}},"3":{"df":1,"docs":{"125":{"tf":1.0}}},"4":{"df":1,"docs":{"125":{"tf":1.0}}},"5":{"df":1,"docs":{"125":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"187":{"tf":1.0}}}}},"df":0,"docs":{}}}},"_":{"df":0,"docs":{},"s":{"df":1,"docs":{"228":{"tf":1.4142135623730951}}}},"df":31,"docs":{"112":{"tf":1.0},"117":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"119":{"tf":1.4142135623730951},"123":{"tf":1.4142135623730951},"125":{"tf":1.0},"127":{"tf":1.4142135623730951},"128":{"tf":1.4142135623730951},"131":{"tf":1.7320508075688772},"132":{"tf":1.0},"136":{"tf":2.23606797749979},"139":{"tf":1.0},"140":{"tf":1.4142135623730951},"143":{"tf":1.0},"145":{"tf":1.0},"147":{"tf":1.0},"153":{"tf":1.0},"163":{"tf":1.0},"20":{"tf":1.4142135623730951},"225":{"tf":1.0},"227":{"tf":1.0},"230":{"tf":1.7320508075688772},"231":{"tf":1.0},"234":{"tf":1.4142135623730951},"236":{"tf":1.0},"242":{"tf":1.0},"260":{"tf":1.0},"262":{"tf":2.449489742783178},"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0}},",":{"df":0,"docs":{},"而":{"df":0,"docs":{},"是":{"df":0,"docs":{},"在":{"df":0,"docs":{},"堆":{"df":0,"docs":{},"積":{"df":0,"docs":{},"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}}}},"df":8,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"130":{"tf":1.4142135623730951},"132":{"tf":1.4142135623730951},"143":{"tf":1.4142135623730951},"151":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"92":{"tf":1.0}}}},"s":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"i":{"df":10,"docs":{"112":{"tf":1.0},"136":{"tf":1.0},"175":{"tf":1.0},"196":{"tf":1.0},"230":{"tf":1.0},"279":{"tf":1.0},"73":{"tf":1.0},"81":{"tf":1.4142135623730951},"96":{"tf":1.0},"97":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"!":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"187":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"187":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":3,"docs":{"119":{"tf":1.0},"185":{"tf":1.0},"207":{"tf":1.4142135623730951}}}}},"o":{"c":{"df":0,"docs":{},"i":{"df":4,"docs":{"185":{"tf":1.0},"211":{"tf":1.0},"216":{"tf":1.0},"225":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"228":{"tf":1.0},"230":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":3,"docs":{"1":{"tf":1.0},"14":{"tf":1.0},"260":{"tf":1.0}}}}}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"262":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"210":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"188":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"185":{"tf":1.0}}}}}}},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":10,"docs":{"113":{"tf":1.0},"126":{"tf":1.0},"137":{"tf":1.0},"148":{"tf":1.0},"58":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":1.0},"88":{"tf":1.0},"98":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"g":{"df":15,"docs":{"113":{"tf":1.0},"126":{"tf":1.0},"137":{"tf":1.0},"148":{"tf":1.0},"24":{"tf":1.0},"30":{"tf":1.0},"43":{"tf":1.4142135623730951},"51":{"tf":1.0},"58":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":1.0},"84":{"tf":1.0},"88":{"tf":1.0},"98":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"i":{"df":2,"docs":{"43":{"tf":1.0},"47":{"tf":1.0}}}},"o":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"107":{"tf":1.0},"118":{"tf":1.0}}},"df":0,"docs":{}}}},"、":{"b":{"df":1,"docs":{"285":{"tf":1.0}}},"df":0,"docs":{}},",":{"a":{"df":1,"docs":{"208":{"tf":1.0}}},"df":0,"docs":{}}},"b":{"+":{"1":{"df":1,"docs":{"287":{"tf":1.0}}},"df":0,"docs":{}},".":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"210":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},">":{"(":{"&":{"'":{"a":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"k":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"181":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":7,"docs":{"117":{"tf":1.4142135623730951},"118":{"tf":1.0},"119":{"tf":1.0},"178":{"tf":1.0},"181":{"tf":1.0},"189":{"tf":1.0},"207":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{".":{".":{"df":0,"docs":{},"s":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}},"df":5,"docs":{"111":{"tf":1.0},"117":{"tf":1.0},"184":{"tf":1.0},"234":{"tf":1.0},"33":{"tf":2.449489742783178}}}}},"df":18,"docs":{"125":{"tf":2.6457513110645907},"139":{"tf":1.4142135623730951},"185":{"tf":1.7320508075688772},"207":{"tf":2.449489742783178},"208":{"tf":1.7320508075688772},"210":{"tf":1.0},"240":{"tf":1.7320508075688772},"250":{"tf":3.1622776601683795},"251":{"tf":2.0},"253":{"tf":1.7320508075688772},"255":{"tf":1.4142135623730951},"256":{"tf":3.4641016151377544},"284":{"tf":2.6457513110645907},"285":{"tf":1.4142135623730951},"287":{"tf":2.0},"289":{"tf":1.7320508075688772},"290":{"tf":1.0},"41":{"tf":2.0}},"e":{"df":1,"docs":{"210":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"176":{"tf":1.0},"180":{"tf":1.4142135623730951}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"{":{"c":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"114":{"tf":1.0},"284":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"274":{"tf":1.0}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"df":21,"docs":{"113":{"tf":1.0},"126":{"tf":1.0},"137":{"tf":1.0},"139":{"tf":1.0},"148":{"tf":1.0},"161":{"tf":1.0},"171":{"tf":1.0},"189":{"tf":1.0},"24":{"tf":1.0},"241":{"tf":1.0},"257":{"tf":1.0},"30":{"tf":1.0},"43":{"tf":1.0},"51":{"tf":1.0},"58":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":1.0},"84":{"tf":1.0},"88":{"tf":1.0},"98":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"260":{"tf":1.0},"275":{"tf":1.0},"276":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"44":{"tf":1.0}}}}}}}},"f":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"\"":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"264":{"tf":1.0}}}}}}},"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"264":{"tf":1.0}}}}}}}},"&":{"1":{"df":1,"docs":{"264":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"!":{"[":{"3":{".":{"1":{"4":{"1":{"5":{"9":{"df":1,"docs":{"264":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":1,"docs":{"264":{"tf":1.4142135623730951}}},"i":{"df":0,"docs":{},"g":{"df":7,"docs":{"10":{"tf":1.4142135623730951},"162":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"19":{"tf":1.7320508075688772},"20":{"tf":1.0},"22":{"tf":1.4142135623730951}}},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":12,"docs":{"117":{"tf":1.0},"20":{"tf":1.0},"27":{"tf":1.4142135623730951},"3":{"tf":1.0},"38":{"tf":1.4142135623730951},"39":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":2.23606797749979},"85":{"tf":1.0},"87":{"tf":1.0},"89":{"tf":1.0},"92":{"tf":1.0}}},"y":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}}},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"(":{"&":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"[":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{".":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"54":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{">":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":2,"docs":{"32":{"tf":1.0},"33":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"_":{"b":{"df":0,"docs":{},"i":{"df":1,"docs":{"143":{"tf":1.0}}}},"df":0,"docs":{}},"df":2,"docs":{"32":{"tf":1.0},"61":{"tf":2.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"d":{"df":1,"docs":{"217":{"tf":1.0}}},"df":1,"docs":{"134":{"tf":1.0}}},"t":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"/":{"c":{"a":{"a":{"b":{"7":{"df":0,"docs":{},"f":{"b":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":9,"docs":{"255":{"tf":1.0},"260":{"tf":1.0},"262":{"tf":3.3166247903554},"263":{"tf":1.7320508075688772},"264":{"tf":1.7320508075688772},"267":{"tf":1.7320508075688772},"269":{"tf":1.4142135623730951},"271":{"tf":1.0},"275":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"255":{"tf":1.0}}}}}}},"<":{"&":{"'":{"b":{"df":1,"docs":{"255":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"255":{"tf":1.7320508075688772}}}},"s":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"267":{"tf":1.7320508075688772},"269":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":2,"docs":{"179":{"tf":1.0},"255":{"tf":1.0}}}}}}},"l":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"227":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"176":{"tf":1.0},"185":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"\"":{"1":{"2":{"3":{"4":{"df":1,"docs":{"265":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}}}},"df":18,"docs":{"224":{"tf":1.0},"259":{"tf":3.1622776601683795},"260":{"tf":2.0},"262":{"tf":1.0},"264":{"tf":1.4142135623730951},"265":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.0},"269":{"tf":1.0},"270":{"tf":1.0},"271":{"tf":2.6457513110645907},"272":{"tf":3.0},"273":{"tf":2.449489742783178},"274":{"tf":1.0},"275":{"tf":1.4142135623730951},"276":{"tf":2.23606797749979},"8":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":6,"docs":{"262":{"tf":2.6457513110645907},"263":{"tf":2.0},"264":{"tf":1.7320508075688772},"265":{"tf":1.0},"266":{"tf":1.0},"276":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"263":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"263":{"tf":1.0}}}}},"df":0,"docs":{}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":2,"docs":{"264":{"tf":1.4142135623730951},"267":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{"df":3,"docs":{"264":{"tf":1.7320508075688772},"265":{"tf":1.4142135623730951},"269":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}}}}}},"n":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"o":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"185":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"227":{"tf":1.0}}},"l":{"df":10,"docs":{"157":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.0},"212":{"tf":1.0},"249":{"tf":2.0},"253":{"tf":1.7320508075688772},"256":{"tf":1.7320508075688772},"262":{"tf":1.7320508075688772},"269":{"tf":1.7320508075688772},"33":{"tf":1.0}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"<":{"df":0,"docs":{},"q":{"df":3,"docs":{"237":{"tf":1.0},"238":{"tf":1.0},"249":{"tf":1.4142135623730951}}}},"df":5,"docs":{"185":{"tf":1.4142135623730951},"211":{"tf":1.4142135623730951},"237":{"tf":2.0},"251":{"tf":2.6457513110645907},"252":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"54":{"tf":1.0}}}}},"df":6,"docs":{"118":{"tf":1.4142135623730951},"185":{"tf":1.4142135623730951},"187":{"tf":1.7320508075688772},"265":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"67":{"tf":1.0}},"?":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"67":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"x":{":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"211":{"tf":1.0}}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"207":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"202":{"tf":1.0},"211":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"202":{"tf":1.0}}}},"df":3,"docs":{"195":{"tf":1.0},"202":{"tf":1.0},"210":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"233":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":4,"docs":{"279":{"tf":1.0},"44":{"tf":2.0},"76":{"tf":1.0},"92":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"u":{"b":{"b":{"df":0,"docs":{},"l":{"df":8,"docs":{"20":{"tf":1.0},"4":{"tf":1.0},"71":{"tf":1.7320508075688772},"73":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"77":{"tf":1.0},"94":{"tf":1.0}},"e":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"76":{"tf":1.0}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"d":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"76":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{".":{"c":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"(":{"&":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"143":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"237":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"(":{"df":0,"docs":{},"|":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"238":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"238":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"(":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"238":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{")":{".":{"1":{"df":1,"docs":{"238":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"143":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"143":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"h":{"df":1,"docs":{"142":{"tf":1.7320508075688772}}},"k":{"df":1,"docs":{"234":{"tf":1.0}}}},"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"239":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"235":{"tf":1.0}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"h":{"df":1,"docs":{"143":{"tf":1.0}}}},"df":2,"docs":{"142":{"tf":1.0},"143":{"tf":1.4142135623730951}}}}}}},"df":28,"docs":{"123":{"tf":1.0},"134":{"tf":2.0},"135":{"tf":1.4142135623730951},"136":{"tf":2.0},"137":{"tf":1.0},"138":{"tf":2.0},"139":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"142":{"tf":2.6457513110645907},"143":{"tf":3.0},"144":{"tf":2.0},"145":{"tf":1.4142135623730951},"147":{"tf":1.7320508075688772},"149":{"tf":1.4142135623730951},"150":{"tf":1.0},"227":{"tf":1.7320508075688772},"230":{"tf":1.4142135623730951},"231":{"tf":1.4142135623730951},"234":{"tf":3.4641016151377544},"235":{"tf":2.0},"236":{"tf":2.6457513110645907},"237":{"tf":1.7320508075688772},"238":{"tf":2.23606797749979},"239":{"tf":1.7320508075688772},"240":{"tf":1.0},"242":{"tf":2.0},"274":{"tf":1.0},"4":{"tf":1.0}},"s":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"_":{"b":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"|":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"143":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"236":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"]":{".":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"143":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"、":{"df":0,"docs":{},"s":{"c":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"、":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":1,"docs":{"143":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},",":{"df":0,"docs":{},"並":{"df":0,"docs":{},"考":{"df":0,"docs":{},"慮":{"df":0,"docs":{},"平":{"df":0,"docs":{},"攤":{"df":0,"docs":{},"分":{"df":0,"docs":{},"析":{"df":0,"docs":{},"(":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"140":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"174":{"tf":1.0},"175":{"tf":1.4142135623730951},"180":{"tf":1.4142135623730951},"190":{"tf":1.4142135623730951}}}}}},"g":{"df":1,"docs":{"15":{"tf":1.7320508075688772}}},"i":{"df":0,"docs":{},"l":{"d":{"df":4,"docs":{"0":{"tf":1.0},"267":{"tf":1.0},"89":{"tf":1.4142135623730951},"92":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"276":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":3,"docs":{"116":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0}}}}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":4,"docs":{"147":{"tf":1.0},"149":{"tf":1.0},"236":{"tf":1.0},"287":{"tf":1.0}}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"152":{"tf":1.0}}},"df":0,"docs":{}}}}},",":{"b":{"df":1,"docs":{"208":{"tf":1.0}}},"df":0,"docs":{}},":":{"a":{"df":1,"docs":{"256":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"c":{".":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"210":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"1":{"df":1,"docs":{"279":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"279":{"tf":1.4142135623730951}}},"_":{"0":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"139":{"tf":1.0}}}},"df":1,"docs":{"139":{"tf":1.4142135623730951}},"n":{"df":1,"docs":{"139":{"tf":1.0}}}},"1":{"df":1,"docs":{"139":{"tf":1.7320508075688772}},"k":{"df":1,"docs":{"139":{"tf":1.0}}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"h":{"df":6,"docs":{"21":{"tf":1.0},"218":{"tf":1.0},"230":{"tf":1.7320508075688772},"259":{"tf":1.0},"271":{"tf":1.0},"274":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":5,"docs":{"131":{"tf":1.0},"132":{"tf":1.0},"176":{"tf":1.0},"276":{"tf":1.0},"44":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":7,"docs":{"100":{"tf":1.7320508075688772},"105":{"tf":2.23606797749979},"115":{"tf":1.0},"180":{"tf":1.0},"210":{"tf":2.23606797749979},"211":{"tf":1.0},"99":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"176":{"tf":1.0}}}}}},"p":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"179":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"a":{"c":{"df":5,"docs":{"176":{"tf":1.0},"239":{"tf":1.7320508075688772},"262":{"tf":1.0},"267":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"159":{"tf":1.0}}}}}},"df":3,"docs":{"176":{"tf":2.23606797749979},"180":{"tf":1.0},"188":{"tf":1.0}}},"r":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"256":{"tf":1.4142135623730951}}}}},"df":1,"docs":{"233":{"tf":1.4142135623730951}},"e":{"df":1,"docs":{"176":{"tf":1.0}}},"g":{"df":0,"docs":{},"o":{"df":2,"docs":{"291":{"tf":1.0},"294":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":7,"docs":{"111":{"tf":1.0},"138":{"tf":1.0},"139":{"tf":1.0},"189":{"tf":1.4142135623730951},"241":{"tf":1.4142135623730951},"257":{"tf":1.4142135623730951},"84":{"tf":1.0}},")":{"df":0,"docs":{},",":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"d":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"117":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":1,"docs":{"190":{"tf":1.0}}}}}}}}},"c":{"df":14,"docs":{"122":{"tf":1.0},"13":{"tf":1.0},"190":{"tf":1.0},"225":{"tf":1.0},"244":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.4142135623730951},"62":{"tf":1.0},"64":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"77":{"tf":1.0},"93":{"tf":1.0}}},"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":16,"docs":{"139":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"149":{"tf":1.0},"150":{"tf":1.4142135623730951},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.4142135623730951},"230":{"tf":1.0},"273":{"tf":1.0},"290":{"tf":1.0},"30":{"tf":1.0},"42":{"tf":1.7320508075688772},"58":{"tf":2.23606797749979},"66":{"tf":1.0},"89":{"tf":1.0},"99":{"tf":1.0}}}}},"df":8,"docs":{"119":{"tf":1.0},"125":{"tf":2.449489742783178},"16":{"tf":1.4142135623730951},"180":{"tf":1.0},"205":{"tf":1.0},"210":{"tf":1.0},"256":{"tf":1.0},"58":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"114":{"tf":1.0}}}}},"h":{"1":{"df":2,"docs":{"287":{"tf":2.0},"289":{"tf":1.4142135623730951}}},"2":{"df":2,"docs":{"287":{"tf":2.0},"289":{"tf":1.4142135623730951}}},"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"230":{"tf":2.0},"234":{"tf":1.4142135623730951},"242":{"tf":1.0},"243":{"tf":1.0},"251":{"tf":1.0},"274":{"tf":1.4142135623730951}}}},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"185":{"tf":1.0},"288":{"tf":1.0}}}},"r":{"df":2,"docs":{"287":{"tf":1.0},"289":{"tf":1.0}},"t":{"df":1,"docs":{"175":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"162":{"tf":1.0},"20":{"tf":1.0}},"s":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"118":{"tf":1.0},"96":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"251":{"tf":1.0},"252":{"tf":1.0}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"89":{"tf":1.7320508075688772},"92":{"tf":3.4641016151377544}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"89":{"tf":1.0}}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"103":{"tf":1.0}}}}},"z":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"12":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"259":{"tf":1.0}}}}}}}}},"i":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"190":{"tf":1.4142135623730951},"198":{"tf":1.0},"7":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"r":{"a":{"'":{"df":1,"docs":{"83":{"tf":1.0}}},"df":2,"docs":{"80":{"tf":1.0},"84":{"tf":1.0}}},"df":0,"docs":{}}}},"j":{"df":0,"docs":{},"k":{"df":1,"docs":{"287":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"204":{"tf":1.0},"235":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"294":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":7,"docs":{"130":{"tf":1.4142135623730951},"132":{"tf":1.0},"143":{"tf":1.4142135623730951},"151":{"tf":1.0},"251":{"tf":1.4142135623730951},"255":{"tf":1.7320508075688772},"268":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"251":{"tf":3.7416573867739413},"288":{"tf":1.0}},"e":{"@":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"/":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"2":{"5":{"4":{":":{"2":{"3":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{":":{"1":{"8":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"u":{"d":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"271":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"251":{"tf":1.0}}}}}}},"u":{"b":{"df":2,"docs":{"0":{"tf":1.7320508075688772},"109":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"230":{"tf":1.0}}}}}}}},"m":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":2,"docs":{"42":{"tf":1.0},"47":{"tf":1.0}}}}}},"p":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"c":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"289":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"c":{"df":2,"docs":{"122":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"b":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"122":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"e":{"df":5,"docs":{"10":{"tf":1.0},"139":{"tf":1.0},"276":{"tf":1.0},"277":{"tf":1.0},"291":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{":":{":":{"<":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"131":{"tf":1.0},"132":{"tf":1.0},"143":{"tf":1.0},"255":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"d":{"df":1,"docs":{"230":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":2,"docs":{"229":{"tf":1.0},"274":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0}}}}},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"111":{"tf":1.0},"116":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":12,"docs":{"122":{"tf":1.0},"13":{"tf":1.0},"190":{"tf":1.0},"199":{"tf":1.0},"225":{"tf":1.0},"244":{"tf":1.0},"47":{"tf":1.4142135623730951},"62":{"tf":1.0},"70":{"tf":1.0},"77":{"tf":1.0},"9":{"tf":1.0},"93":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"47":{"tf":1.0}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"119":{"tf":1.0}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"256":{"tf":1.0},"44":{"tf":1.0}}}}}}},"t":{"df":1,"docs":{"264":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"l":{"df":5,"docs":{"100":{"tf":1.0},"202":{"tf":1.0},"251":{"tf":1.4142135623730951},"262":{"tf":1.4142135623730951},"264":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":32,"docs":{"100":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"137":{"tf":1.0},"140":{"tf":1.0},"144":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.0},"161":{"tf":1.4142135623730951},"162":{"tf":1.0},"171":{"tf":1.4142135623730951},"214":{"tf":1.0},"22":{"tf":1.4142135623730951},"24":{"tf":1.0},"270":{"tf":1.0},"290":{"tf":1.0},"30":{"tf":1.0},"43":{"tf":1.0},"51":{"tf":1.0},"58":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"82":{"tf":1.0},"88":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"47":{"tf":1.0},"84":{"tf":1.0}}}}}},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"256":{"tf":1.7320508075688772}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"111":{"tf":1.4142135623730951},"116":{"tf":1.4142135623730951},"95":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"264":{"tf":1.0}}},"df":0,"docs":{}},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"262":{"tf":1.7320508075688772}}}}},"df":2,"docs":{"239":{"tf":1.0},"83":{"tf":1.0}}},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"211":{"tf":1.0},"255":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"216":{"tf":1.0},"225":{"tf":1.0},"249":{"tf":1.4142135623730951},"266":{"tf":1.0}},"s":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"269":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"v":{"df":2,"docs":{"257":{"tf":1.0},"270":{"tf":1.0}}}},"<":{"df":0,"docs":{},"q":{">":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"249":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"176":{"tf":1.4142135623730951},"180":{"tf":1.0},"185":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":1,"docs":{"279":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"]":{"[":{"1":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"i":{"df":8,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"143":{"tf":1.0},"180":{"tf":1.0},"185":{"tf":1.4142135623730951}}},"y":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"180":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"13":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"288":{"tf":1.0}}}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"289":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":2,"docs":{"105":{"tf":1.0},"210":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},")":{"df":0,"docs":{},",":{"df":0,"docs":{},"漢":{"df":0,"docs":{},"明":{"df":0,"docs":{},"碼":{"df":0,"docs":{},"(":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":1,"docs":{"277":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"df":0,"docs":{},"s":{"c":{"a":{"df":0,"docs":{},"n":{"(":{"0":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}},"[":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}}},"df":0,"docs":{}},"df":22,"docs":{"123":{"tf":2.0},"124":{"tf":1.0},"125":{"tf":2.0},"127":{"tf":2.0},"128":{"tf":1.4142135623730951},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.7320508075688772},"132":{"tf":1.4142135623730951},"133":{"tf":1.4142135623730951},"145":{"tf":2.23606797749979},"147":{"tf":1.7320508075688772},"149":{"tf":1.4142135623730951},"150":{"tf":1.0},"151":{"tf":1.7320508075688772},"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.4142135623730951},"272":{"tf":2.23606797749979},"278":{"tf":1.7320508075688772},"279":{"tf":1.7320508075688772},"4":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"151":{"tf":1.0}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"f":{"df":2,"docs":{"130":{"tf":1.0},"132":{"tf":1.0}}}},"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"152":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"225":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"u":{"df":6,"docs":{"192":{"tf":1.4142135623730951},"21":{"tf":1.0},"230":{"tf":1.4142135623730951},"259":{"tf":1.0},"271":{"tf":1.0},"85":{"tf":1.4142135623730951}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"62":{"tf":1.0}}}}}}}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"44":{"tf":1.0}},"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":11,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"122":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"142":{"tf":1.0},"143":{"tf":1.7320508075688772},"207":{"tf":1.0},"211":{"tf":1.0},"227":{"tf":1.0},"77":{"tf":1.0}},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"13":{"tf":1.0}}}}}},"df":0,"docs":{}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"229":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":1,"docs":{"275":{"tf":3.1622776601683795}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{"?":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"207":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"207":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"207":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":2,"docs":{"207":{"tf":2.8284271247461903},"208":{"tf":2.449489742783178}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"207":{"tf":1.7320508075688772},"208":{"tf":1.0},"251":{"tf":1.4142135623730951}}}}}}}}},"d":{".":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{")":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"(":{"1":{"df":1,"docs":{"186":{"tf":1.0}}},"2":{"df":1,"docs":{"186":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"3":{"df":1,"docs":{"186":{"tf":1.0}}},"4":{"df":1,"docs":{"186":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"251":{"tf":1.0}}}}},"t":{"a":{"df":11,"docs":{"162":{"tf":1.0},"172":{"tf":1.0},"175":{"tf":2.449489742783178},"200":{"tf":1.0},"245":{"tf":1.0},"251":{"tf":1.0},"259":{"tf":1.0},"271":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0},"43":{"tf":1.0}}},"df":0,"docs":{}}},"df":5,"docs":{"125":{"tf":2.449489742783178},"148":{"tf":1.0},"149":{"tf":1.4142135623730951},"150":{"tf":1.0},"186":{"tf":1.7320508075688772}},"e":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{".":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"176":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"_":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"!":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":1,"docs":{"179":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"188":{"tf":1.0}}}}}}},"df":2,"docs":{"188":{"tf":2.0},"213":{"tf":1.7320508075688772}}}}},"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"185":{"tf":1.0},"251":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"238":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"236":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"131":{"tf":1.0},"132":{"tf":1.0},"236":{"tf":1.7320508075688772}},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":4,"docs":{"233":{"tf":1.0},"263":{"tf":1.4142135623730951},"264":{"tf":1.0},"269":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"233":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}}}},"l":{"df":1,"docs":{"287":{"tf":2.0}},"e":{"df":0,"docs":{},"t":{"df":4,"docs":{"161":{"tf":1.0},"171":{"tf":1.0},"282":{"tf":1.0},"289":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":2,"docs":{"263":{"tf":1.0},"264":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"47":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"q":{"df":0,"docs":{},"u":{"df":9,"docs":{"171":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":1.0},"177":{"tf":1.4142135623730951},"182":{"tf":1.0},"184":{"tf":1.7320508075688772},"185":{"tf":1.7320508075688772},"186":{"tf":1.7320508075688772},"6":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"f":{"df":1,"docs":{"184":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},":":{":":{"c":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"179":{"tf":1.0}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"184":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"186":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"186":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"186":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{"df":6,"docs":{"177":{"tf":1.4142135623730951},"179":{"tf":1.0},"184":{"tf":1.0},"186":{"tf":2.6457513110645907},"187":{"tf":1.4142135623730951},"188":{"tf":1.0}}}},"df":0,"docs":{},"u":{"df":2,"docs":{"165":{"tf":1.0},"171":{"tf":1.4142135623730951}},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"168":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},")":{"df":0,"docs":{},"是":{"df":0,"docs":{},"一":{"df":0,"docs":{},"般":{"df":0,"docs":{},"化":{"df":0,"docs":{},"(":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"173":{"tf":1.0}}}}}}}}}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{":":{":":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"211":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"176":{"tf":1.0},"83":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"188":{"tf":1.4142135623730951}},"e":{"(":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"188":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"92":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"270":{"tf":1.0}}}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"103":{"tf":1.0},"44":{"tf":1.0},"54":{"tf":1.0}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":1.0},"47":{"tf":1.0}}}}}}}}}}}},"i":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":6,"docs":{"112":{"tf":1.0},"136":{"tf":1.0},"258":{"tf":1.0},"73":{"tf":1.0},"81":{"tf":1.4142135623730951},"97":{"tf":1.0}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},",":{"df":0,"docs":{},"j":{"a":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"216":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"251":{"tf":1.0},"255":{"tf":1.0},"257":{"tf":1.4142135623730951},"267":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"<":{"'":{"a":{">":{"(":{"&":{"'":{"a":{"df":1,"docs":{"252":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},":":{"df":0,"docs":{},"差":{"df":0,"docs":{},"集":{"df":0,"docs":{},",":{"a":{"df":1,"docs":{"250":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":5,"docs":{"146":{"tf":1.4142135623730951},"147":{"tf":1.7320508075688772},"148":{"tf":1.0},"151":{"tf":2.0},"278":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"250":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"256":{"tf":1.0}}}}}}},"k":{"df":1,"docs":{"259":{"tf":1.0}}},"p":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"240":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"84":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":9,"docs":{"230":{"tf":1.0},"277":{"tf":1.0},"281":{"tf":1.0},"282":{"tf":1.4142135623730951},"287":{"tf":1.4142135623730951},"288":{"tf":1.4142135623730951},"289":{"tf":1.0},"291":{"tf":2.0},"9":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{")":{".":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"|":{"d":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"289":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"[":{"0":{"]":{"[":{"df":0,"docs":{},"j":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":1,"docs":{"289":{"tf":1.0}}},"df":0,"docs":{},"i":{"]":{"[":{"0":{"df":2,"docs":{"287":{"tf":1.4142135623730951},"288":{"tf":1.0}}},"df":0,"docs":{},"j":{"df":1,"docs":{"287":{"tf":2.0}}}},"df":0,"docs":{}},"df":1,"docs":{"287":{"tf":2.0}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"j":{"df":1,"docs":{"289":{"tf":2.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":1,"docs":{"289":{"tf":1.4142135623730951}},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":4,"docs":{"129":{"tf":1.0},"229":{"tf":1.0},"43":{"tf":1.7320508075688772},"47":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"i":{"d":{"df":5,"docs":{"110":{"tf":1.0},"111":{"tf":1.0},"116":{"tf":1.4142135623730951},"30":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":6,"docs":{"0":{"tf":1.0},"190":{"tf":1.0},"215":{"tf":1.0},"225":{"tf":1.0},"244":{"tf":1.0},"258":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"262":{"tf":1.0}}}},"df":0,"docs":{}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"199":{"tf":1.0},"258":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"271":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"87":{"tf":1.0}}},"’":{"df":0,"docs":{},"t":{"df":1,"docs":{"274":{"tf":1.0}}}}},"u":{"b":{"df":0,"docs":{},"l":{"df":5,"docs":{"173":{"tf":1.0},"180":{"tf":1.0},"230":{"tf":1.0},"271":{"tf":1.0},"275":{"tf":1.0}},"i":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"n":{"df":7,"docs":{"116":{"tf":1.0},"117":{"tf":1.0},"119":{"tf":1.0},"87":{"tf":1.7320508075688772},"89":{"tf":1.7320508075688772},"90":{"tf":1.7320508075688772},"92":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"176":{"tf":1.0},"184":{"tf":1.0},"210":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}},"df":7,"docs":{"176":{"tf":2.8284271247461903},"182":{"tf":1.0},"184":{"tf":2.6457513110645907},"185":{"tf":1.0},"205":{"tf":1.7320508075688772},"210":{"tf":3.1622776601683795},"251":{"tf":1.0}}}}},"s":{"a":{"df":1,"docs":{"152":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":3,"docs":{"180":{"tf":1.4142135623730951},"233":{"tf":1.4142135623730951},"265":{"tf":1.4142135623730951}}}},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"185":{"tf":1.0}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"107":{"tf":1.0}}},"df":0,"docs":{}}}},"s":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"215":{"tf":1.0}}}}}},"df":0,"docs":{}},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"107":{"tf":1.0}}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":6,"docs":{"140":{"tf":1.0},"230":{"tf":1.0},"233":{"tf":1.4142135623730951},"240":{"tf":1.0},"262":{"tf":1.0},"285":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"0":{"3":{"7":{"3":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"2":{"3":{"df":1,"docs":{"251":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"^":{"df":0,"docs":{},"{":{"7":{"7":{"7":{"^":{"df":0,"docs":{},"{":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"_":{"2":{"^":{"9":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"139":{"tf":1.4142135623730951},"146":{"tf":1.4142135623730951},"211":{"tf":1.0}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"0":{"tf":1.0},"109":{"tf":1.0},"244":{"tf":1.0},"282":{"tf":1.0}}}}},"df":2,"docs":{"125":{"tf":2.23606797749979},"284":{"tf":1.0}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{".":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"1":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}},"2":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":7,"docs":{"182":{"tf":1.4142135623730951},"186":{"tf":2.23606797749979},"202":{"tf":1.7320508075688772},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"268":{"tf":1.7320508075688772},"269":{"tf":2.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":11,"docs":{"103":{"tf":1.4142135623730951},"107":{"tf":1.0},"108":{"tf":2.23606797749979},"119":{"tf":1.4142135623730951},"131":{"tf":1.0},"132":{"tf":1.7320508075688772},"139":{"tf":1.0},"142":{"tf":1.0},"176":{"tf":1.0},"179":{"tf":1.0},"185":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"105":{"tf":1.0}}}}},"s":{"df":1,"docs":{"251":{"tf":1.7320508075688772}}}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":5,"docs":{"140":{"tf":1.0},"175":{"tf":1.0},"227":{"tf":1.0},"44":{"tf":1.0},"54":{"tf":1.0}}}}}},"n":{"d":{"df":4,"docs":{"173":{"tf":1.0},"211":{"tf":1.0},"34":{"tf":1.4142135623730951},"92":{"tf":3.3166247903554}},"{":{"c":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"114":{"tf":1.0},"284":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":3,"docs":{"165":{"tf":1.0},"167":{"tf":1.0},"171":{"tf":1.0}},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"167":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":2,"docs":{"210":{"tf":1.0},"215":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"271":{"tf":1.0}}},"y":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"239":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"266":{"tf":1.0},"267":{"tf":1.0},"270":{"tf":1.4142135623730951}}}}}}}},"q":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"212":{"tf":1.0},"256":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":9,"docs":{"233":{"tf":1.4142135623730951},"234":{"tf":1.4142135623730951},"236":{"tf":1.4142135623730951},"237":{"tf":1.0},"238":{"tf":1.0},"247":{"tf":1.0},"249":{"tf":1.7320508075688772},"255":{"tf":1.0},"256":{"tf":2.8284271247461903}},"u":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"107":{"tf":1.0},"256":{"tf":1.0},"44":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},")":{"df":0,"docs":{},"定":{"df":0,"docs":{},"義":{"df":0,"docs":{},"為":{"df":0,"docs":{},":":{"df":0,"docs":{},"x":{"df":1,"docs":{"256":{"tf":1.0}}}}}}}}}}}}},"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"(":{"df":0,"docs":{},"s":{"a":{"df":1,"docs":{"212":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"256":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},",":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"233":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"r":{"(":{"0":{"df":3,"docs":{"33":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951}}},"b":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"143":{"tf":1.0}}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}},"p":{"df":0,"docs":{},"o":{"df":2,"docs":{"207":{"tf":1.4142135623730951},"61":{"tf":1.0}}}},"目":{"df":0,"docs":{},"標":{"df":0,"docs":{},"值":{"df":0,"docs":{},"若":{"df":0,"docs":{},"插":{"df":0,"docs":{},"入":{"df":0,"docs":{},"後":{"df":0,"docs":{},",":{"df":0,"docs":{},"不":{"df":0,"docs":{},"會":{"df":0,"docs":{},"影":{"df":0,"docs":{},"響":{"df":0,"docs":{},"序":{"df":0,"docs":{},"列":{"df":0,"docs":{},"排":{"df":0,"docs":{},"序":{"df":0,"docs":{},"的":{"df":0,"docs":{},"位":{"df":0,"docs":{},"置":{")":{"df":0,"docs":{},"。":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"32":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}}},"_":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"267":{"tf":2.449489742783178},"269":{"tf":1.7320508075688772}},"e":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}},"o":{"df":0,"docs":{},"g":{"2":{"(":{")":{")":{".":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":2,"docs":{"44":{"tf":1.0},"61":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"r":{"[":{"df":0,"docs":{},"e":{"0":{"1":{"9":{"5":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"7":{"7":{"df":1,"docs":{"262":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"0":{"8":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"7":{"3":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"9":{"2":{"df":1,"docs":{"264":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"3":{"5":{"df":1,"docs":{"262":{"tf":1.0}}},"df":0,"docs":{}},"9":{"5":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"2":{"3":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":4,"docs":{"251":{"tf":1.4142135623730951},"264":{"tf":1.0},"276":{"tf":1.0},"277":{"tf":1.0}}}}}},"t":{"df":2,"docs":{"274":{"tf":1.0},"275":{"tf":1.0}}},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":5,"docs":{"143":{"tf":1.0},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"19":{"tf":1.7320508075688772},"92":{"tf":1.0}}}},"t":{"df":1,"docs":{"44":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"(":{"\"":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"238":{"tf":1.0}}}}},"df":0,"docs":{}}},"&":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"!":{"(":{"\"":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"238":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":3,"docs":{"185":{"tf":1.0},"238":{"tf":1.0},"240":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"<":{"df":0,"docs":{},"t":{">":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"54":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":4,"docs":{"3":{"tf":1.0},"37":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"55":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"185":{"tf":1.0}}}}}}},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"130":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"f":{"(":{"df":0,"docs":{},"n":{"df":3,"docs":{"17":{"tf":3.3166247903554},"18":{"tf":1.7320508075688772},"19":{"tf":2.23606797749979}}},"x":{")":{"=":{"\\":{"df":0,"docs":{},"s":{"df":0,"docs":{},"q":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"{":{"\\":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"{":{"1":{"8":{"2":{"7":{"7":{"7":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"2":{"8":{"6":{"df":0,"docs":{},"}":{"df":0,"docs":{},"}":{"\\":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"16":{"tf":1.7320508075688772}}}},".":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{")":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"188":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"6":{"4":{"df":3,"docs":{"239":{"tf":1.4142135623730951},"267":{"tf":2.449489742783178},"269":{"tf":2.0}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"q":{"df":1,"docs":{"274":{"tf":1.0}}}},"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"176":{"tf":1.0}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":8,"docs":{"231":{"tf":2.8284271247461903},"235":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.4142135623730951},"242":{"tf":1.4142135623730951},"243":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.0}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":3,"docs":{"122":{"tf":1.0},"244":{"tf":1.0},"93":{"tf":1.0}}},"s":{"df":7,"docs":{"157":{"tf":1.0},"168":{"tf":1.0},"212":{"tf":1.0},"253":{"tf":1.4142135623730951},"256":{"tf":2.0},"260":{"tf":1.0},"76":{"tf":1.0}}}},"n":{"df":1,"docs":{"275":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"291":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"46":{"tf":1.0},"47":{"tf":1.0}}}}}}},"df":7,"docs":{"125":{"tf":1.7320508075688772},"130":{"tf":1.4142135623730951},"132":{"tf":1.4142135623730951},"143":{"tf":1.7320508075688772},"188":{"tf":1.0},"213":{"tf":1.0},"274":{"tf":1.0}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"142":{"tf":1.0},"264":{"tf":1.0}}},"df":0,"docs":{}}},"f":{"df":0,"docs":{},"o":{"df":2,"docs":{"163":{"tf":1.0},"173":{"tf":1.0}}}},"g":{"df":4,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"19":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"185":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"273":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":17,"docs":{"224":{"tf":1.0},"259":{"tf":2.8284271247461903},"260":{"tf":2.0},"262":{"tf":1.0},"264":{"tf":1.4142135623730951},"266":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.0},"269":{"tf":1.0},"270":{"tf":1.0},"271":{"tf":2.6457513110645907},"272":{"tf":3.1622776601683795},"273":{"tf":3.872983346207417},"274":{"tf":2.8284271247461903},"275":{"tf":3.4641016151377544},"276":{"tf":2.0},"8":{"tf":1.0}},"f":{"df":1,"docs":{"274":{"tf":1.0}}}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"103":{"tf":1.0}}}},"d":{"(":{"df":0,"docs":{},"|":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"237":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":2,"docs":{"108":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"142":{"tf":1.0},"185":{"tf":1.0},"214":{"tf":1.0}}}}},"x":{"df":2,"docs":{"259":{"tf":1.0},"262":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"107":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"274":{"tf":1.0}}}},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"b":{"df":1,"docs":{"240":{"tf":1.7320508075688772}},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"239":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":3,"docs":{"143":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":1,"docs":{"143":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"265":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"188":{"tf":1.0},"213":{"tf":1.0}}}}}}},"df":0,"docs":{}},":":{":":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"188":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":1,"docs":{"188":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"188":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"n":{"(":{"&":{"df":0,"docs":{},"t":{"df":3,"docs":{"130":{"tf":1.0},"132":{"tf":1.0},"143":{"tf":1.0}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"i":{"df":2,"docs":{"268":{"tf":1.7320508075688772},"269":{"tf":2.23606797749979}}}},"df":75,"docs":{"102":{"tf":1.4142135623730951},"103":{"tf":1.0},"105":{"tf":2.0},"107":{"tf":1.0},"108":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"142":{"tf":1.0},"143":{"tf":1.4142135623730951},"151":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.0},"166":{"tf":1.0},"167":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":1.0},"176":{"tf":1.7320508075688772},"177":{"tf":1.0},"179":{"tf":2.23606797749979},"180":{"tf":1.4142135623730951},"181":{"tf":2.0},"182":{"tf":2.0},"184":{"tf":1.0},"185":{"tf":2.6457513110645907},"186":{"tf":2.0},"187":{"tf":1.4142135623730951},"188":{"tf":1.0},"205":{"tf":1.0},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"208":{"tf":1.0},"210":{"tf":1.4142135623730951},"211":{"tf":2.6457513110645907},"212":{"tf":1.0},"213":{"tf":1.0},"233":{"tf":1.7320508075688772},"236":{"tf":1.7320508075688772},"237":{"tf":2.0},"238":{"tf":1.4142135623730951},"239":{"tf":1.7320508075688772},"240":{"tf":1.4142135623730951},"249":{"tf":2.449489742783178},"25":{"tf":1.4142135623730951},"251":{"tf":2.449489742783178},"252":{"tf":2.0},"253":{"tf":1.7320508075688772},"255":{"tf":1.0},"256":{"tf":1.4142135623730951},"262":{"tf":1.0},"267":{"tf":2.23606797749979},"268":{"tf":1.7320508075688772},"269":{"tf":2.8284271247461903},"278":{"tf":1.4142135623730951},"279":{"tf":1.0},"286":{"tf":1.4142135623730951},"287":{"tf":1.0},"289":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"44":{"tf":1.4142135623730951},"54":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0},"76":{"tf":1.4142135623730951},"83":{"tf":1.0},"92":{"tf":1.4142135623730951}}},"o":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"|":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"239":{"tf":1.0}}}},"df":0,"docs":{}}},"df":1,"docs":{"239":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"17":{"tf":1.7320508075688772},"18":{"tf":1.0},"19":{"tf":1.4142135623730951}}}},"c":{"df":1,"docs":{"251":{"tf":1.0}}},"d":{"df":0,"docs":{},"o":{"df":1,"docs":{"227":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":1,"docs":{"272":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"47":{"tf":1.0}}}},"df":2,"docs":{"185":{"tf":1.0},"240":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"r":{"a":{"c":{"df":2,"docs":{"80":{"tf":1.7320508075688772},"81":{"tf":1.0}},"{":{"\\":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"df":0,"docs":{},"{":{"\\":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"}":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"\\":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"df":0,"docs":{},"{":{"2":{"df":1,"docs":{"260":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}}}}},"c":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{},"n":{"^":{"2":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"2":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"2":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"i":{"df":1,"docs":{"42":{"tf":1.0}}},"n":{"(":{"df":0,"docs":{},"n":{"df":3,"docs":{"66":{"tf":1.0},"75":{"tf":1.0},"99":{"tf":1.0}}}},"^":{"2":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"2":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"260":{"tf":1.0}},"}":{"df":0,"docs":{},"{":{"2":{"^":{"df":0,"docs":{},"k":{"df":1,"docs":{"30":{"tf":1.4142135623730951}}}},"df":2,"docs":{"114":{"tf":2.0},"75":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":2,"docs":{"231":{"tf":1.0},"242":{"tf":1.4142135623730951}}}}}},"y":{"_":{"1":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"100":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"274":{"tf":1.0}}}}},"df":0,"docs":{}}}},"o":{"d":{"df":0,"docs":{},"o":{"df":2,"docs":{"227":{"tf":1.7320508075688772},"230":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"255":{"tf":1.4142135623730951}}}}}}},"n":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"181":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":4,"docs":{"164":{"tf":1.0},"178":{"tf":1.0},"181":{"tf":1.0},"189":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"175":{"tf":1.0}}}},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":10,"docs":{"130":{"tf":1.7320508075688772},"131":{"tf":1.0},"229":{"tf":1.0},"251":{"tf":1.4142135623730951},"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0},"284":{"tf":1.0},"32":{"tf":1.0},"47":{"tf":1.0}}}}}}},"df":0,"docs":{}}},":":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"143":{"tf":1.0}}}}}}},"df":0,"docs":{}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"130":{"tf":1.0}}}}}}},"g":{"(":{"df":0,"docs":{},"n":{"df":3,"docs":{"17":{"tf":2.23606797749979},"18":{"tf":1.7320508075688772},"19":{"tf":2.0}}},"x":{")":{"=":{"3":{"df":0,"docs":{},"x":{"^":{"6":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"16":{"tf":1.7320508075688772}}}},"_":{"df":0,"docs":{},"i":{"(":{"df":0,"docs":{},"x":{"df":4,"docs":{"260":{"tf":1.0},"266":{"tf":1.0},"268":{"tf":1.7320508075688772},"269":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"48":{"tf":1.0}}}}}},"p":{"df":6,"docs":{"78":{"tf":1.7320508075688772},"79":{"tf":2.0},"80":{"tf":2.0},"81":{"tf":2.23606797749979},"82":{"tf":2.449489742783178},"83":{"tf":3.4641016151377544}}},"t":{"df":1,"docs":{"185":{"tf":1.7320508075688772}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"135":{"tf":1.0},"136":{"tf":1.0},"143":{"tf":1.4142135623730951}}}}}}},"b":{"df":1,"docs":{"14":{"tf":1.0}}},"df":1,"docs":{"284":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"k":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"k":{"df":1,"docs":{"109":{"tf":1.0}}}}}}}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":4,"docs":{"142":{"tf":1.0},"185":{"tf":1.0},"264":{"tf":1.0},"272":{"tf":1.0}}}}},"q":{"df":2,"docs":{"18":{"tf":1.0},"19":{"tf":1.0}}},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"237":{"tf":1.0}}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"q":{">":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"237":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"266":{"tf":1.0}}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"238":{"tf":1.0}}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"185":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":2,"docs":{"185":{"tf":1.4142135623730951},"237":{"tf":1.0}},":":{"df":0,"docs":{},"取":{"df":0,"docs":{},"得":{"df":0,"docs":{},"指":{"df":0,"docs":{},"定":{"df":0,"docs":{},"鍵":{"df":0,"docs":{},"對":{"df":0,"docs":{},"應":{"df":0,"docs":{},"的":{"df":0,"docs":{},"資":{"df":0,"docs":{},"料":{"df":0,"docs":{},",":{"df":0,"docs":{},"並":{"df":0,"docs":{},"可":{"df":0,"docs":{},"寫":{"df":0,"docs":{},"入":{"df":0,"docs":{},"修":{"df":0,"docs":{},"改":{"df":0,"docs":{},"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"235":{"tf":1.0}}}}}}}}}}}}}}}}}}}}}}}}}}}},"df":1,"docs":{"210":{"tf":1.0}}}},"i":{"df":0,"docs":{},"f":{"df":6,"docs":{"122":{"tf":1.0},"62":{"tf":1.0},"70":{"tf":1.0},"77":{"tf":1.0},"86":{"tf":1.0},"93":{"tf":1.0}}},"m":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"230":{"tf":1.7320508075688772}}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"b":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"o":{"b":{"a":{"df":0,"docs":{},"l":{"_":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"176":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"176":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"df":1,"docs":{"291":{"tf":1.0}},"e":{"df":1,"docs":{"210":{"tf":1.0}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"227":{"tf":1.7320508075688772},"230":{"tf":1.7320508075688772}},"n":{"df":1,"docs":{"227":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"276":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":2,"docs":{"225":{"tf":1.0},"244":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"92":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"133":{"tf":1.0}}}}},"t":{"df":1,"docs":{"270":{"tf":1.0}}},"u":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"279":{"tf":1.0}}},"df":0,"docs":{}},"v":{"a":{"df":1,"docs":{"276":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"h":{"1":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"269":{"tf":1.0}}}},".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"i":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"h":{"2":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}},"2":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"269":{"tf":1.0}}}},"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}},"_":{"1":{"(":{"df":0,"docs":{},"x":{"df":5,"docs":{"260":{"tf":1.4142135623730951},"266":{"tf":1.0},"268":{"tf":2.23606797749979},"269":{"tf":1.4142135623730951},"275":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"2":{"(":{"df":0,"docs":{},"x":{"df":4,"docs":{"260":{"tf":1.0},"268":{"tf":1.4142135623730951},"269":{"tf":1.0},"275":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"33":{"tf":1.7320508075688772}}}},"m":{"df":3,"docs":{"277":{"tf":1.4142135623730951},"281":{"tf":1.0},"9":{"tf":1.0}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"278":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"279":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"n":{"d":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"10":{"tf":1.0}}}}}},"df":0,"docs":{},"l":{"df":2,"docs":{"44":{"tf":1.0},"54":{"tf":1.0}},"e":{"_":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"d":{"_":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"176":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"275":{"tf":1.0}}},"h":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"275":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"1":{"df":1,"docs":{"228":{"tf":1.0}}},"2":{"df":1,"docs":{"228":{"tf":1.0}}},"df":0,"docs":{}}}},"x":{"df":1,"docs":{"275":{"tf":1.0}}}},"<":{"df":0,"docs":{},"h":{"df":1,"docs":{"233":{"tf":1.0}}}},"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.7320508075688772},"269":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"o":{"df":1,"docs":{"227":{"tf":1.0}}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"227":{"tf":1.0}}}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"228":{"tf":1.0}}}}},"s":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"227":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"247":{"tf":1.0}}}},"df":0,"docs":{}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"228":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":28,"docs":{"142":{"tf":2.23606797749979},"143":{"tf":1.0},"220":{"tf":1.0},"226":{"tf":1.0},"229":{"tf":1.4142135623730951},"230":{"tf":1.4142135623730951},"231":{"tf":1.0},"233":{"tf":3.605551275463989},"234":{"tf":1.4142135623730951},"236":{"tf":1.4142135623730951},"237":{"tf":1.0},"238":{"tf":1.4142135623730951},"244":{"tf":1.7320508075688772},"247":{"tf":1.0},"249":{"tf":1.7320508075688772},"255":{"tf":1.0},"256":{"tf":1.7320508075688772},"260":{"tf":1.0},"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.7320508075688772},"269":{"tf":2.6457513110645907},"271":{"tf":1.0},"274":{"tf":1.4142135623730951},"275":{"tf":2.0},"276":{"tf":1.4142135623730951},"8":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"(":{"&":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"143":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"233":{"tf":1.0}}}}}}}}},"1":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}}}}},"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}},"2":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}}}}},"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}},":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"268":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},">":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"233":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":8,"docs":{"142":{"tf":1.4142135623730951},"143":{"tf":1.4142135623730951},"233":{"tf":2.23606797749979},"263":{"tf":2.0},"264":{"tf":1.4142135623730951},"267":{"tf":1.7320508075688772},"268":{"tf":2.23606797749979},"269":{"tf":1.7320508075688772}}}},"m":{"a":{"df":0,"docs":{},"p":{".":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"234":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"238":{"tf":1.0}}}}}},":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"249":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"249":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"249":{"tf":1.0}}}}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"239":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"<":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"237":{"tf":1.0}}}}}},"df":0,"docs":{},"k":{"df":3,"docs":{"234":{"tf":1.4142135623730951},"236":{"tf":1.4142135623730951},"264":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"264":{"tf":1.0}}}}},"t":{"df":2,"docs":{"247":{"tf":1.0},"248":{"tf":1.0}}}},"df":11,"docs":{"143":{"tf":1.0},"216":{"tf":1.0},"230":{"tf":1.0},"231":{"tf":1.0},"233":{"tf":1.0},"234":{"tf":1.0},"236":{"tf":1.4142135623730951},"244":{"tf":1.0},"247":{"tf":1.0},"249":{"tf":1.0},"257":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"237":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{"df":7,"docs":{"247":{"tf":1.0},"249":{"tf":1.0},"251":{"tf":3.4641016151377544},"252":{"tf":2.0},"253":{"tf":1.7320508075688772},"255":{"tf":2.23606797749979},"256":{"tf":2.23606797749979}}}},"df":2,"docs":{"251":{"tf":1.4142135623730951},"258":{"tf":1.0}}}}},":":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"142":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":9,"docs":{"142":{"tf":1.4142135623730951},"143":{"tf":1.7320508075688772},"175":{"tf":3.0},"179":{"tf":1.4142135623730951},"180":{"tf":2.449489742783178},"233":{"tf":1.0},"276":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.0}},"e":{"a":{"d":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"206":{"tf":1.0}}}}}}},"df":21,"docs":{"119":{"tf":1.4142135623730951},"171":{"tf":1.0},"174":{"tf":1.0},"175":{"tf":3.3166247903554},"177":{"tf":1.4142135623730951},"179":{"tf":1.0},"180":{"tf":2.6457513110645907},"181":{"tf":1.4142135623730951},"182":{"tf":1.7320508075688772},"185":{"tf":2.0},"189":{"tf":1.0},"196":{"tf":1.7320508075688772},"200":{"tf":1.0},"203":{"tf":1.4142135623730951},"205":{"tf":1.0},"206":{"tf":2.23606797749979},"207":{"tf":1.0},"208":{"tf":1.4142135623730951},"210":{"tf":1.0},"214":{"tf":1.0},"230":{"tf":1.0}}},"df":0,"docs":{},"p":{"df":10,"docs":{"202":{"tf":1.0},"236":{"tf":1.0},"69":{"tf":1.0},"85":{"tf":2.0},"86":{"tf":3.0},"87":{"tf":4.242640687119285},"89":{"tf":3.4641016151377544},"90":{"tf":1.4142135623730951},"92":{"tf":4.358898943540674},"93":{"tf":1.0}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":4,"docs":{"87":{"tf":1.7320508075688772},"89":{"tf":2.0},"90":{"tf":1.0},"92":{"tf":1.7320508075688772}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"92":{"tf":1.0}}}}},"df":0,"docs":{}},"df":9,"docs":{"4":{"tf":1.0},"69":{"tf":1.4142135623730951},"85":{"tf":2.0},"86":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"88":{"tf":1.0},"89":{"tf":1.0},"92":{"tf":1.7320508075688772},"93":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"i":{"df":1,"docs":{"291":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"p":{"df":2,"docs":{"251":{"tf":1.0},"264":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"102":{"tf":1.0}}}}}},"n":{"c":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"4":{"0":{"4":{"0":{"8":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"df":3,"docs":{"176":{"tf":1.0},"210":{"tf":1.4142135623730951},"251":{"tf":1.7320508075688772}}}}},"i":{"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"44":{"tf":2.449489742783178}}}},"df":0,"docs":{}}},"df":8,"docs":{"102":{"tf":3.0},"103":{"tf":1.4142135623730951},"105":{"tf":4.242640687119285},"107":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"41":{"tf":1.4142135623730951},"44":{"tf":2.8284271247461903},"54":{"tf":2.23606797749979}},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"96":{"tf":1.4142135623730951}}}},"、":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}}}},"o":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"108":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"136":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"o":{"d":{"df":1,"docs":{"231":{"tf":1.0}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"{":{"1":{"0":{"df":2,"docs":{"284":{"tf":1.0},"286":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{"/":{"/":{"d":{"df":0,"docs":{},"o":{"c":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},":":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"143":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"i":{"$":{"df":0,"docs":{},"、":{"$":{"df":0,"docs":{},"j":{"df":1,"docs":{"284":{"tf":1.0}}}},"df":0,"docs":{}}},"+":{"1":{"df":1,"docs":{"96":{"tf":1.0}}},"df":0,"docs":{}},"/":{"df":1,"docs":{"284":{"tf":1.0}},"o":{"df":1,"docs":{"274":{"tf":1.0}}}},"3":{"2":{"df":17,"docs":{"102":{"tf":1.4142135623730951},"103":{"tf":1.0},"105":{"tf":2.0},"107":{"tf":1.0},"108":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.7320508075688772},"151":{"tf":1.0},"264":{"tf":1.4142135623730951},"44":{"tf":2.6457513110645907},"59":{"tf":1.0},"61":{"tf":1.4142135623730951},"67":{"tf":1.0},"76":{"tf":1.4142135623730951},"83":{"tf":1.0},"92":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"275":{"tf":1.0}},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"107":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"7":{"5":{"4":{"df":1,"docs":{"256":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"47":{"tf":1.0}}}}},"h":{"_":{"2":{"(":{"df":0,"docs":{},"x":{"df":4,"docs":{"260":{"tf":1.0},"266":{"tf":1.0},"268":{"tf":1.7320508075688772},"269":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"k":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"n":{"df":2,"docs":{"43":{"tf":1.0},"47":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"a":{"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}}},"m":{"a":{"df":0,"docs":{},"g":{"df":3,"docs":{"190":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"200":{"tf":1.4142135623730951},"211":{"tf":1.4142135623730951},"251":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"l":{"<":{"'":{"a":{"df":4,"docs":{"185":{"tf":2.23606797749979},"186":{"tf":2.0},"211":{"tf":1.0},"255":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"df":1,"docs":{"142":{"tf":1.0}}},"k":{"df":1,"docs":{"236":{"tf":1.4142135623730951}}},"t":{"df":15,"docs":{"176":{"tf":1.7320508075688772},"177":{"tf":1.0},"179":{"tf":1.4142135623730951},"184":{"tf":1.0},"186":{"tf":2.0},"187":{"tf":1.4142135623730951},"188":{"tf":1.0},"205":{"tf":1.0},"210":{"tf":1.4142135623730951},"211":{"tf":1.7320508075688772},"212":{"tf":1.0},"213":{"tf":1.0},"249":{"tf":1.0},"256":{"tf":1.7320508075688772},"269":{"tf":1.0}}}},"df":7,"docs":{"185":{"tf":1.0},"233":{"tf":1.0},"240":{"tf":3.0},"249":{"tf":1.0},"251":{"tf":2.449489742783178},"252":{"tf":2.0},"255":{"tf":1.0}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"144":{"tf":1.0},"190":{"tf":1.0},"276":{"tf":1.0}}}}}}}}}},"n":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":1,"docs":{"151":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"118":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"84":{"tf":1.0}}}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"187":{"tf":1.0}}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"187":{"tf":1.0}}}}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"187":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":24,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"119":{"tf":1.7320508075688772},"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"125":{"tf":2.23606797749979},"132":{"tf":2.0},"168":{"tf":1.0},"179":{"tf":2.0},"187":{"tf":2.8284271247461903},"228":{"tf":1.0},"237":{"tf":1.4142135623730951},"238":{"tf":1.7320508075688772},"25":{"tf":1.0},"268":{"tf":1.0},"269":{"tf":1.7320508075688772},"288":{"tf":1.4142135623730951},"33":{"tf":1.0},"54":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"67":{"tf":1.0},"92":{"tf":2.0}},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"143":{"tf":1.0}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"187":{"tf":1.0}}}}},"df":1,"docs":{"187":{"tf":1.4142135623730951}}}}},"(":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"125":{"tf":1.0}}}}}}}}}}}},"df":1,"docs":{"287":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"185":{"tf":1.0},"264":{"tf":1.0}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"44":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":4,"docs":{"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"239":{"tf":1.0},"267":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"210":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"135":{"tf":1.0},"136":{"tf":1.0},"138":{"tf":1.0},"143":{"tf":1.4142135623730951}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"262":{"tf":1.7320508075688772}}}}}},"df":1,"docs":{"125":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":4,"docs":{"238":{"tf":1.0},"249":{"tf":1.0},"268":{"tf":1.0},"269":{"tf":1.0}}}}}},"df":0,"docs":{},"v":{"df":2,"docs":{"257":{"tf":1.0},"270":{"tf":1.0}}}},"_":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":2,"docs":{"204":{"tf":1.0},"207":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"207":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":29,"docs":{"119":{"tf":1.0},"138":{"tf":1.0},"142":{"tf":1.0},"143":{"tf":1.0},"161":{"tf":1.0},"171":{"tf":1.0},"214":{"tf":1.0},"235":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.0},"249":{"tf":1.4142135623730951},"251":{"tf":1.0},"266":{"tf":1.0},"268":{"tf":1.0},"282":{"tf":1.0},"289":{"tf":1.0},"38":{"tf":1.7320508075688772},"4":{"tf":1.0},"56":{"tf":1.7320508075688772},"57":{"tf":1.0},"58":{"tf":1.4142135623730951},"61":{"tf":2.449489742783178},"62":{"tf":1.0},"65":{"tf":1.0},"71":{"tf":1.0},"78":{"tf":2.0},"79":{"tf":1.4142135623730951},"81":{"tf":2.6457513110645907},"82":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"59":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"t":{"df":1,"docs":{"238":{"tf":1.0}}}},"i":{"d":{"df":3,"docs":{"181":{"tf":1.4142135623730951},"182":{"tf":2.0},"187":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"145":{"tf":1.0}},"e":{"df":0,"docs":{},"g":{"df":1,"docs":{"34":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"}":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"278":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"r":{"df":1,"docs":{"186":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":2,"docs":{"117":{"tf":1.0},"118":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":7,"docs":{"3":{"tf":1.0},"36":{"tf":2.0},"40":{"tf":2.0},"43":{"tf":1.0},"44":{"tf":3.7416573867739413},"46":{"tf":1.4142135623730951},"47":{"tf":1.7320508075688772}}}}},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"253":{"tf":1.0},"255":{"tf":1.0},"257":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"<":{"'":{"a":{">":{"(":{"&":{"'":{"a":{"df":1,"docs":{"252":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},":":{"df":0,"docs":{},"交":{"df":0,"docs":{},"集":{"df":0,"docs":{},",":{"a":{"df":1,"docs":{"250":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}},"o":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"185":{"tf":1.0},"186":{"tf":1.0},"211":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"186":{"tf":1.7320508075688772},"211":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"211":{"tf":1.0}}}}}},"t":{"df":2,"docs":{"186":{"tf":1.7320508075688772},"211":{"tf":2.6457513110645907}},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"186":{"tf":1.0},"211":{"tf":1.0}}}}}}},"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"186":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}}}}}},"df":0,"docs":{}},"df":2,"docs":{"186":{"tf":1.4142135623730951},"211":{"tf":1.7320508075688772}}}},"df":3,"docs":{"185":{"tf":1.0},"186":{"tf":3.1622776601683795},"211":{"tf":2.23606797749979}}}}}}},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"244":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}}}}}}}}}},"o":{"df":1,"docs":{"259":{"tf":1.0}}},"s":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"253":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"250":{"tf":1.0}}}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":5,"docs":{"178":{"tf":1.0},"181":{"tf":1.0},"204":{"tf":1.0},"235":{"tf":1.0},"249":{"tf":1.0}}},"y":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"181":{"tf":1.0},"249":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"178":{"tf":1.0}},"l":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"180":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"249":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"210":{"tf":1.4142135623730951}}}},"u":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"253":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":3,"docs":{"250":{"tf":1.0},"253":{"tf":1.4142135623730951},"256":{"tf":1.4142135623730951}},",":{"a":{"df":1,"docs":{"256":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"253":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":2,"docs":{"250":{"tf":1.0},"253":{"tf":1.0}},",":{"a":{"df":1,"docs":{"256":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":4,"docs":{"102":{"tf":2.0},"103":{"tf":1.7320508075688772},"105":{"tf":2.8284271247461903},"107":{"tf":2.0}}}},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"293":{"tf":1.7320508075688772}}}},"t":{"df":1,"docs":{"46":{"tf":1.0}}}},"t":{"'":{"df":1,"docs":{"180":{"tf":1.4142135623730951}}},"a":{"df":0,"docs":{},"i":{"df":2,"docs":{"43":{"tf":1.0},"47":{"tf":1.0}}}},"df":1,"docs":{"284":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"m":{"df":15,"docs":{"154":{"tf":1.4142135623730951},"156":{"tf":1.0},"157":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"166":{"tf":1.0},"167":{"tf":1.7320508075688772},"168":{"tf":1.0},"169":{"tf":1.0},"185":{"tf":2.0},"186":{"tf":2.0},"211":{"tf":1.7320508075688772},"25":{"tf":1.4142135623730951},"251":{"tf":2.449489742783178},"252":{"tf":1.4142135623730951},"275":{"tf":1.0}}},"r":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":3,"docs":{"211":{"tf":1.4142135623730951},"240":{"tf":1.0},"249":{"tf":1.0}}}}}}},"df":0,"docs":{}},".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"<":{"'":{"a":{"df":3,"docs":{"185":{"tf":1.4142135623730951},"186":{"tf":1.0},"211":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.4142135623730951}}}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":2,"docs":{"185":{"tf":1.0},"186":{"tf":1.0}}}}}},"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"25":{"tf":1.0}}}}}}}},":":{":":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"256":{"tf":1.0},"269":{"tf":1.0}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"251":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":2,"docs":{"185":{"tf":1.0},"279":{"tf":1.0}}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":4,"docs":{"240":{"tf":1.0},"249":{"tf":1.0},"251":{"tf":2.449489742783178},"252":{"tf":2.0}}}}}}},"df":0,"docs":{}}}}},"df":20,"docs":{"105":{"tf":1.0},"107":{"tf":1.0},"131":{"tf":1.0},"143":{"tf":1.4142135623730951},"151":{"tf":1.0},"185":{"tf":4.69041575982343},"186":{"tf":2.0},"208":{"tf":1.0},"211":{"tf":4.242640687119285},"212":{"tf":1.0},"213":{"tf":1.0},"240":{"tf":1.4142135623730951},"249":{"tf":1.4142135623730951},"251":{"tf":2.0},"269":{"tf":1.0},"279":{"tf":1.0},"44":{"tf":1.0},"67":{"tf":1.0},"83":{"tf":1.0},"92":{"tf":1.0}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}}}},"df":0,"docs":{}},"<":{"'":{"a":{"df":3,"docs":{"185":{"tf":2.23606797749979},"186":{"tf":1.0},"211":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.0}}}},"df":2,"docs":{"185":{"tf":1.0},"211":{"tf":1.4142135623730951}}}}},"、":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.0}}}}}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"176":{"tf":1.0},"185":{"tf":1.0}}}}}}},"、":{"df":0,"docs":{},"j":{"df":1,"docs":{"103":{"tf":1.0}}}},",":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"j":{"a":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},",":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":14,"docs":{"103":{"tf":1.7320508075688772},"107":{"tf":2.449489742783178},"108":{"tf":2.449489742783178},"275":{"tf":1.4142135623730951},"284":{"tf":1.4142135623730951},"287":{"tf":2.449489742783178},"288":{"tf":1.4142135623730951},"289":{"tf":2.449489742783178},"59":{"tf":2.23606797749979},"61":{"tf":2.0},"67":{"tf":1.4142135623730951},"83":{"tf":2.0},"96":{"tf":2.23606797749979},"97":{"tf":4.123105625617661}},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"8":{"9":{"df":2,"docs":{"64":{"tf":1.0},"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"g":{"df":2,"docs":{"225":{"tf":1.0},"244":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"、":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"218":{"tf":1.4142135623730951}}}}}}}}}},"。":{"df":0,"docs":{},"i":{"df":1,"docs":{"97":{"tf":1.7320508075688772}}}}},"k":{"$":{"df":0,"docs":{},"(":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"b":{"df":0,"docs":{},"e":{"df":1,"docs":{"230":{"tf":1.0}}}},"df":0,"docs":{}}}}},":":{"df":0,"docs":{},"雜":{"df":0,"docs":{},"湊":{"df":0,"docs":{},"表":{"df":0,"docs":{},"配":{"df":0,"docs":{},"置":{"df":0,"docs":{},"的":{"df":0,"docs":{},"儲":{"df":0,"docs":{},"存":{"df":0,"docs":{},"空":{"df":0,"docs":{},"間":{"df":0,"docs":{},"(":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"231":{"tf":1.0},"242":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}}}}},")":{".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"238":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"237":{"tf":1.0}}}}}}}},"df":0,"docs":{}},">":{"0":{"df":2,"docs":{"17":{"tf":1.0},"18":{"tf":1.0}}},"df":0,"docs":{}},"^":{"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.4142135623730951}}},"{":{"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.4142135623730951}}}}},"_":{"1":{">":{"0":{"df":1,"docs":{"19":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"19":{"tf":1.4142135623730951}}},"2":{">":{"0":{"df":1,"docs":{"19":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"19":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":38,"docs":{"107":{"tf":2.0},"109":{"tf":1.0},"123":{"tf":1.0},"126":{"tf":2.23606797749979},"127":{"tf":1.7320508075688772},"128":{"tf":1.4142135623730951},"135":{"tf":1.0},"137":{"tf":2.0},"139":{"tf":4.0},"140":{"tf":2.0},"148":{"tf":1.0},"149":{"tf":3.3166247903554},"150":{"tf":1.4142135623730951},"17":{"tf":1.7320508075688772},"173":{"tf":1.0},"18":{"tf":1.4142135623730951},"230":{"tf":1.4142135623730951},"233":{"tf":1.0},"234":{"tf":2.0},"236":{"tf":1.4142135623730951},"237":{"tf":2.0},"238":{"tf":1.7320508075688772},"240":{"tf":2.23606797749979},"241":{"tf":1.0},"244":{"tf":1.0},"249":{"tf":1.0},"260":{"tf":2.8284271247461903},"263":{"tf":1.7320508075688772},"266":{"tf":1.0},"267":{"tf":1.4142135623730951},"268":{"tf":2.0},"269":{"tf":2.0},"270":{"tf":2.23606797749979},"271":{"tf":1.0},"284":{"tf":1.4142135623730951},"285":{"tf":2.449489742783178},"30":{"tf":2.0},"49":{"tf":1.0}},"e":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"132":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"1":{"df":1,"docs":{"228":{"tf":1.0}}},"2":{"df":1,"docs":{"228":{"tf":1.0}}},"df":17,"docs":{"124":{"tf":1.0},"125":{"tf":3.1622776601683795},"128":{"tf":1.0},"130":{"tf":1.4142135623730951},"131":{"tf":2.0},"132":{"tf":1.4142135623730951},"146":{"tf":1.4142135623730951},"149":{"tf":1.0},"151":{"tf":1.0},"216":{"tf":1.0},"228":{"tf":1.0},"233":{"tf":1.0},"234":{"tf":1.4142135623730951},"237":{"tf":2.0},"238":{"tf":1.4142135623730951},"249":{"tf":1.0},"275":{"tf":1.0}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":1,"docs":{"284":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"284":{"tf":2.0},"285":{"tf":1.4142135623730951}}}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"262":{"tf":1.4142135623730951}}}}}},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}},"l":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"/":{"1":{".":{"4":{"9":{".":{"0":{"/":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"/":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"b":{"a":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"#":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"215":{"tf":1.0},"240":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"107":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"107":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"199":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"214":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"103":{"tf":1.0}}}}}},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"s":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}}},":":{":":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"y":{":":{":":{"<":{"df":0,"docs":{},"t":{">":{"(":{"c":{"a":{"df":0,"docs":{},"p":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"176":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"c":{"a":{"df":0,"docs":{},"p":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"176":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"176":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"176":{"tf":2.23606797749979}}}}}},"z":{"df":0,"docs":{},"i":{"df":2,"docs":{"143":{"tf":1.0},"251":{"tf":1.4142135623730951}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"114":{"tf":1.0},"52":{"tf":1.4142135623730951}}}}}},"df":2,"docs":{"273":{"tf":1.4142135623730951},"33":{"tf":1.0}},"e":{"a":{"d":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":2,"docs":{"89":{"tf":1.7320508075688772},"92":{"tf":1.0}}},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"210":{"tf":1.0},"215":{"tf":1.0}}}}},"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"w":{"df":1,"docs":{"12":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"89":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":3,"docs":{"119":{"tf":2.23606797749979},"54":{"tf":1.0},"92":{"tf":1.4142135623730951}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"108":{"tf":1.0},"147":{"tf":1.0}}}}}}}},"n":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":3,"docs":{"181":{"tf":1.0},"239":{"tf":1.0},"249":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":16,"docs":{"118":{"tf":2.23606797749979},"131":{"tf":1.0},"132":{"tf":1.0},"178":{"tf":1.0},"181":{"tf":1.4142135623730951},"189":{"tf":1.0},"233":{"tf":1.7320508075688772},"234":{"tf":1.7320508075688772},"235":{"tf":1.0},"236":{"tf":2.0},"238":{"tf":1.0},"249":{"tf":1.0},"262":{"tf":1.0},"67":{"tf":1.7320508075688772},"76":{"tf":2.0},"83":{"tf":1.4142135623730951}},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":3,"docs":{"112":{"tf":1.0},"238":{"tf":1.0},"279":{"tf":1.0}}}}}},"q":{"df":2,"docs":{"17":{"tf":2.23606797749979},"19":{"tf":2.0}}},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"260":{"tf":1.0},"276":{"tf":1.0}}}},"t":{"'":{"df":1,"docs":{"276":{"tf":1.0}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"89":{"tf":1.0}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":2,"docs":{"286":{"tf":1.4142135623730951},"289":{"tf":1.0}}},"df":0,"docs":{}}}}}},"_":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"287":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":3,"docs":{"282":{"tf":1.4142135623730951},"291":{"tf":2.0},"9":{"tf":1.0}}}}}}}}}}},"x":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"146":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":5,"docs":{"114":{"tf":1.0},"42":{"tf":1.7320508075688772},"80":{"tf":1.7320508075688772},"81":{"tf":1.0},"89":{"tf":1.0}},"{":{"\\":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"_":{"2":{"df":1,"docs":{"30":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"i":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"13":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"185":{"tf":2.8284271247461903},"251":{"tf":2.23606797749979}}}}}},"o":{"df":1,"docs":{"153":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"<":{"df":0,"docs":{},"t":{">":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":9,"docs":{"23":{"tf":1.0},"230":{"tf":2.0},"26":{"tf":1.0},"274":{"tf":1.7320508075688772},"3":{"tf":1.0},"40":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"47":{"tf":1.4142135623730951}}}},"df":2,"docs":{"188":{"tf":1.0},"271":{"tf":1.0}}},"k":{"df":14,"docs":{"144":{"tf":1.0},"153":{"tf":1.0},"163":{"tf":1.0},"171":{"tf":1.0},"191":{"tf":1.0},"198":{"tf":1.0},"199":{"tf":1.4142135623730951},"200":{"tf":1.0},"207":{"tf":1.0},"210":{"tf":2.6457513110645907},"215":{"tf":1.4142135623730951},"230":{"tf":1.4142135623730951},"65":{"tf":1.0},"7":{"tf":1.7320508075688772}},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"193":{"tf":1.0},"215":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":15,"docs":{"144":{"tf":1.0},"153":{"tf":1.0},"163":{"tf":1.0},"171":{"tf":1.0},"191":{"tf":1.0},"198":{"tf":1.0},"199":{"tf":1.4142135623730951},"200":{"tf":1.0},"207":{"tf":1.0},"210":{"tf":1.4142135623730951},"211":{"tf":1.4142135623730951},"215":{"tf":1.4142135623730951},"230":{"tf":1.4142135623730951},"65":{"tf":1.0},"7":{"tf":1.7320508075688772}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"265":{"tf":1.0}}}},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"20":{"tf":1.0}}}}}},"n":{"_":{"2":{"_":{"2":{")":{".":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"267":{"tf":1.4142135623730951},"269":{"tf":1.4142135623730951}},"{":{"\\":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"}":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"(":{"\\":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"df":0,"docs":{},"{":{"2":{"df":0,"docs":{},"}":{")":{"^":{"2":{"df":1,"docs":{"260":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}}},"o":{".":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"103":{"tf":1.0}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"44":{"tf":2.8284271247461903}}}},"df":0,"docs":{}}},"a":{"d":{"_":{"df":0,"docs":{},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"239":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":8,"docs":{"231":{"tf":2.449489742783178},"235":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.4142135623730951},"242":{"tf":1.0},"243":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.0}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"271":{"tf":1.0},"274":{"tf":1.0}}}},"df":0,"docs":{}},"df":9,"docs":{"102":{"tf":2.6457513110645907},"103":{"tf":1.4142135623730951},"105":{"tf":4.58257569495584},"107":{"tf":1.7320508075688772},"108":{"tf":1.4142135623730951},"13":{"tf":1.0},"41":{"tf":1.4142135623730951},"44":{"tf":3.1622776601683795},"54":{"tf":2.0}},"g":{"(":{"9":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.0}}}},"^":{"2":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"_":{"2":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"89":{"tf":1.0}}}},"df":3,"docs":{"267":{"tf":1.0},"269":{"tf":1.0},"30":{"tf":2.23606797749979}},"n":{"df":1,"docs":{"61":{"tf":1.0}}},"{":{"\\":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"260":{"tf":1.0}}}}}}}}},"f":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"{":{"1":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"\\":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"271":{"tf":1.0},"275":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"n":{"df":1,"docs":{"99":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":21,"docs":{"105":{"tf":1.4142135623730951},"110":{"tf":1.4142135623730951},"113":{"tf":1.7320508075688772},"114":{"tf":1.0},"145":{"tf":1.0},"15":{"tf":1.4142135623730951},"20":{"tf":1.0},"21":{"tf":1.0},"43":{"tf":2.0},"46":{"tf":2.0},"47":{"tf":1.4142135623730951},"53":{"tf":1.0},"69":{"tf":1.0},"82":{"tf":1.0},"88":{"tf":2.0},"89":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"94":{"tf":1.0},"98":{"tf":1.4142135623730951},"99":{"tf":1.0}},"i":{"c":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}},"{":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":7,"docs":{"100":{"tf":1.0},"103":{"tf":1.7320508075688772},"105":{"tf":1.0},"107":{"tf":1.4142135623730951},"96":{"tf":1.4142135623730951},"97":{"tf":1.0},"99":{"tf":1.4142135623730951}}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"p":{"df":11,"docs":{"105":{"tf":1.0},"108":{"tf":1.0},"119":{"tf":1.4142135623730951},"211":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.0},"279":{"tf":1.0},"291":{"tf":1.0},"44":{"tf":2.0},"76":{"tf":1.0},"92":{"tf":1.4142135623730951}}}},"w":{"df":1,"docs":{"96":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"54":{"tf":1.0}}}}}},"s":{"d":{"df":3,"docs":{"145":{"tf":1.0},"146":{"tf":2.0},"147":{"tf":1.0}}},"df":0,"docs":{},"m":{"df":1,"docs":{"274":{"tf":1.0}}}},"t":{"df":0,"docs":{},"、":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":1,"docs":{"256":{"tf":1.0}}}}}}},"m":{"$":{"df":0,"docs":{},"、":{"$":{"df":0,"docs":{},"n":{"$":{"df":0,"docs":{},"、":{"$":{"df":0,"docs":{},"k":{"$":{"df":0,"docs":{},"、":{"$":{"\\":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"267":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"236":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"262":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"230":{"tf":1.0},"262":{"tf":1.0},"44":{"tf":1.0}}}},"k":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"&":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"238":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"x":{">":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"233":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":4,"docs":{"235":{"tf":1.0},"237":{"tf":1.0},"266":{"tf":1.0},"268":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":1,"docs":{"238":{"tf":1.0}}}},"n":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"184":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":2,"docs":{"210":{"tf":1.0},"215":{"tf":1.0}}}},"p":{"(":{"df":0,"docs":{},"|":{"(":{"_":{"df":1,"docs":{"237":{"tf":1.4142135623730951}}},"df":0,"docs":{},"k":{"df":1,"docs":{"240":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":2,"docs":{"238":{"tf":1.0},"54":{"tf":1.0}}}}},"df":0,"docs":{}}},"v":{"df":1,"docs":{"238":{"tf":1.0}}}}},"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"54":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":8,"docs":{"216":{"tf":1.0},"220":{"tf":1.0},"221":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.0},"244":{"tf":1.0},"274":{"tf":1.0},"8":{"tf":1.4142135623730951}}},"r":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"83":{"tf":1.0}},"s":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"83":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":2,"docs":{"80":{"tf":1.0},"83":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"264":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"122":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":9,"docs":{"143":{"tf":1.0},"168":{"tf":1.0},"185":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"210":{"tf":1.0},"238":{"tf":1.0},"256":{"tf":1.4142135623730951},"279":{"tf":1.4142135623730951},"61":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"289":{"tf":1.7320508075688772}}}},"df":1,"docs":{"288":{"tf":1.0}}}}}},"x":{"(":{"df":0,"docs":{},"i":{",":{"df":0,"docs":{},"j":{"df":2,"docs":{"284":{"tf":1.4142135623730951},"286":{"tf":1.0}}}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"151":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":8,"docs":{"130":{"tf":1.4142135623730951},"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"151":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":2.0},"90":{"tf":1.0},"92":{"tf":2.0}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":3,"docs":{"154":{"tf":1.4142135623730951},"156":{"tf":1.0},"159":{"tf":1.0}},"e":{"df":0,"docs":{},"、":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"154":{"tf":1.0}}}}}}}}}}}}},"df":10,"docs":{"260":{"tf":2.0},"262":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.0},"269":{"tf":1.0},"270":{"tf":2.6457513110645907},"284":{"tf":1.0},"290":{"tf":1.7320508075688772},"84":{"tf":1.0}},"e":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"259":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{":":{":":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"184":{"tf":1.0}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"c":{"df":1,"docs":{"238":{"tf":1.4142135623730951}},"e":{"(":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"239":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{":":{":":{"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"176":{"tf":1.0},"179":{"tf":1.0}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"179":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"154":{"tf":1.0}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"266":{"tf":1.0}}}}}}}}},"c":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":2,"docs":{"119":{"tf":1.4142135623730951},"180":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":6,"docs":{"176":{"tf":1.4142135623730951},"181":{"tf":1.4142135623730951},"182":{"tf":2.0},"184":{"tf":1.0},"187":{"tf":1.4142135623730951},"215":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"g":{"df":7,"docs":{"112":{"tf":1.4142135623730951},"116":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"119":{"tf":1.4142135623730951},"122":{"tf":1.0},"193":{"tf":1.0}},"e":{"(":{"&":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"[":{".":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"117":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{".":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"118":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"1":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"117":{"tf":1.4142135623730951}}}}}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"117":{"tf":1.0}}}}},"df":0,"docs":{}},"_":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"118":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":9,"docs":{"110":{"tf":1.7320508075688772},"111":{"tf":1.7320508075688772},"112":{"tf":1.0},"114":{"tf":1.7320508075688772},"115":{"tf":1.4142135623730951},"116":{"tf":1.4142135623730951},"20":{"tf":1.0},"4":{"tf":1.0},"94":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}}}},"t":{"a":{"df":1,"docs":{"293":{"tf":1.0}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"d":{"df":5,"docs":{"131":{"tf":1.0},"185":{"tf":1.7320508075688772},"211":{"tf":1.4142135623730951},"255":{"tf":1.0},"256":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"i":{"b":{"df":2,"docs":{"259":{"tf":1.0},"270":{"tf":1.0}}},"d":{"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"44":{"tf":2.449489742783178}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"l":{"df":2,"docs":{"103":{"tf":1.0},"118":{"tf":1.0}}}},"df":4,"docs":{"117":{"tf":1.4142135623730951},"118":{"tf":1.0},"33":{"tf":1.7320508075688772},"34":{"tf":1.4142135623730951}}},"df":0,"docs":{},"n":{"(":{"2":{",":{"2":{",":{"1":{"df":1,"docs":{"285":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{",":{"2":{",":{"2":{"df":1,"docs":{"285":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{",":{"df":0,"docs":{},"j":{"df":2,"docs":{"284":{"tf":1.4142135623730951},"286":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":8,"docs":{"130":{"tf":1.4142135623730951},"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"284":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.0}},"、":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"x":{"df":1,"docs":{"130":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"240":{"tf":1.0},"251":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"l":{"a":{"c":{"df":1,"docs":{"108":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"244":{"tf":1.0}}}},"o":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"215":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"268":{"tf":1.0}}}},"df":1,"docs":{"256":{"tf":1.0}},"o":{"df":2,"docs":{"233":{"tf":1.0},"268":{"tf":1.0}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"119":{"tf":1.0},"175":{"tf":1.4142135623730951}}}},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"211":{"tf":1.0},"251":{"tf":2.8284271247461903}}}}},"s":{"d":{"df":2,"docs":{"145":{"tf":1.0},"146":{"tf":2.449489742783178}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"222":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":5,"docs":{"157":{"tf":1.0},"167":{"tf":1.0},"211":{"tf":1.4142135623730951},"237":{"tf":1.0},"238":{"tf":1.0}}}},"df":0,"docs":{}},"df":43,"docs":{"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"105":{"tf":2.8284271247461903},"107":{"tf":2.0},"108":{"tf":1.7320508075688772},"117":{"tf":1.7320508075688772},"118":{"tf":2.23606797749979},"119":{"tf":2.0},"130":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":1.7320508075688772},"143":{"tf":1.4142135623730951},"151":{"tf":1.4142135623730951},"176":{"tf":1.4142135623730951},"185":{"tf":4.898979485566356},"186":{"tf":2.23606797749979},"187":{"tf":1.4142135623730951},"188":{"tf":1.4142135623730951},"207":{"tf":2.8284271247461903},"208":{"tf":1.4142135623730951},"210":{"tf":1.0},"211":{"tf":1.7320508075688772},"213":{"tf":1.0},"233":{"tf":1.4142135623730951},"236":{"tf":1.0},"239":{"tf":1.0},"251":{"tf":2.23606797749979},"268":{"tf":1.4142135623730951},"269":{"tf":1.4142135623730951},"278":{"tf":1.4142135623730951},"279":{"tf":1.7320508075688772},"287":{"tf":1.4142135623730951},"288":{"tf":1.4142135623730951},"289":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951},"44":{"tf":2.449489742783178},"54":{"tf":1.0},"59":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"76":{"tf":2.23606797749979},"83":{"tf":1.7320508075688772},"92":{"tf":2.0}}}}},"n":{")":{"$":{"df":0,"docs":{},",":{"$":{"df":0,"docs":{},"n":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}},"^":{"2":{"df":1,"docs":{"46":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"=":{"3":{"0":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},"5":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},">":{"df":0,"docs":{},"n":{"_":{"0":{"df":3,"docs":{"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"^":{"2":{"df":4,"docs":{"17":{"tf":1.0},"66":{"tf":1.0},"75":{"tf":1.4142135623730951},"99":{"tf":1.0}}},"df":0,"docs":{}},"_":{"0":{"df":3,"docs":{"17":{"tf":1.7320508075688772},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":3,"docs":{"151":{"tf":1.0},"289":{"tf":1.4142135623730951},"290":{"tf":1.0}}}},"n":{"df":1,"docs":{"256":{"tf":1.4142135623730951}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"107":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"121":{"tf":1.0}}}}},"ï":{"df":0,"docs":{},"v":{"df":7,"docs":{"100":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0},"48":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.4142135623730951},"73":{"tf":1.0}}}}},"c":{"df":1,"docs":{"13":{"tf":1.0}}},"df":62,"docs":{"100":{"tf":1.4142135623730951},"105":{"tf":2.0},"110":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"113":{"tf":1.7320508075688772},"114":{"tf":2.449489742783178},"115":{"tf":1.0},"123":{"tf":1.0},"127":{"tf":1.4142135623730951},"135":{"tf":1.0},"136":{"tf":1.7320508075688772},"137":{"tf":1.0},"139":{"tf":2.0},"140":{"tf":1.4142135623730951},"143":{"tf":1.0},"145":{"tf":1.0},"148":{"tf":1.4142135623730951},"149":{"tf":1.7320508075688772},"15":{"tf":2.0},"150":{"tf":1.0},"16":{"tf":2.0},"17":{"tf":2.23606797749979},"179":{"tf":1.4142135623730951},"18":{"tf":1.0},"189":{"tf":1.0},"19":{"tf":2.0},"20":{"tf":1.4142135623730951},"214":{"tf":1.4142135623730951},"221":{"tf":1.0},"228":{"tf":1.4142135623730951},"231":{"tf":1.0},"24":{"tf":1.4142135623730951},"241":{"tf":1.0},"242":{"tf":1.7320508075688772},"257":{"tf":1.0},"260":{"tf":1.0},"262":{"tf":2.23606797749979},"266":{"tf":1.0},"267":{"tf":1.4142135623730951},"269":{"tf":1.0},"27":{"tf":1.0},"270":{"tf":2.449489742783178},"272":{"tf":1.7320508075688772},"280":{"tf":1.0},"284":{"tf":1.4142135623730951},"290":{"tf":1.7320508075688772},"30":{"tf":3.1622776601683795},"43":{"tf":2.0},"46":{"tf":2.0},"47":{"tf":1.0},"58":{"tf":1.4142135623730951},"66":{"tf":2.0},"69":{"tf":1.0},"75":{"tf":2.23606797749979},"82":{"tf":1.7320508075688772},"88":{"tf":2.0},"89":{"tf":2.449489742783178},"90":{"tf":1.4142135623730951},"91":{"tf":1.0},"94":{"tf":1.4142135623730951},"98":{"tf":1.7320508075688772},"99":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"e":{"d":{"df":2,"docs":{"176":{"tf":1.0},"185":{"tf":1.0}}},"df":0,"docs":{}},"g":{"df":1,"docs":{"259":{"tf":1.0}}},"q":{"df":2,"docs":{"284":{"tf":1.4142135623730951},"287":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"234":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"99":{"tf":1.0}}}},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"84":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"264":{"tf":1.0}}}}},"w":{"(":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":2,"docs":{"267":{"tf":1.7320508075688772},"269":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"142":{"tf":1.0}}}}},"df":0,"docs":{}}},"_":{"c":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"76":{"tf":2.8284271247461903}}}}},"m":{"a":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"239":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":1,"docs":{"239":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"207":{"tf":1.0}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"k":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"251":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":1,"docs":{"251":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"176":{"tf":1.4142135623730951}}}}}},"df":13,"docs":{"142":{"tf":1.0},"143":{"tf":1.0},"166":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.0},"204":{"tf":1.0},"205":{"tf":1.0},"207":{"tf":1.4142135623730951},"235":{"tf":1.0},"236":{"tf":1.4142135623730951},"249":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"180":{"tf":1.0}}}}},"x":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"185":{"tf":2.0},"186":{"tf":1.0},"211":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"<":{"'":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{">":{"(":{"&":{"'":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":1,"docs":{"185":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"b":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":9,"docs":{"118":{"tf":1.0},"147":{"tf":1.0},"185":{"tf":1.7320508075688772},"202":{"tf":2.0},"206":{"tf":1.7320508075688772},"207":{"tf":2.0},"208":{"tf":2.8284271247461903},"210":{"tf":1.0},"211":{"tf":2.449489742783178}}}}},"g":{"df":1,"docs":{"284":{"tf":1.4142135623730951}}},"o":{"d":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"202":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{".":{"a":{"df":0,"docs":{},"s":{"_":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"211":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"210":{"tf":1.0}}}},"df":0,"docs":{}}},"df":4,"docs":{"202":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":2.449489742783178},"208":{"tf":1.4142135623730951}}}}}}},"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"202":{"tf":2.0},"211":{"tf":2.0}}}},"df":17,"docs":{"195":{"tf":1.4142135623730951},"196":{"tf":1.7320508075688772},"197":{"tf":3.1622776601683795},"198":{"tf":3.0},"200":{"tf":1.7320508075688772},"202":{"tf":2.449489742783178},"203":{"tf":1.7320508075688772},"207":{"tf":3.7416573867739413},"208":{"tf":2.8284271247461903},"210":{"tf":2.23606797749979},"211":{"tf":1.7320508075688772},"213":{"tf":1.4142135623730951},"215":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.4142135623730951},"89":{"tf":2.449489742783178},"92":{"tf":2.23606797749979}},"。":{"df":0,"docs":{},"但":{"df":0,"docs":{},"這":{"df":0,"docs":{},"樣":{"df":0,"docs":{},"編":{"df":0,"docs":{},"譯":{"df":0,"docs":{},"不":{"df":0,"docs":{},"會":{"df":0,"docs":{},"成":{"df":0,"docs":{},"功":{"df":0,"docs":{},",":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"202":{"tf":1.0}}}}}}}}}}}}}}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"251":{"tf":1.0}}}}},"df":0,"docs":{}}},"n":{"df":2,"docs":{"262":{"tf":1.4142135623730951},"92":{"tf":1.0}},"e":{"df":17,"docs":{"143":{"tf":1.0},"158":{"tf":1.0},"160":{"tf":1.0},"168":{"tf":1.0},"181":{"tf":1.4142135623730951},"182":{"tf":1.4142135623730951},"185":{"tf":2.0},"205":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.7320508075688772},"208":{"tf":1.0},"233":{"tf":1.0},"237":{"tf":1.0},"238":{"tf":1.7320508075688772},"25":{"tf":1.0},"256":{"tf":1.4142135623730951},"279":{"tf":2.23606797749979}}},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}}}}},"t":{"a":{"df":0,"docs":{},"t":{"df":5,"docs":{"1":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0},"22":{"tf":1.4142135623730951},"270":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":5,"docs":{"185":{"tf":2.23606797749979},"240":{"tf":1.0},"251":{"tf":1.0},"62":{"tf":1.0},"89":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":7,"docs":{"195":{"tf":1.4142135623730951},"196":{"tf":1.0},"197":{"tf":1.7320508075688772},"198":{"tf":1.7320508075688772},"200":{"tf":1.0},"202":{"tf":1.7320508075688772},"230":{"tf":1.0}}}},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"137":{"tf":1.0},"148":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.0},"227":{"tf":1.0}}}}},"df":1,"docs":{"44":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}}}},"}":{"df":0,"docs":{},"{":{"2":{"^":{"df":0,"docs":{},"k":{"df":2,"docs":{"80":{"tf":1.0},"81":{"tf":1.0}}}},"df":1,"docs":{"80":{"tf":1.0}}},"4":{"df":1,"docs":{"80":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"$":{"df":0,"docs":{},":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"17":{"tf":1.0}}}}},"df":0,"docs":{}}},"(":{"(":{"\\":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"46":{"tf":1.0}}}}}},"df":0,"docs":{}},"1":{"df":24,"docs":{"100":{"tf":1.0},"161":{"tf":2.0},"171":{"tf":2.0},"189":{"tf":3.872983346207417},"207":{"tf":1.0},"214":{"tf":2.0},"217":{"tf":1.0},"234":{"tf":1.0},"24":{"tf":1.4142135623730951},"241":{"tf":2.0},"242":{"tf":1.4142135623730951},"257":{"tf":1.7320508075688772},"259":{"tf":1.0},"270":{"tf":1.0},"280":{"tf":1.0},"30":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"58":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":1.0},"88":{"tf":1.0}}},"3":{"^":{"df":0,"docs":{},"{":{"df":0,"docs":{},"m":{"df":1,"docs":{"284":{"tf":1.0}}}}},"df":0,"docs":{}},"\\":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"89":{"tf":1.0}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"_":{"2":{"df":1,"docs":{"30":{"tf":1.0}}},"df":0,"docs":{}},"df":15,"docs":{"100":{"tf":1.0},"105":{"tf":1.4142135623730951},"115":{"tf":1.0},"143":{"tf":1.0},"20":{"tf":1.0},"221":{"tf":1.0},"27":{"tf":1.0},"30":{"tf":1.7320508075688772},"43":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"51":{"tf":1.4142135623730951},"53":{"tf":2.23606797749979},"89":{"tf":1.4142135623730951},"94":{"tf":1.0},"98":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"m":{",":{"df":0,"docs":{},"n":{"df":1,"docs":{"290":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"c":{"^":{"df":0,"docs":{},"n":{"df":1,"docs":{"20":{"tf":1.0}}}},"df":0,"docs":{}},"d":{"df":3,"docs":{"148":{"tf":1.0},"149":{"tf":1.4142135623730951},"150":{"tf":1.0}},"n":{"df":1,"docs":{"148":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":2.0}}}},"df":0,"docs":{}},"k":{"df":7,"docs":{"127":{"tf":1.0},"128":{"tf":1.4142135623730951},"139":{"tf":1.4142135623730951},"173":{"tf":1.0},"270":{"tf":1.7320508075688772},"273":{"tf":1.4142135623730951},"30":{"tf":1.0}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":2,"docs":{"52":{"tf":1.0},"53":{"tf":1.0}}}}},"m":{"df":1,"docs":{"270":{"tf":1.4142135623730951}},"n":{"df":1,"docs":{"290":{"tf":1.4142135623730951}}}},"n":{"+":{"df":0,"docs":{},"k":{"df":1,"docs":{"144":{"tf":1.0}}}},"^":{"2":{"df":16,"docs":{"106":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.4142135623730951},"17":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.7320508075688772},"61":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":2.0},"74":{"tf":1.4142135623730951},"75":{"tf":1.0},"76":{"tf":1.0},"82":{"tf":1.0},"94":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}},"3":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"df":42,"docs":{"100":{"tf":1.0},"110":{"tf":1.4142135623730951},"113":{"tf":2.0},"114":{"tf":1.0},"115":{"tf":1.4142135623730951},"123":{"tf":1.0},"126":{"tf":2.0},"127":{"tf":1.4142135623730951},"128":{"tf":1.4142135623730951},"137":{"tf":1.7320508075688772},"139":{"tf":2.8284271247461903},"140":{"tf":1.4142135623730951},"145":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.0},"151":{"tf":1.0},"17":{"tf":1.0},"171":{"tf":1.7320508075688772},"20":{"tf":1.4142135623730951},"207":{"tf":1.0},"21":{"tf":1.0},"214":{"tf":2.449489742783178},"24":{"tf":1.7320508075688772},"241":{"tf":2.0},"242":{"tf":1.4142135623730951},"243":{"tf":1.0},"257":{"tf":3.3166247903554},"280":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.4142135623730951},"46":{"tf":1.0},"58":{"tf":1.0},"69":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":1.7320508075688772},"88":{"tf":2.0},"89":{"tf":1.4142135623730951},"90":{"tf":1.0},"91":{"tf":1.0},"94":{"tf":1.0},"98":{"tf":1.7320508075688772},"99":{"tf":2.0}}}},"b":{"df":0,"docs":{},"j":{"df":1,"docs":{"25":{"tf":1.4142135623730951}},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"233":{"tf":1.0},"240":{"tf":1.7320508075688772},"265":{"tf":1.0}}}},"df":0,"docs":{}}}},"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"y":{"df":0,"docs":{},")":{"df":0,"docs":{},"。":{"c":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":1,"docs":{"275":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"r":{"df":2,"docs":{"124":{"tf":1.0},"125":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"b":{"df":2,"docs":{"46":{"tf":1.0},"47":{"tf":1.0}}},"df":0,"docs":{}}}},"df":9,"docs":{"10":{"tf":1.4142135623730951},"162":{"tf":1.0},"17":{"tf":1.7320508075688772},"18":{"tf":1.0},"180":{"tf":6.0},"19":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.4142135623730951},"46":{"tf":1.0}},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"276":{"tf":1.0}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":5,"docs":{"125":{"tf":1.0},"181":{"tf":1.4142135623730951},"182":{"tf":2.0},"187":{"tf":1.4142135623730951},"44":{"tf":2.0}}}}}}},"k":{"(":{"b":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":2,"docs":{"143":{"tf":1.0},"61":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}}}}}}}},"p":{"df":0,"docs":{},"o":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":4,"docs":{"207":{"tf":1.0},"213":{"tf":1.0},"32":{"tf":1.0},"44":{"tf":1.0}}},"l":{"d":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"180":{"tf":2.23606797749979}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"s":{"df":1,"docs":{"176":{"tf":1.0}}}},"df":1,"docs":{"176":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"df":1,"docs":{"176":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"a":{"$":{"df":0,"docs":{},":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"18":{"tf":1.0}}}}},"df":0,"docs":{}}},"(":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":0,"docs":{}},"n":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":3,"docs":{"18":{"tf":1.4142135623730951},"19":{"tf":1.0},"20":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}},"n":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"276":{"tf":1.0}}}},"df":4,"docs":{"175":{"tf":1.0},"211":{"tf":1.0},"238":{"tf":1.0},"81":{"tf":1.0}},"t":{"df":0,"docs":{},"o":{"df":1,"docs":{"175":{"tf":2.0}}}}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"296":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":4,"docs":{"230":{"tf":1.7320508075688772},"242":{"tf":1.0},"244":{"tf":1.0},"274":{"tf":1.7320508075688772}}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"{":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":2,"docs":{"284":{"tf":2.6457513110645907},"287":{"tf":1.7320508075688772}},"}":{"_":{"df":0,"docs":{},"{":{"a":{",":{"b":{"df":0,"docs":{},"}":{"(":{"df":0,"docs":{},"i":{",":{"df":0,"docs":{},"j":{"df":1,"docs":{"284":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"67":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":14,"docs":{"117":{"tf":1.0},"161":{"tf":1.0},"171":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.0},"179":{"tf":1.0},"189":{"tf":1.0},"214":{"tf":1.0},"241":{"tf":1.0},"254":{"tf":1.0},"255":{"tf":1.0},"257":{"tf":1.0},"268":{"tf":1.0},"270":{"tf":1.0}}}},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"275":{"tf":1.7320508075688772}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"266":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"r":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":3,"docs":{"210":{"tf":1.0},"267":{"tf":1.4142135623730951},"291":{"tf":1.0}},"i":{"df":0,"docs":{},"z":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},",":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},")":{"df":0,"docs":{},",":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"100":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{":":{":":{"a":{"df":0,"docs":{},"s":{"_":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.0}}}}}},"df":1,"docs":{"211":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"256":{"tf":1.0}}}}}}},"df":0,"docs":{}},"<":{"&":{"'":{"a":{"df":2,"docs":{"185":{"tf":1.7320508075688772},"211":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"t":{"df":4,"docs":{"160":{"tf":1.0},"170":{"tf":1.0},"181":{"tf":1.4142135623730951},"211":{"tf":1.0}}},"v":{"df":1,"docs":{"237":{"tf":1.4142135623730951}}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"202":{"tf":1.0},"203":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"256":{"tf":1.0}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":3,"docs":{"185":{"tf":2.23606797749979},"186":{"tf":1.0},"211":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"df":8,"docs":{"158":{"tf":1.0},"168":{"tf":1.0},"170":{"tf":1.0},"182":{"tf":1.4142135623730951},"202":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"211":{"tf":1.0}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"233":{"tf":1.0},"25":{"tf":1.4142135623730951}}}},"v":{"df":1,"docs":{"238":{"tf":1.4142135623730951}}}},"df":3,"docs":{"158":{"tf":1.0},"249":{"tf":1.4142135623730951},"256":{"tf":1.0}}}}}}},"r":{"d":{"df":2,"docs":{"143":{"tf":1.4142135623730951},"256":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":10,"docs":{"112":{"tf":1.0},"146":{"tf":1.0},"221":{"tf":1.0},"256":{"tf":2.0},"8":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.7320508075688772},"89":{"tf":2.449489742783178},"90":{"tf":1.0},"92":{"tf":2.0}},",":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"256":{"tf":1.0}}}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"136":{"tf":1.4142135623730951},"143":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"251":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"(":{"&":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"253":{"tf":1.0},"256":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"252":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"253":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"251":{"tf":1.4142135623730951}}}}},"|":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"251":{"tf":1.7320508075688772}}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"212":{"tf":1.0},"253":{"tf":1.0},"256":{"tf":1.4142135623730951}}}}}},"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"251":{"tf":2.23606797749979}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"255":{"tf":1.7320508075688772}}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"255":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}},"u":{"df":0,"docs":{},"t":{"df":7,"docs":{"118":{"tf":1.0},"185":{"tf":1.0},"187":{"tf":1.4142135623730951},"205":{"tf":1.0},"210":{"tf":1.0},"211":{"tf":1.0},"67":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":2,"docs":{"185":{"tf":1.7320508075688772},"251":{"tf":1.4142135623730951}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":6,"docs":{"124":{"tf":1.0},"125":{"tf":1.0},"130":{"tf":1.0},"132":{"tf":1.0},"187":{"tf":1.0},"255":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"84":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"210":{"tf":1.0},"34":{"tf":1.4142135623730951}}}}}},"l":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"180":{"tf":1.0}}}},"df":0,"docs":{},"o":{"a":{"d":{"df":2,"docs":{"254":{"tf":1.0},"255":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"180":{"tf":1.0}}}}}}}}}}}},"w":{"df":0,"docs":{},"n":{"df":2,"docs":{"237":{"tf":1.7320508075688772},"251":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":5,"docs":{"206":{"tf":1.0},"207":{"tf":1.0},"208":{"tf":1.4142135623730951},"210":{"tf":1.0},"251":{"tf":1.0}}}}}}}}}},"、":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"20":{"tf":1.0}}}}}}}}},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{".":{"0":{"df":1,"docs":{"212":{"tf":1.0}}},"1":{"df":1,"docs":{"212":{"tf":1.0}}},"df":0,"docs":{}},"df":3,"docs":{"234":{"tf":1.4142135623730951},"256":{"tf":1.0},"71":{"tf":1.0}}}},"n":{"df":0,"docs":{},"i":{"c":{"!":{"(":{"\"":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"279":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"238":{"tf":1.0}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"83":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"142":{"tf":1.0}},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"185":{"tf":1.0},"251":{"tf":1.0},"264":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":1,"docs":{"256":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"256":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":2,"docs":{"103":{"tf":1.0},"256":{"tf":1.0}}}},"t":{"df":5,"docs":{"119":{"tf":1.0},"291":{"tf":1.0},"44":{"tf":1.4142135623730951},"91":{"tf":1.0},"92":{"tf":1.7320508075688772}},"i":{"a":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":1,"docs":{"256":{"tf":1.0}}}}},"df":0,"docs":{}},"_":{"c":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"256":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"256":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":5,"docs":{"212":{"tf":1.0},"256":{"tf":2.0},"274":{"tf":1.0},"275":{"tf":1.0},"85":{"tf":1.0}},"e":{"df":0,"docs":{},"q":{"df":3,"docs":{"212":{"tf":2.23606797749979},"25":{"tf":1.7320508075688772},"256":{"tf":1.4142135623730951}},",":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":1,"docs":{"256":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"r":{"d":{":":{":":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"_":{"c":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"256":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":4,"docs":{"256":{"tf":1.7320508075688772},"32":{"tf":1.4142135623730951},"33":{"tf":1.0},"54":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"t":{"df":9,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"103":{"tf":1.4142135623730951},"105":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"96":{"tf":1.7320508075688772},"97":{"tf":1.4142135623730951},"99":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":5,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"105":{"tf":1.7320508075688772},"107":{"tf":1.0},"108":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"81":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"210":{"tf":1.0},"256":{"tf":1.0}}}}}}}},"d":{"df":0,"docs":{},"f":{"df":1,"docs":{"43":{"tf":1.0}}},"q":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}}}}}}}},"df":1,"docs":{"208":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"k":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"160":{"tf":1.0},"170":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"165":{"tf":1.0}}}},"r":{"df":2,"docs":{"271":{"tf":1.0},"275":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{":":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"260":{"tf":1.0},"276":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":1,"docs":{"119":{"tf":1.0}}}}}},"l":{"df":2,"docs":{"43":{"tf":1.0},"47":{"tf":1.0}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"200":{"tf":1.4142135623730951}}}}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"264":{"tf":1.0},"269":{"tf":1.0}}}},"df":3,"docs":{"264":{"tf":1.4142135623730951},"267":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"227":{"tf":1.4142135623730951}}}}}},"i":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"284":{"tf":1.0}}}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"e":{"df":9,"docs":{"103":{"tf":1.0},"117":{"tf":1.0},"119":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951},"63":{"tf":2.0},"64":{"tf":2.0},"67":{"tf":1.0},"85":{"tf":2.0},"92":{"tf":1.0}}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":11,"docs":{"102":{"tf":3.0},"103":{"tf":3.3166247903554},"104":{"tf":1.0},"105":{"tf":4.47213595499958},"106":{"tf":1.7320508075688772},"107":{"tf":2.8284271247461903},"108":{"tf":3.0},"95":{"tf":3.0},"96":{"tf":3.4641016151377544},"97":{"tf":4.123105625617661},"99":{"tf":2.23606797749979}},"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"106":{"tf":1.0}}}}}}}},")":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"106":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}},",":{"df":0,"docs":{},"i":{"df":1,"docs":{"97":{"tf":1.0}}}}}}}},"l":{"a":{"c":{"df":0,"docs":{},"e":{"df":2,"docs":{"128":{"tf":1.0},"143":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"o":{"df":2,"docs":{"207":{"tf":3.0},"61":{"tf":2.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":10,"docs":{"107":{"tf":1.0},"176":{"tf":1.0},"180":{"tf":1.0},"185":{"tf":1.0},"195":{"tf":1.0},"202":{"tf":1.0},"207":{"tf":1.0},"236":{"tf":1.0},"251":{"tf":1.0},"262":{"tf":1.0}},",":{"df":0,"docs":{},"但":{"df":0,"docs":{},"照":{"df":0,"docs":{},"鏈":{"df":0,"docs":{},"結":{"df":0,"docs":{},"串":{"df":0,"docs":{},"列":{"df":0,"docs":{},"的":{"df":0,"docs":{},"定":{"df":0,"docs":{},"義":{"df":0,"docs":{},",":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"202":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}},"p":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"158":{"tf":1.0}}}}}},"df":0,"docs":{}},"_":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"182":{"tf":1.0}}}}}},"df":0,"docs":{},"v":{"df":1,"docs":{"189":{"tf":1.0}}}},"df":3,"docs":{"178":{"tf":1.0},"182":{"tf":1.0},"184":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"182":{"tf":1.0},"206":{"tf":1.0}}}}}},"df":0,"docs":{},"v":{"df":1,"docs":{"189":{"tf":1.0}}}},"df":6,"docs":{"178":{"tf":1.0},"182":{"tf":1.0},"204":{"tf":1.0},"206":{"tf":1.0},"210":{"tf":1.4142135623730951},"211":{"tf":1.4142135623730951}}}}}}}},"df":7,"docs":{"155":{"tf":1.0},"158":{"tf":1.0},"160":{"tf":1.0},"161":{"tf":1.4142135623730951},"186":{"tf":1.0},"211":{"tf":1.0},"214":{"tf":1.4142135623730951}}},"s":{"_":{"df":1,"docs":{"207":{"tf":2.23606797749979}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"238":{"tf":1.0}}}}},"t":{"df":2,"docs":{"132":{"tf":1.0},"260":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"|":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"238":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},")":{"df":0,"docs":{},",":{"df":0,"docs":{},"但":{"df":0,"docs":{},"絕":{"df":0,"docs":{},"不":{"df":0,"docs":{},"會":{"df":0,"docs":{},"有":{"df":0,"docs":{},"假":{"df":0,"docs":{},"陰":{"df":0,"docs":{},"性":{"df":0,"docs":{},"(":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":1,"docs":{"259":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}},"p":{"df":1,"docs":{"47":{"tf":1.0}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"275":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}},"s":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"132":{"tf":2.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":5,"docs":{"124":{"tf":1.4142135623730951},"125":{"tf":4.242640687119285},"127":{"tf":1.0},"131":{"tf":2.23606797749979},"132":{"tf":2.0}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"214":{"tf":1.0}}},"df":0,"docs":{}}}},"v":{".":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"208":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":1,"docs":{"208":{"tf":2.8284271247461903}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":3,"docs":{"207":{"tf":1.0},"208":{"tf":1.4142135623730951},"210":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"287":{"tf":1.0}}}}},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"152":{"tf":1.0}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"df":1,"docs":{"186":{"tf":1.0}}}}}},"v":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"154":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"b":{"a":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"259":{"tf":1.0}}}}}}},"l":{"df":3,"docs":{"260":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":2,"docs":{"230":{"tf":2.449489742783178},"274":{"tf":1.7320508075688772}}}},"c":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"92":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"47":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"215":{"tf":1.0},"240":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"293":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"86":{"tf":1.0},"87":{"tf":1.7320508075688772},"89":{"tf":1.0}}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"d":{"df":0,"docs":{},"o":{"df":1,"docs":{"139":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"df":2,"docs":{"284":{"tf":1.0},"286":{"tf":1.0}},"r":{".":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"176":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}},":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"180":{"tf":1.0}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"180":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{":":{":":{"d":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{")":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"176":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"182":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"182":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":4,"docs":{"176":{"tf":2.449489742783178},"185":{"tf":1.7320508075688772},"188":{"tf":1.0},"230":{"tf":1.7320508075688772}}}},"u":{"b":{"df":66,"docs":{"102":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"130":{"tf":1.0},"132":{"tf":1.0},"142":{"tf":1.0},"143":{"tf":1.4142135623730951},"151":{"tf":1.0},"154":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.0},"164":{"tf":1.0},"166":{"tf":1.0},"167":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":1.0},"176":{"tf":1.4142135623730951},"177":{"tf":1.4142135623730951},"179":{"tf":1.0},"181":{"tf":2.0},"182":{"tf":2.0},"185":{"tf":1.4142135623730951},"186":{"tf":1.0},"203":{"tf":1.0},"205":{"tf":1.0},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"208":{"tf":1.0},"211":{"tf":2.449489742783178},"234":{"tf":1.4142135623730951},"236":{"tf":1.4142135623730951},"237":{"tf":1.4142135623730951},"238":{"tf":1.4142135623730951},"240":{"tf":1.0},"247":{"tf":1.0},"249":{"tf":2.449489742783178},"25":{"tf":1.4142135623730951},"251":{"tf":2.449489742783178},"252":{"tf":2.0},"253":{"tf":1.7320508075688772},"262":{"tf":1.7320508075688772},"263":{"tf":1.0},"264":{"tf":2.0},"265":{"tf":1.4142135623730951},"267":{"tf":1.7320508075688772},"268":{"tf":1.0},"269":{"tf":2.23606797749979},"278":{"tf":1.4142135623730951},"279":{"tf":1.0},"286":{"tf":1.4142135623730951},"287":{"tf":1.0},"289":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"44":{"tf":1.4142135623730951},"54":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0},"76":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"92":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"199":{"tf":1.0},"258":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"293":{"tf":1.0},"294":{"tf":1.0}}}},"s":{"df":0,"docs":{},"h":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"157":{"tf":1.0}}}}}},"df":0,"docs":{}},"_":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"182":{"tf":1.0}}}}}},"df":0,"docs":{},"v":{"df":1,"docs":{"189":{"tf":1.0}}}},"df":4,"docs":{"178":{"tf":1.0},"179":{"tf":2.0},"180":{"tf":1.4142135623730951},"182":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"182":{"tf":1.0},"206":{"tf":1.0}}}}}},"df":0,"docs":{},"v":{"df":1,"docs":{"189":{"tf":1.0}}}},"df":5,"docs":{"178":{"tf":1.0},"179":{"tf":1.4142135623730951},"182":{"tf":1.0},"204":{"tf":1.0},"206":{"tf":1.0}}}}}}}},"df":7,"docs":{"143":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"159":{"tf":1.0},"161":{"tf":1.4142135623730951},"239":{"tf":1.0}}}},"t":{"df":1,"docs":{"142":{"tf":1.0}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"216":{"tf":1.0},"254":{"tf":1.4142135623730951},"256":{"tf":1.0},"258":{"tf":1.0},"61":{"tf":1.7320508075688772}}}}}}}},"q":{"df":3,"docs":{"237":{"tf":2.0},"238":{"tf":2.0},"249":{"tf":2.0}},"u":{"a":{"d":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"230":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"71":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"266":{"tf":1.0}}}}},"df":0,"docs":{},"(":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"q":{"df":1,"docs":{"266":{"tf":1.0}}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"164":{"tf":1.0}}}},"df":4,"docs":{"163":{"tf":1.4142135623730951},"172":{"tf":1.0},"173":{"tf":1.0},"6":{"tf":1.0}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"p":{"df":1,"docs":{"102":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":2,"docs":{"102":{"tf":2.0},"105":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"o":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"105":{"tf":2.23606797749979}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"d":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"105":{"tf":2.23606797749979}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"102":{"tf":1.0}}}}},"df":0,"docs":{}},"df":1,"docs":{"102":{"tf":1.0}}}}}}}}},"df":15,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"104":{"tf":1.0},"105":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.7320508075688772},"21":{"tf":1.0},"4":{"tf":1.0},"56":{"tf":1.0},"94":{"tf":2.0},"95":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.7320508075688772},"99":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"274":{"tf":2.449489742783178},"275":{"tf":1.4142135623730951}}}}}}}}}},"r":{"a":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"151":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":8,"docs":{"145":{"tf":2.6457513110645907},"146":{"tf":2.23606797749979},"147":{"tf":1.4142135623730951},"149":{"tf":2.23606797749979},"150":{"tf":1.4142135623730951},"151":{"tf":2.8284271247461903},"152":{"tf":1.4142135623730951},"4":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"i":{"df":1,"docs":{"205":{"tf":1.0}}}},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"192":{"tf":1.0},"242":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{")":{".":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":2,"docs":{"267":{"tf":1.4142135623730951},"269":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"267":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"g":{"df":3,"docs":{"117":{"tf":1.0},"136":{"tf":1.4142135623730951},"67":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"67":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":1,"docs":{"273":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{":":{":":{"c":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"179":{"tf":1.0}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"176":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"180":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"177":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{"df":4,"docs":{"176":{"tf":2.0},"177":{"tf":1.0},"179":{"tf":1.0},"188":{"tf":1.0}}}},"df":6,"docs":{"176":{"tf":2.8284271247461903},"177":{"tf":1.0},"180":{"tf":1.0},"184":{"tf":1.4142135623730951},"188":{"tf":1.0},"190":{"tf":1.0}}},"df":0,"docs":{}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"114":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"89":{"tf":1.0}}}}}},"df":4,"docs":{"109":{"tf":1.0},"244":{"tf":1.0},"273":{"tf":1.0},"33":{"tf":1.0}},"e":{"a":{"d":{"/":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":2,"docs":{"263":{"tf":1.0},"264":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"c":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{".":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":2,"docs":{"176":{"tf":1.7320508075688772},"239":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":1,"docs":{"164":{"tf":1.0}}}},"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":5,"docs":{"102":{"tf":1.4142135623730951},"112":{"tf":1.0},"202":{"tf":1.0},"210":{"tf":1.0},"273":{"tf":1.0}}}}}},"df":1,"docs":{"207":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":9,"docs":{"157":{"tf":1.0},"167":{"tf":1.0},"185":{"tf":1.0},"208":{"tf":1.0},"211":{"tf":1.4142135623730951},"237":{"tf":1.0},"240":{"tf":1.0},"264":{"tf":1.0},"278":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"256":{"tf":1.0}}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"176":{"tf":1.0},"181":{"tf":1.4142135623730951},"182":{"tf":2.0},"184":{"tf":1.0},"187":{"tf":1.4142135623730951}}}}}},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":2,"docs":{"239":{"tf":1.0},"274":{"tf":1.0}}}}},"df":0,"docs":{}},"l":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"256":{"tf":2.0}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"176":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":6,"docs":{"204":{"tf":1.0},"207":{"tf":1.0},"214":{"tf":1.0},"235":{"tf":1.0},"249":{"tf":1.4142135623730951},"264":{"tf":1.0}},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"207":{"tf":1.0}}}}}},"df":0,"docs":{},"k":{"df":1,"docs":{"241":{"tf":1.0}}},"v":{"df":1,"docs":{"257":{"tf":1.0}}}},"<":{"df":0,"docs":{},"q":{">":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"238":{"tf":1.0},"249":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"146":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"l":{"a":{"c":{"df":1,"docs":{"176":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"215":{"tf":1.0}}}}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"293":{"tf":1.0},"294":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"r":{"df":4,"docs":{"185":{"tf":1.4142135623730951},"211":{"tf":1.4142135623730951},"255":{"tf":1.0},"256":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"119":{"tf":1.0}}}},"i":{"df":0,"docs":{},"z":{"df":4,"docs":{"180":{"tf":1.4142135623730951},"236":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"112":{"tf":1.0}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":5,"docs":{"32":{"tf":1.0},"33":{"tf":1.0},"44":{"tf":1.4142135623730951},"54":{"tf":1.0},"61":{"tf":1.0}}}}},"df":5,"docs":{"117":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"119":{"tf":1.0},"207":{"tf":1.0},"44":{"tf":1.7320508075688772}}}}}},"t":{"[":{"df":0,"docs":{},"i":{".":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":1,"docs":{"118":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{".":{".":{"]":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"(":{"&":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"1":{"[":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"119":{"tf":1.0}}}}}}},"df":0,"docs":{}},"2":{"[":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"119":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"119":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"df":4,"docs":{"117":{"tf":2.0},"118":{"tf":1.4142135623730951},"119":{"tf":2.449489742783178},"143":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":25,"docs":{"103":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"117":{"tf":1.0},"119":{"tf":1.0},"157":{"tf":1.4142135623730951},"176":{"tf":1.4142135623730951},"181":{"tf":1.4142135623730951},"182":{"tf":1.4142135623730951},"185":{"tf":2.0},"207":{"tf":1.4142135623730951},"212":{"tf":1.0},"233":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.0},"25":{"tf":1.0},"251":{"tf":1.7320508075688772},"253":{"tf":1.0},"256":{"tf":1.0},"286":{"tf":1.4142135623730951},"287":{"tf":1.4142135623730951},"289":{"tf":1.4142135623730951},"33":{"tf":1.0},"44":{"tf":1.7320508075688772},"54":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"215":{"tf":1.0}},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"208":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{},":":{"df":0,"docs":{},"反":{"df":0,"docs":{},"轉":{"df":0,"docs":{},"整":{"df":0,"docs":{},"個":{"df":0,"docs":{},"串":{"df":0,"docs":{},"列":{"df":0,"docs":{},"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"204":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}}}}}},"f":{"c":{"df":2,"docs":{"240":{"tf":1.0},"251":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":6,"docs":{"114":{"tf":1.4142135623730951},"30":{"tf":1.0},"42":{"tf":1.7320508075688772},"80":{"tf":1.7320508075688772},"81":{"tf":1.0},"89":{"tf":1.0}}}}}}},"h":{"df":1,"docs":{"255":{"tf":1.0}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"30":{"tf":1.7320508075688772}}}}}}},"df":3,"docs":{"119":{"tf":2.23606797749979},"278":{"tf":1.4142135623730951},"92":{"tf":1.0}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"108":{"tf":1.0},"147":{"tf":1.0},"34":{"tf":1.0}}}}}}}}},"n":{"df":0,"docs":{},"g":{"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"f":{"df":3,"docs":{"177":{"tf":1.4142135623730951},"180":{"tf":1.0},"185":{"tf":2.449489742783178}}}}},"df":0,"docs":{}},"df":2,"docs":{"175":{"tf":1.0},"180":{"tf":1.0}}}}},"o":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"231":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"h":{"df":1,"docs":{"93":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"t":{"df":3,"docs":{"86":{"tf":1.0},"87":{"tf":2.6457513110645907},"92":{"tf":3.3166247903554}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"b":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{":":{":":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"259":{"tf":1.0}}}}}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"173":{"tf":1.0}}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"226":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"245":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":1,"docs":{"163":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"200":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}}}},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"153":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"277":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":1,"docs":{"277":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"n":{"a":{"df":1,"docs":{"282":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":1,"docs":{"282":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"256":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"c":{"df":1,"docs":{"185":{"tf":1.0}}},"df":55,"docs":{"0":{"tf":2.23606797749979},"105":{"tf":1.4142135623730951},"108":{"tf":1.0},"117":{"tf":1.0},"131":{"tf":1.0},"143":{"tf":1.4142135623730951},"144":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"164":{"tf":1.0},"167":{"tf":1.0},"176":{"tf":2.0},"181":{"tf":1.4142135623730951},"183":{"tf":1.4142135623730951},"185":{"tf":2.0},"186":{"tf":1.0},"187":{"tf":1.4142135623730951},"190":{"tf":1.4142135623730951},"193":{"tf":1.0},"202":{"tf":1.0},"205":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":1.4142135623730951},"211":{"tf":1.0},"212":{"tf":1.0},"215":{"tf":2.0},"216":{"tf":1.0},"225":{"tf":1.0},"231":{"tf":1.0},"232":{"tf":1.0},"233":{"tf":2.0},"236":{"tf":1.0},"237":{"tf":1.0},"240":{"tf":2.449489742783178},"244":{"tf":1.0},"248":{"tf":1.7320508075688772},"25":{"tf":1.0},"251":{"tf":2.23606797749979},"253":{"tf":1.0},"254":{"tf":1.0},"255":{"tf":1.0},"256":{"tf":1.7320508075688772},"258":{"tf":1.0},"262":{"tf":1.0},"264":{"tf":1.4142135623730951},"267":{"tf":1.0},"278":{"tf":1.7320508075688772},"287":{"tf":1.0},"288":{"tf":1.0},"291":{"tf":1.4142135623730951},"292":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"32":{"tf":1.0},"44":{"tf":1.7320508075688772}},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{"df":1,"docs":{"294":{"tf":1.0}}}}}}}}},"s":{"a":{"df":15,"docs":{"122":{"tf":1.0},"13":{"tf":1.0},"190":{"tf":1.0},"212":{"tf":1.7320508075688772},"225":{"tf":1.0},"244":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.4142135623730951},"62":{"tf":1.0},"64":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"77":{"tf":1.0},"93":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"df":5,"docs":{"176":{"tf":2.0},"180":{"tf":1.4142135623730951},"181":{"tf":1.4142135623730951},"182":{"tf":2.0},"187":{"tf":1.4142135623730951}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}}}}},"m":{"'":{"df":1,"docs":{"227":{"tf":1.0}}},"df":2,"docs":{"227":{"tf":3.0},"230":{"tf":1.4142135623730951}},"e":{"_":{"df":0,"docs":{},"s":{"df":1,"docs":{"256":{"tf":1.4142135623730951}}}},"df":3,"docs":{"260":{"tf":1.0},"276":{"tf":1.0},"279":{"tf":1.0}}}},"、":{"df":0,"docs":{},"s":{"b":{"df":0,"docs":{},",":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"、":{"df":0,"docs":{},"s":{"b":{"df":1,"docs":{"212":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"b":{"df":1,"docs":{"212":{"tf":2.0}}},"c":{"a":{"df":0,"docs":{},"l":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"273":{"tf":2.23606797749979}}}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":2,"docs":{"131":{"tf":1.4142135623730951},"132":{"tf":1.0}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"135":{"tf":1.0},"136":{"tf":1.0},"143":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":2,"docs":{"175":{"tf":2.23606797749979},"54":{"tf":1.0}}}}}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"291":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"e":{"df":5,"docs":{"103":{"tf":1.7320508075688772},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"96":{"tf":1.4142135623730951},"97":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":2,"docs":{"47":{"tf":1.0},"84":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":2,"docs":{"205":{"tf":1.0},"210":{"tf":1.0}},",":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"210":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"258":{"tf":1.0}}}}}}}}}}}},"df":3,"docs":{"273":{"tf":1.7320508075688772},"284":{"tf":1.0},"285":{"tf":1.7320508075688772}},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"241":{"tf":1.0}}}},"df":17,"docs":{"117":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"3":{"tf":2.0},"36":{"tf":2.0},"37":{"tf":1.7320508075688772},"39":{"tf":1.0},"40":{"tf":1.4142135623730951},"43":{"tf":1.0},"46":{"tf":1.7320508075688772},"47":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"61":{"tf":1.0}},"—":{"a":{"df":2,"docs":{"43":{"tf":1.0},"47":{"tf":1.0}}},"df":0,"docs":{}},",":{"df":0,"docs":{},"又":{"df":0,"docs":{},"稱":{"df":0,"docs":{},"對":{"df":0,"docs":{},"數":{"df":0,"docs":{},"搜":{"df":0,"docs":{},"尋":{"df":0,"docs":{},"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"df":1,"docs":{"27":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}}}}}}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"109":{"tf":1.0},"244":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":10,"docs":{"4":{"tf":1.0},"56":{"tf":1.0},"63":{"tf":1.7320508075688772},"64":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951},"87":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"67":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"66":{"tf":1.0}}}}}},"df":0,"docs":{}},"f":{".":{"0":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"186":{"tf":1.0},"211":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}},"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"n":{"d":{".":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"233":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"237":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"239":{"tf":1.0}}}}}},"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"239":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"238":{"tf":1.0}},"s":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{")":{".":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"|":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"237":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{")":{".":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"|":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"238":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"240":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"239":{"tf":1.0},"240":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"239":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"c":{"a":{"df":0,"docs":{},"p":{"df":4,"docs":{"176":{"tf":1.7320508075688772},"179":{"tf":1.7320508075688772},"180":{"tf":1.4142135623730951},"181":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"251":{"tf":2.23606797749979}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{")":{".":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"252":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"249":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"249":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"249":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"|":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"251":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"249":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"249":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"249":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"[":{"0":{"]":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"]":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"e":{"a":{"d":{".":{"a":{"df":0,"docs":{},"s":{"_":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"211":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"k":{"df":3,"docs":{"206":{"tf":1.4142135623730951},"208":{"tf":1.0},"210":{"tf":1.0}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"181":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":6,"docs":{"180":{"tf":1.7320508075688772},"182":{"tf":1.7320508075688772},"185":{"tf":1.7320508075688772},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"208":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"253":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"181":{"tf":1.4142135623730951},"182":{"tf":1.4142135623730951}}}}}}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"180":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"256":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"256":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"t":{"df":2,"docs":{"186":{"tf":1.0},"213":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"170":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"168":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"160":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"157":{"tf":1.0},"159":{"tf":1.0},"169":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"158":{"tf":1.0}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"157":{"tf":1.0},"167":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"r":{"(":{")":{".":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"253":{"tf":1.0},"256":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"252":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"251":{"tf":2.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"252":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}}}},"z":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{")":{".":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"212":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"186":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":8,"docs":{"180":{"tf":1.0},"181":{"tf":1.0},"187":{"tf":1.4142135623730951},"212":{"tf":1.0},"238":{"tf":1.7320508075688772},"239":{"tf":1.7320508075688772},"253":{"tf":1.0},"256":{"tf":1.4142135623730951}}}}},"m":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.7320508075688772}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"237":{"tf":1.0}}}}},"q":{"df":2,"docs":{"237":{"tf":1.0},"238":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"x":{"df":0,"docs":{},"s":{"df":1,"docs":{"157":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.4142135623730951}}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"_":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"184":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"210":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"r":{"(":{")":{".":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{")":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"182":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"187":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"l":{"d":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"180":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{")":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"182":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"176":{"tf":1.0},"180":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"f":{".":{"c":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"179":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"185":{"tf":2.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"185":{"tf":1.7320508075688772}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"180":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"185":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"180":{"tf":1.0},"182":{"tf":1.7320508075688772},"185":{"tf":3.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"182":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":1,"docs":{"238":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"&":{"df":0,"docs":{},"r":{"df":0,"docs":{},"h":{"df":0,"docs":{},"s":{")":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"d":{"(":{")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"255":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"182":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"182":{"tf":1.0},"187":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":2,"docs":{"181":{"tf":1.0},"182":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"182":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"186":{"tf":1.7320508075688772},"211":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":2,"docs":{"267":{"tf":1.4142135623730951},"269":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"r":{"df":2,"docs":{"267":{"tf":1.4142135623730951},"269":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"187":{"tf":1.0},"255":{"tf":1.0}}}}}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"(":{"1":{"df":1,"docs":{"176":{"tf":1.0}}},"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"239":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":33,"docs":{"156":{"tf":1.4142135623730951},"157":{"tf":1.0},"158":{"tf":1.0},"166":{"tf":1.4142135623730951},"167":{"tf":1.0},"168":{"tf":1.0},"176":{"tf":2.449489742783178},"177":{"tf":1.4142135623730951},"180":{"tf":1.0},"182":{"tf":2.0},"184":{"tf":1.0},"185":{"tf":3.4641016151377544},"186":{"tf":1.0},"187":{"tf":1.0},"205":{"tf":1.7320508075688772},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"208":{"tf":1.0},"210":{"tf":1.4142135623730951},"211":{"tf":2.0},"212":{"tf":1.0},"236":{"tf":2.23606797749979},"238":{"tf":1.7320508075688772},"239":{"tf":1.7320508075688772},"249":{"tf":1.4142135623730951},"251":{"tf":4.795831523312719},"252":{"tf":3.1622776601683795},"253":{"tf":2.6457513110645907},"255":{"tf":1.0},"256":{"tf":1.4142135623730951},"267":{"tf":2.0},"268":{"tf":1.0},"269":{"tf":1.7320508075688772}},"、":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"251":{"tf":1.0}}}}}},"(":{"&":{"'":{"a":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"197":{"tf":1.0}},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"197":{"tf":2.449489742783178}}}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":5,"docs":{"230":{"tf":2.0},"234":{"tf":1.4142135623730951},"242":{"tf":1.0},"243":{"tf":1.0},"274":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":8,"docs":{"230":{"tf":1.0},"44":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.4142135623730951},"80":{"tf":2.0},"81":{"tf":1.0},"82":{"tf":2.0},"83":{"tf":2.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"23":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"80":{"tf":1.0}}},"df":0,"docs":{}}}}},"t":{"df":9,"docs":{"223":{"tf":1.4142135623730951},"245":{"tf":1.0},"248":{"tf":1.0},"250":{"tf":1.0},"251":{"tf":1.4142135623730951},"255":{"tf":2.8284271247461903},"256":{"tf":1.0},"258":{"tf":1.4142135623730951},"8":{"tf":1.0}},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"44":{"tf":1.0}}}}}},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"200":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"162":{"tf":1.0},"20":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"83":{"tf":1.0}}}}},"df":0,"docs":{}},"df":8,"docs":{"4":{"tf":1.0},"78":{"tf":1.7320508075688772},"79":{"tf":1.0},"80":{"tf":1.4142135623730951},"81":{"tf":1.4142135623730951},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.7320508075688772}}}}}}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":2,"docs":{"278":{"tf":1.4142135623730951},"54":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"231":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"i":{"df":1,"docs":{"285":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"t":{"_":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"92":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"df":2,"docs":{"89":{"tf":1.4142135623730951},"92":{"tf":2.8284271247461903}}}}}},"df":0,"docs":{}},"df":4,"docs":{"87":{"tf":1.7320508075688772},"89":{"tf":1.7320508075688772},"90":{"tf":1.7320508075688772},"92":{"tf":1.0}}}},"g":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"130":{"tf":1.4142135623730951},"143":{"tf":1.0},"32":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},")":{"df":0,"docs":{},"則":{"df":0,"docs":{},"是":{"df":0,"docs":{},"算":{"df":0,"docs":{},"術":{"df":0,"docs":{},"右":{"df":0,"docs":{},"移":{"df":0,"docs":{},"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"278":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"146":{"tf":1.4142135623730951},"278":{"tf":1.0}}},"df":0,"docs":{}}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":6,"docs":{"171":{"tf":1.0},"198":{"tf":1.0},"199":{"tf":1.0},"200":{"tf":1.0},"215":{"tf":1.0},"7":{"tf":1.0}}},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{"df":6,"docs":{"203":{"tf":1.0},"205":{"tf":1.0},"210":{"tf":1.4142135623730951},"211":{"tf":1.4142135623730951},"212":{"tf":1.0},"213":{"tf":1.0}}}},"df":5,"docs":{"203":{"tf":1.0},"206":{"tf":1.0},"209":{"tf":1.0},"211":{"tf":2.0},"212":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}},"k":{"df":1,"docs":{"71":{"tf":1.0}}}},"t":{"df":2,"docs":{"284":{"tf":1.4142135623730951},"285":{"tf":1.4142135623730951}}},"z":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"159":{"tf":1.0},"169":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":17,"docs":{"155":{"tf":1.0},"159":{"tf":1.0},"165":{"tf":1.0},"176":{"tf":1.4142135623730951},"179":{"tf":1.4142135623730951},"233":{"tf":2.449489742783178},"237":{"tf":1.0},"238":{"tf":1.0},"248":{"tf":1.0},"249":{"tf":1.4142135623730951},"259":{"tf":1.0},"262":{"tf":2.0},"264":{"tf":1.0},"265":{"tf":2.0},"269":{"tf":1.4142135623730951},"33":{"tf":3.0},"54":{"tf":2.0}}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"81":{"tf":1.7320508075688772}}}}},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"185":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"170":{"tf":1.0}}}}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}}},"df":1,"docs":{"185":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":8,"docs":{"117":{"tf":1.4142135623730951},"185":{"tf":1.0},"233":{"tf":1.0},"262":{"tf":1.4142135623730951},"265":{"tf":1.0},"32":{"tf":1.0},"54":{"tf":2.0},"61":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"t":{"df":3,"docs":{"227":{"tf":1.4142135623730951},"230":{"tf":2.449489742783178},"274":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"107":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":5,"docs":{"264":{"tf":1.0},"265":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.4142135623730951},"288":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"185":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"(":{"&":{"'":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":1,"docs":{"185":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"*":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"(":{")":{".":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"181":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"181":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"211":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"(":{"_":{"df":1,"docs":{"238":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":1,"docs":{"238":{"tf":1.0}}}},"*":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}}},"_":{"df":2,"docs":{"184":{"tf":1.0},"279":{"tf":1.4142135623730951}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"206":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"c":{"1":{"df":1,"docs":{"279":{"tf":1.0}}},"2":{"df":1,"docs":{"279":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"233":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"a":{"d":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"206":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"25":{"tf":1.0}}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"v":{"df":1,"docs":{"238":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"207":{"tf":1.0},"208":{"tf":1.0},"210":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"207":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"o":{"d":{"df":2,"docs":{"207":{"tf":1.4142135623730951},"208":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"207":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"256":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"256":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{")":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"|":{"_":{"df":1,"docs":{"256":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"256":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"0":{"df":1,"docs":{"168":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"(":{")":{".":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"182":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"182":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":2,"docs":{"174":{"tf":1.0},"177":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"296":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"t":{"/":{"b":{"df":0,"docs":{},"u":{"b":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"56":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":56,"docs":{"122":{"tf":1.4142135623730951},"123":{"tf":2.0},"125":{"tf":1.0},"127":{"tf":1.4142135623730951},"128":{"tf":1.4142135623730951},"129":{"tf":1.4142135623730951},"130":{"tf":1.0},"133":{"tf":1.4142135623730951},"134":{"tf":2.23606797749979},"135":{"tf":1.0},"136":{"tf":2.8284271247461903},"138":{"tf":2.0},"140":{"tf":1.0},"142":{"tf":1.4142135623730951},"143":{"tf":2.23606797749979},"144":{"tf":1.7320508075688772},"145":{"tf":3.7416573867739413},"146":{"tf":2.6457513110645907},"147":{"tf":3.0},"149":{"tf":3.0},"150":{"tf":2.0},"151":{"tf":2.8284271247461903},"152":{"tf":1.4142135623730951},"20":{"tf":1.0},"38":{"tf":1.7320508075688772},"4":{"tf":2.449489742783178},"46":{"tf":1.0},"47":{"tf":1.0},"56":{"tf":2.0},"57":{"tf":1.0},"58":{"tf":1.4142135623730951},"61":{"tf":2.8284271247461903},"62":{"tf":1.4142135623730951},"63":{"tf":2.23606797749979},"64":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"69":{"tf":1.0},"70":{"tf":1.7320508075688772},"71":{"tf":2.23606797749979},"73":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"77":{"tf":1.4142135623730951},"78":{"tf":1.7320508075688772},"79":{"tf":1.4142135623730951},"81":{"tf":3.7416573867739413},"82":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":2.23606797749979},"87":{"tf":1.7320508075688772},"90":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.4142135623730951},"93":{"tf":1.0},"94":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"151":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"。":{"b":{"df":0,"docs":{},"u":{"b":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"71":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}}}}}}},",":{"df":0,"docs":{},"但":{"df":0,"docs":{},"前":{"df":0,"docs":{},"一":{"df":0,"docs":{},"次":{"df":0,"docs":{},"結":{"df":0,"docs":{},"果":{"df":0,"docs":{},"已":{"df":0,"docs":{},"經":{"df":0,"docs":{},"很":{"df":0,"docs":{},"接":{"df":0,"docs":{},"近":{"df":0,"docs":{},"排":{"df":0,"docs":{},"序":{"df":0,"docs":{},"完":{"df":0,"docs":{},"成":{"df":0,"docs":{},",":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"81":{"tf":1.0}}}}}}}}}}}}}}}}}}}}}}}},"此":{"df":0,"docs":{},"時":{"df":0,"docs":{},"大":{"df":0,"docs":{},"部":{"df":0,"docs":{},"分":{"df":0,"docs":{},"元":{"df":0,"docs":{},"素":{"df":0,"docs":{},"皆":{"df":0,"docs":{},"排":{"df":0,"docs":{},"序":{"df":0,"docs":{},"完":{"df":0,"docs":{},"成":{"df":0,"docs":{},",":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}}}}}}}}}}}}}}}}}}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":4,"docs":{"274":{"tf":1.0},"275":{"tf":1.0},"278":{"tf":1.4142135623730951},"279":{"tf":1.7320508075688772}},"e":{".":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"279":{"tf":1.0}},"s":{"(":{")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"287":{"tf":1.4142135623730951},"289":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"286":{"tf":1.0},"287":{"tf":1.0},"289":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"286":{"tf":1.0},"287":{"tf":1.0},"289":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"279":{"tf":1.0}}}}}}},"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"287":{"tf":2.0},"288":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"p":{"a":{"c":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"276":{"tf":1.0}}}}}},"df":23,"docs":{"100":{"tf":1.0},"113":{"tf":1.0},"115":{"tf":1.0},"126":{"tf":1.0},"128":{"tf":1.0},"137":{"tf":1.0},"140":{"tf":1.0},"148":{"tf":1.0},"150":{"tf":1.0},"214":{"tf":1.0},"24":{"tf":1.0},"290":{"tf":1.4142135623730951},"30":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"51":{"tf":1.0},"58":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":1.0},"88":{"tf":1.0},"98":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"112":{"tf":1.4142135623730951},"117":{"tf":1.0},"118":{"tf":1.0},"193":{"tf":1.0}}}}}},"r":{"c":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"/":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"3":{"4":{"4":{":":{"6":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{":":{"1":{"2":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"5":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"3":{":":{"2":{"3":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"9":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"/":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"2":{"5":{"3":{":":{"9":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"1":{"7":{":":{"4":{"8":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{":":{"5":{"3":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{":":{"9":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"3":{":":{"2":{"4":{"df":1,"docs":{"264":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"7":{":":{"2":{"3":{"df":1,"docs":{"262":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{":":{"5":{"df":1,"docs":{"262":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":2,"docs":{"180":{"tf":1.0},"182":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"s":{"d":{"df":1,"docs":{"274":{"tf":1.0}}},"df":0,"docs":{}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"145":{"tf":1.0},"70":{"tf":1.0}}}},"c":{"df":0,"docs":{},"k":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"154":{"tf":1.0}}}},"df":9,"docs":{"100":{"tf":1.7320508075688772},"105":{"tf":1.7320508075688772},"115":{"tf":1.0},"153":{"tf":1.7320508075688772},"162":{"tf":1.0},"200":{"tf":1.0},"210":{"tf":2.23606797749979},"6":{"tf":1.0},"99":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"x":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"215":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"215":{"tf":1.0}}}}}}}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":7,"docs":{"118":{"tf":1.0},"124":{"tf":1.4142135623730951},"125":{"tf":1.4142135623730951},"132":{"tf":1.0},"211":{"tf":1.0},"34":{"tf":1.7320508075688772},"92":{"tf":3.0}}}},"t":{"df":0,"docs":{},"e":{"df":3,"docs":{"131":{"tf":1.4142135623730951},"132":{"tf":1.4142135623730951},"233":{"tf":1.0}}},"i":{"c":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":1,"docs":{"0":{"tf":1.0}}}}},"d":{":":{":":{"c":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"118":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"256":{"tf":1.0}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"264":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":3,"docs":{"263":{"tf":1.0},"264":{"tf":1.4142135623730951},"265":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"d":{"df":0,"docs":{},"t":{"df":1,"docs":{"225":{"tf":1.0}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{":":{":":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"184":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{},"f":{"3":{"2":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"267":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"4":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"267":{"tf":1.0}},"s":{":":{":":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"_":{"2":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"f":{"(":{"2":{"df":0,"docs":{},"f":{"6":{"4":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{":":{":":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"213":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":1,"docs":{"213":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"213":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{":":{":":{"df":0,"docs":{},"{":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"233":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"<":{"'":{"_":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"240":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"225":{"tf":1.0}}},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":2,"docs":{"264":{"tf":1.7320508075688772},"265":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"256":{"tf":1.0}}}},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"240":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"<":{"'":{"_":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"(":{"&":{"df":0,"docs":{},"k":{"df":1,"docs":{"240":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"c":{":":{":":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"240":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":1,"docs":{"164":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":2,"docs":{"267":{"tf":1.0},"291":{"tf":1.0}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":2,"docs":{"225":{"tf":1.0},"244":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"174":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":4,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"142":{"tf":1.0},"44":{"tf":1.0}}}}},"r":{":":{":":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"279":{"tf":1.4142135623730951},"287":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"287":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":6,"docs":{"237":{"tf":1.0},"264":{"tf":1.0},"279":{"tf":1.4142135623730951},"286":{"tf":2.0},"287":{"tf":1.4142135623730951},"289":{"tf":1.4142135623730951}},"e":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":5,"docs":{"233":{"tf":1.0},"237":{"tf":1.0},"264":{"tf":1.0},"265":{"tf":1.0},"286":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":22,"docs":{"142":{"tf":1.4142135623730951},"154":{"tf":1.0},"164":{"tf":1.0},"174":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.0},"185":{"tf":1.4142135623730951},"186":{"tf":1.0},"188":{"tf":1.0},"202":{"tf":1.7320508075688772},"203":{"tf":2.23606797749979},"210":{"tf":1.4142135623730951},"211":{"tf":3.1622776601683795},"233":{"tf":1.0},"234":{"tf":1.4142135623730951},"240":{"tf":1.4142135623730951},"247":{"tf":1.0},"262":{"tf":2.449489742783178},"263":{"tf":1.0},"264":{"tf":3.3166247903554},"265":{"tf":1.4142135623730951},"269":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"200":{"tf":1.0},"259":{"tf":1.0},"273":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"u":{"b":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"112":{"tf":1.4142135623730951},"97":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":3,"docs":{"287":{"tf":2.0},"289":{"tf":2.6457513110645907},"54":{"tf":1.7320508075688772}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"200":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"145":{"tf":1.0},"146":{"tf":1.4142135623730951},"149":{"tf":1.4142135623730951}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":2,"docs":{"118":{"tf":1.0},"81":{"tf":2.6457513110645907}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"282":{"tf":1.0},"289":{"tf":1.0}}}}}},"r":{"df":1,"docs":{"9":{"tf":1.0}},"e":{"df":1,"docs":{"92":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"179":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"89":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"176":{"tf":1.0},"264":{"tf":1.0}}}},"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"{":{"df":0,"docs":{},"i":{"=":{"0":{"df":0,"docs":{},"}":{"^":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"df":1,"docs":{"75":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"1":{"df":0,"docs":{},"}":{"^":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"df":1,"docs":{"66":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"99":{"tf":1.0}}}}},"df":6,"docs":{"124":{"tf":1.4142135623730951},"125":{"tf":4.358898943540674},"127":{"tf":1.0},"131":{"tf":2.23606797749979},"132":{"tf":2.0},"91":{"tf":1.0}}}},"v":{"df":0,"docs":{},"g":{"df":3,"docs":{"199":{"tf":1.0},"215":{"tf":1.0},"47":{"tf":1.4142135623730951}}}},"w":{"a":{"df":0,"docs":{},"p":{"'":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"92":{"tf":1.0}}}}},"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"238":{"tf":1.0}}}}}}}},"df":6,"docs":{"103":{"tf":1.4142135623730951},"107":{"tf":1.0},"108":{"tf":1.0},"76":{"tf":2.0},"87":{"tf":2.0},"97":{"tf":2.6457513110645907}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"8":{"df":3,"docs":{"62":{"tf":1.0},"72":{"tf":1.0},"77":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":2,"docs":{"0":{"tf":1.0},"109":{"tf":1.0}}}}}},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"256":{"tf":1.0},"257":{"tf":1.0}},"i":{"c":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"250":{"tf":1.0},"255":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"<":{"'":{"a":{">":{"(":{"&":{"'":{"a":{"df":1,"docs":{"252":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"47":{"tf":1.0}}}}}}}}}}},"t":{"(":{"\\":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"114":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"n":{"df":1,"docs":{"114":{"tf":1.7320508075688772}}}},">":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":3,"docs":{"130":{"tf":1.0},"132":{"tf":1.0},"143":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"]":{"df":0,"docs":{},"。":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}}}},"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"244":{"tf":1.4142135623730951}},"e":{"[":{"0":{"df":1,"docs":{"227":{"tf":1.0}}},"1":{"df":1,"docs":{"227":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"227":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":15,"docs":{"100":{"tf":1.0},"105":{"tf":1.0},"174":{"tf":1.0},"175":{"tf":3.3166247903554},"177":{"tf":1.4142135623730951},"179":{"tf":1.4142135623730951},"180":{"tf":2.0},"181":{"tf":1.4142135623730951},"182":{"tf":1.7320508075688772},"185":{"tf":3.1622776601683795},"189":{"tf":1.0},"196":{"tf":1.7320508075688772},"200":{"tf":1.0},"204":{"tf":1.0},"210":{"tf":1.4142135623730951}},"、":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"189":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"k":{"df":0,"docs":{},"e":{"df":5,"docs":{"206":{"tf":1.0},"207":{"tf":1.0},"208":{"tf":1.0},"210":{"tf":1.0},"251":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"105":{"tf":1.0}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}},"t":{")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"278":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"279":{"tf":1.0}},"s":{"(":{")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"287":{"tf":1.4142135623730951},"289":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"286":{"tf":1.0},"287":{"tf":1.0},"289":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"286":{"tf":1.0},"287":{"tf":1.0},"289":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"279":{"tf":1.0}}}}}}},"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"287":{"tf":2.0},"288":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"df":10,"docs":{"25":{"tf":1.4142135623730951},"278":{"tf":1.7320508075688772},"279":{"tf":2.0},"286":{"tf":1.4142135623730951},"287":{"tf":1.0},"289":{"tf":1.4142135623730951},"32":{"tf":1.0},"33":{"tf":2.0},"44":{"tf":4.123105625617661},"54":{"tf":1.7320508075688772}}}}}}},"c":{"df":0,"docs":{},"o":{"df":1,"docs":{"105":{"tf":2.0}}}},"df":33,"docs":{"130":{"tf":1.7320508075688772},"132":{"tf":1.4142135623730951},"142":{"tf":2.23606797749979},"143":{"tf":2.449489742783178},"151":{"tf":1.4142135623730951},"157":{"tf":1.0},"167":{"tf":1.0},"175":{"tf":3.0},"176":{"tf":1.7320508075688772},"179":{"tf":1.4142135623730951},"180":{"tf":2.449489742783178},"182":{"tf":1.4142135623730951},"185":{"tf":5.744562646538029},"186":{"tf":3.1622776601683795},"187":{"tf":1.4142135623730951},"188":{"tf":1.0},"202":{"tf":1.7320508075688772},"206":{"tf":1.0},"207":{"tf":1.0},"211":{"tf":3.872983346207417},"247":{"tf":1.0},"249":{"tf":2.23606797749979},"25":{"tf":2.6457513110645907},"251":{"tf":3.605551275463989},"252":{"tf":2.0},"255":{"tf":1.7320508075688772},"256":{"tf":1.7320508075688772},"264":{"tf":2.449489742783178},"268":{"tf":2.0},"269":{"tf":2.8284271247461903},"32":{"tf":2.0},"33":{"tf":1.7320508075688772},"54":{"tf":1.7320508075688772}},"e":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"105":{"tf":1.0},"210":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"67":{"tf":1.7320508075688772}}}},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"16":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"294":{"tf":1.0}}}},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"242":{"tf":1.0}},"{":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"y":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"50":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":3,"docs":{"114":{"tf":1.0},"284":{"tf":1.4142135623730951},"286":{"tf":1.0}}}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":2,"docs":{"231":{"tf":1.0},"242":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":2,"docs":{"114":{"tf":1.0},"284":{"tf":1.0}}}}}}}}}}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"176":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"114":{"tf":1.0}}}},"i":{"df":2,"docs":{"223":{"tf":1.0},"258":{"tf":1.0}}}}},"t":{"a":{"$":{"df":0,"docs":{},":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"19":{"tf":1.0}}}}},"df":0,"docs":{}}},"(":{"1":{"+":{"\\":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"df":0,"docs":{},"k":{"df":1,"docs":{"242":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"19":{"tf":1.0}}}},"df":0,"docs":{}},"n":{"df":1,"docs":{"19":{"tf":1.0}}}},"df":1,"docs":{"19":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"274":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":2,"docs":{"256":{"tf":1.0},"44":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"274":{"tf":1.0}}}}}}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":9,"docs":{"114":{"tf":1.0},"127":{"tf":1.0},"149":{"tf":1.0},"22":{"tf":1.0},"262":{"tf":1.4142135623730951},"270":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.0},"99":{"tf":1.0}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"121":{"tf":1.4142135623730951},"4":{"tf":1.0}}}}}}}},"o":{"_":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"132":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"p":{"df":3,"docs":{"116":{"tf":1.0},"117":{"tf":1.0},"119":{"tf":1.0}}},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"256":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"r":{"a":{"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"276":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":22,"docs":{"143":{"tf":1.0},"185":{"tf":1.7320508075688772},"188":{"tf":1.0},"205":{"tf":1.0},"209":{"tf":1.4142135623730951},"210":{"tf":1.4142135623730951},"211":{"tf":2.449489742783178},"212":{"tf":1.7320508075688772},"213":{"tf":1.4142135623730951},"232":{"tf":1.0},"233":{"tf":2.23606797749979},"236":{"tf":1.0},"237":{"tf":1.0},"240":{"tf":3.3166247903554},"251":{"tf":1.4142135623730951},"255":{"tf":1.7320508075688772},"256":{"tf":2.0},"265":{"tf":1.7320508075688772},"288":{"tf":1.0},"44":{"tf":1.4142135623730951},"67":{"tf":1.0},"83":{"tf":1.0}},",":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":1,"docs":{"233":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"208":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"256":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"211":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":3,"docs":{"274":{"tf":1.0},"46":{"tf":1.0},"87":{"tf":1.0}}}},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"251":{"tf":1.0}}}},"u":{"df":0,"docs":{},"e":{"df":7,"docs":{"157":{"tf":1.0},"168":{"tf":1.0},"256":{"tf":2.0},"262":{"tf":1.4142135623730951},"268":{"tf":1.0},"269":{"tf":1.0},"76":{"tf":1.7320508075688772}}}},"y":{"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"176":{"tf":1.0},"180":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":3,"docs":{"176":{"tf":1.0},"178":{"tf":1.0},"180":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":1,"docs":{"235":{"tf":1.0}},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"239":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"211":{"tf":1.0},"247":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"j":{"df":1,"docs":{"291":{"tf":1.0}}}}}}}},"w":{"df":0,"docs":{},"o":{"df":4,"docs":{"103":{"tf":1.0},"108":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":18,"docs":{"162":{"tf":1.0},"172":{"tf":1.0},"176":{"tf":1.4142135623730951},"185":{"tf":2.23606797749979},"186":{"tf":2.6457513110645907},"187":{"tf":1.0},"211":{"tf":2.23606797749979},"233":{"tf":1.0},"234":{"tf":1.4142135623730951},"240":{"tf":1.7320508075688772},"245":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.7320508075688772},"251":{"tf":1.4142135623730951},"255":{"tf":1.0},"262":{"tf":1.0},"264":{"tf":2.23606797749979},"287":{"tf":1.0}},"s":{"df":0,"docs":{},"(":{"d":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"233":{"tf":1.0},"262":{"tf":1.0}}}}},"df":0,"docs":{},"z":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}}}}}}},"、":{"df":0,"docs":{},"k":{"df":0,"docs":{},"、":{"df":0,"docs":{},"v":{"df":1,"docs":{"264":{"tf":1.0}}}}}}},"u":{"3":{"2":{">":{"df":0,"docs":{},",":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"264":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":2,"docs":{"264":{"tf":1.0},"278":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"6":{"4":{"df":3,"docs":{"268":{"tf":2.6457513110645907},"269":{"tf":3.0},"278":{"tf":2.0}}},"df":0,"docs":{}},"8":{"df":1,"docs":{"237":{"tf":1.0}}},"df":0,"docs":{},"m":{"d":{"df":1,"docs":{"89":{"tf":1.0}}},"df":0,"docs":{}},"n":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"217":{"tf":1.0}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"176":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"279":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":3,"docs":{"229":{"tf":1.0},"43":{"tf":1.7320508075688772},"47":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"n":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"251":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"<":{"'":{"a":{">":{"(":{"&":{"'":{"a":{"df":2,"docs":{"251":{"tf":1.4142135623730951},"252":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"251":{"tf":1.4142135623730951},"252":{"tf":1.4142135623730951},"255":{"tf":1.0},"257":{"tf":1.0}},":":{"df":0,"docs":{},"聯":{"df":0,"docs":{},"集":{"df":0,"docs":{},",":{"a":{"df":1,"docs":{"250":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"t":{"df":3,"docs":{"244":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.4142135623730951}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":3,"docs":{"122":{"tf":1.0},"152":{"tf":1.0},"93":{"tf":1.0}}}}}}},"s":{"a":{"df":0,"docs":{},"f":{"df":6,"docs":{"176":{"tf":2.23606797749979},"180":{"tf":1.0},"181":{"tf":1.7320508075688772},"182":{"tf":2.0},"185":{"tf":1.7320508075688772},"187":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},")":{"df":0,"docs":{},"是":{"df":0,"docs":{},"邏":{"df":0,"docs":{},"輯":{"df":0,"docs":{},"右":{"df":0,"docs":{},"移":{"df":0,"docs":{},"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"278":{"tf":1.0}}}}}}}}}}}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":6,"docs":{"63":{"tf":1.4142135623730951},"64":{"tf":1.7320508075688772},"67":{"tf":1.0},"85":{"tf":1.4142135623730951},"87":{"tf":1.0},"92":{"tf":1.4142135623730951}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"70":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"176":{"tf":1.0},"264":{"tf":1.0}}}},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"&":{"0":{"df":1,"docs":{"151":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"287":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"241":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":4,"docs":{"118":{"tf":1.0},"119":{"tf":1.0},"285":{"tf":1.0},"91":{"tf":1.0}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"118":{"tf":1.4142135623730951},"54":{"tf":1.0},"67":{"tf":1.0}}}}}},"s":{"df":12,"docs":{"132":{"tf":1.0},"144":{"tf":1.0},"151":{"tf":1.0},"211":{"tf":1.0},"233":{"tf":1.0},"251":{"tf":1.0},"262":{"tf":1.0},"263":{"tf":1.0},"264":{"tf":2.23606797749979},"265":{"tf":1.4142135623730951},"267":{"tf":1.0},"54":{"tf":1.0}},"e":{"_":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"(":{"a":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"z":{"df":42,"docs":{"103":{"tf":2.449489742783178},"107":{"tf":2.6457513110645907},"108":{"tf":1.7320508075688772},"130":{"tf":2.0},"132":{"tf":1.7320508075688772},"151":{"tf":1.0},"154":{"tf":1.0},"156":{"tf":1.0},"159":{"tf":1.0},"169":{"tf":1.0},"174":{"tf":1.4142135623730951},"176":{"tf":1.4142135623730951},"177":{"tf":1.4142135623730951},"179":{"tf":3.4641016151377544},"181":{"tf":1.0},"185":{"tf":2.0},"187":{"tf":1.4142135623730951},"188":{"tf":1.0},"207":{"tf":1.7320508075688772},"233":{"tf":1.4142135623730951},"234":{"tf":1.0},"236":{"tf":2.23606797749979},"249":{"tf":1.0},"262":{"tf":1.4142135623730951},"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":2.8284271247461903},"268":{"tf":1.4142135623730951},"269":{"tf":3.0},"279":{"tf":1.0},"286":{"tf":1.4142135623730951},"287":{"tf":1.7320508075688772},"288":{"tf":1.0},"289":{"tf":1.4142135623730951},"32":{"tf":1.0},"33":{"tf":1.7320508075688772},"44":{"tf":2.23606797749979},"54":{"tf":1.0},"61":{"tf":1.0},"76":{"tf":1.0},"83":{"tf":1.7320508075688772},"92":{"tf":1.4142135623730951}},"e":{":":{":":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"x":{"df":1,"docs":{"179":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"f":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}}}},"v":{">":{">":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"236":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"61":{"tf":1.0}},"i":{"d":{"df":5,"docs":{"181":{"tf":1.4142135623730951},"182":{"tf":2.0},"185":{"tf":1.0},"187":{"tf":1.4142135623730951},"92":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":18,"docs":{"107":{"tf":1.7320508075688772},"125":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":2.0},"136":{"tf":1.4142135623730951},"142":{"tf":2.8284271247461903},"143":{"tf":2.449489742783178},"211":{"tf":1.0},"216":{"tf":1.0},"230":{"tf":1.0},"234":{"tf":1.4142135623730951},"237":{"tf":1.4142135623730951},"238":{"tf":2.0},"249":{"tf":2.23606797749979},"251":{"tf":1.0},"262":{"tf":1.7320508075688772},"44":{"tf":1.4142135623730951},"96":{"tf":1.4142135623730951}},"e":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"132":{"tf":1.4142135623730951},"143":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"251":{"tf":1.0},"44":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":16,"docs":{"112":{"tf":1.4142135623730951},"136":{"tf":3.4641016151377544},"189":{"tf":1.0},"196":{"tf":1.4142135623730951},"197":{"tf":1.0},"200":{"tf":1.0},"230":{"tf":1.0},"234":{"tf":2.8284271247461903},"236":{"tf":2.23606797749979},"237":{"tf":2.0},"238":{"tf":2.0},"239":{"tf":1.4142135623730951},"240":{"tf":3.3166247903554},"241":{"tf":1.7320508075688772},"257":{"tf":1.0},"264":{"tf":1.0}},"e":{"c":{"!":{"[":{"0":{"df":1,"docs":{"288":{"tf":1.0}}},"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}}}},"df":0,"docs":{}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"142":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"!":{"[":{"0":{"df":2,"docs":{"287":{"tf":1.4142135623730951},"288":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":1,"docs":{"131":{"tf":1.0}}}}}},":":{":":{"<":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{"df":1,"docs":{"236":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"237":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":3,"docs":{"143":{"tf":1.0},"166":{"tf":1.0},"236":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"171":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"238":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"x":{"df":0,"docs":{},"s":{"df":1,"docs":{"156":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"<":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"234":{"tf":1.4142135623730951}}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":4,"docs":{"262":{"tf":1.0},"263":{"tf":1.0},"264":{"tf":1.4142135623730951},"269":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"h":{"df":1,"docs":{"143":{"tf":1.0}}},"k":{"df":2,"docs":{"234":{"tf":1.0},"236":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"df":4,"docs":{"142":{"tf":1.0},"154":{"tf":1.0},"164":{"tf":1.0},"171":{"tf":1.0}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"288":{"tf":1.0},"289":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"u":{"8":{"df":1,"docs":{"264":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":1,"docs":{"288":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":2,"docs":{"190":{"tf":1.0},"193":{"tf":1.0}},"e":{":":{":":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"180":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":14,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"131":{"tf":1.0},"142":{"tf":1.0},"166":{"tf":1.0},"167":{"tf":1.0},"170":{"tf":1.4142135623730951},"176":{"tf":1.4142135623730951},"234":{"tf":1.4142135623730951},"236":{"tf":1.0},"239":{"tf":1.0},"262":{"tf":2.23606797749979},"287":{"tf":1.0},"288":{"tf":2.0}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":9,"docs":{"117":{"tf":1.0},"153":{"tf":1.0},"156":{"tf":2.23606797749979},"157":{"tf":1.0},"163":{"tf":1.0},"234":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"287":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":2,"docs":{"250":{"tf":1.0},"258":{"tf":1.0}}}}},"i":{"a":{"df":11,"docs":{"122":{"tf":1.0},"190":{"tf":1.0},"199":{"tf":1.0},"225":{"tf":1.0},"244":{"tf":1.0},"258":{"tf":1.0},"47":{"tf":1.4142135623730951},"62":{"tf":1.0},"70":{"tf":1.0},"77":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"179":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":1,"docs":{"10":{"tf":1.0}}}},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"47":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":3,"docs":{"107":{"tf":1.0},"108":{"tf":1.0},"256":{"tf":1.0}},"n":{"df":2,"docs":{"109":{"tf":1.0},"244":{"tf":1.0}}}}},"df":1,"docs":{"260":{"tf":1.4142135623730951}},"e":{"b":{"df":1,"docs":{"133":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"13":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"12":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"296":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"185":{"tf":1.0},"44":{"tf":1.0}}}}}}}},"i":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"w":{"7":{"7":{"2":{"1":{"0":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"d":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"118":{"tf":2.6457513110645907}}}}},"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":25,"docs":{"109":{"tf":1.0},"122":{"tf":1.0},"133":{"tf":1.0},"144":{"tf":1.4142135623730951},"152":{"tf":1.0},"163":{"tf":1.0},"190":{"tf":1.0},"199":{"tf":1.0},"22":{"tf":1.4142135623730951},"225":{"tf":1.4142135623730951},"244":{"tf":1.4142135623730951},"258":{"tf":1.0},"26":{"tf":1.0},"276":{"tf":1.0},"281":{"tf":1.0},"291":{"tf":1.0},"39":{"tf":1.0},"47":{"tf":1.0},"55":{"tf":1.0},"62":{"tf":1.0},"70":{"tf":1.0},"77":{"tf":1.0},"84":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.4142135623730951}},"m":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"a":{"df":10,"docs":{"122":{"tf":1.0},"190":{"tf":1.0},"199":{"tf":1.0},"225":{"tf":1.0},"244":{"tf":1.0},"47":{"tf":1.4142135623730951},"62":{"tf":1.0},"70":{"tf":1.0},"77":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"a":{"df":4,"docs":{"153":{"tf":1.4142135623730951},"163":{"tf":1.0},"258":{"tf":1.0},"271":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"h":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":3,"docs":{"155":{"tf":1.0},"176":{"tf":1.4142135623730951},"235":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"(":{"c":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"176":{"tf":1.0},"236":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"x":{"df":0,"docs":{},"s":{"df":1,"docs":{"156":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"180":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"d":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":5,"docs":{"263":{"tf":1.0},"264":{"tf":1.7320508075688772},"293":{"tf":1.0},"62":{"tf":1.0},"77":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":21,"docs":{"113":{"tf":1.4142135623730951},"126":{"tf":1.4142135623730951},"137":{"tf":1.4142135623730951},"138":{"tf":1.0},"148":{"tf":1.4142135623730951},"161":{"tf":1.0},"171":{"tf":1.0},"189":{"tf":1.0},"24":{"tf":1.4142135623730951},"241":{"tf":1.0},"257":{"tf":1.0},"290":{"tf":1.7320508075688772},"30":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951},"88":{"tf":1.4142135623730951},"98":{"tf":1.4142135623730951}}}}}},"r":{"a":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"a":{"d":{"d":{"(":{"a":{"d":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"179":{"tf":1.0}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"a":{"d":{"d":{"(":{"1":{"df":1,"docs":{"185":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"187":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":4,"docs":{"179":{"tf":1.0},"181":{"tf":1.4142135623730951},"182":{"tf":2.0},"187":{"tf":1.4142135623730951}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"a":{"d":{"d":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"179":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"268":{"tf":1.0}}}},"s":{"df":0,"docs":{},"u":{"b":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"179":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"!":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"213":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"296":{"tf":1.0},"34":{"tf":1.0}}}}}}},"x":{",":{"df":0,"docs":{},"y":{",":{"df":0,"docs":{},"z":{"df":1,"docs":{"260":{"tf":1.0}}}},"df":0,"docs":{}}},".":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"210":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"233":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"^":{"2":{"df":1,"docs":{"16":{"tf":1.0}}},"4":{"+":{"5":{"\\":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"{":{"3":{"df":0,"docs":{},"}":{"^":{"df":0,"docs":{},"{":{"2":{"6":{"df":0,"docs":{},"}":{"8":{"8":{"df":0,"docs":{},"x":{"^":{"3":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"0":{",":{"df":0,"docs":{},"x":{"_":{"1":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"y":{"_":{"0":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"42":{"tf":1.4142135623730951}}},"1":{",":{"df":0,"docs":{},"y":{"_":{"1":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":17,"docs":{"131":{"tf":1.7320508075688772},"132":{"tf":1.7320508075688772},"139":{"tf":1.4142135623730951},"151":{"tf":1.0},"175":{"tf":6.082762530298219},"179":{"tf":2.0},"180":{"tf":6.48074069840786},"210":{"tf":1.0},"233":{"tf":1.7320508075688772},"25":{"tf":1.0},"256":{"tf":5.916079783099616},"272":{"tf":1.0},"275":{"tf":1.4142135623730951},"287":{"tf":1.0},"289":{"tf":1.4142135623730951},"42":{"tf":2.449489742783178},"50":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"255":{"tf":1.0},"275":{"tf":1.4142135623730951},"278":{"tf":2.8284271247461903}}}},"」":{"df":0,"docs":{},"或":{"df":0,"docs":{},"是":{"df":0,"docs":{},"「":{"df":0,"docs":{},"x":{"df":1,"docs":{"272":{"tf":1.0}}}}}}}},"y":{".":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"210":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"_":{"0":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"df":0,"docs":{},"x":{"_":{"1":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"42":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":5,"docs":{"210":{"tf":1.0},"256":{"tf":5.477225575051661},"42":{"tf":1.7320508075688772},"43":{"tf":1.4142135623730951},"47":{"tf":1.0}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}}}}},"z":{".":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"210":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":2,"docs":{"210":{"tf":1.0},"256":{"tf":2.8284271247461903}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":4,"docs":{"176":{"tf":1.7320508075688772},"248":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"212":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"176":{"tf":2.23606797749979},"179":{"tf":1.0},"248":{"tf":1.7320508075688772}}}}}}},"breadcrumbs":{"root":{"0":{".":{".":{"=":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"289":{"tf":1.0}}}}}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"(":{")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{")":{")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{":":{":":{"<":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"_":{"df":1,"docs":{"289":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"c":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"236":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"92":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"67":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{")":{".":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"i":{"df":1,"docs":{"269":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"1":{"df":3,"docs":{"259":{"tf":1.0},"267":{"tf":1.0},"270":{"tf":1.0}}},"7":{"5":{"df":1,"docs":{"239":{"tf":1.0}}},"df":0,"docs":{}},"8":{"df":1,"docs":{"273":{"tf":1.0}}},"9":{"df":1,"docs":{"273":{"tf":1.0}}},"df":0,"docs":{}},"0":{"0":{"df":2,"docs":{"227":{"tf":2.0},"230":{"tf":1.0}}},"df":2,"docs":{"227":{"tf":2.0},"230":{"tf":1.0}}},"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":2,"docs":{"33":{"tf":1.4142135623730951},"44":{"tf":2.0}}}}}}},"b":{"0":{"0":{"0":{"0":{"df":1,"docs":{"179":{"tf":1.0}}},"1":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{},"(":{"0":{"df":1,"docs":{"175":{"tf":1.0}}},"df":0,"docs":{}}},"1":{"0":{"df":1,"docs":{"179":{"tf":1.0}}},"1":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"1":{"1":{"df":1,"docs":{"179":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"0":{"0":{"0":{"df":1,"docs":{"179":{"tf":1.0}}},"1":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}},"1":{"0":{"df":1,"docs":{"179":{"tf":1.0}}},"1":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"1":{"df":0,"docs":{},"(":{"7":{"df":1,"docs":{"175":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":49,"docs":{"102":{"tf":1.4142135623730951},"117":{"tf":1.4142135623730951},"118":{"tf":1.0},"119":{"tf":1.7320508075688772},"123":{"tf":1.0},"125":{"tf":3.3166247903554},"131":{"tf":1.7320508075688772},"132":{"tf":1.4142135623730951},"145":{"tf":1.4142135623730951},"147":{"tf":4.58257569495584},"149":{"tf":1.0},"151":{"tf":2.0},"159":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.4142135623730951},"175":{"tf":1.4142135623730951},"176":{"tf":2.449489742783178},"177":{"tf":1.4142135623730951},"179":{"tf":2.449489742783178},"18":{"tf":1.0},"181":{"tf":1.0},"196":{"tf":1.0},"197":{"tf":1.0},"198":{"tf":1.7320508075688772},"200":{"tf":1.0},"207":{"tf":1.4142135623730951},"227":{"tf":3.3166247903554},"230":{"tf":1.4142135623730951},"233":{"tf":1.7320508075688772},"236":{"tf":1.7320508075688772},"239":{"tf":1.4142135623730951},"253":{"tf":1.4142135623730951},"260":{"tf":1.0},"272":{"tf":1.0},"275":{"tf":1.0},"278":{"tf":2.0},"279":{"tf":1.0},"284":{"tf":1.4142135623730951},"285":{"tf":1.0},"286":{"tf":1.4142135623730951},"288":{"tf":1.0},"289":{"tf":1.0},"33":{"tf":1.4142135623730951},"42":{"tf":2.449489742783178},"48":{"tf":1.0},"54":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"76":{"tf":1.4142135623730951},"92":{"tf":1.4142135623730951}},"}":{"^":{"df":0,"docs":{},"n":{"df":1,"docs":{"99":{"tf":1.0}}}},"df":0,"docs":{}}},"1":{")":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"58":{"tf":1.0}}}},".":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"67":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"2":{"df":4,"docs":{"58":{"tf":1.0},"66":{"tf":1.0},"75":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}}}},",":{"2":{"df":1,"docs":{"256":{"tf":1.0}}},"df":0,"docs":{},"j":{"df":2,"docs":{"284":{"tf":2.0},"287":{"tf":1.4142135623730951}}}},".":{".":{"=":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"e":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"287":{"tf":1.4142135623730951},"288":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{")":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"92":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"59":{"tf":1.0},"61":{"tf":1.0},"76":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"76":{"tf":1.0}}}}}},"0":{".":{"0":{"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"6":{"df":1,"docs":{"240":{"tf":1.4142135623730951}}},"8":{"df":1,"docs":{"176":{"tf":1.0}}},"df":0,"docs":{}},"4":{"4":{"df":1,"docs":{"271":{"tf":1.0}}},"df":0,"docs":{}},"7":{"1":{"df":2,"docs":{"259":{"tf":1.0},"270":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"0":{"0":{"df":1,"docs":{"145":{"tf":1.0}}},"df":4,"docs":{"135":{"tf":1.0},"136":{"tf":1.0},"151":{"tf":1.0},"23":{"tf":1.0}}},"2":{".":{"0":{"3":{"6":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":13,"docs":{"135":{"tf":1.0},"136":{"tf":2.0},"14":{"tf":1.0},"145":{"tf":1.4142135623730951},"147":{"tf":1.0},"149":{"tf":1.4142135623730951},"151":{"tf":1.7320508075688772},"156":{"tf":1.0},"179":{"tf":1.4142135623730951},"274":{"tf":1.0},"42":{"tf":1.4142135623730951},"80":{"tf":1.4142135623730951},"83":{"tf":1.0}},"x":{"df":1,"docs":{"16":{"tf":1.0}}}},"1":{"7":{"df":1,"docs":{"251":{"tf":1.0}}},"8":{"df":1,"docs":{"251":{"tf":1.4142135623730951}}},"9":{"df":1,"docs":{"251":{"tf":1.0}}},"df":6,"docs":{"135":{"tf":1.0},"136":{"tf":1.0},"156":{"tf":1.4142135623730951},"179":{"tf":1.4142135623730951},"227":{"tf":2.23606797749979},"230":{"tf":1.0}}},"2":{"6":{"df":1,"docs":{"146":{"tf":1.0}}},"df":0,"docs":{}},"3":{"2":{"df":2,"docs":{"80":{"tf":1.0},"83":{"tf":1.0}}},"5":{"df":1,"docs":{"47":{"tf":1.0}}},"df":3,"docs":{"29":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"50":{"tf":1.7320508075688772}}},"4":{"1":{"df":1,"docs":{"47":{"tf":1.0}}},"df":2,"docs":{"136":{"tf":2.0},"42":{"tf":1.0}}},"5":{"df":4,"docs":{"29":{"tf":1.7320508075688772},"42":{"tf":1.0},"50":{"tf":1.7320508075688772},"80":{"tf":1.0}}},"6":{"df":1,"docs":{"262":{"tf":1.0}}},"7":{"0":{"df":1,"docs":{"147":{"tf":2.6457513110645907}}},"df":3,"docs":{"42":{"tf":1.4142135623730951},"87":{"tf":3.4641016151377544},"97":{"tf":3.3166247903554}}},"8":{"df":1,"docs":{"42":{"tf":1.0}}},"9":{"7":{"8":{"df":2,"docs":{"43":{"tf":1.0},"47":{"tf":1.0}}},"df":0,"docs":{}},"9":{"6":{"df":2,"docs":{"46":{"tf":1.0},"47":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":2,"docs":{"29":{"tf":1.0},"50":{"tf":1.7320508075688772}}},"]":{"[":{"df":0,"docs":{},"j":{"df":1,"docs":{"287":{"tf":2.0}}}},"df":0,"docs":{}},"^":{"2":{"df":1,"docs":{"230":{"tf":1.0}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"54":{"tf":1.0}}}}}}},"df":97,"docs":{"100":{"tf":1.0},"102":{"tf":2.23606797749979},"103":{"tf":1.4142135623730951},"105":{"tf":3.605551275463989},"107":{"tf":2.0},"108":{"tf":2.23606797749979},"111":{"tf":1.0},"112":{"tf":3.0},"114":{"tf":1.7320508075688772},"117":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"119":{"tf":2.23606797749979},"125":{"tf":5.0990195135927845},"127":{"tf":1.0},"131":{"tf":2.0},"132":{"tf":2.23606797749979},"135":{"tf":1.4142135623730951},"136":{"tf":2.0},"143":{"tf":1.0},"147":{"tf":1.4142135623730951},"15":{"tf":1.0},"151":{"tf":1.7320508075688772},"159":{"tf":1.0},"16":{"tf":1.0},"175":{"tf":3.0},"176":{"tf":2.8284271247461903},"179":{"tf":4.58257569495584},"180":{"tf":2.0},"181":{"tf":2.23606797749979},"182":{"tf":3.4641016151377544},"185":{"tf":2.0},"19":{"tf":1.0},"196":{"tf":1.0},"197":{"tf":1.0},"198":{"tf":1.7320508075688772},"200":{"tf":1.0},"203":{"tf":1.0},"206":{"tf":1.7320508075688772},"207":{"tf":2.0},"208":{"tf":1.4142135623730951},"210":{"tf":1.0},"211":{"tf":1.7320508075688772},"227":{"tf":2.6457513110645907},"228":{"tf":1.4142135623730951},"230":{"tf":1.4142135623730951},"233":{"tf":1.0},"234":{"tf":1.0},"236":{"tf":1.0},"238":{"tf":2.0},"239":{"tf":1.4142135623730951},"24":{"tf":1.0},"242":{"tf":1.0},"249":{"tf":1.0},"256":{"tf":1.4142135623730951},"260":{"tf":1.7320508075688772},"267":{"tf":1.4142135623730951},"268":{"tf":2.0},"269":{"tf":2.0},"272":{"tf":1.0},"278":{"tf":2.449489742783178},"279":{"tf":1.4142135623730951},"284":{"tf":3.7416573867739413},"285":{"tf":3.872983346207417},"287":{"tf":4.58257569495584},"288":{"tf":2.449489742783178},"289":{"tf":4.0},"29":{"tf":1.4142135623730951},"30":{"tf":2.23606797749979},"33":{"tf":2.23606797749979},"42":{"tf":2.23606797749979},"44":{"tf":3.1622776601683795},"46":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"53":{"tf":2.0},"54":{"tf":2.23606797749979},"58":{"tf":1.7320508075688772},"59":{"tf":2.0},"61":{"tf":1.7320508075688772},"65":{"tf":2.449489742783178},"66":{"tf":2.0},"67":{"tf":1.0},"72":{"tf":1.0},"75":{"tf":2.0},"76":{"tf":2.449489742783178},"78":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":2.23606797749979},"81":{"tf":1.0},"83":{"tf":1.7320508075688772},"86":{"tf":1.0},"87":{"tf":3.4641016151377544},"92":{"tf":2.8284271247461903},"95":{"tf":1.0},"96":{"tf":2.0},"97":{"tf":3.3166247903554},"99":{"tf":1.7320508075688772}},"f":{"6":{"4":{"df":2,"docs":{"267":{"tf":1.4142135623730951},"269":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"179":{"tf":1.0}}}}}},"}":{"df":0,"docs":{},"i":{"df":1,"docs":{"75":{"tf":1.0}}}},",":{"df":0,"docs":{},"所":{"df":0,"docs":{},"以":{"df":0,"docs":{},"我":{"df":0,"docs":{},"們":{"df":0,"docs":{},"採":{"df":0,"docs":{},"取":{"df":0,"docs":{},"類":{"df":0,"docs":{},"似":{"df":0,"docs":{},"環":{"df":0,"docs":{},"繞":{"df":0,"docs":{},"算":{"df":0,"docs":{},"術":{"df":0,"docs":{},"運":{"df":0,"docs":{},"算":{"df":0,"docs":{},"(":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"175":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}},"2":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"92":{"tf":1.0}}}}}},"^":{"2":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"1":{"df":2,"docs":{"143":{"tf":1.0},"33":{"tf":1.0}}},"2":{"3":{"6":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"143":{"tf":1.4142135623730951},"33":{"tf":1.0}}},"3":{"df":1,"docs":{"33":{"tf":1.0}}},"5":{"df":1,"docs":{"122":{"tf":1.0}}},"df":0,"docs":{}},"0":{"0":{"1":{"df":1,"docs":{"84":{"tf":1.0}}},"df":0,"docs":{}},"1":{"1":{"df":3,"docs":{"122":{"tf":1.0},"244":{"tf":1.0},"93":{"tf":1.0}}},"2":{"df":1,"docs":{"274":{"tf":1.0}}},"4":{"df":1,"docs":{"275":{"tf":1.0}}},"7":{"df":1,"docs":{"13":{"tf":1.0}}},"8":{".":{"2":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"1":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{}},"df":8,"docs":{"106":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"256":{"tf":1.0},"29":{"tf":1.0},"50":{"tf":1.7320508075688772},"87":{"tf":3.4641016151377544},"97":{"tf":3.3166247903554}}},"1":{"(":{"7":{"df":1,"docs":{"47":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"87":{"tf":3.4641016151377544},"97":{"tf":3.3166247903554}}},"2":{"df":2,"docs":{"29":{"tf":1.0},"50":{"tf":3.1622776601683795}},"。":{"3":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{},"哎":{"df":0,"docs":{},"呀":{"df":0,"docs":{},",":{"$":{"2":{"^":{"4":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"3":{"df":5,"docs":{"29":{"tf":1.0},"42":{"tf":1.0},"50":{"tf":1.7320508075688772},"80":{"tf":1.4142135623730951},"83":{"tf":1.0}}},"4":{"df":5,"docs":{"147":{"tf":2.6457513110645907},"262":{"tf":1.0},"288":{"tf":1.0},"29":{"tf":1.0},"50":{"tf":1.7320508075688772}}},"5":{"3":{"df":1,"docs":{"240":{"tf":1.0}}},"4":{":":{"2":{"8":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"240":{"tf":1.0}}},"5":{":":{"3":{"3":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"240":{"tf":1.0}}},"df":3,"docs":{"274":{"tf":1.0},"29":{"tf":1.0},"50":{"tf":1.7320508075688772}}},"6":{"df":1,"docs":{"151":{"tf":1.0}}},"7":{"df":1,"docs":{"42":{"tf":3.4641016151377544}}},"8":{"df":2,"docs":{"136":{"tf":2.0},"42":{"tf":2.23606797749979}}},"9":{"df":2,"docs":{"16":{"tf":1.0},"42":{"tf":2.0}}},"^":{"0":{"$":{"df":0,"docs":{},",":{"$":{"2":{"^":{"1":{"df":1,"docs":{"37":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":2,"docs":{"48":{"tf":1.0},"50":{"tf":1.0}}},"1":{"$":{"df":0,"docs":{},"、":{"$":{"2":{"^":{"2":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},":":{"3":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}}},"df":1,"docs":{"81":{"tf":1.0}}},"2":{"$":{"df":0,"docs":{},":":{"6":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}}},"df":2,"docs":{"230":{"tf":1.0},"81":{"tf":1.0}}},"3":{"$":{"df":0,"docs":{},":":{"1":{"5":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":2,"docs":{"179":{"tf":1.0},"81":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":2,"docs":{"30":{"tf":1.7320508075688772},"48":{"tf":1.0}}},"n":{"df":3,"docs":{"179":{"tf":2.0},"181":{"tf":1.0},"37":{"tf":1.0}}},"x":{"df":1,"docs":{"43":{"tf":1.0}}},"{":{"4":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}},"\\":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"tf":1.0}},"{":{"df":0,"docs":{},"i":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{},"k":{"df":1,"docs":{"80":{"tf":1.0}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"{":{"df":0,"docs":{},"i":{"df":1,"docs":{"53":{"tf":1.0}}}}}}}}},"a":{"df":1,"docs":{"65":{"tf":2.6457513110645907}},"、":{"2":{"b":{"df":1,"docs":{"65":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"b":{"df":1,"docs":{"65":{"tf":2.449489742783178}}},"df":89,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"105":{"tf":1.0},"108":{"tf":1.0},"111":{"tf":1.4142135623730951},"112":{"tf":2.8284271247461903},"114":{"tf":1.0},"117":{"tf":1.4142135623730951},"118":{"tf":2.0},"119":{"tf":1.0},"125":{"tf":4.123105625617661},"131":{"tf":1.4142135623730951},"132":{"tf":1.4142135623730951},"136":{"tf":1.0},"143":{"tf":1.0},"147":{"tf":3.605551275463989},"151":{"tf":1.0},"153":{"tf":1.0},"16":{"tf":1.0},"175":{"tf":2.449489742783178},"176":{"tf":1.7320508075688772},"179":{"tf":3.1622776601683795},"18":{"tf":1.0},"180":{"tf":1.4142135623730951},"182":{"tf":2.0},"185":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"196":{"tf":1.0},"198":{"tf":1.4142135623730951},"200":{"tf":1.0},"203":{"tf":1.0},"206":{"tf":1.7320508075688772},"207":{"tf":1.4142135623730951},"208":{"tf":1.4142135623730951},"210":{"tf":1.0},"211":{"tf":1.4142135623730951},"227":{"tf":3.7416573867739413},"228":{"tf":1.4142135623730951},"230":{"tf":1.7320508075688772},"233":{"tf":1.0},"234":{"tf":1.0},"238":{"tf":1.4142135623730951},"239":{"tf":1.0},"249":{"tf":1.0},"256":{"tf":1.4142135623730951},"262":{"tf":1.0},"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.4142135623730951},"269":{"tf":1.0},"273":{"tf":1.0},"275":{"tf":1.0},"278":{"tf":1.0},"279":{"tf":1.0},"285":{"tf":2.449489742783178},"287":{"tf":2.0},"288":{"tf":1.0},"289":{"tf":1.0},"29":{"tf":3.0},"291":{"tf":1.0},"30":{"tf":1.7320508075688772},"33":{"tf":1.4142135623730951},"34":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.7320508075688772},"53":{"tf":1.0},"54":{"tf":1.7320508075688772},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"76":{"tf":1.4142135623730951},"81":{"tf":4.123105625617661},"83":{"tf":1.0},"87":{"tf":3.4641016151377544},"89":{"tf":1.0},"92":{"tf":2.0},"97":{"tf":3.3166247903554},"99":{"tf":1.7320508075688772}},"t":{"(":{"\\":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"2":{"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"x":{"^":{"2":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"3":{",":{"4":{"df":1,"docs":{"256":{"tf":1.0}}},"df":0,"docs":{}},".":{"0":{"df":12,"docs":{"190":{"tf":1.0},"225":{"tf":1.0},"244":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.4142135623730951},"62":{"tf":1.0},"64":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"77":{"tf":1.0},"93":{"tf":1.0}}},"1":{"df":3,"docs":{"143":{"tf":1.0},"238":{"tf":1.0},"44":{"tf":1.0}}},"2":{"df":3,"docs":{"143":{"tf":1.0},"238":{"tf":1.0},"44":{"tf":1.0}}},"3":{"df":1,"docs":{"44":{"tf":1.0}}},"4":{"df":1,"docs":{"244":{"tf":1.0}}},"df":0,"docs":{}},"/":{"4":{"df":1,"docs":{"231":{"tf":1.0}}},"df":0,"docs":{}},"0":{"1":{"df":2,"docs":{"80":{"tf":1.0},"83":{"tf":1.0}}},"df":2,"docs":{"15":{"tf":1.0},"42":{"tf":1.0}}},"1":{"df":2,"docs":{"42":{"tf":1.0},"80":{"tf":1.0}}},"2":{"df":2,"docs":{"14":{"tf":1.0},"236":{"tf":1.0}}},"3":{"3":{"df":2,"docs":{"227":{"tf":2.23606797749979},"230":{"tf":1.0}}},"df":0,"docs":{}},"4":{"4":{":":{"6":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"185":{"tf":1.0}}},"7":{":":{"5":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"185":{"tf":1.4142135623730951}}},"df":1,"docs":{"42":{"tf":1.7320508075688772}}},"5":{"1":{"df":2,"docs":{"122":{"tf":1.0},"93":{"tf":1.0}}},"3":{"df":1,"docs":{"185":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"6":{",":{"3":{"7":{"df":1,"docs":{"136":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"136":{"tf":1.4142135623730951}}},"7":{",":{"3":{"6":{"df":1,"docs":{"136":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"136":{"tf":1.4142135623730951}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"47":{"tf":1.0}}}}},"^":{"2":{"df":1,"docs":{"230":{"tf":1.0}}},"df":0,"docs":{}},"df":70,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"105":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.4142135623730951},"112":{"tf":2.8284271247461903},"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"125":{"tf":2.8284271247461903},"131":{"tf":1.4142135623730951},"132":{"tf":1.4142135623730951},"136":{"tf":1.0},"143":{"tf":1.0},"151":{"tf":1.0},"17":{"tf":1.0},"175":{"tf":2.23606797749979},"176":{"tf":1.4142135623730951},"179":{"tf":3.0},"180":{"tf":1.0},"182":{"tf":2.0},"185":{"tf":1.4142135623730951},"197":{"tf":1.0},"198":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.4142135623730951},"208":{"tf":2.449489742783178},"210":{"tf":1.0},"211":{"tf":1.4142135623730951},"227":{"tf":2.23606797749979},"230":{"tf":1.0},"233":{"tf":1.0},"234":{"tf":1.0},"236":{"tf":1.0},"238":{"tf":1.4142135623730951},"239":{"tf":1.0},"244":{"tf":1.0},"249":{"tf":1.0},"256":{"tf":1.0},"258":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.4142135623730951},"278":{"tf":1.0},"279":{"tf":1.0},"284":{"tf":1.7320508075688772},"285":{"tf":1.0},"287":{"tf":2.0},"288":{"tf":1.0},"289":{"tf":1.0},"29":{"tf":2.0},"30":{"tf":1.7320508075688772},"33":{"tf":1.0},"44":{"tf":1.4142135623730951},"50":{"tf":2.449489742783178},"54":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"61":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":2.449489742783178},"67":{"tf":1.0},"73":{"tf":5.830951894845301},"76":{"tf":1.4142135623730951},"80":{"tf":1.0},"81":{"tf":3.872983346207417},"83":{"tf":1.0},"87":{"tf":3.4641016151377544},"92":{"tf":1.7320508075688772},"97":{"tf":3.3166247903554}},"n":{"df":3,"docs":{"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"19":{"tf":1.7320508075688772}}},"、":{"4":{"df":0,"docs":{},"、":{"5":{"df":1,"docs":{"153":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"4":{".":{"0":{"df":1,"docs":{"13":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"0":{"4":{"df":1,"docs":{"296":{"tf":1.0}}},"df":0,"docs":{}},"5":{"df":1,"docs":{"147":{"tf":2.6457513110645907}}},"df":48,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"112":{"tf":2.8284271247461903},"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"125":{"tf":2.449489742783178},"132":{"tf":1.0},"136":{"tf":1.0},"143":{"tf":1.0},"147":{"tf":2.0},"151":{"tf":1.0},"17":{"tf":2.23606797749979},"175":{"tf":2.0},"176":{"tf":1.7320508075688772},"179":{"tf":2.449489742783178},"18":{"tf":1.0},"180":{"tf":1.7320508075688772},"185":{"tf":1.0},"19":{"tf":2.0},"207":{"tf":1.4142135623730951},"208":{"tf":1.4142135623730951},"210":{"tf":1.0},"211":{"tf":1.0},"236":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.0},"249":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"278":{"tf":1.0},"279":{"tf":1.0},"287":{"tf":1.4142135623730951},"289":{"tf":1.0},"29":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"44":{"tf":1.0},"52":{"tf":1.0},"57":{"tf":1.0},"65":{"tf":2.23606797749979},"73":{"tf":5.916079783099616},"76":{"tf":1.0},"80":{"tf":1.4142135623730951},"81":{"tf":4.123105625617661},"83":{"tf":1.4142135623730951},"92":{"tf":1.4142135623730951}},"n":{"^":{"2":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"109":{"tf":1.0},"244":{"tf":1.0}}}},",":{"df":0,"docs":{},"找":{"df":0,"docs":{},"尋":{"df":0,"docs":{},"第":{"df":0,"docs":{},"四":{"df":0,"docs":{},"個":{"df":0,"docs":{},"元":{"df":0,"docs":{},"素":{"df":0,"docs":{},"來":{"df":0,"docs":{},"比":{"df":0,"docs":{},"對":{"df":0,"docs":{},",":{"6":{"df":1,"docs":{"29":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}}}}},"看":{"df":0,"docs":{},"看":{"$":{"2":{"^":{"4":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"5":{".":{"4":{"7":{"7":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"0":{"df":1,"docs":{"47":{"tf":1.0}}},"3":{"df":1,"docs":{"47":{"tf":1.0}}},"df":0,"docs":{}},"7":{"df":2,"docs":{"80":{"tf":1.0},"83":{"tf":1.0}}},"df":22,"docs":{"112":{"tf":2.8284271247461903},"117":{"tf":1.0},"118":{"tf":1.0},"125":{"tf":3.4641016151377544},"147":{"tf":2.0},"15":{"tf":1.0},"151":{"tf":1.0},"17":{"tf":1.7320508075688772},"175":{"tf":1.7320508075688772},"179":{"tf":2.0},"180":{"tf":1.0},"19":{"tf":1.0},"207":{"tf":1.0},"211":{"tf":1.0},"239":{"tf":1.0},"262":{"tf":1.0},"279":{"tf":1.0},"287":{"tf":1.4142135623730951},"289":{"tf":1.0},"30":{"tf":1.4142135623730951},"73":{"tf":5.916079783099616},"81":{"tf":4.0}},"n":{"^":{"2":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"19":{"tf":1.0}}}},"6":{",":{"9":{"df":1,"docs":{"136":{"tf":1.4142135623730951}}},"df":0,"docs":{}},".":{"0":{"0":{"6":{"df":1,"docs":{"244":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"df":1,"docs":{"80":{"tf":1.0}}},"4":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"236":{"tf":1.0}}}}},"df":2,"docs":{"262":{"tf":1.0},"288":{"tf":1.0}}},"6":{"6":{"df":2,"docs":{"227":{"tf":2.449489742783178},"230":{"tf":1.0}}},"df":1,"docs":{"147":{"tf":2.6457513110645907}}},"df":15,"docs":{"112":{"tf":2.8284271247461903},"118":{"tf":1.0},"125":{"tf":1.4142135623730951},"136":{"tf":1.4142135623730951},"147":{"tf":2.0},"151":{"tf":1.0},"175":{"tf":1.4142135623730951},"179":{"tf":2.0},"239":{"tf":1.0},"279":{"tf":1.0},"289":{"tf":1.0},"29":{"tf":2.8284271247461903},"30":{"tf":1.4142135623730951},"50":{"tf":2.449489742783178},"81":{"tf":3.872983346207417}}},"7":{"0":{"1":{"df":2,"docs":{"80":{"tf":1.0},"83":{"tf":1.0}}},"df":0,"docs":{}},"1":{",":{"7":{"4":{"df":1,"docs":{"136":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"136":{"tf":1.4142135623730951}}},"4":{",":{"7":{"1":{"df":1,"docs":{"136":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"136":{"tf":1.4142135623730951}}},"5":{"%":{"$":{"df":0,"docs":{},"。":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":1,"docs":{"231":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":2,"docs":{"147":{"tf":2.6457513110645907},"231":{"tf":1.0}}},"df":16,"docs":{"112":{"tf":2.8284271247461903},"125":{"tf":1.4142135623730951},"147":{"tf":2.0},"175":{"tf":1.4142135623730951},"179":{"tf":1.7320508075688772},"227":{"tf":2.449489742783178},"230":{"tf":1.0},"262":{"tf":1.0},"270":{"tf":1.0},"289":{"tf":1.0},"29":{"tf":2.6457513110645907},"30":{"tf":1.7320508075688772},"50":{"tf":1.7320508075688772},"73":{"tf":5.916079783099616},"80":{"tf":1.0},"81":{"tf":3.872983346207417}}},"8":{".":{"0":{"4":{"6":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"2":{"df":1,"docs":{"147":{"tf":2.6457513110645907}}},"df":0,"docs":{}},"8":{"df":2,"docs":{"227":{"tf":2.449489742783178},"230":{"tf":1.0}}},"df":17,"docs":{"112":{"tf":2.8284271247461903},"125":{"tf":3.0},"146":{"tf":1.0},"147":{"tf":1.4142135623730951},"149":{"tf":1.0},"175":{"tf":1.4142135623730951},"179":{"tf":3.1622776601683795},"180":{"tf":1.0},"262":{"tf":1.4142135623730951},"287":{"tf":1.4142135623730951},"289":{"tf":1.0},"29":{"tf":1.4142135623730951},"42":{"tf":1.7320508075688772},"73":{"tf":5.830951894845301},"81":{"tf":4.358898943540674},"83":{"tf":1.0},"97":{"tf":4.795831523312719}},"、":{"9":{"df":0,"docs":{},"、":{"1":{"0":{"df":0,"docs":{},"、":{"1":{"1":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},",":{"8":{"df":1,"docs":{"73":{"tf":1.0}}},"df":0,"docs":{}}},"9":{"0":{"df":2,"docs":{"147":{"tf":2.6457513110645907},"231":{"tf":1.0}}},"1":{",":{"9":{"6":{"df":1,"docs":{"136":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"136":{"tf":1.4142135623730951}}},"5":{".":{"5":{"df":1,"docs":{"275":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"275":{"tf":1.0}}},"6":{",":{"9":{"1":{"df":1,"docs":{"136":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"136":{"tf":1.4142135623730951}}},"9":{"9":{"9":{"df":1,"docs":{"175":{"tf":1.0}}},"df":2,"docs":{"145":{"tf":1.0},"230":{"tf":1.0}}},"df":1,"docs":{"230":{"tf":1.0}}},"df":13,"docs":{"125":{"tf":2.449489742783178},"136":{"tf":1.4142135623730951},"145":{"tf":1.0},"147":{"tf":1.4142135623730951},"149":{"tf":1.0},"151":{"tf":1.4142135623730951},"179":{"tf":1.4142135623730951},"230":{"tf":1.0},"29":{"tf":3.0},"42":{"tf":2.0},"50":{"tf":1.7320508075688772},"52":{"tf":1.0},"81":{"tf":3.7416573867739413}}},"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"_":{"_":{"df":1,"docs":{"61":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"t":{"_":{"_":{"df":1,"docs":{"61":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":11,"docs":{"147":{"tf":5.830951894845301},"180":{"tf":3.605551275463989},"236":{"tf":1.0},"237":{"tf":1.4142135623730951},"238":{"tf":1.4142135623730951},"249":{"tf":1.0},"251":{"tf":1.0},"256":{"tf":1.0},"279":{"tf":1.0},"29":{"tf":5.656854249492381},"50":{"tf":1.4142135623730951}},"k":{"_":{"df":2,"docs":{"263":{"tf":1.0},"264":{"tf":1.0}}},"df":0,"docs":{}},"m":{"_":{"df":2,"docs":{"263":{"tf":1.0},"264":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":3,"docs":{"264":{"tf":1.0},"267":{"tf":1.0},"269":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"{":{"(":{"a":{"df":2,"docs":{"284":{"tf":1.4142135623730951},"287":{"tf":1.0}}},"df":0,"docs":{}},"a":{",":{"b":{"df":0,"docs":{},"}":{"(":{"df":0,"docs":{},"i":{",":{"df":0,"docs":{},"j":{"df":2,"docs":{"284":{"tf":1.7320508075688772},"287":{"tf":1.0}}}},"df":2,"docs":{"284":{"tf":2.0},"287":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":2,"docs":{"284":{"tf":1.4142135623730951},"287":{"tf":1.0}}},"j":{"df":2,"docs":{"284":{"tf":1.4142135623730951},"287":{"tf":1.0}}}}},"a":{"'":{"df":0,"docs":{},"、":{"b":{"df":1,"docs":{"41":{"tf":1.0}}},"df":0,"docs":{}}},"+":{"1":{"df":1,"docs":{"287":{"tf":1.0}}},"df":0,"docs":{}},".":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"210":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"k":{".":{"a":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},">":{"(":{"&":{"'":{"b":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"288":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"162":{"tf":1.0},"172":{"tf":1.0},"245":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"187":{"tf":1.0},"192":{"tf":1.0}},")":{"df":0,"docs":{},"的":{"df":0,"docs":{},"執":{"df":0,"docs":{},"行":{"df":0,"docs":{},"時":{"df":0,"docs":{},"間":{"df":0,"docs":{},",":{"$":{"\\":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"df":0,"docs":{},"k":{"df":1,"docs":{"242":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{},"m":{"df":1,"docs":{"47":{"tf":1.0}}},"t":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"176":{"tf":1.0},"179":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"d":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"266":{"tf":1.0}}}},"k":{"df":1,"docs":{"241":{"tf":1.0}}}},"df":2,"docs":{"175":{"tf":2.0},"188":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":4,"docs":{"230":{"tf":1.7320508075688772},"242":{"tf":1.0},"244":{"tf":1.0},"274":{"tf":1.4142135623730951}},"p":{"df":1,"docs":{"274":{"tf":1.0}}}}}}}},"df":1,"docs":{"180":{"tf":1.0}},"v":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"180":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":2,"docs":{"274":{"tf":1.0},"275":{"tf":1.0}},"g":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"250":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"df":21,"docs":{"0":{"tf":2.23606797749979},"1":{"tf":1.0},"10":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.4142135623730951},"11":{"tf":1.0},"12":{"tf":1.0},"122":{"tf":1.0},"13":{"tf":1.0},"162":{"tf":1.0},"2":{"tf":1.0},"244":{"tf":1.4142135623730951},"3":{"tf":1.0},"39":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0},"93":{"tf":1.0}}}}}}}}},"i":{"a":{"df":1,"docs":{"234":{"tf":1.0}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"o":{"c":{"(":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"176":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":1,"docs":{"176":{"tf":2.449489742783178}},"、":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"、":{"d":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"176":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"w":{"df":1,"docs":{"276":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"h":{"a":{"$":{"df":0,"docs":{},",":{"$":{"\\":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"a":{"df":1,"docs":{"275":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"103":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":4,"docs":{"144":{"tf":1.0},"189":{"tf":1.0},"241":{"tf":1.0},"257":{"tf":1.0}}}}},"q":{"df":1,"docs":{"275":{"tf":1.0}},",":{"df":0,"docs":{},"為":{"df":0,"docs":{},"了":{"df":0,"docs":{},"節":{"df":0,"docs":{},"省":{"df":0,"docs":{},"空":{"df":0,"docs":{},"間":{"df":0,"docs":{},"使":{"df":0,"docs":{},"用":{"df":0,"docs":{},"量":{"df":0,"docs":{},",":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"274":{"tf":1.0}}}}}}}}}}}}}}}}}}}},"n":{"^":{"2":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":3,"docs":{"140":{"tf":1.0},"144":{"tf":1.0},"22":{"tf":1.0}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"46":{"tf":1.0},"47":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"47":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":1,"docs":{"185":{"tf":1.7320508075688772}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"256":{"tf":1.0}}}}}}}}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"176":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"i":{"df":11,"docs":{"0":{"tf":1.0},"153":{"tf":1.0},"163":{"tf":1.0},"173":{"tf":1.0},"200":{"tf":1.0},"226":{"tf":1.0},"245":{"tf":1.0},"259":{"tf":1.0},"269":{"tf":1.0},"277":{"tf":1.0},"282":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"139":{"tf":1.0},"214":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"185":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"175":{"tf":1.0},"179":{"tf":1.4142135623730951},"268":{"tf":1.0}}}}}}}},"r":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"117":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"t":{"df":3,"docs":{"131":{"tf":1.0},"132":{"tf":1.0},"143":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"x":{"df":1,"docs":{"25":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":10,"docs":{"102":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"33":{"tf":1.0},"44":{"tf":1.4142135623730951},"54":{"tf":1.0},"67":{"tf":1.0},"76":{"tf":1.0},"83":{"tf":1.0},"92":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"92":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"df":5,"docs":{"103":{"tf":1.4142135623730951},"107":{"tf":1.0},"108":{"tf":1.0},"67":{"tf":1.0},"76":{"tf":1.4142135623730951}}},"j":{"df":3,"docs":{"59":{"tf":1.0},"61":{"tf":1.0},"83":{"tf":1.0}}},"k":{"df":1,"docs":{"107":{"tf":1.0}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"92":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"(":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"132":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"117":{"tf":1.0},"118":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"1":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"119":{"tf":1.4142135623730951}}}}}},"[":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"119":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"、":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"2":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"2":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"119":{"tf":1.4142135623730951}}}}}},"[":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"119":{"tf":1.4142135623730951}}}}}}}},"df":1,"docs":{"119":{"tf":1.0}}},"[":{".":{".":{"df":0,"docs":{},"i":{"]":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"(":{"&":{"df":0,"docs":{},"v":{"df":1,"docs":{"61":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"61":{"tf":1.0}}},"m":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"117":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"1":{"0":{"0":{"0":{"df":1,"docs":{"145":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"8":{"df":1,"docs":{"42":{"tf":1.0}}},"9":{"df":1,"docs":{"42":{"tf":1.0}}},"b":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"33":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"92":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":4,"docs":{"103":{"tf":1.0},"107":{"tf":1.0},"44":{"tf":2.0},"54":{"tf":1.4142135623730951}},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"96":{"tf":1.0}}}}}},"i":{"+":{"1":{".":{".":{".":{"df":0,"docs":{},"j":{"df":1,"docs":{"96":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},".":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"]":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"[":{"df":0,"docs":{},"i":{".":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":1,"docs":{"118":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":3,"docs":{"108":{"tf":1.0},"61":{"tf":1.0},"76":{"tf":2.0}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}}}}}}}},"j":{".":{".":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"96":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":6,"docs":{"103":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"59":{"tf":1.4142135623730951},"67":{"tf":1.0},"83":{"tf":1.4142135623730951}}},"l":{"df":0,"docs":{},"o":{"df":2,"docs":{"108":{"tf":1.0},"44":{"tf":2.0}},"w":{".":{".":{".":{"df":0,"docs":{},"i":{"df":1,"docs":{"96":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"m":{"df":0,"docs":{},"i":{"d":{".":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":1,"docs":{"118":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":2,"docs":{"117":{"tf":1.4142135623730951},"33":{"tf":1.0}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"132":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"92":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"67":{"tf":1.0}}}}}}},"a":{"df":1,"docs":{"132":{"tf":1.0}},"y":{"[":{"0":{"df":1,"docs":{"125":{"tf":1.0}}},"1":{"df":1,"docs":{"125":{"tf":1.0}}},"2":{"df":1,"docs":{"125":{"tf":1.0}}},"3":{"df":1,"docs":{"125":{"tf":1.0}}},"4":{"df":1,"docs":{"125":{"tf":1.0}}},"5":{"df":1,"docs":{"125":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"187":{"tf":1.0}}}}},"df":0,"docs":{}}}},"_":{"df":0,"docs":{},"s":{"df":1,"docs":{"228":{"tf":1.4142135623730951}}}},"df":31,"docs":{"112":{"tf":1.0},"117":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"119":{"tf":1.4142135623730951},"123":{"tf":1.4142135623730951},"125":{"tf":1.0},"127":{"tf":1.4142135623730951},"128":{"tf":1.4142135623730951},"131":{"tf":2.0},"132":{"tf":1.0},"136":{"tf":2.23606797749979},"139":{"tf":1.0},"140":{"tf":1.4142135623730951},"143":{"tf":1.0},"145":{"tf":1.0},"147":{"tf":1.0},"153":{"tf":1.0},"163":{"tf":1.0},"20":{"tf":1.4142135623730951},"225":{"tf":1.0},"227":{"tf":1.0},"230":{"tf":1.7320508075688772},"231":{"tf":1.0},"234":{"tf":1.4142135623730951},"236":{"tf":1.0},"242":{"tf":1.0},"260":{"tf":1.0},"262":{"tf":2.449489742783178},"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0}},",":{"df":0,"docs":{},"而":{"df":0,"docs":{},"是":{"df":0,"docs":{},"在":{"df":0,"docs":{},"堆":{"df":0,"docs":{},"積":{"df":0,"docs":{},"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}}}},"df":8,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"130":{"tf":1.4142135623730951},"132":{"tf":1.4142135623730951},"143":{"tf":1.4142135623730951},"151":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"92":{"tf":1.0}}}},"s":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"i":{"df":10,"docs":{"112":{"tf":1.0},"136":{"tf":1.0},"175":{"tf":1.0},"196":{"tf":1.0},"230":{"tf":1.0},"279":{"tf":1.0},"73":{"tf":1.0},"81":{"tf":1.4142135623730951},"96":{"tf":1.0},"97":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"!":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"187":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"187":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":3,"docs":{"119":{"tf":1.0},"185":{"tf":1.0},"207":{"tf":1.4142135623730951}}}}},"o":{"c":{"df":0,"docs":{},"i":{"df":4,"docs":{"185":{"tf":1.0},"211":{"tf":1.0},"216":{"tf":1.4142135623730951},"225":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"228":{"tf":1.0},"230":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":11,"docs":{"1":{"tf":1.0},"14":{"tf":1.7320508075688772},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"260":{"tf":1.0}}}}}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"262":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"210":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"188":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"185":{"tf":1.0}}}}}}},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":10,"docs":{"113":{"tf":1.0},"126":{"tf":1.0},"137":{"tf":1.0},"148":{"tf":1.0},"58":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":1.0},"88":{"tf":1.0},"98":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"g":{"df":15,"docs":{"113":{"tf":1.0},"126":{"tf":1.0},"137":{"tf":1.0},"148":{"tf":1.0},"24":{"tf":1.0},"30":{"tf":1.0},"43":{"tf":1.4142135623730951},"51":{"tf":1.0},"58":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":1.0},"84":{"tf":1.0},"88":{"tf":1.0},"98":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"i":{"df":2,"docs":{"43":{"tf":1.0},"47":{"tf":1.0}}}},"o":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"107":{"tf":1.0},"118":{"tf":1.0}}},"df":0,"docs":{}}}},"、":{"b":{"df":1,"docs":{"285":{"tf":1.0}}},"df":0,"docs":{}},",":{"a":{"df":1,"docs":{"208":{"tf":1.0}}},"df":0,"docs":{}}},"b":{"+":{"1":{"df":1,"docs":{"287":{"tf":1.0}}},"df":0,"docs":{}},".":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"210":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},">":{"(":{"&":{"'":{"a":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"k":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"181":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":7,"docs":{"117":{"tf":1.4142135623730951},"118":{"tf":1.0},"119":{"tf":1.0},"178":{"tf":1.0},"181":{"tf":1.0},"189":{"tf":1.0},"207":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{".":{".":{"df":0,"docs":{},"s":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}},"df":5,"docs":{"111":{"tf":1.0},"117":{"tf":1.0},"184":{"tf":1.0},"234":{"tf":1.0},"33":{"tf":2.449489742783178}}}}},"df":18,"docs":{"125":{"tf":2.6457513110645907},"139":{"tf":1.4142135623730951},"185":{"tf":1.7320508075688772},"207":{"tf":2.449489742783178},"208":{"tf":1.7320508075688772},"210":{"tf":1.0},"240":{"tf":1.7320508075688772},"250":{"tf":3.1622776601683795},"251":{"tf":2.0},"253":{"tf":1.7320508075688772},"255":{"tf":1.4142135623730951},"256":{"tf":3.4641016151377544},"284":{"tf":2.6457513110645907},"285":{"tf":1.4142135623730951},"287":{"tf":2.0},"289":{"tf":1.7320508075688772},"290":{"tf":1.0},"41":{"tf":2.0}},"e":{"df":1,"docs":{"210":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"176":{"tf":1.0},"180":{"tf":1.4142135623730951}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"{":{"c":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"114":{"tf":1.0},"284":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"274":{"tf":1.0}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"df":21,"docs":{"113":{"tf":1.0},"126":{"tf":1.0},"137":{"tf":1.0},"139":{"tf":1.4142135623730951},"148":{"tf":1.0},"161":{"tf":1.0},"171":{"tf":1.0},"189":{"tf":1.0},"24":{"tf":1.0},"241":{"tf":1.0},"257":{"tf":1.0},"30":{"tf":1.0},"43":{"tf":1.0},"51":{"tf":1.0},"58":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":1.0},"84":{"tf":1.0},"88":{"tf":1.0},"98":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"260":{"tf":1.0},"275":{"tf":1.0},"276":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"44":{"tf":1.0}}}}}}}},"f":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"\"":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"264":{"tf":1.0}}}}}}},"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"264":{"tf":1.0}}}}}}}},"&":{"1":{"df":1,"docs":{"264":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"!":{"[":{"3":{".":{"1":{"4":{"1":{"5":{"9":{"df":1,"docs":{"264":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":1,"docs":{"264":{"tf":1.4142135623730951}}},"i":{"df":0,"docs":{},"g":{"df":7,"docs":{"10":{"tf":1.4142135623730951},"162":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"19":{"tf":1.7320508075688772},"20":{"tf":1.0},"22":{"tf":1.4142135623730951}}},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":22,"docs":{"117":{"tf":1.0},"20":{"tf":1.0},"27":{"tf":2.0},"28":{"tf":1.0},"29":{"tf":1.0},"3":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":2.0},"39":{"tf":1.4142135623730951},"54":{"tf":1.0},"61":{"tf":2.449489742783178},"85":{"tf":1.0},"87":{"tf":1.0},"89":{"tf":1.0},"92":{"tf":1.0}}},"y":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}}},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"(":{"&":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"[":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{".":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"54":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{">":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":2,"docs":{"32":{"tf":1.0},"33":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"_":{"b":{"df":0,"docs":{},"i":{"df":1,"docs":{"143":{"tf":1.0}}}},"df":0,"docs":{}},"df":2,"docs":{"32":{"tf":1.0},"61":{"tf":2.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"d":{"df":1,"docs":{"217":{"tf":1.0}}},"df":1,"docs":{"134":{"tf":1.0}}},"t":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"/":{"c":{"a":{"a":{"b":{"7":{"df":0,"docs":{},"f":{"b":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":9,"docs":{"255":{"tf":1.0},"260":{"tf":1.0},"262":{"tf":3.3166247903554},"263":{"tf":1.7320508075688772},"264":{"tf":1.7320508075688772},"267":{"tf":1.7320508075688772},"269":{"tf":1.4142135623730951},"271":{"tf":1.0},"275":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"255":{"tf":1.0}}}}}}},"<":{"&":{"'":{"b":{"df":1,"docs":{"255":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"255":{"tf":1.7320508075688772}}}},"s":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"267":{"tf":1.7320508075688772},"269":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":2,"docs":{"179":{"tf":1.0},"255":{"tf":1.0}}}}}}},"l":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"227":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"176":{"tf":1.0},"185":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"\"":{"1":{"2":{"3":{"4":{"df":1,"docs":{"265":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}}}},"df":20,"docs":{"224":{"tf":1.4142135623730951},"259":{"tf":3.4641016151377544},"260":{"tf":2.23606797749979},"261":{"tf":1.0},"262":{"tf":1.4142135623730951},"263":{"tf":1.0},"264":{"tf":1.7320508075688772},"265":{"tf":1.4142135623730951},"266":{"tf":1.4142135623730951},"267":{"tf":1.4142135623730951},"268":{"tf":1.4142135623730951},"269":{"tf":1.4142135623730951},"270":{"tf":1.4142135623730951},"271":{"tf":2.8284271247461903},"272":{"tf":3.3166247903554},"273":{"tf":2.8284271247461903},"274":{"tf":1.4142135623730951},"275":{"tf":1.7320508075688772},"276":{"tf":2.449489742783178},"8":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":6,"docs":{"262":{"tf":2.6457513110645907},"263":{"tf":2.0},"264":{"tf":1.7320508075688772},"265":{"tf":1.0},"266":{"tf":1.0},"276":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"263":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"263":{"tf":1.0}}}}},"df":0,"docs":{}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":2,"docs":{"264":{"tf":1.4142135623730951},"267":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{"df":3,"docs":{"264":{"tf":1.7320508075688772},"265":{"tf":1.4142135623730951},"269":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}}}}}},"n":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"o":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"185":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"227":{"tf":1.0}}},"l":{"df":10,"docs":{"157":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.0},"212":{"tf":1.0},"249":{"tf":2.0},"253":{"tf":1.7320508075688772},"256":{"tf":1.7320508075688772},"262":{"tf":1.7320508075688772},"269":{"tf":1.7320508075688772},"33":{"tf":1.0}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"<":{"df":0,"docs":{},"q":{"df":3,"docs":{"237":{"tf":1.0},"238":{"tf":1.0},"249":{"tf":1.4142135623730951}}}},"df":5,"docs":{"185":{"tf":1.4142135623730951},"211":{"tf":1.4142135623730951},"237":{"tf":2.0},"251":{"tf":2.6457513110645907},"252":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"54":{"tf":1.0}}}}},"df":6,"docs":{"118":{"tf":1.4142135623730951},"185":{"tf":1.4142135623730951},"187":{"tf":1.7320508075688772},"265":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"67":{"tf":1.0}},"?":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"67":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"x":{":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"211":{"tf":1.0}}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"207":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"202":{"tf":1.0},"211":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"202":{"tf":1.0}}}},"df":3,"docs":{"195":{"tf":1.0},"202":{"tf":1.0},"210":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"233":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":4,"docs":{"279":{"tf":1.0},"44":{"tf":2.0},"76":{"tf":1.0},"92":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"u":{"b":{"b":{"df":0,"docs":{},"l":{"df":10,"docs":{"20":{"tf":1.0},"4":{"tf":1.0},"71":{"tf":2.23606797749979},"72":{"tf":1.0},"73":{"tf":1.7320508075688772},"74":{"tf":1.0},"75":{"tf":1.7320508075688772},"76":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951},"94":{"tf":1.0}},"e":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"76":{"tf":1.0}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"d":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"76":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{".":{"c":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"(":{"&":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"143":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"237":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"(":{"df":0,"docs":{},"|":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"238":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"238":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"(":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"238":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{")":{".":{"1":{"df":1,"docs":{"238":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"143":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"143":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"h":{"df":1,"docs":{"142":{"tf":1.7320508075688772}}},"k":{"df":1,"docs":{"234":{"tf":1.0}}}},"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"239":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"235":{"tf":1.0}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"h":{"df":1,"docs":{"143":{"tf":1.0}}}},"df":2,"docs":{"142":{"tf":1.0},"143":{"tf":1.4142135623730951}}}}}}},"df":29,"docs":{"123":{"tf":1.0},"134":{"tf":2.449489742783178},"135":{"tf":1.7320508075688772},"136":{"tf":2.23606797749979},"137":{"tf":1.4142135623730951},"138":{"tf":2.23606797749979},"139":{"tf":1.7320508075688772},"140":{"tf":1.7320508075688772},"141":{"tf":1.0},"142":{"tf":3.0},"143":{"tf":3.1622776601683795},"144":{"tf":2.23606797749979},"145":{"tf":1.4142135623730951},"147":{"tf":1.7320508075688772},"149":{"tf":1.4142135623730951},"150":{"tf":1.0},"227":{"tf":1.7320508075688772},"230":{"tf":1.4142135623730951},"231":{"tf":1.4142135623730951},"234":{"tf":3.4641016151377544},"235":{"tf":2.0},"236":{"tf":2.6457513110645907},"237":{"tf":1.7320508075688772},"238":{"tf":2.23606797749979},"239":{"tf":1.7320508075688772},"240":{"tf":1.0},"242":{"tf":2.0},"274":{"tf":1.0},"4":{"tf":1.0}},"s":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"_":{"b":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"|":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"143":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"236":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"]":{".":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"143":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"、":{"df":0,"docs":{},"s":{"c":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"、":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":1,"docs":{"143":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},",":{"df":0,"docs":{},"並":{"df":0,"docs":{},"考":{"df":0,"docs":{},"慮":{"df":0,"docs":{},"平":{"df":0,"docs":{},"攤":{"df":0,"docs":{},"分":{"df":0,"docs":{},"析":{"df":0,"docs":{},"(":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"140":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"174":{"tf":1.0},"175":{"tf":1.4142135623730951},"180":{"tf":1.4142135623730951},"190":{"tf":1.4142135623730951}}}}}},"g":{"df":1,"docs":{"15":{"tf":1.7320508075688772}}},"i":{"df":0,"docs":{},"l":{"d":{"df":4,"docs":{"0":{"tf":1.0},"267":{"tf":1.0},"89":{"tf":1.7320508075688772},"92":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"276":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":3,"docs":{"116":{"tf":1.0},"118":{"tf":1.4142135623730951},"119":{"tf":1.0}}}}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":4,"docs":{"147":{"tf":1.0},"149":{"tf":1.0},"236":{"tf":1.0},"287":{"tf":1.0}}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"152":{"tf":1.0}}},"df":0,"docs":{}}}}},",":{"b":{"df":1,"docs":{"208":{"tf":1.0}}},"df":0,"docs":{}},":":{"a":{"df":1,"docs":{"256":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"c":{".":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"210":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"1":{"df":1,"docs":{"279":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"279":{"tf":1.4142135623730951}}},"_":{"0":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"139":{"tf":1.0}}}},"df":1,"docs":{"139":{"tf":1.4142135623730951}},"n":{"df":1,"docs":{"139":{"tf":1.0}}}},"1":{"df":1,"docs":{"139":{"tf":1.7320508075688772}},"k":{"df":1,"docs":{"139":{"tf":1.0}}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"h":{"df":6,"docs":{"21":{"tf":1.0},"218":{"tf":1.0},"230":{"tf":1.7320508075688772},"259":{"tf":1.0},"271":{"tf":1.0},"274":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":5,"docs":{"131":{"tf":1.0},"132":{"tf":1.0},"176":{"tf":1.0},"276":{"tf":1.0},"44":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":7,"docs":{"100":{"tf":1.7320508075688772},"105":{"tf":2.23606797749979},"115":{"tf":1.0},"180":{"tf":1.0},"210":{"tf":2.23606797749979},"211":{"tf":1.0},"99":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"176":{"tf":1.0}}}}}},"p":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"179":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"a":{"c":{"df":5,"docs":{"176":{"tf":1.0},"239":{"tf":1.7320508075688772},"262":{"tf":1.0},"267":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"159":{"tf":1.0}}}}}},"df":3,"docs":{"176":{"tf":2.23606797749979},"180":{"tf":1.0},"188":{"tf":1.0}}},"r":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"256":{"tf":1.4142135623730951}}}}},"df":1,"docs":{"233":{"tf":1.4142135623730951}},"e":{"df":1,"docs":{"176":{"tf":1.0}}},"g":{"df":0,"docs":{},"o":{"df":2,"docs":{"291":{"tf":1.0},"294":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":7,"docs":{"111":{"tf":1.0},"138":{"tf":1.4142135623730951},"139":{"tf":1.4142135623730951},"189":{"tf":1.4142135623730951},"241":{"tf":1.4142135623730951},"257":{"tf":1.4142135623730951},"84":{"tf":1.0}},")":{"df":0,"docs":{},",":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"d":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"117":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":1,"docs":{"190":{"tf":1.0}}}}}}}}},"c":{"df":14,"docs":{"122":{"tf":1.0},"13":{"tf":1.0},"190":{"tf":1.0},"225":{"tf":1.0},"244":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.4142135623730951},"62":{"tf":1.0},"64":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"77":{"tf":1.0},"93":{"tf":1.0}}},"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":16,"docs":{"139":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"149":{"tf":1.0},"150":{"tf":1.4142135623730951},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.4142135623730951},"230":{"tf":1.0},"273":{"tf":1.0},"290":{"tf":1.0},"30":{"tf":1.0},"42":{"tf":1.7320508075688772},"58":{"tf":2.23606797749979},"66":{"tf":1.0},"89":{"tf":1.0},"99":{"tf":1.0}}}}},"df":8,"docs":{"119":{"tf":1.0},"125":{"tf":2.449489742783178},"16":{"tf":1.4142135623730951},"180":{"tf":1.0},"205":{"tf":1.0},"210":{"tf":1.0},"256":{"tf":1.0},"58":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"114":{"tf":1.0}}}}},"h":{"1":{"df":2,"docs":{"287":{"tf":2.0},"289":{"tf":1.4142135623730951}}},"2":{"df":2,"docs":{"287":{"tf":2.0},"289":{"tf":1.4142135623730951}}},"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"230":{"tf":2.0},"234":{"tf":1.4142135623730951},"242":{"tf":1.0},"243":{"tf":1.0},"251":{"tf":1.0},"274":{"tf":1.4142135623730951}}}},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"185":{"tf":1.0},"288":{"tf":1.0}}}},"r":{"df":2,"docs":{"287":{"tf":1.0},"289":{"tf":1.0}},"t":{"df":1,"docs":{"175":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"162":{"tf":1.0},"20":{"tf":1.0}},"s":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"118":{"tf":1.0},"96":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"251":{"tf":1.0},"252":{"tf":1.0}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"89":{"tf":1.7320508075688772},"92":{"tf":3.4641016151377544}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"89":{"tf":1.0}}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"103":{"tf":1.0}}}}},"z":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"12":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"259":{"tf":1.0}}}}}}}}},"i":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"190":{"tf":1.4142135623730951},"198":{"tf":1.0},"7":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"r":{"a":{"'":{"df":1,"docs":{"83":{"tf":1.0}}},"df":2,"docs":{"80":{"tf":1.0},"84":{"tf":1.0}}},"df":0,"docs":{}}}},"j":{"df":0,"docs":{},"k":{"df":1,"docs":{"287":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"204":{"tf":1.0},"235":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"294":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":7,"docs":{"130":{"tf":1.4142135623730951},"132":{"tf":1.0},"143":{"tf":1.4142135623730951},"151":{"tf":1.0},"251":{"tf":1.4142135623730951},"255":{"tf":1.7320508075688772},"268":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"251":{"tf":3.7416573867739413},"288":{"tf":1.0}},"e":{"@":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"/":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"2":{"5":{"4":{":":{"2":{"3":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{":":{"1":{"8":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"u":{"d":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"271":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"251":{"tf":1.0}}}}}}},"u":{"b":{"df":15,"docs":{"0":{"tf":2.23606797749979},"1":{"tf":1.0},"10":{"tf":1.0},"109":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"230":{"tf":1.0}}}}}}}},"m":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":2,"docs":{"42":{"tf":1.0},"47":{"tf":1.0}}}}}},"p":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"c":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"289":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"c":{"df":2,"docs":{"122":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"b":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"122":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"e":{"df":5,"docs":{"10":{"tf":1.0},"139":{"tf":1.0},"276":{"tf":1.0},"277":{"tf":1.0},"291":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{":":{":":{"<":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"131":{"tf":1.0},"132":{"tf":1.0},"143":{"tf":1.0},"255":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"d":{"df":1,"docs":{"230":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":2,"docs":{"229":{"tf":1.0},"274":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0}}}}},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"111":{"tf":1.0},"116":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":12,"docs":{"122":{"tf":1.0},"13":{"tf":1.0},"190":{"tf":1.0},"199":{"tf":1.0},"225":{"tf":1.0},"244":{"tf":1.0},"47":{"tf":1.4142135623730951},"62":{"tf":1.0},"70":{"tf":1.0},"77":{"tf":1.0},"9":{"tf":1.0},"93":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"47":{"tf":1.0}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"119":{"tf":1.0}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"256":{"tf":1.0},"44":{"tf":1.0}}}}}}},"t":{"df":1,"docs":{"264":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"l":{"df":5,"docs":{"100":{"tf":1.0},"202":{"tf":1.0},"251":{"tf":1.4142135623730951},"262":{"tf":1.4142135623730951},"264":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":32,"docs":{"100":{"tf":1.4142135623730951},"113":{"tf":1.0},"114":{"tf":1.4142135623730951},"115":{"tf":1.4142135623730951},"126":{"tf":1.0},"127":{"tf":1.4142135623730951},"128":{"tf":1.4142135623730951},"137":{"tf":1.0},"140":{"tf":1.4142135623730951},"144":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.4142135623730951},"150":{"tf":1.4142135623730951},"161":{"tf":1.4142135623730951},"162":{"tf":1.0},"171":{"tf":1.4142135623730951},"214":{"tf":1.0},"22":{"tf":1.4142135623730951},"24":{"tf":1.0},"270":{"tf":1.0},"290":{"tf":1.0},"30":{"tf":1.0},"43":{"tf":1.0},"51":{"tf":1.0},"58":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.4142135623730951},"82":{"tf":1.0},"88":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.4142135623730951}}}}},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"47":{"tf":1.0},"84":{"tf":1.0}}}}}},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"256":{"tf":1.7320508075688772}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"111":{"tf":1.4142135623730951},"116":{"tf":1.4142135623730951},"95":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"264":{"tf":1.0}}},"df":0,"docs":{}},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"262":{"tf":1.7320508075688772}}}}},"df":2,"docs":{"239":{"tf":1.0},"83":{"tf":1.0}}},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"211":{"tf":1.0},"255":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"216":{"tf":1.4142135623730951},"225":{"tf":1.0},"249":{"tf":1.4142135623730951},"266":{"tf":1.0}},"s":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"269":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"v":{"df":2,"docs":{"257":{"tf":1.0},"270":{"tf":1.0}}}},"<":{"df":0,"docs":{},"q":{">":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"249":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"176":{"tf":1.4142135623730951},"180":{"tf":1.0},"185":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":1,"docs":{"279":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"]":{"[":{"1":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"i":{"df":8,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"143":{"tf":1.0},"180":{"tf":1.0},"185":{"tf":1.4142135623730951}}},"y":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"180":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"13":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"288":{"tf":1.0}}}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"289":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":2,"docs":{"105":{"tf":1.0},"210":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},")":{"df":0,"docs":{},",":{"df":0,"docs":{},"漢":{"df":0,"docs":{},"明":{"df":0,"docs":{},"碼":{"df":0,"docs":{},"(":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":1,"docs":{"277":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"df":0,"docs":{},"s":{"c":{"a":{"df":0,"docs":{},"n":{"(":{"0":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}},"[":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}}},"df":0,"docs":{}},"df":23,"docs":{"123":{"tf":2.449489742783178},"124":{"tf":1.4142135623730951},"125":{"tf":2.23606797749979},"126":{"tf":1.0},"127":{"tf":2.23606797749979},"128":{"tf":1.7320508075688772},"129":{"tf":1.4142135623730951},"130":{"tf":1.4142135623730951},"131":{"tf":2.0},"132":{"tf":1.7320508075688772},"133":{"tf":1.7320508075688772},"145":{"tf":2.23606797749979},"147":{"tf":1.7320508075688772},"149":{"tf":1.4142135623730951},"150":{"tf":1.0},"151":{"tf":1.7320508075688772},"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.4142135623730951},"272":{"tf":2.449489742783178},"278":{"tf":1.7320508075688772},"279":{"tf":1.7320508075688772},"4":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"151":{"tf":1.0}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"f":{"df":2,"docs":{"130":{"tf":1.0},"132":{"tf":1.0}}}},"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"152":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"225":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"u":{"df":6,"docs":{"192":{"tf":1.4142135623730951},"21":{"tf":1.0},"230":{"tf":1.4142135623730951},"259":{"tf":1.0},"271":{"tf":1.0},"85":{"tf":1.4142135623730951}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"62":{"tf":1.0}}}}}}}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"44":{"tf":1.0}},"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":11,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"122":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"142":{"tf":1.0},"143":{"tf":1.7320508075688772},"207":{"tf":1.0},"211":{"tf":1.0},"227":{"tf":1.0},"77":{"tf":1.0}},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"13":{"tf":1.0}}}}}},"df":0,"docs":{}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"229":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":1,"docs":{"275":{"tf":3.3166247903554}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{"?":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"207":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"207":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"207":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":2,"docs":{"207":{"tf":2.8284271247461903},"208":{"tf":2.449489742783178}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"207":{"tf":1.7320508075688772},"208":{"tf":1.0},"251":{"tf":1.4142135623730951}}}}}}}}},"d":{".":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{")":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"(":{"1":{"df":1,"docs":{"186":{"tf":1.0}}},"2":{"df":1,"docs":{"186":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"3":{"df":1,"docs":{"186":{"tf":1.0}}},"4":{"df":1,"docs":{"186":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"251":{"tf":1.0}}}}},"t":{"a":{"df":11,"docs":{"162":{"tf":1.0},"172":{"tf":1.0},"175":{"tf":2.449489742783178},"200":{"tf":1.0},"245":{"tf":1.0},"251":{"tf":1.0},"259":{"tf":1.0},"271":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0},"43":{"tf":1.0}}},"df":0,"docs":{}}},"df":5,"docs":{"125":{"tf":2.449489742783178},"148":{"tf":1.0},"149":{"tf":1.4142135623730951},"150":{"tf":1.0},"186":{"tf":1.7320508075688772}},"e":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{".":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"176":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"_":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"!":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":1,"docs":{"179":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"188":{"tf":1.0}}}}}}},"df":2,"docs":{"188":{"tf":2.23606797749979},"213":{"tf":2.0}}}}},"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"185":{"tf":1.0},"251":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"238":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"236":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"131":{"tf":1.0},"132":{"tf":1.0},"236":{"tf":1.7320508075688772}},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":4,"docs":{"233":{"tf":1.0},"263":{"tf":1.4142135623730951},"264":{"tf":1.0},"269":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"233":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}}}},"l":{"df":1,"docs":{"287":{"tf":2.0}},"e":{"df":0,"docs":{},"t":{"df":4,"docs":{"161":{"tf":1.0},"171":{"tf":1.0},"282":{"tf":1.0},"289":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":2,"docs":{"263":{"tf":1.0},"264":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"47":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"q":{"df":0,"docs":{},"u":{"df":20,"docs":{"171":{"tf":1.0},"173":{"tf":1.7320508075688772},"174":{"tf":1.4142135623730951},"175":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":2.0},"178":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.0},"182":{"tf":1.4142135623730951},"183":{"tf":1.0},"184":{"tf":2.0},"185":{"tf":2.0},"186":{"tf":2.0},"187":{"tf":1.0},"188":{"tf":1.0},"189":{"tf":1.0},"190":{"tf":1.0},"6":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"f":{"df":1,"docs":{"184":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},":":{":":{"c":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"179":{"tf":1.0}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"184":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"186":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"186":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"186":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{"df":6,"docs":{"177":{"tf":1.4142135623730951},"179":{"tf":1.0},"184":{"tf":1.0},"186":{"tf":2.6457513110645907},"187":{"tf":1.4142135623730951},"188":{"tf":1.0}}}},"df":0,"docs":{},"u":{"df":2,"docs":{"165":{"tf":1.0},"171":{"tf":1.4142135623730951}},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"168":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},")":{"df":0,"docs":{},"是":{"df":0,"docs":{},"一":{"df":0,"docs":{},"般":{"df":0,"docs":{},"化":{"df":0,"docs":{},"(":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"173":{"tf":1.0}}}}}}}}}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{":":{":":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"211":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"176":{"tf":1.0},"83":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"188":{"tf":1.4142135623730951}},"e":{"(":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"188":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"92":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"270":{"tf":1.0}}}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"103":{"tf":1.0},"44":{"tf":1.0},"54":{"tf":1.0}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":1.0},"47":{"tf":1.0}}}}}}}}}}}},"i":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":6,"docs":{"112":{"tf":1.0},"136":{"tf":1.0},"258":{"tf":1.0},"73":{"tf":1.0},"81":{"tf":1.4142135623730951},"97":{"tf":1.0}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},",":{"df":0,"docs":{},"j":{"a":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"216":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"251":{"tf":1.0},"255":{"tf":1.0},"257":{"tf":1.4142135623730951},"267":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"<":{"'":{"a":{">":{"(":{"&":{"'":{"a":{"df":1,"docs":{"252":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},":":{"df":0,"docs":{},"差":{"df":0,"docs":{},"集":{"df":0,"docs":{},",":{"a":{"df":1,"docs":{"250":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":5,"docs":{"146":{"tf":1.4142135623730951},"147":{"tf":1.7320508075688772},"148":{"tf":1.0},"151":{"tf":2.0},"278":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"250":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"256":{"tf":1.0}}}}}}},"k":{"df":1,"docs":{"259":{"tf":1.0}}},"p":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"240":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"84":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":17,"docs":{"230":{"tf":1.0},"277":{"tf":1.7320508075688772},"278":{"tf":1.0},"279":{"tf":1.0},"280":{"tf":1.0},"281":{"tf":1.4142135623730951},"282":{"tf":2.0},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.7320508075688772},"288":{"tf":1.7320508075688772},"289":{"tf":1.4142135623730951},"290":{"tf":1.0},"291":{"tf":2.23606797749979},"9":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{")":{".":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"|":{"d":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"289":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"[":{"0":{"]":{"[":{"df":0,"docs":{},"j":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":1,"docs":{"289":{"tf":1.0}}},"df":0,"docs":{},"i":{"]":{"[":{"0":{"df":2,"docs":{"287":{"tf":1.4142135623730951},"288":{"tf":1.0}}},"df":0,"docs":{},"j":{"df":1,"docs":{"287":{"tf":2.0}}}},"df":0,"docs":{}},"df":1,"docs":{"287":{"tf":2.0}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"j":{"df":1,"docs":{"289":{"tf":2.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":1,"docs":{"289":{"tf":1.4142135623730951}},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":4,"docs":{"129":{"tf":1.0},"229":{"tf":1.0},"43":{"tf":1.7320508075688772},"47":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"i":{"d":{"df":5,"docs":{"110":{"tf":1.0},"111":{"tf":1.0},"116":{"tf":1.4142135623730951},"30":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":6,"docs":{"0":{"tf":1.0},"190":{"tf":1.0},"215":{"tf":1.0},"225":{"tf":1.0},"244":{"tf":1.0},"258":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"262":{"tf":1.0}}}},"df":0,"docs":{}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"199":{"tf":1.0},"258":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"271":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"87":{"tf":1.0}}},"’":{"df":0,"docs":{},"t":{"df":1,"docs":{"274":{"tf":1.0}}}}},"u":{"b":{"df":0,"docs":{},"l":{"df":5,"docs":{"173":{"tf":1.0},"180":{"tf":1.0},"230":{"tf":1.0},"271":{"tf":1.0},"275":{"tf":1.0}},"i":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"n":{"df":7,"docs":{"116":{"tf":1.0},"117":{"tf":1.4142135623730951},"119":{"tf":1.0},"87":{"tf":1.7320508075688772},"89":{"tf":1.7320508075688772},"90":{"tf":2.0},"92":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"176":{"tf":1.0},"184":{"tf":1.0},"210":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}},"df":7,"docs":{"176":{"tf":2.8284271247461903},"182":{"tf":1.0},"184":{"tf":2.8284271247461903},"185":{"tf":1.0},"205":{"tf":1.7320508075688772},"210":{"tf":3.3166247903554},"251":{"tf":1.0}}}}},"s":{"a":{"df":1,"docs":{"152":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":3,"docs":{"180":{"tf":1.4142135623730951},"233":{"tf":1.4142135623730951},"265":{"tf":1.7320508075688772}}}},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"185":{"tf":1.0}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"107":{"tf":1.0}}},"df":0,"docs":{}}}},"s":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"215":{"tf":1.0}}}}}},"df":0,"docs":{}},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"107":{"tf":1.0}}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":6,"docs":{"140":{"tf":1.0},"230":{"tf":1.0},"233":{"tf":1.4142135623730951},"240":{"tf":1.0},"262":{"tf":1.0},"285":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"0":{"3":{"7":{"3":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"2":{"3":{"df":1,"docs":{"251":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"^":{"df":0,"docs":{},"{":{"7":{"7":{"7":{"^":{"df":0,"docs":{},"{":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"_":{"2":{"^":{"9":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"139":{"tf":1.4142135623730951},"146":{"tf":1.4142135623730951},"211":{"tf":1.0}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"0":{"tf":1.0},"109":{"tf":1.0},"244":{"tf":1.0},"282":{"tf":1.0}}}}},"df":2,"docs":{"125":{"tf":2.23606797749979},"284":{"tf":1.0}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{".":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"1":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}},"2":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":7,"docs":{"182":{"tf":1.4142135623730951},"186":{"tf":2.23606797749979},"202":{"tf":1.7320508075688772},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"268":{"tf":1.7320508075688772},"269":{"tf":2.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":11,"docs":{"103":{"tf":1.4142135623730951},"107":{"tf":1.0},"108":{"tf":2.23606797749979},"119":{"tf":1.4142135623730951},"131":{"tf":1.0},"132":{"tf":1.7320508075688772},"139":{"tf":1.0},"142":{"tf":1.0},"176":{"tf":1.0},"179":{"tf":1.0},"185":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"105":{"tf":1.0}}}}},"s":{"df":1,"docs":{"251":{"tf":1.7320508075688772}}}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":5,"docs":{"140":{"tf":1.0},"175":{"tf":1.0},"227":{"tf":1.0},"44":{"tf":1.0},"54":{"tf":1.0}}}}}},"n":{"d":{"df":4,"docs":{"173":{"tf":1.0},"211":{"tf":1.0},"34":{"tf":1.4142135623730951},"92":{"tf":3.3166247903554}},"{":{"c":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"114":{"tf":1.0},"284":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":3,"docs":{"165":{"tf":1.0},"167":{"tf":1.0},"171":{"tf":1.0}},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"167":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":2,"docs":{"210":{"tf":1.0},"215":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"271":{"tf":1.0}}},"y":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"239":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"266":{"tf":1.0},"267":{"tf":1.0},"270":{"tf":1.4142135623730951}}}}}}}},"q":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"212":{"tf":1.0},"256":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":9,"docs":{"233":{"tf":1.7320508075688772},"234":{"tf":1.4142135623730951},"236":{"tf":1.4142135623730951},"237":{"tf":1.0},"238":{"tf":1.0},"247":{"tf":1.0},"249":{"tf":1.7320508075688772},"255":{"tf":1.0},"256":{"tf":2.8284271247461903}},"u":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"107":{"tf":1.0},"256":{"tf":1.0},"44":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},")":{"df":0,"docs":{},"定":{"df":0,"docs":{},"義":{"df":0,"docs":{},"為":{"df":0,"docs":{},":":{"df":0,"docs":{},"x":{"df":1,"docs":{"256":{"tf":1.0}}}}}}}}}}}}},"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"(":{"df":0,"docs":{},"s":{"a":{"df":1,"docs":{"212":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"256":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},",":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"233":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"r":{"(":{"0":{"df":3,"docs":{"33":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951}}},"b":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"143":{"tf":1.0}}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}},"p":{"df":0,"docs":{},"o":{"df":2,"docs":{"207":{"tf":1.4142135623730951},"61":{"tf":1.0}}}},"目":{"df":0,"docs":{},"標":{"df":0,"docs":{},"值":{"df":0,"docs":{},"若":{"df":0,"docs":{},"插":{"df":0,"docs":{},"入":{"df":0,"docs":{},"後":{"df":0,"docs":{},",":{"df":0,"docs":{},"不":{"df":0,"docs":{},"會":{"df":0,"docs":{},"影":{"df":0,"docs":{},"響":{"df":0,"docs":{},"序":{"df":0,"docs":{},"列":{"df":0,"docs":{},"排":{"df":0,"docs":{},"序":{"df":0,"docs":{},"的":{"df":0,"docs":{},"位":{"df":0,"docs":{},"置":{")":{"df":0,"docs":{},"。":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"32":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}}},"_":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"267":{"tf":2.449489742783178},"269":{"tf":1.7320508075688772}},"e":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}},"o":{"df":0,"docs":{},"g":{"2":{"(":{")":{")":{".":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":2,"docs":{"44":{"tf":1.0},"61":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"r":{"[":{"df":0,"docs":{},"e":{"0":{"1":{"9":{"5":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"7":{"7":{"df":1,"docs":{"262":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"0":{"8":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"7":{"3":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"9":{"2":{"df":1,"docs":{"264":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"3":{"5":{"df":1,"docs":{"262":{"tf":1.0}}},"df":0,"docs":{}},"9":{"5":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"2":{"3":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":4,"docs":{"251":{"tf":1.4142135623730951},"264":{"tf":1.0},"276":{"tf":1.0},"277":{"tf":1.0}}}}}},"t":{"df":2,"docs":{"274":{"tf":1.0},"275":{"tf":1.0}}},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":5,"docs":{"143":{"tf":1.0},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"19":{"tf":1.7320508075688772},"92":{"tf":1.0}}}},"t":{"df":1,"docs":{"44":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"(":{"\"":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"238":{"tf":1.0}}}}},"df":0,"docs":{}}},"&":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"!":{"(":{"\"":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"238":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":3,"docs":{"185":{"tf":1.0},"238":{"tf":1.0},"240":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"<":{"df":0,"docs":{},"t":{">":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"54":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":10,"docs":{"3":{"tf":1.0},"37":{"tf":2.0},"48":{"tf":2.0},"49":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.4142135623730951}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"185":{"tf":1.0}}}}}}},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"130":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"f":{"(":{"df":0,"docs":{},"n":{"df":3,"docs":{"17":{"tf":3.3166247903554},"18":{"tf":1.7320508075688772},"19":{"tf":2.23606797749979}}},"x":{")":{"=":{"\\":{"df":0,"docs":{},"s":{"df":0,"docs":{},"q":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"{":{"\\":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"{":{"1":{"8":{"2":{"7":{"7":{"7":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"2":{"8":{"6":{"df":0,"docs":{},"}":{"df":0,"docs":{},"}":{"\\":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"16":{"tf":1.7320508075688772}}}},".":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{")":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"188":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"6":{"4":{"df":3,"docs":{"239":{"tf":1.4142135623730951},"267":{"tf":2.449489742783178},"269":{"tf":2.0}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"q":{"df":1,"docs":{"274":{"tf":1.0}}}},"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"176":{"tf":1.0}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":8,"docs":{"231":{"tf":2.8284271247461903},"235":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.4142135623730951},"242":{"tf":1.4142135623730951},"243":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.0}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":3,"docs":{"122":{"tf":1.0},"244":{"tf":1.0},"93":{"tf":1.0}}},"s":{"df":7,"docs":{"157":{"tf":1.0},"168":{"tf":1.0},"212":{"tf":1.0},"253":{"tf":1.4142135623730951},"256":{"tf":2.0},"260":{"tf":1.0},"76":{"tf":1.0}}}},"n":{"df":1,"docs":{"275":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"291":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"46":{"tf":1.0},"47":{"tf":1.0}}}}}}},"df":7,"docs":{"125":{"tf":1.7320508075688772},"130":{"tf":1.4142135623730951},"132":{"tf":1.4142135623730951},"143":{"tf":1.7320508075688772},"188":{"tf":1.0},"213":{"tf":1.0},"274":{"tf":1.0}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"142":{"tf":1.0},"264":{"tf":1.0}}},"df":0,"docs":{}}},"f":{"df":0,"docs":{},"o":{"df":2,"docs":{"163":{"tf":1.0},"173":{"tf":1.0}}}},"g":{"df":4,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"19":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"185":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"273":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":20,"docs":{"224":{"tf":1.4142135623730951},"259":{"tf":3.1622776601683795},"260":{"tf":2.23606797749979},"261":{"tf":1.0},"262":{"tf":1.4142135623730951},"263":{"tf":1.0},"264":{"tf":1.7320508075688772},"265":{"tf":1.0},"266":{"tf":1.4142135623730951},"267":{"tf":1.4142135623730951},"268":{"tf":1.4142135623730951},"269":{"tf":1.4142135623730951},"270":{"tf":1.4142135623730951},"271":{"tf":2.8284271247461903},"272":{"tf":3.4641016151377544},"273":{"tf":4.123105625617661},"274":{"tf":3.1622776601683795},"275":{"tf":3.7416573867739413},"276":{"tf":2.23606797749979},"8":{"tf":1.0}},"f":{"df":1,"docs":{"274":{"tf":1.0}}}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"103":{"tf":1.0}}}},"d":{"(":{"df":0,"docs":{},"|":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"237":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":2,"docs":{"108":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"142":{"tf":1.0},"185":{"tf":1.0},"214":{"tf":1.0}}}}},"x":{"df":2,"docs":{"259":{"tf":1.0},"262":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"107":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"274":{"tf":1.0}}}},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"b":{"df":1,"docs":{"240":{"tf":1.7320508075688772}},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"239":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":3,"docs":{"143":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":1,"docs":{"143":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"265":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"188":{"tf":1.0},"213":{"tf":1.0}}}}}}},"df":0,"docs":{}},":":{":":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"188":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":1,"docs":{"188":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"188":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"n":{"(":{"&":{"df":0,"docs":{},"t":{"df":3,"docs":{"130":{"tf":1.0},"132":{"tf":1.0},"143":{"tf":1.0}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"i":{"df":2,"docs":{"268":{"tf":1.7320508075688772},"269":{"tf":2.23606797749979}}}},"df":75,"docs":{"102":{"tf":1.4142135623730951},"103":{"tf":1.0},"105":{"tf":2.0},"107":{"tf":1.0},"108":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"142":{"tf":1.0},"143":{"tf":1.4142135623730951},"151":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.0},"166":{"tf":1.0},"167":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":1.0},"176":{"tf":1.7320508075688772},"177":{"tf":1.0},"179":{"tf":2.23606797749979},"180":{"tf":1.4142135623730951},"181":{"tf":2.0},"182":{"tf":2.0},"184":{"tf":1.0},"185":{"tf":2.6457513110645907},"186":{"tf":2.0},"187":{"tf":1.4142135623730951},"188":{"tf":1.0},"205":{"tf":1.0},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"208":{"tf":1.0},"210":{"tf":1.4142135623730951},"211":{"tf":2.6457513110645907},"212":{"tf":1.0},"213":{"tf":1.0},"233":{"tf":1.7320508075688772},"236":{"tf":1.7320508075688772},"237":{"tf":2.0},"238":{"tf":1.4142135623730951},"239":{"tf":1.7320508075688772},"240":{"tf":1.4142135623730951},"249":{"tf":2.449489742783178},"25":{"tf":1.4142135623730951},"251":{"tf":2.449489742783178},"252":{"tf":2.0},"253":{"tf":1.7320508075688772},"255":{"tf":1.0},"256":{"tf":1.4142135623730951},"262":{"tf":1.0},"267":{"tf":2.23606797749979},"268":{"tf":1.7320508075688772},"269":{"tf":2.8284271247461903},"278":{"tf":1.4142135623730951},"279":{"tf":1.0},"286":{"tf":1.4142135623730951},"287":{"tf":1.0},"289":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"44":{"tf":1.4142135623730951},"54":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0},"76":{"tf":1.4142135623730951},"83":{"tf":1.0},"92":{"tf":1.4142135623730951}}},"o":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"|":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"239":{"tf":1.0}}}},"df":0,"docs":{}}},"df":1,"docs":{"239":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"17":{"tf":1.7320508075688772},"18":{"tf":1.0},"19":{"tf":1.4142135623730951}}}},"c":{"df":1,"docs":{"251":{"tf":1.0}}},"d":{"df":0,"docs":{},"o":{"df":1,"docs":{"227":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":1,"docs":{"272":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"47":{"tf":1.0}}}},"df":2,"docs":{"185":{"tf":1.0},"240":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"r":{"a":{"c":{"df":2,"docs":{"80":{"tf":1.7320508075688772},"81":{"tf":1.0}},"{":{"\\":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"df":0,"docs":{},"{":{"\\":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"}":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"\\":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"df":0,"docs":{},"{":{"2":{"df":1,"docs":{"260":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}}}}},"c":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{},"n":{"^":{"2":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"2":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"2":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"i":{"df":1,"docs":{"42":{"tf":1.0}}},"n":{"(":{"df":0,"docs":{},"n":{"df":3,"docs":{"66":{"tf":1.0},"75":{"tf":1.0},"99":{"tf":1.0}}}},"^":{"2":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"2":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"260":{"tf":1.0}},"}":{"df":0,"docs":{},"{":{"2":{"^":{"df":0,"docs":{},"k":{"df":1,"docs":{"30":{"tf":1.4142135623730951}}}},"df":2,"docs":{"114":{"tf":2.0},"75":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":2,"docs":{"231":{"tf":1.0},"242":{"tf":1.4142135623730951}}}}}},"y":{"_":{"1":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"100":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"274":{"tf":1.0}}}}},"df":0,"docs":{}}}},"o":{"d":{"df":0,"docs":{},"o":{"df":2,"docs":{"227":{"tf":1.7320508075688772},"230":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"255":{"tf":1.4142135623730951}}}}}}},"n":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"181":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":4,"docs":{"164":{"tf":1.0},"178":{"tf":1.0},"181":{"tf":1.0},"189":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"175":{"tf":1.0}}}},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":10,"docs":{"130":{"tf":2.0},"131":{"tf":1.0},"229":{"tf":1.0},"251":{"tf":1.4142135623730951},"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0},"284":{"tf":1.0},"32":{"tf":1.0},"47":{"tf":1.0}}}}}}},"df":0,"docs":{}}},":":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"143":{"tf":1.0}}}}}}},"df":0,"docs":{}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"130":{"tf":1.0}}}}}}},"g":{"(":{"df":0,"docs":{},"n":{"df":3,"docs":{"17":{"tf":2.23606797749979},"18":{"tf":1.7320508075688772},"19":{"tf":2.0}}},"x":{")":{"=":{"3":{"df":0,"docs":{},"x":{"^":{"6":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"16":{"tf":1.7320508075688772}}}},"_":{"df":0,"docs":{},"i":{"(":{"df":0,"docs":{},"x":{"df":4,"docs":{"260":{"tf":1.0},"266":{"tf":1.0},"268":{"tf":1.7320508075688772},"269":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"48":{"tf":1.0}}}}}},"p":{"df":6,"docs":{"78":{"tf":1.7320508075688772},"79":{"tf":2.0},"80":{"tf":2.23606797749979},"81":{"tf":2.23606797749979},"82":{"tf":2.449489742783178},"83":{"tf":3.4641016151377544}}},"t":{"df":1,"docs":{"185":{"tf":1.7320508075688772}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"135":{"tf":1.0},"136":{"tf":1.0},"143":{"tf":1.4142135623730951}}}}}}},"b":{"df":1,"docs":{"14":{"tf":1.0}}},"df":1,"docs":{"284":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"k":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"k":{"df":1,"docs":{"109":{"tf":1.0}}}}}}}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":4,"docs":{"142":{"tf":1.0},"185":{"tf":1.0},"264":{"tf":1.0},"272":{"tf":1.0}}}}},"q":{"df":2,"docs":{"18":{"tf":1.0},"19":{"tf":1.0}}},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"237":{"tf":1.0}}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"q":{">":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"237":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"266":{"tf":1.0}}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"238":{"tf":1.0}}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"185":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":2,"docs":{"185":{"tf":1.4142135623730951},"237":{"tf":1.0}},":":{"df":0,"docs":{},"取":{"df":0,"docs":{},"得":{"df":0,"docs":{},"指":{"df":0,"docs":{},"定":{"df":0,"docs":{},"鍵":{"df":0,"docs":{},"對":{"df":0,"docs":{},"應":{"df":0,"docs":{},"的":{"df":0,"docs":{},"資":{"df":0,"docs":{},"料":{"df":0,"docs":{},",":{"df":0,"docs":{},"並":{"df":0,"docs":{},"可":{"df":0,"docs":{},"寫":{"df":0,"docs":{},"入":{"df":0,"docs":{},"修":{"df":0,"docs":{},"改":{"df":0,"docs":{},"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"235":{"tf":1.0}}}}}}}}}}}}}}}}}}}}}}}}}}}},"df":1,"docs":{"210":{"tf":1.0}}}},"i":{"df":0,"docs":{},"f":{"df":6,"docs":{"122":{"tf":1.0},"62":{"tf":1.0},"70":{"tf":1.0},"77":{"tf":1.0},"86":{"tf":1.0},"93":{"tf":1.0}}},"m":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"230":{"tf":1.7320508075688772}}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"b":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"o":{"b":{"a":{"df":0,"docs":{},"l":{"_":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"176":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"176":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"df":1,"docs":{"291":{"tf":1.0}},"e":{"df":1,"docs":{"210":{"tf":1.0}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"227":{"tf":1.7320508075688772},"230":{"tf":1.7320508075688772}},"n":{"df":1,"docs":{"227":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"276":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":2,"docs":{"225":{"tf":1.0},"244":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"92":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"133":{"tf":1.0}}}}},"t":{"df":1,"docs":{"270":{"tf":1.0}}},"u":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"279":{"tf":1.0}}},"df":0,"docs":{}},"v":{"a":{"df":1,"docs":{"276":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"h":{"1":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"269":{"tf":1.0}}}},".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"i":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"h":{"2":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}},"2":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"269":{"tf":1.0}}}},"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}},"_":{"1":{"(":{"df":0,"docs":{},"x":{"df":5,"docs":{"260":{"tf":1.4142135623730951},"266":{"tf":1.0},"268":{"tf":2.23606797749979},"269":{"tf":1.4142135623730951},"275":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"2":{"(":{"df":0,"docs":{},"x":{"df":4,"docs":{"260":{"tf":1.0},"268":{"tf":1.4142135623730951},"269":{"tf":1.0},"275":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"33":{"tf":1.7320508075688772}}}},"m":{"df":6,"docs":{"277":{"tf":2.0},"278":{"tf":1.0},"279":{"tf":1.0},"280":{"tf":1.0},"281":{"tf":1.4142135623730951},"9":{"tf":1.0}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"278":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"279":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"n":{"d":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"10":{"tf":1.0}}}}}},"df":0,"docs":{},"l":{"df":2,"docs":{"44":{"tf":1.0},"54":{"tf":1.0}},"e":{"_":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"d":{"_":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"176":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"275":{"tf":1.0}}},"h":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"275":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"1":{"df":1,"docs":{"228":{"tf":1.0}}},"2":{"df":1,"docs":{"228":{"tf":1.0}}},"df":0,"docs":{}}}},"x":{"df":1,"docs":{"275":{"tf":1.0}}}},"<":{"df":0,"docs":{},"h":{"df":1,"docs":{"233":{"tf":1.0}}}},"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.7320508075688772},"269":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"o":{"df":1,"docs":{"227":{"tf":1.0}}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"227":{"tf":1.0}}}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"228":{"tf":1.0}}}}},"s":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"227":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"247":{"tf":1.0}}}},"df":0,"docs":{}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"228":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":37,"docs":{"142":{"tf":2.23606797749979},"143":{"tf":1.0},"220":{"tf":1.4142135623730951},"226":{"tf":1.7320508075688772},"227":{"tf":1.0},"228":{"tf":1.0},"229":{"tf":1.7320508075688772},"230":{"tf":1.7320508075688772},"231":{"tf":1.4142135623730951},"232":{"tf":1.0},"233":{"tf":3.872983346207417},"234":{"tf":1.7320508075688772},"235":{"tf":1.0},"236":{"tf":1.7320508075688772},"237":{"tf":1.4142135623730951},"238":{"tf":1.7320508075688772},"239":{"tf":1.0},"240":{"tf":1.0},"241":{"tf":1.0},"242":{"tf":1.0},"243":{"tf":1.0},"244":{"tf":2.0},"247":{"tf":1.0},"249":{"tf":1.7320508075688772},"255":{"tf":1.0},"256":{"tf":1.7320508075688772},"260":{"tf":1.0},"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.7320508075688772},"269":{"tf":2.6457513110645907},"271":{"tf":1.0},"274":{"tf":1.4142135623730951},"275":{"tf":2.0},"276":{"tf":1.4142135623730951},"8":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"(":{"&":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"143":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"233":{"tf":1.0}}}}}}}}},"1":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}}}}},"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}},"2":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}}}}},"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}},":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"268":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},">":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"233":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":8,"docs":{"142":{"tf":1.4142135623730951},"143":{"tf":1.4142135623730951},"233":{"tf":2.23606797749979},"263":{"tf":2.0},"264":{"tf":1.4142135623730951},"267":{"tf":1.7320508075688772},"268":{"tf":2.23606797749979},"269":{"tf":1.7320508075688772}}}},"m":{"a":{"df":0,"docs":{},"p":{".":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"234":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"238":{"tf":1.0}}}}}},":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"249":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"249":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"249":{"tf":1.0}}}}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"239":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"<":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"237":{"tf":1.0}}}}}},"df":0,"docs":{},"k":{"df":3,"docs":{"234":{"tf":1.4142135623730951},"236":{"tf":1.4142135623730951},"264":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"264":{"tf":1.0}}}}},"t":{"df":2,"docs":{"247":{"tf":1.0},"248":{"tf":1.0}}}},"df":11,"docs":{"143":{"tf":1.0},"216":{"tf":1.0},"230":{"tf":1.0},"231":{"tf":1.0},"233":{"tf":1.0},"234":{"tf":1.0},"236":{"tf":1.4142135623730951},"244":{"tf":1.0},"247":{"tf":1.0},"249":{"tf":1.0},"257":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"237":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{"df":7,"docs":{"247":{"tf":1.0},"249":{"tf":1.0},"251":{"tf":3.4641016151377544},"252":{"tf":2.0},"253":{"tf":1.7320508075688772},"255":{"tf":2.23606797749979},"256":{"tf":2.23606797749979}}}},"df":2,"docs":{"251":{"tf":1.4142135623730951},"258":{"tf":1.0}}}}},":":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"142":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":9,"docs":{"142":{"tf":1.4142135623730951},"143":{"tf":1.7320508075688772},"175":{"tf":3.0},"179":{"tf":1.4142135623730951},"180":{"tf":2.449489742783178},"233":{"tf":1.0},"276":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.0}},"e":{"a":{"d":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"206":{"tf":1.0}}}}}}},"df":21,"docs":{"119":{"tf":1.4142135623730951},"171":{"tf":1.0},"174":{"tf":1.0},"175":{"tf":3.3166247903554},"177":{"tf":1.4142135623730951},"179":{"tf":1.0},"180":{"tf":2.6457513110645907},"181":{"tf":1.4142135623730951},"182":{"tf":1.7320508075688772},"185":{"tf":2.0},"189":{"tf":1.0},"196":{"tf":2.0},"200":{"tf":1.0},"203":{"tf":1.4142135623730951},"205":{"tf":1.0},"206":{"tf":2.23606797749979},"207":{"tf":1.0},"208":{"tf":1.4142135623730951},"210":{"tf":1.0},"214":{"tf":1.0},"230":{"tf":1.0}}},"df":0,"docs":{},"p":{"df":10,"docs":{"202":{"tf":1.0},"236":{"tf":1.0},"69":{"tf":1.0},"85":{"tf":2.0},"86":{"tf":3.0},"87":{"tf":4.242640687119285},"89":{"tf":3.605551275463989},"90":{"tf":1.4142135623730951},"92":{"tf":4.358898943540674},"93":{"tf":1.0}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":4,"docs":{"87":{"tf":1.7320508075688772},"89":{"tf":2.23606797749979},"90":{"tf":1.0},"92":{"tf":1.7320508075688772}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"92":{"tf":1.0}}}}},"df":0,"docs":{}},"df":11,"docs":{"4":{"tf":1.0},"69":{"tf":1.7320508075688772},"85":{"tf":2.449489742783178},"86":{"tf":1.7320508075688772},"87":{"tf":1.7320508075688772},"88":{"tf":1.4142135623730951},"89":{"tf":1.4142135623730951},"90":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":2.0},"93":{"tf":1.4142135623730951}}}}}}},"v":{"df":0,"docs":{},"i":{"df":1,"docs":{"291":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"p":{"df":2,"docs":{"251":{"tf":1.0},"264":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"102":{"tf":1.0}}}}}},"n":{"c":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"4":{"0":{"4":{"0":{"8":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"df":3,"docs":{"176":{"tf":1.0},"210":{"tf":1.4142135623730951},"251":{"tf":1.7320508075688772}}}}},"i":{"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"44":{"tf":2.449489742783178}}}},"df":0,"docs":{}}},"df":8,"docs":{"102":{"tf":3.0},"103":{"tf":1.4142135623730951},"105":{"tf":4.242640687119285},"107":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"41":{"tf":1.4142135623730951},"44":{"tf":2.8284271247461903},"54":{"tf":2.23606797749979}},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"96":{"tf":1.4142135623730951}}}},"、":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}}}},"o":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"108":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"136":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"o":{"d":{"df":1,"docs":{"231":{"tf":1.0}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"{":{"1":{"0":{"df":2,"docs":{"284":{"tf":1.0},"286":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{"/":{"/":{"d":{"df":0,"docs":{},"o":{"c":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},":":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"143":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"i":{"$":{"df":0,"docs":{},"、":{"$":{"df":0,"docs":{},"j":{"df":1,"docs":{"284":{"tf":1.0}}}},"df":0,"docs":{}}},"+":{"1":{"df":1,"docs":{"96":{"tf":1.0}}},"df":0,"docs":{}},"/":{"df":1,"docs":{"284":{"tf":1.0}},"o":{"df":1,"docs":{"274":{"tf":1.0}}}},"3":{"2":{"df":17,"docs":{"102":{"tf":1.4142135623730951},"103":{"tf":1.0},"105":{"tf":2.0},"107":{"tf":1.0},"108":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.7320508075688772},"151":{"tf":1.0},"264":{"tf":1.4142135623730951},"44":{"tf":2.6457513110645907},"59":{"tf":1.0},"61":{"tf":1.4142135623730951},"67":{"tf":1.0},"76":{"tf":1.4142135623730951},"83":{"tf":1.0},"92":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"275":{"tf":1.0}},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"107":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"7":{"5":{"4":{"df":1,"docs":{"256":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"47":{"tf":1.0}}}}},"h":{"_":{"2":{"(":{"df":0,"docs":{},"x":{"df":4,"docs":{"260":{"tf":1.0},"266":{"tf":1.0},"268":{"tf":1.7320508075688772},"269":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"k":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"n":{"df":2,"docs":{"43":{"tf":1.0},"47":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"a":{"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}}},"m":{"a":{"df":0,"docs":{},"g":{"df":3,"docs":{"190":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"200":{"tf":1.4142135623730951},"211":{"tf":1.4142135623730951},"251":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"l":{"<":{"'":{"a":{"df":4,"docs":{"185":{"tf":2.23606797749979},"186":{"tf":2.0},"211":{"tf":1.0},"255":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"df":1,"docs":{"142":{"tf":1.0}}},"k":{"df":1,"docs":{"236":{"tf":1.4142135623730951}}},"t":{"df":15,"docs":{"176":{"tf":1.7320508075688772},"177":{"tf":1.0},"179":{"tf":1.4142135623730951},"184":{"tf":1.0},"186":{"tf":2.0},"187":{"tf":1.4142135623730951},"188":{"tf":1.0},"205":{"tf":1.0},"210":{"tf":1.4142135623730951},"211":{"tf":1.7320508075688772},"212":{"tf":1.0},"213":{"tf":1.0},"249":{"tf":1.0},"256":{"tf":1.7320508075688772},"269":{"tf":1.0}}}},"df":7,"docs":{"185":{"tf":1.0},"233":{"tf":1.0},"240":{"tf":3.0},"249":{"tf":1.0},"251":{"tf":2.449489742783178},"252":{"tf":2.0},"255":{"tf":1.0}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"144":{"tf":1.0},"190":{"tf":1.0},"276":{"tf":1.0}}}}}}}}}},"n":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":1,"docs":{"151":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"118":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"84":{"tf":1.0}}}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"187":{"tf":1.0}}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"187":{"tf":1.0}}}}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"187":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":24,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"119":{"tf":1.7320508075688772},"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"125":{"tf":2.23606797749979},"132":{"tf":2.23606797749979},"168":{"tf":1.0},"179":{"tf":2.0},"187":{"tf":3.0},"228":{"tf":1.0},"237":{"tf":1.4142135623730951},"238":{"tf":1.7320508075688772},"25":{"tf":1.0},"268":{"tf":1.0},"269":{"tf":1.7320508075688772},"288":{"tf":1.4142135623730951},"33":{"tf":1.0},"54":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"67":{"tf":1.0},"92":{"tf":2.0}},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"143":{"tf":1.0}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"187":{"tf":1.0}}}}},"df":1,"docs":{"187":{"tf":1.7320508075688772}}}}},"(":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"125":{"tf":1.0}}}}}}}}}}}},"df":1,"docs":{"287":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"185":{"tf":1.0},"264":{"tf":1.0}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"44":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":4,"docs":{"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"239":{"tf":1.0},"267":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"210":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"135":{"tf":1.0},"136":{"tf":1.0},"138":{"tf":1.0},"143":{"tf":1.4142135623730951}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"262":{"tf":1.7320508075688772}}}}}},"df":1,"docs":{"125":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":4,"docs":{"238":{"tf":1.0},"249":{"tf":1.0},"268":{"tf":1.0},"269":{"tf":1.0}}}}}},"df":0,"docs":{},"v":{"df":2,"docs":{"257":{"tf":1.0},"270":{"tf":1.0}}}},"_":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":2,"docs":{"204":{"tf":1.0},"207":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"207":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":31,"docs":{"119":{"tf":1.0},"138":{"tf":1.0},"142":{"tf":1.0},"143":{"tf":1.0},"161":{"tf":1.0},"171":{"tf":1.0},"214":{"tf":1.0},"235":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.0},"249":{"tf":1.4142135623730951},"251":{"tf":1.0},"266":{"tf":1.0},"268":{"tf":1.0},"282":{"tf":1.0},"289":{"tf":1.0},"38":{"tf":2.0},"4":{"tf":1.0},"56":{"tf":2.23606797749979},"57":{"tf":1.4142135623730951},"58":{"tf":1.7320508075688772},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":2.8284271247461903},"62":{"tf":1.4142135623730951},"65":{"tf":1.0},"71":{"tf":1.0},"78":{"tf":2.0},"79":{"tf":1.4142135623730951},"81":{"tf":2.6457513110645907},"82":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"59":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"t":{"df":1,"docs":{"238":{"tf":1.0}}}},"i":{"d":{"df":3,"docs":{"181":{"tf":1.4142135623730951},"182":{"tf":2.0},"187":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"145":{"tf":1.0}},"e":{"df":0,"docs":{},"g":{"df":1,"docs":{"34":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"}":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"278":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"r":{"df":1,"docs":{"186":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":2,"docs":{"117":{"tf":1.0},"118":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":10,"docs":{"3":{"tf":1.0},"36":{"tf":2.23606797749979},"40":{"tf":2.449489742783178},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":3.872983346207417},"45":{"tf":1.0},"46":{"tf":2.0},"47":{"tf":2.0}}}}},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"253":{"tf":1.0},"255":{"tf":1.0},"257":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"<":{"'":{"a":{">":{"(":{"&":{"'":{"a":{"df":1,"docs":{"252":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},":":{"df":0,"docs":{},"交":{"df":0,"docs":{},"集":{"df":0,"docs":{},",":{"a":{"df":1,"docs":{"250":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}},"o":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"185":{"tf":1.0},"186":{"tf":1.0},"211":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"186":{"tf":1.7320508075688772},"211":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"211":{"tf":1.0}}}}}},"t":{"df":2,"docs":{"186":{"tf":1.7320508075688772},"211":{"tf":2.6457513110645907}},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"186":{"tf":1.0},"211":{"tf":1.0}}}}}}},"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"186":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}}}}}},"df":0,"docs":{}},"df":2,"docs":{"186":{"tf":1.4142135623730951},"211":{"tf":1.7320508075688772}}}},"df":3,"docs":{"185":{"tf":1.0},"186":{"tf":3.3166247903554},"211":{"tf":2.449489742783178}}}}}}},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"244":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}}}}}}}}}},"o":{"df":1,"docs":{"259":{"tf":1.0}}},"s":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"253":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"250":{"tf":1.0}}}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":5,"docs":{"178":{"tf":1.0},"181":{"tf":1.0},"204":{"tf":1.0},"235":{"tf":1.0},"249":{"tf":1.0}}},"y":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"181":{"tf":1.0},"249":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"178":{"tf":1.0}},"l":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"180":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"249":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"210":{"tf":1.4142135623730951}}}},"u":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"253":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":3,"docs":{"250":{"tf":1.0},"253":{"tf":1.4142135623730951},"256":{"tf":1.4142135623730951}},",":{"a":{"df":1,"docs":{"256":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"253":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":2,"docs":{"250":{"tf":1.0},"253":{"tf":1.0}},",":{"a":{"df":1,"docs":{"256":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":4,"docs":{"102":{"tf":2.0},"103":{"tf":1.7320508075688772},"105":{"tf":2.8284271247461903},"107":{"tf":2.0}}}},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"293":{"tf":1.7320508075688772}}}},"t":{"df":1,"docs":{"46":{"tf":1.0}}}},"t":{"'":{"df":1,"docs":{"180":{"tf":1.4142135623730951}}},"a":{"df":0,"docs":{},"i":{"df":2,"docs":{"43":{"tf":1.0},"47":{"tf":1.0}}}},"df":1,"docs":{"284":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"m":{"df":15,"docs":{"154":{"tf":1.4142135623730951},"156":{"tf":1.0},"157":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"166":{"tf":1.0},"167":{"tf":1.7320508075688772},"168":{"tf":1.0},"169":{"tf":1.0},"185":{"tf":2.0},"186":{"tf":2.0},"211":{"tf":1.7320508075688772},"25":{"tf":1.4142135623730951},"251":{"tf":2.449489742783178},"252":{"tf":1.4142135623730951},"275":{"tf":1.0}}},"r":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":3,"docs":{"211":{"tf":1.4142135623730951},"240":{"tf":1.0},"249":{"tf":1.0}}}}}}},"df":0,"docs":{}},".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"<":{"'":{"a":{"df":3,"docs":{"185":{"tf":1.4142135623730951},"186":{"tf":1.0},"211":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.4142135623730951}}}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":2,"docs":{"185":{"tf":1.0},"186":{"tf":1.0}}}}}},"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"25":{"tf":1.0}}}}}}}},":":{":":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"256":{"tf":1.0},"269":{"tf":1.0}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"251":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":2,"docs":{"185":{"tf":1.0},"279":{"tf":1.0}}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":4,"docs":{"240":{"tf":1.0},"249":{"tf":1.0},"251":{"tf":2.449489742783178},"252":{"tf":2.0}}}}}}},"df":0,"docs":{}}}}},"df":20,"docs":{"105":{"tf":1.0},"107":{"tf":1.0},"131":{"tf":1.0},"143":{"tf":1.4142135623730951},"151":{"tf":1.0},"185":{"tf":4.795831523312719},"186":{"tf":2.0},"208":{"tf":1.0},"211":{"tf":4.358898943540674},"212":{"tf":1.0},"213":{"tf":1.0},"240":{"tf":1.4142135623730951},"249":{"tf":1.4142135623730951},"251":{"tf":2.0},"269":{"tf":1.0},"279":{"tf":1.0},"44":{"tf":1.0},"67":{"tf":1.0},"83":{"tf":1.0},"92":{"tf":1.0}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}}}},"df":0,"docs":{}},"<":{"'":{"a":{"df":3,"docs":{"185":{"tf":2.23606797749979},"186":{"tf":1.0},"211":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.0}}}},"df":2,"docs":{"185":{"tf":1.0},"211":{"tf":1.4142135623730951}}}}},"、":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.0}}}}}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"176":{"tf":1.0},"185":{"tf":1.0}}}}}}},"、":{"df":0,"docs":{},"j":{"df":1,"docs":{"103":{"tf":1.0}}}},",":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"j":{"a":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},",":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":14,"docs":{"103":{"tf":1.7320508075688772},"107":{"tf":2.449489742783178},"108":{"tf":2.449489742783178},"275":{"tf":1.4142135623730951},"284":{"tf":1.4142135623730951},"287":{"tf":2.449489742783178},"288":{"tf":1.4142135623730951},"289":{"tf":2.449489742783178},"59":{"tf":2.23606797749979},"61":{"tf":2.0},"67":{"tf":1.4142135623730951},"83":{"tf":2.0},"96":{"tf":2.23606797749979},"97":{"tf":4.123105625617661}},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"8":{"9":{"df":2,"docs":{"64":{"tf":1.0},"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"g":{"df":2,"docs":{"225":{"tf":1.0},"244":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"、":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"218":{"tf":1.4142135623730951}}}}}}}}}},"。":{"df":0,"docs":{},"i":{"df":1,"docs":{"97":{"tf":1.7320508075688772}}}}},"k":{"$":{"df":0,"docs":{},"(":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"b":{"df":0,"docs":{},"e":{"df":1,"docs":{"230":{"tf":1.0}}}},"df":0,"docs":{}}}}},":":{"df":0,"docs":{},"雜":{"df":0,"docs":{},"湊":{"df":0,"docs":{},"表":{"df":0,"docs":{},"配":{"df":0,"docs":{},"置":{"df":0,"docs":{},"的":{"df":0,"docs":{},"儲":{"df":0,"docs":{},"存":{"df":0,"docs":{},"空":{"df":0,"docs":{},"間":{"df":0,"docs":{},"(":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"231":{"tf":1.0},"242":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}}}}},")":{".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"238":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"237":{"tf":1.0}}}}}}}},"df":0,"docs":{}},">":{"0":{"df":2,"docs":{"17":{"tf":1.0},"18":{"tf":1.0}}},"df":0,"docs":{}},"^":{"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.4142135623730951}}},"{":{"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.4142135623730951}}}}},"_":{"1":{">":{"0":{"df":1,"docs":{"19":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"19":{"tf":1.4142135623730951}}},"2":{">":{"0":{"df":1,"docs":{"19":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"19":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":38,"docs":{"107":{"tf":2.0},"109":{"tf":1.0},"123":{"tf":1.0},"126":{"tf":2.23606797749979},"127":{"tf":1.7320508075688772},"128":{"tf":1.4142135623730951},"135":{"tf":1.0},"137":{"tf":2.0},"139":{"tf":4.0},"140":{"tf":2.0},"148":{"tf":1.0},"149":{"tf":3.3166247903554},"150":{"tf":1.4142135623730951},"17":{"tf":1.7320508075688772},"173":{"tf":1.0},"18":{"tf":1.4142135623730951},"230":{"tf":1.4142135623730951},"233":{"tf":1.0},"234":{"tf":2.0},"236":{"tf":1.4142135623730951},"237":{"tf":2.0},"238":{"tf":1.7320508075688772},"240":{"tf":2.23606797749979},"241":{"tf":1.0},"244":{"tf":1.0},"249":{"tf":1.0},"260":{"tf":2.8284271247461903},"263":{"tf":1.7320508075688772},"266":{"tf":1.0},"267":{"tf":1.4142135623730951},"268":{"tf":2.0},"269":{"tf":2.0},"270":{"tf":2.23606797749979},"271":{"tf":1.0},"284":{"tf":1.4142135623730951},"285":{"tf":2.449489742783178},"30":{"tf":2.0},"49":{"tf":1.0}},"e":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"132":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"1":{"df":1,"docs":{"228":{"tf":1.0}}},"2":{"df":1,"docs":{"228":{"tf":1.0}}},"df":17,"docs":{"124":{"tf":1.0},"125":{"tf":3.1622776601683795},"128":{"tf":1.0},"130":{"tf":1.4142135623730951},"131":{"tf":2.0},"132":{"tf":1.4142135623730951},"146":{"tf":1.4142135623730951},"149":{"tf":1.0},"151":{"tf":1.0},"216":{"tf":1.0},"228":{"tf":1.0},"233":{"tf":1.0},"234":{"tf":1.4142135623730951},"237":{"tf":2.0},"238":{"tf":1.4142135623730951},"249":{"tf":1.0},"275":{"tf":1.0}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":1,"docs":{"284":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"284":{"tf":2.0},"285":{"tf":1.4142135623730951}}}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"262":{"tf":1.4142135623730951}}}}}},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}},"l":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"/":{"1":{".":{"4":{"9":{".":{"0":{"/":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"/":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"b":{"a":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"#":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"215":{"tf":1.0},"240":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"107":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"107":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"199":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"214":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"103":{"tf":1.0}}}}}},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"s":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}}},":":{":":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"y":{":":{":":{"<":{"df":0,"docs":{},"t":{">":{"(":{"c":{"a":{"df":0,"docs":{},"p":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"176":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"c":{"a":{"df":0,"docs":{},"p":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"176":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"176":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"176":{"tf":2.23606797749979}}}}}},"z":{"df":0,"docs":{},"i":{"df":2,"docs":{"143":{"tf":1.0},"251":{"tf":1.4142135623730951}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"114":{"tf":1.0},"52":{"tf":1.4142135623730951}}}}}},"df":2,"docs":{"273":{"tf":1.4142135623730951},"33":{"tf":1.0}},"e":{"a":{"d":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":2,"docs":{"89":{"tf":1.7320508075688772},"92":{"tf":1.0}}},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"210":{"tf":1.0},"215":{"tf":1.0}}}}},"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"w":{"df":1,"docs":{"12":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"89":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":3,"docs":{"119":{"tf":2.23606797749979},"54":{"tf":1.0},"92":{"tf":1.4142135623730951}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"108":{"tf":1.0},"147":{"tf":1.0}}}}}}}},"n":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":3,"docs":{"181":{"tf":1.0},"239":{"tf":1.0},"249":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":16,"docs":{"118":{"tf":2.23606797749979},"131":{"tf":1.0},"132":{"tf":1.0},"178":{"tf":1.0},"181":{"tf":1.4142135623730951},"189":{"tf":1.0},"233":{"tf":1.7320508075688772},"234":{"tf":1.7320508075688772},"235":{"tf":1.0},"236":{"tf":2.0},"238":{"tf":1.0},"249":{"tf":1.0},"262":{"tf":1.0},"67":{"tf":1.7320508075688772},"76":{"tf":2.0},"83":{"tf":1.4142135623730951}},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":3,"docs":{"112":{"tf":1.0},"238":{"tf":1.0},"279":{"tf":1.0}}}}}},"q":{"df":2,"docs":{"17":{"tf":2.23606797749979},"19":{"tf":2.0}}},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"260":{"tf":1.0},"276":{"tf":1.0}}}},"t":{"'":{"df":1,"docs":{"276":{"tf":1.0}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"89":{"tf":1.0}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":2,"docs":{"286":{"tf":1.4142135623730951},"289":{"tf":1.0}}},"df":0,"docs":{}}}}}},"_":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"287":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":11,"docs":{"282":{"tf":2.0},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":2.23606797749979},"9":{"tf":1.0}}}}}}}}}}},"x":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"146":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":5,"docs":{"114":{"tf":1.0},"42":{"tf":1.7320508075688772},"80":{"tf":1.7320508075688772},"81":{"tf":1.0},"89":{"tf":1.0}},"{":{"\\":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"_":{"2":{"df":1,"docs":{"30":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"i":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"13":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"185":{"tf":2.8284271247461903},"251":{"tf":2.23606797749979}}}}}},"o":{"df":1,"docs":{"153":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"<":{"df":0,"docs":{},"t":{">":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":11,"docs":{"23":{"tf":1.7320508075688772},"230":{"tf":2.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.4142135623730951},"274":{"tf":1.7320508075688772},"3":{"tf":1.0},"40":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"47":{"tf":1.4142135623730951}}}},"df":2,"docs":{"188":{"tf":1.0},"271":{"tf":1.0}}},"k":{"df":26,"docs":{"144":{"tf":1.0},"153":{"tf":1.0},"163":{"tf":1.0},"171":{"tf":1.0},"191":{"tf":1.4142135623730951},"198":{"tf":1.0},"199":{"tf":1.4142135623730951},"200":{"tf":1.7320508075688772},"201":{"tf":1.0},"202":{"tf":1.0},"203":{"tf":1.0},"204":{"tf":1.0},"205":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.4142135623730951},"208":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":2.8284271247461903},"211":{"tf":1.0},"212":{"tf":1.0},"213":{"tf":1.0},"214":{"tf":1.0},"215":{"tf":1.7320508075688772},"230":{"tf":1.4142135623730951},"65":{"tf":1.0},"7":{"tf":1.7320508075688772}},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"193":{"tf":1.0},"215":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":26,"docs":{"144":{"tf":1.0},"153":{"tf":1.0},"163":{"tf":1.0},"171":{"tf":1.0},"191":{"tf":1.4142135623730951},"198":{"tf":1.0},"199":{"tf":1.4142135623730951},"200":{"tf":1.7320508075688772},"201":{"tf":1.0},"202":{"tf":1.0},"203":{"tf":1.0},"204":{"tf":1.0},"205":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.4142135623730951},"208":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":1.7320508075688772},"211":{"tf":1.7320508075688772},"212":{"tf":1.0},"213":{"tf":1.0},"214":{"tf":1.0},"215":{"tf":1.7320508075688772},"230":{"tf":1.4142135623730951},"65":{"tf":1.0},"7":{"tf":1.7320508075688772}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"265":{"tf":1.0}}}},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"20":{"tf":1.0}}}}}},"n":{"_":{"2":{"_":{"2":{")":{".":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"267":{"tf":1.4142135623730951},"269":{"tf":1.4142135623730951}},"{":{"\\":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"}":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"(":{"\\":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"df":0,"docs":{},"{":{"2":{"df":0,"docs":{},"}":{")":{"^":{"2":{"df":1,"docs":{"260":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}}},"o":{".":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"103":{"tf":1.0}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"44":{"tf":2.8284271247461903}}}},"df":0,"docs":{}}},"a":{"d":{"_":{"df":0,"docs":{},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"239":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":8,"docs":{"231":{"tf":2.449489742783178},"235":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.4142135623730951},"242":{"tf":1.0},"243":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.0}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"271":{"tf":1.0},"274":{"tf":1.0}}}},"df":0,"docs":{}},"df":9,"docs":{"102":{"tf":2.6457513110645907},"103":{"tf":1.4142135623730951},"105":{"tf":4.58257569495584},"107":{"tf":1.7320508075688772},"108":{"tf":1.4142135623730951},"13":{"tf":1.0},"41":{"tf":1.4142135623730951},"44":{"tf":3.1622776601683795},"54":{"tf":2.0}},"g":{"(":{"9":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.0}}}},"^":{"2":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"_":{"2":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"89":{"tf":1.0}}}},"df":3,"docs":{"267":{"tf":1.0},"269":{"tf":1.0},"30":{"tf":2.23606797749979}},"n":{"df":1,"docs":{"61":{"tf":1.0}}},"{":{"\\":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"260":{"tf":1.0}}}}}}}}},"f":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"{":{"1":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"\\":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"271":{"tf":1.0},"275":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"n":{"df":1,"docs":{"99":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":21,"docs":{"105":{"tf":1.4142135623730951},"110":{"tf":1.4142135623730951},"113":{"tf":1.7320508075688772},"114":{"tf":1.0},"145":{"tf":1.0},"15":{"tf":1.4142135623730951},"20":{"tf":1.0},"21":{"tf":1.0},"43":{"tf":2.0},"46":{"tf":2.0},"47":{"tf":1.4142135623730951},"53":{"tf":1.0},"69":{"tf":1.0},"82":{"tf":1.0},"88":{"tf":2.0},"89":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"94":{"tf":1.0},"98":{"tf":1.4142135623730951},"99":{"tf":1.0}},"i":{"c":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}},"{":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":7,"docs":{"100":{"tf":1.0},"103":{"tf":1.7320508075688772},"105":{"tf":1.0},"107":{"tf":1.4142135623730951},"96":{"tf":1.7320508075688772},"97":{"tf":1.0},"99":{"tf":1.4142135623730951}}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"p":{"df":11,"docs":{"105":{"tf":1.0},"108":{"tf":1.0},"119":{"tf":1.4142135623730951},"211":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.0},"279":{"tf":1.0},"291":{"tf":1.0},"44":{"tf":2.0},"76":{"tf":1.0},"92":{"tf":1.4142135623730951}}}},"w":{"df":1,"docs":{"96":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"54":{"tf":1.0}}}}}},"s":{"d":{"df":3,"docs":{"145":{"tf":1.0},"146":{"tf":2.0},"147":{"tf":1.0}}},"df":0,"docs":{},"m":{"df":1,"docs":{"274":{"tf":1.0}}}},"t":{"df":0,"docs":{},"、":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":1,"docs":{"256":{"tf":1.0}}}}}}},"m":{"$":{"df":0,"docs":{},"、":{"$":{"df":0,"docs":{},"n":{"$":{"df":0,"docs":{},"、":{"$":{"df":0,"docs":{},"k":{"$":{"df":0,"docs":{},"、":{"$":{"\\":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"267":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"236":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"262":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"230":{"tf":1.0},"262":{"tf":1.0},"44":{"tf":1.0}}}},"k":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"&":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"238":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"x":{">":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"233":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":4,"docs":{"235":{"tf":1.0},"237":{"tf":1.0},"266":{"tf":1.0},"268":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":1,"docs":{"238":{"tf":1.0}}}},"n":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"184":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":2,"docs":{"210":{"tf":1.0},"215":{"tf":1.0}}}},"p":{"(":{"df":0,"docs":{},"|":{"(":{"_":{"df":1,"docs":{"237":{"tf":1.4142135623730951}}},"df":0,"docs":{},"k":{"df":1,"docs":{"240":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":2,"docs":{"238":{"tf":1.0},"54":{"tf":1.0}}}}},"df":0,"docs":{}}},"v":{"df":1,"docs":{"238":{"tf":1.0}}}}},"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"54":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":25,"docs":{"216":{"tf":1.0},"220":{"tf":1.4142135623730951},"221":{"tf":1.4142135623730951},"225":{"tf":1.0},"226":{"tf":1.7320508075688772},"227":{"tf":1.0},"228":{"tf":1.0},"229":{"tf":1.0},"230":{"tf":1.0},"231":{"tf":1.0},"232":{"tf":1.0},"233":{"tf":1.0},"234":{"tf":1.0},"235":{"tf":1.0},"236":{"tf":1.0},"237":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"241":{"tf":1.0},"242":{"tf":1.0},"243":{"tf":1.0},"244":{"tf":1.4142135623730951},"274":{"tf":1.0},"8":{"tf":1.4142135623730951}}},"r":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"83":{"tf":1.0}},"s":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"83":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":2,"docs":{"80":{"tf":1.0},"83":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"264":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"122":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":9,"docs":{"143":{"tf":1.0},"168":{"tf":1.0},"185":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"210":{"tf":1.0},"238":{"tf":1.0},"256":{"tf":1.4142135623730951},"279":{"tf":1.4142135623730951},"61":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"289":{"tf":1.7320508075688772}}}},"df":1,"docs":{"288":{"tf":1.0}}}}}},"x":{"(":{"df":0,"docs":{},"i":{",":{"df":0,"docs":{},"j":{"df":2,"docs":{"284":{"tf":1.4142135623730951},"286":{"tf":1.0}}}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"151":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":8,"docs":{"130":{"tf":1.4142135623730951},"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"151":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":2.0},"90":{"tf":1.0},"92":{"tf":2.0}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":3,"docs":{"154":{"tf":1.4142135623730951},"156":{"tf":1.0},"159":{"tf":1.0}},"e":{"df":0,"docs":{},"、":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"154":{"tf":1.0}}}}}}}}}}}}},"df":10,"docs":{"260":{"tf":2.0},"262":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.0},"269":{"tf":1.0},"270":{"tf":2.6457513110645907},"284":{"tf":1.0},"290":{"tf":1.7320508075688772},"84":{"tf":1.0}},"e":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"259":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{":":{":":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"184":{"tf":1.0}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"c":{"df":1,"docs":{"238":{"tf":1.4142135623730951}},"e":{"(":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"239":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{":":{":":{"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"176":{"tf":1.0},"179":{"tf":1.0}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"179":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"154":{"tf":1.0}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"266":{"tf":1.0}}}}}}}}},"c":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":2,"docs":{"119":{"tf":1.4142135623730951},"180":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":6,"docs":{"176":{"tf":1.4142135623730951},"181":{"tf":1.4142135623730951},"182":{"tf":2.0},"184":{"tf":1.0},"187":{"tf":1.4142135623730951},"215":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"g":{"df":7,"docs":{"112":{"tf":1.4142135623730951},"116":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"119":{"tf":1.7320508075688772},"122":{"tf":1.0},"193":{"tf":1.0}},"e":{"(":{"&":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"[":{".":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"117":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{".":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"118":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"1":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"117":{"tf":1.4142135623730951}}}}}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"117":{"tf":1.0}}}}},"df":0,"docs":{}},"_":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"118":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":16,"docs":{"110":{"tf":2.23606797749979},"111":{"tf":2.0},"112":{"tf":1.4142135623730951},"113":{"tf":1.0},"114":{"tf":2.0},"115":{"tf":1.7320508075688772},"116":{"tf":1.7320508075688772},"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"122":{"tf":1.0},"20":{"tf":1.0},"4":{"tf":1.0},"94":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}}}},"t":{"a":{"df":1,"docs":{"293":{"tf":1.0}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"d":{"df":5,"docs":{"131":{"tf":1.0},"185":{"tf":1.7320508075688772},"211":{"tf":1.4142135623730951},"255":{"tf":1.0},"256":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"i":{"b":{"df":2,"docs":{"259":{"tf":1.0},"270":{"tf":1.0}}},"d":{"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"44":{"tf":2.449489742783178}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"l":{"df":2,"docs":{"103":{"tf":1.0},"118":{"tf":1.0}}}},"df":4,"docs":{"117":{"tf":1.4142135623730951},"118":{"tf":1.0},"33":{"tf":1.7320508075688772},"34":{"tf":1.4142135623730951}}},"df":0,"docs":{},"n":{"(":{"2":{",":{"2":{",":{"1":{"df":1,"docs":{"285":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{",":{"2":{",":{"2":{"df":1,"docs":{"285":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{",":{"df":0,"docs":{},"j":{"df":2,"docs":{"284":{"tf":1.4142135623730951},"286":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":8,"docs":{"130":{"tf":1.4142135623730951},"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"284":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.0}},"、":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"x":{"df":1,"docs":{"130":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"240":{"tf":1.0},"251":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"l":{"a":{"c":{"df":1,"docs":{"108":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"244":{"tf":1.0}}}},"o":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"215":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"268":{"tf":1.0}}}},"df":1,"docs":{"256":{"tf":1.0}},"o":{"df":2,"docs":{"233":{"tf":1.0},"268":{"tf":1.0}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"119":{"tf":1.0},"175":{"tf":1.4142135623730951}}}},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"211":{"tf":1.0},"251":{"tf":2.8284271247461903}}}}},"s":{"d":{"df":2,"docs":{"145":{"tf":1.0},"146":{"tf":2.449489742783178}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"222":{"tf":1.4142135623730951},"8":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":5,"docs":{"157":{"tf":1.0},"167":{"tf":1.0},"211":{"tf":1.4142135623730951},"237":{"tf":1.0},"238":{"tf":1.0}}}},"df":0,"docs":{}},"df":43,"docs":{"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"105":{"tf":2.8284271247461903},"107":{"tf":2.0},"108":{"tf":1.7320508075688772},"117":{"tf":1.7320508075688772},"118":{"tf":2.23606797749979},"119":{"tf":2.0},"130":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":1.7320508075688772},"143":{"tf":1.4142135623730951},"151":{"tf":1.4142135623730951},"176":{"tf":1.4142135623730951},"185":{"tf":4.898979485566356},"186":{"tf":2.23606797749979},"187":{"tf":1.4142135623730951},"188":{"tf":1.4142135623730951},"207":{"tf":2.8284271247461903},"208":{"tf":1.4142135623730951},"210":{"tf":1.0},"211":{"tf":1.7320508075688772},"213":{"tf":1.0},"233":{"tf":1.4142135623730951},"236":{"tf":1.0},"239":{"tf":1.0},"251":{"tf":2.23606797749979},"268":{"tf":1.4142135623730951},"269":{"tf":1.4142135623730951},"278":{"tf":1.4142135623730951},"279":{"tf":1.7320508075688772},"287":{"tf":1.4142135623730951},"288":{"tf":1.4142135623730951},"289":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951},"44":{"tf":2.449489742783178},"54":{"tf":1.0},"59":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"76":{"tf":2.23606797749979},"83":{"tf":1.7320508075688772},"92":{"tf":2.0}}}}},"n":{")":{"$":{"df":0,"docs":{},",":{"$":{"df":0,"docs":{},"n":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}},"^":{"2":{"df":1,"docs":{"46":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"=":{"3":{"0":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},"5":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},">":{"df":0,"docs":{},"n":{"_":{"0":{"df":3,"docs":{"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"^":{"2":{"df":4,"docs":{"17":{"tf":1.0},"66":{"tf":1.0},"75":{"tf":1.4142135623730951},"99":{"tf":1.0}}},"df":0,"docs":{}},"_":{"0":{"df":3,"docs":{"17":{"tf":1.7320508075688772},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":3,"docs":{"151":{"tf":1.0},"289":{"tf":1.4142135623730951},"290":{"tf":1.0}}}},"n":{"df":1,"docs":{"256":{"tf":1.4142135623730951}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"107":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"121":{"tf":1.0}}}}},"ï":{"df":0,"docs":{},"v":{"df":7,"docs":{"100":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0},"48":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.4142135623730951},"73":{"tf":1.0}}}}},"c":{"df":1,"docs":{"13":{"tf":1.0}}},"df":62,"docs":{"100":{"tf":1.4142135623730951},"105":{"tf":2.0},"110":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"113":{"tf":1.7320508075688772},"114":{"tf":2.449489742783178},"115":{"tf":1.0},"123":{"tf":1.0},"127":{"tf":1.4142135623730951},"135":{"tf":1.0},"136":{"tf":1.7320508075688772},"137":{"tf":1.0},"139":{"tf":2.0},"140":{"tf":1.4142135623730951},"143":{"tf":1.0},"145":{"tf":1.0},"148":{"tf":1.4142135623730951},"149":{"tf":1.7320508075688772},"15":{"tf":2.0},"150":{"tf":1.0},"16":{"tf":2.0},"17":{"tf":2.23606797749979},"179":{"tf":1.4142135623730951},"18":{"tf":1.0},"189":{"tf":1.0},"19":{"tf":2.0},"20":{"tf":1.4142135623730951},"214":{"tf":1.4142135623730951},"221":{"tf":1.0},"228":{"tf":1.4142135623730951},"231":{"tf":1.0},"24":{"tf":1.4142135623730951},"241":{"tf":1.0},"242":{"tf":1.7320508075688772},"257":{"tf":1.0},"260":{"tf":1.0},"262":{"tf":2.23606797749979},"266":{"tf":1.0},"267":{"tf":1.4142135623730951},"269":{"tf":1.0},"27":{"tf":1.0},"270":{"tf":2.449489742783178},"272":{"tf":1.7320508075688772},"280":{"tf":1.0},"284":{"tf":1.4142135623730951},"290":{"tf":1.7320508075688772},"30":{"tf":3.1622776601683795},"43":{"tf":2.0},"46":{"tf":2.0},"47":{"tf":1.0},"58":{"tf":1.4142135623730951},"66":{"tf":2.0},"69":{"tf":1.0},"75":{"tf":2.23606797749979},"82":{"tf":1.7320508075688772},"88":{"tf":2.0},"89":{"tf":2.449489742783178},"90":{"tf":1.4142135623730951},"91":{"tf":1.0},"94":{"tf":1.4142135623730951},"98":{"tf":1.7320508075688772},"99":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"e":{"d":{"df":2,"docs":{"176":{"tf":1.0},"185":{"tf":1.0}}},"df":0,"docs":{}},"g":{"df":1,"docs":{"259":{"tf":1.0}}},"q":{"df":2,"docs":{"284":{"tf":1.4142135623730951},"287":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"234":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"99":{"tf":1.0}}}},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"84":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"264":{"tf":1.0}}}}},"w":{"(":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":2,"docs":{"267":{"tf":1.7320508075688772},"269":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"142":{"tf":1.0}}}}},"df":0,"docs":{}}},"_":{"c":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"76":{"tf":2.8284271247461903}}}}},"m":{"a":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"239":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":1,"docs":{"239":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"207":{"tf":1.0}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"k":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"251":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":1,"docs":{"251":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"176":{"tf":1.4142135623730951}}}}}},"df":13,"docs":{"142":{"tf":1.0},"143":{"tf":1.0},"166":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.0},"204":{"tf":1.0},"205":{"tf":1.0},"207":{"tf":1.4142135623730951},"235":{"tf":1.0},"236":{"tf":1.4142135623730951},"249":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"180":{"tf":1.0}}}}},"x":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"185":{"tf":2.0},"186":{"tf":1.0},"211":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"<":{"'":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{">":{"(":{"&":{"'":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":1,"docs":{"185":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"b":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":9,"docs":{"118":{"tf":1.0},"147":{"tf":1.0},"185":{"tf":1.7320508075688772},"202":{"tf":2.0},"206":{"tf":1.7320508075688772},"207":{"tf":2.0},"208":{"tf":2.8284271247461903},"210":{"tf":1.0},"211":{"tf":2.449489742783178}}}}},"g":{"df":1,"docs":{"284":{"tf":1.4142135623730951}}},"o":{"d":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"202":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{".":{"a":{"df":0,"docs":{},"s":{"_":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"211":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"210":{"tf":1.0}}}},"df":0,"docs":{}}},"df":4,"docs":{"202":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":2.449489742783178},"208":{"tf":1.4142135623730951}}}}}}},"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"202":{"tf":2.0},"211":{"tf":2.0}}}},"df":17,"docs":{"195":{"tf":1.7320508075688772},"196":{"tf":1.7320508075688772},"197":{"tf":3.3166247903554},"198":{"tf":3.0},"200":{"tf":1.7320508075688772},"202":{"tf":2.6457513110645907},"203":{"tf":1.7320508075688772},"207":{"tf":3.7416573867739413},"208":{"tf":2.8284271247461903},"210":{"tf":2.23606797749979},"211":{"tf":1.7320508075688772},"213":{"tf":1.4142135623730951},"215":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.4142135623730951},"89":{"tf":2.449489742783178},"92":{"tf":2.23606797749979}},"。":{"df":0,"docs":{},"但":{"df":0,"docs":{},"這":{"df":0,"docs":{},"樣":{"df":0,"docs":{},"編":{"df":0,"docs":{},"譯":{"df":0,"docs":{},"不":{"df":0,"docs":{},"會":{"df":0,"docs":{},"成":{"df":0,"docs":{},"功":{"df":0,"docs":{},",":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"202":{"tf":1.0}}}}}}}}}}}}}}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"251":{"tf":1.0}}}}},"df":0,"docs":{}}},"n":{"df":2,"docs":{"262":{"tf":1.4142135623730951},"92":{"tf":1.0}},"e":{"df":17,"docs":{"143":{"tf":1.0},"158":{"tf":1.0},"160":{"tf":1.0},"168":{"tf":1.0},"181":{"tf":1.4142135623730951},"182":{"tf":1.4142135623730951},"185":{"tf":2.0},"205":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.7320508075688772},"208":{"tf":1.0},"233":{"tf":1.0},"237":{"tf":1.0},"238":{"tf":1.7320508075688772},"25":{"tf":1.0},"256":{"tf":1.4142135623730951},"279":{"tf":2.23606797749979}}},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}}}}},"t":{"a":{"df":0,"docs":{},"t":{"df":11,"docs":{"1":{"tf":1.0},"14":{"tf":1.7320508075688772},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.7320508075688772},"270":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":5,"docs":{"185":{"tf":2.23606797749979},"240":{"tf":1.0},"251":{"tf":1.0},"62":{"tf":1.0},"89":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":7,"docs":{"195":{"tf":1.4142135623730951},"196":{"tf":1.0},"197":{"tf":1.7320508075688772},"198":{"tf":1.7320508075688772},"200":{"tf":1.0},"202":{"tf":1.7320508075688772},"230":{"tf":1.0}}}},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"137":{"tf":1.0},"148":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.0},"227":{"tf":1.0}}}}},"df":1,"docs":{"44":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}}}},"}":{"df":0,"docs":{},"{":{"2":{"^":{"df":0,"docs":{},"k":{"df":2,"docs":{"80":{"tf":1.0},"81":{"tf":1.0}}}},"df":1,"docs":{"80":{"tf":1.0}}},"4":{"df":1,"docs":{"80":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"$":{"df":0,"docs":{},":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"(":{"(":{"\\":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"46":{"tf":1.0}}}}}},"df":0,"docs":{}},"1":{"df":24,"docs":{"100":{"tf":1.0},"161":{"tf":2.0},"171":{"tf":2.0},"189":{"tf":3.872983346207417},"207":{"tf":1.0},"214":{"tf":2.0},"217":{"tf":1.0},"234":{"tf":1.0},"24":{"tf":1.4142135623730951},"241":{"tf":2.0},"242":{"tf":1.4142135623730951},"257":{"tf":1.7320508075688772},"259":{"tf":1.0},"270":{"tf":1.0},"280":{"tf":1.0},"30":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"58":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":1.0},"88":{"tf":1.0}}},"3":{"^":{"df":0,"docs":{},"{":{"df":0,"docs":{},"m":{"df":1,"docs":{"284":{"tf":1.0}}}}},"df":0,"docs":{}},"\\":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"89":{"tf":1.0}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"_":{"2":{"df":1,"docs":{"30":{"tf":1.0}}},"df":0,"docs":{}},"df":15,"docs":{"100":{"tf":1.0},"105":{"tf":1.4142135623730951},"115":{"tf":1.0},"143":{"tf":1.0},"20":{"tf":1.0},"221":{"tf":1.0},"27":{"tf":1.0},"30":{"tf":1.7320508075688772},"43":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"51":{"tf":1.4142135623730951},"53":{"tf":2.23606797749979},"89":{"tf":1.4142135623730951},"94":{"tf":1.0},"98":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"m":{",":{"df":0,"docs":{},"n":{"df":1,"docs":{"290":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"c":{"^":{"df":0,"docs":{},"n":{"df":1,"docs":{"20":{"tf":1.0}}}},"df":0,"docs":{}},"d":{"df":3,"docs":{"148":{"tf":1.0},"149":{"tf":1.4142135623730951},"150":{"tf":1.0}},"n":{"df":1,"docs":{"148":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":2.0}}}},"df":0,"docs":{}},"k":{"df":7,"docs":{"127":{"tf":1.0},"128":{"tf":1.4142135623730951},"139":{"tf":1.4142135623730951},"173":{"tf":1.0},"270":{"tf":1.7320508075688772},"273":{"tf":1.4142135623730951},"30":{"tf":1.0}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":2,"docs":{"52":{"tf":1.0},"53":{"tf":1.0}}}}},"m":{"df":1,"docs":{"270":{"tf":1.4142135623730951}},"n":{"df":1,"docs":{"290":{"tf":1.4142135623730951}}}},"n":{"+":{"df":0,"docs":{},"k":{"df":1,"docs":{"144":{"tf":1.0}}}},"^":{"2":{"df":16,"docs":{"106":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.4142135623730951},"17":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.7320508075688772},"61":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":2.0},"74":{"tf":1.4142135623730951},"75":{"tf":1.0},"76":{"tf":1.0},"82":{"tf":1.0},"94":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}},"3":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"df":42,"docs":{"100":{"tf":1.0},"110":{"tf":1.4142135623730951},"113":{"tf":2.0},"114":{"tf":1.0},"115":{"tf":1.4142135623730951},"123":{"tf":1.0},"126":{"tf":2.0},"127":{"tf":1.4142135623730951},"128":{"tf":1.4142135623730951},"137":{"tf":1.7320508075688772},"139":{"tf":2.8284271247461903},"140":{"tf":1.4142135623730951},"145":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.0},"151":{"tf":1.0},"17":{"tf":1.0},"171":{"tf":1.7320508075688772},"20":{"tf":1.4142135623730951},"207":{"tf":1.0},"21":{"tf":1.0},"214":{"tf":2.449489742783178},"24":{"tf":1.7320508075688772},"241":{"tf":2.0},"242":{"tf":1.4142135623730951},"243":{"tf":1.0},"257":{"tf":3.3166247903554},"280":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.4142135623730951},"46":{"tf":1.0},"58":{"tf":1.0},"69":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":1.7320508075688772},"88":{"tf":2.0},"89":{"tf":1.4142135623730951},"90":{"tf":1.0},"91":{"tf":1.0},"94":{"tf":1.0},"98":{"tf":1.7320508075688772},"99":{"tf":2.0}}}},"b":{"df":0,"docs":{},"j":{"df":1,"docs":{"25":{"tf":1.4142135623730951}},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"233":{"tf":1.0},"240":{"tf":1.7320508075688772},"265":{"tf":1.0}}}},"df":0,"docs":{}}}},"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"y":{"df":0,"docs":{},")":{"df":0,"docs":{},"。":{"c":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":1,"docs":{"275":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"r":{"df":2,"docs":{"124":{"tf":1.0},"125":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"b":{"df":2,"docs":{"46":{"tf":1.0},"47":{"tf":1.0}}},"df":0,"docs":{}}}},"df":9,"docs":{"10":{"tf":1.4142135623730951},"162":{"tf":1.0},"17":{"tf":2.0},"18":{"tf":1.0},"180":{"tf":6.0},"19":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.4142135623730951},"46":{"tf":1.0}},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"276":{"tf":1.0}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":5,"docs":{"125":{"tf":1.0},"181":{"tf":1.4142135623730951},"182":{"tf":2.0},"187":{"tf":1.4142135623730951},"44":{"tf":2.0}}}}}}},"k":{"(":{"b":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":2,"docs":{"143":{"tf":1.0},"61":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}}}}}}}},"p":{"df":0,"docs":{},"o":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":4,"docs":{"207":{"tf":1.0},"213":{"tf":1.0},"32":{"tf":1.0},"44":{"tf":1.0}}},"l":{"d":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"180":{"tf":2.23606797749979}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"s":{"df":1,"docs":{"176":{"tf":1.0}}}},"df":1,"docs":{"176":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"df":1,"docs":{"176":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"a":{"$":{"df":0,"docs":{},":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"18":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"(":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":0,"docs":{}},"n":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":3,"docs":{"18":{"tf":1.7320508075688772},"19":{"tf":1.0},"20":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}},"n":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"276":{"tf":1.0}}}},"df":4,"docs":{"175":{"tf":1.0},"211":{"tf":1.0},"238":{"tf":1.0},"81":{"tf":1.0}},"t":{"df":0,"docs":{},"o":{"df":1,"docs":{"175":{"tf":2.0}}}}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"296":{"tf":1.4142135623730951}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":4,"docs":{"230":{"tf":1.7320508075688772},"242":{"tf":1.0},"244":{"tf":1.0},"274":{"tf":1.7320508075688772}}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"{":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":2,"docs":{"284":{"tf":2.6457513110645907},"287":{"tf":1.7320508075688772}},"}":{"_":{"df":0,"docs":{},"{":{"a":{",":{"b":{"df":0,"docs":{},"}":{"(":{"df":0,"docs":{},"i":{",":{"df":0,"docs":{},"j":{"df":1,"docs":{"284":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"67":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":14,"docs":{"117":{"tf":1.0},"161":{"tf":1.0},"171":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.0},"179":{"tf":1.0},"189":{"tf":1.0},"214":{"tf":1.0},"241":{"tf":1.0},"254":{"tf":1.0},"255":{"tf":1.0},"257":{"tf":1.0},"268":{"tf":1.0},"270":{"tf":1.0}}}},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"275":{"tf":1.7320508075688772}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"266":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"r":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":3,"docs":{"210":{"tf":1.0},"267":{"tf":1.4142135623730951},"291":{"tf":1.0}},"i":{"df":0,"docs":{},"z":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},",":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},")":{"df":0,"docs":{},",":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"100":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{":":{":":{"a":{"df":0,"docs":{},"s":{"_":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.0}}}}}},"df":1,"docs":{"211":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"256":{"tf":1.0}}}}}}},"df":0,"docs":{}},"<":{"&":{"'":{"a":{"df":2,"docs":{"185":{"tf":1.7320508075688772},"211":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"t":{"df":4,"docs":{"160":{"tf":1.0},"170":{"tf":1.0},"181":{"tf":1.4142135623730951},"211":{"tf":1.0}}},"v":{"df":1,"docs":{"237":{"tf":1.4142135623730951}}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"202":{"tf":1.0},"203":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"256":{"tf":1.0}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":3,"docs":{"185":{"tf":2.23606797749979},"186":{"tf":1.0},"211":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"df":8,"docs":{"158":{"tf":1.0},"168":{"tf":1.0},"170":{"tf":1.0},"182":{"tf":1.4142135623730951},"202":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"211":{"tf":1.0}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"233":{"tf":1.0},"25":{"tf":1.4142135623730951}}}},"v":{"df":1,"docs":{"238":{"tf":1.4142135623730951}}}},"df":3,"docs":{"158":{"tf":1.0},"249":{"tf":1.4142135623730951},"256":{"tf":1.0}}}}}}},"r":{"d":{"df":2,"docs":{"143":{"tf":1.4142135623730951},"256":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":10,"docs":{"112":{"tf":1.0},"146":{"tf":1.0},"221":{"tf":1.4142135623730951},"256":{"tf":2.0},"8":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.7320508075688772},"89":{"tf":2.449489742783178},"90":{"tf":1.0},"92":{"tf":2.0}},",":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"256":{"tf":1.0}}}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"136":{"tf":1.4142135623730951},"143":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"251":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"(":{"&":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"253":{"tf":1.0},"256":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"252":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"253":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"251":{"tf":1.4142135623730951}}}}},"|":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"251":{"tf":1.7320508075688772}}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"212":{"tf":1.0},"253":{"tf":1.0},"256":{"tf":1.4142135623730951}}}}}},"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"251":{"tf":2.23606797749979}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"255":{"tf":1.7320508075688772}}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"255":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}},"u":{"df":0,"docs":{},"t":{"df":7,"docs":{"118":{"tf":1.0},"185":{"tf":1.0},"187":{"tf":1.4142135623730951},"205":{"tf":1.0},"210":{"tf":1.0},"211":{"tf":1.0},"67":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":2,"docs":{"185":{"tf":1.7320508075688772},"251":{"tf":1.4142135623730951}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":6,"docs":{"124":{"tf":1.0},"125":{"tf":1.0},"130":{"tf":1.0},"132":{"tf":1.0},"187":{"tf":1.0},"255":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"84":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"210":{"tf":1.0},"34":{"tf":1.4142135623730951}}}}}},"l":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"180":{"tf":1.0}}}},"df":0,"docs":{},"o":{"a":{"d":{"df":2,"docs":{"254":{"tf":1.0},"255":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"180":{"tf":1.0}}}}}}}}}}}},"w":{"df":0,"docs":{},"n":{"df":2,"docs":{"237":{"tf":1.7320508075688772},"251":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":5,"docs":{"206":{"tf":1.0},"207":{"tf":1.0},"208":{"tf":1.4142135623730951},"210":{"tf":1.0},"251":{"tf":1.0}}}}}}}}}},"、":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"20":{"tf":1.0}}}}}}}}},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{".":{"0":{"df":1,"docs":{"212":{"tf":1.0}}},"1":{"df":1,"docs":{"212":{"tf":1.0}}},"df":0,"docs":{}},"df":3,"docs":{"234":{"tf":1.4142135623730951},"256":{"tf":1.0},"71":{"tf":1.0}}}},"n":{"df":0,"docs":{},"i":{"c":{"!":{"(":{"\"":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"279":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"238":{"tf":1.0}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"83":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"142":{"tf":1.0}},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"185":{"tf":1.0},"251":{"tf":1.0},"264":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":1,"docs":{"256":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"256":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":2,"docs":{"103":{"tf":1.0},"256":{"tf":1.0}}}},"t":{"df":5,"docs":{"119":{"tf":1.4142135623730951},"291":{"tf":1.0},"44":{"tf":1.4142135623730951},"91":{"tf":1.0},"92":{"tf":1.7320508075688772}},"i":{"a":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":1,"docs":{"256":{"tf":1.0}}}}},"df":0,"docs":{}},"_":{"c":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"256":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"256":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":5,"docs":{"212":{"tf":1.0},"256":{"tf":2.0},"274":{"tf":1.0},"275":{"tf":1.0},"85":{"tf":1.0}},"e":{"df":0,"docs":{},"q":{"df":3,"docs":{"212":{"tf":2.449489742783178},"25":{"tf":1.7320508075688772},"256":{"tf":1.4142135623730951}},",":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":1,"docs":{"256":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"r":{"d":{":":{":":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"_":{"c":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"256":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":4,"docs":{"256":{"tf":1.7320508075688772},"32":{"tf":1.4142135623730951},"33":{"tf":1.0},"54":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"t":{"df":9,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"103":{"tf":1.7320508075688772},"105":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"96":{"tf":2.0},"97":{"tf":1.4142135623730951},"99":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":5,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"105":{"tf":1.7320508075688772},"107":{"tf":1.0},"108":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"81":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"210":{"tf":1.0},"256":{"tf":1.0}}}}}}}},"d":{"df":0,"docs":{},"f":{"df":1,"docs":{"43":{"tf":1.0}}},"q":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}}}}}}}},"df":1,"docs":{"208":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"k":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"160":{"tf":1.0},"170":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"165":{"tf":1.0}}}},"r":{"df":2,"docs":{"271":{"tf":1.0},"275":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{":":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"260":{"tf":1.0},"276":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":1,"docs":{"119":{"tf":1.0}}}}}},"l":{"df":2,"docs":{"43":{"tf":1.0},"47":{"tf":1.0}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"200":{"tf":1.4142135623730951}}}}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"264":{"tf":1.0},"269":{"tf":1.0}}}},"df":3,"docs":{"264":{"tf":1.7320508075688772},"267":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"227":{"tf":1.4142135623730951}}}}}},"i":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"284":{"tf":1.0}}}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"e":{"df":9,"docs":{"103":{"tf":1.0},"117":{"tf":1.0},"119":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951},"63":{"tf":2.0},"64":{"tf":2.0},"67":{"tf":1.0},"85":{"tf":2.0},"92":{"tf":1.0}}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":11,"docs":{"102":{"tf":3.0},"103":{"tf":3.3166247903554},"104":{"tf":1.0},"105":{"tf":4.47213595499958},"106":{"tf":2.0},"107":{"tf":2.8284271247461903},"108":{"tf":3.0},"95":{"tf":3.0},"96":{"tf":3.4641016151377544},"97":{"tf":4.123105625617661},"99":{"tf":2.23606797749979}},"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"106":{"tf":1.0}}}}}}}},")":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"106":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}},",":{"df":0,"docs":{},"i":{"df":1,"docs":{"97":{"tf":1.0}}}}}}}},"l":{"a":{"c":{"df":0,"docs":{},"e":{"df":2,"docs":{"128":{"tf":1.0},"143":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"o":{"df":2,"docs":{"207":{"tf":3.0},"61":{"tf":2.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":10,"docs":{"107":{"tf":1.0},"176":{"tf":1.0},"180":{"tf":1.0},"185":{"tf":1.0},"195":{"tf":1.0},"202":{"tf":1.0},"207":{"tf":1.0},"236":{"tf":1.0},"251":{"tf":1.0},"262":{"tf":1.0}},",":{"df":0,"docs":{},"但":{"df":0,"docs":{},"照":{"df":0,"docs":{},"鏈":{"df":0,"docs":{},"結":{"df":0,"docs":{},"串":{"df":0,"docs":{},"列":{"df":0,"docs":{},"的":{"df":0,"docs":{},"定":{"df":0,"docs":{},"義":{"df":0,"docs":{},",":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"202":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}},"p":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"158":{"tf":1.0}}}}}},"df":0,"docs":{}},"_":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"182":{"tf":1.0}}}}}},"df":0,"docs":{},"v":{"df":1,"docs":{"189":{"tf":1.0}}}},"df":3,"docs":{"178":{"tf":1.0},"182":{"tf":1.0},"184":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"182":{"tf":1.0},"206":{"tf":1.0}}}}}},"df":0,"docs":{},"v":{"df":1,"docs":{"189":{"tf":1.0}}}},"df":6,"docs":{"178":{"tf":1.0},"182":{"tf":1.0},"204":{"tf":1.0},"206":{"tf":1.0},"210":{"tf":1.4142135623730951},"211":{"tf":1.4142135623730951}}}}}}}},"df":7,"docs":{"155":{"tf":1.0},"158":{"tf":1.0},"160":{"tf":1.0},"161":{"tf":1.4142135623730951},"186":{"tf":1.0},"211":{"tf":1.0},"214":{"tf":1.4142135623730951}}},"s":{"_":{"df":1,"docs":{"207":{"tf":2.23606797749979}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"238":{"tf":1.0}}}}},"t":{"df":2,"docs":{"132":{"tf":1.0},"260":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"|":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"238":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},")":{"df":0,"docs":{},",":{"df":0,"docs":{},"但":{"df":0,"docs":{},"絕":{"df":0,"docs":{},"不":{"df":0,"docs":{},"會":{"df":0,"docs":{},"有":{"df":0,"docs":{},"假":{"df":0,"docs":{},"陰":{"df":0,"docs":{},"性":{"df":0,"docs":{},"(":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":1,"docs":{"259":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}},"p":{"df":1,"docs":{"47":{"tf":1.0}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"275":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}},"s":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"132":{"tf":2.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":5,"docs":{"124":{"tf":1.4142135623730951},"125":{"tf":4.242640687119285},"127":{"tf":1.0},"131":{"tf":2.449489742783178},"132":{"tf":2.23606797749979}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"214":{"tf":1.0}}},"df":0,"docs":{}}}},"v":{".":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"208":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":1,"docs":{"208":{"tf":2.8284271247461903}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":3,"docs":{"207":{"tf":1.0},"208":{"tf":1.4142135623730951},"210":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"287":{"tf":1.0}}}}},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"152":{"tf":1.0}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"df":1,"docs":{"186":{"tf":1.0}}}}}},"v":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"154":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"b":{"a":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"259":{"tf":1.0}}}}}}},"l":{"df":3,"docs":{"260":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":2,"docs":{"230":{"tf":2.449489742783178},"274":{"tf":1.7320508075688772}}}},"c":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"92":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"47":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"215":{"tf":1.0},"240":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"293":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"86":{"tf":1.0},"87":{"tf":1.7320508075688772},"89":{"tf":1.0}}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"d":{"df":0,"docs":{},"o":{"df":1,"docs":{"139":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"df":2,"docs":{"284":{"tf":1.0},"286":{"tf":1.0}},"r":{".":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"176":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}},":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"180":{"tf":1.0}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"180":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{":":{":":{"d":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{")":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"176":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"182":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"182":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":4,"docs":{"176":{"tf":2.449489742783178},"185":{"tf":1.7320508075688772},"188":{"tf":1.0},"230":{"tf":1.7320508075688772}}}},"u":{"b":{"df":66,"docs":{"102":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"130":{"tf":1.0},"132":{"tf":1.0},"142":{"tf":1.0},"143":{"tf":1.4142135623730951},"151":{"tf":1.0},"154":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.0},"164":{"tf":1.0},"166":{"tf":1.0},"167":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":1.0},"176":{"tf":1.4142135623730951},"177":{"tf":1.4142135623730951},"179":{"tf":1.0},"181":{"tf":2.0},"182":{"tf":2.0},"185":{"tf":1.4142135623730951},"186":{"tf":1.0},"203":{"tf":1.0},"205":{"tf":1.0},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"208":{"tf":1.0},"211":{"tf":2.449489742783178},"234":{"tf":1.4142135623730951},"236":{"tf":1.4142135623730951},"237":{"tf":1.4142135623730951},"238":{"tf":1.4142135623730951},"240":{"tf":1.0},"247":{"tf":1.0},"249":{"tf":2.449489742783178},"25":{"tf":1.4142135623730951},"251":{"tf":2.449489742783178},"252":{"tf":2.0},"253":{"tf":1.7320508075688772},"262":{"tf":1.7320508075688772},"263":{"tf":1.0},"264":{"tf":2.0},"265":{"tf":1.4142135623730951},"267":{"tf":1.7320508075688772},"268":{"tf":1.0},"269":{"tf":2.23606797749979},"278":{"tf":1.4142135623730951},"279":{"tf":1.0},"286":{"tf":1.4142135623730951},"287":{"tf":1.0},"289":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"44":{"tf":1.4142135623730951},"54":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0},"76":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"92":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"199":{"tf":1.0},"258":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"293":{"tf":1.0},"294":{"tf":1.0}}}},"s":{"df":0,"docs":{},"h":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"157":{"tf":1.0}}}}}},"df":0,"docs":{}},"_":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"182":{"tf":1.0}}}}}},"df":0,"docs":{},"v":{"df":1,"docs":{"189":{"tf":1.0}}}},"df":4,"docs":{"178":{"tf":1.0},"179":{"tf":2.0},"180":{"tf":1.4142135623730951},"182":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"182":{"tf":1.0},"206":{"tf":1.0}}}}}},"df":0,"docs":{},"v":{"df":1,"docs":{"189":{"tf":1.0}}}},"df":5,"docs":{"178":{"tf":1.0},"179":{"tf":1.4142135623730951},"182":{"tf":1.0},"204":{"tf":1.0},"206":{"tf":1.0}}}}}}}},"df":7,"docs":{"143":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"159":{"tf":1.0},"161":{"tf":1.4142135623730951},"239":{"tf":1.0}}}},"t":{"df":1,"docs":{"142":{"tf":1.0}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"216":{"tf":1.0},"254":{"tf":1.4142135623730951},"256":{"tf":1.0},"258":{"tf":1.0},"61":{"tf":1.7320508075688772}}}}}}}},"q":{"df":3,"docs":{"237":{"tf":2.0},"238":{"tf":2.0},"249":{"tf":2.0}},"u":{"a":{"d":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"230":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"71":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"266":{"tf":1.0}}}}},"df":0,"docs":{},"(":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"q":{"df":1,"docs":{"266":{"tf":1.0}}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"164":{"tf":1.0}}}},"df":12,"docs":{"163":{"tf":2.0},"164":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"167":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.4142135623730951},"173":{"tf":1.0},"6":{"tf":1.0}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"p":{"df":1,"docs":{"102":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":2,"docs":{"102":{"tf":2.0},"105":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"o":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"105":{"tf":2.23606797749979}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"d":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"105":{"tf":2.23606797749979}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"102":{"tf":1.0}}}}},"df":0,"docs":{}},"df":1,"docs":{"102":{"tf":1.0}}}}}}}}},"df":19,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.4142135623730951},"105":{"tf":1.4142135623730951},"106":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"109":{"tf":2.0},"21":{"tf":1.0},"4":{"tf":1.0},"56":{"tf":1.0},"94":{"tf":2.449489742783178},"95":{"tf":1.4142135623730951},"96":{"tf":1.4142135623730951},"97":{"tf":2.0},"98":{"tf":1.0},"99":{"tf":1.7320508075688772}}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"274":{"tf":2.6457513110645907},"275":{"tf":1.4142135623730951}}}}}}}}}},"r":{"a":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"151":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":9,"docs":{"145":{"tf":3.0},"146":{"tf":2.449489742783178},"147":{"tf":1.7320508075688772},"148":{"tf":1.0},"149":{"tf":2.449489742783178},"150":{"tf":1.7320508075688772},"151":{"tf":3.0},"152":{"tf":1.7320508075688772},"4":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"i":{"df":1,"docs":{"205":{"tf":1.0}}}},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"192":{"tf":1.0},"242":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{")":{".":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":2,"docs":{"267":{"tf":1.4142135623730951},"269":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"267":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"g":{"df":3,"docs":{"117":{"tf":1.0},"136":{"tf":1.4142135623730951},"67":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"67":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":1,"docs":{"273":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{":":{":":{"c":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"179":{"tf":1.0}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"176":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"180":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"177":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{"df":4,"docs":{"176":{"tf":2.0},"177":{"tf":1.0},"179":{"tf":1.0},"188":{"tf":1.0}}}},"df":6,"docs":{"176":{"tf":2.8284271247461903},"177":{"tf":1.0},"180":{"tf":1.0},"184":{"tf":1.4142135623730951},"188":{"tf":1.0},"190":{"tf":1.0}}},"df":0,"docs":{}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"114":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"89":{"tf":1.0}}}}}},"df":4,"docs":{"109":{"tf":1.0},"244":{"tf":1.0},"273":{"tf":1.0},"33":{"tf":1.0}},"e":{"a":{"d":{"/":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":2,"docs":{"263":{"tf":1.0},"264":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"c":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{".":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":2,"docs":{"176":{"tf":1.7320508075688772},"239":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":1,"docs":{"164":{"tf":1.0}}}},"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":5,"docs":{"102":{"tf":1.7320508075688772},"112":{"tf":1.0},"202":{"tf":1.0},"210":{"tf":1.0},"273":{"tf":1.0}}}}}},"df":1,"docs":{"207":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":9,"docs":{"157":{"tf":1.0},"167":{"tf":1.0},"185":{"tf":1.0},"208":{"tf":1.0},"211":{"tf":1.4142135623730951},"237":{"tf":1.0},"240":{"tf":1.0},"264":{"tf":1.0},"278":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"256":{"tf":1.0}}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"176":{"tf":1.0},"181":{"tf":1.4142135623730951},"182":{"tf":2.0},"184":{"tf":1.0},"187":{"tf":1.4142135623730951}}}}}},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":2,"docs":{"239":{"tf":1.0},"274":{"tf":1.0}}}}},"df":0,"docs":{}},"l":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"256":{"tf":2.0}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"176":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":6,"docs":{"204":{"tf":1.0},"207":{"tf":1.0},"214":{"tf":1.0},"235":{"tf":1.0},"249":{"tf":1.4142135623730951},"264":{"tf":1.0}},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"207":{"tf":1.0}}}}}},"df":0,"docs":{},"k":{"df":1,"docs":{"241":{"tf":1.0}}},"v":{"df":1,"docs":{"257":{"tf":1.0}}}},"<":{"df":0,"docs":{},"q":{">":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"238":{"tf":1.0},"249":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"146":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"l":{"a":{"c":{"df":1,"docs":{"176":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"215":{"tf":1.0}}}}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"293":{"tf":1.0},"294":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"r":{"df":4,"docs":{"185":{"tf":1.4142135623730951},"211":{"tf":1.4142135623730951},"255":{"tf":1.0},"256":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"119":{"tf":1.0}}}},"i":{"df":0,"docs":{},"z":{"df":4,"docs":{"180":{"tf":1.4142135623730951},"236":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"112":{"tf":1.0}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":5,"docs":{"32":{"tf":1.0},"33":{"tf":1.0},"44":{"tf":1.4142135623730951},"54":{"tf":1.0},"61":{"tf":1.0}}}}},"df":5,"docs":{"117":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"119":{"tf":1.0},"207":{"tf":1.0},"44":{"tf":1.7320508075688772}}}}}},"t":{"[":{"df":0,"docs":{},"i":{".":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":1,"docs":{"118":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{".":{".":{"]":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"(":{"&":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"1":{"[":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"119":{"tf":1.0}}}}}}},"df":0,"docs":{}},"2":{"[":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"119":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"119":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"df":4,"docs":{"117":{"tf":2.0},"118":{"tf":1.4142135623730951},"119":{"tf":2.449489742783178},"143":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":25,"docs":{"103":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"117":{"tf":1.0},"119":{"tf":1.0},"157":{"tf":1.4142135623730951},"176":{"tf":1.4142135623730951},"181":{"tf":1.4142135623730951},"182":{"tf":1.4142135623730951},"185":{"tf":2.0},"207":{"tf":1.4142135623730951},"212":{"tf":1.0},"233":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.0},"25":{"tf":1.0},"251":{"tf":1.7320508075688772},"253":{"tf":1.0},"256":{"tf":1.0},"286":{"tf":1.4142135623730951},"287":{"tf":1.4142135623730951},"289":{"tf":1.4142135623730951},"33":{"tf":1.0},"44":{"tf":1.7320508075688772},"54":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"215":{"tf":1.0}},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"208":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{},":":{"df":0,"docs":{},"反":{"df":0,"docs":{},"轉":{"df":0,"docs":{},"整":{"df":0,"docs":{},"個":{"df":0,"docs":{},"串":{"df":0,"docs":{},"列":{"df":0,"docs":{},"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"204":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}}}}}},"f":{"c":{"df":2,"docs":{"240":{"tf":1.0},"251":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":6,"docs":{"114":{"tf":1.4142135623730951},"30":{"tf":1.0},"42":{"tf":1.7320508075688772},"80":{"tf":1.7320508075688772},"81":{"tf":1.0},"89":{"tf":1.0}}}}}}},"h":{"df":1,"docs":{"255":{"tf":1.0}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"30":{"tf":1.7320508075688772}}}}}}},"df":3,"docs":{"119":{"tf":2.23606797749979},"278":{"tf":1.4142135623730951},"92":{"tf":1.0}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"108":{"tf":1.0},"147":{"tf":1.0},"34":{"tf":1.0}}}}}}}}},"n":{"df":0,"docs":{},"g":{"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"f":{"df":3,"docs":{"177":{"tf":1.4142135623730951},"180":{"tf":1.0},"185":{"tf":2.449489742783178}}}}},"df":0,"docs":{}},"df":2,"docs":{"175":{"tf":1.0},"180":{"tf":1.0}}}}},"o":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"231":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"h":{"df":1,"docs":{"93":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"t":{"df":3,"docs":{"86":{"tf":1.0},"87":{"tf":2.6457513110645907},"92":{"tf":3.3166247903554}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"b":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{":":{":":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"259":{"tf":1.0}}}}}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"173":{"tf":1.0}}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"226":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"245":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":1,"docs":{"163":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"200":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}}}},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"153":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"277":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":1,"docs":{"277":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"n":{"a":{"df":1,"docs":{"282":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":1,"docs":{"282":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"256":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"c":{"df":1,"docs":{"185":{"tf":1.0}}},"df":68,"docs":{"0":{"tf":2.6457513110645907},"1":{"tf":1.0},"10":{"tf":1.0},"105":{"tf":1.4142135623730951},"108":{"tf":1.0},"11":{"tf":1.0},"117":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"131":{"tf":1.0},"143":{"tf":1.4142135623730951},"144":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"164":{"tf":1.0},"167":{"tf":1.0},"176":{"tf":2.0},"181":{"tf":1.4142135623730951},"183":{"tf":1.4142135623730951},"185":{"tf":2.0},"186":{"tf":1.0},"187":{"tf":1.4142135623730951},"190":{"tf":1.4142135623730951},"193":{"tf":1.0},"2":{"tf":1.0},"202":{"tf":1.0},"205":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":1.4142135623730951},"211":{"tf":1.0},"212":{"tf":1.0},"215":{"tf":2.0},"216":{"tf":1.0},"225":{"tf":1.0},"231":{"tf":1.0},"232":{"tf":1.0},"233":{"tf":2.0},"236":{"tf":1.0},"237":{"tf":1.0},"240":{"tf":2.449489742783178},"244":{"tf":1.0},"248":{"tf":1.7320508075688772},"25":{"tf":1.0},"251":{"tf":2.23606797749979},"253":{"tf":1.0},"254":{"tf":1.0},"255":{"tf":1.0},"256":{"tf":1.7320508075688772},"258":{"tf":1.0},"262":{"tf":1.0},"264":{"tf":1.4142135623730951},"267":{"tf":1.0},"278":{"tf":1.7320508075688772},"287":{"tf":1.0},"288":{"tf":1.0},"291":{"tf":1.4142135623730951},"292":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.4142135623730951},"3":{"tf":1.0},"32":{"tf":1.0},"4":{"tf":1.0},"44":{"tf":1.7320508075688772},"5":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{"df":1,"docs":{"294":{"tf":1.0}}}}}}}}},"s":{"a":{"df":15,"docs":{"122":{"tf":1.0},"13":{"tf":1.0},"190":{"tf":1.0},"212":{"tf":1.7320508075688772},"225":{"tf":1.0},"244":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.4142135623730951},"62":{"tf":1.0},"64":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"77":{"tf":1.0},"93":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"df":5,"docs":{"176":{"tf":2.0},"180":{"tf":1.4142135623730951},"181":{"tf":1.4142135623730951},"182":{"tf":2.0},"187":{"tf":1.4142135623730951}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}}}}},"m":{"'":{"df":1,"docs":{"227":{"tf":1.0}}},"df":2,"docs":{"227":{"tf":3.0},"230":{"tf":1.4142135623730951}},"e":{"_":{"df":0,"docs":{},"s":{"df":1,"docs":{"256":{"tf":1.4142135623730951}}}},"df":3,"docs":{"260":{"tf":1.0},"276":{"tf":1.0},"279":{"tf":1.0}}}},"、":{"df":0,"docs":{},"s":{"b":{"df":0,"docs":{},",":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"、":{"df":0,"docs":{},"s":{"b":{"df":1,"docs":{"212":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"b":{"df":1,"docs":{"212":{"tf":2.0}}},"c":{"a":{"df":0,"docs":{},"l":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"273":{"tf":2.449489742783178}}}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":2,"docs":{"131":{"tf":1.4142135623730951},"132":{"tf":1.0}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"135":{"tf":1.0},"136":{"tf":1.0},"143":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":2,"docs":{"175":{"tf":2.23606797749979},"54":{"tf":1.0}}}}}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"291":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"e":{"df":5,"docs":{"103":{"tf":1.7320508075688772},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"96":{"tf":1.7320508075688772},"97":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":2,"docs":{"47":{"tf":1.0},"84":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":2,"docs":{"205":{"tf":1.0},"210":{"tf":1.0}},",":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"210":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"258":{"tf":1.0}}}}}}}}}}}},"df":3,"docs":{"273":{"tf":1.7320508075688772},"284":{"tf":1.0},"285":{"tf":1.7320508075688772}},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"241":{"tf":1.0}}}},"df":37,"docs":{"117":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.7320508075688772},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.4142135623730951},"27":{"tf":1.7320508075688772},"28":{"tf":1.0},"29":{"tf":1.0},"3":{"tf":2.0},"30":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":2.449489742783178},"37":{"tf":2.23606797749979},"38":{"tf":1.0},"39":{"tf":1.4142135623730951},"40":{"tf":2.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":2.23606797749979},"47":{"tf":2.0},"48":{"tf":2.0},"49":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.7320508075688772},"55":{"tf":1.4142135623730951},"61":{"tf":1.0}},"—":{"a":{"df":2,"docs":{"43":{"tf":1.0},"47":{"tf":1.0}}},"df":0,"docs":{}},",":{"df":0,"docs":{},"又":{"df":0,"docs":{},"稱":{"df":0,"docs":{},"對":{"df":0,"docs":{},"數":{"df":0,"docs":{},"搜":{"df":0,"docs":{},"尋":{"df":0,"docs":{},"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"df":1,"docs":{"27":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}}}}}}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"109":{"tf":1.0},"244":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":12,"docs":{"4":{"tf":1.0},"56":{"tf":1.0},"63":{"tf":2.23606797749979},"64":{"tf":1.4142135623730951},"65":{"tf":2.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.4142135623730951},"70":{"tf":1.7320508075688772},"85":{"tf":1.4142135623730951},"87":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"67":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"66":{"tf":1.0}}}}}},"df":0,"docs":{}},"f":{".":{"0":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"186":{"tf":1.0},"211":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}},"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"n":{"d":{".":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"233":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"237":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"239":{"tf":1.0}}}}}},"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"239":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"238":{"tf":1.0}},"s":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{")":{".":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"|":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"237":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{")":{".":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"|":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"238":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"240":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"239":{"tf":1.0},"240":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"239":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"c":{"a":{"df":0,"docs":{},"p":{"df":4,"docs":{"176":{"tf":1.7320508075688772},"179":{"tf":1.7320508075688772},"180":{"tf":1.4142135623730951},"181":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"251":{"tf":2.23606797749979}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{")":{".":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"252":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"249":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"249":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"249":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"|":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"251":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"249":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"249":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"249":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"[":{"0":{"]":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"]":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"e":{"a":{"d":{".":{"a":{"df":0,"docs":{},"s":{"_":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"211":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"k":{"df":3,"docs":{"206":{"tf":1.4142135623730951},"208":{"tf":1.0},"210":{"tf":1.0}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"181":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":6,"docs":{"180":{"tf":1.7320508075688772},"182":{"tf":1.7320508075688772},"185":{"tf":1.7320508075688772},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"208":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"253":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"181":{"tf":1.4142135623730951},"182":{"tf":1.4142135623730951}}}}}}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"180":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"256":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"256":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"t":{"df":2,"docs":{"186":{"tf":1.0},"213":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"170":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"168":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"160":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"157":{"tf":1.0},"159":{"tf":1.0},"169":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"158":{"tf":1.0}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"157":{"tf":1.0},"167":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"r":{"(":{")":{".":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"253":{"tf":1.0},"256":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"252":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"251":{"tf":2.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"252":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}}}},"z":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{")":{".":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"212":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"186":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":8,"docs":{"180":{"tf":1.0},"181":{"tf":1.0},"187":{"tf":1.4142135623730951},"212":{"tf":1.0},"238":{"tf":1.7320508075688772},"239":{"tf":1.7320508075688772},"253":{"tf":1.0},"256":{"tf":1.4142135623730951}}}}},"m":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.7320508075688772}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"237":{"tf":1.0}}}}},"q":{"df":2,"docs":{"237":{"tf":1.0},"238":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"x":{"df":0,"docs":{},"s":{"df":1,"docs":{"157":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.4142135623730951}}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"_":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"184":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"210":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"r":{"(":{")":{".":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{")":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"182":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"187":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"l":{"d":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"180":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{")":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"182":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"176":{"tf":1.0},"180":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"f":{".":{"c":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"179":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"185":{"tf":2.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"185":{"tf":1.7320508075688772}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"180":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"185":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"180":{"tf":1.0},"182":{"tf":1.7320508075688772},"185":{"tf":3.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"182":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":1,"docs":{"238":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"&":{"df":0,"docs":{},"r":{"df":0,"docs":{},"h":{"df":0,"docs":{},"s":{")":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"d":{"(":{")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"255":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"182":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"182":{"tf":1.0},"187":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":2,"docs":{"181":{"tf":1.0},"182":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"182":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"186":{"tf":1.7320508075688772},"211":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":2,"docs":{"267":{"tf":1.4142135623730951},"269":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"r":{"df":2,"docs":{"267":{"tf":1.4142135623730951},"269":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"187":{"tf":1.0},"255":{"tf":1.0}}}}}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"(":{"1":{"df":1,"docs":{"176":{"tf":1.0}}},"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"239":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":33,"docs":{"156":{"tf":1.4142135623730951},"157":{"tf":1.0},"158":{"tf":1.0},"166":{"tf":1.4142135623730951},"167":{"tf":1.0},"168":{"tf":1.0},"176":{"tf":2.449489742783178},"177":{"tf":1.4142135623730951},"180":{"tf":1.0},"182":{"tf":2.0},"184":{"tf":1.0},"185":{"tf":3.4641016151377544},"186":{"tf":1.0},"187":{"tf":1.0},"205":{"tf":1.7320508075688772},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"208":{"tf":1.0},"210":{"tf":1.4142135623730951},"211":{"tf":2.0},"212":{"tf":1.0},"236":{"tf":2.23606797749979},"238":{"tf":1.7320508075688772},"239":{"tf":1.7320508075688772},"249":{"tf":1.4142135623730951},"251":{"tf":4.795831523312719},"252":{"tf":3.1622776601683795},"253":{"tf":2.6457513110645907},"255":{"tf":1.0},"256":{"tf":1.4142135623730951},"267":{"tf":2.0},"268":{"tf":1.0},"269":{"tf":1.7320508075688772}},"、":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"251":{"tf":1.0}}}}}},"(":{"&":{"'":{"a":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"197":{"tf":1.0}},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"197":{"tf":2.6457513110645907}}}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":5,"docs":{"230":{"tf":2.0},"234":{"tf":1.4142135623730951},"242":{"tf":1.0},"243":{"tf":1.0},"274":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":8,"docs":{"230":{"tf":1.0},"44":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.4142135623730951},"80":{"tf":2.0},"81":{"tf":1.0},"82":{"tf":2.0},"83":{"tf":2.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"23":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"80":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"t":{"df":16,"docs":{"223":{"tf":1.7320508075688772},"245":{"tf":1.7320508075688772},"246":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.4142135623730951},"249":{"tf":1.0},"250":{"tf":1.4142135623730951},"251":{"tf":1.7320508075688772},"252":{"tf":1.0},"253":{"tf":1.0},"254":{"tf":1.0},"255":{"tf":3.0},"256":{"tf":1.4142135623730951},"257":{"tf":1.0},"258":{"tf":1.7320508075688772},"8":{"tf":1.0}},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"44":{"tf":1.0}}}}}},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"200":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"162":{"tf":1.0},"20":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"83":{"tf":1.0}}}}},"df":0,"docs":{}},"df":8,"docs":{"4":{"tf":1.0},"78":{"tf":2.23606797749979},"79":{"tf":1.4142135623730951},"80":{"tf":1.7320508075688772},"81":{"tf":1.7320508075688772},"82":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"84":{"tf":2.0}}}}}}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":2,"docs":{"278":{"tf":1.4142135623730951},"54":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"231":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"i":{"df":1,"docs":{"285":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"t":{"_":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"92":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"df":2,"docs":{"89":{"tf":1.4142135623730951},"92":{"tf":2.8284271247461903}}}}}},"df":0,"docs":{}},"df":4,"docs":{"87":{"tf":1.7320508075688772},"89":{"tf":1.7320508075688772},"90":{"tf":2.0},"92":{"tf":1.0}}}},"g":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"130":{"tf":1.7320508075688772},"143":{"tf":1.0},"32":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},")":{"df":0,"docs":{},"則":{"df":0,"docs":{},"是":{"df":0,"docs":{},"算":{"df":0,"docs":{},"術":{"df":0,"docs":{},"右":{"df":0,"docs":{},"移":{"df":0,"docs":{},"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"278":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"146":{"tf":1.4142135623730951},"278":{"tf":1.0}}},"df":0,"docs":{}}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":20,"docs":{"171":{"tf":1.0},"198":{"tf":1.0},"199":{"tf":1.0},"200":{"tf":1.7320508075688772},"201":{"tf":1.0},"202":{"tf":1.0},"203":{"tf":1.0},"204":{"tf":1.0},"205":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"208":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":1.0},"211":{"tf":1.0},"212":{"tf":1.0},"213":{"tf":1.0},"214":{"tf":1.0},"215":{"tf":1.4142135623730951},"7":{"tf":1.0}}},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{"df":6,"docs":{"203":{"tf":1.0},"205":{"tf":1.0},"210":{"tf":1.4142135623730951},"211":{"tf":1.4142135623730951},"212":{"tf":1.0},"213":{"tf":1.0}}}},"df":5,"docs":{"203":{"tf":1.4142135623730951},"206":{"tf":1.0},"209":{"tf":1.0},"211":{"tf":2.0},"212":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}},"k":{"df":1,"docs":{"71":{"tf":1.0}}}},"t":{"df":2,"docs":{"284":{"tf":1.4142135623730951},"285":{"tf":1.4142135623730951}}},"z":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"159":{"tf":1.0},"169":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":17,"docs":{"155":{"tf":1.0},"159":{"tf":1.0},"165":{"tf":1.0},"176":{"tf":1.4142135623730951},"179":{"tf":1.4142135623730951},"233":{"tf":2.449489742783178},"237":{"tf":1.0},"238":{"tf":1.0},"248":{"tf":1.0},"249":{"tf":1.4142135623730951},"259":{"tf":1.0},"262":{"tf":2.0},"264":{"tf":1.0},"265":{"tf":2.23606797749979},"269":{"tf":1.4142135623730951},"33":{"tf":3.0},"54":{"tf":2.0}}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"81":{"tf":1.7320508075688772}}}}},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"185":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"170":{"tf":1.0}}}}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}}},"df":1,"docs":{"185":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":8,"docs":{"117":{"tf":1.4142135623730951},"185":{"tf":1.0},"233":{"tf":1.0},"262":{"tf":1.4142135623730951},"265":{"tf":1.0},"32":{"tf":1.0},"54":{"tf":2.0},"61":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"t":{"df":3,"docs":{"227":{"tf":1.4142135623730951},"230":{"tf":2.449489742783178},"274":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"107":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":5,"docs":{"264":{"tf":1.0},"265":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.4142135623730951},"288":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"185":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"(":{"&":{"'":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":1,"docs":{"185":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"*":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"(":{")":{".":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"181":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"181":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"211":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"(":{"_":{"df":1,"docs":{"238":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":1,"docs":{"238":{"tf":1.0}}}},"*":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}}},"_":{"df":2,"docs":{"184":{"tf":1.0},"279":{"tf":1.4142135623730951}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"206":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"c":{"1":{"df":1,"docs":{"279":{"tf":1.0}}},"2":{"df":1,"docs":{"279":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"233":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"a":{"d":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"206":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"25":{"tf":1.0}}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"v":{"df":1,"docs":{"238":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"207":{"tf":1.0},"208":{"tf":1.0},"210":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"207":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"o":{"d":{"df":2,"docs":{"207":{"tf":1.4142135623730951},"208":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"207":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"256":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"256":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{")":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"|":{"_":{"df":1,"docs":{"256":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"256":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"0":{"df":1,"docs":{"168":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"(":{")":{".":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"182":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"182":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":2,"docs":{"174":{"tf":1.0},"177":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"296":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"t":{"/":{"b":{"df":0,"docs":{},"u":{"b":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"56":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":70,"docs":{"122":{"tf":1.4142135623730951},"123":{"tf":2.449489742783178},"124":{"tf":1.0},"125":{"tf":1.4142135623730951},"126":{"tf":1.0},"127":{"tf":1.7320508075688772},"128":{"tf":1.7320508075688772},"129":{"tf":1.7320508075688772},"130":{"tf":1.4142135623730951},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.7320508075688772},"134":{"tf":2.6457513110645907},"135":{"tf":1.4142135623730951},"136":{"tf":3.0},"137":{"tf":1.0},"138":{"tf":2.23606797749979},"139":{"tf":1.0},"140":{"tf":1.4142135623730951},"141":{"tf":1.0},"142":{"tf":1.7320508075688772},"143":{"tf":2.6457513110645907},"144":{"tf":2.0},"145":{"tf":4.0},"146":{"tf":2.8284271247461903},"147":{"tf":3.1622776601683795},"148":{"tf":1.0},"149":{"tf":3.1622776601683795},"150":{"tf":2.23606797749979},"151":{"tf":3.0},"152":{"tf":1.7320508075688772},"20":{"tf":1.0},"38":{"tf":2.0},"4":{"tf":2.449489742783178},"46":{"tf":1.0},"47":{"tf":1.0},"56":{"tf":2.449489742783178},"57":{"tf":1.4142135623730951},"58":{"tf":1.7320508075688772},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":3.1622776601683795},"62":{"tf":1.7320508075688772},"63":{"tf":2.6457513110645907},"64":{"tf":1.7320508075688772},"65":{"tf":2.0},"66":{"tf":1.7320508075688772},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.4142135623730951},"70":{"tf":2.0},"71":{"tf":2.6457513110645907},"72":{"tf":1.0},"73":{"tf":1.7320508075688772},"74":{"tf":1.0},"75":{"tf":1.7320508075688772},"76":{"tf":1.4142135623730951},"77":{"tf":1.7320508075688772},"78":{"tf":1.7320508075688772},"79":{"tf":1.4142135623730951},"81":{"tf":3.7416573867739413},"82":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":2.23606797749979},"87":{"tf":1.7320508075688772},"90":{"tf":1.4142135623730951},"91":{"tf":1.0},"92":{"tf":1.4142135623730951},"93":{"tf":1.0},"94":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"151":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"。":{"b":{"df":0,"docs":{},"u":{"b":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"71":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}}}}}}},",":{"df":0,"docs":{},"但":{"df":0,"docs":{},"前":{"df":0,"docs":{},"一":{"df":0,"docs":{},"次":{"df":0,"docs":{},"結":{"df":0,"docs":{},"果":{"df":0,"docs":{},"已":{"df":0,"docs":{},"經":{"df":0,"docs":{},"很":{"df":0,"docs":{},"接":{"df":0,"docs":{},"近":{"df":0,"docs":{},"排":{"df":0,"docs":{},"序":{"df":0,"docs":{},"完":{"df":0,"docs":{},"成":{"df":0,"docs":{},",":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"81":{"tf":1.0}}}}}}}}}}}}}}}}}}}}}}}},"此":{"df":0,"docs":{},"時":{"df":0,"docs":{},"大":{"df":0,"docs":{},"部":{"df":0,"docs":{},"分":{"df":0,"docs":{},"元":{"df":0,"docs":{},"素":{"df":0,"docs":{},"皆":{"df":0,"docs":{},"排":{"df":0,"docs":{},"序":{"df":0,"docs":{},"完":{"df":0,"docs":{},"成":{"df":0,"docs":{},",":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}}}}}}}}}}}}}}}}}}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":4,"docs":{"274":{"tf":1.0},"275":{"tf":1.0},"278":{"tf":1.4142135623730951},"279":{"tf":1.7320508075688772}},"e":{".":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"279":{"tf":1.0}},"s":{"(":{")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"287":{"tf":1.4142135623730951},"289":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"286":{"tf":1.0},"287":{"tf":1.0},"289":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"286":{"tf":1.0},"287":{"tf":1.0},"289":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"279":{"tf":1.0}}}}}}},"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"287":{"tf":2.0},"288":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"p":{"a":{"c":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"276":{"tf":1.0}}}}}},"df":23,"docs":{"100":{"tf":1.4142135623730951},"113":{"tf":1.0},"115":{"tf":1.4142135623730951},"126":{"tf":1.0},"128":{"tf":1.4142135623730951},"137":{"tf":1.0},"140":{"tf":1.4142135623730951},"148":{"tf":1.0},"150":{"tf":1.4142135623730951},"214":{"tf":1.0},"24":{"tf":1.0},"290":{"tf":1.4142135623730951},"30":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"51":{"tf":1.0},"58":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":1.0},"88":{"tf":1.0},"98":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"112":{"tf":1.4142135623730951},"117":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"193":{"tf":1.0}}}}}},"r":{"c":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"/":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"3":{"4":{"4":{":":{"6":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{":":{"1":{"2":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"5":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"3":{":":{"2":{"3":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"9":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"/":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"2":{"5":{"3":{":":{"9":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"1":{"7":{":":{"4":{"8":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{":":{"5":{"3":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{":":{"9":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"3":{":":{"2":{"4":{"df":1,"docs":{"264":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"7":{":":{"2":{"3":{"df":1,"docs":{"262":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{":":{"5":{"df":1,"docs":{"262":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":2,"docs":{"180":{"tf":1.0},"182":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"s":{"d":{"df":1,"docs":{"274":{"tf":1.0}}},"df":0,"docs":{}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"145":{"tf":1.0},"70":{"tf":1.0}}}},"c":{"df":0,"docs":{},"k":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"154":{"tf":1.0}}}},"df":17,"docs":{"100":{"tf":1.7320508075688772},"105":{"tf":1.7320508075688772},"115":{"tf":1.0},"153":{"tf":2.23606797749979},"154":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.0},"161":{"tf":1.0},"162":{"tf":1.4142135623730951},"200":{"tf":1.0},"210":{"tf":2.23606797749979},"6":{"tf":1.0},"99":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"x":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"215":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"215":{"tf":1.0}}}}}}}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":7,"docs":{"118":{"tf":1.0},"124":{"tf":1.4142135623730951},"125":{"tf":1.4142135623730951},"132":{"tf":1.4142135623730951},"211":{"tf":1.0},"34":{"tf":1.7320508075688772},"92":{"tf":3.0}}}},"t":{"df":0,"docs":{},"e":{"df":3,"docs":{"131":{"tf":1.4142135623730951},"132":{"tf":1.4142135623730951},"233":{"tf":1.0}}},"i":{"c":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":1,"docs":{"0":{"tf":1.0}}}}},"d":{":":{":":{"c":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"118":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"256":{"tf":1.0}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"264":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":3,"docs":{"263":{"tf":1.0},"264":{"tf":1.4142135623730951},"265":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"d":{"df":0,"docs":{},"t":{"df":1,"docs":{"225":{"tf":1.0}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{":":{":":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"184":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{},"f":{"3":{"2":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"267":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"4":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"267":{"tf":1.0}},"s":{":":{":":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"_":{"2":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"f":{"(":{"2":{"df":0,"docs":{},"f":{"6":{"4":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{":":{":":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"213":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":1,"docs":{"213":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"213":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{":":{":":{"df":0,"docs":{},"{":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"233":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"<":{"'":{"_":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"240":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"225":{"tf":1.0}}},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":2,"docs":{"264":{"tf":1.7320508075688772},"265":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"256":{"tf":1.0}}}},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"240":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"<":{"'":{"_":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"(":{"&":{"df":0,"docs":{},"k":{"df":1,"docs":{"240":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"c":{":":{":":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"240":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":1,"docs":{"164":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":2,"docs":{"267":{"tf":1.0},"291":{"tf":1.0}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":2,"docs":{"225":{"tf":1.0},"244":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"174":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":4,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"142":{"tf":1.0},"44":{"tf":1.0}}}}},"r":{":":{":":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"279":{"tf":1.4142135623730951},"287":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"287":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":6,"docs":{"237":{"tf":1.0},"264":{"tf":1.0},"279":{"tf":1.4142135623730951},"286":{"tf":2.0},"287":{"tf":1.4142135623730951},"289":{"tf":1.4142135623730951}},"e":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":5,"docs":{"233":{"tf":1.0},"237":{"tf":1.0},"264":{"tf":1.0},"265":{"tf":1.0},"286":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":22,"docs":{"142":{"tf":1.4142135623730951},"154":{"tf":1.0},"164":{"tf":1.0},"174":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.0},"185":{"tf":1.4142135623730951},"186":{"tf":1.0},"188":{"tf":1.0},"202":{"tf":1.7320508075688772},"203":{"tf":2.23606797749979},"210":{"tf":1.4142135623730951},"211":{"tf":3.1622776601683795},"233":{"tf":1.0},"234":{"tf":1.4142135623730951},"240":{"tf":1.4142135623730951},"247":{"tf":1.0},"262":{"tf":2.449489742783178},"263":{"tf":1.0},"264":{"tf":3.3166247903554},"265":{"tf":1.4142135623730951},"269":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"200":{"tf":1.0},"259":{"tf":1.0},"273":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"u":{"b":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"112":{"tf":1.4142135623730951},"97":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":3,"docs":{"287":{"tf":2.0},"289":{"tf":2.6457513110645907},"54":{"tf":1.7320508075688772}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"200":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"145":{"tf":1.0},"146":{"tf":1.4142135623730951},"149":{"tf":1.4142135623730951}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":2,"docs":{"118":{"tf":1.0},"81":{"tf":2.6457513110645907}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"282":{"tf":1.0},"289":{"tf":1.0}}}}}},"r":{"df":1,"docs":{"9":{"tf":1.0}},"e":{"df":1,"docs":{"92":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"179":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"89":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"176":{"tf":1.0},"264":{"tf":1.0}}}},"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"{":{"df":0,"docs":{},"i":{"=":{"0":{"df":0,"docs":{},"}":{"^":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"df":1,"docs":{"75":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"1":{"df":0,"docs":{},"}":{"^":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"df":1,"docs":{"66":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"99":{"tf":1.0}}}}},"df":6,"docs":{"124":{"tf":1.4142135623730951},"125":{"tf":4.358898943540674},"127":{"tf":1.0},"131":{"tf":2.449489742783178},"132":{"tf":2.23606797749979},"91":{"tf":1.4142135623730951}}}},"v":{"df":0,"docs":{},"g":{"df":3,"docs":{"199":{"tf":1.0},"215":{"tf":1.0},"47":{"tf":1.4142135623730951}}}},"w":{"a":{"df":0,"docs":{},"p":{"'":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"92":{"tf":1.0}}}}},"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"238":{"tf":1.0}}}}}}}},"df":6,"docs":{"103":{"tf":1.4142135623730951},"107":{"tf":1.0},"108":{"tf":1.0},"76":{"tf":2.0},"87":{"tf":2.0},"97":{"tf":2.6457513110645907}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"8":{"df":3,"docs":{"62":{"tf":1.0},"72":{"tf":1.0},"77":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":2,"docs":{"0":{"tf":1.0},"109":{"tf":1.0}}}}}},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"256":{"tf":1.0},"257":{"tf":1.0}},"i":{"c":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"250":{"tf":1.0},"255":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"<":{"'":{"a":{">":{"(":{"&":{"'":{"a":{"df":1,"docs":{"252":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"47":{"tf":1.0}}}}}}}}}}},"t":{"(":{"\\":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"114":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"n":{"df":1,"docs":{"114":{"tf":1.7320508075688772}}}},">":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":3,"docs":{"130":{"tf":1.0},"132":{"tf":1.0},"143":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"]":{"df":0,"docs":{},"。":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}}}},"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"244":{"tf":1.4142135623730951}},"e":{"[":{"0":{"df":1,"docs":{"227":{"tf":1.0}}},"1":{"df":1,"docs":{"227":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"227":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":15,"docs":{"100":{"tf":1.0},"105":{"tf":1.0},"174":{"tf":1.0},"175":{"tf":3.3166247903554},"177":{"tf":1.4142135623730951},"179":{"tf":1.4142135623730951},"180":{"tf":2.0},"181":{"tf":1.4142135623730951},"182":{"tf":1.7320508075688772},"185":{"tf":3.1622776601683795},"189":{"tf":1.0},"196":{"tf":2.0},"200":{"tf":1.0},"204":{"tf":1.0},"210":{"tf":1.4142135623730951}},"、":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"189":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"k":{"df":0,"docs":{},"e":{"df":5,"docs":{"206":{"tf":1.0},"207":{"tf":1.0},"208":{"tf":1.0},"210":{"tf":1.0},"251":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"105":{"tf":1.0}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}},"t":{")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"278":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"279":{"tf":1.0}},"s":{"(":{")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"287":{"tf":1.4142135623730951},"289":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"286":{"tf":1.0},"287":{"tf":1.0},"289":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"286":{"tf":1.0},"287":{"tf":1.0},"289":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"279":{"tf":1.0}}}}}}},"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"287":{"tf":2.0},"288":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"df":10,"docs":{"25":{"tf":1.4142135623730951},"278":{"tf":1.7320508075688772},"279":{"tf":2.0},"286":{"tf":1.4142135623730951},"287":{"tf":1.0},"289":{"tf":1.4142135623730951},"32":{"tf":1.0},"33":{"tf":2.0},"44":{"tf":4.123105625617661},"54":{"tf":1.7320508075688772}}}}}}},"c":{"df":0,"docs":{},"o":{"df":1,"docs":{"105":{"tf":2.0}}}},"df":33,"docs":{"130":{"tf":1.7320508075688772},"132":{"tf":1.4142135623730951},"142":{"tf":2.23606797749979},"143":{"tf":2.449489742783178},"151":{"tf":1.4142135623730951},"157":{"tf":1.0},"167":{"tf":1.0},"175":{"tf":3.0},"176":{"tf":1.7320508075688772},"179":{"tf":1.4142135623730951},"180":{"tf":2.449489742783178},"182":{"tf":1.4142135623730951},"185":{"tf":5.744562646538029},"186":{"tf":3.1622776601683795},"187":{"tf":1.4142135623730951},"188":{"tf":1.0},"202":{"tf":1.7320508075688772},"206":{"tf":1.0},"207":{"tf":1.0},"211":{"tf":3.872983346207417},"247":{"tf":1.0},"249":{"tf":2.23606797749979},"25":{"tf":2.6457513110645907},"251":{"tf":3.605551275463989},"252":{"tf":2.0},"255":{"tf":1.7320508075688772},"256":{"tf":1.7320508075688772},"264":{"tf":2.449489742783178},"268":{"tf":2.0},"269":{"tf":2.8284271247461903},"32":{"tf":2.0},"33":{"tf":1.7320508075688772},"54":{"tf":1.7320508075688772}},"e":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"105":{"tf":1.0},"210":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"67":{"tf":1.7320508075688772}}}},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"16":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"294":{"tf":1.0}}}},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"242":{"tf":1.0}},"{":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"y":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"50":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":3,"docs":{"114":{"tf":1.0},"284":{"tf":1.4142135623730951},"286":{"tf":1.0}}}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":2,"docs":{"231":{"tf":1.0},"242":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":2,"docs":{"114":{"tf":1.0},"284":{"tf":1.0}}}}}}}}}}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"176":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"114":{"tf":1.0}}}},"i":{"df":2,"docs":{"223":{"tf":1.0},"258":{"tf":1.0}}}}},"t":{"a":{"$":{"df":0,"docs":{},":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"19":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"(":{"1":{"+":{"\\":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"df":0,"docs":{},"k":{"df":1,"docs":{"242":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"19":{"tf":1.0}}}},"df":0,"docs":{}},"n":{"df":1,"docs":{"19":{"tf":1.0}}}},"df":1,"docs":{"19":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"274":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":2,"docs":{"256":{"tf":1.0},"44":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"274":{"tf":1.0}}}}}}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":9,"docs":{"114":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951},"149":{"tf":1.4142135623730951},"22":{"tf":1.0},"262":{"tf":1.4142135623730951},"270":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.4142135623730951},"99":{"tf":1.4142135623730951}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"121":{"tf":1.7320508075688772},"4":{"tf":1.0}}}}}}}},"o":{"_":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"132":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"p":{"df":3,"docs":{"116":{"tf":1.0},"117":{"tf":1.4142135623730951},"119":{"tf":1.0}}},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"256":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"r":{"a":{"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"276":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":22,"docs":{"143":{"tf":1.0},"185":{"tf":1.7320508075688772},"188":{"tf":1.0},"205":{"tf":1.0},"209":{"tf":1.7320508075688772},"210":{"tf":1.7320508075688772},"211":{"tf":2.6457513110645907},"212":{"tf":2.0},"213":{"tf":1.7320508075688772},"232":{"tf":1.0},"233":{"tf":2.23606797749979},"236":{"tf":1.0},"237":{"tf":1.0},"240":{"tf":3.3166247903554},"251":{"tf":1.4142135623730951},"255":{"tf":1.7320508075688772},"256":{"tf":2.0},"265":{"tf":1.7320508075688772},"288":{"tf":1.0},"44":{"tf":1.4142135623730951},"67":{"tf":1.0},"83":{"tf":1.0}},",":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":1,"docs":{"233":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"208":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"256":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"211":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":3,"docs":{"274":{"tf":1.0},"46":{"tf":1.4142135623730951},"87":{"tf":1.0}}}},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"251":{"tf":1.0}}}},"u":{"df":0,"docs":{},"e":{"df":7,"docs":{"157":{"tf":1.0},"168":{"tf":1.0},"256":{"tf":2.0},"262":{"tf":1.4142135623730951},"268":{"tf":1.0},"269":{"tf":1.0},"76":{"tf":1.7320508075688772}}}},"y":{"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"176":{"tf":1.0},"180":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":3,"docs":{"176":{"tf":1.0},"178":{"tf":1.0},"180":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":1,"docs":{"235":{"tf":1.0}},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"239":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"211":{"tf":1.0},"247":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"j":{"df":1,"docs":{"291":{"tf":1.0}}}}}}}},"w":{"df":0,"docs":{},"o":{"df":4,"docs":{"103":{"tf":1.0},"108":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":18,"docs":{"162":{"tf":1.0},"172":{"tf":1.0},"176":{"tf":1.4142135623730951},"185":{"tf":2.23606797749979},"186":{"tf":2.6457513110645907},"187":{"tf":1.0},"211":{"tf":2.23606797749979},"233":{"tf":1.0},"234":{"tf":1.4142135623730951},"240":{"tf":1.7320508075688772},"245":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":2.0},"251":{"tf":1.4142135623730951},"255":{"tf":1.0},"262":{"tf":1.0},"264":{"tf":2.23606797749979},"287":{"tf":1.0}},"s":{"df":0,"docs":{},"(":{"d":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"233":{"tf":1.0},"262":{"tf":1.0}}}}},"df":0,"docs":{},"z":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}}}}}}},"、":{"df":0,"docs":{},"k":{"df":0,"docs":{},"、":{"df":0,"docs":{},"v":{"df":1,"docs":{"264":{"tf":1.0}}}}}}},"u":{"3":{"2":{">":{"df":0,"docs":{},",":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"264":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":2,"docs":{"264":{"tf":1.0},"278":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"6":{"4":{"df":3,"docs":{"268":{"tf":2.6457513110645907},"269":{"tf":3.0},"278":{"tf":2.0}}},"df":0,"docs":{}},"8":{"df":1,"docs":{"237":{"tf":1.0}}},"df":0,"docs":{},"m":{"d":{"df":1,"docs":{"89":{"tf":1.0}}},"df":0,"docs":{}},"n":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"217":{"tf":1.0}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"176":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"279":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":3,"docs":{"229":{"tf":1.0},"43":{"tf":1.7320508075688772},"47":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"n":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"251":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"<":{"'":{"a":{">":{"(":{"&":{"'":{"a":{"df":2,"docs":{"251":{"tf":1.4142135623730951},"252":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"251":{"tf":1.4142135623730951},"252":{"tf":1.4142135623730951},"255":{"tf":1.0},"257":{"tf":1.0}},":":{"df":0,"docs":{},"聯":{"df":0,"docs":{},"集":{"df":0,"docs":{},",":{"a":{"df":1,"docs":{"250":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"t":{"df":3,"docs":{"244":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.7320508075688772}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":3,"docs":{"122":{"tf":1.0},"152":{"tf":1.0},"93":{"tf":1.0}}}}}}},"s":{"a":{"df":0,"docs":{},"f":{"df":6,"docs":{"176":{"tf":2.23606797749979},"180":{"tf":1.0},"181":{"tf":1.7320508075688772},"182":{"tf":2.0},"185":{"tf":1.7320508075688772},"187":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},")":{"df":0,"docs":{},"是":{"df":0,"docs":{},"邏":{"df":0,"docs":{},"輯":{"df":0,"docs":{},"右":{"df":0,"docs":{},"移":{"df":0,"docs":{},"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"278":{"tf":1.0}}}}}}}}}}}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":6,"docs":{"63":{"tf":1.4142135623730951},"64":{"tf":1.7320508075688772},"67":{"tf":1.0},"85":{"tf":1.4142135623730951},"87":{"tf":1.0},"92":{"tf":1.4142135623730951}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"70":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"176":{"tf":1.0},"264":{"tf":1.0}}}},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"&":{"0":{"df":1,"docs":{"151":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"287":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"241":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":4,"docs":{"118":{"tf":1.4142135623730951},"119":{"tf":1.0},"285":{"tf":1.0},"91":{"tf":1.4142135623730951}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"118":{"tf":1.4142135623730951},"54":{"tf":1.0},"67":{"tf":1.0}}}}}},"s":{"df":12,"docs":{"132":{"tf":1.0},"144":{"tf":1.0},"151":{"tf":1.0},"211":{"tf":1.0},"233":{"tf":1.0},"251":{"tf":1.0},"262":{"tf":1.0},"263":{"tf":1.0},"264":{"tf":2.23606797749979},"265":{"tf":1.4142135623730951},"267":{"tf":1.0},"54":{"tf":1.0}},"e":{"_":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"(":{"a":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"z":{"df":42,"docs":{"103":{"tf":2.449489742783178},"107":{"tf":2.6457513110645907},"108":{"tf":1.7320508075688772},"130":{"tf":2.0},"132":{"tf":1.7320508075688772},"151":{"tf":1.0},"154":{"tf":1.0},"156":{"tf":1.0},"159":{"tf":1.0},"169":{"tf":1.0},"174":{"tf":1.4142135623730951},"176":{"tf":1.4142135623730951},"177":{"tf":1.4142135623730951},"179":{"tf":3.4641016151377544},"181":{"tf":1.0},"185":{"tf":2.0},"187":{"tf":1.4142135623730951},"188":{"tf":1.0},"207":{"tf":1.7320508075688772},"233":{"tf":1.4142135623730951},"234":{"tf":1.0},"236":{"tf":2.23606797749979},"249":{"tf":1.0},"262":{"tf":1.4142135623730951},"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":2.8284271247461903},"268":{"tf":1.4142135623730951},"269":{"tf":3.0},"279":{"tf":1.0},"286":{"tf":1.4142135623730951},"287":{"tf":1.7320508075688772},"288":{"tf":1.0},"289":{"tf":1.4142135623730951},"32":{"tf":1.0},"33":{"tf":1.7320508075688772},"44":{"tf":2.23606797749979},"54":{"tf":1.0},"61":{"tf":1.0},"76":{"tf":1.0},"83":{"tf":1.7320508075688772},"92":{"tf":1.4142135623730951}},"e":{":":{":":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"x":{"df":1,"docs":{"179":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"f":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}}}},"v":{">":{">":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"236":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"61":{"tf":1.0}},"i":{"d":{"df":5,"docs":{"181":{"tf":1.4142135623730951},"182":{"tf":2.0},"185":{"tf":1.0},"187":{"tf":1.4142135623730951},"92":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":18,"docs":{"107":{"tf":1.7320508075688772},"125":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":2.0},"136":{"tf":1.4142135623730951},"142":{"tf":2.8284271247461903},"143":{"tf":2.449489742783178},"211":{"tf":1.0},"216":{"tf":1.0},"230":{"tf":1.0},"234":{"tf":1.4142135623730951},"237":{"tf":1.4142135623730951},"238":{"tf":2.0},"249":{"tf":2.23606797749979},"251":{"tf":1.0},"262":{"tf":1.7320508075688772},"44":{"tf":1.4142135623730951},"96":{"tf":1.4142135623730951}},"e":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"132":{"tf":1.4142135623730951},"143":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"251":{"tf":1.0},"44":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":16,"docs":{"112":{"tf":1.4142135623730951},"136":{"tf":3.4641016151377544},"189":{"tf":1.0},"196":{"tf":1.4142135623730951},"197":{"tf":1.0},"200":{"tf":1.0},"230":{"tf":1.0},"234":{"tf":2.8284271247461903},"236":{"tf":2.23606797749979},"237":{"tf":2.0},"238":{"tf":2.0},"239":{"tf":1.4142135623730951},"240":{"tf":3.3166247903554},"241":{"tf":1.7320508075688772},"257":{"tf":1.0},"264":{"tf":1.0}},"e":{"c":{"!":{"[":{"0":{"df":1,"docs":{"288":{"tf":1.0}}},"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}}}},"df":0,"docs":{}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"142":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"!":{"[":{"0":{"df":2,"docs":{"287":{"tf":1.4142135623730951},"288":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":1,"docs":{"131":{"tf":1.0}}}}}},":":{":":{"<":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{"df":1,"docs":{"236":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"237":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":3,"docs":{"143":{"tf":1.0},"166":{"tf":1.0},"236":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"171":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"238":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"x":{"df":0,"docs":{},"s":{"df":1,"docs":{"156":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"<":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"234":{"tf":1.4142135623730951}}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":4,"docs":{"262":{"tf":1.0},"263":{"tf":1.0},"264":{"tf":1.4142135623730951},"269":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"h":{"df":1,"docs":{"143":{"tf":1.0}}},"k":{"df":2,"docs":{"234":{"tf":1.0},"236":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"df":4,"docs":{"142":{"tf":1.0},"154":{"tf":1.0},"164":{"tf":1.0},"171":{"tf":1.0}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"288":{"tf":1.0},"289":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"u":{"8":{"df":1,"docs":{"264":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":1,"docs":{"288":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":2,"docs":{"190":{"tf":1.0},"193":{"tf":1.0}},"e":{":":{":":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"180":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":14,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"131":{"tf":1.0},"142":{"tf":1.0},"166":{"tf":1.0},"167":{"tf":1.0},"170":{"tf":1.4142135623730951},"176":{"tf":1.4142135623730951},"234":{"tf":1.4142135623730951},"236":{"tf":1.0},"239":{"tf":1.0},"262":{"tf":2.449489742783178},"287":{"tf":1.0},"288":{"tf":2.0}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":9,"docs":{"117":{"tf":1.0},"153":{"tf":1.0},"156":{"tf":2.23606797749979},"157":{"tf":1.0},"163":{"tf":1.0},"234":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"287":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":2,"docs":{"250":{"tf":1.0},"258":{"tf":1.0}}}}},"i":{"a":{"df":11,"docs":{"122":{"tf":1.0},"190":{"tf":1.0},"199":{"tf":1.0},"225":{"tf":1.0},"244":{"tf":1.0},"258":{"tf":1.0},"47":{"tf":1.4142135623730951},"62":{"tf":1.0},"70":{"tf":1.0},"77":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"179":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":1,"docs":{"10":{"tf":1.0}}}},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"47":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":3,"docs":{"107":{"tf":1.0},"108":{"tf":1.0},"256":{"tf":1.0}},"n":{"df":2,"docs":{"109":{"tf":1.0},"244":{"tf":1.0}}}}},"df":1,"docs":{"260":{"tf":1.4142135623730951}},"e":{"b":{"df":1,"docs":{"133":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"13":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"12":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"296":{"tf":1.4142135623730951}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"185":{"tf":1.0},"44":{"tf":1.0}}}}}}}},"i":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"w":{"7":{"7":{"2":{"1":{"0":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"d":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"118":{"tf":2.6457513110645907}}}}},"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":25,"docs":{"109":{"tf":1.0},"122":{"tf":1.0},"133":{"tf":1.0},"144":{"tf":1.4142135623730951},"152":{"tf":1.0},"163":{"tf":1.0},"190":{"tf":1.0},"199":{"tf":1.0},"22":{"tf":1.4142135623730951},"225":{"tf":1.4142135623730951},"244":{"tf":1.4142135623730951},"258":{"tf":1.0},"26":{"tf":1.0},"276":{"tf":1.0},"281":{"tf":1.0},"291":{"tf":1.0},"39":{"tf":1.0},"47":{"tf":1.0},"55":{"tf":1.0},"62":{"tf":1.0},"70":{"tf":1.0},"77":{"tf":1.0},"84":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.4142135623730951}},"m":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"a":{"df":10,"docs":{"122":{"tf":1.0},"190":{"tf":1.0},"199":{"tf":1.0},"225":{"tf":1.0},"244":{"tf":1.0},"47":{"tf":1.4142135623730951},"62":{"tf":1.0},"70":{"tf":1.0},"77":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"a":{"df":4,"docs":{"153":{"tf":1.4142135623730951},"163":{"tf":1.0},"258":{"tf":1.0},"271":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"h":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":3,"docs":{"155":{"tf":1.0},"176":{"tf":1.4142135623730951},"235":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"(":{"c":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"176":{"tf":1.0},"236":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"x":{"df":0,"docs":{},"s":{"df":1,"docs":{"156":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"180":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"d":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":5,"docs":{"263":{"tf":1.0},"264":{"tf":1.7320508075688772},"293":{"tf":1.0},"62":{"tf":1.0},"77":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":21,"docs":{"113":{"tf":1.4142135623730951},"126":{"tf":1.4142135623730951},"137":{"tf":1.4142135623730951},"138":{"tf":1.4142135623730951},"148":{"tf":1.4142135623730951},"161":{"tf":1.0},"171":{"tf":1.0},"189":{"tf":1.0},"24":{"tf":1.4142135623730951},"241":{"tf":1.0},"257":{"tf":1.0},"290":{"tf":1.7320508075688772},"30":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951},"88":{"tf":1.4142135623730951},"98":{"tf":1.4142135623730951}}}}}},"r":{"a":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"a":{"d":{"d":{"(":{"a":{"d":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"179":{"tf":1.0}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"a":{"d":{"d":{"(":{"1":{"df":1,"docs":{"185":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"187":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":4,"docs":{"179":{"tf":1.0},"181":{"tf":1.4142135623730951},"182":{"tf":2.0},"187":{"tf":1.4142135623730951}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"a":{"d":{"d":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"179":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"268":{"tf":1.0}}}},"s":{"df":0,"docs":{},"u":{"b":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"179":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"!":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"213":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"296":{"tf":1.4142135623730951},"34":{"tf":1.0}}}}}}},"x":{",":{"df":0,"docs":{},"y":{",":{"df":0,"docs":{},"z":{"df":1,"docs":{"260":{"tf":1.0}}}},"df":0,"docs":{}}},".":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"210":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"233":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"^":{"2":{"df":1,"docs":{"16":{"tf":1.0}}},"4":{"+":{"5":{"\\":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"{":{"3":{"df":0,"docs":{},"}":{"^":{"df":0,"docs":{},"{":{"2":{"6":{"df":0,"docs":{},"}":{"8":{"8":{"df":0,"docs":{},"x":{"^":{"3":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"0":{",":{"df":0,"docs":{},"x":{"_":{"1":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"y":{"_":{"0":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"42":{"tf":1.4142135623730951}}},"1":{",":{"df":0,"docs":{},"y":{"_":{"1":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":17,"docs":{"131":{"tf":1.7320508075688772},"132":{"tf":1.7320508075688772},"139":{"tf":1.4142135623730951},"151":{"tf":1.0},"175":{"tf":6.082762530298219},"179":{"tf":2.0},"180":{"tf":6.48074069840786},"210":{"tf":1.0},"233":{"tf":1.7320508075688772},"25":{"tf":1.0},"256":{"tf":5.916079783099616},"272":{"tf":1.0},"275":{"tf":1.4142135623730951},"287":{"tf":1.0},"289":{"tf":1.4142135623730951},"42":{"tf":2.449489742783178},"50":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"255":{"tf":1.0},"275":{"tf":1.4142135623730951},"278":{"tf":2.8284271247461903}}}},"」":{"df":0,"docs":{},"或":{"df":0,"docs":{},"是":{"df":0,"docs":{},"「":{"df":0,"docs":{},"x":{"df":1,"docs":{"272":{"tf":1.0}}}}}}}},"y":{".":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"210":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"_":{"0":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"df":0,"docs":{},"x":{"_":{"1":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"42":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":5,"docs":{"210":{"tf":1.0},"256":{"tf":5.477225575051661},"42":{"tf":1.7320508075688772},"43":{"tf":1.4142135623730951},"47":{"tf":1.0}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}}}}},"z":{".":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"210":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":2,"docs":{"210":{"tf":1.0},"256":{"tf":2.8284271247461903}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":4,"docs":{"176":{"tf":1.7320508075688772},"248":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"212":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"176":{"tf":2.23606797749979},"179":{"tf":1.0},"248":{"tf":1.7320508075688772}}}}}}},"title":{"root":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}}}},"r":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"131":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"216":{"tf":1.0}}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}}}}}}}},"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"139":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"27":{"tf":1.0},"38":{"tf":1.0},"61":{"tf":1.0}}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":4,"docs":{"224":{"tf":1.0},"259":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0}}}}}},"u":{"b":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"71":{"tf":1.0}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"134":{"tf":1.0},"142":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"89":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"118":{"tf":1.0}}}}}}}},"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":2,"docs":{"138":{"tf":1.0},"139":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"b":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":10,"docs":{"100":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"140":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.0},"75":{"tf":1.0},"99":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"216":{"tf":1.0}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"123":{"tf":1.0},"272":{"tf":1.0}}}}}},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":1,"docs":{"275":{"tf":1.0}}}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":2,"docs":{"188":{"tf":1.0},"213":{"tf":1.0}}}}},"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":2,"docs":{"173":{"tf":1.0},"177":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":2,"docs":{"277":{"tf":1.0},"282":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":2,"docs":{"117":{"tf":1.0},"90":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":2,"docs":{"184":{"tf":1.0},"210":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"265":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":1,"docs":{"233":{"tf":1.0}}},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"37":{"tf":1.0},"48":{"tf":1.0}}}}}}}}}}},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"224":{"tf":1.0},"259":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"130":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"g":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"80":{"tf":1.0}}}},"df":0,"docs":{}},"h":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"277":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"df":3,"docs":{"220":{"tf":1.0},"226":{"tf":1.0},"233":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"196":{"tf":1.0}}},"df":0,"docs":{},"p":{"df":1,"docs":{"89":{"tf":1.0}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"89":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"69":{"tf":1.0},"85":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":2,"docs":{"132":{"tf":1.0},"187":{"tf":1.0}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"187":{"tf":1.0}}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":3,"docs":{"38":{"tf":1.0},"56":{"tf":1.0},"61":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":3,"docs":{"36":{"tf":1.0},"40":{"tf":1.0},"46":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"186":{"tf":1.0},"211":{"tf":1.0}}}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"185":{"tf":1.0},"211":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"282":{"tf":1.0}}}}}}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":0,"docs":{}},"k":{"df":2,"docs":{"191":{"tf":1.0},"200":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"191":{"tf":1.0},"200":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":1,"docs":{"96":{"tf":1.0}}}}}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":3,"docs":{"220":{"tf":1.0},"221":{"tf":1.0},"226":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"119":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"110":{"tf":1.0}}}}}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"222":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"df":3,"docs":{"195":{"tf":1.0},"197":{"tf":1.0},"202":{"tf":1.0}}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"$":{"df":0,"docs":{},":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"17":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":1,"docs":{"17":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"a":{"$":{"df":0,"docs":{},":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"18":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":1,"docs":{"18":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"296":{"tf":1.0}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"221":{"tf":1.0}}}}},"df":0,"docs":{}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"119":{"tf":1.0}},"i":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":1,"docs":{"212":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":2,"docs":{"103":{"tf":1.0},"96":{"tf":1.0}}}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"264":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"106":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"163":{"tf":1.0}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"94":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"274":{"tf":1.0}}}}}}}}}},"r":{"a":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"145":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"102":{"tf":1.0}}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"0":{"tf":1.0},"295":{"tf":1.0}}}}}},"s":{"c":{"a":{"df":0,"docs":{},"l":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"273":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"96":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":7,"docs":{"23":{"tf":1.0},"27":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"40":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"197":{"tf":1.0}}}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"80":{"tf":1.0}}},"df":0,"docs":{}}}}},"t":{"df":2,"docs":{"223":{"tf":1.0},"245":{"tf":1.0}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}}}}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"90":{"tf":1.0}}}},"g":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"130":{"tf":1.0}}}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"200":{"tf":1.0}}},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"203":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}}},"z":{"df":0,"docs":{},"e":{"df":1,"docs":{"265":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"296":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"t":{"df":10,"docs":{"123":{"tf":1.0},"134":{"tf":1.0},"143":{"tf":1.0},"145":{"tf":1.0},"38":{"tf":1.0},"56":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0},"71":{"tf":1.0},"90":{"tf":1.0}}}}},"p":{"a":{"c":{"df":0,"docs":{},"e":{"df":5,"docs":{"100":{"tf":1.0},"115":{"tf":1.0},"128":{"tf":1.0},"140":{"tf":1.0},"150":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"117":{"tf":1.0},"118":{"tf":1.0}}}}}},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"153":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"132":{"tf":1.0}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":3,"docs":{"131":{"tf":1.0},"132":{"tf":1.0},"91":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"196":{"tf":1.0}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"a":{"$":{"df":0,"docs":{},":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"19":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":1,"docs":{"19":{"tf":1.0}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":5,"docs":{"114":{"tf":1.0},"127":{"tf":1.0},"149":{"tf":1.0},"75":{"tf":1.0},"99":{"tf":1.0}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"121":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"117":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":5,"docs":{"209":{"tf":1.0},"210":{"tf":1.0},"211":{"tf":1.0},"212":{"tf":1.0},"213":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":1,"docs":{"46":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"248":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"248":{"tf":1.0}}}}},"p":{"df":2,"docs":{"118":{"tf":1.0},"91":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"262":{"tf":1.0}}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"296":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"138":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"296":{"tf":1.0}}}}}}}}}},"lang":"English","pipeline":["trimmer","stopWordFilter","stemmer"],"ref":"id","version":"0.9.5"},"results_options":{"limit_results":30,"teaser_word_count":30},"search_options":{"bool":"OR","expand":true,"fields":{"body":{"boost":1},"breadcrumbs":{"boost":1},"title":{"boost":2}}}}); \ No newline at end of file diff --git a/searchindex.json b/searchindex.json index 39aa22fc..01c85653 100644 --- a/searchindex.json +++ b/searchindex.json @@ -1 +1 @@ -{"doc_urls":["index.html#rust-algorithm-club","index.html#基礎概念","index.html#演算法","index.html#搜尋","index.html#排序","index.html#資料結構","index.html#堆疊與佇列","index.html#鏈結串列","index.html#關聯容器","index.html#字串處理","index.html#學習資源","index.html#如何貢獻","index.html#貢獻者","index.html#授權條款","concepts/asymptotic-notation/index.html#漸進符號-asymptotic-notation","concepts/asymptotic-notation/index.html#用數學表示演算法效率","concepts/asymptotic-notation/index.html#何謂漸進符號","concepts/asymptotic-notation/index.html#obig-o","concepts/asymptotic-notation/index.html#omegabig-omega","concepts/asymptotic-notation/index.html#thetabig-theta","concepts/asymptotic-notation/index.html#常見的複雜度","concepts/asymptotic-notation/index.html#你可能不適合漸進符號","concepts/asymptotic-notation/index.html#參考資料","searching/linear_search/index.html#線性搜尋-linear-search","searching/linear_search/index.html#效能","searching/linear_search/index.html#實作","searching/linear_search/index.html#參考資料","searching/binary_search/index.html#二元搜尋-binary-search","searching/binary_search/index.html#步驟","searching/binary_search/index.html#說明","searching/binary_search/index.html#效能","searching/binary_search/index.html#實作","searching/binary_search/index.html#函式宣告","searching/binary_search/index.html#函式主體","searching/binary_search/index.html#常見誤區與解法","searching/binary_search/index.html#變形與衍生","searching/binary_search/index.html#interpolation-search","searching/binary_search/index.html#exponential-search","searching/binary_search/index.html#binary-insertion-sort","searching/binary_search/index.html#參考資料","searching/interpolation_search/index.html#內插搜尋-interpolation-search","searching/interpolation_search/index.html#步驟","searching/interpolation_search/index.html#說明","searching/interpolation_search/index.html#效能","searching/interpolation_search/index.html#實作","searching/interpolation_search/index.html#變形與衍生","searching/interpolation_search/index.html#interpolation-search-tree","searching/interpolation_search/index.html#參考資料","searching/exponential_search/index.html#指數搜尋-exponential-search","searching/exponential_search/index.html#步驟","searching/exponential_search/index.html#說明","searching/exponential_search/index.html#效能","searching/exponential_search/index.html#劃定搜尋範圍","searching/exponential_search/index.html#執行二元搜尋","searching/exponential_search/index.html#實作","searching/exponential_search/index.html#參考資料","sorting/insertion_sort/index.html#插入排序-insertion-sort","sorting/insertion_sort/index.html#步驟","sorting/insertion_sort/index.html#效能","sorting/insertion_sort/index.html#實作","sorting/insertion_sort/index.html#變形","sorting/insertion_sort/index.html#binary-insertion-sort","sorting/insertion_sort/index.html#參考資料","sorting/selection_sort/index.html#選擇排序-selection-sort","sorting/selection_sort/index.html#步驟","sorting/selection_sort/index.html#說明","sorting/selection_sort/index.html#效能","sorting/selection_sort/index.html#實作","sorting/selection_sort/index.html#變形","sorting/selection_sort/index.html#heapsort","sorting/selection_sort/index.html#參考資料","sorting/bubble_sort/index.html#氣泡排序-bubble-sort","sorting/bubble_sort/index.html#步驟","sorting/bubble_sort/index.html#說明","sorting/bubble_sort/index.html#效能","sorting/bubble_sort/index.html#time-complexity","sorting/bubble_sort/index.html#實作","sorting/bubble_sort/index.html#參考資料","sorting/shellsort/index.html#希爾排序-shellsort","sorting/shellsort/index.html#步驟","sorting/shellsort/index.html#gap-sequneces","sorting/shellsort/index.html#說明","sorting/shellsort/index.html#效能","sorting/shellsort/index.html#實作","sorting/shellsort/index.html#參考資料","sorting/heapsort/index.html#堆積排序-heapsort","sorting/heapsort/index.html#步驟","sorting/heapsort/index.html#說明","sorting/heapsort/index.html#效能","sorting/heapsort/index.html#build-heap-heapify","sorting/heapsort/index.html#sorting-sift-down","sorting/heapsort/index.html#sum-up","sorting/heapsort/index.html#實作","sorting/heapsort/index.html#參考資料","sorting/quicksort/index.html#快速排序-quicksort","sorting/quicksort/index.html#步驟","sorting/quicksort/index.html#lomuto-partition-scheme","sorting/quicksort/index.html#說明","sorting/quicksort/index.html#效能","sorting/quicksort/index.html#time-complexity","sorting/quicksort/index.html#space-complexity","sorting/quicksort/index.html#實作","sorting/quicksort/index.html#recursion","sorting/quicksort/index.html#partitioning","sorting/quicksort/index.html#最佳化與變形","sorting/quicksort/index.html#降低額外空間複雜度","sorting/quicksort/index.html#選擇-pivot-的方法","sorting/quicksort/index.html#對付重複的元素","sorting/quicksort/index.html#選擇不同的分割方案","sorting/quicksort/index.html#參考資料","sorting/mergesort/index.html#合併排序-mergesort","sorting/mergesort/index.html#步驟","sorting/mergesort/index.html#說明","sorting/mergesort/index.html#效能","sorting/mergesort/index.html#time-complexity","sorting/mergesort/index.html#space-complexity","sorting/mergesort/index.html#實作","sorting/mergesort/index.html#top-down-split","sorting/mergesort/index.html#buttom-up-split","sorting/mergesort/index.html#the-merge-part","sorting/mergesort/index.html#變形","sorting/mergesort/index.html#timsort","sorting/mergesort/index.html#參考資料","sorting/counting_sort/index.html#計數排序-counting-sort","sorting/counting_sort/index.html#步驟","sorting/counting_sort/index.html#說明","sorting/counting_sort/index.html#效能","sorting/counting_sort/index.html#time-complexity","sorting/counting_sort/index.html#space-complexity","sorting/counting_sort/index.html#實作","sorting/counting_sort/index.html#function-signature","sorting/counting_sort/index.html#prefix-sums-array","sorting/counting_sort/index.html#prefix-sums-as-start-index","sorting/counting_sort/index.html#參考資料","sorting/bucket_sort/index.html#桶排序-bucket-sort","sorting/bucket_sort/index.html#步驟","sorting/bucket_sort/index.html#說明","sorting/bucket_sort/index.html#效能","sorting/bucket_sort/index.html#worst-case","sorting/bucket_sort/index.html#best-case","sorting/bucket_sort/index.html#space-complexity","sorting/bucket_sort/index.html#實作","sorting/bucket_sort/index.html#bucket","sorting/bucket_sort/index.html#sorting","sorting/bucket_sort/index.html#參考資料","sorting/radix_sort/index.html#基數排序-radix-sort","sorting/radix_sort/index.html#步驟","sorting/radix_sort/index.html#說明","sorting/radix_sort/index.html#效能","sorting/radix_sort/index.html#time-complexity","sorting/radix_sort/index.html#space-complexity","sorting/radix_sort/index.html#實作","sorting/radix_sort/index.html#參考資料","collections/stack/index.html#堆疊-stack","collections/stack/index.html#架構設計","collections/stack/index.html#基本操作","collections/stack/index.html#定義一個空間有限的堆疊","collections/stack/index.html#將新資料加入資料結構","collections/stack/index.html#將最新加入的資料移出資料結構","collections/stack/index.html#取得堆疊的大小","collections/stack/index.html#在不將資料退出堆疊的情況下偷看最後加入堆疊的資料","collections/stack/index.html#效能","collections/stack/index.html#參考資料","collections/queue/index.html#佇列-queue","collections/queue/index.html#架構設計","collections/queue/index.html#基本操作","collections/queue/index.html#定義佇列","collections/queue/index.html#將新資料加入佇列","collections/queue/index.html#將最先放入的資料移出佇列","collections/queue/index.html#取得佇列大小","collections/queue/index.html#不改變佇列的情況下取得最先放入的資料","collections/queue/index.html#效能","collections/queue/index.html#參考資料","collections/deque/index.html#雙端佇列-deque","collections/deque/index.html#架構設計","collections/deque/index.html#環形緩衝區","collections/deque/index.html#手動配置記憶體","collections/deque/index.html#deque","collections/deque/index.html#基本操作","collections/deque/index.html#邏輯索引映射","collections/deque/index.html#動態增加記憶體空間","collections/deque/index.html#查看元素","collections/deque/index.html#增刪元素","collections/deque/index.html#特徵","collections/deque/index.html#drop","collections/deque/index.html#iterator","collections/deque/index.html#intoiterator","collections/deque/index.html#index-and-indexmut","collections/deque/index.html#debug","collections/deque/index.html#效能","collections/deque/index.html#參考資料","collections/linked_list/index.html#鏈結串列-linked-list","collections/linked_list/index.html#特性","collections/linked_list/index.html#適用場景","collections/linked_list/index.html#術語","collections/linked_list/index.html#node","collections/linked_list/index.html#head-and-tail","collections/linked_list/index.html#sentinel-node","collections/linked_list/index.html#種類","collections/linked_list/index.html#參考資料","collections/singly_linked_list/index.html#單向鏈結串列-singly-linked-list","collections/singly_linked_list/index.html#實作設計","collections/singly_linked_list/index.html#node","collections/singly_linked_list/index.html#singlylinkedlist","collections/singly_linked_list/index.html#基本操作","collections/singly_linked_list/index.html#初始化與清除資料","collections/singly_linked_list/index.html#增刪首個節點","collections/singly_linked_list/index.html#插入刪除任意節點","collections/singly_linked_list/index.html#反轉","collections/singly_linked_list/index.html#traits","collections/singly_linked_list/index.html#drop-trait","collections/singly_linked_list/index.html#iterator-and-intoiterator-traits","collections/singly_linked_list/index.html#partialeq-trait","collections/singly_linked_list/index.html#debug-trait","collections/singly_linked_list/index.html#效能","collections/singly_linked_list/index.html#參考資料","collections/associative-container/index.html#關聯容器-associative-container","collections/associative-container/index.html#特性","collections/associative-container/index.html#適用場景","collections/associative-container/index.html#種類","collections/associative-container/index.html#雜湊表-hash-map","collections/associative-container/index.html#有序映射表-ordered-map","collections/associative-container/index.html#多重映射表-multimap","collections/associative-container/index.html#集合-set","collections/associative-container/index.html#布隆過濾器-bloom-filter","collections/associative-container/index.html#參考資料","collections/hash_map/index.html#雜湊表-hash-map","collections/hash_map/index.html#概念","collections/hash_map/index.html#雜湊","collections/hash_map/index.html#選擇雜湊函數","collections/hash_map/index.html#處理雜湊碰撞","collections/hash_map/index.html#動態調整雜湊表大小","collections/hash_map/index.html#架構設計","collections/hash_map/index.html#hash-and-eq","collections/hash_map/index.html#記憶體佈局","collections/hash_map/index.html#基本操作","collections/hash_map/index.html#初始化與預設值","collections/hash_map/index.html#存取單一元素","collections/hash_map/index.html#插入與刪除元素","collections/hash_map/index.html#動態調整儲存空間","collections/hash_map/index.html#實作疊代器方法","collections/hash_map/index.html#效能","collections/hash_map/index.html#時間複雜度","collections/hash_map/index.html#空間複雜度","collections/hash_map/index.html#參考資料","collections/set/index.html#集合-set","collections/set/index.html#架構設計","collections/set/index.html#以雜湊表為底層容器","collections/set/index.html#不佔空間的-unit-type","collections/set/index.html#基本操作","collections/set/index.html#集合運算","collections/set/index.html#實作聯集","collections/set/index.html#實作交集差集與對稱差集","collections/set/index.html#子集超集與不交集","collections/set/index.html#二元運算與運算子","collections/set/index.html#運算子多載","collections/set/index.html#比較運算子","collections/set/index.html#效能","collections/set/index.html#參考資料","collections/bloom_filter/index.html#布隆過濾器-bloom-filter","collections/bloom_filter/index.html#概念","collections/bloom_filter/index.html#架構設計","collections/bloom_filter/index.html#利用-vec-儲存位元","collections/bloom_filter/index.html#儲存兩個雜湊函數","collections/bloom_filter/index.html#使用--phantomdata--讓編譯器閉嘴","collections/bloom_filter/index.html#sized-讓容器可以儲存-dsts","collections/bloom_filter/index.html#基本操作","collections/bloom_filter/index.html#初始化","collections/bloom_filter/index.html#新增","collections/bloom_filter/index.html#查詢","collections/bloom_filter/index.html#效能","collections/bloom_filter/index.html#變形","collections/bloom_filter/index.html#可以計數的-counting-bloom-filter","collections/bloom_filter/index.html#動態適應空間大小的-scalable-bloom-filter","collections/bloom_filter/index.html#quotient-filter","collections/bloom_filter/index.html#支援刪除元素的-cuckoo-filter","collections/bloom_filter/index.html#參考資料","hamming_distance/index.html#漢明距離-hamming-distance","hamming_distance/index.html#位元版實作","hamming_distance/index.html#字串版實作","hamming_distance/index.html#效能","hamming_distance/index.html#參考資料","levenshtein_distance/index.html#萊文斯坦距離-levenshtein-distance","levenshtein_distance/index.html#概念","levenshtein_distance/index.html#萊文斯坦的遞迴函數","levenshtein_distance/index.html#動態規劃的距離矩陣","levenshtein_distance/index.html#實作","levenshtein_distance/index.html#距離矩陣","levenshtein_distance/index.html#使用一維陣列減少記憶體配置","levenshtein_distance/index.html#拋棄矩陣降低空間複雜度","levenshtein_distance/index.html#效能","levenshtein_distance/index.html#參考資料","CONTRIBUTING.html#貢獻指南","CONTRIBUTING.html#開始貢獻之前","CONTRIBUTING.html#提交你的成果","CONTRIBUTING.html#歡迎加入-rust-演算法俱樂部願演算法與你同在","404.html#oops-something-went-wrong"],"index":{"documentStore":{"docInfo":{"0":{"body":15,"breadcrumbs":6,"title":3},"1":{"body":2,"breadcrumbs":3,"title":0},"10":{"body":14,"breadcrumbs":3,"title":0},"100":{"body":21,"breadcrumbs":3,"title":2},"101":{"body":2,"breadcrumbs":1,"title":0},"102":{"body":58,"breadcrumbs":2,"title":1},"103":{"body":65,"breadcrumbs":2,"title":1},"104":{"body":2,"breadcrumbs":1,"title":0},"105":{"body":147,"breadcrumbs":1,"title":0},"106":{"body":6,"breadcrumbs":2,"title":1},"107":{"body":78,"breadcrumbs":1,"title":0},"108":{"body":61,"breadcrumbs":1,"title":0},"109":{"body":15,"breadcrumbs":1,"title":0},"11":{"body":0,"breadcrumbs":3,"title":0},"110":{"body":10,"breadcrumbs":2,"title":1},"111":{"body":15,"breadcrumbs":1,"title":0},"112":{"body":81,"breadcrumbs":1,"title":0},"113":{"body":17,"breadcrumbs":1,"title":0},"114":{"body":39,"breadcrumbs":3,"title":2},"115":{"body":8,"breadcrumbs":3,"title":2},"116":{"body":12,"breadcrumbs":1,"title":0},"117":{"body":59,"breadcrumbs":4,"title":3},"118":{"body":72,"breadcrumbs":4,"title":3},"119":{"body":82,"breadcrumbs":3,"title":2},"12":{"body":5,"breadcrumbs":3,"title":0},"120":{"body":0,"breadcrumbs":1,"title":0},"121":{"body":3,"breadcrumbs":2,"title":1},"122":{"body":20,"breadcrumbs":1,"title":0},"123":{"body":15,"breadcrumbs":4,"title":2},"124":{"body":13,"breadcrumbs":2,"title":0},"125":{"body":199,"breadcrumbs":2,"title":0},"126":{"body":16,"breadcrumbs":2,"title":0},"127":{"body":19,"breadcrumbs":4,"title":2},"128":{"body":15,"breadcrumbs":4,"title":2},"129":{"body":4,"breadcrumbs":2,"title":0},"13":{"body":15,"breadcrumbs":3,"title":0},"130":{"body":34,"breadcrumbs":4,"title":2},"131":{"body":65,"breadcrumbs":5,"title":3},"132":{"body":94,"breadcrumbs":6,"title":4},"133":{"body":7,"breadcrumbs":2,"title":0},"134":{"body":8,"breadcrumbs":4,"title":2},"135":{"body":15,"breadcrumbs":2,"title":0},"136":{"body":94,"breadcrumbs":2,"title":0},"137":{"body":18,"breadcrumbs":2,"title":0},"138":{"body":13,"breadcrumbs":4,"title":2},"139":{"body":54,"breadcrumbs":4,"title":2},"14":{"body":3,"breadcrumbs":4,"title":2},"140":{"body":19,"breadcrumbs":4,"title":2},"141":{"body":0,"breadcrumbs":2,"title":0},"142":{"body":54,"breadcrumbs":3,"title":1},"143":{"body":118,"breadcrumbs":3,"title":1},"144":{"body":18,"breadcrumbs":2,"title":0},"145":{"body":44,"breadcrumbs":4,"title":2},"146":{"body":40,"breadcrumbs":2,"title":0},"147":{"body":166,"breadcrumbs":2,"title":0},"148":{"body":17,"breadcrumbs":2,"title":0},"149":{"body":47,"breadcrumbs":4,"title":2},"15":{"body":21,"breadcrumbs":2,"title":0},"150":{"body":16,"breadcrumbs":4,"title":2},"151":{"body":68,"breadcrumbs":2,"title":0},"152":{"body":10,"breadcrumbs":2,"title":0},"153":{"body":13,"breadcrumbs":2,"title":1},"154":{"body":12,"breadcrumbs":1,"title":0},"155":{"body":5,"breadcrumbs":1,"title":0},"156":{"body":19,"breadcrumbs":1,"title":0},"157":{"body":20,"breadcrumbs":1,"title":0},"158":{"body":9,"breadcrumbs":1,"title":0},"159":{"body":11,"breadcrumbs":1,"title":0},"16":{"body":34,"breadcrumbs":2,"title":0},"160":{"body":7,"breadcrumbs":1,"title":0},"161":{"body":15,"breadcrumbs":1,"title":0},"162":{"body":10,"breadcrumbs":1,"title":0},"163":{"body":10,"breadcrumbs":2,"title":1},"164":{"body":10,"breadcrumbs":1,"title":0},"165":{"body":4,"breadcrumbs":1,"title":0},"166":{"body":8,"breadcrumbs":1,"title":0},"167":{"body":14,"breadcrumbs":1,"title":0},"168":{"body":13,"breadcrumbs":1,"title":0},"169":{"body":6,"breadcrumbs":1,"title":0},"17":{"body":71,"breadcrumbs":4,"title":2},"170":{"body":9,"breadcrumbs":1,"title":0},"171":{"body":24,"breadcrumbs":1,"title":0},"172":{"body":4,"breadcrumbs":1,"title":0},"173":{"body":13,"breadcrumbs":2,"title":1},"174":{"body":10,"breadcrumbs":1,"title":0},"175":{"body":149,"breadcrumbs":1,"title":0},"176":{"body":216,"breadcrumbs":1,"title":0},"177":{"body":25,"breadcrumbs":2,"title":1},"178":{"body":13,"breadcrumbs":1,"title":0},"179":{"body":178,"breadcrumbs":1,"title":0},"18":{"body":29,"breadcrumbs":4,"title":2},"180":{"body":188,"breadcrumbs":1,"title":0},"181":{"body":64,"breadcrumbs":1,"title":0},"182":{"body":112,"breadcrumbs":1,"title":0},"183":{"body":3,"breadcrumbs":1,"title":0},"184":{"body":28,"breadcrumbs":2,"title":1},"185":{"body":349,"breadcrumbs":2,"title":1},"186":{"body":105,"breadcrumbs":2,"title":1},"187":{"body":64,"breadcrumbs":3,"title":2},"188":{"body":31,"breadcrumbs":2,"title":1},"189":{"body":34,"breadcrumbs":1,"title":0},"19":{"body":56,"breadcrumbs":4,"title":2},"190":{"body":19,"breadcrumbs":1,"title":0},"191":{"body":0,"breadcrumbs":2,"title":2},"192":{"body":5,"breadcrumbs":0,"title":0},"193":{"body":5,"breadcrumbs":0,"title":0},"194":{"body":0,"breadcrumbs":0,"title":0},"195":{"body":5,"breadcrumbs":1,"title":1},"196":{"body":14,"breadcrumbs":2,"title":2},"197":{"body":22,"breadcrumbs":2,"title":2},"198":{"body":25,"breadcrumbs":0,"title":0},"199":{"body":13,"breadcrumbs":0,"title":0},"2":{"body":0,"breadcrumbs":3,"title":0},"20":{"body":26,"breadcrumbs":2,"title":0},"200":{"body":22,"breadcrumbs":6,"title":3},"201":{"body":0,"breadcrumbs":3,"title":0},"202":{"body":39,"breadcrumbs":4,"title":1},"203":{"body":15,"breadcrumbs":4,"title":1},"204":{"body":9,"breadcrumbs":3,"title":0},"205":{"body":19,"breadcrumbs":3,"title":0},"206":{"body":41,"breadcrumbs":3,"title":0},"207":{"body":137,"breadcrumbs":3,"title":0},"208":{"body":76,"breadcrumbs":3,"title":0},"209":{"body":3,"breadcrumbs":4,"title":1},"21":{"body":8,"breadcrumbs":2,"title":0},"210":{"body":106,"breadcrumbs":5,"title":2},"211":{"body":199,"breadcrumbs":6,"title":3},"212":{"body":33,"breadcrumbs":5,"title":2},"213":{"body":20,"breadcrumbs":5,"title":2},"214":{"body":24,"breadcrumbs":3,"title":0},"215":{"body":25,"breadcrumbs":3,"title":0},"216":{"body":10,"breadcrumbs":2,"title":2},"217":{"body":3,"breadcrumbs":0,"title":0},"218":{"body":3,"breadcrumbs":0,"title":0},"219":{"body":0,"breadcrumbs":0,"title":0},"22":{"body":15,"breadcrumbs":2,"title":0},"220":{"body":0,"breadcrumbs":2,"title":2},"221":{"body":2,"breadcrumbs":2,"title":2},"222":{"body":0,"breadcrumbs":1,"title":1},"223":{"body":2,"breadcrumbs":1,"title":1},"224":{"body":0,"breadcrumbs":2,"title":2},"225":{"body":21,"breadcrumbs":0,"title":0},"226":{"body":3,"breadcrumbs":4,"title":2},"227":{"body":114,"breadcrumbs":2,"title":0},"228":{"body":19,"breadcrumbs":2,"title":0},"229":{"body":7,"breadcrumbs":2,"title":0},"23":{"body":4,"breadcrumbs":4,"title":2},"230":{"body":99,"breadcrumbs":2,"title":0},"231":{"body":33,"breadcrumbs":2,"title":0},"232":{"body":2,"breadcrumbs":2,"title":0},"233":{"body":89,"breadcrumbs":4,"title":2},"234":{"body":68,"breadcrumbs":2,"title":0},"235":{"body":17,"breadcrumbs":2,"title":0},"236":{"body":75,"breadcrumbs":2,"title":0},"237":{"body":71,"breadcrumbs":2,"title":0},"238":{"body":102,"breadcrumbs":2,"title":0},"239":{"body":66,"breadcrumbs":2,"title":0},"24":{"body":14,"breadcrumbs":2,"title":0},"240":{"body":107,"breadcrumbs":2,"title":0},"241":{"body":23,"breadcrumbs":2,"title":0},"242":{"body":28,"breadcrumbs":2,"title":0},"243":{"body":5,"breadcrumbs":2,"title":0},"244":{"body":38,"breadcrumbs":2,"title":0},"245":{"body":5,"breadcrumbs":2,"title":1},"246":{"body":0,"breadcrumbs":1,"title":0},"247":{"body":13,"breadcrumbs":1,"title":0},"248":{"body":13,"breadcrumbs":3,"title":2},"249":{"body":84,"breadcrumbs":1,"title":0},"25":{"body":35,"breadcrumbs":2,"title":0},"250":{"body":21,"breadcrumbs":1,"title":0},"251":{"body":240,"breadcrumbs":1,"title":0},"252":{"body":50,"breadcrumbs":1,"title":0},"253":{"body":42,"breadcrumbs":1,"title":0},"254":{"body":5,"breadcrumbs":1,"title":0},"255":{"body":60,"breadcrumbs":1,"title":0},"256":{"body":236,"breadcrumbs":1,"title":0},"257":{"body":31,"breadcrumbs":1,"title":0},"258":{"body":16,"breadcrumbs":1,"title":0},"259":{"body":36,"breadcrumbs":4,"title":2},"26":{"body":3,"breadcrumbs":2,"title":0},"260":{"body":49,"breadcrumbs":2,"title":0},"261":{"body":0,"breadcrumbs":2,"title":0},"262":{"body":102,"breadcrumbs":3,"title":1},"263":{"body":35,"breadcrumbs":2,"title":0},"264":{"body":118,"breadcrumbs":3,"title":1},"265":{"body":28,"breadcrumbs":4,"title":2},"266":{"body":23,"breadcrumbs":2,"title":0},"267":{"body":105,"breadcrumbs":2,"title":0},"268":{"body":94,"breadcrumbs":2,"title":0},"269":{"body":169,"breadcrumbs":2,"title":0},"27":{"body":5,"breadcrumbs":4,"title":2},"270":{"body":40,"breadcrumbs":2,"title":0},"271":{"body":30,"breadcrumbs":2,"title":0},"272":{"body":32,"breadcrumbs":5,"title":3},"273":{"body":41,"breadcrumbs":5,"title":3},"274":{"body":66,"breadcrumbs":4,"title":2},"275":{"body":72,"breadcrumbs":4,"title":2},"276":{"body":31,"breadcrumbs":2,"title":0},"277":{"body":8,"breadcrumbs":4,"title":2},"278":{"body":58,"breadcrumbs":2,"title":0},"279":{"body":60,"breadcrumbs":2,"title":0},"28":{"body":0,"breadcrumbs":2,"title":0},"280":{"body":3,"breadcrumbs":2,"title":0},"281":{"body":3,"breadcrumbs":2,"title":0},"282":{"body":10,"breadcrumbs":4,"title":2},"283":{"body":0,"breadcrumbs":2,"title":0},"284":{"body":98,"breadcrumbs":2,"title":0},"285":{"body":51,"breadcrumbs":2,"title":0},"286":{"body":30,"breadcrumbs":2,"title":0},"287":{"body":158,"breadcrumbs":2,"title":0},"288":{"body":46,"breadcrumbs":2,"title":0},"289":{"body":89,"breadcrumbs":2,"title":0},"29":{"body":87,"breadcrumbs":2,"title":0},"290":{"body":18,"breadcrumbs":2,"title":0},"291":{"body":27,"breadcrumbs":2,"title":0},"292":{"body":1,"breadcrumbs":0,"title":0},"293":{"body":9,"breadcrumbs":0,"title":0},"294":{"body":7,"breadcrumbs":0,"title":0},"295":{"body":0,"breadcrumbs":1,"title":1},"296":{"body":0,"breadcrumbs":5,"title":4},"3":{"body":8,"breadcrumbs":3,"title":0},"30":{"body":65,"breadcrumbs":2,"title":0},"31":{"body":0,"breadcrumbs":2,"title":0},"32":{"body":20,"breadcrumbs":2,"title":0},"33":{"body":68,"breadcrumbs":2,"title":0},"34":{"body":17,"breadcrumbs":2,"title":0},"35":{"body":0,"breadcrumbs":2,"title":0},"36":{"body":6,"breadcrumbs":4,"title":2},"37":{"body":7,"breadcrumbs":4,"title":2},"38":{"body":5,"breadcrumbs":5,"title":3},"39":{"body":4,"breadcrumbs":2,"title":0},"4":{"body":19,"breadcrumbs":3,"title":0},"40":{"body":6,"breadcrumbs":4,"title":2},"41":{"body":9,"breadcrumbs":2,"title":0},"42":{"body":88,"breadcrumbs":2,"title":0},"43":{"body":46,"breadcrumbs":2,"title":0},"44":{"body":198,"breadcrumbs":2,"title":0},"45":{"body":0,"breadcrumbs":2,"title":0},"46":{"body":30,"breadcrumbs":5,"title":3},"47":{"body":65,"breadcrumbs":2,"title":0},"48":{"body":9,"breadcrumbs":4,"title":2},"49":{"body":8,"breadcrumbs":2,"title":0},"5":{"body":0,"breadcrumbs":3,"title":0},"50":{"body":68,"breadcrumbs":2,"title":0},"51":{"body":10,"breadcrumbs":2,"title":0},"52":{"body":9,"breadcrumbs":2,"title":0},"53":{"body":18,"breadcrumbs":2,"title":0},"54":{"body":73,"breadcrumbs":2,"title":0},"55":{"body":3,"breadcrumbs":2,"title":0},"56":{"body":9,"breadcrumbs":4,"title":2},"57":{"body":6,"breadcrumbs":2,"title":0},"58":{"body":38,"breadcrumbs":2,"title":0},"59":{"body":25,"breadcrumbs":2,"title":0},"6":{"body":3,"breadcrumbs":3,"title":0},"60":{"body":0,"breadcrumbs":2,"title":0},"61":{"body":67,"breadcrumbs":5,"title":3},"62":{"body":16,"breadcrumbs":2,"title":0},"63":{"body":12,"breadcrumbs":4,"title":2},"64":{"body":17,"breadcrumbs":2,"title":0},"65":{"body":47,"breadcrumbs":2,"title":0},"66":{"body":31,"breadcrumbs":2,"title":0},"67":{"body":36,"breadcrumbs":2,"title":0},"68":{"body":0,"breadcrumbs":2,"title":0},"69":{"body":7,"breadcrumbs":3,"title":1},"7":{"body":9,"breadcrumbs":3,"title":0},"70":{"body":16,"breadcrumbs":2,"title":0},"71":{"body":12,"breadcrumbs":4,"title":2},"72":{"body":6,"breadcrumbs":2,"title":0},"73":{"body":182,"breadcrumbs":2,"title":0},"74":{"body":11,"breadcrumbs":2,"title":0},"75":{"body":23,"breadcrumbs":4,"title":2},"76":{"body":61,"breadcrumbs":2,"title":0},"77":{"body":14,"breadcrumbs":2,"title":0},"78":{"body":18,"breadcrumbs":2,"title":1},"79":{"body":12,"breadcrumbs":1,"title":0},"8":{"body":8,"breadcrumbs":3,"title":0},"80":{"body":44,"breadcrumbs":3,"title":2},"81":{"body":182,"breadcrumbs":1,"title":0},"82":{"body":33,"breadcrumbs":1,"title":0},"83":{"body":62,"breadcrumbs":1,"title":0},"84":{"body":17,"breadcrumbs":1,"title":0},"85":{"body":24,"breadcrumbs":2,"title":1},"86":{"body":19,"breadcrumbs":1,"title":0},"87":{"body":134,"breadcrumbs":1,"title":0},"88":{"body":21,"breadcrumbs":1,"title":0},"89":{"body":68,"breadcrumbs":4,"title":3},"9":{"body":7,"breadcrumbs":3,"title":0},"90":{"body":15,"breadcrumbs":4,"title":3},"91":{"body":5,"breadcrumbs":3,"title":2},"92":{"body":169,"breadcrumbs":1,"title":0},"93":{"body":20,"breadcrumbs":1,"title":0},"94":{"body":12,"breadcrumbs":2,"title":1},"95":{"body":13,"breadcrumbs":1,"title":0},"96":{"body":38,"breadcrumbs":4,"title":3},"97":{"body":144,"breadcrumbs":1,"title":0},"98":{"body":17,"breadcrumbs":1,"title":0},"99":{"body":43,"breadcrumbs":3,"title":2}},"docs":{"0":{"body":"歡迎來到 Rust 演算法俱樂部!本專案受 Swift Algorithm Club 啟發,專案中的演算法皆使用 Rust 程式語言 撰寫說明與實作!您可以在 Rust Algorithm Club 一站,依您的意願,挑選有興趣的演算法知識學習;若您夠大膽,推薦您閱讀 自動生成的 API 文件 ,直接單挑程式原始碼。 本專案原始碼放在 GitHub 上,非常期待您的貢獻。 Rust Edition Build Status Documentation","breadcrumbs":"Rust Algorithm Club » Rust Algorithm Club","id":"0","title":"Rust Algorithm Club"},"1":{"body":"漸進符號 Asymptotic Notation","breadcrumbs":"Rust Algorithm Club » 基礎概念","id":"1","title":"基礎概念"},"10":{"body":"有許多優秀的網站與學習資源,分享給大家學習演算法。 VisuAlgo - 也許是最好的演算法視覺化專案。 Big-O Cheat Sheet - 最全面的 Big O cheat sheet。 Rosetta Code - 使用各種程式語言,解答上百種不同程式問題。 Competitive Programmer's Handbook - 讓你更有競爭力。這書本身也很有競爭力。","breadcrumbs":"Rust Algorithm Club » 學習資源","id":"10","title":"學習資源"},"100":{"body":"Quicksort 的空間複雜度取決於實作細節,由於 分割序列 步驟需 $O(1) $ 的空間複雜度,因此僅需分析遞迴式會在 call stack 產生多少 stack frame 即可。 前面提及 ,最 naïve 的 Lomuto partition 最糟糕的情形下,會產生 $n - 1 $ 個嵌套遞迴,也就是需額外使用 $O(n) $ 的空間儲存 call stack frame,但只要 compiler 有支援 尾端呼叫 最佳化(tail-call optimization,TCO),Quicksort 很容易最佳化至 $O(\\log n) $。","breadcrumbs":"快速排序 Quicksort » Space complexity","id":"100","title":"Space complexity"},"101":{"body":"Quicksort 實作主要分為兩部分:遞迴,以及分割序列(partition)。","breadcrumbs":"快速排序 Quicksort » 實作","id":"101","title":"實作"},"102":{"body":"遞迴函式本身實作非常簡單,分別將小於 pivot 與大於 pivot 兩部分遞迴呼叫自身即可。 /// Recursion helper\nfn quicksort_helper(arr: &mut [i32], lo: isize, hi: isize) { if lo <= hi { // 1 let pivot = partition(arr, lo, hi); // 2 quicksort_helper(arr, lo, pivot - 1); // 3 quicksort_helper(arr, pivot + 1, hi); // 4 }\n} 利用 lo 與 hi 兩個指標決定每次的遞迴範圍,並在 lo 大於 hi 時停止遞迴,避免重複分割序列。 分割序列步驟,回傳該序列範圍內 pivot 的 index。 遞迴小於 pivot 的部分。 遞迴大於 pivot 的部分。 這邊比較特別的是,lo 和 hi 兩個指標的型別為 isize,因為當 pivot 可能為 0,在第三步驟 - 1 時會產生型別錯誤,故為之。有任何更好的寫法歡迎提供! 由於外部不需知道排序法實作細節,我們將函式命名為 quicksort_helper ,對外再多封裝一層主函式 quicksort_lomuto,實作如下: pub fn quicksort_lomuto(arr: &mut [i32]) { let hi = arr.len() as isize - 1; quicksort_helper(arr, 0, hi);\n}","breadcrumbs":"快速排序 Quicksort » Recursion","id":"102","title":"Recursion"},"103":{"body":"一般來說,分割序列的實作有下列兩個步驟: 選擇 pivot 遍歷序列置換元素 我們以 Lomuto scheme 實作 partition。 fn partition(arr: &mut [i32], lo: isize, hi: isize) -> isize { // -- Determine the pivot -- // In Lomuto parition scheme, // the latest element is always chosen as the pivot. let pivot = arr[hi as usize]; // 1 let mut i = lo; // -- Swap elements -- for j in lo..hi { // 2 if arr[j as usize] < pivot { arr.swap(i as usize, j as usize); i += 1; // 3 } } // Swap pivot to the middle of two piles. arr.swap(i as usize, hi as usize); // 4 i // Return the final index of the pivot\n} Lomuto scheme 選擇 pivot 的方式很直接,就是選擇最後一個元素。 利用 i、j 兩個指標疊代指定的序列範圍,若第 j 個值小於 pivot 時,則於第 i 個元素置換。 i 指標加一,繼續處理下個元素。 最後置換第 i 個元素於 pivot,此時 pivot 已落在最終正確的位置。","breadcrumbs":"快速排序 Quicksort » Partitioning","id":"103","title":"Partitioning"},"104":{"body":"Quicksort 有數個方向可以探討最佳化: 降低額外空間複雜度 選擇 Pivot 的方法 對付重複的元素 選擇不同的分割方案","breadcrumbs":"快速排序 Quicksort » 最佳化與變形","id":"104","title":"最佳化與變形"},"105":{"body":"前述提到最佳情形下(每次 pivot 都選到中位數),僅需 $\\log n $ 個嵌套遞迴,額外空間複雜度僅需 $O(\\log n) $。 倘若編譯器有實作 尾端呼叫最佳化 ,Quicksort 可以達到 $O(\\log n) $ 對數級別的額外空間使用。 實作尾端呼叫最佳化的思路很簡單,「 先遞迴較少元素的部分,再利用 tall-call 遞迴另一部分 」,如此以來,較多元素的遞迴則會直接被編譯器展開,消去遞迴時需要的 call stack 空間。剩下較少元素的部分,則與最佳情形相同,最多僅需 $\\log n $ 次嵌套遞迴。 簡單實作如下: fn quicksort_helper_optimized(arr: &mut [i32], lo: isize, hi: isize) { if lo <= hi { let pivot = partition(arr, lo, hi); if pivot - lo < hi - pivot { // 1 quicksort_helper_optimized(arr, lo, pivot - 1); quicksort_helper_optimized(arr, pivot + 1, hi); // 2 } else { quicksort_helper_optimized(arr, pivot + 1, hi); quicksort_helper_optimized(arr, lo, pivot - 1); // 3 } }\n} 說穿了就只有這個判斷式,決定哪部分該先遞迴而已。 這是一個尾端呼叫,會展開。 這也是一個尾端呼叫。 實際上,截至 2018.2, Rust Core Team 決定暫緩 TCO 的實作 ,目前 Rust 並沒有支援 TCO。但我們還是可以手動實作 TCO,減少 call stack。 我們先把原始的 lomuto partition 實作改成手動 TCO 版本。利用 while loop,將 lo 替換成下一個遞迴的引數,減少部分的 call stack。 - fn quicksort_helper(arr: &mut [i32], lo: isize, hi: isize) {\n+ fn quicksort_helper_manual_tco(arr: &mut [i32], mut lo: isize, mut hi: isize) {\n- if lo <= hi {\n+ while lo < hi { let pivot = partition(arr, lo, hi);\n- quicksort_helper(arr, lo, pivot - 1);\n- quicksort_helper(arr, pivot + 1, hi);\n+ quicksort_helper_manual_tco(arr, lo, pivot - 1);\n+ lo = pivot + 1; } } 再來,選擇性遞迴較小的部分。Iterative 版本的尾端呼叫消除(tail-call eliminate)就做完了! fn quicksort_helper_manual_tco(arr: &mut [i32], mut lo: isize, mut hi: isize) { while lo < hi { let pivot = partition(arr, lo, hi); if pivot - lo < hi - pivot { quicksort_helper_manual_tco(arr, lo, pivot - 1); lo = pivot + 1; } else { quicksort_helper_manual_tco(arr, pivot + 1, hi); hi = pivot - 1; } }\n}","breadcrumbs":"快速排序 Quicksort » 降低額外空間複雜度","id":"105","title":"降低額外空間複雜度"},"106":{"body":"選擇 pivot 的方法大致上有以下幾種: 總是選擇最後一個元素。 總是選擇第一個元素。 選擇特定位置(如中位數)的元素。 隨機選擇任意元素。 選擇第一個或最後一個元素會印序列已經接近排序完成或相反排序,造成 $O(n^2) $ 最壞的時間複雜度。隨機或選擇特定位置的方法較能避免這種情況,但實作上較困難。 除了選擇 pivot 的方法,近幾年來多 pivot(multi-pivot)Quicksort 也愈趨流行,可以減少 20% 的元素置換。相關的討論與證明可以參考 這篇文章 。","breadcrumbs":"快速排序 Quicksort » 選擇 Pivot 的方法","id":"106","title":"選擇 Pivot 的方法"},"107":{"body":"若輸入序列有許多重複的元素,使用原本 Lomuto scheme 實作的 Quicksort 仍然會比較置換等於 pivot 的所有元素。3-way partition scheme 就是將序列多分出「等於 pivot」部分,減少重複置換相等元素的排序法。 [ values < pivot | values == pivot | value > pivot ] 通常是使用著名的 Dutch national flag algorithm 來解決這個問題。實作上和 Lomuto 非常類似。 fn partition(arr: &mut [i32], lo: isize, hi: isize) -> (isize, isize) { let pivot = arr[hi as usize]; let mut i = lo; // smaller let mut j = lo; // equal let mut k = hi; // large while j <= k { if arr[j as usize] < pivot { arr.swap(i as usize, j as usize); i += 1; j += 1; } else if arr[j as usize] > pivot { arr.swap(k as usize, j as usize); k -= 1; } else { // No swap when identicial. j += 1; } } // Return smaller and larger pointer to avoid iterate duplicate elements. (i, k)\n}","breadcrumbs":"快速排序 Quicksort » 對付重複的元素","id":"107","title":"對付重複的元素"},"108":{"body":"不同的分割方案有著不同的應用場景,如上述的 3-way scheme 就適合重複元素多的序列。這裡再多介紹另一個常見的分割實作方案 Hoare partition,是 Quicksort 發明這 Hoare 自己提出的分割法,Rust 實作演算法如下: fn partition(arr: &mut [i32], lo: usize, hi: usize) -> usize { let pivot = arr[lo]; let mut i = lo; let mut j = hi; loop { // Find element >= pivot from leftmost element. while arr[i] < pivot { // 1 i += 1; } // Find element <= pivot from rightmost element. while arr[j] > pivot { // 2 j -= 1; } if i >= j { return j; } // Two elements are misplaced, swap them. arr.swap(i, j); // 3 i += 1; j -= 1; }\n} 從最左邊開始找比 pivot 大或相等的元素。 從最右邊開始找比 pivot 小或相等的元素。 若找到這兩個元素,置換之,以符合小於 pivot 在前,大於 pivot 在後的分割準則。","breadcrumbs":"快速排序 Quicksort » 選擇不同的分割方案","id":"108","title":"選擇不同的分割方案"},"109":{"body":"Wiki: Quicksort Algorithms, 4th Edition by R. Sedgewick and K. Wayne GeeksForGeeks: QuickSort Swift Algorithm Club: Quicksort","breadcrumbs":"快速排序 Quicksort » 參考資料","id":"109","title":"參考資料"},"11":{"body":"歡迎各式各樣的貢獻,修正錯字也行!開始動手之前,請先閱讀 貢獻指南 。","breadcrumbs":"Rust Algorithm Club » 如何貢獻","id":"11","title":"如何貢獻"},"110":{"body":"Mergesort 是一個泛用且高效穩定的排序法,最佳與最差時間複雜都是 $O(n \\log n) $。Mergesort 可謂著名「Divide and Conquer」手法的經典案例,先將序列分成更小的子序列(Divide),一個個排序後(Conquer),再合併已排序的子序列(Combine)。 高效穩定 :最佳、平均,與最差時間複雜度皆為 $O(n \\log n) $。 穩定排序 :相同鍵值的元素,排序後相對位置不改變。 非原地排序 :除了資料本身,仍需額外花費儲存空間來排序。 分治演算法 :將主問題化作數個子問題,各個擊破。","breadcrumbs":"合併排序 Mergesort » 合併排序 Mergesort","id":"110","title":"合併排序 Mergesort"},"111":{"body":"Mergesort 演算法分為以下步驟: Divide :將含有 n 個元素的序列分割成含有 n / 2 個子序列。 Conquer :排序分割後的兩個子序列。 Combine :合併排序完成的兩子序列,成為一個排好序的序列。 其中,Conquer 步驟中的「排序」可以不斷遞迴 Mergesort 自身,因此需要停止遞迴的條件(base case),我們將條件設定為「子序列的長度小於 2」,因為長度為 1 的序列可視為已完成排序。 將 Mergesort 視覺化排序如下: mergsort","breadcrumbs":"合併排序 Mergesort » 步驟","id":"111","title":"步驟"},"112":{"body":"以 ASCII diagram 圖解 Mergesort。 先將原始序列分割成數個長度為一的子序列。 Split array into length 1 subarray. [8, 7, 1, 2, 4, 6, 5, 3] | [8, 7, 1, 2] | [4, 6, 5, 3] | [8, 7] [1, 2] | [4, 6] [5, 3] |\n[8] [7] [1] [2] | [4] [6] [5] [3] V split 再將子序列依序合併成一個排好序的大序列。 Recursively merge subarray respecting the order. Merge |\n[8] [7] [1] [2] | [4] [6] [5] [3] | [7, 8] [1, 2] | [4, 6] [3, 5] | [1, 2, 7, 8] | [3, 4, 5, 6] V [1, 2, 3, 4, 5, 6, 7, 8]","breadcrumbs":"合併排序 Mergesort » 說明","id":"112","title":"說明"},"113":{"body":"Complexity Worst $O(n \\log n) $ Best $O(n \\log n) $ Average $O(n \\log n) $ Worst space $O(n) $ auxiliary","breadcrumbs":"合併排序 Mergesort » 效能","id":"113","title":"效能"},"114":{"body":"透過遞迴關係式,很容易計算 Mergesort 的時間複雜度。假設排序長度為 $n $ 的序列最多需要 $T(n) $ 時間。可以觀察到,如果序列只有一個元素,Mergesort 僅需要常數時間就可以完成排序,寫成 $T(n) = 1 $。 如果 $n > 2 $,Mergesort 會將序列分為 $\\lceil \\frac{n}{2} \\rceil $ 部分,以及 $\\lfloor \\frac{n}{2} \\rfloor $ 部分。我們可以將排序前者寫成 $T(\\lceil \\frac{n}{2} \\rceil) $,而後者花費時間為 $ T(\\lfloor \\frac{n}{2} \\rfloor) $。 最後,合併兩個子序列僅需 $n $ 個操作。可得下列遞迴關係式。 (為了方便計算,把 floor 和 ceil 捨去) $$ T(n) = \\begin{cases} 1 & \\text{if } n = 1, \\\\ 2T(\\frac{n}{2}) + n & \\text{otherwise.} \\end{cases} $$ 根據 Master Theorem ,可得複雜度為 $O(n \\log n) $。","breadcrumbs":"合併排序 Mergesort » Time Complexity","id":"114","title":"Time Complexity"},"115":{"body":"Mergesort 的缺點之一就是在合併子序列時,需要額外的空間依序插入排序資料;若是遞迴版本的 Mergesort 還需額外加上遞迴花費的 call stack 空間,因此額外空間複雜度為 $O(n) + O(\\log n) = O(n) $(以陣列實作)。","breadcrumbs":"合併排序 Mergesort » Space Complexity","id":"115","title":"Space Complexity"},"116":{"body":"一般來說,Divide and Conquer 有兩種設計、解決問題的技巧:Top-down(自上而下)與 Buttom-up(自下而上)。前者是先對問題有整體的輪廓概念,再逐步針對細節一一處理;後者則是先準備每個問題需要的基礎步驟與元件,再將這些步驟結合,解決整體的問題。 Mergesort 的實作分為兩部分: mergesort 主程式:對外的介面,負責分割序列。對應 Divide 功能。 merge:合併子序列,對應到 Conquer 與 Combine 功能。 先來看看如何分割序列。","breadcrumbs":"合併排序 Mergesort » 實作","id":"116","title":"實作"},"117":{"body":"自上而下的解法會不斷以類似 binary search 的方式找中點,進而分割序列。 pub fn mergesort(arr: &mut [i32]) { let mid = arr.len() / 2; if mid == 0 { // 1 return; } mergesort(&mut arr[..mid]); // 2 mergesort(&mut arr[mid..]); // Create an array to store intermediate result. let mut ret = arr.to_vec(); // 3 // Merge the two piles. merge(&arr[..mid], &arr[mid..], &mut ret[..]); // 4 // Copy back the result back to original array. arr.copy_from_slice(&ret); // 5\n} 設定遞迴的終止條件(base case),middle index 為 0 表示長度不大於 1。 利用 Rust 的 Range Operator ,可快速分割兩個 slice。 建立一個 Vec 儲存排序結果。 將兩個 slice 合併排序至 ret vector 中。 將 ret 的結果複製到原始 arr 中,使回傳值保有相同起始位址。","breadcrumbs":"合併排序 Mergesort » Top-down split","id":"117","title":"Top-down split"},"118":{"body":"自下而上的解法則是預定好最小的子序列長度,直接使用 for 迴圈從頭開始逐一擊破。 pub fn mergesort_bottom_up(arr: &mut [i32]) { let mut width = 1; // 1 // Create an array to store intermediate result. let mut ret = arr.to_vec(); // 2 let len = arr.len(); while width < len { let mut i = 0; while i < len { // Check to avoid upper bound and middle index out of bound. let upper = ::std::cmp::min(i + 2 * width, len); // 3 let mid = ::std::cmp::min(i + width, len); merge(&arr[i..mid], &arr[mid..upper], &mut ret[i..upper]); // Copy the merged result back to original array. arr[i..upper].copy_from_slice(&ret[i..upper]); // 4 // Increase start index to merge next two subsequences. i += 2 * width; // 5 } width *= 2; // 6 }\n} 設定最小的子序列長度,這個長度以下的子序列皆視為已排序。 建立一個 Vec 儲存排序結果。 取最小值,避免下標超出邊界,並且維持除了最後一組,其他子序列長度恆為 width。 複製這部分排序結果 ret 到原始的 arr 中。 繼續下兩個子序列的合併步驟。 將下個疊代的子序列長度加倍,繼續合併。","breadcrumbs":"合併排序 Mergesort » Buttom-up split","id":"118","title":"Buttom-up split"},"119":{"body":"無論是 Top-down 還是 Buttom-up 版本的解法,皆免不了 merge 這個共同步驟,將子序列合併為較大的序列。 fn merge(arr1: &[i32], arr2: &[i32], ret: &mut [i32]) { let mut left = 0; // Head of left pile. // 1 let mut right = 0; // Head of right pile. let mut index = 0; // Compare element and insert back to result array. while left < arr1.len() && right < arr2.len() { // 2 if arr1[left] <= arr2[right] { // 3 ret[index] = arr1[left]; index += 1; left += 1; } else { ret[index] = arr2[right]; index += 1; right += 1; } } // Copy the reset elements to returned array. // `memcpy` may be more performant than for-loop assignment. if left < arr1.len() { // 4 ret[index..].copy_from_slice(&arr1[left..]); } if right < arr2.len() { ret[index..].copy_from_slice(&arr2[right..]); }\n} 建立三個指標,分別給 arr1、arr2 與回傳陣列 ret 使用。 這部分依序比較兩個子序列,排序較小者先進入回傳 ret。直到其中一序列所有元素都進入 ret 就停止。 這邊判斷使用 <= 小於等於確保排序穩定(相同鍵值順序不換)。 將剩餘未進入 ret 的元素,依序複製到 ret 中。 slice.copy_from_slice 底層使用 C 的 memcpy,比起 for-loop 一個個賦值,直接複製整塊記憶體比較快了。","breadcrumbs":"合併排序 Mergesort » The merge part","id":"119","title":"The merge part"},"12":{"body":"@weihanglo @choznerol @henry40408 @wiasliaw77210 @LebranceBW","breadcrumbs":"Rust Algorithm Club » 貢獻者","id":"12","title":"貢獻者"},"120":{"body":"","breadcrumbs":"合併排序 Mergesort » 變形","id":"120","title":"變形"},"121":{"body":"在真實世界資料中,早有許多部分排序的分區(natural run),倘若跳過排序這些分區的步驟,就可減少許多不必要的操作, Timsort 就是為了完全利用榨乾這些分區的混合排序法。","breadcrumbs":"合併排序 Mergesort » Timsort","id":"121","title":"Timsort"},"122":{"body":"Wiki: Merge sort CMSC 351 Algorithms, Fall, 2011, University of Maryland. Sorting GIF was created By CobaltBlue CC BY-SA 2.5 via Wikimedia Commons.","breadcrumbs":"合併排序 Mergesort » 參考資料","id":"122","title":"參考資料"},"123":{"body":"Counting sort 是一個特殊的整數排序法,被視為 Bucket sort 的特例。原理是在已知整數範圍內,計算每個鍵值出現次數,並用額外的陣列保存(Count array)。最後將 Count array 的元素值作為排序資料的新 index。 Counting sort 基本特性如下: 非原地排序 :額外花費較大量、非固定的空間來排序。 穩定排序 :相同鍵值的元素,排序後相對位置不改變。 整數排序 :以整數作為排序的鍵值。 分配式排序 :不透過兩兩比較,而是分析鍵值分佈來排序。特定情況下可達線性執行時間。 線型執行時間 :當輸入資料量 n 與已知範圍上下界之差值相近,執行時間接近線型( O(n) ) 預期分佈 :預期輸入資料是落在已知範圍內的整數(例如 0 到 k)。 適用範圍 :僅適用於小範圍整數(額外空間需求大)。","breadcrumbs":"計數排序 Counting sort » 計數排序 Counting sort","id":"123","title":"計數排序 Counting sort"},"124":{"body":"Count occurrence :計算每個 key 的出現次數。 Prefix sum as start index :計算前綴和(Prefix sum),並作為該元素的 start index。 Copy output :利用步驟二的前綴和,遍歷輸入資料,取得元素排序後的索引。","breadcrumbs":"計數排序 Counting sort » 步驟","id":"124","title":"步驟"},"125":{"body":"這裡有資料需要透過正整數的 key 來排序。key 的範圍在 0 - 9 之間,格式為 (key, value)。 Input: (1, A) (5, B) (8, C) (2, D) (2, E) (9, F) 1. Count occurrence :首先,先計算每個 key 的出現頻率,儲存在額外的 count array 中。 Key : 0 1 2 3 4 5 6 7 8 9\nCount: 0 1 2 0 0 1 0 0 1 1 2. Prefix sum as start index :再計算 prefix sum,也就是將當前 index 前累計的 key 數量加總。例如 key 5 的 prefix sum 1 + 2 = 3 。 這裡的 prefix sum 等同於每筆資料排序後的位置(index)。例如排序後, 8 位於陣列第四位。 Key : 0 1 2 3 4 5 6 7 8 9\nPrefix Sum: 0 0 1 3 3 3 4 4 4 5 3. Copy output :透過 key 與 prefix sum 的映射關係,找到原始資料對應的位置。 實作上,每筆資料找到對應的 start index(prefix sum) 後,要將 該 index 之值 +1 ,使得重複的元素可取得正確的 index offset(對唯一的 key 沒有影響)。 (1, A)\n--> prefix sum 為 0,寫入 array[0],並將 prefix sum + 1 +--------+--------+--------+--------+--------+--------+\n| (1, A) | | | | | |\n+--------+--------+--------+--------+--------+--------+ (5, B)\n--> prefix sum 為 3,寫入 array[3],並將 prefix sum + 1 +--------+--------+--------+--------+--------+--------+\n| (1, A) | | | (5, B) | | |\n+--------+--------+--------+--------+--------+--------+ (8, C)\n--> prefix sum 為 4,寫入 array[4],並將 prefix sum + 1 +--------+--------+--------+--------+--------+--------+\n| (1, A) | | | (5, B) | (8, C) | |\n+--------+--------+--------+--------+--------+--------+ (2, D)\n--> prefix sum 為 1,寫入 array[1],並將 prefix sum + 1 +--------+--------+--------+--------+--------+--------+\n| (1, A) | (2, D) | | (5, B) | (8, C) | |\n+--------+--------+--------+--------+--------+--------+ (2, E)\n--> prefix sum 為 2(前一步驟 + 1),寫入 array[2],並將 prefix sum + 1 +--------+--------+--------+--------+--------+--------+\n| (1, A) | (2, D) | (2, E) | (5, B) | (8, C) | |\n+--------+--------+--------+--------+--------+--------+ (9, F)\n--> prefix sum 為 5,寫入 array[5],並將 prefix sum + 1 +--------+--------+--------+--------+--------+--------+\n| (1, A) | (2, D) | (2, E) | (5, B) | (8, C) | (9, F) |\n+--------+--------+--------+--------+--------+--------+ 這樣就完成排序了。此外,觀察 (2, D) 與 (2, E) 排序前後的位置,會發現 counting sort 是個實實在在的穩定排序,很棒。","breadcrumbs":"計數排序 Counting sort » 說明","id":"125","title":"說明"},"126":{"body":"Complexity Worst $O(n + k) $ Best $O(n + k) $ Average $O(n + k) $ Worst space $O(n + k) $ auxiliary k 為資料已知範圍上下界之差。","breadcrumbs":"計數排序 Counting sort » 效能","id":"126","title":"效能"},"127":{"body":"Counting sort 沒有用到任何遞迴,可以直觀地分析複雜度。在步驟一,建立 count array 與步驟三輸出排序結果,都需要遍歷 $n $ 個輸入的資料,因此複雜度為 $O(n) $;步驟二計算 prefix sum,以及 count array 自身的初始化則需執行 $k + 1 $ 次(給定的資料範圍),這部分的複雜度為 $O(k) $。由於 $n $ 與 $k $ 的權重會因輸入資料及實作的不同而有所改變,我們無法捨棄任何一個因子,可得知 counting sort 的複雜度為 $O(n + k) $。","breadcrumbs":"計數排序 Counting sort » Time Complexity","id":"127","title":"Time Complexity"},"128":{"body":"Counting sort 並非 in-place sort,排序後的結果會另外輸出為新的記憶體空間,因此 $O(n) $ 的額外(auxiliary)空間複雜度絕對免不了。再加上需要長度為 $k $ 的 count array 保存每個 key 的出現次數,因此需再加上 $O(k) $。除了原始的輸入 array,總共需花費 $O(n + k) $ 的額外空間複雜度。 如果欲排序資料就是整數鍵值自身,可以將「計算前綴和」與「複製輸出」兩步驟最佳化,直接覆寫原始陣列,額外空間複雜度會下降至 $O(k) $,但也因此成為不穩定排序法。","breadcrumbs":"計數排序 Counting sort » Space complexity","id":"128","title":"Space complexity"},"129":{"body":"由於 Counting sort 屬於分布式排序(Distribution sort),這裡使用泛型,以彰顯分布式排序的特色。","breadcrumbs":"計數排序 Counting sort » 實作","id":"129","title":"實作"},"13":{"body":"本專案分為兩部分授權: 程式碼與函式庫依據 The MIT License (MIT) 授權條款發佈。 文章與相關著作依據 Creative Commons 4.0 (CC BY-NC-SA 4.0) 授權條款發佈。 Copyright © 2017 - 2021 Weihang Lo","breadcrumbs":"Rust Algorithm Club » 授權條款","id":"13","title":"授權條款"},"130":{"body":"首先,我們先看函式如何宣告(function signature)。 pub fn counting_sort(arr: &mut [T], min: usize, max: usize, key: F) where F: Fn(&T) -> usize, T: Clone, 這裡使用了四個參數: arr:待排序陣列。 min、max:整數排序的上下界。 key:由於資料不一定是整數,需要一個 function 從資料擷取鍵值做排序。 另外,也使用兩個泛型型別: F:key extactor 的型別,回傳的 usize 必須落在 [min, max) 之間。 T:陣列元素的型別,實作 Clone 是由於 Counting sort 需要將 output 再複製回原本的參數 arr 上,達成「偽」原地排序。","breadcrumbs":"計數排序 Counting sort » Function Signature","id":"130","title":"Function Signature"},"131":{"body":"再來,了解如何建立一個元素出現次數的陣列。 fn counting_sort() { // ... let mut prefix_sums = { // 1. Initialize the count array with default value 0. let len = max - min; let mut count_arr = Vec::with_capacity(len); count_arr.resize(len, 0); // 2. Scan elements to collect counts. for value in arr.iter() { count_arr[key(value)] += 1; } // 3. Calculate prefix sum. count_arr.into_iter().scan(0, |state, x| { *state += x; Some(*state - x) }).collect::>() }; // ...\n} 建立一個長度為上下界之差的 count array。注意,這裡使用了 Vec.resize,因為 Rust initialize 空的 Vec 時並不會插入 0 或其他預設值。 遍歷整個輸入資料,利用 key function 取出每筆資料的鍵值,出現一次就 +1。 利用 Iterator 上的 scan method 計算每個鍵值的 prefix sum。需要注意的是,每個元素對應的 prefix sum 不包含自身,例如 key 3 的計算結果就是 key 1 與 key 2 的出現總次數,如此一來,prefix sum 才會直接對應到排序後的位置。","breadcrumbs":"計數排序 Counting sort » Prefix Sums Array","id":"131","title":"Prefix Sums Array"},"132":{"body":"最後一步就是將 prefix sum 當作每個 element 的正確位置,把資料重頭排序。 fn counting_sort() { // ... for value in arr.to_vec().iter() { // 1 let index = key(value); arr[prefix_sums[index]] = value.clone(); // 2 prefix_sums[index] += 1; // 3 }\n} 將輸入資料透過 to_vec 複製起來疊代,需要複製 arr 是因為之後要直接在 arr 插入新值,需要另一份原始輸入的拷貝。 利用 key 擷取鍵值後,把資料複製給 arra 上對應 prefix_sums[index] 的位置。 將該 prefix_sums[index] 的值加一,以便元素重複時,可以正常複製到下一個位置。 完成了!這裡再貼一次完整的程式碼。 pub fn counting_sort(arr: &mut [T], min: usize, max: usize, key: F) where F: Fn(&T) -> usize, T: Clone,\n{ let mut prefix_sums = { // 1. Initialize the count array with default value 0. let len = max - min; let mut count_arr = Vec::with_capacity(len); count_arr.resize(len, 0); // 2. Scan elements to collect counts. for value in arr.iter() { count_arr[key(value)] += 1; } // 3. Calculate prefix sum. count_arr.into_iter().scan(0, |state, x| { *state += x; Some(*state - x) }).collect::>() }; // 4. Use prefix sum as index position of output element. for value in arr.to_vec().iter() { let index = key(value); arr[prefix_sums[index]] = value.clone(); prefix_sums[index] += 1; }\n}","breadcrumbs":"計數排序 Counting sort » Prefix Sums as Start Index","id":"132","title":"Prefix Sums as Start Index"},"133":{"body":"Wiki: Counting sort Growing with the web: Counting sort","breadcrumbs":"計數排序 Counting sort » 參考資料","id":"133","title":"參考資料"},"134":{"body":"Bucket sort ,是一個非比較排序。原理是建立一些桶子,每個桶子對應一資料區間,在將待排序資料分配到不同的桶中,桶子內部各自排序。由於並非 比較排序 ,使用 Bucket sort 需要事先知道資料的範圍與分佈,才能決定桶子對應的區間。 Bucket sort 基本特性如下: 又稱 bin sort 。 穩定排序 :相同鍵值的元素,排序後相對位置不改變。 分配式排序 :不透過兩兩比較,而是分析鍵值分佈來排序。特定情況下可達線性執行時間。 預期分佈 :資料為 均勻分佈 。","breadcrumbs":"桶排序 Bucket sort » 桶排序 Bucket sort","id":"134","title":"桶排序 Bucket sort"},"135":{"body":"假設要排序 $n $ 個元素的陣列,這些元素的值平均散落在某個 已知的預期範圍內 ,例如 1 到 100。 Create buckets :建立 $k $ 個桶子(bucket)的陣列。每個桶子 對應預期範圍的某區間 ,如第一個桶子放 1 到 10,第二個放 11 到 20。 Scatter :將每個元素依照該值放入對應的桶子中。 Inner sort :排序所有非空的桶子。 Gather :依序走訪所有桶子,將桶內的元素放回原本的陣列中。","breadcrumbs":"桶排序 Bucket sort » 步驟","id":"135","title":"步驟"},"136":{"body":"以下用 ASCII diagram 視覺化解釋: 這裡有一些整數,落在 1 至 100 之間。我們有 $n = 10 $ 的陣列要排序。 Original array +-------------------------------------------------+\n| 6 | 28 | 96 | 14 | 74 | 37 | 9 | 71 | 91 | 36 |\n+-------------------------------------------------+ 1. Create buckets :建立一定數量的桶子,這裡我們建立與原始陣列相同數量的桶子(10)。每個桶子對應 $n - 1 * 10 $ 到 $n * 10 $ 的區間。 Bucket array +-------------------------------------------------+\n| | | | | | | | | | |\n+-------------------------------------------------+ ^ ^ | | | | | holds values in range 11 to 20 holds values in range 1 to 10 2. Scatter :將原始陣列中的元素,放入對應的桶中。 Bucket array 6,9 14 28 37,36 74,71 96,91 | | | | | |\n+-v----v----v----v-------------------v---------v--+\n| | | | | | | | | | |\n+-------------------------------------------------+ 3. Inner sort :排序所有非空桶子中的元素,桶內排序可用任意排序法,通常選用「insertion sort」,可確保排序穩定性,並降低額外開銷。 Bucket array sort sort sort sort sort sort --- -- -- ----- ----- ----- 6,9 14 28 36,37 71,74 91,96 | | | | | |\n+-v----v----v----v-------------------v---------v--+\n| | | | | | | | | | |\n+-------------------------------------------------+ 4. Gather :排序完後,再將所有桶中元素依序放回原始的陣列。 Original array\n+-------------------------------------------------+\n| 6 | 9 | 14 | 28 | 36 | 37 | 71 | 74 | 91 | 96 |\n+-------------------------------------------------+","breadcrumbs":"桶排序 Bucket sort » 說明","id":"136","title":"說明"},"137":{"body":"Complexity Worst $O(n^2) $ Best $O(n + k) $ Average $O(n + k) $ Worst space $O(n + k) $ auxiliary $k $ = 桶子的數量(number of buckets) $n $ = 資料筆數","breadcrumbs":"桶排序 Bucket sort » 效能","id":"137","title":"效能"},"138":{"body":"Bucket sort 是一個分配式排序法,對資料分佈有既定的預期:「 所有元素平均分佈在每個 bucket 的區間內 」。可想而知,最差的狀況是所有元素都聚集(clustering)在同一個 bucket 中,整個 bucket sort 的會退化成單一一個 inner sort 的複雜度。而桶內排序通常選用 insertion sort(最差 $O(n^2) $),所以最差的時間複雜度為「 $O(n^2) $」。","breadcrumbs":"桶排序 Bucket sort » Worst case","id":"138","title":"Worst case"},"139":{"body":"最佳的狀況則是完全符合預期的平均分佈,一個蘿蔔一個坑,每個桶內排序的最佳時間複雜度為 $O(n / k) $,再乘上桶子總數 $k $,僅需 $O(k \\cdot (n / k)) = O(n) $。計算結果看起來非常合理,但實際上最佳時間複雜度為 $O(n + k) $,為什麼呢? 無庸置疑,桶內排序最佳時間複雜度為 $O(n / k) $,但別忘了這是省略常數項過後式子,進行符號運算時,較精確的表達是 $c_0 O(n / k) + c_1 $,對於實作層面的常數 $c_0 $ 和 $c_1 $ 則予以保留。 當我們乘上 $k $,試著算出總運算量時, $$k \\cdot (c_0(n / k) + c_1) $$ 會得到: $$ c_0n + c_1k $$ 可以得知,整個計算與 $k $ 有關,所以需要耗時 $O(n + k) $。 撇開數學,我們從 pseudo code 來看。最佳情況下,將所有元素蒐集回陣列的步驟(Gather)如下: for (each bucket b in all k buckets) for (each element x in b) append x to the array 最外層的迴圈依桶子數 $k $ 而定,至少需要執行 $k $ 次,複雜度為 $O(k) $。內層的迴圈則是每個桶內的元素都會執行,而我們的資料時均勻分布,因此執行時間與元素總數 $n $ 相關,為 $O(n) $。兩者加起來就是我們所說的 $O(n + k) $ 的最佳複雜度。 那 $k $ 究竟會是多少,影響會比 $n $ 大嗎? 端看桶子總數而定,若桶子總數很大,比元素個數 $n $ 大得多,則桶子總數對執行時間的影響恐較劇烈,就算大多數為空桶子,仍須挨家挨戶查看是否需要執行桶內排序。","breadcrumbs":"桶排序 Bucket sort » Best case","id":"139","title":"Best case"},"14":{"body":"日常生活中,你會如何描述處理事情的效率? 「原來她五分鐘內可以吃掉一頭牛!」 「房間這麼小你還能擺一堆雜物?還不快收拾!」 這些描述方法,著重在處理事情的花費時間,或單位空間內的儲存量。描述演算法的效率也如此,就是「測量演算法的執行成本」,例如這個排序法花了 10 秒鐘跑完兩萬筆資料,或是這個模擬演算法很吃資源需要 32 GB 的記憶體。 然而,在不同的機器規格、環境溫濕度、程式語言、實作方式,以及有沒有放乖乖的變異影響下,相同演算法的執行成本常常不一致。為了消弭這些外部因素,讓分析演算法能夠更科學化。科學家抽絲剝繭,發明一個方法: 「統計演算法內所需操作步驟的數目。」 這是最簡單,最粗淺比較不同演算法效率的作法。","breadcrumbs":"漸進符號 Asymptotic Notation » 漸進符號 Asymptotic Notation","id":"14","title":"漸進符號 Asymptotic Notation"},"140":{"body":"Bucket sort 須額外建立 $k $ 個桶子,每個桶子需要配置長度為 $n $ 的 array,因此空間複雜度為 $O(n \\cdot k) $。如果以 dynamic array 實作 bucket,並考慮平攤分析(Amortized analysis),則空間複雜度降至 $O(n + k) $,這也是大多數人接受的分析結果,畢竟不會有人無聊到預先配置 $n \\cdot k $ 個 empty bucket。","breadcrumbs":"桶排序 Bucket sort » Space Complexity","id":"140","title":"Space Complexity"},"141":{"body":"","breadcrumbs":"桶排序 Bucket sort » 實作","id":"141","title":"實作"},"142":{"body":"Bucket sort 有許多種各異的實作法,差異最大之處就是桶子 bucket 這部分。 /// Bucket to store elements.\nstruct Bucket { hash: H, values: Vec,\n} impl Bucket { /// Create a new bucket and insert its first value. /// /// * `hash` - Hash value generated by hasher param of `bucket_sort`. /// * `value` - Value to be put in the bucket. pub fn new(hash: H, value: T) -> Bucket { Bucket { hash: hash, values: vec![value], } }\n} 這裡的桶子實作兩個 struct fields: values:使用 Vec 儲存對應範圍內的元素 hash:Bucket Sort 主函式有一個 hasher 函式,會計算出對應各個桶子的雜湊值,因此要確保桶子的雜湊值有唯一性。","breadcrumbs":"桶排序 Bucket sort » Bucket","id":"142","title":"Bucket"},"143":{"body":"接下來就是排序主函式。依照慣例,先看看函式的宣告(function signature)。 pub fn bucket_sort(arr: &mut [T], hasher: F) where H: Ord, F: Fn(&T) -> H, T: Ord + Clone, 這個 bucket_sort 函式使用了不少泛型: H:hasher 函式的回傳型別,用來辨識不同的桶子。 F:hasher 函式自身,只需要一個參數 &T,回傳一個 H。 T:欲排序資料的型別。 函式自身稍微複雜一點,但仍不脫離 四步驟 :Create buckets、Scatter、Inner sort,還有 Gather。 pub fn bucket_sort() { // ... // 1. Create buckets. let mut buckets: Vec> = Vec::new(); // 2. Scatter for value in arr.iter() { let hash = hasher(&value); // 2.1. let value = value.clone(); // 2.2. match buckets.binary_search_by(|bucket| bucket.hash.cmp(&hash)) { // If exists, push the value to the bucket. Ok(index) => buckets[index].values.push(value), // If none, create and new bucket and insert value in. Err(index) => buckets.insert(index, Bucket::new(hash, value)), } } // 3. Inner sort and gather let ret = buckets.into_iter().flat_map(|mut bucket| { bucket.values.sort(); // 3.1. bucket.values }).collect::>(); // 3.2. arr.clone_from_slice(&ret); // 4 Copy to original array\n} 一般來說,第一步會配置完所有桶子,但這裡實作僅建立儲存桶子們的容器 buckets,這是由於實作了 hasher 函式,元素對應桶子的邏輯交由外部決定,因此桶子不需事先配置,而是交給第二步驟時 on-the-fly 建立。 疊代輸入的 arr,將元素散佈到桶子中。 使用元素值 value 取得雜湊值。 從一堆桶子內 buckets 尋找對應雜湊值的桶子,如有對應桶子,則將待排序元素插入桶中;若無對應桶子,則馬上建立桶子,並插入待排序元素。 由於桶子們 buckets 是一個二維陣列集合,我們使用 flat_map 將之壓平。 使用 Rust 內建 sort(Timsort 的變形)作為我們 inner sort 的實作,將桶內所有元素排好序 別忘了 Rust 的 Iterator 很 lazy,記得要使用 collect 蒐集 iterator 實作後的結果。 由於要模擬 in-place 原地排序法的特性,將排序好的資料再次拷貝到 arr 上。這也是為什麼函式元素泛型 T 需要 Clone trait 的原因了。 有關於步驟 2.2.,這部分可以用 HashMap 的變形 IndexMap (一個保存插入順序的有序 HashMap)保存雜湊值對應桶子的資訊,使得外界更容易依雜湊值找到桶子。但為了保持範例程式的簡潔,決定不引入第三方的 crate(Rust 語言第三方模組的代稱),且 binary_search_by 的複雜度為 $O(\\log n) $,對 Bucket sort 最差複雜度並無影響。","breadcrumbs":"桶排序 Bucket sort » Sorting","id":"143","title":"Sorting"},"144":{"body":"Wiki: Bucket sort Wiki: Amortized analysis How is the complexity of bucket sort is O(n+k) if we implement buckets using linked lists? Bucket sort in Rust","breadcrumbs":"桶排序 Bucket sort » 參考資料","id":"144","title":"參考資料"},"145":{"body":"如果你對 Counting sort 與 Bucket sort 有認識,應該知道這兩個排序都能突破比較排序法複雜度 $O(n \\log n) $ 限制的特殊排序法。 Radix sort 同樣是個特殊的 整數排序法 ,效能同樣可達突破限制。差別在於,前兩者僅依據一個鍵值排序,而 Radix sort 則是依據多個鍵值排序。 舉例來說,欲排序一群範圍在 0 - 999 的整數,若以 Counting sort 排序,則需建立一個「1000 元素的陣列」來計算每個整數的出現次數;若使用以 10 為基數的 Radix sort,則僅需以個位數、十位數、百位數作為鍵值分別排序三次。通常 Radix sort 的排序副程式(Sorting subroutine)會選用 Counting sort 或 Bucket sort,而以 10 為基數的鍵值範圍僅 0 - 9,這種小範圍整數非常適合 Counting sort 作為排序副程式,節省了配置 int arr[1000] 的 count array 的時空間。 Radix sort 基本特性如下: 整數排序法 :以整數作為排序的鍵值。 分配式排序法 :不透過兩兩比較,而是分析鍵值分佈來排序。特定情況下可達線性執行時間。 穩定性 :採用 LSD 的 Radix sort 屬穩定排序法(Stable sort);透過優化,採用 MSD 也可以是穩定排序法。","breadcrumbs":"基數排序 Radix sort » 基數排序 Radix sort","id":"145","title":"基數排序 Radix sort"},"146":{"body":"常見的 Radix sort 依據整數的每個位數來排序,依照位數排序的先後順序,可分為兩種: Least significant digit (LSD) :從最低有效鍵值開始排序(最小位數排到大)。 Most significant digit (MSD) :從最高有效鍵值開始排序(最大位數排到小)。 簡單的 LSD Radix sort 步驟如下: LSD of each key :取得每個資料鍵值的最小位數(LSD)。 Sorting subroutine :依據該位數大小排序資料。 Repeating :取得下一個有效位數,並重複步驟二,至最大位數(MSD)為止。 而 MSD Radix sort 的步驟相似,但取得資料鍵值的方向相反。 MSD of each key :取得每個資料鍵值的最大位數(MSD)。 Sorting subroutine :依據該位數大小排序資料。 Repeating :取得下一個有效位數,並重複步驟二,至最小位數(LSD)為止。 由於 MSD Radix sort 先排序最大位數,會出現 8 > 126 的結果,這種順序通常稱為 Lexicographical order ,有如字典一般,越前面的字母排序權重越重,也因此,基本版的 MSD Radix sort 並非穩定排序法。","breadcrumbs":"基數排序 Radix sort » 步驟","id":"146","title":"步驟"},"147":{"body":"我們選用 LSD Radix sort 示範,並且為了增加可讀性,將基數設為 10。需注意在現實場景中,有時使用 bytes 作為基數可能更適合。 待排序的數列如下。 [170, 45, 75, 90, 802, 2, 24, 66] Radix sort 的排序副程式,通常選用 counting sort 或 bucket sort,因此,開始排序前,需建立供其使用的 buckets(或 count array)。這屬於其他排序法的範疇,有興趣可看 Counting sort 或 Bucket sort 。 首先,從最小位數開始排序。 注意,同樣鍵值的資料,相對位置不會改變(穩定排序)。 0 5 5 0 2 2 4 6 _ _ _ _ _ _ _ _\n[170, 45, 75, 90, 802, 2, 24, 66] sort by rightmost digit --> 0 0 2 2 4 5 5 6 _ _ _ _ _ _ _ _\n[170, 90, 802, 2, 24, 45, 75, 66] 再來,對下一個位數排序資料。位數不足的資料,予以補 0。 7 9 0 0 2 4 7 6 _ _ _ _ _ _ _\n[170, 90, 802, 2, 24, 45, 75, 66] sort by next digit --> 0 0 2 4 6 7 7 9 _ _ _ _ _ _ _\n[802, 2, 24, 45, 66, 170, 75, 90] 最終,對最後一個位數進行排序。大功告成! 8 0 0 0 0 1 0 0 _ _\n[802, 2, 24, 45, 66, 170, 75, 90] sort by leftmost digit --> 0 0 0 0 0 0 1 8 _ _\n[2, 24, 45, 66, 75, 90, 170, 802]","breadcrumbs":"基數排序 Radix sort » 說明","id":"147","title":"說明"},"148":{"body":"Complexity Worst $O(dn) $ Best $O(dn) $ Average $O(dn) $ Worst space $O(d + n) $ auxiliary $n $:資料筆數。 $d $:number of digit,資料中最多有幾個位數(或鍵值)。 $k $:基數,就是一個位數最多有幾種可能的值。","breadcrumbs":"基數排序 Radix sort » 效能","id":"148","title":"效能"},"149":{"body":"欲分析 Radix sort 的時間複雜度,我們可以逐一擊破,先從排序副程式開始分析。 Radix sort 的 subroutine 通常採用 Counting sort 或 Bucket sort,因此每個 subroutine 的複雜度為 $O(n + k) $, $k $ 為 key 的範圍,以 10 為基數,就是 0 - 9 之間 $k = 10 $。 再來,我們分析整個主程式,Radix sort 每個位數各需排序一次,若最多位數的資料有 $d $ 位數,時間複雜度需乘上 $d $,為 $O(d (n + k)) $,那這個 $k $ 是否可以捨去呢? 分析 Counting sort 或 Bucket sort 時,範圍 $k $ 會隨輸入資料而變化,若 $k $ 過大,對複雜度的影響甚至會超過 $n $,因此分析複雜度時無法將 $k $ 捨去。而在 Radix sort, $k $ 通常為一個已知的常數,例如以 bytes 為基數 $k = 8 $, $k $ 可以捨去。最後可得 Radix sort 的時間複雜度為 $O(d \\cdot n) $。","breadcrumbs":"基數排序 Radix sort » Time complexity","id":"149","title":"Time complexity"},"15":{"body":"「計算步驟數目」很像中小學的數學題目:某公司有三個能力相異的工程師,有的工程師一天解決一個 bug,有的工程師連續工作後效率大幅滑落。每個工程師的除蟲效率可以畫成「bug 數 - 解決 bug 所需時數」函數,橫軸為待處理的臭蟲數,縱軸為解決臭蟲所需時數,如圖一與表所示。 時數 $\\log N$ $N$ $N \\log N$ $N=5$ 2.236 5 8.046 $N=30$ 5.477 30 102.036 Fig. 1 不論從圖或表,我們都可以明確看出,當 bug 數目小時,每個工程師耗時差不多;當 bug 數目成長到一定程度時,效率好與效率差的工程師差距就很明顯了。 我們把場景拉回演算法的範疇,再闡明一次。上述的除蟲效率函數關係,可以簡單視為為「輸入資料量 - 運算成本」關係之函數。例如 $f(x)=x^2+3x+6$。當輸入資料量增大時,成本也隨之上升,這個用來描述演算法執行成本與輸入資料量之關係的函數,我們稱之為該演算法的「複雜度」。","breadcrumbs":"漸進符號 Asymptotic Notation » 用數學表示演算法效率","id":"15","title":"用數學表示演算法效率"},"150":{"body":"Radix sort 的空間複雜度同樣取決於排序副程式,Counting sort 與 Bucket sort 的空間複雜度皆為 $O(n \\cdot k) $。Radix sort 的 $k $ 是常數,予以捨去。再乘上 $d $ 個位數,最差的空間複雜度為 $O(d \\cdot n) $。","breadcrumbs":"基數排序 Radix sort » Space complexity","id":"150","title":"Space complexity"},"151":{"body":"這裡示範實作以 10 為基數,用來排序非負整數的 Radix sort。 首先,我們的排序副程式使用 Counting sort。 // 0. Include counting sort.\nuse ::sorting::counting_sort; 再來,就是 Radix sort 本體了。為了凸顯 Radix sort 的概念,簡化了函式參數數量,除去泛型宣告,並將基數選擇寫死在函式裡。 pub fn radix_sort(arr: &mut [i32]) { let radix = 10; // 1 let mut digit = 1; // 2 let max_value = arr // 3 .iter() .max() .unwrap_or(&0) .clone(); while digit <= max_value { // 4 counting_sort(arr, 0, 9, |t| (t / digit % radix) as usize); // 5 digit *= radix; // 6 }\n} 設定基數為 10。 設定一個旗標,記錄當前在排序哪一位數,1 表示從最小位數(個位數)開始。 先找到輸入資料的最大值,作為之後副程式迴圈結束的條件。尋找最大值的複雜度為 $O(n)$,因此不影響 Radix Sort 的複雜度。如果 arr 為空序列,則最大值設為 0,在第四步驟就會自動結束排序。 判斷當前排序的位數是否大於最大值,例如當前排序百分位,digit 為 100,而最大值 x 為 26,則不需再排序百分位。 使用 Counting sort 作為排序副程式,只需要有 0 - 9 十個桶子。而 key 參數則取出當前欲比較的位數。 位數乘上基數,移至下一個位數繼續比較。 小提醒:這是簡單又容易理解的實作,相對有許多額外的運算開銷(例如尋找最大值)。實務上,會在對資料有些了解才採用 Radix sort,因此實作並不會這麼 naive。","breadcrumbs":"基數排序 Radix sort » 實作","id":"151","title":"實作"},"152":{"body":"Wiki: Radix sort Princeton University DSA Course: Radix sort ByVoid: 三種線性排序算法 計數排序、桶排序與基數排序","breadcrumbs":"基數排序 Radix sort » 參考資料","id":"152","title":"參考資料"},"153":{"body":"Stack - Wikipedia 堆疊是一個具有 後進先出 LIFO 特性的資料結構。以從 Wikipedia 借來的上圖為例,在第五張圖的狀況下,如果要取得 2,就必須先把 3、4、5 都退出堆疊。 堆疊的底部與頂部都是抽象的概念,頂部是資料被加入、移除、較為繁忙的那一端,底部即另一端。 堆疊的空間可能是有限的,亦即也有可能實現空間無限的堆疊。有鑑於有限空間的堆疊較為常見,我們選擇實作空間有限的堆疊。 堆疊 stack 有兩種實作方式:陣列 array 與鏈結串列 linked list,在此選擇以類似陣列的 Vector 實現。 本次實作的程式碼置於 rust_algorithm_club::collections::Stack API 文件中。","breadcrumbs":"堆疊 Stack » 堆疊 Stack","id":"153","title":"堆疊 Stack"},"154":{"body":"pub struct Stack { maxsize: usize, items: Vec,\n} maxsize 用於模擬堆疊空間有限的特性;items 負責保存加入堆疊的資料。 在此刻意將 maxsize、items 定義為 private member,避免外部直接存取。","breadcrumbs":"堆疊 Stack » 架構設計","id":"154","title":"架構設計"},"155":{"body":"with_capacity:定義一個空間有限的堆疊。 push:將新資料加入資料結構。 pop:將最新加入的資料移出資料結構。 size:(選用)取得堆疊的大小。 peek:(選用)在不將資料退出堆疊的情況下偷看最後加入堆疊的資料。","breadcrumbs":"堆疊 Stack » 基本操作","id":"155","title":"基本操作"},"156":{"body":"pub fn with_capacity(maxsize: usize) -> Self { Self { maxsize, items: Vec::with_capacity(maxsize), } } 初始化一個帶有預先分配空間 Vector 的堆疊。 ⚠ 注意,即使預先分配了有限的空間,Rust 的 vector 在空間已滿的情況下會重新分配。假設一開始為 vector 分配了 10 單位的空間,在將第 11 筆資料插入 vector 前,vector 在記憶體的空間將被重新分配,以容納這第 11 筆資料。為了模擬堆疊空間有限的特性,我們會在 push 的操作動點手腳。","breadcrumbs":"堆疊 Stack » 定義一個空間有限的堆疊","id":"156","title":"定義一個空間有限的堆疊"},"157":{"body":"pub fn push(&mut self, item: T) -> bool { if self.items.len() == self.maxsize { return false; } self.items.push(item); return true; } 由於 push 操作會改變 items,因此需要堆疊的 mutable reference。由於 Rust 的 vector 有重新分配的特性,在將資料正式加入堆疊之前,必須先檢查堆疊初始化時設定的空間是否已經被塞滿了。如果結果為是,則拒絕將資料加入堆疊。","breadcrumbs":"堆疊 Stack » 將新資料加入資料結構","id":"157","title":"將新資料加入資料結構"},"158":{"body":"pub fn pop(&mut self) -> Option { self.items.pop() } 堆疊有可能是空的,在此以 Option 表現這個情況。如果針對一個空堆疊進行 pop 操作,將會得到 None。","breadcrumbs":"堆疊 Stack » 將最新加入的資料移出資料結構","id":"158","title":"將最新加入的資料移出資料結構"},"159":{"body":"pub fn size(&self) -> usize { self.items.len() } 一個空堆疊的大小是 0,加入一筆資料後是 1⋯⋯以此類推。注意容量 capcity 與大小 size 是兩個不同的概念。容量是這個堆疊最多可以塞下多少資料,大小則是這個堆疊已經被塞入了多少資料。由於 push 的檢查機制,堆疊的大小永遠不會超過 maxsize。","breadcrumbs":"堆疊 Stack » 取得堆疊的大小","id":"159","title":"取得堆疊的大小"},"16":{"body":"了解每個演算法的時間複雜度之後,就能比較何者效率佳。但往往天不從人願,給了我們兩個演算法進行比較。 $$f(x)=\\sqrt{\\frac{182777}{286}}\\pi x^4+5\\log_{3}^{26}88x^3-e^{777^{log_2^9}}$$ $$g(x)=3x^6-2x^2$$ 「天啊!這樣要怎麼分析執行效率呀!」 為了有統一的加薪標準,我們不能假定產品只會產生特定數量的臭蟲,也不能以單一天的工作表現判定員工能力,我們知道老舊系統有無限多個 bug,因此,優秀的老闆關心的是工程師長期處理「海量臭蟲」,在極限下的 成長趨勢 ,這些成長趨勢才是衡量 KPI 的關鍵。再次強調,優秀老闆關心如何榨出是工程師的「極限成長趨勢」,而非一時半刻賣弄學識。 同樣地,有太多因素干擾影響一個演算法的複雜度,假使我們只觀察當輸入資料量 $n$ 接近無窮大時,演算法的成長趨勢為何,就很接近所謂漸進符號(asymptotic notation)的定義。漸進符號 只關心演算法在極限下的漸進行為,不同的演算法可能使用相同的漸進符號表示。 我們比較兩個簡單函數,$f(x) = 10x + 29$ 以及 $g(x) = x^2 + 1$。從圖二可以看出一開始 $g(x)$ 的執行時間比 $f(x)$ 多了不少,但隨著輸入資料量 $n$ 增多,$g(x)$ 的執行時間成長愈來愈快速,最後遠遠大於 $f(x)$。 Fig. 2 若以 $an^2 + bn + c$ 表示複雜度,就是當存在一個 $a > 0$ 時,一定會有 $n$ 符合 $an^2 > bn + c$,這個差距隨著 $n$ 越大越明顯,這是因為首項(leading term),也就是帶有最高指數的那一項,隨著 輸入大小改變,執行時間變化幅度較大。因此,可捨去複雜度函數中其他較不重要的次項與常數,留下最大次項,「 透過簡單的函數來表述函數接近極限的行為 」,讓複雜度函數更易理解,這就是「漸進符號」的概念。 這裡介紹常見的幾種漸進符號:","breadcrumbs":"漸進符號 Asymptotic Notation » 何謂漸進符號","id":"16","title":"何謂漸進符號"},"160":{"body":"pub fn peek(&self) -> Option<&T> { self.items.last() } 與 pop 操作類似,但不會對堆疊造成任何影響。如果偷看的是一個空堆疊,會得到 None。","breadcrumbs":"堆疊 Stack » 在不將資料退出堆疊的情況下偷看最後加入堆疊的資料","id":"160","title":"在不將資料退出堆疊的情況下偷看最後加入堆疊的資料"},"161":{"body":"Operation Best Complexity Worst Complexity push (insert) O(1) O(1) pop (delete) O(1) O(1) 無論堆疊大小如何變化,push 與 pop 的效能都不會被影響。","breadcrumbs":"堆疊 Stack » 效能","id":"161","title":"效能"},"162":{"body":"Stack (abstract data type) Big-O Algorithm Complexity Cheat Sheet","breadcrumbs":"堆疊 Stack » 參考資料","id":"162","title":"參考資料"},"163":{"body":"Queue - Wiki 佇列是一個具有 先進先出 FIFO 特性的資料結構。從 Wikipedia 上的圖為例,一個資料從左邊進入佇列並從右邊離開,最先進入佇列的資料會最先被取出。 佇列常見實作方式有:陣列 array、鏈結串列 linked list。為了使概念容易理解,我們選擇以類似陣列的 Vector 實作。 本次實作的程式碼置於 rust_algorithm_club::collections::Queue API 文件中。","breadcrumbs":"佇列 Queue » 佇列 Queue","id":"163","title":"佇列 Queue"},"164":{"body":"pub struct Queue { items: Vec,\n} 以 items 保存加入佇列的資料。大部分用陣列實作的佇列可能會有 front 和 rear 兩個欄位負責保存指向佇列開頭和尾端的索引,作為佇列新增刪除資料的依據,但是透過 Rust 的 std::vec::Vec (線形動態成長的陣列容器),我們可以直接取得佇列第一以及最後一筆資料,所以這邊實作忽略這兩個欄位。","breadcrumbs":"佇列 Queue » 架構設計","id":"164","title":"架構設計"},"165":{"body":"enqueue:將新資料加入佇列 dequeue:將最先放入的資料移出佇列 peek:在不將資料移出佇列的情況下取得最先放入的資料 size:取得佇列大小","breadcrumbs":"佇列 Queue » 基本操作","id":"165","title":"基本操作"},"166":{"body":"pub fn new() -> Self { Self { items: Vec::new() } } 初始化具有 Vec 的佇列。","breadcrumbs":"佇列 Queue » 定義佇列","id":"166","title":"定義佇列"},"167":{"body":"pub fn enqueue(&mut self, item: T) { self.items.push(item); } 由於 enqueue 會改變 items,因此需要佇列的 mutable reference。再來,我們沒有限制佇列大小,全由 Rust 的 Vec 自行分配空間,將新資料放到 items 的最後端。","breadcrumbs":"佇列 Queue » 將新資料加入佇列","id":"167","title":"將新資料加入佇列"},"168":{"body":"pub fn dequeue(&mut self) -> Option { match self.items.is_empty() { false => Some(self.items.remove(0)), true => None, } } items 有可能是空的,在移出資料之前需要檢查,然後移出 index 為零的資料,也就是最先放入的資料。","breadcrumbs":"佇列 Queue » 將最先放入的資料移出佇列","id":"168","title":"將最先放入的資料移出佇列"},"169":{"body":"pub fn size(&self) -> usize { self.items.len() } 取得 items 的大小。","breadcrumbs":"佇列 Queue » 取得佇列大小","id":"169","title":"取得佇列大小"},"17":{"body":"當我們談論演算法複雜度時,通常關心的是演算法「最糟糕的情況下」,「最多」需要執行多久。Big O 就是描述演算法複雜度上界的漸進符號,當一個演算法「實際」的複雜度(或執行成本對輸入資料量函數)為 $f(n)$ 時,欲以 Big O 描述其複雜度上界時,必須滿足以下定義: $$f(n) = O(g(n)) \\colon {\\exists k>0\\ \\exists n_0\\ \\forall n>n_0\\ |f(n)| \\leq k \\cdot g(n)}$$ 假設有一演算法實際複雜度為 $f(n) = 3n + 4$,有一組 $k = 4;\\ g(n) = n;\\ n_0 = 4$ 滿足 $$\\forall n > 4,\\ 0 \\leq f(n) = 3n + 4 \\leq 4n$$ 意思是「$f(n)$ 的複雜度上界成長趨勢最終不會超過 $g(n) = 4n$ 」,再代入 $O(g(n))$,可得演算法最差複雜度為 $f(n) = O(n)$,也就是「該演算法的成長趨勢不會比 $g(n)$ 來得快」(見圖三)。 Fig. 3 再多看一個例子,若 $f(n) = 4n^2 + n$ 有一組 $k = 5;\\ g(n) = n^2;\\ n_0 = 5$ 滿足 $$\\forall n > 5,\\ 0 \\leq f(n) = 4n^2 + n \\leq 5n^2$$ 則此函數的複雜度為 $f(n) = O(n^2)$。 注意:也寫作 $f(n) \\in O(g(n))$,因為實際上 $O(g(n))$ 是所有可描述演算法成長趨勢,並滿足上述條件的函數之「集合」。","breadcrumbs":"漸進符號 Asymptotic Notation » $O$:Big O","id":"17","title":"$O$:Big O"},"170":{"body":"pub fn peek(&self) -> Option<&T> { self.items.first() } 這裡的作法很單純,就是呼叫 Vec 底層 slice::first ,回傳一個 Option,不會影響到底層的 Vec 的內容。","breadcrumbs":"佇列 Queue » 不改變佇列的情況下,取得最先放入的資料","id":"170","title":"不改變佇列的情況下,取得最先放入的資料"},"171":{"body":"Operation Best Complexity Worst Complexity enqueue (insert) O(1) O(1) dequeue (delete) O(n)* O(n)* *:注意,一般來說 dequeue 會選用 O(1) 的實作方式,這裡直接呼叫 Vec::remove 會導致整個 Vec 的元素向前位移一個,是較耗費計算資源的 O(n) 操作。 我們可以選用其他方式實作,例如用額外指標紀錄當前 head 所在位置的 雙端佇列 Deque ,或是使用 單向鏈結串列 Singly linked list 實作,都能達到 O(1) 的時間複雜度。","breadcrumbs":"佇列 Queue » 效能","id":"171","title":"效能"},"172":{"body":"Queue (abstract data type)","breadcrumbs":"佇列 Queue » 參考資料","id":"172","title":"參考資料"},"173":{"body":"雙端佇列(double-ended queue,通常縮寫為 deque)是一般化(generalize)的 佇列 或 堆疊 。比起佇列只能「先進先出 FIFO」,以及堆疊只有「後進先出 LIFO」,雙端佇列可以從最前端或最末端任意方向,在常數時間複雜度內增刪元素,更為方便。 雙端佇列常見用動態陣列或是鏈結串列實作,動態陣列的實作會因空間不夠,需要重新配置記憶體,但通常會支援隨機存取(random access);鏈結串列的實作版本雖無法隨機存取,相對地增刪元素不需記憶體重配置。 雙端佇列顯著的缺點是:無論以動態陣列或連結串列實作,基本款實作通常無法在 $O(k)$ 時間複雜度的情況下,選定範圍內 k 個元素並取得單一切片(slice)。這肇因於動態陣列的實作通常內部儲存空間經過多次增刪,空間利用會不連續;而用鏈結串列實作者,則因不支援隨機存取而無法達到相應的複雜度。 本次實作的程式碼置於在 rust_algorithm_club::collections::Deque API 文件中。","breadcrumbs":"雙端佇列 Deque » 雙端佇列 Deque","id":"173","title":"雙端佇列 Deque"},"174":{"body":"雙端佇列有個實作重點:可在 常數時間 從頭尾兩端增刪元素。在資料結構設計上,會儲存分別指向頭尾的兩個指標,長相可能如下: struct Deque { head: usize, tail: usize, storage: SomeStorageType,\n} 第一直覺肯定是選用 雙向鏈結串列 可以雙向增刪節點的特性,作為解決方案。不過這裡我們採用動態陣列實作,更精確來說,底層儲存容器同樣是有兩個分別指向頭尾的指標的「環形緩衝區(Ring buffer)」。","breadcrumbs":"雙端佇列 Deque » 架構設計","id":"174","title":"架構設計"},"175":{"body":"環形緩衝區(Ring buffer) 是一個長度大小固定的緩衝區,可以視為頭尾相連的記憶體區塊,上圖雖以環狀呈現,但在計算機架構中儲存方式通常是線性陣列,再搭配指向頭端的 head 與指向尾端的 tail 兩個指標構成。 環形緩衝區有分兩種,一種是有循環的,緩衝區寫滿了就覆蓋尾端舊的資料,另一種是不會循環,緩衝區會放滿的,後者就是本次實作會用到的,以下將來探討: 如何表示環形緩衝區為空 如何表示環形緩衝區已滿 環形緩衝區如何增加元素 這節以 ASCII chart 表示之。 h: head t: tail x: no data [number]: has data 下面一個容量為 8,尚未有任何元素存入的環形緩衝區,這裡觀察到,若 head 與 tail 指向的儲存單元相同,換句話說 兩者索引值相同,則緩衝區為空 。 scenario: empty buffer h\nt\n---------------\nx x x x x x x x\n--------------- 再來,從頭端增加一個元素,此時 head 指向的儲存單元會存入元素,並且 head 索引加一。 scenario: add one data onto head t h\n---------------\n1 x x x x x x x\n--------------- 我們再連續加幾個元素,可以觀察到,head 最終指向的儲存單元永遠為空: scenario: add more data onto head t h\n---------------\n1 2 x x x x x x\n--------------- t h\n---------------\n1 2 3 x x x x x\n--------------- t h\n---------------\n1 2 3 4 x x x x\n--------------- 再來,我們從尾端增加元素,首先 tail 減一,並在移動過後的 tail 指向的儲存單元放入元素。因為 tail 原本為 0,減一之後為 -1,但索引不該有 -1,所以我們採取類似環繞算術運算(wrapping arithmetic operation)處理 整數溢位 ,因此 tail 索引從 0 變成 7(總共 8 個儲存單元)。 scenario: add data onto tail h t\n---------------\n1 2 3 4 x x x 5\n--------------- 日常生活中,環繞算術運算可見於汽車儀錶板或是電錶,9999 轉過頭後會自動變成 0000,可以想像成在萬分位進位了,但我們看不到。上述減一也可以想像二進位退一位,但我們看不到,所以從 0b000(0)變成了 0b111(7)。 我們從尾端加更多資料到緩衝區: scenario: add more data onto tail h t\n---------------\n1 2 3 4 x x 6 5\n--------------- h t\n---------------\n1 2 3 4 x 7 6 5 --> full\n--------------- 欸,怎麼加到第七個就停了? 由於目前僅探討 不循環 的環形緩衝區,已經規範 head = tail 代表緩衝區為空,如果貿然加上第八個元素,就無法分辨緩衝區是空是滿,恐導致轉盈為空。所以當緩衝區容量減去元素個數為 1 時,換句話說就是當剩餘最後一個空儲存單元時,表示該緩衝區已滿,不能再增加元素。由此推論環形緩衝區永遠會剩下一個沒使用的儲存單元。 至此,環形緩衝區的特性很符合雙端佇列的需求,總結一下: head = tail 時,表示緩衝區為空。 容量僅剩一個儲存單元時,表示緩衝區已滿。 head 永遠指向一個空的儲存單元。 邏輯索引的映射會利用環繞算術運算配合 模除運算 ,將索引值限制在緩衝區範圍內。 第四點很難懂齁?免驚,下面實作範例「 邏輯索引映射 」段落就會解釋給你聽!","breadcrumbs":"雙端佇列 Deque » 環形緩衝區","id":"175","title":"環形緩衝區"},"176":{"body":"這一段,我們將為環形緩衝區打造屬於它自己的底層儲存空間。你可能想問,既然環形緩衝區是一個固定長度的陣列,為什麼不直接利用 Rust 標準函式庫的 Vec 呢?因為 Vec 的容量和記憶體配置 屬於實作細節,雖然目前是滿了才擴充容量重新配置空間,但難保未來改變,為了更細緻控制記憶體,決定弄髒手,自行配置記憶體。 ⚠️ 以下範例有 unsafe 程式碼,未經審計,請謹慎使用。 首先,宣告一個 RawVec 結構體,儲存了兩個欄位: ptr:指向陣列最前端的指標,因為底層陣列會變化,所以是可變裸指標 *mut T 。 cap:當前 RawVec 的容量。注意,容量需永遠大於等於元數個數,否則會發生 緩衝區溢位 。 struct RawVec { ptr: *mut T, cap: usize,\n} 接下來,我們要為 RawVec 實作三個方法,完成自我管理記憶體的偉大志向: with_capacity:建立指定容量的 RawVec,會在堆疊上配置一塊記憶體。 try_grow:嘗試將 RawVec 的容量加倍,會觸發記憶體的重新配置。 drop:實作 Drop 特徵,會釋放在堆疊上手動配置的記憶體。 先來看 with_capacity: impl RawVec { // ... pub fn with_capacity(cap: usize) -> Self { let layout = Layout::array::(cap).unwrap(); // 1 // 2 if layout.size() == 0 { // This is safe for zero sized types. However, be careful when facing // zero capacity layouts. It must be replaced with an actual pointer // before operations such as dereference or read/write. let ptr = ptr::NonNull::dangling().as_ptr(); // 3 Self { ptr, cap: 0 } } else { // This is safe because it conforms to the [safety contracts][1]. // // [1]: https://doc.rust-lang.org/1.49.0/alloc/alloc/trait.GlobalAlloc.html#safety-1 let ptr = unsafe { alloc(layout) }; // 4 if ptr.is_null() { handle_alloc_error(layout); } Self { ptr: ptr.cast(), cap, } } }\n} 首先,我們先透過 Layout::array 取得給定長度給定型別的陣列的記憶體佈局,這個佈局包含 記憶體對齊 (二的倍數的位元組)與佔用記憶體大小等資訊。 再來這個 layout.size() 條件式是因為 alloc 為 unsafe 函式,需遵守其安全條款: 不允許配置大小為零的空間 。因此,必須判斷實際上需要配置記憶體與否,有兩種情況不需配置: T 是 Zero Sized Types(ZSTs) ,也就是不需要空間的型別。 cap 為零,所以不需要容量。 若記憶體佈局所佔空間大小為零,則配置一個 NonNull 的迷途指標。 對 ZST 來說,NonNull 是安全的,ZST 的指標算術操作無論如何加減,都會指向原始的指標位址,所以上層可以零成本的抽象操作容器的各種方法,完全不需要配置額外記憶體區塊。 對非 ZST 但容量為零的記憶體佈局來說,NonNull 不會有危害但要非常小心,只有在容量大於 0 且內容有初始化時,才該允許指標算術,否則可能存取到未初始化的記憶體位址,進而引發未定義行為。 很簡單地呼叫 alloc 讓 Rust 全域預設的配置器幹一塊空間資源來。因為 alloc 發生記憶體配置錯誤時會回傳空指標,所以這裡按照官方建議用 handle_alloc_error 捕捉這個行為,防止空指標被當作合法指標使用。 Rust 1.28 導入 Global allocators 的功能,讓使用者使用 #[global_allocator] 屬性,替標準函式庫註冊全域的記憶體配置器,也因此,上述的 alloc、realloc、dealloc 即將在 allocator_api 穩定後被取代。 看完配置記憶體,來看如何手動釋放記憶體。Rust 的 Drop 特徵有 drop() 方法,會在數值不需要時呼叫,類似其他語言的解構函式(destructor)。我們將釋放記憶體的邏輯放在 RawVec::drop 裡面,當 RawVec 不被需要時,就會協助我們釋放手動配置的記憶體。 impl Drop for RawVec { /// Deallocates the underlying memory region by calculating the type layout /// and number of elements. /// /// This only drop the memory block allocated by `RawVec` itself but not /// dropping the contents. Callers need to drop the contents by themselves. fn drop(&mut self) { let layout = Layout::array::(self.cap).unwrap(); // 1 if layout.size() > 0 { // This is safe because it conforms to the [safety contracts][1]. // // [1]: https://doc.rust-lang.org/1.49.0/alloc/alloc/trait.GlobalAlloc.html#safety-2 unsafe { dealloc(self.ptr.cast(), layout) } } }\n} 實作上,第一步取得當前記憶體佈局,並透過 dealloc 配合指標來釋放記憶體。當然,ZST 或是容量為零的狀況並沒有配置記憶體,額外判斷無需釋放。 最後,來瞧瞧 try_grow,為了簡化實作,每次呼叫時,記憶體區塊就單純加倍。 impl RawVec { // ... pub fn try_grow(&mut self) { if mem::size_of::() == 0 { return; // 1 } if self.cap == 0 { *self = Self::with_capacity(1); // 2 return; } let old_layout = Layout::array::(self.cap).unwrap(); // 3 let new_cap = self.cap << 1; let new_size = old_layout.size() * new_cap; // This is safe because it conforms to the [safety contracts][1]. // // [1]: https://doc.rust-lang.org/1.49.0/alloc/alloc/trait.GlobalAlloc.html#safety-4 let ptr = unsafe { realloc(self.ptr.cast(), old_layout, new_size) }; if ptr.is_null() { handle_alloc_error(old_layout); } // ...Old allocation is unusable and may be released from here at anytime. self.ptr = ptr.cast(); // 4 self.cap = new_cap; }\n} ZST 的空間不需加倍,直接返回。 原本空間容量為零的狀況,直接配置容量為一的空間。 準備 realloc 需要的參數:容量超過零的,取得舊的記憶體佈局,並乘上翻倍後的容量,算出新的空間大小。這讓之後呼叫 realloc 時符合其安全條款:合法指標、空間大於零、記憶體佈局為該區塊的舊佈局。 呼叫 realloc 之後,原先記憶體區塊可能被釋放,因此不該繼續用舊指標,此以新指標取代之。 終於將手動配置記憶體的邏輯封裝在 RawVec 裡面,外部不需要弄髒手搞記憶體了!","breadcrumbs":"雙端佇列 Deque » 手動配置記憶體","id":"176","title":"手動配置記憶體"},"177":{"body":"有了 RawVec,現在可以將先前缺失的 SomeStorageType 補上,初始化的方法也異常單純。 pub struct Deque { tail: usize, head: usize, ring_buf: RawVec,\n} impl Deque { pub fn new() -> Self { Self { tail: 0, head: 0, ring_buf: RawVec::with_capacity(DEFAULT_CAPACITY), } }\n} 至此,Deque 結構體的佈局設計告一段落,接下來就是各種方法實作。","breadcrumbs":"雙端佇列 Deque » Deque","id":"177","title":"Deque"},"178":{"body":"身為一個雙端佇列,會有以下符合定義的基本操作: new:初始化一個容器。 push_front:在容器最前端新增一個元素。 push_back:在容器最末端新增一個元素。 pop_front:移除在容器最前端的元素。 pop_back:移除在容器最末端的元素。 另外為了提升方便性,也提供了一些方法: front:查看容器最前端的元素。 back:查看容器最末端的元素。 len:檢查容器內的元素數目。 is_empty:檢查容器內是否沒有任何元素。 iter、iter_mut、into_iter:產生一個疊代容器內所有元素的疊代器。 因為需要比較動態精細地控制記憶體,少不了一些內部方法: is_full:檢查底層環形緩衝區是否滿載。 try_grow:嘗試動態增加底層儲存空間。 wrapping_add、wrapping_sub:確保邏輯索引的增減正確映射到底層實際索引位址。","breadcrumbs":"雙端佇列 Deque » 基本操作","id":"178","title":"基本操作"},"179":{"body":"前一段 提及環形緩衝區可以從頭尾增加元素,這一段來說明「如何封裝環形緩衝區內部的物理索引」,讓外部的邏輯索引可映射到內部已儲存合法數值的緩衝區位址。 再回來看容量為 8 的雙端佇列的例子,已進行一系列操作: push_back 1 push_back 2 push_back 3 push_back 4 push_front 5 push_front 6 h t\n---------------\n1 2 3 4 x x 6 5\n--------------- 如果我們要按照順序,從佇列的 tail 到 head 印出所有元素,應該從 tail 開始,逐一增加索引,依序 6 5 1 2 3 4 印出,我們畫上虛擬的元素對應位置: ~: virtual element h t -->\n-----------------------\n1 2 3 4 x x 6 5 1 2 3 4\n----------------------- ~ ~ ~ ~ 顯而易見,虛擬元素對應的索引是 8、9、10、11,已經超過緩衝區的長度,可以利用 模除運算 計算物理索引,將索引固定在一定長度內。目前緩衝區容量為 8,所以將索引全部 模除 8: 8 % 8 = 0:對應到 [0] 的元素 1 9 % 8 = 1:對應到 [1] 的元素 2 10 % 8 = 2:對應到 [2] 的元素 3 11 % 8 = 3:對應到 [3] 的元素 4 模除是直觀的作法,但還有更神奇的思路:位元運算(bitwise arithmetic)。只要拿 7 跟這些索引做 & 位元 AND 運算,也能得到相同結果。 8 9 10 11 <- Logical 0b1000 0b1001 0b1010 0b1011\n& 0b0111 0b0111 0b0111 0b0111\n----------------------------------- 0b0000 0b0001 0b0010 0b0011\n= 0 1 2 3 <- Actual 這邊使用 7 有其意義: 7 是 $2^3 - 1$,剛好 $2^n - 1$ 在是二進位制中全部位元都會是 1 ,任意數與 $2^n - 1$ 做位元 AND 運算,可以得到低位 n 位中有多少 1,同時捨棄大於 n 的位元。這個特性不偏不倚和模除的結果相同。 還記得環形緩衝區有個特性嗎: 容量僅剩一個儲存單元時,表示緩衝區已滿 。若能保證環形緩衝區的容量必為 $2^n$,當緩衝區滿時,元素個數定為 $2^n - 1$,完全符合前一點的特性。 綜合以上,只需要保證緩衝區容量是 $2^n$,將邏輯索引映射到實際索引,只要將索引和實際可用容量($2^n - 1$)做位元 AND 運算即可: fn wrap_index(index: usize, size: usize) -> usize { debug_assert!(size.is_power_of_two()); index & (size - 1)\n} 接下來,就可以推出 wrapping_add 和 wrapping_sub 這兩支正確增減索引的方法: impl Deque { // ... fn wrapping_add(&self, index: usize, addend: usize) -> usize { wrap_index(index.wrapping_add(addend), self.cap()) } fn wrapping_sub(&self, index: usize, subtrahend: usize) -> usize { wrap_index(index.wrapping_sub(subtrahend), self.cap()) } fn cap(&self) -> usize { self.ring_buf.cap() }\n} 上面用環繞算術運算(wrapping arithmetic operation) 可以使開發更方便,例如遇上 index 0 而 subtrahend 1 時,巧妙避開 $0 - 1 = -1$ 但 usize 不能為負的限制,直接環繞回 usize::MAX。 值得一提的是,在 Deque::cap 這個簡單的封裝上呼叫了 RawVec::cap,這是新增的方法,旨在提供 ZST 一個很大很大的虛擬容量,但同時保證是 2 的次方: impl RawVec { // ... pub fn cap(&self) -> usize { if mem::size_of::() == 0 { 1usize << (mem::size_of::() * 8 - 1) } else { self.cap } }\n}","breadcrumbs":"雙端佇列 Deque » 邏輯索引映射","id":"179","title":"邏輯索引映射"},"18":{"body":"相較於 Big O 描述演算法成長趨勢的上界,Big Omega 則是對應成長趨勢的「下界」,定義如下: $$f(n) = \\Omega(g(n)) \\colon {\\exists k>0\\ \\exists n_0\\ \\forall n>n_0\\ |f(n)| \\geq k \\cdot g(n)}$$ 以 $f(n) = 3n + 4$ 為例,有一組 $k = 2;\\ g(n) = n;\\ n_0 = 0$ 滿足上式,因此這個演算法在輸入資料夠大時,「至少」會達到 $\\Omega(n)$ 的複雜度,也就是「該演算法的成長趨勢不會比 $g(n)$ 來得慢」。","breadcrumbs":"漸進符號 Asymptotic Notation » $\\Omega$:Big Omega","id":"18","title":"$\\Omega$:Big Omega"},"180":{"body":"前面提及環形緩衝區是長度固定的陣列,但雙端佇列若必須固定長度就太沒路用,直觀作法就是透過加倍 RawVec 容量,再繼續新增元素。這個想法沒錯,但會遇到一個問題:如何確保邏輯索引在記憶體加倍後依然正確映射到實際索引?這裡舉一個實際案例: Before: h t\n[o o o o x x o o] Resize: h t\n[o o o o x x o o | x x x x x x x x] 同樣一個容量為 8 的佇列,觸發了記憶體重新配置,所以記憶體加倍,無奈今非昔比,現在的邏輯索引 tail 無法映射到實際索引,環形緩衝區的「環」已經斷掉。若我們繼續 push_back 往 head 添加元素,就會覆蓋掉 tail 和後面的元素。 after 4 push_back: overwritten: ⌀\nnewly added: _ t h\n[o o o o o o ⌀ ⌀ | x x x x x x x x] _ _ _ _ 有鑑於此,需要修正將斷掉的環,最簡單的作法就是將緩衝區首個索引到 head 之前的索引這段記憶體空間,複製到新翻倍的空間上,讓 tail 在 head 前面,合法的記憶體區塊再次變得連續: Before: h t\n[o o o o x x o o] Resize: h t\n[o o o o x x o o | x x x x x x x x] Copy: t h\n[x x x x x x o o | o o o o x x x x] _ _ _ _ _ _ _ _ 了解實作的目標後,先定義個容量已滿的方法暖暖身: fn is_full(&self) -> bool { self.cap() - self.len() == 1 } 然後是 try_grow 的實作: fn try_grow(&mut self) { if self.is_full() { let old_cap = self.cap(); // 1 self.ring_buf.try_grow(); // 2 // 3 if self.tail > self.head { // The content of ring buffer won't overlapped, so it's safe to // call `copy_nonoverlapping`. It's also safe to advance the // pointer by `old_cap` since the buffer has been doubled. unsafe { let src = self.ptr(); // 4-1 let dst = self.ptr().add(old_cap); // 4-2 ptr::copy_nonoverlapping(src, dst, self.head); } self.head += old_cap; // 5 } } } 將舊的容量存起來,因為當 ring_buf 容量翻倍後,cap() 返回的容量就會翻倍。 呼叫 RawVec::try_grow() 讓容量翻倍。 在 tail 大於 head 時,代表環在翻倍後會不連續,所以需要複製元素。 這裡用 ptr::copy_nonoverlapping 進行位元複製,此函式語義上與 C 的 memcpy 相同。 取得緩衝區首個索引的位址,作為複製的起始位址。 取擴增後部分的首個索引位址,作為複製的目標位址。 實際呼叫 memcpy ,因為 head 永遠比最後一個元素索引多 1,剛好可作為元素數目。 被複製的元素位移了 old_cap,因此更新 head 映射到正確的 head + old_cap。 我們完成了動態增加容量的方法的同時,也維持邏輯索引映射的正確性。 這裡維持索引正確性有稍微簡化,更高效優美的解法請參考標準函式庫 VecDeque::handle_capacity_increase 。","breadcrumbs":"雙端佇列 Deque » 動態增加記憶體空間","id":"180","title":"動態增加記憶體空間"},"181":{"body":"查看首末兩段的元素非常簡單,不過由於涉及底層儲存空間的指標操作,所以需要寫 Unsafe Rust: pub fn front(&self) -> Option<&T> { if self.is_empty() { return None; } // This is safe because the offset is wrapped inside valid memory region. unsafe { Some(&*self.ptr().add(self.tail)) } } pub fn back(&self) -> Option<&T> { if self.is_empty() { return None; } let head = self.wrapping_sub(self.head, 1); // This is safe because the offset is wrapped inside valid memory region. unsafe { Some(&*self.ptr().add(head)) } } 兩個函式都先判斷雙端佇列是否為空,再做指標位移運算,head - 1 是 back 的指標位移量,而 front 就直接回傳 tail 指向的值。其中 &* 是常見的 Rust 模式,可視為 將裸指標「升級」為更安全的引用型別 ,步驟如下: 解引用裸指標,得到底下的裸數值。 建立一個安全的引用,指向裸數值。 這裡再來品嚐 is_empty 和 len 的實作: pub fn is_empty(&self) -> bool { self.len() == 0 } pub fn len(&self) -> usize { self.head.wrapping_sub(self.tail) & (self.cap() - 1) } len 用了環繞算術運算,讓 head - tail 能正確算出兩者的距離,並在用前面提及的「容量 - 1」的 $2^n - 1$ 做位元 AND 運算來捨棄高位。","breadcrumbs":"雙端佇列 Deque » 查看元素","id":"181","title":"查看元素"},"182":{"body":"來看從頭尾刪除元素的 pop_front 和 pop_back: pub fn pop_front(&mut self) -> Option { if self.is_empty() { return None; // 1 } let tail = self.tail; self.tail = self.wrapping_add(self.tail, 1); // 2 // This is safe because the offset is wrapped inside valid memory region. unsafe { Some(self.ptr().add(tail).read()) } // 3 } pub fn pop_back(&mut self) -> Option { if self.is_empty() { return None; // 1 } self.head = self.wrapping_sub(self.head, 1); // 2 // This is safe because the offset is wrapped inside valid memory region. unsafe { Some(self.ptr().add(self.head).read()) } // 3 } 同樣先判斷雙端佇列是否為空。 再來移動到下一個合法的索引上,會是 head - 1 或 tail + 1。 最後是指標位移再讀取,注意,雖然 ptr::read 會複製指標指向的值,但可視為所有權轉移到回傳值上了,這是因為倘若原始 src 指向的資料帶有其他指標,那麼繼續使用 src 就可能導致記憶體安全問題。 再來看增加元素的 push_front 與 push_back: pub fn push_front(&mut self, elem: T) { self.try_grow(); // 1 self.tail = self.wrapping_sub(self.tail, 1); // 2 // This is safe because the offset is wrapped inside valid memory region. unsafe { self.ptr().add(self.tail).write(elem) } // 3 } pub fn push_back(&mut self, elem: T) { self.try_grow(); // 1 let head = self.head; self.head = self.wrapping_add(self.head, 1); // 2 // This is safe because the offset is wrapped inside valid memory region. unsafe { self.ptr().add(head).write(elem) } // 3 } 同樣先判斷雙端佇列是否為空。 再來移動到下一個合法的索引上,會是 head + 1 或 tail - 1。 最後是指標位移再寫入, ptr::write 不會觸發讀取或是 drop 裸指標指向的值,但使用上仍然要確認存取該位址是否合法。 以上就是 Deque 基本操作方法,至此,剩下最後一步「 正確釋放記憶體 」,雙端佇列基本款就完成了。","breadcrumbs":"雙端佇列 Deque » 增刪元素","id":"182","title":"增刪元素"},"183":{"body":"Rust 提供許多特徵(Trait),實作特徵可以讓資料結構更方便,更符合 Rust 社群的寫作慣例。","breadcrumbs":"雙端佇列 Deque » 特徵","id":"183","title":"特徵"},"184":{"body":"這是 Deque 最重要的特徵之一,也是完成 Deque 基本款的最後一個必要功能。Drop 會用來釋放儲存在 Deque 裡面元素的資源。實作是將所有元素 pop_back 出來,所有權轉移到 drop 函式內,函式本體執行結束後,就會自動呼叫該元素型別的 drop 並釋放資源。 impl Drop for Deque { fn drop(&mut self) { while let Some(_) = self.pop_back() {} }\n} 也許你會問「為什麼不在 Deque.ring_buf 的 RawVec 實作 Drop 來釋放其內容的資源?」主因是權責區分,RawVec 僅負責釋放它自行配置的堆疊記憶體,不清楚內容元素該如何釋放記憶體,例如內容可能是 Region-based memory management ,一起釋放效率更高,元素各別 mem::drop 反而拖累效率。 事實上 Deque::drop 也能更高效, std::colletions::VecDeque::drop 就是直接 drop 兩個指向切片(slice)的指標,而非每個元素各自處理,雖然最後可能殊途同歸,視編譯器最佳化程度而定。","breadcrumbs":"雙端佇列 Deque » Drop","id":"184","title":"Drop"},"185":{"body":"身為容器型別,沒有疊代器簡直不能用,Rust 提供許多疊代器特徵供實作,其中 Iterator 特徵最為基礎且重要,實作 Iterator 特徵需求一個 next 方法,會不斷回傳下一個元素。任何實作 Iterator 特徵的型別,都可以放入 for 迴圈疊代。 而 Rust 常見的疊代器設計模式包含三個產生疊代器的方法: iter():慣例上回傳會產生不可變引用 &T 的 Iterator。 iter_mut():慣例上回傳會產出可變引用 &mut T 的 Iterator。 into_iter():慣例上回傳吃掉所有權 T 的 Iterator ,通常直接實作 IntoIterator 特徵即可,我們在 下一段 介紹它。 實作 Iterator 需要新的結構體,以儲存疊代的內部狀態: pub struct Iter<'a, T> { head: usize, tail: usize, ring_buf: &'a [T],\n} pub struct IterMut<'a, T> { head: usize, tail: usize, ring_buf: &'a mut [T],\n} Iter:由於定位 Deque 中有元素的合法記憶體區域需要 head 和 tail,因此儲存該兩者,並且儲存底層的環形緩衝區的切片引用,方便存取元素。 IterMut:同 Iter,但改為儲存可變的切片引用。 來看看 Iter 如何實作疊代器: impl<'a, T> Iterator for Iter<'a, T> { type Item = &'a T; fn next(&mut self) -> Option { if self.tail == self.head { return None; // 1 } let tail = self.tail; // 2 self.tail = wrap_index(self.tail.wrapping_add(1), self.ring_buf.len()); // 3 self.ring_buf.get(tail) // 4 }\n} 當 tail 等於 head 時,代表環形緩衝區為空,直接回傳 None。 tail 是 Deque 最前端,這裡先將當前的 tail 儲存起來。 再將 Iter 上的 tail 增加 1(不影響原始 Deque),下一次呼叫 next 就會取得下一個元素。 利用第二步儲存的當前 tail,配合 slice::get 直接回傳一個元素。 再來處理 IterMut::next,直觀上將 Iter::next 的 self.ring_buf.get(tail) 改成 get_mut 即可。 impl<'a, T> Iterator for IterMut<'a, T> { type Item = &'a mut T; fn next(&mut self) -> Option { if self.tail == self.head { return None; } let tail = self.tail; self.tail = wrap_index(self.tail.wrapping_add(1), self.ring_buf.len()); self.ring_buf.get_mut(tail) // Change to `get_mut` }\n} 欸!居然編譯失敗了,到底為什麼呢? error[E0495]: cannot infer an appropriate lifetime for autoref due to conflicting requirements --> src/collections/deque/mod.rs:353:23 |\n353 | self.ring_buf.get_mut(tail) | ^^^^^^^ |\nnote: first, the lifetime cannot outlive the anonymous lifetime #1 defined on the method body at 347:5... --> src/collections/deque/mod.rs:347:5 |\n347 | fn next(&mut self) -> Option<&'a mut T> { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nnote: ...so that reference does not outlive borrowed content --> src/collections/deque/mod.rs:353:9 |\n353 | self.ring_buf.get_mut(tail) | ^^^^^^^^^^^^^\nnote: but, the lifetime must be valid for the lifetime `'a` as defined on the impl at 344:6... --> src/collections/deque/mod.rs:344:6 |\n344 | impl<'a, T> Iterator for IterMut<'a, T> { | ^^\nnote: ...so that the expression is assignable --> src/collections/deque/mod.rs:353:9 |\n353 | self.ring_buf.get_mut(tail) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: expected `Option<&'a mut T>` found `Option<&mut T>` 這個編譯錯誤是因為匿名的 &mut self 和 Self::Item 兩者生命週期不匹配。以下把函式簽名的生命週期展開來看: fn next<'anonymous>(&'anonymous mut self) -> Option<&'a mut T> { // ... self.ring_buf // &'anonymous [T] .get_mut(tail) // Some(&'anonymous mut T) } 嗯,這不太對,我們知道 Rust 保證「就算 drop 了疊代器本身,產出的元素仍然合法」,產出的元素若為引用絕對 不會是迷途引用 ,例如下面範例: let a = iter.next().unwrap();\nlet b = iter.next().unwrap();\ndrop(iter);\nuse_both(a, b); 但編譯器只看型別是否正確,並無法檢查執行期間的 &mut self 內部 ring_buf 和 Self::Item 是否活得一樣久,且由於 Iterator::next 函式簽名上沒有對 &mut self 的生命週期做任何限制,因此無法寫出下列這種預期中的生命週期限制(可視為要求 'b 至少活得跟 'a 一樣長): impl<'a, T> Iterator for IterMut<'a, T> { type Item = &'a mut T; fn next<'b: 'a>(&'b mut self) -> Option { // ...omit }\n} // error[E0195]: lifetime parameters or bounds on method `next` do not match the trait declaration\n// --> src/collections/deque/mod.rs:347:12\n// |\n// 347 | fn next<'b: 'a>(&'b mut self) -> Option {\n// | ^^^^^^^^ lifetimes do not match method in trait 當然,我們知道回傳 ring_buf 的 &'a mut T 在生命週期上合法,但編譯器認不出來,所以 unsafe 又要來拯救世界。 impl<'a, T> Iterator for IterMut<'a, T> { type Item = &'a mut T; fn next(&mut self) -> Option { if self.tail == self.head { return None; } let tail = self.tail; self.tail = wrap_index(self.tail.wrapping_add(1), self.ring_buf.len()); // This unsafe block is needed for solving the limitation of Iterator // trait: the `&mut self` is bound to an anonymous lifetime which rustc // cannot figure out whether it would outlive returning element. Hence // the explicit pointer casting is required. unsafe { let ptr = self.ring_buf as *mut [T]; // 1 let slice = &mut *ptr; // 2 slice.get_mut(tail) // 3 } }\n} 將 ring_buf 轉換成裸指標,因為裸指標無生命週期,所以 &mut self 給的限制不見了。 再把 ptr 指向的 *mut [T] 裸指標轉換成有生命週期的可變引用 &mut [T] 的切片。藉由 Rust 對回傳型別的自動推斷,此切片的實際型別會是 &'a mut [T]。Got it!這就是我們所要的。 老老實實地呼叫 slice::get_mut,完全正確。 這類 An iterator yields borrowing contents from itself 的問題,有個俗名叫做 streaming iterator ,可以透過 泛型關聯型別 (generic associated type a.k.a GAT)解決,但目前 GAT 尚未穩定。詳情可參考這篇介紹 GAT 與 streaming iterator workaroud 的文章。 欸,或許你有疑惑,Iter::next 不也同樣有生命週期問題嗎,為什麼沒有報錯呢?這是因為 所有 &T 引用都預設實作 Copy 特徵 ,呼叫 slice::get() 時會 自動複製 ring_buf 的引用,因此沒有生命週期的問題,但 &mut T 並沒有實作 Copy 特徵,才會遇上生命週期不符的編譯錯誤。","breadcrumbs":"雙端佇列 Deque » Iterator","id":"185","title":"Iterator"},"186":{"body":"相較於 Interator, IntoIterator 是一個讓容器型別錦上添花的特徵,主要功能是:將一個型別自動轉換為有實作 Iterator 的型別,實作後該型別就可以直接放入 for 迴圈中。 例如下列用法: let mut d = Deque::new();\nd.push_back(1);\nd.push_back(2);\nd.push_front(3);\nd.push_front(4); for elem in &d { println!(\"{:?}\". elem);\n} for elem in &mut d { *elem *= *elem;\n} 實作上分三個: impl IntoIterator for Deque:將容器轉換成疊代器,並轉移容器和元素的所有權。 impl<'a, T> IntoIterator for &'a Deque:將容器不可變引用轉換成不可變元素的疊代器。 impl<'a, T> IntoIterator for &'a mut Deque:將容器可變引用轉換成可變元素的疊代器。 先說明後面兩者。以下實作非常簡單,只要根據容器引用可變與否,對應呼叫前一段提及的 Deque::iter 或 Deque::iter_mut 即可,這算是 Rust 容器型別的一貫作法。 impl<'a, T> IntoIterator for &'a Deque { type Item = &'a T; type IntoIter = Iter<'a, T>; fn into_iter(self) -> Self::IntoIter { self.iter() }\n} impl<'a, T> IntoIterator for &'a mut Deque { type Item = &'a mut T; type IntoIter = IterMut<'a, T>; fn into_iter(self) -> Self::IntoIter { self.iter_mut() }\n} 至於 impl IntoIterator for Deque 和 iter 與 iter_mut 不一樣,會吃所有權,所以需要宣告額外的結構體來儲存其內部狀態,並直接實作 IntoIterator 要求的 into_iter 方法: pub struct IntoIter(Deque); impl IntoIterator for Deque { type Item = T; type IntoIter = IntoIter; fn into_iter(self) -> Self::IntoIter { IntoIter(self) }\n} 此疊代方法中,佇列內元素的所有權會轉移,所以不需要跟 Iter 一樣保存切片,可以直接存整個 Deque 作為內部狀態,拿走 Deque 的所有權。 既然掌控 Deque 所有權,實作疊代器就沒有困難了,直接將所有元素 pop 取出即可。 impl Iterator for IntoIter { type Item = T; fn next(&mut self) -> Option { self.0.pop_front() }\n}","breadcrumbs":"雙端佇列 Deque » IntoIterator","id":"186","title":"IntoIterator"},"187":{"body":"用索引下標 array[index] 取值的語法常見於各大主流語言,Rust 提供 Index 和 IndexMut 兩個特徵來實作這個運算子,讓容器型別更符合人體工學。 實作方法是利用 邏輯索引映射 段落實作的 wrap_index 得出實際索引,再透過指標取值即可。唯一需要注意的是越界存取(out of bound access)可能產生未定義行為,不符合 Rust 對記憶體安全的要求,所以在裸指標存取之前,就要直接 assert! 索引是否在元素數量的安全範圍內,防止越界存取。 impl Index for Deque { type Output = T; fn index(&self, index: usize) -> &Self::Output { assert!(index < self.len(), \"Out of bound\"); let index = self.wrapping_add(self.tail, index); // This is safe because the offset is wrapped inside valid memory region. unsafe { &*self.ptr().add(index) } }\n} impl IndexMut for Deque { fn index_mut(&mut self, index: usize) -> &mut T { assert!(index < self.len(), \"Out of bound\"); let index = self.wrapping_add(self.tail, index); // This is safe because the offset is wrapped inside valid memory region. unsafe { &mut *self.ptr().add(index) } }\n}","breadcrumbs":"雙端佇列 Deque » Index and IndexMut","id":"187","title":"Index and IndexMut"},"188":{"body":"最後,介紹一下 fmt::Formatter 有許多方便的 debug 格式化輸出的方法,例如 debug_list 可以丟一個疊代器,會轉化成序列般的輸出格式。 impl fmt::Debug for Deque { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { f.debug_list().entries(self.iter()).finish() }\n} 當然,如果想要對 RawVec 實作 Debug 特徵,免手寫,可直接用 derive 屬性讓 編譯器推導實作 。 #[derive(Debug)] // Add this line to derive Debug trait automatically.\nstruct RawVec { ptr: *mut T, cap: usize,\n}","breadcrumbs":"雙端佇列 Deque » Debug","id":"188","title":"Debug"},"189":{"body":"以環形緩衝區為底層儲存容器的雙端序列,各操作複雜度如下: Operation Best case Worst case push_front(v) $O(1)$ $O(1)$~ push_back(v) $O(1)$ $O(1)$~ pop_front(v) $O(1)$ $O(1)$~ pop_back(v) $O(1)$ $O(1)$~ front $O(1)$ $O(1)$ back $O(1)$ $O(1)$ len $O(1)$ $O(1)$ $n$:資料筆數。 $v$:資料值。 ~ :平攤後的複雜度(amortized)。 雙端佇列任何操作都是直接對 head 或 tail 的索引讀寫記憶體,複雜度皆為 $O(1)$,不過因為增減元素需要動態調整儲存空間大小,所以這些方法的時間複雜度需要平攤。 空間複雜度則是只用了一個環形緩衝區儲存元素,和幾個欄位儲存 tail、head 還有容量,因此額外空間複雜度只有 $O(1)$。","breadcrumbs":"雙端佇列 Deque » 效能","id":"189","title":"效能"},"19":{"body":"Big Theta 則是 Big O 與 Big Omega 兩個漸進上下界所夾出的範圍,表示該演算法在輸入資料夠大時,最終的複雜度會成長到這個範圍中。其定義如下: $$f(n) = \\Theta(g(n)) \\colon {\\exists k_1>0\\ \\exists k_2>0\\ \\exists n_0\\ \\forall n>n_0\\ k_1 \\cdot g(n) \\leq |f(n)| \\leq k_2 \\cdot g(n)}$$ 繼續以 $f(n) = 3n + 4$ 為例,同樣有一組 $k_1 = 1;\\ k_2 = 5;\\ g(n) = n;\\ n_0 = 2$,滿足 $$\\forall n \\geq 2,\\ n \\leq f(n) = 3n + 4 \\leq 5n$$ 可得知,$f(n) = 3n + 4 \\in \\Theta(n)$,表示「該演算法的成長趨勢與 $g(n) = n$ 相同」(見圖四)。 Fig. 4","breadcrumbs":"漸進符號 Asymptotic Notation » $\\Theta$:Big Theta","id":"19","title":"$\\Theta$:Big Theta"},"190":{"body":"Rust Documentation: VecDeque Rust RawVec Implementation Wiki: Circular buffer Circular Buffer Image by Cburnett CC BY-SA-3.0 via Wikimedia Commons.","breadcrumbs":"雙端佇列 Deque » 參考資料","id":"190","title":"參考資料"},"191":{"body":"鏈結串列是一種基本線性資料集合,每一個資料元素都是獨立的物件。儲存資料的方式和一般陣列配置連續物理記憶體空間不同,而是在各節點儲存額外的指標指向下一個節點。 (單向鏈結串列示意圖)","breadcrumbs":"鏈結串列概述 » 鏈結串列 Linked list","id":"191","title":"鏈結串列 Linked list"},"192":{"body":"鏈結串列有以下特性與優點: 不需事先知道資料型別大小,充分利用動態記憶體管理。 以常數時間插入/刪除,不需重新配置記憶體(reallocation)。 但也因動態配置記憶體等因素,連帶產生一些缺陷: 空間開銷大 :每個元素需儲存額外的指標空間。 較差的 CPU 快取 :不連續存取的特性,不利於 CPU 快取 。 不允許隨機存取(random access) :搜尋特定節點仍需線性時間循序存取。","breadcrumbs":"鏈結串列概述 » 特性","id":"192","title":"特性"},"193":{"body":"大多數的場景其實不太常使用鏈結串列,Rust 內建的 LinkedList 文件也建議,除非肯定要用鏈結串列,不然建議優先考慮其他類似的資料結構如 VecDeque 。話雖如此,鏈結串列仍有不少應用場景: 需要頻繁地插入與刪除資料。 需要頻繁分離與合併(split and merge)資料。 不需要隨機存取的資料。 遞迴友好,因此成為大多函數式語言中基本資料型別之一。 教學上,常用於實作抽象資料型別,如 堆疊 與 佇列 等等。","breadcrumbs":"鏈結串列概述 » 適用場景","id":"193","title":"適用場景"},"194":{"body":"","breadcrumbs":"鏈結串列概述 » 術語","id":"194","title":"術語"},"195":{"body":"又稱「節點」,為組成鏈結串列的基本元素,節點包含資料儲存區與指標儲存區,指標儲存區用以儲存指向其他節點位址的變數。此外,最後一個節點的不指向其他節點位址的指標成為 null pointer,慣例以 NULL 表示。 node-box (節點示意圖)","breadcrumbs":"鏈結串列概述 » Node","id":"195","title":"Node"},"196":{"body":"Head 為指向整個串列第一個節點的指標。而 tail 則為指向最後一個節點的指標。用 ASCII 圖表示如下: head tail | | v v\n+--------+ +--------+ +--------+\n| | | | | |\n| node 0 |-->| node 1 |-->| node 2 |--> NULL\n| | | | | |\n+--------+ +--------+ +--------+","breadcrumbs":"鏈結串列概述 » Head and tail","id":"196","title":"Head and tail"},"197":{"body":"Sentinal node 一個特殊的節點,資料值為 NULL 的節點,用意代表鏈結串列的端點。也就是說,sentinel node 指向串列第一個節點,而串列最後一個節點也會指向 sentinel node,就像哨兵一樣守著串列前後,因而得名。 實作鏈結串列時,常常因為判斷節點是否為 NULL 而讓程式變得複雜,而 sentinel node 可減少程式操作步驟,也能增加程式可讀性。詳細資訊可以參考這篇 NULL 與 sentinel node 的比較討論 。 +-----------------------------------------------+ | | v |\n+---------+ +--------+ +--------+ +--------+ |\n|sentinel | | | | | | | |\n| |-->| node 0 |-->| node 1 |-->| node 3 |--+\n| node | | | | | | |\n+---------+ +--------+ +--------+ +--------+","breadcrumbs":"鏈結串列概述 » Sentinel node","id":"197","title":"Sentinel node"},"198":{"body":"依據每個節點的鏈結多寡,可分為 單向鏈結串列 ,每個節點只有一個指標,指向下一個節點。 +--------+ +--------+ +--------+\n| | | | | |\n| node 0 |-->| node 1 |-->| node 2 |--> NULL\n| | | | | |\n+--------+ +--------+ +--------+ 雙向鏈結串列 ,每個節點有兩個指標,分別指向前後一個節點。 +--------+ +--------+ +--------+ | |-->| |-->| |--> NULL | node 0 | | node 1 | | node 2 |\nNULL <--| |<--| |<--| | +--------+ +--------+ +--------+ 倘若該鏈結串列末端節點的指標指向第一個的節點,形成一個循環,則稱之為「 循環鏈結串列 」。 Singly linked list as circular +-----------------------------------------+\n| |\n| +--------+ +--------+ +--------+ |\n| | | | | | | |\n+-->| node 0 |-->| node 1 |-->| node 3 |--+ | | | | | | +--------+ +--------+ +--------+ 詳細說明與實作請點選各個連結。","breadcrumbs":"鏈結串列概述 » 種類","id":"198","title":"種類"},"199":{"body":"Wiki: Linked list Singly linked list SVG By Lasindi [Public domain], via Wikimedia Commons.","breadcrumbs":"鏈結串列概述 » 參考資料","id":"199","title":"參考資料"},"2":{"body":"","breadcrumbs":"Rust Algorithm Club » 演算法","id":"2","title":"演算法"},"20":{"body":"看完了讓人昏昏欲睡的數學定義,現在來認識一些常見的複雜度,從最快最有效率,到最慢最拖台錢的通通一起認識。 $O(1)$:常數時間,演算法執行時間與資料量毫無瓜葛。例如讀取 array 首個元素。 $O(\\log n)$:執行時間隨資料量呈對數比例成長。常見的例子是 二元搜索(Binary search) 。 $O(n)$:執行時間隨資料量呈線性成長,例如在無序的 array 中尋找特定值。 $O(n \\log n)$:執行時間隨資料量呈線性對數成長,常見的 合併排序(Mergesort) 的複雜度即如斯。 $O(n^2)$:執行時間隨資料量呈平方成長,例如一些效率不彰的排序法如 氣泡排序(Bubble sort) 。 $O(n^3)$:執行時間隨資料量呈立方成長,常見例子為 naïve 實作的矩陣乘法。 $O(c^n)$:執行時間隨資料量呈指數成長。 $O(n!)$:執行時間隨資料量呈階乘成長,大部分情況下,這是非常差勁的複雜度。 若想一窺各種常見演算法的複雜度,可以參考這個最全面的 Big-O Cheat Sheet ,圖表非常精美直觀! 再次強調,漸進符號也可以代表其他執行成本如記憶體空間,並不一定代表執行時間。 其他的漸進符號還有 little-o、little-omega 等等,有興趣的朋友可以參考文末的資料。","breadcrumbs":"漸進符號 Asymptotic Notation » 常見的複雜度","id":"20","title":"常見的複雜度"},"200":{"body":"單向鏈結串列是鏈結串列家族中最簡單的版本,特色是每兩個節點間只有一個單向的鏈結。 head | v\n+--------+ +--------+ +--------+\n| | | | | |\n| node 0 |-->| node 1 |-->| node 2 |--> NULL\n| | | | | |\n+--------+ +--------+ +--------+ 比起 雙向鏈結串列 ,單向鏈結串列少了一個額外的指標開銷,在基本操作的花費也較低。在不需要雙向疊代情形下單向鏈結串列很適用。 此外,單向鏈結串列也支援 tail-sharing,也就是共享 sublist。藉由共享 sublist,單向鏈結串列很容易實作 persistent data structure ,再配合 immutable 特性,使得單向鏈結串列幾乎成為函數式程式語言最常見的集合型別之一。可以參考這篇 persistent immutable stack 實作 文章。 本次實作的程式碼置於 rust_algorithm_club::collections::SinglyLinkedList API 文件中。","breadcrumbs":"單向鏈結串列 Singly linked list » 單向鏈結串列 Singly linked list","id":"200","title":"單向鏈結串列 Singly linked list"},"201":{"body":"","breadcrumbs":"單向鏈結串列 Singly linked list » 實作設計","id":"201","title":"實作設計"},"202":{"body":"先建立最基本的節點 Node。 // cannot compile\nstruct Node { elem: T, next: Node,\n} Node.elem 很直觀地儲存實際資料。而 Node.next 則是指向下個 Node。但這樣編譯不會成功,Rust 編譯時需要決定每個型別該配置多少記憶體空間,這種遞迴型別使得編譯器無限循環,無法決定配置大小。 node-recursive 很簡單,我們使用 Box 這個 智慧指標 ,直接將 Node 配置在記憶體 heap 上。如此以來,編譯器就會知道 next 只佔了一個指標的空間。 struct Node { elem: T, next: Box>,\n} node-box 由於 Rust 沒有 null pointer,但照鏈結串列的定義,Node.next 可以是 NULL,因此我們使用 Option 模擬 null pointer 的行為。最後,Node 的定義如下: struct Node { elem: T, next: Option>>,\n}","breadcrumbs":"單向鏈結串列 Singly linked list » Node","id":"202","title":"Node"},"203":{"body":"在開始實作各種增刪節點的操作之前,我們需要建立一個 struct 存放指向鏈結串列 head 的指標,同時,各種操作也會實作在這個 struct 上。事實上,這個 struct 就是對外公開的資料結構。 pub struct SinglyLinkedList { head: Option>>,\n} 選擇把操作串列的函式寫在另一個 struct 而非 Node 上有幾個原因,1)外部並不需知道串列內部如何實作,公開 Node 會暴露實作。2)每個 Node 都帶有成員函式的話,函式指標會佔用太多額外資源。","breadcrumbs":"單向鏈結串列 Singly linked list » SinglyLinkedList","id":"203","title":"SinglyLinkedList"},"204":{"body":"串列的基本操作如下: new:初始化一個空串列。 push_front:新增節點到開頭的位置。 pop_front:將開頭第一個節點移除。 insert_after:在指定索引位置後插入一個新節點。 remove:移除任意索引下的節點。 clear:清除所有節點。 is_empty:檢查串列是否沒有任何節點。 reverse:反轉整個串列(head 變成 tail)。","breadcrumbs":"單向鏈結串列 Singly linked list » 基本操作","id":"204","title":"基本操作"},"205":{"body":"實做初始化與清除資料非常直觀。其中清除其實就只是將 self 指向新的串列實例。 impl SinglyLinkedList { pub fn new() -> Self { Self { head: None } } } 你可能會想,在清除所有資料時,資源需不需要手動釋放? 和 C++ 的 RAII 一樣,Rust 有一個名叫 drop 的解構式,只要程式執行離開了資源擁有者的可視範圍(out of scope),就會自動呼叫 drop。我們在 Drop trait 一節會再深入探討。","breadcrumbs":"單向鏈結串列 Singly linked list » 初始化與清除資料","id":"205","title":"初始化與清除資料"},"206":{"body":"單向鏈結串列在第一個節點前增加新節點,或是刪除第一個節點,都可以在常數時間完成。新增節點 push_front 的概念很簡單,1)建立新的節點,並把新節點 next 指標指向串列第一個節點。2)把串列的 head 指向新建立的節點。 pub fn push_front(&mut self, elem: T) { let next = self.head.take(); // 1 self.head = Some(Box::new(Node { elem, next })); // 2 } 釋放 SinglyLinkedList 對第一個節點的所有權 建立一新節點,並將原本第一個節點所有權轉移給新節點。再將新節點所有權轉移到串列本身。 刪除第一個節點 pop_front 的實作步驟如下:首先取得第一個節點的所有權,再將 head 指向第一個節點 Node.next 下一個節點,再返回第一個節點的資料給呼叫端。 pub fn pop_front(&mut self) -> Option { // Take ownership of head let head = self.head.take()?; // 1 self.head = head.next; // 2 Some(head.elem) // 3 } 取得第一個元素的所有權,若無首個元素,表示串列為空,此處利用 ? 運算子 直接回傳 None。 將 head 指向下一個節點。 返回即將刪除節點的資料。","breadcrumbs":"單向鏈結串列 Singly linked list » 增刪首個節點","id":"206","title":"增刪首個節點"},"207":{"body":"鏈結串列新增和刪除第一個節點都可以在 $O(1)$ 時間內做完,那為什麼插入刪除任意節點沒有辦法呢?原因是鏈結串列不支援隨機存取(random access),就是無法透過索引在常數時間內取得資料,每次的搜尋都只能從 head 開始。因此,當我們需要在某個索引的節點後新增一筆資料,我們會需要最差 $O(n)$ 的複雜度。 實作插入 insert_after 分為幾個步驟: pub fn insert_after(&mut self, pos: usize, elem: T) -> Result<(), usize> { let mut curr = &mut self.head; let mut pos_ = pos; // Find the node at `pos`. while pos_ > 0 { // 1 curr = match curr.as_mut() { Some(node) => &mut node.next, None => return Err(pos - pos_), }; pos_ -= 1; } // Take the ownership of current node. match curr.take() { // 2 Some(mut node) => { // Node A // Create new node. let new_node = Box::new(Node { // 3: Node B elem, next: node.next, }); // Re-link new node and current node. node.next = Some(new_node); // 4 // Assign current node back to the list. *curr = Some(node); // 5 } None => return Err(pos - pos_), } Ok(()) } 找到對應索引值的節點 A,若找不到則回傳這個串列的資料長度。 先取得節點 A 的所有權,才能修改它的值。 建立新節點 B,同時將節點 B 的 next 指向 A 的後一個節點。 將新節點 B 做為節點 A 後一個節點 next。 把修改過的節點 A,重新賦值給指向節點 A 的指標 curr(可視為歸還所有權)。 而實作刪除任意索引下的節點 remove 和插入非常相似。 pub fn remove(&mut self, pos: usize) -> Option { let mut curr = &mut self.head; let mut pos = pos; // Find the node at `pos`. while pos > 0 { // 1 curr = &mut curr.as_mut()?.next; pos -= 1; } // Assign next node to previous node.next pointer. let node = curr.take()?; // 2: Node A *curr = node.next; // 3: node.next is Node B Some(node.elem) // 4 } 找到對應索引值的節點 A,若找不到則回傳 None。 先取得節點 A 的所有權,才能修改它的值。 把節點 A 的後一個節點 B 賦值給原本指向節點 A 的指標 curr。 回傳節點 A 的值。","breadcrumbs":"單向鏈結串列 Singly linked list » 插入刪除任意節點","id":"207","title":"插入刪除任意節點"},"208":{"body":"反轉鏈結串列是工作面試時很常見的考題,這裡來實作看看。 pub fn reverse(&mut self) { let mut prev = None; // 1: prev -> Node P let mut curr = self.head.take(); // 2 while let Some(mut node) = curr { // 3: node -> Node A let next = node.next; // 3-1: next -> Node B node.next = prev.take(); // 3-2: Take ownership from previous node. prev = Some(node); // 3-3: Transfer ownership from current node to previous. curr = next; // 3-4: curr references to next node for next iteration. } self.head = prev.take(); // 4 } 先建立一個暫時變數 prev,儲存疊代時的前一個節點。 從串列 head 取得第一個節點的所有權。 依序疊代整個串列 將節點 A 的後一個節點 B 暫存起來。 節點 A 的 next 指向暫存在變數 prev 的節點 P。 節點 A 暫存在變數 prev 內,保留到下一個疊代使用。 將節點 B 儲存在變數 curr 內。此時 prev:節點 A,A 的 next 指向 P, curr:節點 B,B 的 next 指向 A。 最後一次疊代時,變數 prev 會儲存原始串列末端節點,這時轉移所有權到 head,完成反轉。","breadcrumbs":"單向鏈結串列 Singly linked list » 反轉","id":"208","title":"反轉"},"209":{"body":"除了基本操作,SinglyLinkedList 實作了許多 trait,使用上更方便更符合 Rust 的慣例。","breadcrumbs":"單向鏈結串列 Singly linked list » Traits","id":"209","title":"Traits"},"21":{"body":"善用漸進符號,可以讓原本複雜艱澀的實際複雜度,簡化至人類容易理解的簡單數學符號,也讓分析演算法效率更為客觀。但實際上,漸進符號省略了常數項與低次項,僅保留最高次項,這種「漸進行為下」的效能表現,在真實世界中,若輸入資料量不夠大,實際複雜度的低次項係數又比高次項大上許多,很可能這個演算法實際上根本沒辦法使用。 另外,漸進符號僅考慮最差與最佳複雜度,沒有考慮到平均複雜度。舉例來說, Quicksort 最差複雜度為 $O(n^2)$,乍看之下不是很理想,但這種情況非常稀少;其平均複雜度落在 $O(n \\log n)$,且其係數相對較低,額外開銷少,自然成為最熱門的排序法之一。 還有,漸進符號也沒有考慮到不同語言、平台的基礎操作開銷,例如實作排序法時,有些語言「比較」兩個元素的開銷比「置換」來得大,實作上就需要盡量減少置換元素。同樣的,CPU 快取也非常容易忽略,一些快速的搜尋法很可能因為不是 線性搜尋 ,沒辦法充分利用 CPU cache,效能不一定理想。 總之,漸進符號只能告訴你「當輸入資料量夠大時,演算法的複雜度表現如何」,並不總是適用每個情境,端看你怎麼使用他。","breadcrumbs":"漸進符號 Asymptotic Notation » 你可能不適合漸進符號","id":"21","title":"你可能不適合漸進符號"},"210":{"body":"如果一個 struct 有許多成員,則會遞迴呼叫 struct 的 drop 成員函式。因此,一個串列的解構式很可能發生深層的巢狀遞迴: # a linked list\na -> b -> c -> x -> y -> z # call stack when `drop` being called (a.drop (b.drop (c.drop (x.drop (y.drop (z.drop (z.dropped (y.dropped (x.dropped (c.dropped (b.dropped\n(a.dropped 如果節點一多,肯定會 stack overflow,太可怕了! 既然如此,那麼就透過 Drop trait ,實作一個疊代版本的解構式,消弭可怕的 call stack 吧。 impl Drop for SinglyLinkedList { fn drop(&mut self) { let mut link = self.head.take(); // 1 while let Some(mut node) = link { // 2 link = node.next.take(); // 3: Take ownership of next `link` here. } // 4: Previous `node` goes out of scope and gets dropped here. }\n} 取得 head 的所有權。 透過 pattern matching 取得 Node 裡面 Box 的所有權。 取得下一個 Node 的所有權,並將它指向共用的變數 link。 離開了 node 的 scope,node 呼叫 drop 釋放自身資源。 詳細思路過程可查看 Learning Rust With Entirely Too Many Linked Lists 的 Drop 章節,該章完整闡述為什麼不能用 tail recursive 來實作,但最大的原因是 Rust core team 暫時延緩實踐 tail call optimization 。 實際上,透過呼叫 pop_front(),不斷移除第一個節點,並使用 is_some() 檢查是否仍有節點,幾乎可以達到同樣的 drop 效果,而且更簡潔易懂。差別僅在於,相較於前個實作自己處理 call stack,這個實作每次移除元素都需要 pop_front() 與 is_some() 的 stack,多了些微小的開銷,雖然可透過 #[inline] attribute 提示編譯器,但終究只是提示。 impl Drop for SinglyLinkedList { fn drop(&mut self) { while self.pop_front().is_some() {} }\n}","breadcrumbs":"單向鏈結串列 Singly linked list » Drop trait","id":"210","title":"Drop trait"},"211":{"body":"既然鏈結串列是一種序列(sequence,有序的資料結構),少不了實作 Iterator 、 IntoIterator 等 trait,使串列可以輕鬆使用 for-in loop 遍歷(traverse)。 首先,先定義幾個疊代器的 struct。 pub struct IntoIter(SinglyLinkedList); pub struct Iter<'a, T> { next: Option<&'a Node>, // 1\n} pub struct IterMut<'a, T> { next: Option<&'a mut Node>,\n} 建立這三個 iterator struct 是常見的 Rust 設計模式。 IntoIter:產生 T,實作會吃掉元素所有權的 IntoIterator trait Iter:產生 &T,實作提供 immutable borrow 的 Iterator trait。 IterMut:產生 &mut T,實作提供 mutable borrow 的 Iterator trait。 相對應的,SinglyLinkedList 則新增三個成員函式: fn into_iter(self) -> IntoIter:轉移所有權的疊代器。 Into 一詞慣例上指涉所有權移轉。 fn iter(&self) -> Iter:以 immutable reference 疊代串列。 fn iter_mut(&mut self) -> IterMut:以 mutable reference 疊代串列。 先來看 IntoIter 實作。 // 1\npub struct IntoIter(SinglyLinkedList); // 2\nimpl Iterator for IntoIter { type Item = T; fn next(&mut self) -> Option { self.0.pop_front() }\n} // 3\nimpl IntoIterator for SinglyLinkedList { type Item = T; type IntoIter = IntoIter; /// Creates a consuming iterator, that is, one that moves each value out of /// the list (from start to end). The list cannot be used after calling this. fn into_iter(self) -> Self::IntoIter { IntoIter(self) }\n} 宣告一個 tuple struct,唯一的成員是 SinglyLinkedList。 實作 Iterator trait 的 required method next,為了達成 Into 會消耗原始資料,轉換所有權的特性,我們利用 pop_front() 將節點的資料依序刪除(pop)。 IntoInterator 的 required method 傳遞 self 進來,所以無論怎麼實作 IntoIter struct,呼叫 into_iter() 後,外部就無法再次存取此 SinglyLinkedList 實例,達到所有權轉移的目標。 可能有人會疑惑,IntoIter 並沒有內部狀態記錄欄位,疊代器如何依據狀態產生下一筆資料?受惠於 IntoIterator 傳遞所有權的特性,IntoIter 可直接改變原始串列的內部狀態,例如 pop_front 會移除原始串列的節點。因此,相較於 Iter、IterMut 額外記錄狀態,IntoIter 不需自行記錄疊代器的疊代狀態。 再來看看 Iter 怎麼實踐。 pub struct Iter<'a, T> { next: Option<&'a Node>, // 1\n} impl<'a, T> Iterator for Iter<'a, T> { type Item = &'a T; // 2 fn next(&mut self) -> Option { let node = self.next?; self.next = node.next.as_deref(); // 3 Some(&node.elem) }\n} impl SinglyLinkedList { // ... pub fn iter(&self) -> Iter { // 4 Iter { next: self.head.as_deref(), // 5 } }\n} 這個 struct 的 next 是為了儲存 Node 資訊,方便記錄疊代器當前的狀態。加上生命週期 'a 是因編譯器無法推敲 Option<&Node> 會活多久,需要顯著標明 &Node 至少與該疊代器同生共死。 由於 Iter 是為了實作產生 &T 的疊代器,associated type 設為 &'a T。 將當前節點的後一個節點設為 Iter 疊代器的狀態。並回傳當前節點的資料。 這邊用了 Option::as_deref() ,可直接將 Option 轉換成 Option<&T>,若 T 有實作 Deref 特徵,更可以將 T 轉為 Deref::Target,例如這裡就是藉由 Box::deref() 將 Box> 轉換為 &Node。 在 SinglyLinkedList 上加 iter() 成員函式回傳 Iter 疊代器。 產生疊代器初始化狀態,和第三步一模一樣。 最後,IterMut 與 Iter 疊代器實作上大同小異。把 Iter 用到 Option::as_deref() 改為 Option::as_deref_mut(),其他 & 改成 &mut 即可。","breadcrumbs":"單向鏈結串列 Singly linked list » Iterator and IntoIterator traits","id":"211","title":"Iterator and IntoIterator traits"},"212":{"body":"PartialEq trait 是用來實現兩個串列是否能夠比較,而我們在此定義如下: 有兩個 SinglyLinkedList Sa、Sb,Sa、Sb 的元素皆符合 PartialEq trait。當 Sa 的總節點數 等於 Sb 的總節點數, Sa 所有元素依序等於 Sb 所有元素, 則稱 Sa 與 Sb 有 partial equiavalence(Sa == Sb)。 實作上我們用了 iter 成員函式把兩個串列 zip 在一起,在用 all 確認元素兩兩相等,十分 Rust 風格的作法。 impl PartialEq for SinglyLinkedList { fn eq(&self, other: &Self) -> bool { if self.len() != other.len() { return false; } self.iter().zip(other.iter()).all(|pair| pair.0 == pair.1) }\n}","breadcrumbs":"單向鏈結串列 Singly linked list » PartialEq trait","id":"212","title":"PartialEq trait"},"213":{"body":"為了方便修復臭蟲,通常會實作 Debug trait 印出有助於解決問題的資料。歸功於 Iterator 的實踐,我們可以快速用 self.iter() 印出所有節點內的元素,客製化 Debug 的顯示方式。 impl std::fmt::Debug for SinglyLinkedList { fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { for node in self.iter() { write!(f, \"{:?} -> \", node)? } Ok(()) }\n}","breadcrumbs":"單向鏈結串列 Singly linked list » Debug trait","id":"213","title":"Debug trait"},"214":{"body":"Operation Complexity get $O(n)$ insert 節點已知:$O(1)$ ;節點未知:$O(n - i)$ remove 節點已知:$O(1)$ ;節點未知:$O(n - i)$ append $O(n)$ prepend $O(1)$ pop first $O(1)$ pop last $O(n)$ space $O(n)$ + 各節點額外一個指標 $n$ 個 $n$:資料筆數。 $i$:相對於整個容器的索引位置。 值得觀察的是,許多操作因為單向鏈結串列只能從 head 開始搜索的緣故,執行時間都呈線性,使用上要特別注意。","breadcrumbs":"單向鏈結串列 Singly linked list » 效能","id":"214","title":"效能"},"215":{"body":"Rust Documentation: LinkedList Learning Rust With Entirely Too Many Linked Lists Duscussions at Stackoverflow StackExchange: Reversal of a singly-linked list in Rust SVG of node memory representation modified from The Rust Programming Language","breadcrumbs":"單向鏈結串列 Singly linked list » 參考資料","id":"215","title":"參考資料"},"216":{"body":"關聯容器是一種抽象資料型別,儲存鍵與值配對關係(key-value pair)的集合,並透過鍵存取元素,所謂「鍵值對」好比身份證字號與公民,戶政單位知道一個人證號,就可在關聯容器內,透過證號查找是否有這個公民,以及此證號對應的公民基本資訊。 關聯容器有許多別名,例如字典(dictionary)、關聯陣列(associative array)、映射(map)、表(table)等。在大多數程式語言函式庫中,關聯容器通常是最基本的容器型別之一,如 Python 的 dict,JavaScript 的 Map,以及 Rust 的 HashMap。 方便起見,本文以「 映射表 」統稱這類集合型別。 (雜湊表示意圖)","breadcrumbs":"關聯容器概述 » 關聯容器 Associative Container","id":"216","title":"關聯容器 Associative Container"},"217":{"body":"一般來說,映射表有以下特性: 鍵值對為單向關係 :可透過鍵取得其唯一值;但無法確保一值僅對應唯一的鍵。 鍵值唯一性 :同個映射表內,同個鍵不重複,只會出現一次。 元素組合性 :映射表內每個元素都是「鍵值對」,鍵或值無法單獨存在。 操作開銷小 :合理實作下,基本操作開銷相對較小,不高於線性時間。 註:多重映射表為一對多的例外。 映射表會有以下幾種基本操作: 新增 :配對鍵值關聯,又稱為綁定 binding。 修改 :修改任意鍵之下的值。 移除 :透過任意鍵移除該鍵值對,又稱 unbinding。 查找 :透過任意鍵搜尋該鍵值對。 不難看出,基本操作都是透過鍵取得值。事實上,合理實作的映射表,只要透過鍵來操作,就能有良好效能,甚至上述操作能達到 $O(1)$ 複雜度。","breadcrumbs":"關聯容器概述 » 特性","id":"217","title":"特性"},"218":{"body":"雖然映射表依實作不同,效能有所權衡。但其最大優勢仍是可「高效地透過鍵尋找值」,只要有映射關係的資料,都非常適合使用映射表。例如,快取暫存機制需透過特定鍵快速查找暫存值。此外,現代常用的 JSON、TOML 等資料交換格式,都是「鍵—值對」的形式,非常適合使用映射表處理。而應用映射表最有名的實際案例莫過於資料庫的索引,透過索引,我們可以大大降低搜尋的成本,從線性時間直落到對數甚至常數時間,不過相對就需要付出額外時空間建立索引。 我們再次把應用場景條列出來,方便懶人帶著走。 有映射關係,處理「鍵—值」配對的資料結構。 處理 JSON、TOML 等資料交換,資料序列化。 實作快取(cache)機制。 資料庫索引的實作方法之一。 查找操作頻率遠高於其他操作時。 總的來說,只要資料有對應綁定關係,就可以考慮使用映射表處理。","breadcrumbs":"關聯容器概述 » 適用場景","id":"218","title":"適用場景"},"219":{"body":"以下簡單介紹常見的映射表,詳情請點擊各連結。","breadcrumbs":"關聯容器概述 » 種類","id":"219","title":"種類"},"22":{"body":"Wiki: Time complexity Wiki: Big O notation Brilliant: Big O Notation Infinite Loop: Complexity Analysis","breadcrumbs":"漸進符號 Asymptotic Notation » 參考資料","id":"22","title":"參考資料"},"220":{"body":"雜湊表 是以雜湊函數實作的映射表。透過 雜湊函數 將任意資料轉換為固定長度的雜湊值,並將此鍵與一筆資料綁定,再映射到內部資料結構的某位置。理論上,只要雜湊函數品質過得去,雜湊表的基本操作都能在常數時間完成。","breadcrumbs":"關聯容器概述 » 雜湊表 Hash Map","id":"220","title":"雜湊表 Hash Map"},"221":{"body":"有序映射表 係一種有特定排序方式的映射表。常見兩種排序方式,其一是依照插入映射表的先後順序;其二則是依照鍵的大小。不同排序的底層資料結構各異,操作複雜度也不盡相同,如依鍵大小排序的映射表通常使用搜索樹實作,因此「新增」操作的複雜度為較差的 $O(\\log n)$。","breadcrumbs":"關聯容器概述 » 有序映射表 Ordered Map","id":"221","title":"有序映射表 Ordered Map"},"222":{"body":"多重映射表 允許鍵值對重複,一個鍵可對應多個值(一對多)。類似於映射表內放入陣列,但能以較方便輕鬆的介面來操作或疊代整張映射表。","breadcrumbs":"關聯容器概述 » 多重映射表 Multimap","id":"222","title":"多重映射表 Multimap"},"223":{"body":"集合 實際上並無鍵值「關聯」,可將其想像成普通的映射表。只關心鍵而值不重要。集合借用了數學 集合論(set theory) 中有限集合的概念,常應用於需要操作交集、聯集、差集等集合運算場景。","breadcrumbs":"關聯容器概述 » 集合 Set","id":"223","title":"集合 Set"},"224":{"body":"布隆過濾器 是一種類似於集合,但只會回報「絕對不存在」或「可能存在」的機率資料結構,實作上節省空間,常用於在海量資料中確認成員是否存在,並能有一定容錯率的場景。","breadcrumbs":"關聯容器概述 » 布隆過濾器 Bloom Filter","id":"224","title":"布隆過濾器 Bloom Filter"},"225":{"body":"Wiki: Associative array Wiki: Associative containers cpprefernce.com: std::map Rust documentation: std::colledtion Map graph by Jorge Stolfi CC BY-SA-3.0 via Wikimedia Commons.","breadcrumbs":"關聯容器概述 » 參考資料","id":"225","title":"參考資料"},"226":{"body":"雜湊表是以雜湊函數實作的關聯容器。透過雜湊函數,計算鍵(key)對應到容器內部的索引位置,進而找到對應的值(value)。一般來說,雜湊表最常見的實作是以一個簡單陣列儲存資料。 雜湊表的優勢是: 在資料量大時,仍然維持常數時間的高效能。 若資料數量上限已知,就可避免重新配置記憶體,效能更佳。 若資料形態已知,就可針對該資料形態找尋適合的雜湊函數最佳化。 而雜湊表相對有以下短處: 資料量不夠大時,單一操作需要雜湊計算,開銷相對高。 效能與雜湊函數息息相關,較差的函數容易雜湊碰撞,較佳函數計算成本通常較高。 只能以某種偽隨機的順序疊代雜湊表。 本次實作的程式碼置於 rust_algorithm_club::collections::HashMap API 文件中。","breadcrumbs":"雜湊表 Hash map » 雜湊表 Hash Map","id":"226","title":"雜湊表 Hash Map"},"227":{"body":"建立雜湊表的第一步,就是配置一定大小的陣列(通常稱為 bucket array),來儲存對應索引的鍵值對。我們以建立電話簿為例,儲存人名與號碼的對應關係。 Create an empty phone book with some blank slots. +--------------+ | 0: | +--------------+ | 1: | +--------------+ | 2: | +--------------+ | 3: | +--------------+ 我們嘗試插入第一筆資料,記錄 Frodo 以及他的手機號碼 88-7-666。 透過雜湊函數,計算出 Frodo 的索引值為 1。 將 88-7-666 插入 table[1] 的位置上。 table[1] 這種 bucket array 下的個別索引空間,通常稱為一個 slot 或 bucket。 Fordo: hash_function(Frodo) --> 1 +-------------+ | 0: | +-------------+\nFrodo --> | 1: 88-7-666 | +-------------+ | 2: | +-------------+ | 3: | +-------------+ 嘗試插入另外二筆資料,記錄 Sam 的手機 11-2-333,以及 Gollum 的手機 00-0-000。 透過雜湊函數,計算出 Sam 的索引值為 2。 將 11-2-333 插入 table[2] 的位置上。 透過雜湊函數,計算出 Gollumn 的索引值為 0。 將 00-0-000 插入 table[0] 的位置上。 Sam: hash_function(Sam) --> 2 +-------------+ | 0: | +-------------+ | 1: 88-7-666 | +-------------+\nSam --> | 2: 11-2-333 | +-------------+ | 3: | +-------------+ Gollum: hash_function(Gollum) --> 0 +-------------+\nGollum -> | 0: 00-0-000 | +-------------+ | 1: 88-7-666 | +-------------+ | 2: 11-2-333 | +-------------+ | 3: | +-------------+ 若需要取得 Sam 的手機號碼,只要 透過雜湊函數,計算出 Sam 的索引值為 2。 從 table[2] 的索引位置上,找到 Sam 的手機號碼 Sam: hash_function(Sam) --> 2 +-------------+ | 0: 00-0-000 | +-------------+ | 1: 88-7-666 | +-------------+\nSam --> | 2: 11-2-333 | --> Sam's phone number +-------------+ | 3: | +-------------+ 這就是最基本,以陣列實作的雜湊表了。 然而,你可能已經開始好奇了。 雜湊是什麼?怎麼知道要映射到哪個索引位置? 雜湊函數是否會計算出相同的索引值?要如何解決? 若預先配置的陣列填滿了,該如何處理? 接下來,將探討這幾個魔術般的因子,從簡單介紹雜湊函數,到如何解決雜湊碰撞,最後探討陣列塞滿重配置解決方案。 註:雜湊表也可以搜尋樹等其他資料結構實作,在此不深入討論。","breadcrumbs":"雜湊表 Hash map » 概念","id":"227","title":"概念"},"228":{"body":"所謂的雜湊函數,就是一種將「較寬的定義域映射到較窄值域」的函數。簡單來說,就是輸入任意值到此函數,則輸出值會落在一已知範圍。再白話一點,雜湊函數就是用來「化繁為簡」,把複雜多變的東西,透過函數生成簡化版本。此外,相同的輸入鍵,必須得到相同的輸出雜湊值,這是雜湊函數很重要的一個特性,以虛擬碼表示: key1 == key2 -> hash(key1) == hash(key2) 「映射」這部分只是使用雜湊的一小步。雜湊表根據程式實作的不同,底層儲存資料的形式也不盡相同,為了完全放入陣列中,通常會對雜湊值(雜湊函數的計算結果)取模(modulo)。也就是說:假設有長度為 n 的陣列。1)先對 key 取雜湊值。2)再對雜湊值取模,確認索引值落在陣列內部。 Assumed: array_size = n hash_value = hash_function(key) // 1 index = hash_value % array_size // 2 如此一來,所有可能的值都會落在陣列內,這就是最簡單普遍的雜湊兩步驟:計算雜湊值﹢取模。","breadcrumbs":"雜湊表 Hash map » 雜湊","id":"228","title":"雜湊"},"229":{"body":"接下來,你會緊接著向問第二個問題「函數計算出相同索引值該怎麼辦?」不同輸入產生相同雜湊值,多個值映射到同個索引上,這種狀況科學家稱之 雜湊碰撞(hash collision) 。 首先,要瞭解雜湊函數本身就是時空間的權衡,如果記憶體空間夠多,那讓輸入值與雜湊值呈一對一的完美關係,就不會出現碰撞;大多數情況,尤其是實作泛用的雜湊函式庫,無法預期輸入資料的範圍,實務上會鎖定一個輸出雜湊值的範圍,僧多粥少,難免碰撞。 好的雜湊函數還必須符合一些條件: 同一筆輸入資料,必須得到相同的雜湊值。 結果必須能夠高效的計算出來(預期為常數時間)。 任意輸入資料所得之雜湊值在值域內需接近 均勻分佈(uniform distribution) ,才能減少碰撞機率。 但總歸一句,欲達成上述條件,就是一種權衡取捨,例如, 加密雜湊函數(cryptographic hash function) 即是非常優秀的雜湊函數,但相對需付出更高的計算成本。 更多雜湊函數相關的討論,會另撰 專文 。","breadcrumbs":"雜湊表 Hash map » 選擇雜湊函數","id":"229","title":"選擇雜湊函數"},"23":{"body":"線性搜尋,又稱為循序搜尋(sequential search),是一個在序列中找尋目標的方法。正如字面上的意義,線性搜尋會按照順序疊代序列,挨家挨戶比對每個元素與目標值是否相等,若相等則停止疊代,並回傳搜尋所得結果。 線性搜尋乍看之下,是最簡單實作也最 naïve 的實作,效能應該不怎麼好。事實上,在資料量不多時(少於 100 個元素),線性搜尋的效能也不會太差,因為其他搜尋演算法可能需要建立特殊資料結構,就會導致時空間初始開銷暴增,複雜度的常數項成本變大。","breadcrumbs":"線性搜尋 Linear search » 線性搜尋 Linear Search","id":"23","title":"線性搜尋 Linear Search"},"230":{"body":"既然雜湊函數人生在世難免碰撞,科學家也研究幾個處理雜湊碰撞的策略,分別是 separate chaining 與 open addressing。 Separate chaining 可以說是最直觀的做法,就是設法讓同一個索引下,可以儲存多個碰撞的值。依據儲存資料的形式,可分為幾種實作: 鏈結串列 :以 鏈結串列(linked list) 儲存元素。發生碰撞時,新的元素串接在既有元素之後。 動態陣列 :新增元素時,在該位址配置 動態陣列(dynamic array) 儲存元素。發生碰撞時,直接將新元素加在陣列尾端。 不同實作方式有各自優缺點,例如串列版本容易實作,但需額外儲存指標資訊;用動態陣列,則會有更好的 CPU caching,但相對地碰撞過多則需要重配置陣列。 以 ASCII 表述使用串列實作 separate chaining 示意圖如下: ... assumed hash values of Gimli and Gollum collided. +----------------+ +-> |Gollum, 00-0-000| (linked list) | +----------------+ | |\nGimli -+ | v | | +---------------+ | +--------+ | |Gimli, 99-9-999|\nGollum -->|0: ptr |--+ +---------------+ +--------+\nFrodo -->|1: ptr |----> +---------------+ +--------+ |Frodo, 88-7-666|\nSam -->|2: ptr |--+ +---------------+ +--------+ | |3: null | +-> +---------------+ +--------+ | Sam, 11-2-333 | (main bucket array) +---------------+ 而這邊也有精美的實作示意圖,將串列首個元素 head 直接放置在 slot 中的作法,減少一次指標操作。 (利用 separate chaining 實作的雜湊表,並將串列第一個元素放在 bucket array 中) 另一方面 Open addressing 則走完全不同的套路,不額外配置儲存空間給碰撞的元素,而是繼續在同個陣列內「探測」其他可用的 slot,再把資料塞進尚未被佔據的 slot 中。而 Open addressing 依據不同探測序列(probe sequence)有不同實作,常見的有: Linear probing :從發生碰撞索引開始,依序往下一個 slot 探測是否可用,因此得名「線性」。 Quadratic probing :從碰撞索引開始,間隔以二次式增加往下探測可用 slot,如 $i + 1^2, i + 2^2, i + 3^2$。 Double hashing :以固定間隔大小 $k$(probe distance),依序探測 $i + k, i + k \\cdot 2 ...$ 的 slot 是否為空。而這個間隔是以另外一個雜湊函數計算所得,因此得名「雙雜湊」。 $i$ 為發生碰撞的索引位置。 這些方法的差異主要在於 CPU caching 的效能,以及 HashMap 資料的群聚效應(clustering)的敏感程度。當然,論 caching 絕對非 linear probing 莫屬,但 linear probing 以線性一個挨一個探勘,效能較容易受雜湊值群聚影響。 以下是 linear probing(間隔 = 1)的示意圖。","breadcrumbs":"雜湊表 Hash map » 處理雜湊碰撞","id":"230","title":"處理雜湊碰撞"},"231":{"body":"若資料的筆數已知,那初始配置的陣列大小設定與資料筆數成比例,就不必擔心雜湊表空間不夠,需要重新配置(reallocate)儲存空間的困擾。倘若資料量未知,而最初配置的 bucket array 滿了,該如何重新配置呢? 動態調整大小對雜湊表來說,不同於一般動態陣列,舊的雜湊表若要對應到新雜湊表,是每個鍵都需要重新計算雜湊值(rehash),成本相對較高。因此,減少動態調整的次數,可說是調教雜湊表的重點之一。說到調教雜湊表,必定要瞭解一個重要指標: load factor 。 $$\\text{load factor} = \\frac{n}{k}$$ $n$:已放入雜湊表內的資料總數。 $k$:雜湊表配置的儲存空間(bucket 總數)。 Load factor 代表目前雜湊表的「使用率」,若三筆資料放在四個 bucket 內,則 load factor 為 $3/4 = 75%$。Load factor 太大會更容易碰撞,會有效能上的影響;太小則代表過多冗餘空間沒有使用。如何維持 load factor 在一定範圍內至關重要。一般來說,75% 的 load factor 就可以準備重新配置雜湊表了,當然,這個門檻仍要以實作經驗為主,例如 Rust 的 HashMap 使用了 Robin Hood Hashing ,將 load factor 調教到 90%。 重配置雜湊表與動態陣列的動態調整大小雷同,達到某個門檻值,就會將底層陣列大小翻倍。為了避免開銷過高,通常元素減少時,不會主動調整大小,而是提供一個 shrink_to_fit 一類的方法,讓呼叫端自行決定釋放多餘空間的時機。","breadcrumbs":"雜湊表 Hash map » 動態調整雜湊表大小","id":"231","title":"動態調整雜湊表大小"},"232":{"body":"在介紹架構設計之前,我們先來瞭解 Rust 雜湊相關的觀念與 trait。","breadcrumbs":"雜湊表 Hash map » 架構設計","id":"232","title":"架構設計"},"233":{"body":"要實作雜湊函數,當然可以自幹計算雜湊值的函式來用,那為什麼還要使用 Rust 定義好的 Hash 呢?當然是希望將雜湊的介面抽象化,只要型別宣告符合 Hash trait,任何人都可以輕鬆計算雜湊值。而實作 Hash 很簡單,只要寫一個 fn hash(),呼叫端就能透過它計算雜湊,例如: use std::hash::{Hash, Hasher}; struct Car { brand: String,\n} impl Hash for Car { fn hash(&self, state: &mut H) { self.brand.hash(state); }\n} 光是計算雜湊值還不夠,要確定「當鍵相等時,其雜湊值也相等」這極為重要的雜湊特性,這時候除了實作 Hash trait,Eq trait 也要同時實作,該型別才能夠「被比較」,標準函式庫的 HashMap 的鍵就是實作 Hash + Eq 的型別,詳情請參閱 trait 的文件說明。 綜合以上,可以大膽定論,我們將實作的雜湊表的 key 一定符合 K: Hash + Eq,key 本身才能相互比較(實作 Eq),並開放呼叫端自定義型別實作不同的雜湊計算方式(實作 Hash)。 為了方便計算雜湊值,我們寫了一個輔助函式,以達成雜湊兩步驟: 計算雜湊值﹢取模 。其中,我們使用了 Rust 預設的雜湊演算法 DefaultHasher ,省下實作雜湊函數的功夫。 fn make_hash(x: &X, len: usize) -> Option where X: Hash + ?Sized, // 1\n{ if len == 0 { return None; } // 2 let mut hasher = DefaultHasher::new(); // 3 x.hash(&mut hasher); Some(hasher.finish() as usize % len)\n} X 泛型參數除了 Hash,還必須是 Dynamically Sized Type (DST,型別記作 ?Sized) 防止以 0 取模(% modulo),除數不能為 0。 Rust 的 hasher 是一狀態機,每餵他吃資料,hasher.finish() 產生的雜湊值就不同,為了確保雜湊相同,這裡每次呼叫就建立一個全新的 hasher。 所謂 Dynamically Sized Types(DSTs) 是指無法靜態得知大小的型別,例如 slice,或是一個函式的參數接受實作某個 trait 型別( trait object ),而在 Rust 幾乎所有基礎型別預設都是 Sized 編譯期就可得知大小。而在這裡我們不關心知道實作該型別可否靜態決定大小,只需知道它是否實作 Hash,所以明確添加 ?Sized 表示接受 DSTs。","breadcrumbs":"雜湊表 Hash map » Hash and Eq","id":"233","title":"Hash and Eq"},"234":{"body":"我們嘗試建立可以儲存 key-value pair 的結構體,裡面配置一個 bucket array buckets。其中 K 泛型參數是準備計算雜湊的鍵,而 V 則是與鍵配對的資料。 pub struct HashMap where K: Hash + Eq { buckets: Vec<(K, V)>,\n} 可是,用單一 Vec 儲存所有資料,萬一雜湊碰撞,不同鍵指向同個索引值該如何?這次先挑選相對容易的方案 separate chaining 處理碰撞,並以 Vec 動態陣列作為每個 bucket 儲存碰撞元素的容器,因此,buckets 陣列裡面改存 Bucket 陣列,而 Bucket 則儲存真正的 key-value pair。 type Bucket = Vec<(K, V)>; // 1 pub struct HashMap where K: Hash + Eq { buckets: Vec>, // 2 len: usize, // 3\n} 宣告 bucket 的型別 Bucket,實際上是一個 type alias 指向儲存鍵值 (K, V) 的動態陣列。 將 HashMap.buckets 改為儲存 Bucket 的動態陣列。 新增 len 記錄容器當前鍵值對數目,在增刪資料時, len 都會同步更新。 之所以使用額外的成員記錄資料數目,是為了計算數目能在 O(1) 時間內完成,nested array 動態疊代每個 Bucket 計算的成本太高。 這就是 Vector-based separate chaining HashMap 的記憶體佈局,來看張精美的雜湊表架構佈局圖吧!","breadcrumbs":"雜湊表 Hash map » 記憶體佈局","id":"234","title":"記憶體佈局"},"235":{"body":"雜湊表有以下幾個基本操作: new:初始化一個空雜湊表。 with_capacity:配置特定數量 bucket 的雜湊表。 get:取得指定鍵對應的資料。 get_mut:取得指定鍵對應的資料,並可寫入修改(mutable)。 insert:在任意位置插入一組鍵值對。 remove:移除任意位置下的鍵值對。 clear:清除所有鍵值對。 is_empty:檢查雜湊表是否沒有任何鍵值對。 len:檢查目前鍵值對的數目。 bucket_count:檢查目前 bucket 的數目。 以及幾個內部方法: try_resize:根據給定條件,決定調整 bucket 數目的時機,讓 load factor 維持最適狀態。 make_hash:從輸入資料產生雜湊值,再模除 bucket 數,得到輸入資料對應的索引位置。 接下來解釋實作的重點。","breadcrumbs":"雜湊表 Hash map » 基本操作","id":"235","title":"基本操作"},"236":{"body":"雜湊表初始化相對容易,一樣慣例使用 new。 impl HashMap where K: Hash + Eq { pub fn new() -> Self { Default::default() } /// ...\n} impl Default for HashMap where K: Hash + Eq { fn default() -> Self { Self { buckets: Vec::>::new(), len: 0 } }\n} 這裡為了符合人因工程,使用了 Default trait 設定初始值。此外,由於 Rust 的容器型別慣例上沒有任何元素時,不會配置任何記憶體空間,僅有初始的 pointer。 HashMap 初始化後,記憶體空間僅需 buckets 的 Vec 佔據 3 個 usize 大小(一個 heap 指標,兩個記錄容量與長度的 usize。 len 本身佔據 1 個 usize 大小。 所以預設初始化的 HashMap 在 64bit machine 上佔 4 * usize = 32 bytes。 為了後續實作 resize 容易些,同時實作了指定 bucket 數目的建構式。 pub fn with_capacity(cap: usize) -> Self { let mut buckets: Vec> = Vec::new(); for _ in 0..cap { buckets.push(Bucket::new()); } Self { buckets, len: 0 }\n} 很清楚地,同樣建立一個空的 bucket array,再預先配置給定數量的 Bucket 。len 則因為沒有開始增加新值,而設定為 0。","breadcrumbs":"雜湊表 Hash map » 初始化與預設值","id":"236","title":"初始化與預設值"},"237":{"body":"存取元素的實作也非常直觀, 使用 make_hash 計算出 key 對應的索引位置, 再透過 Vec::get 取得該索引下的 bucket,找不到時則返回 None, 找到 bucket 後則對整個 bucket 線性搜索與 key 相同的鍵值對。 pub fn get(&self, key: &K) -> Option<&V> { let index = self.make_hash(key)?; self.buckets.get(index).and_then(|bucket| bucket.iter() .find(|(k, _)| *k == *key) .map(|(_, v)| v) )\n} 事實上,這個 get 不是非常方便使用,當我們透過 HashMep::get 搜尋特定鍵時,必須傳入一模一樣的型別,例如 HashMap<&str, u8> 就只能透過相同的 borrowed value &str 搜索,而不能透過 owned value &String 尋找,就算兩個型別可無痛轉換也無法。 因此我們可以參考 Rust 標準函式庫為泛型參數 K 實作 Borrow trait,抽象化 owned 與 borrowed 間的型別,讓呼叫端無論傳 owned 或 borrowed 型別都可以有相同的行為。 pub fn get(&self, q: &Q) -> Option<&V> where K: Borrow, Q: Hash + Eq + ?Sized\n{ let index = self.make_hash(q)?; self.buckets.get(index).and_then(|bucket| bucket.iter() .find(|(k, _)| q == k.borrow()) .map(|(_, v)| v) )\n} fn get_mut() 與 fn get() 的差異只在於呼叫了 self.bucket.get_mut 取得 mutable reference,這裡就不多做說明。","breadcrumbs":"雜湊表 Hash map » 存取單一元素","id":"237","title":"存取單一元素"},"238":{"body":"插入與刪除比較特別,需要做些額外的功夫: 在操作完成之後需依據操作結果增減 HashMap.len,確保 len 永遠記錄正確的鍵值對數目。 在執行插入之前,需額外「動態調整」儲存空間,確保記憶體配置足夠空間新增元素。 先來看看刪除怎麼實作。 pub fn remove(&mut self, q: &Q) -> Option where K: Borrow, Q: Hash + Eq + ?Sized\n{ let index = self.make_hash(q)?; // 1 self.buckets.get_mut(index).and_then(|bucket| { // 2 bucket.iter_mut() .position(|(k, _)| q == (*k).borrow()) .map(|index| bucket.swap_remove(index).1) }).map(|v| { // 3 self.len -= 1; // Length decreases by one. v })\n} 所有涉及搜尋的操作,第一步一定是計算雜湊值。 建立 mutable 的疊代器,利用 posiion 找到對應的鍵值對,再呼叫 Vec::swap_remove 移除。 前一步驟若有 return value 產生,表示移除一個元素,因此 self.len 需手動減一。 Vec::swap_remove 不需要 resize array,而是取得最後一個元素填補該空間,由於雜湊表的排序不重要,我們選擇 swap_remove 減少一點開銷。 而插入與移除非常相似。 pub fn insert(&mut self, key: K, value: V) -> Option { self.try_resize(); // 1 let index = self // 2 .make_hash(&key) .expect(\"Failed to make a hash while insertion\"); let bucket = self.buckets .get_mut(index) .expect(&format!(\"Failed to get bucket[{}] while insetion\", index)); match bucket.iter_mut().find(|(k, _)| *k == key) { // 3 Some((_ , v)) => Some(mem::replace(v, value)), // 3.1 None => { bucket.push((key , value)); // 3.2 self.len += 1; None } } // 4\n} 嘗試調整雜湊表大小,以確保 load factor 在閾值之間。 同樣地,根據鍵計算雜湊值,以取得對應的內部 bucket 位置。 疊代整個 bucket 尋找鍵相同的鍵值對。 若找到,使用 mem::replace 資料部分,不需取代整個鍵值對。 若找無,則新增一組新鍵值對到該 bucket 中,並將長度加一。 若插入操作實際上是更新原有資料,則回傳被更新前的舊資料 Some((K, V)),反之則回傳 None。 原則上「動態調整儲存空間」正確實作下,步驟二的 expect 不會發生 panic。 mem::replace 可當作將同型別兩變數的記憶體位置互換,也就同時更新了原始資料。","breadcrumbs":"雜湊表 Hash map » 插入與刪除元素","id":"238","title":"插入與刪除元素"},"239":{"body":"動態調整儲存空間大概是整個實作中最詭譎的一部分。首先,我們需要知道 容器內鍵值對的總數:透過 self.len,我們將取得 self.len 的邏輯包裝在 fn len(&self),以免未來長度移動至別處儲存計算。 容器內 bucket 的總數:計算 self.bucket.len(),同樣地,將之包裝在 fn bucket_count(&self),並開放給外界呼叫。 Load factor 閾值:記錄在 const LOAD_FACTOR,設定為 0.75。 前情提要完畢,接下來就是程式碼的部分了。 fn try_resize(&mut self) { let entry_count = self.len(); // 1 let capacity = self.bucket_count(); // Initialization. if capacity == 0 { // 2 self.buckets.push(Bucket::new()); return } if entry_count as f64 / capacity as f64 > LOAD_FACTOR { // 3 // Resize. Rehash. Reallocate! let mut new_map = Self::with_capacity(capacity << 1); // 4 self.buckets.iter_mut() // 5 .flat_map(|bucket| mem::replace(bucket, vec![])) .for_each(|(k, v)| { new_map.insert(k, v); }); *self = new_map; // 6 }\n} 取得所有需要用到的長度資料。 若當前容量為 0,表示尚未新增任何元素,我們 push 一個空 bucket 進去,讓其他操作可以正常新增鍵值對。 判斷 load factor,決定需不需要動態調整大小。 透過 HashMap::with_capacity 建立容量兩倍大的空雜湊表。 開始疊代舊的 bucket,並利用 flat_map 打平 nested vector,再利用 for_each 將每個元素重新 insert 到新雜湊表。 把 self 的值指向新雜湊表,舊雜湊表的記憶體空間會被釋放。","breadcrumbs":"雜湊表 Hash map » 動態調整儲存空間","id":"239","title":"動態調整儲存空間"},"24":{"body":"Complexity Worst $O(n)$ Best $O(1)$ Average $O(n)$ Worst space $O(1)$ 若序列中總共有 $n$ 個元素,則線性搜尋最差的狀況為元素不在序列中,就是全部元素都比較一次,共比較 $n - 1$ 次,最差複雜度為 $O(n)$。","breadcrumbs":"線性搜尋 Linear search » 效能","id":"24","title":"效能"},"240":{"body":"一個集合型別當然少不了簡易的產生疊代器實作。 根據之前其他方法的實作,要疊代整個雜湊表非常簡單,就是疊代所有 bucket,並利用 flat_map 打平 nested vector。簡單實作如下: fn iter() -> std::slice::Iter<(&k, &v)> { self.buckets.iter_mut() .flat_map(|b| b) .map(|(k, v)| (k, v))\n} 但最終會發現,我們的程式完全無法編譯,也無法理解這麼長的閉包(closure)究竟要如何寫泛型型別。得了吧 Rust,老子學不動了! error[E0308]: mismatched types --> src/collections/hash_map/mod.rs:253:9 |\n253 | / self.buckets.iter()\n254 | | .flat_map(|b| b)\n255 | | .map(|(k, v)| (k, v)) | |_________________________________^ expected struct `std::slice::Iter`, found struct `std::iter::Map` | = note: expected type `std::slice::Iter<'_, (&K, &V)>` found type `std::iter::Map>, &std::vec::Vec<(K, V)>, [closure@src/collections/hash_map/mod.rs:254:23: 254:28]>, [closure@src/collections/hash_map/mod.rs:255:18: 255:33]>` 幸好,在 Rust 1.26 釋出時,大家期待已久的 impl trait 穩定了。如同字面上的意思,impl trait 可以用在函式參數與回傳型別的宣告中。代表這個型別有 impl 對應的 trait,所以不必再寫出落落長的 Iterator 泛型型別。impl trait 有另一個特點是以靜態分派(static dispatch)來呼叫函式,相較於 trait object 的 動態分派(dynamic dispatch) ,impl trait 毫無效能損失。 實作如下: pub fn iter(&self) -> impl Iterator { self.buckets.iter() .flat_map(|b| b) .map(|(k, v)| (k, v))\n} 更多 impl trait 相關資訊可以參考: Rust RFC: impl trait Rust 1.26: impl trait Rust Reference: Trait objects The Rust Programming Language: Trait objects","breadcrumbs":"雜湊表 Hash map » 實作疊代器方法","id":"240","title":"實作疊代器方法"},"241":{"body":"以陣列實作的雜湊表各操作複雜度如下 Operation Best case Worst case add(k, v) $O(1)$~ $O(n)$ update(k, v) $O(1)$ $O(n)$ remove(k) $O(1)$~ $O(n)$ search(k) $O(1)$ $O(n)$ $n$:資料筆數。 $k$:欲綁定資料的鍵。 $v$:欲與鍵綁定的資料。 ~ :平攤後的複雜度(amortized)。","breadcrumbs":"雜湊表 Hash map » 效能","id":"241","title":"效能"},"242":{"body":"在預期情況下,只要雜湊函數品質穩定,大部分操作都可達到在常數時間, 但由於部分操作,尤其是新增或刪除元素的操作,會需要調整 bucket array 的空間,重新配置記憶體空間,所以需要平攤計算複雜度。 而最差複雜度出現在每個元素都發生雜湊碰撞。若使用 open addressing 處理碰撞,則會把雜湊表配置的每個位置都填滿,而所有操作都從同個位置開始,搜尋對應的鍵,複雜度與陣列的線性搜索相同為 $O(n)$;若使用 separate chaining,碰撞代表所有元素都會在同一個 bucket 裡面,也就是只有一個 bucket 上會有一個長度為 n ,被塞滿的陣列或鏈結串列,結果同樣是線性搜索的 $O(n)$。 我們嘗試使用數學表示搜索的複雜度。另 $n$:已放入雜湊表內的資料總數。 $k$:雜湊表配置的儲存空間(bucket 總數)。 $\\text{load factor} = \\frac{n}{k}$:預期每個 bucket 儲存的資料筆數。 則預期執行時間為 $$\\Theta(1+\\frac{n}{k}) = O(1) \\ \\text{ if } \\frac{n}{k} = O(1)$$ 而 1 為計算雜湊與取得索引(random access)的執行時間,$\\frac{n}{k}$ 則是搜尋陣列的執行時間。只要 load factor 越接近 $n$,執行時間就相對增加。","breadcrumbs":"雜湊表 Hash map » 時間複雜度","id":"242","title":"時間複雜度"},"243":{"body":"雜湊表的空間複雜度取決於實作預先配置的陣列大小,並與維持 load factor 息息相關。一般來說,仍與資料筆數成線性關係,因此空間複雜度只有資料本身 $O(n)$。而以 separate chaining 會額外配置陣列或鏈結串列儲存碰撞元素,理論上需負擔更多額外的指標儲存空間。","breadcrumbs":"雜湊表 Hash map » 空間複雜度","id":"243","title":"空間複雜度"},"244":{"body":"Rust Documentation: HashMap Wiki: Hash table Wiki: Open addressing Algorithms, 4th Edition by R. Sedgewick and K. Wayne: 3.4 Hash Tables MIT 6.006: Introduction to Algorithms, fall 2011: Unit 3 Hashing Map graph by Jorge Stolfi CC BY-SA-3.0 via Wikimedia Commons.","breadcrumbs":"雜湊表 Hash map » 參考資料","id":"244","title":"參考資料"},"245":{"body":"集合是一種抽象資料型別(Abstract data type),概念衍生自數學的 集合論 ,和陣列類似,為不同元素所組成的資料結構,不同在於集合有些重要的特性: 無序性:集合內各元素無特定排序或排序不重要。 互異性:集合內每個元素且只能出現一次。 一般來說,集合的實作會盡量貼近集合論中的有限集合定義,本次實作同樣遵照數學定義。 本次實作的程式碼置於 rust_algorithm_club::collections::HashSet API 文件中。","breadcrumbs":"集合 Set » 集合 Set","id":"245","title":"集合 Set"},"246":{"body":"","breadcrumbs":"集合 Set » 架構設計","id":"246","title":"架構設計"},"247":{"body":"集合能以許多不同的資料結構實現,通用的集合實作多會最佳化取得、增加、移除元素等運算,這讓我們想到了「 雜湊表 」,雜湊表正是能將集合運算最佳化的一種資料結構,我們將借用 雜湊表作為底層儲存容器 ,進一步實作集合。 你可能好奇,集合明明只有元素,並沒有 鍵值對 ,跟雜湊表有啥關係?讓我們回想雜湊表一個重要的特性:每一個鍵(key)只會出現一次,利用雜湊表這個特性,即可達成上述集合兩大特性。 既然選用雜湊表作為底層容器,集合的結構體就非常簡單了,我們可以將集合想像為在 HashMap 薄薄的一層封裝。 pub struct HashSet\nwhere T: Hash + Eq,\n{ hash_map: HashMap,\n} 比較特別的是雜湊表的鍵值,這裡使用空的 tuple (),也就是以 unit type 作為雜湊表之值,只要將集合的元素作為雜湊表鍵,忽略對應的值,就是貨真價實的集合結構。","breadcrumbs":"集合 Set » 以雜湊表為底層容器","id":"247","title":"以雜湊表為底層容器"},"248":{"body":"這樣多儲存一個 () 會不會造成額外的儲存空間負擔?事實上,Unit type () 在 Rust 語言中是一種 Zero Sized Types (ZSTs) ,在編譯時期 Rust 會將 ZST 當作一種型別來操作,但真正輸出的機器碼中,ZST 並不會佔用任何運算空間。Set = HashMap 完全體現了 Rust 零成本抽象的語言特性。","breadcrumbs":"集合 Set » 不佔空間的 Unit Type","id":"248","title":"不佔空間的 Unit Type"},"249":{"body":"身為一個容器,集合有以下幾個基本操作: new:初始化一個集合。 contains:檢查集合內有無特定元素。 is_empty:檢查集合內是否沒有任何元素。 insert:新增一個元素。 remove:移除特定元素。 len:檢查集合內的元素數目。 iter:產生一個疊代集合內所有元素的疊代器。 這些基本操作的實作上,只是對雜湊表的簡單封裝,詳細實作可以參考 HashMap 。 impl HashSet\nwhere T: Hash + Eq,\n{ pub fn len(&self) -> usize { self.hash_map.len() } pub fn is_empty(&self) -> bool { self.hash_map.is_empty() } pub fn insert(&mut self, value: T) -> bool { // 1 self.hash_map.insert(value, ()).is_none() } pub fn contains(&self, value: &Q) -> bool // 2 where T: Borrow, Q: Hash + Eq + ?Sized, { self.hash_map.get(value).is_some() } pub fn remove(&mut self, value: &Q) -> bool // 3 where T: Borrow, Q: Hash + Eq + ?Sized, { self.hash_map.remove(value).is_some() } pub fn iter(&self) -> impl Iterator { // 4 self.hash_map.iter().map(|(k, _)| k) }\n} insert 將元素置於 key 上,value 則設為 ()。 contains 利用 HashMap::get 回傳的 Option<()> 判斷是否已有該的元素。 remove 同樣直接呼叫 HashMap::remove,並透過回傳 Option<()> 判斷實際上是否有移除任何元素。 iter 則直接利用 HashMap::iter 並捨棄 value。","breadcrumbs":"集合 Set » 基本操作","id":"249","title":"基本操作"},"25":{"body":"線性搜尋就是用一個 for-loop 解決。要注意的是,T 泛型參數至少要實作 PartialEq 才能比較。程式碼中使用了疊代器的 enumerate ,建立一個新疊代器,每次疊代產生疊代次數與對應的值。 pub fn linear_search(arr: &[T], target: &T) -> Option where T: PartialEq\n{ for (index, item) in arr.iter().enumerate() { if item == target { return Some(index); } } None\n} 事實上,若利用 Rust 內建的 iterator.position ,程式碼也許會更簡潔。 pub fn linear_search(arr: &[T], obj: &T) -> Option where T: PartialEq\n{ arr.iter().position(|x| x == obj)\n}","breadcrumbs":"線性搜尋 Linear search » 實作","id":"25","title":"實作"},"250":{"body":"電腦科學的集合型別衍生自 集合論 ,當然也得符合 集合代數(set algebra) 的特性,和算術的加減乘除,集合也有自己的二元運算,我們會實作以下幾個基本方法: intersection:交集,A ∩ B 定義為 A 與 B 共有的元素。 union:聯集,A ∪ B 定義為 A 與 B 所有的元素。 symmetric_difference:對稱差集,定義為 A △ B = (A ∪ B) - (A ∩ B),就是只出現在 A 或 B,不會在兩集合內同時出現的元素。 difference:差集,A \\ B 定義為 A 中所有未在 B 中出現的元素。 venn digrams 此外,也會介紹許多方便的方法: is_disjoint:兩集合是否不交集。 is_subset:包含於 ⊆,是否為子集。 is_superset:包含 ⊇,是否為超集。 哇!好多方法要實作。那就事不宜遲!","breadcrumbs":"集合 Set » 集合運算","id":"250","title":"集合運算"},"251":{"body":"第一次嘗試 - 建立新的聯集集合 要取得兩個集合的聯集,最直覺的想法可能是創造一個新的集合,再把 A 和 B 兩個集合的元素通通 insert 進去,就像這樣: // 利用 Clone 實現的聯集。完整實作見 bit.ly/caab7fb\npub fn union(&self, other: &HashSet) -> HashSet { // 複製一整份 other 到新的 set let mut new_set: HashSet = other.clone(); // 把現有的 item 一一塞到新的 set,重複的 item 會直接覆寫掉 self.hash_map.iter().for_each(|(k, _)| { new_set.insert(k.clone()); }); // 回傳 self 與 other 的聯集 new_set\n} 然而,上述做法有兩個缺點: 建立了一個全新的 HashSet 實例,花了額外的時間與空間 必須為 HashSet 和 item 的型別 T 額外加上 Clone trait 的限制 因此接下來我們嘗試利用 Rust 的 iterator 的特性實現更節省資源的版本! 更多詳情可參考實作過程的 討論串 與 第一次嘗試的完整實作 。 第二次嘗試 - Lazy Iterator 有了第一次嘗試的經驗,第二次決定讓 union() 回傳一個 lazy iterator,會疊代聯集的元素,必要才從疊代器收集所有元素,再建立新的集合,如此可以節省許多運算資源。 至於實作步驟,我們可以: 先製造一個疊代器,包含所有 other 集合的元素,但過濾掉與 self 共有的元素。 再將 self 的疊代器與步驟一產生的疊代器,利用 Iterator::chain 連起來。 這樣其實就是 other \\ self 這個差集,加上 self 自身,剛好就是聯集。程式碼如下: // 使用 impl trait 語法,避免宣告不同疊代器型別的麻煩。\npub fn union(&self, other: &HashSet) -> impl Iterator { // 實際上就是差集 let other_but_not_self = other.iter().filter(|item| !self.contains(item)); // 差集 + self 本身 self.iter().chain(other_but_not_self)\n} Lifetime Elision 但很不幸地,Compiler error E0623(甚至查不到 E0623 是什麼)。 error[E0623]: lifetime mismatch --> src/collections/set/mod.rs:117:48 |\n117 | pub fn union(&self, other: &HashSet) -> impl Iterator { | ----------- ^^^^^^^^^^^^^^^^^^^^^^^^ | | | | | ...but data from `other` is returned here | this parameter and the return type are declared with different lifetimes... 是 self 與 other 的生命週期不同導致,當這兩個集合的疊代器被 chain 起來後回傳,編譯器無法確認 Iterator 的 Item 生命週期多長。你可能很好奇為什麼 self 與 other 生命週期不同,事實上,Rust 為了讓語法輕鬆一點,允許函數省略部分生命週期標註,這個行為稱作 Lifetime Elision ,會在各種不同的條件下加註生命週期,其中有一條是「 每個被省略的生命週期都會成為獨立的生命週期 」。因此,union() 加上被省略的生命週期,會長得像: pub fn union<'a, 'b>(&'a self, other: &'b HashSet) -> impl Iterator; 於是乎,編譯器無法理解 Iterator 的 &T 到底生命週期是 'a 還是 'b,就不給編譯。 解法也很簡單,合併 self 與 other 的生命週期到同一個,不論是語意上(兩個集合至少活得一樣長)還是編譯條件都說得通。 // 加上 'a ,讓 self、other 的生命週期至少在這個函數內一樣長\npub fn union<'a>(&'a self, other: &'a HashSet) -> impl Iterator { let other_but_not_self = other.iter().filter(|item| !self.contains(item)); self.iter().chain(other_but_not_self)\n} 更多 Lifetime Elision 的資訊,可以參考 Rust 黑魔法 Nomicon 與 Rust TRPL 的解釋 ,還有相關的 RFC 可以看。 move closure 解決了生命週期,編譯看看就知道誰沒穿褲子。 Compiler error E0373 ,是野生的 borrow checker! error[E0373]: closure may outlive the current function, but it borrows `self`, which is owned by the current function --> src/collections/set/mod.rs:118:53 |\n118 | let other_but_not_self = other.iter().filter(|item| !self.contains(item)); | ^^^^^^ ---- `self` is borrowed here | | | may outlive borrowed value `self` |\nnote: closure is returned here --> src/collections/set/mod.rs:119:9 |\n119 | self.iter().chain(other_but_not_self) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nhelp: to force the closure to take ownership of `self` (and any other referenced variables), use the `move` keyword |\n118 | let other_but_not_self = other.iter().filter(move |item| !self.contains(item)); 讓我們嘗試理解,當我們回傳 iterator 時,整個過濾共同元素的 closure 會連帶一起回傳,若 closure 沒有使用 move 關鍵字修飾,編譯器會嘗試以傷害最小的方式去捕獲變數,在這裡會是 immutable borrow &T 捕獲。這裡的 self 實際型別是 &'a mut HashSet,可以想像成 closure 捕獲了 &(&'a mut HashSet)。 Rust 編譯器遇到 closure 需要捕獲變數時,如果沒有用 move 修飾,會嘗試使用以下順序來捕獲: &T > &mut T > T。若用了 move 修飾,則會直接將所有權轉移進 clousure 中,也就是捕獲 T。 可惜的是,多出來的這層 borrow 並沒有相同的生命週期 'a,編譯器無法識別它會活到什麼時候,可能 self 的資源已被釋放,但 closure 還沒結束,有機會產生 dangling pointer ,編譯器因此禁止這種危險操作。 編譯器也十分好心地提示,只要使用 move 關鍵字,將 self 的所有權轉移至 closure 中,就能避免生命週期不一致的問題。你可能有些疑惑,把 self move 進 closure 之後,self 不就會被 drop 釋放掉了?可以這樣理解,轉移進 closure 的型別是整個 self,也就是 &'a mut HashSet 型別,解讀為編譯器將 self 的型別看作新的 owned type,所有權可合法轉移,但底層仍保留指向原始資料的 borrow,巧妙避開生命週期問題。 pub fn union<'a>(&'a self, other: &'a HashSet) -> impl Iterator { // 用 move 修飾 closure // self(&'a HashSet)被整個轉移進 closure let other_but_not_self = other.iter().filter(move |item| !self.contains(item)); self.iter().chain(other_but_not_self)\n}","breadcrumbs":"集合 Set » 實作聯集","id":"251","title":"實作聯集"},"252":{"body":"呼,上面解決了最困難的生命週期和 borrow checker 問題,接下來的實作只要關注數學上的集合定義就能輕鬆解決了。 首先,交集的定義為「你有,而且我也有的」,簡單,疊代 self 並過濾出 other 也有的元素就好,秒殺! pub fn intersection<'a>(&'a self, other: &'a HashSet) -> impl Iterator { self.iter().filter(move |item| other.contains(item))\n} 再來是差集,概念是就是「我有,但你沒有的」,一樣疊代 self 並過濾出 other 沒有的元素。 pub fn difference<'a>(&'a self, other: &'a HashSet) -> impl Iterator { self.iter().filter(move |item| !other.contains(item))\n} 剛剛實作 union 有用到差集,我們可以稍微改寫,讓 union 的程式碼更神清氣爽。 pub fn union<'a>(&'a self, other: &'a HashSet) -> impl Iterator { // self ∪ (other \\ self) self.iter().chain(other.difference(self))\n} 最後,對稱差集可以透過組合上面的操作算出,可以是:「我有加上你有的,減去我們共同有的」,也可以是「我有但你沒有的,加上你有但我沒有的」,這裡我們選擇第二種實作。 pub fn symmetric_difference<'a>(&'a self, other: &'a HashSet) -> impl Iterator { // (self \\ other) ∪ (other \\ self) self.difference(other).chain(other.difference(self))\n} 整個集合的基礎在這邊大功告成了!","breadcrumbs":"集合 Set » 實作交集、差集與對稱差集","id":"252","title":"實作交集、差集與對稱差集"},"253":{"body":"經歷 Rust 編譯器的摧殘,來實作比較簡單的方法吧。集合運算常要比較兩個集合的關係,例如 A ⊆ B 代表 A 是 B 的子集,定義是 A 裡面的元素 B 都有。 我們先來實作 is_subset 檢查 self 是否為 other 的子集。 pub fn is_subset(&self, other: &HashSet) -> bool { // 若 self 的元素比 other 多,就不可能是 self ⊆ other // 所以提前回傳 false if self.len() > other.len() { return false; } // 利用 all 確認 other 內包含 self 的所有元素 self.iter().all(|item| other.contains(&item))\n} is_superset 檢查 self 是否為 other 的超集就更簡單了,只要把 is_subset 反過來使用就行了。 pub fn is_superset(&self, other: &HashSet) -> bool { // self ⊇ other = other ⊆ self other.is_subset(self)\n} 最後,我們常會檢查兩個集合是否沒有交集(disjoint),這個方法只要檢查交集 intersection() 疊代器的長度是否為 0 就可以了。 pub fn is_disjoint(&self, other: &HashSet) -> bool { self.intersection(other).count() == 0\n}","breadcrumbs":"集合 Set » 子集、超集與不交集","id":"253","title":"子集、超集與不交集"},"254":{"body":"上面的方法好冗,能不能和 Python 一樣,用簡單明瞭的語法操作集合的二元運算?當然行,Rust 的表達性很強,完全不輸 Python,透過 運算子多載(operator overloading) 。","breadcrumbs":"集合 Set » 二元運算與運算子","id":"254","title":"二元運算與運算子"},"255":{"body":"Rust 提供許多 trait 供使用者多載運算子,可以簡化集合的二元運算: set | other:bitwise or 運算子,效果同 union 聯集。 set & other:bitwise and 效果同 intersection 交集。 set - other:substraction 運算子,效果同 difference 差集。 set ^ other:bitwise xor 運算子,效果同 symmetric_difference 對稱差集。 由於四個運算子實作的概念相同,這裡挑 | bitwise or 來解釋如何客製化運算子邏輯。 // 實作 BitOr 多載 `|` 運算子\nimpl<'a, 'b, T> BitOr<&'b HashSet> for &'a HashSet\nwhere T: Hash + Eq + Clone, // 實作 Clone 讓 Set 可透過 FromIterator 建立實例\n{ type Output = HashSet; fn bitor(self, rhs: &'b HashSet) -> Self::Output { // 利用 FromIterator 提供的 collect() 蒐集元素,產生新 Set self.union(&rhs).cloned().collect() }\n} 要多載 bit or 運算子,代表型別要實作 BitOr trait。 由於運算子的 required method 通常會 consume self 的所有權,因此我們要在 impl 動手腳,改以 &HashSet 作為 BitOr 實作的對象。 為了簡化實作,交集聯集等運算子改為產生一個新的 Set 實例,也就是說,T 泛型型別需要實現 Clone trait,才能複製舊的值產生新的 Set。 多載運算子,可以參考 Overloadable operators 一頁的說明。","breadcrumbs":"集合 Set » 運算子多載","id":"255","title":"運算子多載"},"256":{"body":"除了交集、聯集等運算,我們還可以實作集合間的比較,作為檢查是否為子集或超集的運算子。 A <= B:效果同 is_subset,A 是否為 B 的子集 A ⊆ B。 A < B:A 是否為 B 的子集且不等於 B,等同於 A ⊂ B。 A >= B:效果同 is_superset,A 是否為 B 的超集 A ⊇ B。 A > B:A 是否為 B 的超集且不等於 B,等同於 A ⊃ B。 但眼尖的 Rustacean 肯定會發現, std::ops 裡面根本沒有 lt、gt 等比較運算子。Rust 的「比較」是透過實作幾個 Trait 後,自動推導生成的方法,這些 trait 放在 std::cmp module 中,分別是 Eq 、 ParitalEq 、 Ord ,以及 ParitalOrd 。 在開始介紹如何實作比較前,先讓複習一下離散數學學到的二元關係: 若 ∼ 為一種二元關係,A 為任意集合。 自反性(Reflexive):對所有 x ∈ A : x ∼ x。 對稱性(Symmetric):對所有 x, y ∈ A ,若 x ∼ y 則 y ∼ x。 傳遞性(Transitive):對所有 x, y, z ∈ A ,若 x ∼ y 且 y ∼ z 則 x ∼ z。 反對稱(Antisymmetric):對所有 x, y ∈ A,若 x ∼ y 且 x ≠ y 則 y ∼ x 不成立。 Rust 中的相等關係有其理論背景,Eq 就是數學上的 Equivalence relation ,須符合自反性、對稱性,及傳遞性;與之對應的是 PartialEq, Partial equivalence 具有對稱性和傳遞性,但並無自反性,有名的例子是 IEEE754 的浮點數 定義了 NaN == NaN -> false,浮點數因此不符合自反性定義。 回到集合,集合論中的集合相等(set equality)定義為:x = y ⇒ ∀z, (z ∈ x ⇔ z ∈ y),也就所有屬於集合 x 的元素必屬於集合 y,反之亦然。因此,集合相等具有自反性、對稱性、傳遞性。實作 == 運算子,我們會 比較集合 x, y 內元素數目(cardinality)是否一致,以及 疊代集合 x,並檢查是否每個屬於 x 的元素都屬於 y。 impl PartialEq for HashSet\nwhere T: Hash + Eq,\n{ fn eq(&self, other: &HashSet) -> bool { // 1. 檢查 cardinality,不同長度就不可能相等 if self.len() != other.len() { return false; } // 2. 利用 Iterator::all 確保每個 self 的元素都屬於 other。 self.iter().all(|item| other.contains(&item)) }\n} /// `Eq` 並沒有 required method,只要實作 `Partial::eq` 方法,就能直接推斷出 `Eq`。\nimpl Eq for HashSet where T: Hash + Eq {} 與相等關係相同,Rust 的排序關係同樣有理論依據,Ord 是數學上的 Total order ,符合反對稱性、傳遞性,以及 connex relation ;而 ParitalOrd 則接近數學上的 partial order,Rust 的文件中描述該 trait 須符合反對稱性與傳遞性。 Connex relation:在集合 X 下,所有 (x, y) pair 都會符合 x ∼ y 或 y ∼ x 的關係。在排序關係上,意指不是 x ≥ y 就是 y ≥ x。 要把集合的「包含於但不相等」關係 ⊂ 映射到排序關係 x < y 前,先來檢驗 ⊂ 有什麼特性。 具反對稱性:若 x ⊂ y 且 x ≠ y 則 y ⊄ x,換句話說,若 x ⊂ y 且 y ⊂ x 則 x = y。 具傳遞性:若 x ⊂ y 且 y ⊂ z 則 x ⊂ z。 不具 connex relation:若 x = {1,2}, y = {3,4},則 x, y 無法以 ⊂ 表示兩者間的關係。 很明顯地,「包含於但不相等」符合 partial order 但不是 total order。我們選擇實作 PartialOrd trait,其有一個 required method PartialOrd::partial_cmp。 partial_cmp 回傳 Option,因為兩個集合可能無交集,導致無法相互比較。 先檢查 other 是不是子集,再檢查是不是長度相同,得到兩個 bool。 有了上述兩個 bool,就可以用 pattern matching 把所有情況列舉出來。 是子集且同長度:相等 =。 是子集但長度不同:包含於 ⊂(<)。 不是子集但長度相同:不相交(disjoint)。 不是子集且長度不同:先假設 self 是 other 的超集,再透過 Option::filter 過濾,是超集則回傳 Some(Ordering::Greater),不是則回傳 None。 impl PartialOrd for HashSet\nwhere T: Hash + Eq,\n{ fn partial_cmp(&self, other: &HashSet) -> Option { // 1 let is_subset = self.is_subset(other); // 2 let same_size = self.len() == other.len(); match (is_subset, same_size) { // 3 (true, true) => Some(Ordering::Equal), (true, false) => Some(Ordering::Less), (false, true) => None, _ => Some(Ordering::Greater).filter(|_| self.is_superset(other)), } }\n} 實作 PartialEq,Eq 與 PartialOrd 後,我們的集合型別終於能和 Python 的集合互別苗頭,有更高層次的表達性! 有人可能會認為,比較運算還要透過 partial_cmp 判斷 Option 多麻煩,事實上,C++ 20 也帶來了 <=> 運算子以及 three way comparison 衍生的各種型別,partial order 或 parital equal 可說是更精確且必要的比較運算,也是一種趨勢。","breadcrumbs":"集合 Set » 比較運算子","id":"256","title":"比較運算子"},"257":{"body":"以雜湊表為底層儲存容器的集合,各操作複雜度如下 Operation Best case Worst case insert(v) $O(1)$~ $O(n)$ remove(v) $O(1)$~ $O(n)$ contains(v) $O(1)$ $O(n)$ union $O(n)$ $O(n)$ intersection $O(n)$ $O(n)$ difference $O(n)$ $O(n)$ symmetric difference $O(n)$ $O(n)$ $n$:資料筆數。 $v$:資料值。 ~ :平攤後的複雜度(amortized)。 操作的時間與空間複雜度,與其底層儲存容器的實作有關,本次集合實作只是對雜湊表的簡單封裝,詳細演算法複雜度可以參考 HashMap 。","breadcrumbs":"集合 Set » 效能","id":"257","title":"效能"},"258":{"body":"Rust Documentation: HashSet Python 3: Set Wiki: Set theory Venn diagrams are screenshoot from Wikipedia via public domain.","breadcrumbs":"集合 Set » 參考資料","id":"258","title":"參考資料"},"259":{"body":"Bloom filter 是一種機率資料結構(probabilistic data structure),類似於 集合 ,常用於需快速驗證成員是否「可能存在」或是「絕對不存在」在容器中,亦即有機會出現假陽性(false positive),但絕不會有假陰性(false negative)。 Bloom filter 的優勢是: 類似 集合 ,可在 $O(1)$ 時間複雜度驗證成員是否存在,卻僅需相對少的儲存空間。 承上, 在 0.1% 錯誤率下儲存一百萬個元素僅需 1.71 MiB 。 非常容易實作的機率資料結構,僅需多次雜湊。 Bloom filter 則有以下短處: 經典款 Bloom filter 容器大小固定(fixed-size),無法動態調整儲存空間。 可能給出假陽性答案:回報存在但實際不存在,且錯誤隨數量變多上升。 自身不儲存成員資料,需要有額外的儲存資料方案。 只能新增成員,但不能移除成員(可透過 變形 解決)。 若輸入資料集本身離散,接近 隨機存取 ,無法充分利用 CPU cache。 承上,因為隨機存取,不利於延伸到記憶體以外的外部儲存裝置。 Bloom filter 常見應用場景為: 資料庫利用 Bloom filter 中減少實際存取 disk 的 IO 開銷。 Chromium 瀏覽器 驗證大量惡意連結 。 Medium 避免推薦已推薦過的文章 。 小知識:bloom 是開花之意,但 Bloom filter 和開花沒任何關係,只因發明人姓氏為 Bloom 本次實作的程式碼置於 rust_algorithm_club::collections::BloomFilter API 文件中。","breadcrumbs":"布隆過濾器 Bloom filter » 布隆過濾器 Bloom Filter","id":"259","title":"布隆過濾器 Bloom Filter"},"26":{"body":"Wiki: Linear search","breadcrumbs":"線性搜尋 Linear search » 參考資料","id":"26","title":"參考資料"},"260":{"body":"Bloom filter 由下列兩個部分組成: 一個 $m$ 位元的位元陣列(bit array) $k$ 個不同的雜湊函數 經典款的 Bloom filter 作為一個近似集合的容器,提供下列兩個操作 新增: 新增一個值時,透過 $k$ 個雜湊函數產生 $k$ 個雜湊值,分別代表在位元陣列的索引位置,再將 $k$ 個位置的位元翻轉至 1。 查詢: 同樣透過 $k$ 個雜湊函數產生 $k$ 個雜湊值作為位元陣列的索引位置,若所有位元皆為 1,則代表該值存在。 上圖顯示 w 並沒有在 {x,y,z} 集合中,因為 w 的雜湊結果有個位元為 0。 你可能會開始想: 欲儲存一百萬個元素,需要多少位元? 出現假陽性的機率是多少?可以調整嗎? 需要幾個雜湊函數? 可重複使用相同的雜湊函數嗎? 回答這些問題需要兩個已知條件: 預期會儲存多少 $n$ 個元素到容器。 可容忍的假陽性機率 $\\epsilon$,即容器不包含該元素,檢測卻回報存在(所有雜湊位皆為 1)。 於是可得位元陣列最佳化的長度為 $m$ 個位元,$m$ 為: $$m = -\\frac{n \\ln{\\epsilon}}{(\\ln{2})^2}$$ 而在已知條件下,需要的雜湊函數數量 $k$ 為: $$k = -\\frac{\\ln{\\epsilon}}{\\ln{2}} = -\\log_2{\\epsilon}$$ 當然,這些公式並非憑空冒出,有興趣可以讀讀 維基百科上的數學 ,和 這段詳細的推導 ,不過也要注意,Bloom filter 的假設是「每個雜湊函數獨立」但 位元間是否獨立有待討論 ,這順便開啟了其他問題,可重複使用相同的雜湊函數嗎? 答案是可以, 這篇 「Less Hashing, Same Performance:Building a Better Bloom Filter」 提及,在不犧牲漸進假陽性機率(asymptotic false positive probability)的前提下,透過兩個不同的雜湊函數 $h_1(x)$ 和 $h_2(x)$,配合以下公式,就可以模擬出多個雜湊函數: $$g_i(x) = h_1(x) + ih_2(x)$$ 數學看暈了嗎?來點程式碼吧。","breadcrumbs":"布隆過濾器 Bloom filter » 概念","id":"260","title":"概念"},"261":{"body":"","breadcrumbs":"布隆過濾器 Bloom filter » 架構設計","id":"261","title":"架構設計"},"262":{"body":"Bloom filter 底層以位元陣列作為儲存容器,如果目標是最省空間,該用 Rust 的什麼型別來儲存位元呢? 直觀作法是在 struct 新增一個 bits 位元陣列的 array 型別: pub struct BloomFilter { bits: [bool; N]\n} 雖然非常省空間,用了多少 bits 這個 struct 就佔多大,但這語法並非不合法,因為 N 未定義,無法編譯, array 的 N 必須是編譯期就決定的常數,BloomFilter 若寫死 N 就不夠泛用了(除非參考 vec! 透過 macro 建立)。 不如換個方向,不用 fixed size array,給定動態大小的 slice 試試看。 pub struct BloomFilter { bits: [bool]\n} 嗯,可以編譯通過,但如果嘗試建立一個 struct 呢? fn main() { let input_len = 5; let bits = [true; input_len]; BloomFilter { bits };\n} 就會發現編譯結果如下: error[E0435]: attempt to use a non-constant value in a constant --> src/main.rs:7:23 |\n7 | let bits = [true; input_len]; | ^^^^^^^^^ non-constant value error[E0277]: the size for values of type `[bool]` cannot be known at compilation time --> src/main.rs:8:5 |\n8 | BloomFilter { bits }; | ^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time 原因有二,其一同樣是 array bits 需要一個常數長度;其二則是 bits 是一個 Dynamic Sized Types(Dsts) ,長度無法在編譯時決定,編譯期就無法得知 BloomFilter 的所佔記憶體用量。 看來得放棄用 array 或 slice 這些方法,改用最暴力的 Vec 作為位元陣列儲存容器,Vec 雖可動態調整大小,背後其實是一個 pointer + 一個 usize 的 capacity + 一個 usize 的 len 組成,若是在 64 位元的機器上, 一個 Vec 就會佔 24 位元組 ,比起 array 多耗費兩個 2 * 8 個位元組空間,幸好這額外的 16 個位元組是固定支出,不隨著 $m$ 和 $n$ 成長。 pub struct BloomFilter { bits: Vec\n}","breadcrumbs":"布隆過濾器 Bloom filter » 利用 Vec 儲存位元","id":"262","title":"利用 Vec 儲存位元"},"263":{"body":"再來,要在 BloomFilter 儲存兩個 hasher,也就是實作前面提及 用兩個雜湊函數模擬 $k$ 個 論文中的兩個 hasher,這兩個在 BloomFilter 建構時同時建立,並在操作 BloomFilter 的方法上共用。 這次直接使用標準函式庫內預設雜湊演算法 DefaultHasher 作為隨機的兩個雜湊函數 BloomFilter.hashers。由於是模擬 $k$ 個函數的雜湊行為,仍需另闢欄位,儲存 $k$ 實際上是多少個雜湊函數 BloomFilter.hash_fn_count。 use std::collections::hash_map::DefaultHasher; pub struct BloomFilter { /// The bit array of _m_ bits. bits: Vec, /// Count of hash functions. Denoted by _k_. hash_fn_count: usize, /// The hashers that do real works. hashers: [DefaultHasher; 2],\n} 就剩最後一里路了!","breadcrumbs":"布隆過濾器 Bloom filter » 儲存兩個雜湊函數","id":"263","title":"儲存兩個雜湊函數"},"264":{"body":"眾所周知,透過 泛型(Generic) ,Rust 可重用相同的容器型別,特化接受不同型別的容器,例如 HashMap 可以特化為鍵為 String,值為 u32 的 HashMap,Vec 可以成為二維位元組 Vec>。看 std::collections 提供的容器,所有泛型型別參數(Type Parameter)像是 T、K、V 都是跟著 struct 宣告,也因為這些容器的確實際儲存了這些型別的元素,泛型型別參數跟著 struct 很合理。 有趣的是,作為一個容器,Bloom filter 其實不儲存元素本身,而是記錄元素是否「曾經新增至」該容器中。這給了一些想像空間:如何提供型別參數給 Bloom filter?提供兩個方向: 泛型型別參數宣告跟著 struct: 也就是 struct BloomFilter,如此一來,一個容器實例只能操作一種型別,而且在編譯期就決定。 let bf = BloomFilter::new();\nbf.insert(&1); // infer the type T is i32\nbf.insert(\"wront type\"); // compile error: &str is not compatible to i32 泛型型別跟著 struct 的方法,struct 本身不宣告: 很難想像容器裡面儲存不同的型別,但 BloomFilter 實際上只需要一個 Vec 記錄存在與否,到底新增了什麼型別的元素其實不重要,型別有實作雜湊就行。這個作法下,你可能會看到這種邪魔歪道: let bf = BloomFilter::new();\nbf.insert(&1);\nbf.insert(\"another type\"); // it works\nbf.insert(vec![3.14159]); // it also works 為了讓容器有一致感,這裡決定選擇法一,讓泛型跟著容器走。實作非常簡單,加上 T 泛型參數就行 use std::collections::hash_map::DefaultHasher; - pub struct BloomFilter {\n+ pub struct BloomFilter { /// .. snip\n} 哎呀,編譯失敗! error[E0392]: parameter `T` is never used --> src/lib.rs:3:24 |\n3 | pub struct BloomFilter { | ^ unused parameter | = help: consider removing `T`, referring to it in a field, or using a marker such as `std::marker::PhantomData` 因為 Rust 編譯器認為 BloomFilter 並不實際擁有 T 相關欄位,因此編譯不通過,我們可以利用 std::marker::PhantomData ,PhantomData 是一個 Zero-Sized Type 不佔空間,就是為了取悅編譯器,製造出 struct 擁有 T 的假象。 use std::collections::hash_map::DefaultHasher;\nuse std::marker::PhantomData; pub struct BloomFilter { /// The bit array of _m_ bits. bits: Vec, /// Count of hash functions. Denoted by _k_. hash_fn_count: usize, /// The hashers that do real works. hashers: [DefaultHasher; 2], _phantom: PhantomData,\n}","breadcrumbs":"布隆過濾器 Bloom filter » 使用 PhantomData 讓編譯器閉嘴","id":"264","title":"使用 PhantomData 讓編譯器閉嘴"},"265":{"body":"最後,有鑑於讓Bloom fliter 能夠接受更多型別,元素不一定要符合編譯期確定大小的 Sized trait bound,可以透過加上 ?Sized trait bound 解除預設的限制,如此一來 BloomFilter 就可接受 slice 和 trait object 這些 DSTs 了,傳入 string literal 變為可能 bloom_filter.insert(\"1234\")。 use std::collections::hash_map::DefaultHasher;\nuse std::marker::PhantomData; - pub struct BloomFilter {\n+ pub struct BloomFilter { // .. snip\n}","breadcrumbs":"布隆過濾器 Bloom filter » ?Sized 讓容器可以儲存 DSTs","id":"265","title":"?Sized 讓容器可以儲存 DSTs"},"266":{"body":"Bloom filter 為類似集合的容器,當然有 類似的操作 ,事實上,這類機率性集合成員檢測的資料結構有個較少聽見但令人印象深刻的名字,稱為「Approximate Membership Query(AMQ)」,提供 add(element) 和 query(element) 兩個基本操作。 本文的 BloomFilter 提供下列幾個公開方法: new:初始化一個容器。 insert:新增一個元素。 contains:檢查容器內有無特定元素(是否曾新增過)。 以及幾個內部輔助方法: make_hash:給定輸入元素資料,透過兩個雜湊函數產生兩個雜湊值。 get_index:將 make_hash 的兩雜湊值帶入 $g_i(x) = h_1(x) + ih_2(x)$ 計算單次 i 的索引位置。 optimal_bits_count:給定預期儲存元素個數 $n$ 與假陽性機率 $\\epsilon$,得位元陣列最適位元數 $m$。 optimal_hashers_count:給定預期假陽性機率,得最適雜湊函數個數 $k$。","breadcrumbs":"布隆過濾器 Bloom filter » 基本操作","id":"266","title":"基本操作"},"267":{"body":"Bloom filter 有四個參數 $m$、$n$、$k$、$\\epsilon$ 可以調整(詳見 效能 一節),對使用者來說,有幾個雜湊函數或底層是多少個位元都是實作細節了,更關心的可能是 「我有一百萬筆資料需要驗證存在,容錯率需要在 0.1%,我需要多大的儲存空間?」 因此,建構函數 new 提供輸入預期儲存元素個數 $n$ 和預期的假陽性機率 $\\epsilon$ 是天經地義的事: pub fn new(capacity: usize, err_rate: f64) -> Self; 接下來,會實作 概念 一節的數學公式,找出最適位元數和最適雜湊函數個數。這兩個函數都是以 Rust 表達數學公式,可注意的點是, std::f32::consts 和 std::f64::consts ,提供許多數學上常見的常數老朋友,操作浮點數和雙精度浮點數就不用自己手動重算了。 /// m = -1 * (n * ln ε) / (ln 2)^2\nfn optimal_bits_count(capacity: usize, err_rate: f64) -> usize { let ln_2_2 = std::f64::consts::LN_2.powf(2f64); (-1f64 * capacity as f64 * err_rate.ln() / ln_2_2).ceil() as usize\n} /// k = -log_2 ε\nfn optimal_hashers_count(err_rate: f64) -> usize { (-1f64 * err_rate.log2()).ceil() as usize\n} 目前為止,BloomFilter::new 長這樣: pub fn new(capacity: usize, err_rate: f64) -> Self { let bits_count = Self::optimal_bits_count(capacity, err_rate); let hash_fn_count = Self::optimal_hashers_count(err_rate);\n} 最後,按照前述 兩個雜湊函數恰恰好 的道理,建立兩個不同的雜湊函數,並初始化位元陣列,大功告成! pub fn new(capacity: usize, err_rate: f64) -> Self { // #1 Get optimal count of bit let bits_count = Self::optimal_bits_count(capacity, err_rate); // #2 Get optimal count of hash functions let hash_fn_count = Self::optimal_hashers_count(err_rate); // #3 Use RandomState to build different hasher let hashers = [ RandomState::new().build_hasher(), RandomState::new().build_hasher(), ]; Self { bits: vec![false; bits_count], // #4 Initialize a all zero bit array hash_fn_count, hashers, _phantom: PhantomData, }\n} 透過指定假陽性機率與預期元素個數,算得最適位元數 透過指定假陽性機率,算得最適雜湊函數個數 透過 std 內建的 RandomState 產生兩個不同初始狀態的雜湊函數,以模擬 $k$ 個雜湊函數 初始化一個全零的位元陣列","breadcrumbs":"布隆過濾器 Bloom filter » 初始化","id":"267","title":"初始化"},"268":{"body":"新增一個元素到 Bloom filter,說穿了就做一件事:將元素透過 $k$ 個雜湊函數,產出 $k$ 個索引位置,並將位元陣列上這些位置的位元翻轉至 1。 整個 insert 函數即為計算 $g_i(x) = h_1(x) + ih_2(x)$ 模擬 $k$ 個雜湊函數的過程: pub fn insert(&mut self, elem: &T)\nwhere T: Hash,\n{ let hashes = self.make_hash(elem); // #1 for fn_i in 0..self.hash_fn_count { // #2 let index = self.get_index(hashes, fn_i as u64); // #3 self.bits[index] = true; // #4 }\n} 取得 $h_1(x)$ 和 $h_2(x)$ 的雜湊輸出結果。 疊代 i 次,i 上限為 $k$:初始化時所得的最適雜湊函數個數 計算 $g_i(x) = h_1(x) + ih_2(x)$ 取得索引位置 將索引位置下的位元設定為 1 這裡有兩個內部方法,先講解如何計算 $h_1(x)$ 和 $h_2(x)$: fn make_hash(&self, elem: &T) -> (u64, u64)\nwhere T: Hash,\n{ // #1 let hasher1 = &mut self.hashers[0].clone(); let hasher2 = &mut self.hashers[1].clone(); // #2 elem.hash(hasher1); elem.hash(hasher2); // #3 (hasher1.finish(), hasher2.finish())\n} 為保存兩個 hasher 內部初始狀態,使用 clone 複製新的 hasher 來做雜湊 將 elem 餵給 hasher 計算雜湊值 輸出雜湊值,由於 Hasher::finish 不會重設 hasher 內部狀態,所以需要步驟一 clone 來保留 hasher 的原始狀態 再來是實作計算索引位置 $g_i(x) = h_1(x) + ih_2(x)$,這個函數非常單純,就是輸入 make_hash 所得之雜湊值,然後帶入公式中。為了防止輸出的索引位置超過位元陣列的位元數,這裡以位元數 $m$ 取模(% modulo),加上使用 wrapping_ops 這些 modular arithmetic operation 達成。 fn get_index(&self, (h1, h2): (u64, u64), fn_i: u64) -> usize { (h1.wrapping_add(fn_i.wrapping_mul(h2)) % self.bits.len() as u64) as usize\n}","breadcrumbs":"布隆過濾器 Bloom filter » 新增","id":"268","title":"新增"},"269":{"body":"查詢元素是否在 Bloom filter 裡面,就是看看該元素透過 $k$ 個雜湊函數輸出的每個索引位置 全部為 1 ,則可能存在;否則就是絕對不存在。 實作步驟和插入非常相似: pub fn contains(&self, elem: &T) -> bool\nwhere T: Hash,\n{ let hashes = self.make_hash(elem); // #1 (0..self.hash_fn_count).all(|fn_i| { // #1 使用 iter let index = self.get_index(hashes, fn_i as u64); self.bits[index] })\n} 取得 $h_1(x)$ 和 $h_2(x)$ 的雜湊輸出結果。 使用 Iterator::all 疊代收集 $k$ 個雜湊函數的輸出 計算 $g_i(x) = h_1(x) + ih_2(x)$ 取得索引位置 回傳索引位置下的位元 bool 值,此值會匯集起來,於步驟二確認命中全部 $k$ 個索引,即為元素存在 完整程式碼如下,或轉駕到 API 文件 : pub struct BloomFilter { bits: Vec, hash_fn_count: usize, hashers: [DefaultHasher; 2], _phantom: PhantomData,\n} impl BloomFilter { pub fn new(capacity: usize, err_rate: f64) -> Self { let bits_count = Self::optimal_bits_count(capacity, err_rate); let hash_fn_count = Self::optimal_hashers_count(err_rate); let hashers = [ RandomState::new().build_hasher(), RandomState::new().build_hasher(), ]; Self { bits: vec![false; bits_count], hash_fn_count, hashers, _phantom: PhantomData, } } pub fn insert(&mut self, elem: &T) where T: Hash, { // g_i(x) = h1(x) + i * h2(x) let hashes = self.make_hash(elem); for fn_i in 0..self.hash_fn_count { let index = self.get_index(hashes, fn_i as u64); self.bits[index] = true; } } pub fn contains(&self, elem: &T) -> bool where T: Hash, { let hashes = self.make_hash(elem); (0..self.hash_fn_count).all(|fn_i| { let index = self.get_index(hashes, fn_i as u64); self.bits[index] }) } fn get_index(&self, (h1, h2): (u64, u64), fn_i: u64) -> usize { (h1.wrapping_add(fn_i.wrapping_mul(h2)) % self.bits.len() as u64) as usize } fn make_hash(&self, elem: &T) -> (u64, u64) where T: Hash, { let hasher1 = &mut self.hashers[0].clone(); let hasher2 = &mut self.hashers[1].clone(); elem.hash(hasher1); elem.hash(hasher2); (hasher1.finish(), hasher2.finish()) } /// m = -1 * (n * ln ε) / (ln 2)^2 fn optimal_bits_count(capacity: usize, err_rate: f64) -> usize { let ln_2_2 = std::f64::consts::LN_2.powf(2f64); (-1f64 * capacity as f64 * err_rate.ln() / ln_2_2).ceil() as usize } /// k = -log_2 ε fn optimal_hashers_count(err_rate: f64) -> usize { (-1f64 * err_rate.log2()).ceil() as usize }\n}","breadcrumbs":"布隆過濾器 Bloom filter » 查詢","id":"269","title":"查詢"},"27":{"body":"Binary search,又稱對數搜尋(logarithmic search),是一個在已排序的序列中,快速找出特定元素的搜尋演算法。二元搜尋的步驟就像玩猜數字,先猜一個數字,告訴你你的猜測比正確答案大或小,再繼續往對的方向猜,捨棄猜錯的另一半。這樣持續進行好幾次猜測,每猜一次,搜尋範圍就縮小一半,因此稱為「二元」搜尋。 二元搜尋有以下幾個特點: 概念簡單,搜尋高效,達到對數執行時間 $O(\\log n)$。 不需額外實作資料結構或配置記憶體空間。 只能搜尋 已排序 的序列。","breadcrumbs":"二元搜尋 Binary search » 二元搜尋 Binary Search","id":"27","title":"二元搜尋 Binary Search"},"270":{"body":"Notation Description $n$ 預期儲存 $n$ 個元素到容器中 $m$ 使用 $m$ 位元的位元陣列來儲存 $k$ 有 $k$ 個雜湊函數計算索引位置 $\\epsilon$ 假陽性錯誤的機率 $\\epsilon$ 和常見的容器資料結構不太一樣,複雜度和 $n$ 元素個數脫鉤,而是和 $k$ 和 $m$ 相關: Operation Time complexity insert(v) $O(k)$ contains(v) $O(k)$ 而儲存空間複雜度則是 $O(m)$。 新增和搜尋一個元素個別需要雜湊 $k$ 次,因此時間複雜度為 $O(k)$ 顯而易見,然而,$k$ 通常相對 $m$ $n$ 是非常小的數字,例如 在 0.1% 錯誤率下儲存一百萬個元素僅需 1.71 MiB 和 7 個雜湊函數 ,實務上直接當作 $O(1)$ 也不算錯。 至於空間複雜度,由於必須事先配置好 $m$ 位元的位元陣列,就算新增的元素 $n \\gt m$,也不會再新增新位元,因此空間使用為 $O(m)$ 個位元。實務上,當 $n$ 成長到接近 $m$ 時,假陽性的機率會大增,不堪使用,進而需要能動態調整儲存空間的 Bloom filter 變形。","breadcrumbs":"布隆過濾器 Bloom filter » 效能","id":"270","title":"效能"},"271":{"body":"經典款 Bloom filter 容易實作,歷久不衰,不過仍有許多可以增進空間: Data locality 不夠好:Bloom filter 底層儲存是位元陣列 隨機存取 ,較不符合現代 CPU 架構的 cache line 使用姿勢。Cloudflare 技術部落格文 When Bloom filters don't bloom 以幽默筆法帶出這個問題,值得一讀。 雜湊次數過多:Bloom filter 每一個新增查詢操作都需要雜湊 $k$ 次,就算利用 double hashing 還是要雜湊兩次,比起其他類似資料結構硬生生多雜湊數次。 位元陣列大小固定:Bloom filter 容器大小固定,給你預期的元素個數後,無法動態調整儲存空間, bits per entry 較高:以類似功能的的資料結構來說,Bloom filter 在空間利用率上,欲維持一定的假陽性機率,每個元素所需位元數相對較高,需要 $1.44 \\log_2{\\frac{1}{\\epsilon}}$ 個位元。 這裡介紹幾款嘗試解決上述問題的 filter,您也可以去 Wikipedia 看看其他更多變形的介紹 。","breadcrumbs":"布隆過濾器 Bloom filter » 變形","id":"271","title":"變形"},"272":{"body":"📚 維基百科 經典款 Bloom filter 之所以無法刪除元素,是因為沒有記錄哪些元素新增/刪除的資訊,而 Counting Bloom filter 顧名思義,原本用一個位元儲存 0 / 1 資訊,延伸為多位元方便儲存計數(counting),有了個別元素增刪資訊,Bloom filter 因此能實作「刪除元素」。搜尋一個 Counting Bloom filter 是否擁有 n 次以上 x,答案一樣和 Bloom filter 類似是「可能有 n 次以上的 x」或是「x 絕對沒有 n 次以上」。事實上,可將 Counting Bloom filter 視為 Bloom filter 的一般化形式(generalized form),而經典款 Bloom filter 反過來可當作只記一次數的特化。 但 Counting Bloom filter 的缺點是空間需求大,端看決定要用幾個位元計數,例如常見用 4 個位元計數,則是經典款的四倍空間消耗。","breadcrumbs":"布隆過濾器 Bloom filter » 可以計數的 Counting Bloom filter","id":"272","title":"可以計數的 Counting Bloom filter"},"273":{"body":"📚 論文連結 Scalable Bloom Filter 的特色是:動態適應空間大小,不需事先知道預期儲存的元素個數。 Scalable Bloom Filter 的實作蠻暴力的,本身是由一至多個經典款 Bloom filter 組成,若一個 filter 滿了(超過 fill ratio),則會新增一個 filter,往後所有新增都在這個新 filter 上面,直到它也滿了,可視為一個 recursive data structure。 至於查詢,這就是 Scalable Bloom Filter 比較弱的地方,查詢會從第一個 filter 開始找,若找不到往下一個 filter 找,找到會沒有下一個 filter 為止。若 filter 數量為 $l$,則查詢的時間複雜度從 $O(k)$ 變成 $O(k \\cdot l)$。 除了初始化大小和假陽性機率率,Scalable Bloom Filter 提供設定成長率和假陽性錯誤緊縮率: 成長因子 $s$:每個新增的 filter 空間大小成長率,論文的經驗法則得出預期小成長趨勢選擇 $s = 2$,有較大成長趨勢則 $s = 4$ 效果好。 錯誤緊縮率 $r$: 每個新增的 filter 會以等比級數得到更緊縮的假陽性機率上限,由於是等比級數,逼近極限時會小於原始機率,這讓整體假陽性機率得以保持。論文中實證 0.8 到 0.9 在元素預期有大成長率下有最佳平均空間利用率。","breadcrumbs":"布隆過濾器 Bloom filter » 動態適應空間大小的 Scalable Bloom Filter","id":"273","title":"動態適應空間大小的 Scalable Bloom Filter"},"274":{"body":"📚 論文連結 (直接讀論文更易懂) 商數過濾器(Quotient filterF)利用 雜湊表 為底層儲存容器,來做集合成員檢測的 AMQ,為了節省空間使用量,Quotient filter 的雜湊表只儲存 partial-key,俗稱指紋(fingerprint),指紋的鍵短空間用量低,副作用是更容易碰撞,代表需要更有效處理雜湊碰撞(hash collision)。 一般來說, 處理雜湊碰撞 有 separate chaining 和 Open addressping 兩大類方法,而 Quotient filter 選擇了另一條詭譎的方法:利用 open addressing 中 linear probing 的方式,對每個 slot 儲存額外資訊,使得我們可辨認碰撞的元素是在相同指紋下的同個 bucket 內。換句話說,額外資訊就是在「透過 linear probing 模擬 separate chaining」。 回到指紋,Quotient filter 實際上並不直接儲存指紋,而是將指紋 $f$ 進一步拆成商 $f_q$ 與餘數 $f_r$,商作為索引位置,而餘數則為真實被儲存的值。透過商和餘數,可重組回推原本的指紋。不需存完整的指紋,又再次減少空間使用量,帥! 簡單總結 Quotient filter 的特性: 使用 linear probing 解決雜湊碰撞,data locality 好,有 cache friendly。 有額外儲存資訊,可在不重建不 rehash filter 的情況下支援刪除、合併、調整空間。 綜合上述兩點,非常適合 LSM-tree 等需要存取 SSD 的場景,大幅減少 I/O。 Throughput 受到雜湊表 load factor 影響較大。 空間用量仍比經典款 Bloom filter 多 10% 到 25%。 Quotient filter 與它等價的 open addressing hash map Image Source: Bender, et al., 2012. \"Don’t Thrash: How to Cache Your Hash on Flash\" .","breadcrumbs":"布隆過濾器 Bloom filter » Quotient filter","id":"274","title":"Quotient filter"},"275":{"body":"📚 論文連結 (有趣易讀,誠摯推薦) Cuckoo hashing 是一種解決雜湊碰撞的方法,透過一次計算兩個雜湊函數產生兩個索引位置,若其中一個位置有空位則插入空位,若都沒有空位,則隨機踢掉一個,被踢掉的再去找下一個替死鬼,直到全部都有位置,或踢掉次數大於一定值則停止。這種行為和杜鵑鳥(cuckoo、布穀鳥)鳩佔鵲巢的生物習性很像,因此得名。 Cuckoo filter 利用 雜湊表 為底層儲存容器,來做集合成員檢測的 AMQ,會和 cuckoo 扯上關係則是因為使用 Cuckoo hashing 解決雜湊碰撞,以增加空間使用率(達到 95% occupancy)。Cuckoo filter 的雜湊表和 Quotient filter 一樣,為了減少空間使用量而只儲存 partial-key。 儲存指紋導致鍵變短,容易碰撞,也代表萬一碰撞,沒辦法透過原始的鍵再次雜湊來找到 Cuckoo hasing 對應另一位置,不過 Cuckoo filter 巧妙利用 XOR 的 identity $x \\oplus x = 0$ 解決問題,double hashing 公式奉上: $$ h_1(x) = hash(x) \\\\ h_2(x) = h_1(x) \\oplus hash(fingerprint(x)) $$ 如此一次,透過 $h_2(x)$ 和指紋的 XOR 就可以得到 $h_1(x)$,公式進而可一般化成: $$j = i \\oplus hash(fingerprint(x))$$ 其中 $j$ 與 $i$ 為同個元素經過兩個雜湊函數中任一的值,神奇吧! Cuckoo filter 的特性是: 支援動態新增與刪除元數。 比其他 filter 變形(例如 Quotient filter)好實作,如果懂 Cuckoo hashing 的話。 查詢效能比經典款 Bloom filter 好,bits per item 也比較低($(\\log_2{\\frac{1}{\\epsilon}} + 2) / \\alpha$,$\\alpha$ 是雜湊表的 load factor,通常為 95.5%)。 缺點是「一定要先新增過一個元素,才能對 filter 刪除該元素」,但這是所有支援刪除的 filter 的通病,不然就會有假陽性發生。 Image Source: Fan, et al., 2014. \"Cuckoo Filter: Practically Better Than Bloom\" .","breadcrumbs":"布隆過濾器 Bloom filter » 支援刪除元素的 Cuckoo filter","id":"275","title":"支援刪除元素的 Cuckoo filter"},"276":{"body":"Burton H. Bloom: Space/Time Trade-offs in Hash Coding with Allowable Errors Wiki: Bloom filter Less Hashing, Same Performance:Building a Better Bloom Filter Onat: Let's implement a Bloom Filter Google Guava: BloomFilter Bloom Filter Calculator","breadcrumbs":"布隆過濾器 Bloom filter » 參考資料","id":"276","title":"參考資料"},"277":{"body":"漢明距離(Hamming distance)是指兩個相同長度的序列(sequence)在相同位置上,有多少個數值不同,對二進位序列來說就是「相異位元的數目」。漢明距離同時也是一種編輯距離,即是將一個字串轉換成另一個字串,需要經過多少次置換操作(substitute)。 漢明距離多應用於編碼理論中的錯誤更正(error-correcting),漢明碼(Hammming code)中計算距離的演算法即為漢明距離。 本次實作的程式碼置於 rust_algorithm_club::hamming_distance rust_algorithm_club::hamming_distance_str API 文件中。","breadcrumbs":"漢明距離 Hamming distance » 漢明距離 Hamming distance","id":"277","title":"漢明距離 Hamming distance"},"278":{"body":"計算相異位元的數目其實就是一堆位元運算,如下: pub fn hamming_distance(source: u64, target: u64) -> u32 { let mut count = 0; let mut xor = source ^ target; // 1 // 2 while xor != 0 { count += xor & 1; // 3 xor >>= 1; // 4 } count as u32\n} 透過 XOR 操作,讓兩序列相異位元為 1,相同位元為 0。 如果 XOR 操作不為零,表示還有相異位元,繼續計算。 將 XOR 結果和 1 做 AND 運算,看最低有效位(least significant digit)是否為 1。 將 XOR 做位元右移,捨棄最低有效位,並回到步驟二。 根據 《The Rust Reference》 指出,Rust 的位元右移在 無符號整數(unsigned)是邏輯右移(logical right shift),也就是直接在最高有效位補 0; 有符號整數(signed)則是算術右移(arithmetic right shift),右移之後符號會被保留。 實際上,Rust 提供了一個原生的計算整數有多少個零的方法 {integer_type}::count_ones ,可以省去自己做位元運算的麻煩,實作如下,帥: pub fn hamming_distance(source: u64, target: u64) -> u32 { (source ^ target).count_ones()\n}","breadcrumbs":"漢明距離 Hamming distance » 位元版實作","id":"278","title":"位元版實作"},"279":{"body":"字串版的漢明距離就相對好懂了。 pub fn hamming_distance_str(source: &str, target: &str) -> usize { let mut count = 0; // 1 let mut source = source.chars(); let mut target = target.chars(); loop { // 2 match (source.next(), target.next()) { // 3 (Some(c1), Some(c2)) if c1 != c2 => count += 1, // 4 (None, Some(_)) | (Some(_), None) => panic!(\"Must have the same length\"), // 5 (None, None) => break, // 6 _ => continue, } } count\n} 字串版同樣吃 source 和 target 兩個輸入。 用 str::chars 讓漢明距離可以比對 Unicode 字串,而非只有 ASCII,而 str::chars 是 Iterator,所以透過 Iterator::next 逐一比較每個字元。 這裡 if c1 != c2 叫做 match guard ,是在模式匹配之外,額外條件式檢查,因此,只有 source 和 target 都有下一個字元而且兩字元不相等才會進入這個匹配分支。 若有任何一個是 None,另外一個是 Some,標示輸入字串的長度不同,直接噴錯。 如果都沒有下一個字元,直接結束迴圈。 其他情況,例如兩個字元相同,就繼續疊代。","breadcrumbs":"漢明距離 Hamming distance » 字串版實作","id":"279","title":"字串版實作"},"28":{"body":"從序列中間的元素開始,比較其與目標值 若該元素為搜尋目標,則結束搜尋。 若該元素較大或小,則將序列切一半,往較小或較大的一半搜尋。 繼續從一半的序列中間的元素開始,重複步驟一到三,直到欲搜尋的序列為空。","breadcrumbs":"二元搜尋 Binary search » 步驟","id":"28","title":"步驟"},"280":{"body":"長度為 n 的序列,計算漢明距離的時間複雜度為 $O(n)$,空間複雜度為 $O(1)$。","breadcrumbs":"漢明距離 Hamming distance » 效能","id":"280","title":"效能"},"281":{"body":"Wiki: Hamming distance 錯誤更正碼簡介","breadcrumbs":"漢明距離 Hamming distance » 參考資料","id":"281","title":"參考資料"},"282":{"body":"萊文斯坦距離(Levenshtein distance)是一種量化兩字串間差異的演算法,代表從一個字串轉換為另一個字串最少需要多少次編輯操作,這種量化指標的演算法稱為 「編輯距離(Edit distance)」 ,不同的演算法允許的編輯操作不盡相同,萊文斯坦距離允許使用: 插入(insertion) 刪除(deletion) 置換(substitution) 三種編輯操作,通常一般實作上三種操作的權重會相同。 萊文斯坦距離概念易理解,實作簡單,常用在簡易拼字修正與建議,為最具代表性的編輯距離演算法。 本次實作的程式碼置於 rust_algorithm_club::levenshtein_distance rust_algorithm_club::levenshtein_distance_naive API 文件中。","breadcrumbs":"萊文斯坦距離 Levenshtein distance » 萊文斯坦距離 Levenshtein distance","id":"282","title":"萊文斯坦距離 Levenshtein distance"},"283":{"body":"","breadcrumbs":"萊文斯坦距離 Levenshtein distance » 概念","id":"283","title":"概念"},"284":{"body":"編輯距離愛拿 kitten 和 sitting 當例子,這兩個單字的編輯距離為 3,可以透過以下步驟,算出 kitten 與 sitting 轉換會經歷三個編輯操作: s itting -> k itting:置換 /k kitt i ng -> kitt e ng:置換 i/e kitten g -> kitten g :刪除最末端 g 等等,怎麼知道 3 就是最少編輯操作呢?我們可以經由下列函數計算萊文斯坦距離: $$ \\operatorname{lev} _{a,b}(i,j) = \\begin{cases} \\max(i,j) & \\text{if} \\min(i,j) = 0, \\\\ \\min{ \\begin{cases} \\operatorname{lev} _{a,b}(i-1,j) + 1, \\\\ \\operatorname{lev} _{a,b}(i,j-1) + 1, \\\\ \\operatorname{lev} _{a,b}(i-1,j-1) + 1 _{(a _{i} \\neq b _{j})} \\end{cases} } & \\text{otherwise.} \\end{cases} $$ $\\operatorname{lev}_{a,b}(i,j)$ 代表字串 $a$ 前 $i$ 個字元,與 $b$ 前 $j$ 個字元的萊文斯坦距離。($i$、$j$ 索引從 1 開始計算) 別怕,這個函數是一個分段函數(piecewise function),由兩個子函數組成,接下來將一一拆解。 首先來看第一個子函數: $$ \\max(i,j) \\hspace{10 pt} \\text{if} \\min(i,j) = 0 $$ 根據函數定義,$i$ $j$ 可以視為 $a$ $b$ 前幾個字元的子字串(substring),所以這個子函數白話翻譯是「若有子字串是空字串,則以較長的子字串長度作為編輯距離」。這其實非常直觀,如果有一空字串和另一個非空字串 abc,那編輯距離一定是插入三次或刪除三次,也就是該字串長度。這帶出萊文斯坦距離一個很重要的上界:「兩字串的編輯距離至多為較長字串的長度」。 第二個子函數稍微複雜,要再從三個函數中取最小值,但剛剛好,這三個函數分別代表了萊文斯坦距離接受的插入、刪除、置換三種操作: $\\operatorname{lev} _{a,b}(i-1,j) + 1$:從 a 轉變到 b 要刪除 1 字元。 $\\operatorname{lev} _{a,b}(i,j-1) + 1$:從 a 轉換到 b 要插入 1 字元。 $\\operatorname{lev} _{a,b}(i-1,j-1) + 1 _{(a _{i} \\neq b _{j})}$:若 a 等於 b,就不需任何操作,直接一起跳過;反之則置換一次。 這是子函數是遞迴函數,每次都會分出三個子程序計算萊文斯坦距離,空間複雜度直逼 $O(3^{m + n - 1})$,驚人! 複雜度的 3 次方會減一是因為只要 m n 其中一個歸零,該路徑就不再遞迴。","breadcrumbs":"萊文斯坦距離 Levenshtein distance » 萊文斯坦的遞迴函數","id":"284","title":"萊文斯坦的遞迴函數"},"285":{"body":"由於上述遞迴複雜度過搞,因此處理萊文斯坦距離,通常會選擇由下至上(bottom-up) 的動態規劃(Dynamic programming),利用一個距離矩陣,將兩個字串所有子字串間的萊文斯坦距離累積紀錄起來,省去重複計算的成本。 首先,先將最基礎的 a、b 其一為空字串時的編輯距離寫上去,因為其中一個為空字串,編輯距離必定是隨著另一字串增加,逐一插入字元(最左方的直行)或刪除字元(上方橫列)。 註:若插入刪除權重相等,對萊文斯坦來說這兩種操作其實一樣,只是由 a 到 b 或 b 到 a 的差異。 圖一:空字串與編輯距離 接下來我們要來算 k 與 s 子字串的編輯距離,按照公式來計算: 紅字上方是執行刪除的累積編輯距離(1),加上刪除操作的成本(1),為 1 + 1 = 2 紅字左方是執行插入的累積編輯距離(1),加上插入操作的成本(1),為 1 + 1 = 2 紅字對角是執行置換的累積編輯距離(1),加上當前 k s 字元不相等的置換成本(1),為 0 + 1 = 1 從刪除、插入、置換的成本中選一個最小值 MIN(2,2,1) 填入矩陣中,完成。 圖二:子字串 k 與 s 的編輯距離 我們再來看一組範例,k 與 si 的距離為 2: 紅字上方是執行刪除的累積編輯距離(2),加上刪除操作的成本(1),為 2 + 1 = 3 紅字左方是執行插入的累積編輯距離(1),加上插入操作的成本(1),為 1 + 1 = 2 紅字對角是執行置換的累積編輯距離(1),加上當前 k i 字元不相等的置換成本(1),為 1 + 1 = 2 從刪除、插入、置換的成本中選一個最小值 MIN(3,2,2) 填入矩陣中,完成。 圖三:子字串 k 與 si 的編輯距離 最後計算出來整個編輯距離矩陣會長得如下,取矩陣最後一行一列的元素就是累積計算出來的 kitten 與 sitting 的編輯距離。 圖三:字串 kitten 與 sitting 的完整編輯距離矩陣 這就是透過動態規劃,將會重複計算的子字串編輯距離紀錄起來,降低原始算式的時空間複雜度,非常簡單暴力的演算法。","breadcrumbs":"萊文斯坦距離 Levenshtein distance » 動態規劃的距離矩陣","id":"285","title":"動態規劃的距離矩陣"},"286":{"body":"萊文斯坦距離的函式簽名很簡單,就是吃兩個 string 回傳一個距離: pub fn levenshtein_distance(source: &str, target: &str) -> usize 首先,先實作第一個子函數 $$ \\max(i,j) \\hspace{10 pt} \\text{if} \\min(i,j) = 0 $$ 當任一字串長度為 0 時(min(i,j)),編輯距離為另一字串之長度。 pub fn levenshtein_distance(source: &str, target: &str) -> usize { if source.is_empty() { return target.len() } if target.is_empty() { return source.len() } /// ...snip\n}","breadcrumbs":"萊文斯坦距離 Levenshtein distance » 實作","id":"286","title":"實作"},"287":{"body":"接下來實作矩陣的部分,這是純天然沒有特別最佳化的版本,要做三件事: 建立一個 a+1 x b+1 的空矩陣,加一是因為要算入 a b 為空字串的狀況。 填入 a b 為空字串時第一列與第一行的編輯距離,也就是全插入和全刪除的狀況。 按照前一節的概念計算整個距離矩陣。 // ...snip let source_count = source.chars().count(); // 1 let target_count = target.chars().count(); let mut distances = vec![vec![0; target_count + 1]; source_count + 1]; // 2 // 3 for i in 1..=source_count { distances[i][0] = i; } for j in 1..=target_count { distances[0][j] = j; } 使用 str::chars 計算字串長度,Rust 的 str::len 回傳的是位元組(byte)的長度,沒有考慮人類閱讀 UTF-8 編碼字串的視覺字元長度。選用 Chars 可以處理絕大部分常見的 UTF-8 字串問題(支援 CJK)。 使用 vec! 巨集建立一個 vector of vector,也就是我們的距離矩陣。 填入第一行和第一列空字串時的狀況,也就是初始化成圖一的情形。 第二步則是撰寫計算距離矩陣編輯操作的邏輯: // ...snip for (i, ch1) in source.chars().enumerate() { for (j, ch2) in target.chars().enumerate() { let ins = distances[i + 1][j] + 1; // 1 let del = distances[i][j + 1] + 1; // 2 let sub = distances[i][j] + (ch1 != ch2) as usize; // 3 distances[i + 1][j + 1] = cmp::min(cmp::min(ins, del), sub); // 4 } } // 5 *distances.last().and_then(|d| d.last()).unwrap() 計算插入操作成本,對應萊文斯坦函數中 $\\operatorname{lev} _{a,b}(i,j-1) + 1$ 子函數。 計算刪除操作成本,對應萊文斯坦函數中 $\\operatorname{lev} _{a,b}(i-1,j) + 1$ 子函數。 計算刪除操作成本,對應萊文斯坦函數中 $\\operatorname{lev} _{a,b}(i-1,j-1) + 1 _{(a _{i} \\neq b _{j})}$,這裡用了 as 運算子,可以在原生型別(primitive type)間互相轉型。 取最小值並紀錄在當前的位置,也就是圖二圖三的綠底紅字。 算完整個距離矩陣後,最後一列最後一行元素就是 a b 兩字串的萊文斯坦距離,你可能好奇,直接呼叫 unwrap 沒有處理錯誤合理嗎?其實在「一定不可能出錯」的地方,呼叫 unwrap 完全可接受,省去不必要的空值處理。 完整程式碼如下: pub fn levenshtein_distance_naive(source: &str, target: &str) -> usize { if source.is_empty() { return target.len(); } if target.is_empty() { return source.len(); } let source_count = source.chars().count(); // 1 let target_count = target.chars().count(); let mut distances = vec![vec![0; target_count + 1]; source_count + 1]; // 2 // 3 for i in 1..=source_count { distances[i][0] = i; } for j in 1..=target_count { distances[0][j] = j; } for (i, ch1) in source.chars().enumerate() { for (j, ch2) in target.chars().enumerate() { let ins = distances[i + 1][j] + 1; // 1 let del = distances[i][j + 1] + 1; // 2 let sub = distances[i][j] + (ch1 != ch2) as usize; // 3 distances[i + 1][j + 1] = cmp::min(cmp::min(ins, del), sub); // 4 } } // 5 *distances.last().and_then(|d| d.last()).unwrap()\n}","breadcrumbs":"萊文斯坦距離 Levenshtein distance » 距離矩陣","id":"287","title":"距離矩陣"},"288":{"body":"Rust 的 Vec 並非簡單的 array,而是在堆積(heap)上配置記憶體,而每一個 Vec 都會帶一個指標和兩個值:指標指向在堆積上的資料,一個值儲存資料當前的長度,一個值儲存容量(圖解請參考 cheats.rs )。所以 Vec 會佔三個 usize 的大小,在 64 位元作業系統中就是 24 個位元組。 但實際上,我們的距離矩陣根本不需要真的矩陣,只需要兩個東西 一個一維的 Vec 一個將二維索引映射到一維空間的函數 再稍微做些小調整就行,如下: // ...snip // 1\n+ let index = |i, j| i * (target_count + 1) + j; // 2\n- let mut distances = vec![vec![0; target_count + 1]; source_count + 1];\n+ let mut distances = vec![0; (target_count + 1) * (source_count + 1)]; for i in 1..=source_count { // 3\n- distances[i][0] = i;\n+ distances[index(i, 0)] = i; } // ...change matrix indexing as above 二維索引轉換成一維索引的閉包(closure) 原本的 Vec> 變為 Vec 的一維矩陣,總元素量不變 改寫所有矩陣索引 若要更有趣的索引方式,可以實作 core::ops::Index trait,這裡就不贅述了。","breadcrumbs":"萊文斯坦距離 Levenshtein distance » 使用一維陣列減少記憶體配置","id":"288","title":"使用一維陣列減少記憶體配置"},"289":{"body":"回想一下,當我們在計算一個編輯距離時,其實只需要取得三個累積的編輯距離:插入 matrix[i, j-1]、刪除 matrix[i-1, j],以及置換 matrix[i-1, j-1]。如圖四 圖四:計算一個編輯距離所需之資料。 這就表示,根本「 無需儲存完整距離矩陣 」,只需儲存前一列的資訊 + 額外一個變數儲存置換操作的成本就行。我們需要儲存的資訊從 (a + 1) x (b + 1) 大小的矩陣,縮小至 a + 1 或 b + 1 長度的一維陣列。 圖五:僅使用一維陣列儲存前一列的資訊。黃色為儲存的陣列,藍色為額外儲存的置換的累積編輯距離 這個最佳化的程式碼,比起矩陣解法又更簡短了,以下一一說明: pub fn levenshtein_distance(source: &str, target: &str) -> usize { // 1 if source.is_empty() { return target.len(); } if target.is_empty() { return source.len(); } // 2 let mut distances = (0..=target.chars().count()).collect::>(); for (i, ch1) in source.chars().enumerate() { let mut sub = i; // 3 distances[0] = sub + 1; // 4 for (j, ch2) in target.chars().enumerate() { let dist = cmp::min( // 5 cmp::min( distances[j], // insert distances[j + 1], // delete ) + 1, sub + (ch1 != ch2) as usize, // substitute ); sub = distances[j + 1]; // 6 distances[j + 1] = dist; // 7 } } *distances.last().unwrap() // 8\n} 和前一段相同,計算空字串的距離。 不需要初始化 a x b 個元素,只需要初始化最多一列的陣列。這裡利用 0..=count 這種 core::ops::RangeInclusive 的寫法,直接產出含有 0 到字串長度的 Vec,這段等同 naive 作法中填入第一列全插入的編輯距離,但省下自己手寫一個迴圈。 將索引 i 作為初始化的刪除編輯距離,等同於 naive 作法中填入第一行全刪除的編輯距離,但尚未用到的距離就跟著索引 i 遞增,不需事先計算了。這個 sub 也等同於置換的累積編輯距離。 置換的累積編輯距離 + 1 就會等於插入的累積編輯距離。 前面步驟配置好陣列後,就可以來計算函數: 插入:索引 j 的元素就是插入的累積編輯距離(圖五紅字左方)。 刪除:索引 j + 1 的元素就是刪除的累積編輯距離(圖五紅字上方)。 置換:sub 變數儲存的就是置換的累積編輯距離(圖五藍色)。 更新 sub 置換的累積編輯距離,也就是這一輪的刪除的累積編輯距離(圖六藍色),以供內層迴圈下個 target char 疊代使用。 將計算所得的編輯距離填入陣列中(圖五紅字/圖六紅字左方),以供外層迴圈計算下一列疊代時使用。 計算完成,取最後一個元素就是兩字串的編輯距離了。 圖六:使用一維陣列疊代計算,藍色為額外儲存的置換的累積編輯距離","breadcrumbs":"萊文斯坦距離 Levenshtein distance » 拋棄矩陣:降低空間複雜度","id":"289","title":"拋棄矩陣:降低空間複雜度"},"29":{"body":"這裡有一個排好序的序列,共有 15 個元素,現在要找尋 9 是否在序列中。 *\n[2, 3, 3, 6, 6, 7, 9, 13, 15, 19, 20, 22, 23, 24, 25] 首先,先找到中間的元素 15 / 2 ~= 8,第八個元素為 13,比 9 大,因此捨棄第八個元素之後的所有元素。 *\n[2, 3, 3, 6, 6, 7, 9, _, _, _, _, _, _, _, _] 接下來繼續對半搜尋,8 / 2 = 4,找尋第四個元素來比對,6 比 9 小,,因此捨棄第四個元素前的所有元素。 *\n[_, _, _, 6, 6, 7, 9, _, _, _, _, _, _, _, _] 對剩下的元素二元搜尋,4 / 2 = 2,並從第四個元素開始計算中點 4 + 2 = 6,取得第六個元素為 7,比 9 小,捨棄 7 之前的元素。 *\n[_, _, _, _, _, 7, 9, _, _, _, _, _, _, _, _] 繼續切一半來搜尋,繼續找中間的元素 2 / 2 = 1,並從第六個元素計算索引位置 6 + 1 = 7,查看第七個元素是 9,終於找到了!","breadcrumbs":"二元搜尋 Binary search » 說明","id":"29","title":"說明"},"290":{"body":"Complexity Worst $O(mn)$ Worst space $O(\\min(m,n))$ Worst space (naive) $O(mn)$ $m$:字串 a 的長度 $n$:字串 b 的長度 顯而易見,萊文斯坦距離最差時間複雜度就是內外兩個迴圈疊代兩個字串的所有字元。而空間複雜度原本是 $m \\cdot n$ 的矩陣,在最佳化動態規劃後,只需兩字串長度 m 或 n 中最小值長度陣列作為儲存空間。","breadcrumbs":"萊文斯坦距離 Levenshtein distance » 效能","id":"290","title":"效能"},"291":{"body":"Wiki: Levenshtein distance Levenshtein distance in Cargo Levenshtein distance in Rust Std (1.0.0-alpha) Ilia Schelokov: Optimizing loop heavy Rust code Turnerj: Levenshtein Distance (Part 2: Gotta Go Fast)","breadcrumbs":"萊文斯坦距離 Levenshtein distance » 參考資料","id":"291","title":"參考資料"},"292":{"body":"感謝您有興趣貢獻 Rust 演算法俱樂部。我們歡迎各種形式的協助。這裡列出幾種任務供你挑選。 增加新的演算法 修正已知的漏洞 改善文件的品質 接下來,將介紹幾個貢獻的注意事項。","breadcrumbs":"貢獻指南 » 貢獻指南","id":"292","title":"貢獻指南"},"293":{"body":"若您決定著手做些厲害的事,請先在 已知 issues 與 pull requests 搜尋,那裡可能已有回報相似的問題。 若沒有重複的問題,請發起一個「進行中(work-in-progress)」的 issue,告知其他人你正在做這項功能。你的時間很寶貴,必須防止重工發生。維護團隊也會追蹤這些 issue 以利管理俱樂部。 有些 meta issue 專門追蹤尚未完成的工作 🚧,可以去看看是否有感興趣的主題。","breadcrumbs":"貢獻指南 » 開始貢獻之前","id":"293","title":"開始貢獻之前"},"294":{"body":"在提交你的貢獻之前,確認成果滿足下列需求: 不要搞壞既有測試。發起 pull request 前執行 cargo test。新的演算法也需包含自身的單元測試。 每個對外介面都需要有文件。這個文件不需要完美無缺,但至少清楚說明它的目的與用法。 儘量維持文章間寫作風格與結構一致。例如:首段需包含簡扼的敘述、解釋效能時請愛用漸進符號。 程式碼撰寫風格應貼近 Rust 的慣例,例如:涉及所有權轉移請使用 into、替額外建構式命名請添加 with 前綴。目前為止,並不強制使用 Clippy 與 rustfmt 。","breadcrumbs":"貢獻指南 » 提交你的成果","id":"294","title":"提交你的成果"},"295":{"body":"","breadcrumbs":"貢獻指南 » 歡迎加入 Rust 演算法俱樂部,願演算法與你同在!","id":"295","title":"歡迎加入 Rust 演算法俱樂部,願演算法與你同在!"},"296":{"body":"","breadcrumbs":"404 » Oops! Something went wrong...","id":"296","title":"Oops! Something went wrong..."},"3":{"body":"線性搜尋 Linear search 二元搜尋 Binary search 內插搜尋 Interpolation search 指數搜尋 Exponential search","breadcrumbs":"Rust Algorithm Club » 搜尋","id":"3","title":"搜尋"},"30":{"body":"Complexity Worst $O(\\log n)$ Best $O(1)$ Average $O(\\log n)$ Worst space $O(1)$ 二元搜尋可以透過分治法(Divide and conquer)遞迴求解,而遞迴的終止條件是序列不能在切兩半。由此可知,二元搜尋的複雜度奠基在要切幾次,子序列長度才會等於 1。設 $n$ 為資料數目,$k$ 為要切幾次才會達成終止條件,可得: $$ \\frac{n}{2^k} = 1 $$ 接下來同乘 $2^k$ 並取對數。 $$ \\frac{n}{2^k} = 1 \\\\ \\Rightarrow 2^k = n \\\\ $$ 再將左式整理一下,得到 $k$。 $$ \\log_2 2^k = log_2 n \\\\ \\Rightarrow k \\cdot \\log_2 2 = log_2 n \\\\ \\Rightarrow k = log_2 n $$ 於是,我們得到二元搜尋時間複雜度為 $O(k) = O(\\log_2 n) = O(\\log n)$。 寫這種式子也許不好理解,我們可以把搜尋過程和每個分支寫成樹狀圖,方便觀察。假設一個數列有七個元素 [1, 2, 3, 4, 5, 6, 7],其二元搜尋所有可能路徑的樹狀圖如下: +---+ | 4 | +---+ / \\ +---+ +---+ | 2 | | 6 | +---+ +---+ / \\ / \\\n+---+ +---+ +---+ +---+\n| 1 | | 3 | | 5 | | 7 |\n+---+ +---+ +---+ +---+ 樹中每一條路徑都代表任意搜尋會經過的步驟,總共有 7 種不同的搜尋路徑,最短路徑僅需要 $\\lfloor{\\log_2 n} = 3 \\rfloor$ 個操作,也就是需要執行「樹高」次的操作。","breadcrumbs":"二元搜尋 Binary search » 效能","id":"30","title":"效能"},"31":{"body":"","breadcrumbs":"二元搜尋 Binary search » 實作","id":"31","title":"實作"},"32":{"body":"二元搜尋概念看似簡單,實際上誤區一堆,不易寫出完全正確的演算法。我們參考 Rust slice binary_search 的實作。先來看看函式宣告的簽名(function signature)。 pub fn binary_search(arr: &[T], target: &T) -> Result where T: PartialOrd 二元搜尋函式宣告中,回傳值大概是最特別的部分。如果有找到目標元素,Result 會是 Ok(目標索引位置),如果沒有找到則回傳 Err(目標值若插入後,不會影響序列排序的位置)。Err 回傳值提供了插入點,非常方便。 再來,T 泛型參數需是 PartialOrd ,這是由於二元搜尋使用排序過後的元素,比起線性搜尋,仍需元素之間相互比較。","breadcrumbs":"二元搜尋 Binary search » 函式宣告","id":"32","title":"函式宣告"},"33":{"body":"市面上常見的實作通常以兩個變數 l 與 r 記錄搜尋範圍的上下界,而我們另闢蹊徑,記錄了 base:搜尋範圍的下界, size:搜尋範圍的長度。 以下是完整實作: pub fn binary_search(arr: &[T], target: &T) -> Result where T: PartialOrd\n{ let mut size = arr.len(); // 1 if size == 0 { return Err(0); } let mut base = 0_usize; while size > 1 { // 2 // mid: [base..size) let half = size / 2; // 2.1 let mid = base + half; if arr[mid] <= *target { // 2.2 base = mid } size -= half; // 2.3 } if arr[base] == *target { // 3 Ok(base) } else { Err(base + (arr[base] < *target) as usize) }\n} 第一部分先取得搜尋範圍 size 以及確定下界為 0_usize。這裡同時檢查若序列長度為零,直接回傳 Err(0),告知呼叫端可直接在 index 0 新增元素。 第二部分就是精髓了,將終止條件設在 size <= 1,以確保迴圈能夠正常結束。 先將搜尋範圍對半切,再與下界 base 相加,算出中點。 另中間元素與目標值比較,如果比較小,則移動下界至中點。 將 size 減半,縮小搜尋範圍。 到了第三部分,base 已經是切到長度為一的序列了,若匹配目標值就直接回傳;若否,需要傳可供目標值插入的位置,將 bool 判斷是轉型成 usize,若 arr[base] 比目標值小,則目標值要加到其後 +1 位置,反之則加在其前 -1 位置。","breadcrumbs":"二元搜尋 Binary search » 函式主體","id":"33","title":"函式主體"},"34":{"body":"只適用已排序序列: 這是使用二元搜尋的前提,千萬不能忽略這重要特性,否則後果絕對大錯特錯。 處理重複元素:一般的實作通常是回傳任意符合目標值的索引位置,就算有重複的元素,仍然不可預期。若要回傳特定位置(leftmost 或 rightmost),則需特別處理。 整數溢位:部分二元搜尋實作會 以兩個變數儲存搜尋範圍上下界的索引位置,而取中點時千萬不可直接將上下界相加再除二,否則很可能整數溢位(integer overflow)。 let mid = (end + start) / 2 // Wrong: integer overflow\nlet mid = start + (end - start) / 2 // Correct 終止條件錯誤:無論如何實作,請將終止條件設為「搜尋範圍為空」,也就是下界大於上界,而不要只比較上下界是否相等。其實搜尋範圍低於一定長度,即可使用線性搜尋替代,避免處理邊界值的麻煩,實務上也幾乎沒有太多效能損失。","breadcrumbs":"二元搜尋 Binary search » 常見誤區與解法","id":"34","title":"常見誤區與解法"},"35":{"body":"","breadcrumbs":"二元搜尋 Binary search » 變形與衍生","id":"35","title":"變形與衍生"},"36":{"body":"Interpolation search 改良自二元搜尋,差別在於,二元搜尋選擇中間的元素作為二分點,而 interpolation search 人如其名,以內插法找尋二分點。在資料平均分佈時,比二元搜尋更高效。欲知後續,待下回 內插搜尋 Interpolation search 分曉。","breadcrumbs":"二元搜尋 Binary search » Interpolation Search","id":"36","title":"Interpolation Search"},"37":{"body":"Exponential search 是一種特殊的二元搜尋,主要用在搜尋無限、無邊界的已排序序列,由於邊界未知長度就未知,無法以傳統二元搜尋找尋中點。Exponential 顧名思義就是不斷比較在 $2^0$,$2^1$ 直到 $2^n$ 的位置上資料是否比目標值大,若較大,再從該位置執行二元搜尋回頭找。詳情請看 指數搜尋 Exponential search 。","breadcrumbs":"二元搜尋 Binary search » Exponential Search","id":"37","title":"Exponential Search"},"38":{"body":"Insertion sort 有一個步驟是在前面已經排完序的資料中,找到適合的地方插入待排序的元素,這部分可透過二元搜尋加快在已排序資料搜尋的速度。詳情請參考 Binary insertion sort 。","breadcrumbs":"二元搜尋 Binary search » Binary Insertion Sort","id":"38","title":"Binary Insertion Sort"},"39":{"body":"Wiki: Binary search algorithm 知乎:二分查找有几种写法?它们的区别是什么?","breadcrumbs":"二元搜尋 Binary search » 參考資料","id":"39","title":"參考資料"},"4":{"body":"簡單排序: 插入排序 Insertion sort 選擇排序 Selection sort 氣泡排序 Bubble sort 希爾排序 Shellsort 高效排序: 堆積排序 Heapsort 快速排序 Quicksort 合併排序 Mergesort 混合排序(更高效): 🚧 內省排序 Introsort 🚧 自適應的合併排序 Timsort 🚧 模式消除快速排序 Pdqsort 特殊排序: 計數排序 Counting sort 桶排序 Bucket sort 基數排序 Radix sort","breadcrumbs":"Rust Algorithm Club » 排序","id":"4","title":"排序"},"40":{"body":"內插搜尋 Interpolation search 為 二元搜尋 的變種,差別在於二分點的選擇方法,二元搜尋選擇中間的元素作為二分點,而內插搜尋則名副其實,以內插法找尋二分點。內插法有許多種類,本次搜尋演算法選擇使用常見的 線性內插(linear interpolation) 實作。 內插搜尋的特色如下: 資料需要是可計算 內插(interpolation) 的數值資料。 對資料分佈敏感,資料均勻分佈時,效能勝過二元搜尋。 資料分佈不均勻時,最差複雜度高達 $O(n)$。","breadcrumbs":"內插搜尋 Interpolation search » 內插搜尋 Interpolation Search","id":"40","title":"內插搜尋 Interpolation Search"},"41":{"body":"確認資料已經排好序。 利用第一個元素 a 與最後的元素 b,以及搜尋上下界 hi 與 lo 位置,作為兩個端點。 利用上述兩點 (lo, a) 與 (hi, b),對搜尋目標計算內插,得到可能的位置。 若該位置上元素較小,則令其為新搜尋下界 a',重複步驟二到三,繼續求內插。 若該位置上元素較大,則令其為新搜尋上界 b',重複步驟二到三,繼續求內插。 若相等,則完成搜尋。 搜尋停止在 a'、b' 兩元素搜尋位置重疊,以及目標值比下界 a' 小或比上界 b' 大。","breadcrumbs":"內插搜尋 Interpolation search » 步驟","id":"41","title":"步驟"},"42":{"body":"迅速說明線性內插法。線性內插法是中學必修的數學概念,給定兩點 $(x_0,y_0)$ 與 $(x_1,y_1)$,欲求在 $[x_0,x_1]$ 區間內直線上 $x'$ 點的 y 值,可以透過斜率公式求解: $$ \\frac{y - y_0}{x' - x_0} = \\frac{y_1 - y_0}{x_1 - x_0 } $$ 接下來就是小學解方程式的事兒了。 Cmglee - CC BY-SA 3.0 回到正題,以下用文字解釋內插搜尋。 這裡有一個已排序有 14 個元素的序列,我們需要從中找出 27 。 [1, 9, 10, 15, 17, 17, 18, 23, 27, 28, 29, 30, 31, 34] 我們將序列索引當作 x 軸,元素值作為 y 軸。可得已知兩點為 $(0, 1)$ 及 $(13, 34)$。 首先,透過斜率公式,計算出在 $y = 27$ 時,$x'$,也就是 27 在序列中可能的位置為 $$x' = \\lfloor 27 / (34 - 1) \\cdot (13 - 0) \\rfloor = 10$$ 查看 arr[10] 為 29,比搜尋目標 27 來得大。將 29 當作我們新的上界,搜尋範變成第 [0, 9] 個元素(29 不需列入搜尋),繼續計算內插 $$x' = \\lfloor 27 / (28 - 1) \\cdot (9 - 0) \\rfloor = 9$$ 查看 arr[9] 為 28,比搜尋目標 27 來得大。將 28 當作我們新的上界,搜尋範變成第 [0, 8] 個元素(28 不需列入搜尋),繼續計算內插 $$x' = \\lfloor 27 / (27 - 1) \\cdot (8 - 0) \\rfloor = 8$$ 查看 arr[8] 為 27,恰恰是搜尋目標 27,搜尋到此結束。","breadcrumbs":"內插搜尋 Interpolation search » 說明","id":"42","title":"說明"},"43":{"body":"Complexity Worst $O(n)$ Best $O(1)$ Average $O(n)$ Average $O(\\log \\log n)$ on uniform distributed data Worst space $O(1)$ $n$:資料筆數 線性內差搜尋的最差時間複雜度為 $O(n)$,也就是每次內差的結果都落在邊界旁,搜尋範圍只縮小一個元素。這種情況容易發生在資料依排序呈指數或對數等非線性函數。例如 $y = 2^x$。 線性內插搜尋對資料的期望是均勻機率分佈(uniform probability distribution)。想求平均時間複雜度 $O(\\log \\log n)$ ,須先透過機率密度函數,計算條件機率,一步步縮小範圍,求得平均誤差,最後求得期望值。這部分計算較為複雜,有興趣的朋友可以參考閱讀資料「 Perl, Y., Itai, A., & Avni, H. (1978). Interpolation search—a log log N search. 」。 PDF of uniform distribution by IkamusumeFan - CC BY-SA 3.0","breadcrumbs":"內插搜尋 Interpolation search » 效能","id":"43","title":"效能"},"44":{"body":"內插搜尋的實作共分為幾部分: 處理空序列狀況。 建立迴圈疊代共用的變數。 計算線性插值的主要迴圈。 將內插值映射到結果的 Result。 首先是函式宣告。 pub fn interpolation_search( arr: &[i32], target: &i32,\n) -> Result 映入眼簾的是 i32,而非泛型參數,為什麼呢?是因為內插搜尋為了計算線性內插,資料僅限定在「數值資料」,而 Rust 並沒有特別一類 Numeric 的型別,自己透過 trait 實作又異常繁瑣,因此先以 i32 代替。而回傳值的部分,與指數搜尋/二元搜尋一模一樣,回傳的 Result 若為 Ok,其值代表目標值在序列內的索引位置; 若為 Err,則是可以將目標值插入序列內又不會破壞排序的位置。 延續數值型別的話題,Rust 社群提供 num crate,定義了各種數值型別與 trait,大整數、複數、虛數、有理數都囊括其中,非常有趣。 再來就是第一第二部分,處理空序列與建立共用變數,非常直觀。 if arr.is_empty() { return Err(0) } let mut hi = arr.len() - 1; let mut lo = 0_usize; let mut interpolant = 0_usize; hi、lo 兩個變數劃定的搜尋範圍上下界。 interpolant 儲存線性插值,代表每次疊代的搜尋位置。 接下來就是主要的迴圈,負責疊代計算內插值。分為三個部分,直接看程式碼先。 loop { let lo_val = arr[lo]; let hi_val = arr[hi]; // 1. if hi <= lo || *target < lo_val || *target > hi_val { break } // 2. The linear interpolation part let offset = (*target - lo_val) * (hi - lo) as i32 / (hi_val - lo_val); interpolant = lo + offset as usize; let mid_val = arr[interpolant]; // 3. if mid_val > *target { hi = interpolant - 1; } else if mid_val < *target { lo = interpolant + 1; } else { break } } 迴圈的三個終止條件,分別為: hi、lo 兩個變數劃定的搜尋範圍重疊,長度為零。 搜尋目標值比上界還大。 搜尋目標值比下界還小。 線性內插的計算方程式,要注意我們是寫 Rust 不是 JavaScript,i32 與 usize 不能混用,要手動轉型。 比較插值與目標值。相等則跳出迴圈;若目標大於小於插值,則縮小搜尋範圍。注意,範圍需手動加減一,排除上下界,以免無限迴圈產生。 最後一部分則是決定線性插值所得的索引位置是否為目標值,並將該值映射到 Result 上。 if *target > arr[hi] { Err(hi + 1) } else if *target < arr[lo] { Err(lo) } else { Ok(interpolant) } 完整的程式碼如下。 pub fn interpolation_search( arr: &[i32], target: &i32,\n) -> Result { // 1. Handle empty sequence. if arr.is_empty() { return Err(0) } // 2. Setup variable storing iteration informaion. let mut hi = arr.len() - 1; let mut lo = 0_usize; let mut interpolant = 0_usize; // 3. Main loop to calculate the interpolant. loop { let lo_val = arr[lo]; let hi_val = arr[hi]; // 3.1. Three condition to exit the loop if hi <= lo || *target < lo_val || *target > hi_val { break } // 3.2. The linear interpolation part let offset = (*target - lo_val) * (hi - lo) as i32 / (hi_val - lo_val); interpolant = lo + offset as usize; let mid_val = arr[interpolant]; // 3.3. Comparison between the interpolant and targert value. if mid_val > *target { hi = interpolant - 1; } else if mid_val < *target { lo = interpolant + 1; } else { break } } // 4. Determine whether the returning interpolant are equal to target value. if *target > arr[hi] { Err(hi + 1) } else if *target < arr[lo] { Err(lo) } else { Ok(interpolant) }\n} 如同 二元搜尋 與 指數搜尋 ,未特別處理重複元素的內插搜尋,並無法預期會選擇哪一個元素。","breadcrumbs":"內插搜尋 Interpolation search » 實作","id":"44","title":"實作"},"45":{"body":"","breadcrumbs":"內插搜尋 Interpolation search » 變形與衍生","id":"45","title":"變形與衍生"},"46":{"body":"Interpolation search tree(IST),姑且稱它「內插搜尋樹」,是一個將內插搜尋結合樹的資料結構。如上述提及,內插搜尋達到 $O(\\log \\log n)$ 的搜尋時間,但僅適用於均勻機率分佈的資料。而 IST 利用動態內插搜尋,讓 1)內插搜尋樹的搜尋可以使用在更多元的 規律機率分佈 的資料中,且 2)可以達到以下的執行效能: $O(n)$ 空間複雜度。 預期有 $O(\\log \\log n)$ 的平攤增減節點操作時間,最差有 $(O \\log n)$。 在規律分佈的資料中,預期搜尋時間為 $O(\\log \\log n)$,最差時間複雜度則為 $O((\\log n)^2)$ 線性時間的循序存取,而取得前後節點或最小值都是常數時間。 更多詳細證明可以閱讀參考資料「 Andersson, A. (1996, October). Faster deterministic sorting and searching in linear space 」。","breadcrumbs":"內插搜尋 Interpolation search » Interpolation Search Tree","id":"46","title":"Interpolation Search Tree"},"47":{"body":"Wiki: Interpolation search Perl, Y., Itai, A., & Avni, H. (1978). Interpolation search—a log log N search. Communications of the ACM, 21(7), 550-553. Andersson, A. (1996, October). Faster deterministic sorting and searching in linear space. In Foundations of Computer Science, 1996. Proceedings., 37th Annual Symposium on (pp. 135-141). IEEE. Linear interpolation visualisation SVG By Cmglee CC BY-SA 3.0 , via Wikimedia Commons. Probability density function of uniform distribution SVG By IkamusumeFan CC BY-SA 3.0 , via Wikimedia Commons.","breadcrumbs":"內插搜尋 Interpolation search » 參考資料","id":"47","title":"參考資料"},"48":{"body":"指數搜尋,又稱為 galloping search,是一種特殊的 二元搜尋 ,主要用在搜尋無限、無邊界的已排序序列。由於邊界未知長度就未知,無法以傳統二元搜尋來找中點。而 Exponential 顧名思義就是從底數為 2,指數為 0 的索引($2^0$ )開始,不斷比較在 $2^1$、$2^2$ 直到 $2^k$ 位置上的值,若比目標值大,則停止指數成長,直接從該位置執行二元搜尋,回頭尋找目標值。 指數搜尋的特點如下: 可以搜尋邊界未知的已排序序列。 縮小搜尋範圍,可比 naïve 的二元搜尋效率高些。 若目標值實際位置很靠近序列前端,效率會非常棒。","breadcrumbs":"指數搜尋 Exponential search » 指數搜尋 Exponential Search","id":"48","title":"指數搜尋 Exponential Search"},"49":{"body":"指數搜尋的步驟只有非常簡單的兩步驟: 依照目標值大小,劃出搜尋範圍。 在上述範圍內執行二元搜尋。 而劃出搜尋範圍這部分也很直觀: 選定一個底數 $k$,通常為 2。 比較 $k^i$ 索引下的值是否比目標值大,$i$ 從零開始。 若較小,指數加一 $k^{i + 1}$ 後繼續重複步驟二比較。 若較大,停止比較,得搜尋範圍為 $k^{i - 1}$ 到 $k^i$。","breadcrumbs":"指數搜尋 Exponential search » 步驟","id":"49","title":"步驟"},"5":{"body":"","breadcrumbs":"Rust Algorithm Club » 資料結構","id":"5","title":"資料結構"},"50":{"body":"這裡有個排好序的序列,我們要尋找其中是否有 22 這個數字。 *\n[2, 3, 3, 6, 6, 7, 9, 13, 15, 19, 20, 22, 23, 24, 25] 首先,先尋找 $2^0 = 1$ 位置上的數字是否超過 22。3 < 22,很明顯沒有。 * * *\n[2, 3, 3, 6, 6, 7, 9, 13, 15, 19, 20, 22, 23, 24, 25] 再來,連續看看 $2^1$:3 < 22 $2^2$:6 < 22 $2^3$:15 < 22 也都沒有超越 22。 *\n[2, 3, 3, 6, 6, 7, 9, 13, 15, 19, 20, 22, 23, 24, 25] _, _ 最後,一口氣將指數加到 4,看看$2^4$ 上的數字是否大於 22。哎呀,$2^4 = 16$,的位置已經超出序列長度,因此取至序列最後一個數字作為比較對象。25 > 22,找到了! 得到搜尋的範圍是 $$2^{4-1} < x < \\text{array.length} < 2^{4}$$","breadcrumbs":"指數搜尋 Exponential search » 說明","id":"50","title":"說明"},"51":{"body":"Complexity Worst $O(\\log i)$ Best $O(1)$ Average $O(\\log i)$ Worst space $O(1)$ $i$:目標值在序列中實際的索引位置。 指數搜尋的複雜度分為兩部分分析:","breadcrumbs":"指數搜尋 Exponential search » 效能","id":"51","title":"效能"},"52":{"body":"設 $i$ 為目標值在序列中實際的索引位置,則搜尋上界,指數增加的操作需執行 $\\lceil \\log(i) \\rceil$ 次,例如匹配目標值的搜尋結果位於序列第 9 個,則指數需增加 $\\lceil \\log(9) \\rceil = 4$ 次,上界才會超過目標值。我們設這部分的複雜度為 $O(log i)$。","breadcrumbs":"指數搜尋 Exponential search » 劃定搜尋範圍","id":"52","title":"劃定搜尋範圍"},"53":{"body":"第二部分就是二元搜尋,複雜度為 $O(log n)$,$n$ 為搜尋範圍的長度。根據第一部分,可以得知範圍長度為 $2^{\\log i} - 2^{\\log{i - 1}} = 2^{log{i - 1}}$ 個元素,帶入二元搜尋的複雜度,計算出第二部分的複雜度為 $log (2^{\\log{i - 1}}) = \\log{(i)} - 1 = O(\\log i)$。 最後,將兩部分的複雜度合起來,就是指數搜尋的時間複雜度了。 $$O(\\log i) + O(\\log i) = 2 O(\\log i) = O(\\log i)$$","breadcrumbs":"指數搜尋 Exponential search » 執行二元搜尋","id":"53","title":"執行二元搜尋"},"54":{"body":"本次實作有邊界的指數搜尋,主要分為三個部分: 處理空序列的狀況。 利用指數,決定搜尋範圍。 執行二元搜尋,並將輸出結果映射回原始序列。 話不多說,直接看程式碼。 use crate::searching::binary_search; pub fn exponential_search(arr: &[T], target: &T) -> Result where T: PartialOrd\n{ // 1. Handle empty scenario. let size = arr.len(); if size == 0 { return Err(0); } // 2. Determine searching boundaries. let mut hi = 1_usize; // Upper bound. while hi < size && arr[hi] < *target { hi <<= 1; } let lo = hi >> 1; // Lower bound. // 3. Do binary search. binary_search(&arr[lo..size.min(hi + 1)], target) .map(|index| lo + index) .map_err(|index| lo + index)\n} 和二元搜尋同,遇到空序列就返回 Err(0) 告知呼叫端可新增資料在位置 0。 決定搜尋上下界,只要 上界不超過序列長度,且 arr[hi] 小於目標值,就讓上界指數成長。這裡用位元左移運算子(bitwise left shift)實作乘以 2。 找到上界後,再將上界除以 2(位元右移),就是下界了。 確定範圍後,利用上下界切序列的 sub slice 作為引數,傳遞給二元搜尋。要注意的是,為了避免 sub slice 超出邊界,上界需在 size 與 hi + 1 之間找最小值。 由於回傳結果的位置是以 sub slice 起始,需加上位移量(下界 lo)才會對應原始 slice 的位置。 由於內部使用 二元搜尋 ,若該二元搜尋沒有處理重複元素的狀況,指數搜尋連帶無法預期這個行為。","breadcrumbs":"指數搜尋 Exponential search » 實作","id":"54","title":"實作"},"55":{"body":"Wiki: Exponential search","breadcrumbs":"指數搜尋 Exponential search » 參考資料","id":"55","title":"參考資料"},"56":{"body":"Insertion sort 是最簡單的排序法之一,比起 quicksort 等高效的排序法,對大資料的處理效能較不理想。其演算法是將欲排序元素直接插入正確位置,因而得名。 Insertion sort 基本特性如下: 實作簡單易理解。 資料量少時較高效,且比其他 $O(n^2) $ 的排序法高效(selection sort/bubble sort)。 自適應排序 :可根據當前資料排序情形加速排序,資料越接近排序完成,效率越高。 穩定排序 :相同鍵值的元素,排序後相對位置不改變。 原地排序 :不需額外花費儲存空間來排序。 即時演算法 :可處理逐步輸入的資料,不需等資料完全備妥。","breadcrumbs":"插入排序 Insertion sort » 插入排序 Insertion Sort","id":"56","title":"插入排序 Insertion Sort"},"57":{"body":"將序列分為未排序與部分排序兩個區域。 取第一個元素 ,將該元素視為已排序。 取出下一元素 ,該元素將插入序列的部分排序區域。 尋找正確位置 :若部分排序元素比新元素大,則互換位置。並重複步驟 2 - 3,直到部分排序元素小於等於新元素。 插入元素 :將新元素 插入 最後的位置。 重複步驟 2 - 4,直到排序完成。 簡而言之,即是每次取一個元素,尋找並插入該元素在部分排序區域的排序位置,再逐步把序列單邊排序完成。 Insertion sort 非常簡單,看動畫就能明瞭。","breadcrumbs":"插入排序 Insertion sort » 步驟","id":"57","title":"步驟"},"58":{"body":"Complexity Worst $O(n^2) $ Best $O(n) $ Average $O(n^2) $ Worst space $O(1) $ auxiliary 最佳時間複雜度發生在資料已完成排序的狀況下,insertion sort 只需執行最外層的迴圈 $n $ 次。 最差時間複雜度發生在資料完全相反時,insertion sort 每取得一個新元素是,都需將資料插入序列最前面,,因此所需的操作如下( $c $ 為任意常數): $$ c \\cdot 1 + c \\cdot 2 + c \\cdot 3 \\cdots + c \\cdot (n - 1) = \\frac{c(n - 1 + 1)(n - 1)}{2}$$ 最後等於 $$\\frac{cn^2}{2} - \\frac{cn}{2}$$ 捨去低次項,得到時間複雜度為 $O(n^2) $。","breadcrumbs":"插入排序 Insertion sort » 效能","id":"58","title":"效能"},"59":{"body":"簡單實作的程式碼如下: pub fn insertion_sort(arr: &mut [i32]) { for i in 1..arr.len() { // 1 let mut j = i; while j > 0 && arr[j - 1] > arr[j] { // 2 arr.swap(j - 1, j); j -= 1; } }\n} 外層迴圈疊代整個序列。並取出 index i,arr[i] 是待排序的元素,index 比 i 小的元素則組成已排序的部分序列。 內層迴圈負責元素比較,決定待排序元素該從何處插入,若前一個元素比待排元素大,則置換兩元素,並繼續往下尋找正確的插入點。直到 j == 0 或待排元素比任何已排序元素都大為止。","breadcrumbs":"插入排序 Insertion sort » 實作","id":"59","title":"實作"},"6":{"body":"堆疊 Stack 佇列 Queue 雙端佇列 Deque","breadcrumbs":"Rust Algorithm Club » 堆疊與佇列","id":"6","title":"堆疊與佇列"},"60":{"body":"","breadcrumbs":"插入排序 Insertion sort » 變形","id":"60","title":"變形"},"61":{"body":"在一般演算法討論中,通常以簡單的型別如 i32 來探討並實作。在真實世界中,做哪種操作,用哪種語言,都會影響到實際效能。例如 Python 的比較操作相對於置換元素,成本高出不少,是因為每個物件在 Python 的比較需動態檢查是否實作 __lt__ __gt__ 等方法才能進行比較。所以 Python 排序法實作就要特別注意減少比較操作的次數。 Binary insertion sort 的目的就是減少內層迴圈的比較次數。在內層迴圈開始之前,使用 binary search 搜尋新元素應要插入哪個位置,最多僅需 $\\log_2n $ 次比較。但 binary insertion sort 的複雜度依舊是 $O(n^2) $,因為除了比較之外,仍需置換(swap)、賦值(assign)等基礎操作。 Binary insertion sort 的程式碼和一般的 insertion sort 差不了多少,我們這裡使用 slice 內建的 binary_search 來找尋插入點。 pub fn binary_insertion_sort(arr: &mut [i32]) { for i in 1..arr.len() { let val = arr[i]; let mut j = i; let pos = match arr[..i].binary_search(&val) { // 1 Ok(pos) => pos, // 2 Err(pos) => pos, }; while j > pos { // 3 arr.swap(j - 1, j); j -= 1; } }\n} 先限制 binary_search 範圍,取出 sorted pile arr[..i]。再對 slice 執行 binary_search。 binary_search 回傳一個 Result 型別,找到時回傳 Ok(index 值),找無時回傳 Err(不影響排序穩定度的插入點),這個 Err 的設計巧妙解決新值插入的問題。 和普通 insertion sort 雷同,從插入點至 sorted pile 疊代到末端以進行排序,省下不少比較操作。","breadcrumbs":"插入排序 Insertion sort » Binary Insertion Sort","id":"61","title":"Binary Insertion Sort"},"62":{"body":"Wiki: Insertion sort CPython: listsort note Sorting GIF by Swfung8 (Own work) CC BY-SA 3.0 via Wikimedia Commons.","breadcrumbs":"插入排序 Insertion sort » 參考資料","id":"62","title":"參考資料"},"63":{"body":"Selection sort 是最易實作的入門排序法之一,會將資料分為 sorted pile 與 unsorted pile,每次從 unsorted pile 尋找最大/最小值,加入 sorted pile 中。 Selection sort 的特性如下: 最簡單的排序法之一。 對小資料序列排序效率較高。 不穩定排序 :排序後,相同鍵值的元素相對位置可能改變。 原地排序 :不需額外花費儲存空間來排序。","breadcrumbs":"選擇排序 Selection sort » 選擇排序 Selection sort","id":"63","title":"選擇排序 Selection sort"},"64":{"body":"將資料分為 sorted pile 與 unsorted pile。 從 unsorted pile 尋找最小值。 置換該最小值元素與 unsorted pile 第一個元素。 重複步驟 2 - 3,直到排序完成。 注意,這個 naïve 的 selection sort 實作為 不穩定排序 。 Joestape89 - CC BY-SA 3.0","breadcrumbs":"選擇排序 Selection sort » 步驟","id":"64","title":"步驟"},"65":{"body":"為什麼 naïve 的 selection sort 會是不穩定排序? 假定有一個序列要遞增排序,其中有重複的 2 元素,我們將其標上 2a、2b 以利辨識。 [2a, 3, 4, 2b, 1] 開始疊代找出最小值並指環。 * *\n[1, 3, 4, 2b, 2a] # 1. 置換 2a, 1 * *\n[1, 2b, 4, 3, 2a] # 2. 置換 3, 2b * *\n[1, 2b, 2a, 3, 4] # 3. 置換 4, 2a 有沒有發現,2a 與 2b 的相對順序顛倒了呢? 首先,回想一下穩定排序的定義: 相同鍵值的元素,排序後相對位置不改變。 問題出在 naïve selection sort 是以置換的方式排序每次疊代的最小值。若我們將置換(swap)改為插入(insert),那麼 selection sort 就會是穩定排序,但相對地,需要位移剩餘未排序的元素,除非使用 linked list 或其他提供 $O(1) $ insertion 的資料結構,不然就會多出額外 $O(n^2) $ 的寫入成本。","breadcrumbs":"選擇排序 Selection sort » 說明","id":"65","title":"說明"},"66":{"body":"Complexity Worst $O(n^2) $ Best $O(n^2) $ Average $O(n^2) $ Worst space $O(1) $ auxiliary 對於接近排序完成的序列,selector sort 並無法有自適應的方式加快排序疊代。第一個元素要做 $n - 1 $ 次比較,第二個 $n - 2 $ 次,總比較次數如下: $$ (n -1) + (n-2) + \\cdots + 1 = \\sum_{i=1}^{n-1} i = \\frac{n(n - 1)}{2}$$ 因此無論序列是否排序完成,selection sort 仍需執行 $n^2 $ 次比較,時間複雜度為 $O(n^2) $。","breadcrumbs":"選擇排序 Selection sort » 效能","id":"66","title":"效能"},"67":{"body":"簡單實作如下: pub fn selection_sort(arr: &mut [i32]) { let len = arr.len(); for i in 0..len { // 1 let mut temp = i; for j in (i + 1)..len { // 2 if arr[temp] > arr[j] { temp = j; } } arr.swap(i, temp); // 3 }\n} 外層迴圈負責儲存當前要排序的 index i 的位置。 內層迴圈負責在 unsorted pile 範圍 [i, len) 找最小值。 外層迴圈在找到最小值之後,置換兩元素。 眼尖的人會發現,內外兩層迴圈的 upper bound 都是 len,這樣是否內側迴圈會 out of bound?Rust 的 range operator(core::ops::Range)實作 Iterator trait 時,有檢查 range.start < range.end,因此這個寫法並不會有出界問題,但會多跑一次無意義的疊代。","breadcrumbs":"選擇排序 Selection sort » 實作","id":"67","title":"實作"},"68":{"body":"","breadcrumbs":"選擇排序 Selection sort » 變形","id":"68","title":"變形"},"69":{"body":"Heapsort 是一個高效的排序法,使用 selection sort 融合 heap 這種半排序的資料結構,讓時間複雜度進化至 $O(n \\log n) $。更多詳情可以參考 這篇介紹 。","breadcrumbs":"選擇排序 Selection sort » Heapsort","id":"69","title":"Heapsort"},"7":{"body":"鏈結串列概述 單向鏈結串列 Singly linked list 🚧 雙向鏈結串列 Doubly linked list 🚧 循環鏈結串列 Circular linked list","breadcrumbs":"Rust Algorithm Club » 鏈結串列","id":"7","title":"鏈結串列"},"70":{"body":"Wiki: Selection sort Why Selection sort can be stable or unstable Sorting GIF by Joestape89 CC BY-SA-3.0 via Wikimedia Commons.","breadcrumbs":"選擇排序 Selection sort » 參考資料","id":"70","title":"參考資料"},"71":{"body":"Bubble sort 是最簡單的排序法之一,由於排序時每個元素會如同泡泡般,一個一個浮出序列頂部,因而得名。由於其簡單好理解,名稱又有趣,常作為第一個學習的入門排序法。不過其效率不彰,甚至不如同為 quardratic time 的 insertion sort。Bubble sort 的原理很平凡,就是相鄰兩兩元素互相比較,如果大小順序錯了,就置換位置。再往下一個 pair 比較。 Bubble sort 的特性如下: 又稱為 sinking sort 。 穩定排序 :相同鍵值的元素,排序後相對位置不改變。 原地排序 :不需額外花費儲存空間來排序。","breadcrumbs":"氣泡排序 Bubble sort » 氣泡排序 Bubble sort","id":"71","title":"氣泡排序 Bubble sort"},"72":{"body":"比較兩個相鄰元素,若首個元素比次個元素大,置換兩者的位置。 依序對相鄰元素執行步驟一,直到抵達序列頂端,此時頂端元素排序完成。 重複步驟 1 - 2 的整個序列疊代,直到任何一次疊代沒有執行元素置換。 Swfung8 - CC BY-SA 3.0","breadcrumbs":"氣泡排序 Bubble sort » 步驟","id":"72","title":"步驟"},"73":{"body":"給定一組序列 [5, 3, 8, 7, 2],以 bubble sort 遞增排序。以 ASCII diagram 表示: 第一次疊代 * * * *\n[5, 3, 8, 7, 4] -> [3, 5, 8, 7, 4] # 置換 3 與 5 * * * *\n[3, 5, 8, 7, 4] -> [3, 5, 8, 7, 4] # 不需置換 * * * *\n[3, 5, 8, 7, 4] -> [3, 5, 7, 8, 4] # 置換 7 與 8 * * * *\n[3, 5, 7, 8, 4] -> [3, 5, 7, 4, 8] # 置換 4 與 8,8 已排好序 第二次疊代 * * * *\n[3, 5, 7, 4, 8] -> [3, 5, 7, 4, 8] # 不需置換 * * * *\n[3, 5, 7, 4, 8] -> [3, 5, 7, 4, 8] # 不需置換 * * * *\n[3, 5, 7, 4, 8] -> [3, 5, 4, 7, 8] # 置換 4 與 7 * * * *\n[3, 5, 4, 7, 8] -> [3, 5, 4, 7, 8] # 不需置換 naïve bubble sort 會跑完整個序列,即是已排序完成。 第三次疊代 * * * *\n[3, 5, 4, 7, 8] -> [3, 5, 4, 7, 8] # 不需置換 * * * *\n[3, 5, 4, 7, 8] -> [3, 4, 5, 7, 8] # 置換 4 與 5 * * * *\n[3, 5, 4, 7, 8] -> [3, 4, 5, 7, 8] # 不需置換 * * * *\n[3, 5, 4, 7, 8] -> [3, 4, 5, 7, 8] # 不需置換 第四次疊代 * * * *\n[3, 4, 5, 7, 8] -> [3, 4, 5, 7, 8] # 不需置換 * * * *\n[3, 4, 5, 7, 8] -> [3, 4, 5, 7, 8] # 不需置換 * * * *\n[3, 4, 5, 7, 8] -> [3, 4, 5, 7, 8] # 不需置換 * * * *\n[3, 4, 5, 7, 8] -> [3, 4, 5, 7, 8] # 不需置換 很簡單的排序法!","breadcrumbs":"氣泡排序 Bubble sort » 說明","id":"73","title":"說明"},"74":{"body":"Complexity Worst $O(n^2) $ Best $O(n) $ Average $O(n^2) $ Worst space $O(1) $ auxiliary","breadcrumbs":"氣泡排序 Bubble sort » 效能","id":"74","title":"效能"},"75":{"body":"Bubble sort 總共需要 $n - 1 $ 次疊代,每次疊代至少需要執行 $n - 1 - i $ 置換( $i $ 為第幾次疊代),總共需要疊代 $$\\sum_{i=0}^{n-1} (n - i - 1) = n^2 - \\sum_{i=0}^{n-1}i - n = n^2 - \\frac{n(n - 1)}{2} - n = \\frac{n^2}{2} - \\frac{n}{2}$$ 次,因此,時間複雜度為 $O(n^2) $。 Bubble sort 在已排序完成的序列上,只需要疊代序列一次,發現完全沒有置換任何元素,即停止排序,可達到最佳時間複雜度。","breadcrumbs":"氣泡排序 Bubble sort » Time complexity","id":"75","title":"Time complexity"},"76":{"body":"Bubble sort 簡單實作如下: pub fn bubble_sort(arr: &mut [i32]) { let mut swapped = true; // 1 while swapped { swapped = false; for i in 1..arr.len() { // 2 if arr[i - 1] > arr[i] { arr.swap(i - 1, i); swapped = true // 3 } } }\n} 建立一個旗標,標誌該次疊代是否有元素置換。 內層迴圈依序比較兩兩相鄰元素。 若有任何置換動作,將旗標標誌為「已置換(true)」。 倘若記錄已排好序的元素位置,雖然複雜度仍是 $O(n^2) $,但如此以來,每次疊代都可少一次元素比較,對比較操作成本高的語言或實作來說,仍不失為最佳化的方法。程式碼如下: pub fn bubble_sort_optimized(arr: &mut [i32]) { let mut new_len: usize; let mut len = arr.len(); // 1 loop { new_len = 0; for i in 1..len { if arr[i - 1] > arr[i] { arr.swap(i - 1, i); new_len = i; // 2 } } if new_len == 0 { // 3 break; } len = new_len; // 4 }\n} 將當前的序列長度記錄到 len。 內層迴圈負責比較、置換,以及記錄未排序部分的序列長度到 new_len。 若未排序部分 new_len 為零,代表排序完成。 外層迴圈將新長度值 new_len 賦予 len,下一次疊代就可少做一次比較。","breadcrumbs":"氣泡排序 Bubble sort » 實作","id":"76","title":"實作"},"77":{"body":"Wiki: Bubble sort Sorting GIF was created by Swfung8 (Own work) CC BY-SA 3.0 via Wikimedia Commons.","breadcrumbs":"氣泡排序 Bubble sort » 參考資料","id":"77","title":"參考資料"},"78":{"body":"眾所周知, Insertion sort 用在幾乎完成排序的序列上非常高效,換句話說,當元素置換不需移動太遠時,效率很高。反之,如果有元素錯位非常遙遠,效能就會大打折扣。Shellsort 以一個 gap sequence 將資料依指定的間隔(gap)分組進行 insertion sort,使得較遠的元素能夠快速歸位,下一次的排序就會因前次排序結果愈來愈接近完成而加速。 Shellsort 最後一個 gap 必定是 1,也就是排序會退化成 insertion sort,此時大部分元素皆排序完成,insertion sort 會非常高效。 Shellsort 特性如下: 自適應排序 :可根據當前資料排序情形加速排序,資料越接近排序完成,效率越高。 不穩定排序 :排序後,相同鍵值的元素相對位置可能改變。 原地排序 :不需額外花費儲存空間來排序。 可視為一般化(Generalizaion)的 insertion sort 。","breadcrumbs":"希爾排序 Shellsort » 希爾排序 Shellsort","id":"78","title":"希爾排序 Shellsort"},"79":{"body":"Shellsort 分為兩個步驟: 決定一組 gap sequence。 疊代 gap sequence 進行分組排序,每次執行有間隔的 insertion sort。也就是每個元素與其相鄰 gap 的元素比較與置換。 最後一次排序(gap = 1)會退化為 insertion sort,完成整個排序。","breadcrumbs":"希爾排序 Shellsort » 步驟","id":"79","title":"步驟"},"8":{"body":"關聯容器概述 雜湊表 Hash map 🚧 有序映射表 Ordered map 🚧 多重映射表 Multimap 集合 Set 布隆過濾器 Bloom filter","breadcrumbs":"Rust Algorithm Club » 關聯容器","id":"8","title":"關聯容器"},"80":{"body":"Shellsort 的效率取決於 gap sequence 的選擇,這邊舉幾個常見的 gap sequence: Sequence Marcin Ciura 1, 4, 10, 23, 57, 132, 301, 701 $2^{k} - 1 $ 1, 3, 7, 15, 31, 63,... $\\lfloor {\\frac {N}{2^k}} \\rfloor $ $\\lfloor {\\frac {N}{2}} \\rfloor $, $\\lfloor {\\frac {N}{4}} \\rfloor $, ..., 1 感受一下 gap sequence 為 23, 10, 4, 1 的 shellsort 吧。","breadcrumbs":"希爾排序 Shellsort » Gap Sequneces","id":"80","title":"Gap Sequneces"},"81":{"body":"Shellsort 其實就是進行好幾次不同 gap 的 insertion sort,以下用 ASCII diagram 解釋。 假定這裡有一個序列需要遞增排序。 [5, 3, 8, 7, 4, 9, 6, 2] 我們選擇最簡單的 $\\lfloor {\\frac {N}{2^k}} \\rfloor $ gap sequence 來排序。我們以 星號 標示出每次 insertion sort 對應排序 首先算出第一個 gap 為 $8 / 2^1 = 4 $。開始 insertion sort。 * *\n[5, 3, 8, 7, 4, 9, 6, 2] -> (sort subsequence [5, 4]) * *\n[4, 3, 8, 7, 5, 9, 6, 2] -> (skip) * *\n[4, 3, 8, 7, 5, 9, 6, 2] -> (sort subsequence [8, 6]) * *\n[4, 3, 6, 7, 5, 9, 8, 2] -> (sort subsequence [7, 2]) [4, 3, 8, 2, 5, 9, 6, 7] 再來算出第二個 gap 為 $8 / 2^2 = 2 $。開始 insertion sort。 * *\n[4, 3, 8, 2, 5, 9, 6, 7] -> (skip) * *\n[4, 3, 8, 2, 5, 9, 6, 7] -> (sort subsequence [3, 2]) * * *\n[4, 2, 8, 3, 5, 9, 6, 7] -> (sort subsequence [4, 8, 5]) * * *\n[4, 2, 5, 3, 8, 9, 6, 7] -> (skip) * * * *\n[4, 2, 5, 3, 8, 9, 6, 7] -> (sort subsequence [4, 5, 8, 6]) * * * *\n[4, 2, 5, 3, 6, 9, 8, 7] -> (sort subsequence [2, 3, 9, 7])\n[4, 2, 5, 3, 6, 7, 8, 9] 再來進行第三次排序。gap 為 $8 / 2^3 = 1 $,shellsort 退化至 insertion sort,但前一次結果已經很接近排序完成,insertion sort 可以幾乎在 one pass 完成排序。 Insertion sort 的 ASCII diagram 我們就不展示了,請參考 Insertion sort 。","breadcrumbs":"希爾排序 Shellsort » 說明","id":"81","title":"說明"},"82":{"body":"Complexity Worst $O(n^2) $ ~ $O(n \\log^2 n) $ (Depends on gap sequence) Best $O(n \\log n) $ Average Depends on gap sequence Worst space $O(1) $ auxiliary Shellsort 的複雜度不容易計算,取決於 gap sequence 怎麼安排,太少 gap 會讓速度太接近 insertion sort,太多 gap 則會有過多額外開銷。目前已知的 gap sequence 中,最差時間複雜度可以達到 $O(n \\log^2 n) $,有著不錯的表現。有興趣可以參考 這篇文章 。","breadcrumbs":"希爾排序 Shellsort » 效能","id":"82","title":"效能"},"83":{"body":"我們這裡以 Marcin 的 Paper 中提到的經驗式為例,首先,先建立一個 gap sequence 的常數。 /// Marcin Ciura's gap sequence.\npub const MARCIN_GAPS: [usize; 8] = [701, 301, 132, 57, 23, 10, 4, 1]; 再來就是主程式的部分,總共會有三個迴圈, 最外層是疊代 gap sequence, 中間層是疊代整個資料序列, 內層就是每個元素的插入排序動作。 /// Shellsort\npub fn shellsort(arr: &mut [i32]) { let len = arr.len(); for gap in MARCIN_GAPS.iter() { // 1 let mut i = *gap; // 4 while i < len { // 2 let mut j = i; while j >= *gap && arr[j - gap] > arr[j] { // 3 arr.swap(j - *gap, j); j -= *gap; } i += 1; } }\n} 最外層的迴圈,利用 iter() trait 產生疊代器,疊代 gap sequence。 中間層迴圈,控制 i 是否超出資料序列,以疊代整合資料序列。 最內層迴圈,執行插入動作,將每個元素置換到正確位置。 由於 gap 的型別是 &usize,需透過 *gap dereference 得到 usize 型別。","breadcrumbs":"希爾排序 Shellsort » 實作","id":"83","title":"實作"},"84":{"body":"Wiki: Shellsort Best Increments for the Average Case of Shellsort, M. Ciura, 2001 Shellsort and Sorting Networks (Outstanding Dissertations in the Computer Sciences)","breadcrumbs":"希爾排序 Shellsort » 參考資料","id":"84","title":"參考資料"},"85":{"body":"Heapsort(堆積排序)可以看作是 selection sort 的變形,同樣會將資料分為 sorted pile 與 unsorted pile,並在 unsorted pile 中尋找最大值(或最小值),加入 sorted pile 中。 和 selection sort 不同之處是,heapsort 利用 堆積(heap) 這種半排序(partially sorted)的資料結構輔助並加速排序。 Heapsort 的特性如下: 使用 heap 資料結構輔助,通常使用 binary heap 。 不穩定排序 :排序後,相同鍵值的元素相對位置可能改變。 原地排序 :不需額外花費儲存空間來排序。 較差的 CPU 快取 :heap 不連續存取位址的特性,不利於 CPU 快取 。","breadcrumbs":"堆積排序 Heapsort » 堆積排序 Heapsort","id":"85","title":"堆積排序 Heapsort"},"86":{"body":"Heapsort 的演算法分為兩大步驟: 將資料轉換為 heap 資料結構(遞增排序用 max-heap, 遞減排序選擇 min-heap)。 逐步取出最大/最小值,並與最後一個元素置換。具體步驟如下: 交換 heap 的 root 與最後一個 node,縮小 heap 的範圍(排序一筆資料,故 heap 長度 -1)。 更新剩下的資料,使其滿足 heap 的特性,稱為 heap ordering property。 重複前兩個步驟,直到 heap 中剩最後一個未排序的資料。 透過 GIF 動畫感受一下 heapsort 的威力吧!","breadcrumbs":"堆積排序 Heapsort » 步驟","id":"86","title":"步驟"},"87":{"body":"在開始之前,定義幾個 heap 常用名詞: Heap ordering property :一個 heap 必須要滿足的條件。以 heap 種類不同有幾種變形。 min-heap property :每個結點皆大於等於其父節點的值,且最小值在 heap root。 max-heap property :每個結點皆小於等於其父節點的值,且最大值在 heap root。 而 heapsort 主要分為兩個部分: Heapify :將陣列轉換為 heap 資料結構(heapify)。 Sorting :不斷置換 heap root 與最後一個元素來排序,並修正剩餘未排序資料使其符合 heap order。 這裡有一個未排序的序列,將以遞增方向排序之。 [17, 20, 2, 1, 3, 21] 首先,將資料轉換為 heap 資料結構,這個步驟即時 heapify 。由於是遞增排序,我們採用 max-heap(最大元素在 root)。 [21, 20, 17, 1, 3, 2] 對應的二元樹(binary tree)的圖形如下: 再來就是 排序的部分 ,Max-heap 會將最大的元素擺在 root 的位置,我們先將最後一個 node 與 root 進行交換,完成第一個排序步驟。 若不熟悉 heap,可以閱讀 Wiki 的介紹 ,其實 heap 就是用陣列實作的二元樹。 [21, 20, 17, 1, 3, 2] * *\n(swap) --> unsorted | sorted\n[2, 20, 17, 1, 3 | 21] 接下來,將未排序的資料區塊重整為符合 max-heap 的結構。 [2, 20, 17, 1, 3 | 21] (sift down) --> [20, 3, 17, 1, 2 | 21] 有沒有看出一些端倪? 只要不斷將 root 和最後一個 node 交換,並將剩餘資料修正至滿足 heap ordering,就完成排序了。 [20, 3, 17, 1, 2 | 21] * *\n(swap) --> [2, 3, 17, 1 | 20, 21] (sift down)--> [17, 3, 2, 1 | 20, 21] * *\n(swap) --> [1, 3, 2 | 17, 20, 21] (sift down)--> [3, 1, 2 | 17, 20, 21] * *\n(swap) --> [1, 2 | 3, 17, 20, 21] (Done!) 以上便是 heapsort 演算法的簡單流程,是不是和 selection sort 非常相似呢!","breadcrumbs":"堆積排序 Heapsort » 說明","id":"87","title":"說明"},"88":{"body":"Complexity Worst $O(n \\log n) $ Best $O(n \\log n) $ Average $O(n \\log n) $ Worst space $O(1) $ auxiliary Heapsort 最佳、最差、平均的時間複雜度皆為 $O(n \\log n) $,同樣分為兩部分簡單解釋。","breadcrumbs":"堆積排序 Heapsort » 效能","id":"88","title":"效能"},"89":{"body":"建立一個 binary heap 有兩種方法,一種是一個個元素慢慢加入 heap 來建立;另一種則是給定隨意的序列,再透過 heapify 演算法修正序列為有效的 heap。一般來說 heapsort 常用實作後者。 Heapify 是指將序列修正至符合 heap ordering 的序列。給定一個元素,假定其為非法的 heap order,而該元素之後的 subtree 視為符合 heap ordering property。欲修正這個在錯誤位置的元素,必須透過與其 children node 置換往下篩,這個往下篩的過程就稱為 sift down ,在 實作 一節會詳細解釋,這邊只要知道 sift down 會不斷將該元素與其 child node 比較,若不符合 heap order 則與 child node 置換,並繼續疊代每一個 level。所以 sift down 的時間複雜度為 $O(\\lceil {\\log_2(n)} \\rceil) = O(\\log n) $, $n $ 為陣列元素個數。 Heapify 從最末個元素開始反向疊代,每個元素都呼叫 sift_down 調整 heap 符合 heap ordering。總共要做 $n $ 次 sift_down 操作,但由於最後一層所以 leaf 已符合 heap order(因為沒有 child node),我們的迴圈可以跳過所有 leaf node 直接從非 leaf node 開始,因此複雜度為 $$\\lfloor n / 2 \\rfloor \\cdot O(\\log n) = O(n \\log n)$$ 實際上,build heap 步驟的複雜度可達到 $O(n) $,可以看看 UMD 演算法課程 Lecture note 的分析 。","breadcrumbs":"堆積排序 Heapsort » Build heap (heapify)","id":"89","title":"Build heap (heapify)"},"9":{"body":"漢明距離 Hamming distance 萊文斯坦距離 Levenshtein distance 🚧 最長共同子字串 Longest common substring","breadcrumbs":"Rust Algorithm Club » 字串處理","id":"9","title":"字串處理"},"90":{"body":"講完了 heapify,就換到排序部分,所謂的排序其實就是利用 max-heap(或 min-heap)的最大值(最小值)會在首個元素的特性,與最後一個元素置換,完成排序,並將剩餘的部分透過 sift down 修正符合 heap order。所以總共需要做 $n $ 次 sift down,複雜度為 $O(n \\log n) $。","breadcrumbs":"堆積排序 Heapsort » Sorting (sift down)","id":"90","title":"Sorting (sift down)"},"91":{"body":"綜合這兩部分,可以看出 Sorting part 對複雜度有決定性影響,最佳複雜度為 $O(n \\log n) $。","breadcrumbs":"堆積排序 Heapsort » Sum up","id":"91","title":"Sum up"},"92":{"body":"Heapsort 的實作相對簡單,只需要不斷呼叫 heap 內部的 sift_down 方法就可以完成排序。整個演算法架構如下: pub fn heapsort(arr: &mut [i32]) { // -- Heapify part -- // This procedure would build a valid max-heap. // (or min-heap for sorting descendantly) let end = arr.len(); for start in (0..end / 2).rev() { // 1 sift_down(arr, start, end - 1); } // -- Sorting part -- // Iteratively sift down unsorted part (the heap). for end in (1..arr.len()).rev() { // 2 arr.swap(end, 0); // 3 sift_down(arr, 0, end - 1); // 4 }\n} 這部分是 heapify,從最小 non-leaf node 開始(end / 2),修正序列至滿足 heap order,再反向疊代做 heapify。 這部分負責排序,每次疊代都將排序 heap 的 root 元素,步驟如 3 - 4: 不斷將 max-heap 中最大值(在 root 上)與 heap 最後一個元素 end 置換, 並利用 sift_down 將序列修正至 max-heap 資料結構,依照定義,此時 unsorted pile 首個元素成為 max-heap root,是最大值。 Heapsort 全靠 sift_down 神救援,那 sift_down 到底有什麼神奇魔力,一探究竟吧! fn sift_down(arr: &mut [i32], start: usize, end: usize) { let mut root = start; loop { let mut child = root * 2 + 1; // Get the left child // 1 if child > end { break; } if child + 1 <= end && arr[child] < arr[child + 1] { // 2 // Right child exists and is greater. child += 1; } if arr[root] < arr[child] { // 3 // If child is greater than root, swap'em! arr.swap(root, child); root = child; } else { break; } }\n} sift_down 的功能是將 node 往下移。通常用在 heap 刪除或取代 node 時,將序列修正為有效的 heap。 這裡實作的版本有三個參數: arr:欲修正為符合 heap 定義的序列。 start:欲往下移動的 node index,可視為需要被修正的元素。 end:此 node 以內(包含)的序列都會被修正為有效的 heap。 sift_down 有些假設條件:從 start index 出發的子樹,除了 start 本身以外,其他皆符合 heap ordering。 再來看看 sift_down 實作內容,loop 中幹的活就是不斷將 start index 上的元素與其子樹比較,若不符合 heap ordering,則兩者置換。 是否有子結點 :依照 binary heap 的定義找出 root 的左子樹(left substree),若左子樹的 index child 比 end 還大,表示沒有 heap 沒有子結點,停止疊代。 檢查右子樹值較大 :若 root 下有右子樹且較大,我們會標記右子樹,並在下一步對右子樹進行處理。 置換 :若 root 元素比 child 的元素小,則置換兩者,並將 child 設置為下個疊代的 root,繼續檢查最初的 start 元素是否滿足 heap ordering。 以上就是簡單的 sift_down 實作,也是整個 heapsort 的精髓。","breadcrumbs":"堆積排序 Heapsort » 實作","id":"92","title":"實作"},"93":{"body":"Wiki: Heap Wiki: Heapsort CMSC 351 Algorithms, Fall, 2011, University of Maryland. Sorting GIF by RolandH CC BY-SA-3.0 via Wikimedia Commons.","breadcrumbs":"堆積排序 Heapsort » 參考資料","id":"93","title":"參考資料"},"94":{"body":"Quicksort 是一個非常熱門且應用廣泛的排序法,相對簡單的實作就可達到 $O(n \\log n) $ 的平均時間複雜度。雖然最差時間複雜度與 bubble sort 同為 $O(n^2) $,但這種情形非常少見。簡單的最佳化實作下,Quicksort 僅需 $O(\\log n) $ 的額外儲存空間,比它的競爭對手 mergesort 來得節省。非常適合運用在真實世界中的排序法。 Quicksort 基本特性如下: 實作簡單,速度快。 不穩定排序 :排序後,相同鍵值的元素相對位置可能改變。 非原地排序 :除了資料本身,仍需額外花費儲存空間來排序。 分治演算法 :將主問題化作數個子問題,各個擊破。","breadcrumbs":"快速排序 Quicksort » 快速排序 Quicksort","id":"94","title":"快速排序 Quicksort"},"95":{"body":"Quicksort 是一個分治演算法(divide-and-conquer),不斷遞迴下列三個步驟: 選擇 Pivot :在序列中任意選擇一個元素,稱為 Pivot 。 分割序列 :將序列重新排序,分為兩部分,比 pivot 小 的元素置換到 pivot 之前,比 pivot 大的元素置換到 pivot 之後,而 pivot 本身會座落在它最終的正確位置。 遞迴 :分別將「比 pivot 小」及「比 pivot 大」兩部分重複上述步驟,直到新序列的長度小於等於 1,無法繼續分割為止,此時排序完成。","breadcrumbs":"快速排序 Quicksort » 步驟","id":"95","title":"步驟"},"96":{"body":"為了達成上述條件,Quicksort 有許多不同的分割序列實作方案(partition scheme),其中以 Lomuto partition 最易理解,常被做為教材。 以序列最後一個元素當做 pivot。 利用兩個指標 i j,其中 j 從頭疊代整個序列 若有序列第 j 個元素小於 pivot,則與第 i 個元素置換。 第 i 個元素已落在小於 pivot 的範圍,將 i 指標往後移一個,處理下個元素。 疊代完成後,小於 pivot 的元素全都置換至序列前端,此時將 pivot 與第 i 個元素置換,pivot 會剛好在最終正確位置上(符合不等式)。 ASCII 畫出來的分割圖如下: [ values <= pivot | values > pivot | not checked yet | pivot ] low i i+1 j-1 j high-1 high arr[low...i] 包含所有小於等於 pivot 的元素。 arr[i+1...j-1] 包含所有大於 pivot 的元素。 arr[j...high-1] 包含所有尚未疊代的元素。 arr[high] pivot 本身。","breadcrumbs":"快速排序 Quicksort » Lomuto partition scheme","id":"96","title":"Lomuto partition scheme"},"97":{"body":"以 Lomuto partition scheme 為例,使用 ASCII diagram 解釋。 給定一個序列,並選擇最後一個元素作為 pivot,i j 指標則在第一個元素位置。 * -> pivot\n[17, 20, 2, 1, 3, 21, 8] i j 第 j 個元素 17 大於 pivot 8,不置換。 17 > 8, no swap * -> pivot\n[17| 20, 2, 1, 3, 21, 8] i j 第 j 個元素 20 大於 pivot 8,不置換。 20 > 8, no swap * -> pivot\n[17, 20| 2, 1, 3, 21, 8] i j 第 j 個元素 2 小於 pivot 8,置換 i j。i 往後一個位置。 2 <= 8,\nswap i, j * -> pivot\n[2, 20, 17| 1, 3, 21, 8] i->i j 第 j 個元素 1 小於 pivot 8,置換 i j。i 往後一個位置。 1 <= 8\nswap i, j * -> pivot\n[2, 1, 17, 20| 3, 21, 8] i->i j 第 j 個元素 3 小於 pivot 8,置換 i j。i 往後一個位置。 3 <= 8\nswap i, j * -> pivot\n[2, 1, 3, 20, 17| 21, 8] i->i j 第 j 個元素 21 大於 pivot 8,不置換。 21 > 8, no swap * -> pivot\n[2, 1, 3, 20, 17, 21| 8] i j 最後,將 pivot 與第 i 個元素置換,此時 pivot 已在最終位置上,前面的元素皆小於等於 8,其後的元素皆大於 8。 swap pivot, i i <-> * -> pivot\n[2, 1, 3, 8, 17, 21, 20] 這樣就完成一次的 partition 了! 之後再遞迴分割 subarray 即可完成 Quicksort。 [2, 1, 3, 8, 17, 21, 20] # # * * | | | | ------- --------- quicksort quicksort","breadcrumbs":"快速排序 Quicksort » 說明","id":"97","title":"說明"},"98":{"body":"Complexity Worst $O(n^2) $ Best $O(n \\log n) $ Average $O(n \\log n) $ Worst space $O(\\log n) $ or $O(n) $ auxiliary","breadcrumbs":"快速排序 Quicksort » 效能","id":"98","title":"效能"},"99":{"body":"Quicksort 僅有「 選擇 Pivot 」與「 分割序列 」兩步驟,不同的實作的效能各異,也影響 Quicksort 的時間複雜度。 最差情況 最差的分割序列狀況發生在挑選的 pivot 總是最大或最小值(或在 Lomuto partition 下,所有元素值都一樣)。由於 Lomuto 總是選擇最後一個元素作為 pivot,這種情形好發於已排序或接近排序完成的資料上。 而當每次的 partition 都是最不平衡的分割序列,就會產生最差時間複雜度的狀況。遞迴在序列長度等於 1 時停止,因此整個排序法的 call stack 需要 $n - 1 $ 的嵌套遞迴呼叫(nested call);而第 $i $ 次分割會執行 $n - i $ 次基本操作( $O(n) $),所以總共需執行 $$\\sum_{i = 0}^n (n - i) = n^2 - \\frac{n(n + 1)}{2}$$ 次基本操作,最差時間複雜度為 $O(n^2) $。 最佳情況 既然最差情況發生在 pivot 總選到最大或最小值,反之,最佳情況則發生在每次 pivot 都可以順利選到序列的中位數(median),如此一來,每次遞迴分割的序列長度都會減半( $n / 2 $),call stack 的嵌套遞迴總共需要 $2 \\log_2{n} $ 次,序列的長度就會減至 1,而每次分割同樣有 $O(n) $ 的複雜度,因此最佳情況為: $$O(n \\cdot 2 \\log_2{n}) = O(n \\log n)$$","breadcrumbs":"快速排序 Quicksort » Time complexity","id":"99","title":"Time complexity"}},"length":297,"save":true},"fields":["title","body","breadcrumbs"],"index":{"body":{"root":{"0":{".":{".":{"=":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"289":{"tf":1.0}}}}}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"(":{")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{")":{")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{":":{":":{"<":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"_":{"df":1,"docs":{"289":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"c":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"236":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"92":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"67":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{")":{".":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"i":{"df":1,"docs":{"269":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"1":{"df":3,"docs":{"259":{"tf":1.0},"267":{"tf":1.0},"270":{"tf":1.0}}},"7":{"5":{"df":1,"docs":{"239":{"tf":1.0}}},"df":0,"docs":{}},"8":{"df":1,"docs":{"273":{"tf":1.0}}},"9":{"df":1,"docs":{"273":{"tf":1.0}}},"df":0,"docs":{}},"0":{"0":{"0":{"df":1,"docs":{"175":{"tf":1.0}}},"df":2,"docs":{"227":{"tf":2.0},"230":{"tf":1.0}}},"df":2,"docs":{"227":{"tf":2.0},"230":{"tf":1.0}}},"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":2,"docs":{"33":{"tf":1.4142135623730951},"44":{"tf":2.0}}}}}}},"b":{"0":{"0":{"0":{"0":{"df":1,"docs":{"179":{"tf":1.0}}},"1":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{},"(":{"0":{"df":1,"docs":{"175":{"tf":1.0}}},"df":0,"docs":{}}},"1":{"0":{"df":1,"docs":{"179":{"tf":1.0}}},"1":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"1":{"1":{"df":1,"docs":{"179":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"0":{"0":{"0":{"df":1,"docs":{"179":{"tf":1.0}}},"1":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}},"1":{"0":{"df":1,"docs":{"179":{"tf":1.0}}},"1":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"1":{"df":0,"docs":{},"(":{"7":{"df":1,"docs":{"175":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":49,"docs":{"102":{"tf":1.4142135623730951},"117":{"tf":1.4142135623730951},"118":{"tf":1.0},"119":{"tf":1.7320508075688772},"123":{"tf":1.0},"125":{"tf":3.3166247903554},"131":{"tf":1.7320508075688772},"132":{"tf":1.4142135623730951},"145":{"tf":1.4142135623730951},"147":{"tf":4.58257569495584},"149":{"tf":1.0},"151":{"tf":2.0},"159":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.4142135623730951},"175":{"tf":1.4142135623730951},"176":{"tf":2.449489742783178},"177":{"tf":1.4142135623730951},"179":{"tf":2.449489742783178},"18":{"tf":1.0},"181":{"tf":1.0},"196":{"tf":1.0},"197":{"tf":1.0},"198":{"tf":1.7320508075688772},"200":{"tf":1.0},"207":{"tf":1.4142135623730951},"227":{"tf":3.3166247903554},"230":{"tf":1.4142135623730951},"233":{"tf":1.7320508075688772},"236":{"tf":1.7320508075688772},"239":{"tf":1.4142135623730951},"253":{"tf":1.4142135623730951},"260":{"tf":1.0},"272":{"tf":1.0},"275":{"tf":1.0},"278":{"tf":2.0},"279":{"tf":1.0},"284":{"tf":1.4142135623730951},"285":{"tf":1.0},"286":{"tf":1.4142135623730951},"288":{"tf":1.0},"289":{"tf":1.0},"33":{"tf":1.4142135623730951},"42":{"tf":2.449489742783178},"48":{"tf":1.0},"54":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"76":{"tf":1.4142135623730951},"92":{"tf":1.4142135623730951}},"}":{"^":{"df":0,"docs":{},"n":{"df":1,"docs":{"99":{"tf":1.0}}}},"df":0,"docs":{}}},"1":{")":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"58":{"tf":1.0}}}},".":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"67":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"2":{"df":4,"docs":{"58":{"tf":1.0},"66":{"tf":1.0},"75":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}}}},",":{"2":{"df":1,"docs":{"256":{"tf":1.0}}},"df":0,"docs":{},"j":{"df":2,"docs":{"284":{"tf":2.0},"287":{"tf":1.4142135623730951}}}},".":{".":{"=":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"e":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"287":{"tf":1.4142135623730951},"288":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{")":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"92":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"59":{"tf":1.0},"61":{"tf":1.0},"76":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"76":{"tf":1.0}}}}}},"0":{".":{"0":{"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"6":{"df":1,"docs":{"240":{"tf":1.4142135623730951}}},"8":{"df":1,"docs":{"176":{"tf":1.0}}},"df":0,"docs":{}},"4":{"4":{"df":1,"docs":{"271":{"tf":1.0}}},"df":0,"docs":{}},"7":{"1":{"df":2,"docs":{"259":{"tf":1.0},"270":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"0":{"0":{"df":1,"docs":{"145":{"tf":1.0}}},"df":4,"docs":{"135":{"tf":1.0},"136":{"tf":1.0},"151":{"tf":1.0},"23":{"tf":1.0}}},"2":{".":{"0":{"3":{"6":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":13,"docs":{"135":{"tf":1.0},"136":{"tf":2.23606797749979},"14":{"tf":1.0},"145":{"tf":1.4142135623730951},"147":{"tf":1.0},"149":{"tf":1.4142135623730951},"151":{"tf":1.7320508075688772},"156":{"tf":1.0},"179":{"tf":1.4142135623730951},"274":{"tf":1.0},"42":{"tf":1.4142135623730951},"80":{"tf":1.4142135623730951},"83":{"tf":1.0}},"x":{"df":1,"docs":{"16":{"tf":1.0}}}},"1":{"7":{"df":1,"docs":{"251":{"tf":1.0}}},"8":{"df":1,"docs":{"251":{"tf":1.4142135623730951}}},"9":{"df":1,"docs":{"251":{"tf":1.0}}},"df":6,"docs":{"135":{"tf":1.0},"136":{"tf":1.0},"156":{"tf":1.4142135623730951},"179":{"tf":1.4142135623730951},"227":{"tf":2.23606797749979},"230":{"tf":1.0}}},"2":{"6":{"df":1,"docs":{"146":{"tf":1.0}}},"df":0,"docs":{}},"3":{"2":{"df":2,"docs":{"80":{"tf":1.0},"83":{"tf":1.0}}},"5":{"df":1,"docs":{"47":{"tf":1.0}}},"df":3,"docs":{"29":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"50":{"tf":1.7320508075688772}}},"4":{"1":{"df":1,"docs":{"47":{"tf":1.0}}},"df":2,"docs":{"136":{"tf":2.0},"42":{"tf":1.0}}},"5":{"df":4,"docs":{"29":{"tf":1.7320508075688772},"42":{"tf":1.0},"50":{"tf":1.7320508075688772},"80":{"tf":1.0}}},"6":{"$":{"df":0,"docs":{},",":{"df":0,"docs":{},"的":{"df":0,"docs":{},"位":{"df":0,"docs":{},"置":{"df":0,"docs":{},"已":{"df":0,"docs":{},"經":{"df":0,"docs":{},"超":{"df":0,"docs":{},"出":{"df":0,"docs":{},"序":{"df":0,"docs":{},"列":{"df":0,"docs":{},"長":{"df":0,"docs":{},"度":{"df":0,"docs":{},",":{"df":0,"docs":{},"因":{"df":0,"docs":{},"此":{"df":0,"docs":{},"取":{"df":0,"docs":{},"至":{"df":0,"docs":{},"序":{"df":0,"docs":{},"列":{"df":0,"docs":{},"最":{"df":0,"docs":{},"後":{"df":0,"docs":{},"一":{"df":0,"docs":{},"個":{"df":0,"docs":{},"數":{"df":0,"docs":{},"字":{"df":0,"docs":{},"作":{"df":0,"docs":{},"為":{"df":0,"docs":{},"比":{"df":0,"docs":{},"較":{"df":0,"docs":{},"對":{"df":0,"docs":{},"象":{"df":0,"docs":{},"。":{"2":{"5":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"df":1,"docs":{"262":{"tf":1.0}}},"7":{"0":{"df":1,"docs":{"147":{"tf":2.6457513110645907}}},"df":3,"docs":{"42":{"tf":1.4142135623730951},"87":{"tf":3.4641016151377544},"97":{"tf":3.3166247903554}}},"8":{"df":1,"docs":{"42":{"tf":1.0}}},"9":{"7":{"8":{"df":2,"docs":{"43":{"tf":1.0},"47":{"tf":1.0}}},"df":0,"docs":{}},"9":{"6":{"df":2,"docs":{"46":{"tf":1.0},"47":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":2,"docs":{"29":{"tf":1.0},"50":{"tf":1.7320508075688772}}},"]":{"[":{"df":0,"docs":{},"j":{"df":1,"docs":{"287":{"tf":2.0}}}},"df":0,"docs":{}},"^":{"2":{"df":1,"docs":{"230":{"tf":1.0}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"54":{"tf":1.0}}}}}}},"df":97,"docs":{"100":{"tf":1.0},"102":{"tf":2.23606797749979},"103":{"tf":1.4142135623730951},"105":{"tf":3.605551275463989},"107":{"tf":2.0},"108":{"tf":2.23606797749979},"111":{"tf":1.0},"112":{"tf":3.0},"114":{"tf":1.7320508075688772},"117":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"119":{"tf":2.23606797749979},"125":{"tf":5.0990195135927845},"127":{"tf":1.0},"131":{"tf":2.0},"132":{"tf":2.23606797749979},"135":{"tf":1.4142135623730951},"136":{"tf":2.0},"143":{"tf":1.0},"147":{"tf":1.4142135623730951},"15":{"tf":1.0},"151":{"tf":1.7320508075688772},"159":{"tf":1.0},"16":{"tf":1.0},"175":{"tf":3.0},"176":{"tf":2.8284271247461903},"179":{"tf":4.58257569495584},"180":{"tf":2.0},"181":{"tf":2.23606797749979},"182":{"tf":3.4641016151377544},"185":{"tf":2.0},"19":{"tf":1.0},"196":{"tf":1.0},"197":{"tf":1.0},"198":{"tf":1.7320508075688772},"200":{"tf":1.0},"203":{"tf":1.0},"206":{"tf":1.7320508075688772},"207":{"tf":2.0},"208":{"tf":1.4142135623730951},"210":{"tf":1.0},"211":{"tf":1.7320508075688772},"227":{"tf":2.6457513110645907},"228":{"tf":1.4142135623730951},"230":{"tf":1.4142135623730951},"233":{"tf":1.0},"234":{"tf":1.0},"236":{"tf":1.0},"238":{"tf":2.0},"239":{"tf":1.4142135623730951},"24":{"tf":1.0},"242":{"tf":1.0},"249":{"tf":1.0},"256":{"tf":1.4142135623730951},"260":{"tf":1.7320508075688772},"267":{"tf":1.4142135623730951},"268":{"tf":2.0},"269":{"tf":2.0},"272":{"tf":1.0},"278":{"tf":2.449489742783178},"279":{"tf":1.4142135623730951},"284":{"tf":3.7416573867739413},"285":{"tf":3.872983346207417},"287":{"tf":4.58257569495584},"288":{"tf":2.449489742783178},"289":{"tf":4.0},"29":{"tf":1.4142135623730951},"30":{"tf":2.23606797749979},"33":{"tf":2.23606797749979},"42":{"tf":2.23606797749979},"44":{"tf":3.1622776601683795},"46":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"53":{"tf":2.0},"54":{"tf":2.23606797749979},"58":{"tf":1.7320508075688772},"59":{"tf":2.0},"61":{"tf":1.7320508075688772},"65":{"tf":2.449489742783178},"66":{"tf":2.0},"67":{"tf":1.0},"72":{"tf":1.0},"75":{"tf":2.0},"76":{"tf":2.449489742783178},"78":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":2.23606797749979},"81":{"tf":1.0},"83":{"tf":1.7320508075688772},"86":{"tf":1.0},"87":{"tf":3.4641016151377544},"92":{"tf":2.8284271247461903},"95":{"tf":1.0},"96":{"tf":2.0},"97":{"tf":3.3166247903554},"99":{"tf":1.7320508075688772}},"f":{"6":{"4":{"df":2,"docs":{"267":{"tf":1.4142135623730951},"269":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"179":{"tf":1.0}}}}}},"}":{"df":0,"docs":{},"i":{"df":1,"docs":{"75":{"tf":1.0}}}},")":{"df":0,"docs":{},",":{"df":0,"docs":{},"加":{"df":0,"docs":{},"上":{"df":0,"docs":{},"刪":{"df":0,"docs":{},"除":{"df":0,"docs":{},"操":{"df":0,"docs":{},"作":{"df":0,"docs":{},"的":{"df":0,"docs":{},"成":{"df":0,"docs":{},"本":{"df":0,"docs":{},"(":{"1":{"df":1,"docs":{"285":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}},"插":{"df":0,"docs":{},"入":{"df":0,"docs":{},"操":{"df":0,"docs":{},"作":{"df":0,"docs":{},"的":{"df":0,"docs":{},"成":{"df":0,"docs":{},"本":{"df":0,"docs":{},"(":{"1":{"df":1,"docs":{"285":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}}}}}}}},",":{"df":0,"docs":{},"所":{"df":0,"docs":{},"以":{"df":0,"docs":{},"我":{"df":0,"docs":{},"們":{"df":0,"docs":{},"採":{"df":0,"docs":{},"取":{"df":0,"docs":{},"類":{"df":0,"docs":{},"似":{"df":0,"docs":{},"環":{"df":0,"docs":{},"繞":{"df":0,"docs":{},"算":{"df":0,"docs":{},"術":{"df":0,"docs":{},"運":{"df":0,"docs":{},"算":{"df":0,"docs":{},"(":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"175":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}},"2":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"92":{"tf":1.0}}}}}},"^":{"2":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"1":{"df":2,"docs":{"143":{"tf":1.0},"33":{"tf":1.0}}},"2":{"3":{"6":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"143":{"tf":1.4142135623730951},"33":{"tf":1.0}}},"3":{"df":1,"docs":{"33":{"tf":1.0}}},"5":{"df":1,"docs":{"122":{"tf":1.0}}},"df":0,"docs":{}},"0":{"0":{"1":{"df":1,"docs":{"84":{"tf":1.0}}},"df":0,"docs":{}},"1":{"1":{"df":3,"docs":{"122":{"tf":1.0},"244":{"tf":1.0},"93":{"tf":1.0}}},"2":{"df":1,"docs":{"274":{"tf":1.0}}},"4":{"df":1,"docs":{"275":{"tf":1.0}}},"7":{"df":1,"docs":{"13":{"tf":1.0}}},"8":{".":{"2":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"1":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{}},"df":8,"docs":{"106":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"256":{"tf":1.0},"29":{"tf":1.0},"50":{"tf":1.7320508075688772},"87":{"tf":3.4641016151377544},"97":{"tf":3.3166247903554}}},"1":{"(":{"7":{"df":1,"docs":{"47":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"87":{"tf":3.4641016151377544},"97":{"tf":3.3166247903554}}},"2":{"df":2,"docs":{"29":{"tf":1.0},"50":{"tf":3.1622776601683795}},"。":{"3":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{},"哎":{"df":0,"docs":{},"呀":{"df":0,"docs":{},",":{"$":{"2":{"^":{"4":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"3":{"df":5,"docs":{"29":{"tf":1.0},"42":{"tf":1.0},"50":{"tf":1.7320508075688772},"80":{"tf":1.4142135623730951},"83":{"tf":1.0}}},"4":{"df":5,"docs":{"147":{"tf":2.6457513110645907},"262":{"tf":1.0},"288":{"tf":1.0},"29":{"tf":1.0},"50":{"tf":1.7320508075688772}}},"5":{"3":{"df":1,"docs":{"240":{"tf":1.0}}},"4":{":":{"2":{"8":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"240":{"tf":1.0}}},"5":{":":{"3":{"3":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"240":{"tf":1.0}}},"df":3,"docs":{"274":{"tf":1.0},"29":{"tf":1.0},"50":{"tf":1.7320508075688772}}},"6":{"df":1,"docs":{"151":{"tf":1.0}}},"7":{"df":1,"docs":{"42":{"tf":3.4641016151377544}}},"8":{"df":2,"docs":{"136":{"tf":2.0},"42":{"tf":2.23606797749979}}},"9":{"df":2,"docs":{"16":{"tf":1.0},"42":{"tf":2.0}}},"^":{"0":{"$":{"df":0,"docs":{},",":{"$":{"2":{"^":{"1":{"df":1,"docs":{"37":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":2,"docs":{"48":{"tf":1.0},"50":{"tf":1.0}}},"1":{"$":{"df":0,"docs":{},"、":{"$":{"2":{"^":{"2":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},":":{"3":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}}},"df":1,"docs":{"81":{"tf":1.0}}},"2":{"$":{"df":0,"docs":{},":":{"6":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}}},"df":2,"docs":{"230":{"tf":1.0},"81":{"tf":1.0}}},"3":{"$":{"df":0,"docs":{},":":{"1":{"5":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":2,"docs":{"179":{"tf":1.0},"81":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":2,"docs":{"30":{"tf":1.7320508075688772},"48":{"tf":1.0}}},"n":{"$":{"df":0,"docs":{},",":{"df":0,"docs":{},"將":{"df":0,"docs":{},"邏":{"df":0,"docs":{},"輯":{"df":0,"docs":{},"索":{"df":0,"docs":{},"引":{"df":0,"docs":{},"映":{"df":0,"docs":{},"射":{"df":0,"docs":{},"到":{"df":0,"docs":{},"實":{"df":0,"docs":{},"際":{"df":0,"docs":{},"索":{"df":0,"docs":{},"引":{"df":0,"docs":{},",":{"df":0,"docs":{},"只":{"df":0,"docs":{},"要":{"df":0,"docs":{},"將":{"df":0,"docs":{},"索":{"df":0,"docs":{},"引":{"df":0,"docs":{},"和":{"df":0,"docs":{},"實":{"df":0,"docs":{},"際":{"df":0,"docs":{},"可":{"df":0,"docs":{},"用":{"df":0,"docs":{},"容":{"df":0,"docs":{},"量":{"df":0,"docs":{},"(":{"$":{"2":{"^":{"df":0,"docs":{},"n":{"df":1,"docs":{"179":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"df":3,"docs":{"179":{"tf":2.0},"181":{"tf":1.0},"37":{"tf":1.0}}},"x":{"df":1,"docs":{"43":{"tf":1.0}}},"{":{"4":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}},"\\":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"tf":1.0}},"{":{"df":0,"docs":{},"i":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{},"k":{"df":1,"docs":{"80":{"tf":1.0}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"{":{"df":0,"docs":{},"i":{"df":1,"docs":{"53":{"tf":1.0}}}}}}}}},"a":{"df":1,"docs":{"65":{"tf":2.6457513110645907}},"、":{"2":{"b":{"df":1,"docs":{"65":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"b":{"df":1,"docs":{"65":{"tf":2.449489742783178}}},"df":89,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"105":{"tf":1.0},"108":{"tf":1.0},"111":{"tf":1.4142135623730951},"112":{"tf":2.8284271247461903},"114":{"tf":1.0},"117":{"tf":1.4142135623730951},"118":{"tf":2.0},"119":{"tf":1.0},"125":{"tf":4.123105625617661},"131":{"tf":1.4142135623730951},"132":{"tf":1.4142135623730951},"136":{"tf":1.0},"143":{"tf":1.0},"147":{"tf":3.605551275463989},"151":{"tf":1.0},"153":{"tf":1.0},"16":{"tf":1.0},"175":{"tf":2.449489742783178},"176":{"tf":1.7320508075688772},"179":{"tf":3.1622776601683795},"18":{"tf":1.0},"180":{"tf":1.4142135623730951},"182":{"tf":2.0},"185":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"196":{"tf":1.0},"198":{"tf":1.4142135623730951},"200":{"tf":1.0},"203":{"tf":1.0},"206":{"tf":1.7320508075688772},"207":{"tf":1.4142135623730951},"208":{"tf":1.4142135623730951},"210":{"tf":1.0},"211":{"tf":1.4142135623730951},"227":{"tf":3.7416573867739413},"228":{"tf":1.4142135623730951},"230":{"tf":1.7320508075688772},"233":{"tf":1.0},"234":{"tf":1.0},"238":{"tf":1.4142135623730951},"239":{"tf":1.0},"249":{"tf":1.0},"256":{"tf":1.4142135623730951},"262":{"tf":1.0},"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.4142135623730951},"269":{"tf":1.0},"273":{"tf":1.0},"275":{"tf":1.0},"278":{"tf":1.0},"279":{"tf":1.0},"285":{"tf":2.449489742783178},"287":{"tf":2.0},"288":{"tf":1.0},"289":{"tf":1.0},"29":{"tf":3.0},"291":{"tf":1.0},"30":{"tf":1.7320508075688772},"33":{"tf":1.4142135623730951},"34":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.7320508075688772},"53":{"tf":1.0},"54":{"tf":1.7320508075688772},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"76":{"tf":1.4142135623730951},"81":{"tf":4.123105625617661},"83":{"tf":1.0},"87":{"tf":3.4641016151377544},"89":{"tf":1.0},"92":{"tf":2.0},"97":{"tf":3.3166247903554},"99":{"tf":1.7320508075688772}},"t":{"(":{"\\":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"2":{"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"x":{"^":{"2":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},")":{"df":0,"docs":{},",":{"df":0,"docs":{},"加":{"df":0,"docs":{},"上":{"df":0,"docs":{},"刪":{"df":0,"docs":{},"除":{"df":0,"docs":{},"操":{"df":0,"docs":{},"作":{"df":0,"docs":{},"的":{"df":0,"docs":{},"成":{"df":0,"docs":{},"本":{"df":0,"docs":{},"(":{"1":{"df":1,"docs":{"285":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}}}}}}},"3":{",":{"4":{"df":1,"docs":{"256":{"tf":1.0}}},"df":0,"docs":{}},".":{"0":{"df":12,"docs":{"190":{"tf":1.0},"225":{"tf":1.0},"244":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.4142135623730951},"62":{"tf":1.0},"64":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"77":{"tf":1.0},"93":{"tf":1.0}}},"1":{"df":3,"docs":{"143":{"tf":1.0},"238":{"tf":1.0},"44":{"tf":1.0}}},"2":{"df":3,"docs":{"143":{"tf":1.0},"238":{"tf":1.0},"44":{"tf":1.0}}},"3":{"df":1,"docs":{"44":{"tf":1.0}}},"4":{"df":1,"docs":{"244":{"tf":1.0}}},"df":0,"docs":{}},"/":{"4":{"df":1,"docs":{"231":{"tf":1.0}}},"df":0,"docs":{}},"0":{"1":{"df":2,"docs":{"80":{"tf":1.0},"83":{"tf":1.0}}},"df":2,"docs":{"15":{"tf":1.0},"42":{"tf":1.0}}},"1":{"df":2,"docs":{"42":{"tf":1.0},"80":{"tf":1.0}}},"2":{"df":2,"docs":{"14":{"tf":1.0},"236":{"tf":1.0}}},"3":{"3":{"df":2,"docs":{"227":{"tf":2.23606797749979},"230":{"tf":1.0}}},"df":0,"docs":{}},"4":{"4":{":":{"6":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"185":{"tf":1.0}}},"7":{":":{"5":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"185":{"tf":1.4142135623730951}}},"df":1,"docs":{"42":{"tf":1.7320508075688772}}},"5":{"1":{"df":2,"docs":{"122":{"tf":1.0},"93":{"tf":1.0}}},"3":{"df":1,"docs":{"185":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"6":{",":{"3":{"7":{"df":1,"docs":{"136":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"136":{"tf":1.4142135623730951}}},"7":{",":{"3":{"6":{"df":1,"docs":{"136":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"136":{"tf":1.4142135623730951}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"47":{"tf":1.0}}}}},"^":{"2":{"df":1,"docs":{"230":{"tf":1.0}}},"df":0,"docs":{}},"df":70,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"105":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.4142135623730951},"112":{"tf":2.8284271247461903},"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"125":{"tf":2.8284271247461903},"131":{"tf":1.4142135623730951},"132":{"tf":1.4142135623730951},"136":{"tf":1.0},"143":{"tf":1.0},"151":{"tf":1.0},"17":{"tf":1.0},"175":{"tf":2.23606797749979},"176":{"tf":1.4142135623730951},"179":{"tf":3.0},"180":{"tf":1.0},"182":{"tf":2.0},"185":{"tf":1.4142135623730951},"197":{"tf":1.0},"198":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.4142135623730951},"208":{"tf":2.449489742783178},"210":{"tf":1.0},"211":{"tf":1.4142135623730951},"227":{"tf":2.23606797749979},"230":{"tf":1.0},"233":{"tf":1.0},"234":{"tf":1.0},"236":{"tf":1.0},"238":{"tf":1.4142135623730951},"239":{"tf":1.0},"244":{"tf":1.0},"249":{"tf":1.0},"256":{"tf":1.0},"258":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.4142135623730951},"278":{"tf":1.0},"279":{"tf":1.0},"284":{"tf":1.7320508075688772},"285":{"tf":1.0},"287":{"tf":2.0},"288":{"tf":1.0},"289":{"tf":1.0},"29":{"tf":2.0},"30":{"tf":1.7320508075688772},"33":{"tf":1.0},"44":{"tf":1.4142135623730951},"50":{"tf":2.449489742783178},"54":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"61":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":2.449489742783178},"67":{"tf":1.0},"73":{"tf":5.830951894845301},"76":{"tf":1.4142135623730951},"80":{"tf":1.0},"81":{"tf":3.872983346207417},"83":{"tf":1.0},"87":{"tf":3.4641016151377544},"92":{"tf":1.7320508075688772},"97":{"tf":3.3166247903554}},"n":{"df":3,"docs":{"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"19":{"tf":1.7320508075688772}}},"、":{"4":{"df":0,"docs":{},"、":{"5":{"df":1,"docs":{"153":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"4":{".":{"0":{"df":1,"docs":{"13":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"5":{"df":1,"docs":{"147":{"tf":2.6457513110645907}}},"df":48,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"112":{"tf":2.8284271247461903},"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"125":{"tf":2.449489742783178},"132":{"tf":1.0},"136":{"tf":1.0},"143":{"tf":1.0},"147":{"tf":2.0},"151":{"tf":1.0},"17":{"tf":2.23606797749979},"175":{"tf":2.0},"176":{"tf":1.7320508075688772},"179":{"tf":2.449489742783178},"18":{"tf":1.0},"180":{"tf":1.7320508075688772},"185":{"tf":1.0},"19":{"tf":2.0},"207":{"tf":1.4142135623730951},"208":{"tf":1.4142135623730951},"210":{"tf":1.0},"211":{"tf":1.0},"236":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.0},"249":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"278":{"tf":1.0},"279":{"tf":1.0},"287":{"tf":1.4142135623730951},"289":{"tf":1.0},"29":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"44":{"tf":1.0},"52":{"tf":1.0},"57":{"tf":1.0},"65":{"tf":2.23606797749979},"73":{"tf":5.916079783099616},"76":{"tf":1.0},"80":{"tf":1.4142135623730951},"81":{"tf":4.123105625617661},"83":{"tf":1.4142135623730951},"92":{"tf":1.4142135623730951}},"n":{"^":{"2":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"109":{"tf":1.0},"244":{"tf":1.0}}}},",":{"df":0,"docs":{},"找":{"df":0,"docs":{},"尋":{"df":0,"docs":{},"第":{"df":0,"docs":{},"四":{"df":0,"docs":{},"個":{"df":0,"docs":{},"元":{"df":0,"docs":{},"素":{"df":0,"docs":{},"來":{"df":0,"docs":{},"比":{"df":0,"docs":{},"對":{"df":0,"docs":{},",":{"6":{"df":1,"docs":{"29":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}}}}},"看":{"df":0,"docs":{},"看":{"$":{"2":{"^":{"4":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"5":{".":{"4":{"7":{"7":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"0":{"df":1,"docs":{"47":{"tf":1.0}}},"3":{"df":1,"docs":{"47":{"tf":1.0}}},"df":0,"docs":{}},"7":{"df":2,"docs":{"80":{"tf":1.0},"83":{"tf":1.0}}},"df":22,"docs":{"112":{"tf":2.8284271247461903},"117":{"tf":1.0},"118":{"tf":1.0},"125":{"tf":3.4641016151377544},"147":{"tf":2.0},"15":{"tf":1.0},"151":{"tf":1.0},"17":{"tf":1.7320508075688772},"175":{"tf":1.7320508075688772},"179":{"tf":2.0},"180":{"tf":1.0},"19":{"tf":1.0},"207":{"tf":1.0},"211":{"tf":1.0},"239":{"tf":1.0},"262":{"tf":1.0},"279":{"tf":1.0},"287":{"tf":1.4142135623730951},"289":{"tf":1.0},"30":{"tf":1.4142135623730951},"73":{"tf":5.916079783099616},"81":{"tf":4.0}},"n":{"^":{"2":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"19":{"tf":1.0}}}},"6":{",":{"9":{"df":1,"docs":{"136":{"tf":1.4142135623730951}}},"df":0,"docs":{}},".":{"0":{"0":{"6":{"df":1,"docs":{"244":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"df":1,"docs":{"80":{"tf":1.0}}},"4":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"236":{"tf":1.0}}}}},"df":2,"docs":{"262":{"tf":1.0},"288":{"tf":1.0}}},"6":{"6":{"df":2,"docs":{"227":{"tf":2.449489742783178},"230":{"tf":1.0}}},"df":1,"docs":{"147":{"tf":2.6457513110645907}}},"df":15,"docs":{"112":{"tf":2.8284271247461903},"118":{"tf":1.0},"125":{"tf":1.4142135623730951},"136":{"tf":1.4142135623730951},"147":{"tf":2.0},"151":{"tf":1.0},"175":{"tf":1.4142135623730951},"179":{"tf":2.0},"239":{"tf":1.0},"279":{"tf":1.0},"289":{"tf":1.0},"29":{"tf":2.8284271247461903},"30":{"tf":1.4142135623730951},"50":{"tf":2.449489742783178},"81":{"tf":3.872983346207417}}},"7":{"0":{"1":{"df":2,"docs":{"80":{"tf":1.0},"83":{"tf":1.0}}},"df":0,"docs":{}},"1":{",":{"7":{"4":{"df":1,"docs":{"136":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"136":{"tf":1.4142135623730951}}},"4":{",":{"7":{"1":{"df":1,"docs":{"136":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"136":{"tf":1.4142135623730951}}},"5":{"%":{"$":{"df":0,"docs":{},"。":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":1,"docs":{"231":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":2,"docs":{"147":{"tf":2.6457513110645907},"231":{"tf":1.0}}},"df":16,"docs":{"112":{"tf":2.8284271247461903},"125":{"tf":1.4142135623730951},"147":{"tf":2.0},"175":{"tf":1.4142135623730951},"179":{"tf":1.7320508075688772},"227":{"tf":2.449489742783178},"230":{"tf":1.0},"262":{"tf":1.0},"270":{"tf":1.0},"289":{"tf":1.0},"29":{"tf":2.6457513110645907},"30":{"tf":1.7320508075688772},"50":{"tf":1.7320508075688772},"73":{"tf":5.916079783099616},"80":{"tf":1.0},"81":{"tf":3.872983346207417}}},"8":{".":{"0":{"4":{"6":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"2":{"df":1,"docs":{"147":{"tf":2.6457513110645907}}},"df":0,"docs":{}},"8":{"df":2,"docs":{"227":{"tf":2.449489742783178},"230":{"tf":1.0}}},"df":17,"docs":{"112":{"tf":2.8284271247461903},"125":{"tf":3.0},"146":{"tf":1.0},"147":{"tf":1.4142135623730951},"149":{"tf":1.0},"175":{"tf":1.4142135623730951},"179":{"tf":3.1622776601683795},"180":{"tf":1.0},"262":{"tf":1.4142135623730951},"287":{"tf":1.4142135623730951},"289":{"tf":1.0},"29":{"tf":1.4142135623730951},"42":{"tf":1.7320508075688772},"73":{"tf":5.830951894845301},"81":{"tf":4.358898943540674},"83":{"tf":1.0},"97":{"tf":4.795831523312719}},"、":{"9":{"df":0,"docs":{},"、":{"1":{"0":{"df":0,"docs":{},"、":{"1":{"1":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},",":{"8":{"df":1,"docs":{"73":{"tf":1.0}}},"df":0,"docs":{}}},"9":{"0":{"df":2,"docs":{"147":{"tf":2.6457513110645907},"231":{"tf":1.0}}},"1":{",":{"9":{"6":{"df":1,"docs":{"136":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"136":{"tf":1.4142135623730951}}},"5":{".":{"5":{"df":1,"docs":{"275":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"275":{"tf":1.0}}},"6":{",":{"9":{"1":{"df":1,"docs":{"136":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"136":{"tf":1.4142135623730951}}},"9":{"9":{"9":{"df":1,"docs":{"175":{"tf":1.0}}},"df":2,"docs":{"145":{"tf":1.0},"230":{"tf":1.0}}},"df":1,"docs":{"230":{"tf":1.0}}},"df":13,"docs":{"125":{"tf":2.449489742783178},"136":{"tf":1.4142135623730951},"145":{"tf":1.0},"147":{"tf":1.4142135623730951},"149":{"tf":1.0},"151":{"tf":1.4142135623730951},"179":{"tf":1.4142135623730951},"230":{"tf":1.0},"29":{"tf":3.0},"42":{"tf":2.0},"50":{"tf":1.7320508075688772},"52":{"tf":1.0},"81":{"tf":3.7416573867739413}}},"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"_":{"_":{"df":1,"docs":{"61":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"t":{"_":{"_":{"df":1,"docs":{"61":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":11,"docs":{"147":{"tf":5.830951894845301},"180":{"tf":3.605551275463989},"236":{"tf":1.0},"237":{"tf":1.4142135623730951},"238":{"tf":1.4142135623730951},"249":{"tf":1.0},"251":{"tf":1.0},"256":{"tf":1.0},"279":{"tf":1.0},"29":{"tf":5.656854249492381},"50":{"tf":1.4142135623730951}},"k":{"_":{"df":2,"docs":{"263":{"tf":1.0},"264":{"tf":1.0}}},"df":0,"docs":{}},"m":{"_":{"df":2,"docs":{"263":{"tf":1.0},"264":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":3,"docs":{"264":{"tf":1.0},"267":{"tf":1.0},"269":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"{":{"(":{"a":{"df":2,"docs":{"284":{"tf":1.4142135623730951},"287":{"tf":1.0}}},"df":0,"docs":{}},"a":{",":{"b":{"df":0,"docs":{},"}":{"(":{"df":0,"docs":{},"i":{",":{"df":0,"docs":{},"j":{"df":2,"docs":{"284":{"tf":1.7320508075688772},"287":{"tf":1.0}}}},"df":2,"docs":{"284":{"tf":2.0},"287":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":2,"docs":{"284":{"tf":1.4142135623730951},"287":{"tf":1.0}}},"j":{"df":2,"docs":{"284":{"tf":1.4142135623730951},"287":{"tf":1.0}}}}},"a":{"'":{"df":0,"docs":{},"、":{"b":{"df":1,"docs":{"41":{"tf":1.0}}},"df":0,"docs":{}}},"+":{"1":{"df":1,"docs":{"287":{"tf":1.0}}},"df":0,"docs":{}},".":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"210":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"k":{".":{"a":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},">":{"(":{"&":{"'":{"b":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"b":{"c":{"df":1,"docs":{"284":{"tf":1.0}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"288":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"162":{"tf":1.0},"172":{"tf":1.0},"245":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":4,"docs":{"173":{"tf":1.0},"187":{"tf":1.0},"192":{"tf":1.0},"207":{"tf":1.0}},")":{"df":0,"docs":{},"的":{"df":0,"docs":{},"執":{"df":0,"docs":{},"行":{"df":0,"docs":{},"時":{"df":0,"docs":{},"間":{"df":0,"docs":{},",":{"$":{"\\":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"df":0,"docs":{},"k":{"df":1,"docs":{"242":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{},"m":{"df":1,"docs":{"47":{"tf":1.0}}},"t":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"176":{"tf":1.0},"179":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"d":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"266":{"tf":1.0}}}},"k":{"df":1,"docs":{"241":{"tf":1.0}}}},"df":2,"docs":{"175":{"tf":2.0},"188":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":4,"docs":{"230":{"tf":1.7320508075688772},"242":{"tf":1.0},"244":{"tf":1.0},"274":{"tf":1.4142135623730951}},"p":{"df":1,"docs":{"274":{"tf":1.0}}}}}}}},"df":1,"docs":{"180":{"tf":1.0}},"v":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"180":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":2,"docs":{"274":{"tf":1.0},"275":{"tf":1.0}},"g":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"250":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"df":8,"docs":{"0":{"tf":1.7320508075688772},"107":{"tf":1.0},"109":{"tf":1.4142135623730951},"122":{"tf":1.0},"162":{"tf":1.0},"244":{"tf":1.4142135623730951},"39":{"tf":1.0},"93":{"tf":1.0}}}}}}}}},"i":{"a":{"df":1,"docs":{"234":{"tf":1.0}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"o":{"c":{"(":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"176":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":1,"docs":{"176":{"tf":2.449489742783178}},"、":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"、":{"d":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"176":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"w":{"df":1,"docs":{"276":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"h":{"a":{"$":{"df":0,"docs":{},",":{"$":{"\\":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"a":{"df":1,"docs":{"275":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"103":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":4,"docs":{"144":{"tf":1.0},"189":{"tf":1.0},"241":{"tf":1.0},"257":{"tf":1.0}}}}},"q":{"df":1,"docs":{"275":{"tf":1.0}},",":{"df":0,"docs":{},"為":{"df":0,"docs":{},"了":{"df":0,"docs":{},"節":{"df":0,"docs":{},"省":{"df":0,"docs":{},"空":{"df":0,"docs":{},"間":{"df":0,"docs":{},"使":{"df":0,"docs":{},"用":{"df":0,"docs":{},"量":{"df":0,"docs":{},",":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"274":{"tf":1.0}}}}}}}}}}}}}}}}}}}},"n":{"^":{"2":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":3,"docs":{"140":{"tf":1.0},"144":{"tf":1.0},"22":{"tf":1.0}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"46":{"tf":1.0},"47":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"47":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":1,"docs":{"185":{"tf":1.7320508075688772}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"256":{"tf":1.0}}}}}}}}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"176":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"i":{"df":11,"docs":{"0":{"tf":1.0},"153":{"tf":1.0},"163":{"tf":1.0},"173":{"tf":1.0},"200":{"tf":1.0},"226":{"tf":1.0},"245":{"tf":1.0},"259":{"tf":1.0},"269":{"tf":1.0},"277":{"tf":1.0},"282":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"139":{"tf":1.0},"214":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"185":{"tf":1.0}}}}},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"266":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"175":{"tf":1.0},"179":{"tf":1.4142135623730951},"268":{"tf":1.0}}}}}}}},"r":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"117":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"t":{"df":3,"docs":{"131":{"tf":1.0},"132":{"tf":1.0},"143":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"x":{"df":1,"docs":{"25":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":10,"docs":{"102":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"33":{"tf":1.0},"44":{"tf":1.4142135623730951},"54":{"tf":1.0},"67":{"tf":1.0},"76":{"tf":1.0},"83":{"tf":1.0},"92":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"92":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"df":5,"docs":{"103":{"tf":1.4142135623730951},"107":{"tf":1.0},"108":{"tf":1.0},"67":{"tf":1.0},"76":{"tf":1.4142135623730951}}},"j":{"df":3,"docs":{"59":{"tf":1.0},"61":{"tf":1.0},"83":{"tf":1.0}}},"k":{"df":1,"docs":{"107":{"tf":1.0}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"92":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"(":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"132":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"117":{"tf":1.0},"118":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"1":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"119":{"tf":1.4142135623730951}}}}}},"[":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"119":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"、":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"2":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"2":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"119":{"tf":1.4142135623730951}}}}}},"[":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"119":{"tf":1.4142135623730951}}}}}}}},"df":1,"docs":{"119":{"tf":1.0}}},"[":{".":{".":{"df":0,"docs":{},"i":{"]":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"(":{"&":{"df":0,"docs":{},"v":{"df":1,"docs":{"61":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"61":{"tf":1.0}}},"m":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"117":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"1":{"0":{"0":{"0":{"df":1,"docs":{"145":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"8":{"df":1,"docs":{"42":{"tf":1.0}}},"9":{"df":1,"docs":{"42":{"tf":1.0}}},"b":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"33":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"92":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":4,"docs":{"103":{"tf":1.0},"107":{"tf":1.0},"44":{"tf":2.0},"54":{"tf":1.4142135623730951}},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"96":{"tf":1.0}}}}}},"i":{"+":{"1":{".":{".":{".":{"df":0,"docs":{},"j":{"df":1,"docs":{"96":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},".":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"]":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"[":{"df":0,"docs":{},"i":{".":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":1,"docs":{"118":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":3,"docs":{"108":{"tf":1.0},"61":{"tf":1.0},"76":{"tf":2.0}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}}}}}}}},"j":{".":{".":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"96":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":6,"docs":{"103":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"59":{"tf":1.4142135623730951},"67":{"tf":1.0},"83":{"tf":1.4142135623730951}}},"l":{"df":0,"docs":{},"o":{"df":2,"docs":{"108":{"tf":1.0},"44":{"tf":2.0}},"w":{".":{".":{".":{"df":0,"docs":{},"i":{"df":1,"docs":{"96":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"m":{"df":0,"docs":{},"i":{"d":{".":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":1,"docs":{"118":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":2,"docs":{"117":{"tf":1.4142135623730951},"33":{"tf":1.0}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"132":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"92":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"67":{"tf":1.0}}}}}}},"a":{"df":1,"docs":{"132":{"tf":1.0}},"y":{"[":{"0":{"df":1,"docs":{"125":{"tf":1.0}}},"1":{"df":1,"docs":{"125":{"tf":1.0}}},"2":{"df":1,"docs":{"125":{"tf":1.0}}},"3":{"df":1,"docs":{"125":{"tf":1.0}}},"4":{"df":1,"docs":{"125":{"tf":1.0}}},"5":{"df":1,"docs":{"125":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"187":{"tf":1.0}}}}},"df":0,"docs":{}}}},"_":{"df":0,"docs":{},"s":{"df":1,"docs":{"228":{"tf":1.4142135623730951}}}},"df":32,"docs":{"112":{"tf":1.0},"117":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"119":{"tf":1.4142135623730951},"123":{"tf":1.4142135623730951},"125":{"tf":1.0},"127":{"tf":1.4142135623730951},"128":{"tf":1.4142135623730951},"131":{"tf":1.7320508075688772},"132":{"tf":1.0},"136":{"tf":2.23606797749979},"139":{"tf":1.0},"140":{"tf":1.4142135623730951},"143":{"tf":1.0},"145":{"tf":1.0},"147":{"tf":1.0},"153":{"tf":1.0},"163":{"tf":1.0},"20":{"tf":1.4142135623730951},"225":{"tf":1.0},"227":{"tf":1.4142135623730951},"230":{"tf":1.7320508075688772},"231":{"tf":1.0},"234":{"tf":1.4142135623730951},"236":{"tf":1.0},"238":{"tf":1.0},"242":{"tf":1.0},"260":{"tf":1.0},"262":{"tf":2.449489742783178},"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0}},")":{"df":0,"docs":{},"、":{"df":0,"docs":{},"映":{"df":0,"docs":{},"射":{"df":0,"docs":{},"(":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},")":{"df":0,"docs":{},"、":{"df":0,"docs":{},"表":{"df":0,"docs":{},"(":{"df":0,"docs":{},"t":{"df":1,"docs":{"216":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}}}}},",":{"df":0,"docs":{},"而":{"df":0,"docs":{},"是":{"df":0,"docs":{},"在":{"df":0,"docs":{},"堆":{"df":0,"docs":{},"積":{"df":0,"docs":{},"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}}}},"df":8,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"130":{"tf":1.4142135623730951},"132":{"tf":1.4142135623730951},"143":{"tf":1.4142135623730951},"151":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"92":{"tf":1.0}}}},"s":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"i":{"df":10,"docs":{"112":{"tf":1.0},"136":{"tf":1.0},"175":{"tf":1.0},"196":{"tf":1.0},"230":{"tf":1.0},"279":{"tf":1.0},"73":{"tf":1.0},"81":{"tf":1.4142135623730951},"96":{"tf":1.0},"97":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"!":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"187":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"187":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":3,"docs":{"119":{"tf":1.0},"185":{"tf":1.0},"207":{"tf":1.4142135623730951}}}}},"o":{"c":{"df":0,"docs":{},"i":{"df":4,"docs":{"185":{"tf":1.0},"211":{"tf":1.0},"216":{"tf":1.0},"225":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"228":{"tf":1.0},"230":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":4,"docs":{"1":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0},"260":{"tf":1.0}}}}}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"262":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"210":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"188":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"185":{"tf":1.0}}}}}}},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":11,"docs":{"113":{"tf":1.0},"126":{"tf":1.0},"128":{"tf":1.0},"137":{"tf":1.0},"148":{"tf":1.0},"58":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":1.0},"88":{"tf":1.0},"98":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"g":{"df":15,"docs":{"113":{"tf":1.0},"126":{"tf":1.0},"137":{"tf":1.0},"148":{"tf":1.0},"24":{"tf":1.0},"30":{"tf":1.0},"43":{"tf":1.4142135623730951},"51":{"tf":1.0},"58":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":1.0},"84":{"tf":1.0},"88":{"tf":1.0},"98":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"i":{"df":2,"docs":{"43":{"tf":1.0},"47":{"tf":1.0}}}},"o":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"107":{"tf":1.0},"118":{"tf":1.0}}},"df":0,"docs":{}}}},"、":{"b":{"df":1,"docs":{"285":{"tf":1.0}}},"df":0,"docs":{}},",":{"a":{"df":1,"docs":{"208":{"tf":1.0}}},"df":0,"docs":{}}},"b":{"+":{"1":{"df":1,"docs":{"287":{"tf":1.0}}},"df":0,"docs":{}},".":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"210":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},">":{"(":{"&":{"'":{"a":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"k":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"181":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":7,"docs":{"117":{"tf":1.4142135623730951},"118":{"tf":1.0},"119":{"tf":1.0},"178":{"tf":1.0},"181":{"tf":1.0},"189":{"tf":1.0},"207":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{".":{".":{"df":0,"docs":{},"s":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}},"df":5,"docs":{"111":{"tf":1.0},"117":{"tf":1.0},"184":{"tf":1.0},"234":{"tf":1.0},"33":{"tf":2.449489742783178}}}}},"df":18,"docs":{"125":{"tf":2.6457513110645907},"139":{"tf":1.4142135623730951},"185":{"tf":1.7320508075688772},"207":{"tf":2.449489742783178},"208":{"tf":1.7320508075688772},"210":{"tf":1.0},"240":{"tf":1.7320508075688772},"250":{"tf":3.1622776601683795},"251":{"tf":2.0},"253":{"tf":1.7320508075688772},"255":{"tf":1.4142135623730951},"256":{"tf":3.4641016151377544},"284":{"tf":2.6457513110645907},"285":{"tf":1.4142135623730951},"287":{"tf":2.0},"289":{"tf":1.7320508075688772},"290":{"tf":1.0},"41":{"tf":2.0}},"e":{"df":1,"docs":{"210":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"176":{"tf":1.0},"180":{"tf":1.4142135623730951}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"{":{"c":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"114":{"tf":1.0},"284":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"274":{"tf":1.0}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"df":21,"docs":{"113":{"tf":1.0},"126":{"tf":1.0},"137":{"tf":1.0},"139":{"tf":1.0},"148":{"tf":1.0},"161":{"tf":1.0},"171":{"tf":1.0},"189":{"tf":1.0},"24":{"tf":1.0},"241":{"tf":1.0},"257":{"tf":1.0},"30":{"tf":1.0},"43":{"tf":1.0},"51":{"tf":1.0},"58":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":1.0},"84":{"tf":1.0},"88":{"tf":1.0},"98":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"260":{"tf":1.0},"275":{"tf":1.0},"276":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"44":{"tf":1.0}}}}}}}},"f":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"\"":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"264":{"tf":1.0}}}}}}},"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"264":{"tf":1.0}}}}}}}},"&":{"1":{"df":1,"docs":{"264":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"!":{"[":{"3":{".":{"1":{"4":{"1":{"5":{"9":{"df":1,"docs":{"264":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":1,"docs":{"264":{"tf":1.4142135623730951}}},"i":{"df":0,"docs":{},"g":{"df":7,"docs":{"10":{"tf":1.4142135623730951},"162":{"tf":1.0},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"19":{"tf":1.7320508075688772},"20":{"tf":1.0},"22":{"tf":1.4142135623730951}}},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":12,"docs":{"117":{"tf":1.0},"20":{"tf":1.0},"27":{"tf":1.4142135623730951},"3":{"tf":1.0},"38":{"tf":1.4142135623730951},"39":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":2.23606797749979},"85":{"tf":1.0},"87":{"tf":1.0},"89":{"tf":1.0},"92":{"tf":1.0}}},"y":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}}},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"(":{"&":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"[":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{".":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"54":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{">":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":2,"docs":{"32":{"tf":1.0},"33":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"_":{"b":{"df":0,"docs":{},"i":{"df":1,"docs":{"143":{"tf":1.0}}}},"df":0,"docs":{}},"df":2,"docs":{"32":{"tf":1.0},"61":{"tf":2.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"d":{"df":1,"docs":{"217":{"tf":1.0}}},"df":1,"docs":{"134":{"tf":1.0}}},"t":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"/":{"c":{"a":{"a":{"b":{"7":{"df":0,"docs":{},"f":{"b":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":9,"docs":{"255":{"tf":1.0},"260":{"tf":1.0},"262":{"tf":3.3166247903554},"263":{"tf":1.7320508075688772},"264":{"tf":1.7320508075688772},"267":{"tf":1.7320508075688772},"269":{"tf":1.4142135623730951},"271":{"tf":1.0},"275":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"255":{"tf":1.0}}}}}}},"<":{"&":{"'":{"b":{"df":1,"docs":{"255":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"255":{"tf":1.7320508075688772}}}},"s":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"267":{"tf":1.7320508075688772},"269":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":3,"docs":{"179":{"tf":1.0},"255":{"tf":1.0},"54":{"tf":1.0}}}}}}},"l":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"227":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"176":{"tf":1.0},"185":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"\"":{"1":{"2":{"3":{"4":{"df":1,"docs":{"265":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}}}},"df":18,"docs":{"224":{"tf":1.0},"259":{"tf":3.1622776601683795},"260":{"tf":2.0},"262":{"tf":1.0},"264":{"tf":1.4142135623730951},"265":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.0},"269":{"tf":1.0},"270":{"tf":1.0},"271":{"tf":2.6457513110645907},"272":{"tf":3.0},"273":{"tf":2.449489742783178},"274":{"tf":1.0},"275":{"tf":1.4142135623730951},"276":{"tf":2.23606797749979},"8":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":6,"docs":{"262":{"tf":2.6457513110645907},"263":{"tf":2.0},"264":{"tf":1.7320508075688772},"265":{"tf":1.0},"266":{"tf":1.0},"276":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"263":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"263":{"tf":1.0}}}}},"df":0,"docs":{}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":2,"docs":{"264":{"tf":1.4142135623730951},"267":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{"df":3,"docs":{"264":{"tf":2.0},"265":{"tf":1.4142135623730951},"269":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}}}}}},"n":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"o":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"185":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"227":{"tf":1.0}}},"l":{"df":10,"docs":{"157":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.0},"212":{"tf":1.0},"249":{"tf":2.0},"253":{"tf":1.7320508075688772},"256":{"tf":1.7320508075688772},"262":{"tf":1.7320508075688772},"269":{"tf":1.7320508075688772},"33":{"tf":1.0}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"<":{"df":0,"docs":{},"q":{"df":3,"docs":{"237":{"tf":1.0},"238":{"tf":1.0},"249":{"tf":1.4142135623730951}}}},"df":5,"docs":{"185":{"tf":1.4142135623730951},"211":{"tf":1.4142135623730951},"237":{"tf":2.0},"251":{"tf":2.6457513110645907},"252":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"285":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"54":{"tf":1.0}}}}},"df":6,"docs":{"118":{"tf":1.4142135623730951},"185":{"tf":1.4142135623730951},"187":{"tf":1.7320508075688772},"265":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"67":{"tf":1.0}},"?":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"67":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"x":{":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"211":{"tf":1.0}}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"207":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"202":{"tf":1.0},"211":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"202":{"tf":1.0}}}},"df":3,"docs":{"195":{"tf":1.0},"202":{"tf":1.0},"210":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"233":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":4,"docs":{"279":{"tf":1.0},"44":{"tf":2.0},"76":{"tf":1.0},"92":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"u":{"b":{"b":{"df":0,"docs":{},"l":{"df":8,"docs":{"20":{"tf":1.0},"4":{"tf":1.0},"71":{"tf":1.7320508075688772},"73":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"77":{"tf":1.0},"94":{"tf":1.0}},"e":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"76":{"tf":1.0}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"d":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"76":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{".":{"c":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"(":{"&":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"143":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"237":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"(":{"df":0,"docs":{},"|":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"238":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"238":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"(":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"238":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{")":{".":{"1":{"df":1,"docs":{"238":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"143":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"143":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"h":{"df":1,"docs":{"142":{"tf":1.7320508075688772}}},"k":{"df":1,"docs":{"234":{"tf":1.0}}}},"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"239":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"235":{"tf":1.0}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"h":{"df":1,"docs":{"143":{"tf":1.0}}}},"df":2,"docs":{"142":{"tf":1.0},"143":{"tf":1.4142135623730951}}}}}}},"df":28,"docs":{"123":{"tf":1.0},"134":{"tf":2.0},"135":{"tf":1.4142135623730951},"136":{"tf":2.0},"137":{"tf":1.0},"138":{"tf":2.0},"139":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"142":{"tf":2.6457513110645907},"143":{"tf":3.0},"144":{"tf":2.0},"145":{"tf":1.4142135623730951},"147":{"tf":1.7320508075688772},"149":{"tf":1.4142135623730951},"150":{"tf":1.0},"227":{"tf":1.7320508075688772},"230":{"tf":1.4142135623730951},"231":{"tf":1.4142135623730951},"234":{"tf":3.4641016151377544},"235":{"tf":2.0},"236":{"tf":2.6457513110645907},"237":{"tf":1.7320508075688772},"238":{"tf":2.23606797749979},"239":{"tf":1.7320508075688772},"240":{"tf":1.0},"242":{"tf":2.0},"274":{"tf":1.0},"4":{"tf":1.0}},"s":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"_":{"b":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"|":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"143":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"236":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"]":{".":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"143":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"、":{"df":0,"docs":{},"s":{"c":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"、":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":1,"docs":{"143":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},",":{"df":0,"docs":{},"並":{"df":0,"docs":{},"考":{"df":0,"docs":{},"慮":{"df":0,"docs":{},"平":{"df":0,"docs":{},"攤":{"df":0,"docs":{},"分":{"df":0,"docs":{},"析":{"df":0,"docs":{},"(":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"140":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"174":{"tf":1.0},"175":{"tf":1.4142135623730951},"180":{"tf":1.4142135623730951},"190":{"tf":1.4142135623730951}}}}}},"g":{"df":2,"docs":{"15":{"tf":1.7320508075688772},"16":{"tf":1.0}},",":{"df":0,"docs":{},"有":{"df":0,"docs":{},"的":{"df":0,"docs":{},"工":{"df":0,"docs":{},"程":{"df":0,"docs":{},"師":{"df":0,"docs":{},"連":{"df":0,"docs":{},"續":{"df":0,"docs":{},"工":{"df":0,"docs":{},"作":{"df":0,"docs":{},"後":{"df":0,"docs":{},"效":{"df":0,"docs":{},"率":{"df":0,"docs":{},"大":{"df":0,"docs":{},"幅":{"df":0,"docs":{},"滑":{"df":0,"docs":{},"落":{"df":0,"docs":{},"。":{"df":0,"docs":{},"每":{"df":0,"docs":{},"個":{"df":0,"docs":{},"工":{"df":0,"docs":{},"程":{"df":0,"docs":{},"師":{"df":0,"docs":{},"的":{"df":0,"docs":{},"除":{"df":0,"docs":{},"蟲":{"df":0,"docs":{},"效":{"df":0,"docs":{},"率":{"df":0,"docs":{},"可":{"df":0,"docs":{},"以":{"df":0,"docs":{},"畫":{"df":0,"docs":{},"成":{"df":0,"docs":{},"「":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"15":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"df":0,"docs":{},"l":{"d":{"df":4,"docs":{"0":{"tf":1.0},"267":{"tf":1.0},"89":{"tf":1.4142135623730951},"92":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"276":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":3,"docs":{"116":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0}}}}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":4,"docs":{"147":{"tf":1.0},"149":{"tf":1.0},"236":{"tf":1.0},"287":{"tf":1.0}}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"152":{"tf":1.0}}},"df":0,"docs":{}}}}},",":{"b":{"df":1,"docs":{"208":{"tf":1.0}}},"df":0,"docs":{}},":":{"a":{"df":1,"docs":{"256":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"c":{".":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"210":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"1":{"df":1,"docs":{"279":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"279":{"tf":1.4142135623730951}}},"_":{"0":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"139":{"tf":1.0}}}},"df":1,"docs":{"139":{"tf":1.4142135623730951}},"n":{"df":1,"docs":{"139":{"tf":1.0}}}},"1":{"df":1,"docs":{"139":{"tf":1.7320508075688772}},"k":{"df":1,"docs":{"139":{"tf":1.0}}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"h":{"df":6,"docs":{"21":{"tf":1.0},"218":{"tf":1.0},"230":{"tf":1.7320508075688772},"259":{"tf":1.0},"271":{"tf":1.0},"274":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":5,"docs":{"131":{"tf":1.0},"132":{"tf":1.0},"176":{"tf":1.0},"276":{"tf":1.0},"44":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":7,"docs":{"100":{"tf":1.7320508075688772},"105":{"tf":2.23606797749979},"115":{"tf":1.0},"180":{"tf":1.0},"210":{"tf":2.23606797749979},"211":{"tf":1.0},"99":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"176":{"tf":1.0}}}}}},"p":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"179":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"a":{"c":{"df":5,"docs":{"176":{"tf":1.0},"239":{"tf":1.7320508075688772},"262":{"tf":1.0},"267":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"159":{"tf":1.0}}}}}},"df":3,"docs":{"176":{"tf":2.23606797749979},"180":{"tf":1.0},"188":{"tf":1.0}}},"r":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"256":{"tf":1.4142135623730951}}}}},"df":1,"docs":{"233":{"tf":1.4142135623730951}},"e":{"df":1,"docs":{"176":{"tf":1.0}}},"g":{"df":0,"docs":{},"o":{"df":2,"docs":{"291":{"tf":1.0},"294":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":7,"docs":{"111":{"tf":1.0},"138":{"tf":1.0},"139":{"tf":1.0},"189":{"tf":1.4142135623730951},"241":{"tf":1.4142135623730951},"257":{"tf":1.4142135623730951},"84":{"tf":1.0}},")":{"df":0,"docs":{},",":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"d":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"117":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":1,"docs":{"190":{"tf":1.0}}}}}}}}},"c":{"df":14,"docs":{"122":{"tf":1.0},"13":{"tf":1.0},"190":{"tf":1.0},"225":{"tf":1.0},"244":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.4142135623730951},"62":{"tf":1.0},"64":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"77":{"tf":1.0},"93":{"tf":1.0}}},"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":16,"docs":{"139":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"149":{"tf":1.0},"150":{"tf":1.4142135623730951},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.4142135623730951},"230":{"tf":1.0},"273":{"tf":1.0},"290":{"tf":1.0},"30":{"tf":1.0},"42":{"tf":1.7320508075688772},"58":{"tf":2.23606797749979},"66":{"tf":1.0},"89":{"tf":1.0},"99":{"tf":1.0}}}}},"df":8,"docs":{"119":{"tf":1.0},"125":{"tf":2.449489742783178},"16":{"tf":1.4142135623730951},"180":{"tf":1.0},"205":{"tf":1.0},"210":{"tf":1.0},"256":{"tf":1.0},"58":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"114":{"tf":1.0}}}}},"h":{"1":{"df":2,"docs":{"287":{"tf":2.0},"289":{"tf":1.4142135623730951}}},"2":{"df":2,"docs":{"287":{"tf":2.0},"289":{"tf":1.4142135623730951}}},"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"230":{"tf":2.0},"234":{"tf":1.4142135623730951},"242":{"tf":1.0},"243":{"tf":1.0},"251":{"tf":1.0},"274":{"tf":1.4142135623730951}}}},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"185":{"tf":1.0},"288":{"tf":1.0}}}},"r":{"df":2,"docs":{"287":{"tf":1.0},"289":{"tf":1.0}},"t":{"df":1,"docs":{"175":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"162":{"tf":1.0},"20":{"tf":1.0}},"s":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"118":{"tf":1.0},"96":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"251":{"tf":1.0},"252":{"tf":1.0}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"89":{"tf":1.7320508075688772},"92":{"tf":3.4641016151377544}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"89":{"tf":1.0}}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"103":{"tf":1.0}}}}},"z":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"12":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"259":{"tf":1.0}}}}}}}}},"i":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"190":{"tf":1.4142135623730951},"198":{"tf":1.0},"7":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"r":{"a":{"'":{"df":1,"docs":{"83":{"tf":1.0}}},"df":2,"docs":{"80":{"tf":1.0},"84":{"tf":1.0}}},"df":0,"docs":{}}}},"j":{"df":0,"docs":{},"k":{"df":1,"docs":{"287":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"204":{"tf":1.0},"235":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"294":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":7,"docs":{"130":{"tf":1.4142135623730951},"132":{"tf":1.0},"143":{"tf":1.4142135623730951},"151":{"tf":1.0},"251":{"tf":1.4142135623730951},"255":{"tf":1.7320508075688772},"268":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"240":{"tf":1.0},"251":{"tf":3.7416573867739413},"288":{"tf":1.0}},"e":{"@":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"/":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"2":{"5":{"4":{":":{"2":{"3":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{":":{"1":{"8":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"u":{"d":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"271":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"251":{"tf":1.0}}}}}}},"u":{"b":{"df":2,"docs":{"0":{"tf":1.7320508075688772},"109":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"138":{"tf":1.0},"230":{"tf":1.0}}}}}}}},"m":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":2,"docs":{"42":{"tf":1.0},"47":{"tf":1.0}}}}}},"p":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"c":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"289":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"c":{"df":2,"docs":{"122":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"b":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"122":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"e":{"df":5,"docs":{"10":{"tf":1.0},"139":{"tf":1.0},"276":{"tf":1.0},"277":{"tf":1.0},"291":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{":":{":":{"<":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"131":{"tf":1.0},"132":{"tf":1.0},"143":{"tf":1.0},"255":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"d":{"df":1,"docs":{"230":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":2,"docs":{"229":{"tf":1.0},"274":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0}}}}},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"111":{"tf":1.0},"116":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":12,"docs":{"122":{"tf":1.0},"13":{"tf":1.0},"190":{"tf":1.0},"199":{"tf":1.0},"225":{"tf":1.0},"244":{"tf":1.0},"47":{"tf":1.4142135623730951},"62":{"tf":1.0},"70":{"tf":1.0},"77":{"tf":1.0},"9":{"tf":1.0},"93":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"47":{"tf":1.0}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"119":{"tf":1.0}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"256":{"tf":1.0},"44":{"tf":1.0}}}}}}},"t":{"df":1,"docs":{"264":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"l":{"df":5,"docs":{"100":{"tf":1.0},"202":{"tf":1.0},"251":{"tf":1.4142135623730951},"262":{"tf":1.4142135623730951},"264":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":32,"docs":{"100":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"137":{"tf":1.0},"140":{"tf":1.0},"144":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.0},"161":{"tf":1.4142135623730951},"162":{"tf":1.0},"171":{"tf":1.4142135623730951},"214":{"tf":1.0},"22":{"tf":1.4142135623730951},"24":{"tf":1.0},"270":{"tf":1.0},"290":{"tf":1.0},"30":{"tf":1.0},"43":{"tf":1.0},"51":{"tf":1.0},"58":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"82":{"tf":1.0},"88":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"47":{"tf":1.0},"84":{"tf":1.0}}}}}},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"256":{"tf":1.7320508075688772}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"111":{"tf":1.4142135623730951},"116":{"tf":1.4142135623730951},"30":{"tf":1.0},"95":{"tf":1.0}},"」":{"df":0,"docs":{},"手":{"df":0,"docs":{},"法":{"df":0,"docs":{},"的":{"df":0,"docs":{},"經":{"df":0,"docs":{},"典":{"df":0,"docs":{},"案":{"df":0,"docs":{},"例":{"df":0,"docs":{},",":{"df":0,"docs":{},"先":{"df":0,"docs":{},"將":{"df":0,"docs":{},"序":{"df":0,"docs":{},"列":{"df":0,"docs":{},"分":{"df":0,"docs":{},"成":{"df":0,"docs":{},"更":{"df":0,"docs":{},"小":{"df":0,"docs":{},"的":{"df":0,"docs":{},"子":{"df":0,"docs":{},"序":{"df":0,"docs":{},"列":{"df":0,"docs":{},"(":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},")":{"df":0,"docs":{},",":{"df":0,"docs":{},"一":{"df":0,"docs":{},"個":{"df":0,"docs":{},"個":{"df":0,"docs":{},"排":{"df":0,"docs":{},"序":{"df":0,"docs":{},"後":{"df":0,"docs":{},"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},")":{"df":0,"docs":{},",":{"df":0,"docs":{},"再":{"df":0,"docs":{},"合":{"df":0,"docs":{},"併":{"df":0,"docs":{},"已":{"df":0,"docs":{},"排":{"df":0,"docs":{},"序":{"df":0,"docs":{},"的":{"df":0,"docs":{},"子":{"df":0,"docs":{},"序":{"df":0,"docs":{},"列":{"df":0,"docs":{},"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"110":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"264":{"tf":1.0}}},"df":0,"docs":{}},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"262":{"tf":1.7320508075688772}}}}},"df":2,"docs":{"239":{"tf":1.0},"83":{"tf":1.0}}},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"211":{"tf":1.0},"255":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"216":{"tf":1.0},"225":{"tf":1.0},"249":{"tf":1.4142135623730951},"266":{"tf":1.0}},"s":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"269":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"v":{"df":2,"docs":{"257":{"tf":1.0},"270":{"tf":1.0}}}},"<":{"df":0,"docs":{},"q":{">":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"249":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"176":{"tf":1.4142135623730951},"180":{"tf":1.0},"185":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":1,"docs":{"279":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"]":{"[":{"1":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"i":{"df":8,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"143":{"tf":1.0},"180":{"tf":1.0},"185":{"tf":1.4142135623730951}}},"y":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"180":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"13":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"288":{"tf":1.0}}}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"289":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":2,"docs":{"105":{"tf":1.0},"210":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},")":{"df":0,"docs":{},",":{"df":0,"docs":{},"漢":{"df":0,"docs":{},"明":{"df":0,"docs":{},"碼":{"df":0,"docs":{},"(":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":1,"docs":{"277":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"df":0,"docs":{},"s":{"c":{"a":{"df":0,"docs":{},"n":{"(":{"0":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}},"[":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}}},"df":0,"docs":{}},"df":22,"docs":{"123":{"tf":2.23606797749979},"124":{"tf":1.0},"125":{"tf":2.0},"127":{"tf":2.0},"128":{"tf":1.4142135623730951},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.7320508075688772},"132":{"tf":1.4142135623730951},"133":{"tf":1.4142135623730951},"145":{"tf":2.23606797749979},"147":{"tf":1.7320508075688772},"149":{"tf":1.4142135623730951},"150":{"tf":1.0},"151":{"tf":1.7320508075688772},"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.4142135623730951},"272":{"tf":2.23606797749979},"278":{"tf":1.7320508075688772},"279":{"tf":1.7320508075688772},"4":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"151":{"tf":1.0}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"f":{"df":2,"docs":{"130":{"tf":1.0},"132":{"tf":1.0}}}},"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}}}}},"df":0,"docs":{},")":{"df":0,"docs":{},",":{"df":0,"docs":{},"有":{"df":0,"docs":{},"了":{"df":0,"docs":{},"個":{"df":0,"docs":{},"別":{"df":0,"docs":{},"元":{"df":0,"docs":{},"素":{"df":0,"docs":{},"增":{"df":0,"docs":{},"刪":{"df":0,"docs":{},"資":{"df":0,"docs":{},"訊":{"df":0,"docs":{},",":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"272":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"152":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"225":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"u":{"df":6,"docs":{"192":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"230":{"tf":1.4142135623730951},"259":{"tf":1.0},"271":{"tf":1.0},"85":{"tf":1.4142135623730951}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"62":{"tf":1.0}}}}}}}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"44":{"tf":1.0}},"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":11,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"122":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"142":{"tf":1.0},"143":{"tf":1.7320508075688772},"207":{"tf":1.0},"211":{"tf":1.0},"227":{"tf":1.0},"77":{"tf":1.0}},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"13":{"tf":1.0}}}}}},"df":0,"docs":{}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"229":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":1,"docs":{"275":{"tf":3.3166247903554}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{"?":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"207":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"207":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"207":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":2,"docs":{"207":{"tf":2.8284271247461903},"208":{"tf":2.449489742783178}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"207":{"tf":1.7320508075688772},"208":{"tf":1.0},"251":{"tf":1.4142135623730951}}}}}}}}},"d":{".":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{")":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"(":{"1":{"df":1,"docs":{"186":{"tf":1.0}}},"2":{"df":1,"docs":{"186":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"3":{"df":1,"docs":{"186":{"tf":1.0}}},"4":{"df":1,"docs":{"186":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"251":{"tf":1.0}}}}},"t":{"a":{"df":11,"docs":{"162":{"tf":1.0},"172":{"tf":1.0},"175":{"tf":2.449489742783178},"200":{"tf":1.0},"245":{"tf":1.0},"251":{"tf":1.0},"259":{"tf":1.0},"271":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0},"43":{"tf":1.0}}},"df":0,"docs":{}}},"df":5,"docs":{"125":{"tf":2.449489742783178},"148":{"tf":1.0},"149":{"tf":1.4142135623730951},"150":{"tf":1.0},"186":{"tf":1.7320508075688772}},"e":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{".":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"176":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"_":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"!":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":1,"docs":{"179":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"188":{"tf":1.0}}}}}}},"df":2,"docs":{"188":{"tf":2.0},"213":{"tf":1.7320508075688772}}}}},"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"185":{"tf":1.0},"251":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"238":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"236":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"131":{"tf":1.0},"132":{"tf":1.0},"236":{"tf":1.7320508075688772}},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":4,"docs":{"233":{"tf":1.0},"263":{"tf":1.4142135623730951},"264":{"tf":1.0},"269":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"233":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}}}},"l":{"df":1,"docs":{"287":{"tf":2.0}},"e":{"df":0,"docs":{},"t":{"df":4,"docs":{"161":{"tf":1.0},"171":{"tf":1.0},"282":{"tf":1.0},"289":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":2,"docs":{"263":{"tf":1.0},"264":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"47":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"q":{"df":0,"docs":{},"u":{"df":9,"docs":{"171":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":1.0},"177":{"tf":1.4142135623730951},"182":{"tf":1.0},"184":{"tf":1.7320508075688772},"185":{"tf":1.7320508075688772},"186":{"tf":1.7320508075688772},"6":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"f":{"df":1,"docs":{"184":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},":":{":":{"c":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"179":{"tf":1.0}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"184":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"186":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"186":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"186":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{"df":6,"docs":{"177":{"tf":1.4142135623730951},"179":{"tf":1.0},"184":{"tf":1.0},"186":{"tf":2.6457513110645907},"187":{"tf":1.4142135623730951},"188":{"tf":1.0}}}},"df":0,"docs":{},"u":{"df":2,"docs":{"165":{"tf":1.0},"171":{"tf":1.4142135623730951}},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"168":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},")":{"df":0,"docs":{},"是":{"df":0,"docs":{},"一":{"df":0,"docs":{},"般":{"df":0,"docs":{},"化":{"df":0,"docs":{},"(":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"173":{"tf":1.0}}}}}}}}}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{":":{":":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"211":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"176":{"tf":1.0},"83":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"188":{"tf":1.4142135623730951}},"e":{"(":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"188":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"92":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"270":{"tf":1.0}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"176":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"103":{"tf":1.0},"44":{"tf":1.0},"54":{"tf":1.0}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":1.0},"47":{"tf":1.0}}}}}}}}}}}},"i":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":6,"docs":{"112":{"tf":1.0},"136":{"tf":1.0},"258":{"tf":1.0},"73":{"tf":1.0},"81":{"tf":1.4142135623730951},"97":{"tf":1.0}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"df":0,"docs":{},")":{"df":0,"docs":{},"、":{"df":0,"docs":{},"關":{"df":0,"docs":{},"聯":{"df":0,"docs":{},"陣":{"df":0,"docs":{},"列":{"df":0,"docs":{},"(":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"216":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{}}}},",":{"df":0,"docs":{},"j":{"a":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"216":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"251":{"tf":1.0},"255":{"tf":1.0},"257":{"tf":1.4142135623730951},"267":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"<":{"'":{"a":{">":{"(":{"&":{"'":{"a":{"df":1,"docs":{"252":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},":":{"df":0,"docs":{},"差":{"df":0,"docs":{},"集":{"df":0,"docs":{},",":{"a":{"df":1,"docs":{"250":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":5,"docs":{"146":{"tf":1.4142135623730951},"147":{"tf":1.7320508075688772},"148":{"tf":1.0},"151":{"tf":2.23606797749979},"278":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"250":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"253":{"tf":1.0},"256":{"tf":1.0}}}}}}},"k":{"df":1,"docs":{"259":{"tf":1.0}}},"p":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"240":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"84":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":9,"docs":{"230":{"tf":1.0},"277":{"tf":1.0},"281":{"tf":1.0},"282":{"tf":1.7320508075688772},"287":{"tf":1.4142135623730951},"288":{"tf":1.4142135623730951},"289":{"tf":1.0},"291":{"tf":2.0},"9":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{")":{".":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"|":{"d":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"289":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"[":{"0":{"]":{"[":{"df":0,"docs":{},"j":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":1,"docs":{"289":{"tf":1.0}}},"df":0,"docs":{},"i":{"]":{"[":{"0":{"df":2,"docs":{"287":{"tf":1.4142135623730951},"288":{"tf":1.0}}},"df":0,"docs":{},"j":{"df":1,"docs":{"287":{"tf":2.0}}}},"df":0,"docs":{}},"df":1,"docs":{"287":{"tf":2.0}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"j":{"df":1,"docs":{"289":{"tf":2.0}}}},"df":0,"docs":{}},")":{"df":0,"docs":{},"是":{"df":0,"docs":{},"指":{"df":0,"docs":{},"兩":{"df":0,"docs":{},"個":{"df":0,"docs":{},"相":{"df":0,"docs":{},"同":{"df":0,"docs":{},"長":{"df":0,"docs":{},"度":{"df":0,"docs":{},"的":{"df":0,"docs":{},"序":{"df":0,"docs":{},"列":{"df":0,"docs":{},"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},")":{"df":0,"docs":{},"在":{"df":0,"docs":{},"相":{"df":0,"docs":{},"同":{"df":0,"docs":{},"位":{"df":0,"docs":{},"置":{"df":0,"docs":{},"上":{"df":0,"docs":{},",":{"df":0,"docs":{},"有":{"df":0,"docs":{},"多":{"df":0,"docs":{},"少":{"df":0,"docs":{},"個":{"df":0,"docs":{},"數":{"df":0,"docs":{},"值":{"df":0,"docs":{},"不":{"df":0,"docs":{},"同":{"df":0,"docs":{},",":{"df":0,"docs":{},"對":{"df":0,"docs":{},"二":{"df":0,"docs":{},"進":{"df":0,"docs":{},"位":{"df":0,"docs":{},"序":{"df":0,"docs":{},"列":{"df":0,"docs":{},"來":{"df":0,"docs":{},"說":{"df":0,"docs":{},"就":{"df":0,"docs":{},"是":{"df":0,"docs":{},"「":{"df":0,"docs":{},"相":{"df":0,"docs":{},"異":{"df":0,"docs":{},"位":{"df":0,"docs":{},"元":{"df":0,"docs":{},"的":{"df":0,"docs":{},"數":{"df":0,"docs":{},"目":{"df":0,"docs":{},"」":{"df":0,"docs":{},"。":{"df":0,"docs":{},"漢":{"df":0,"docs":{},"明":{"df":0,"docs":{},"距":{"df":0,"docs":{},"離":{"df":0,"docs":{},"同":{"df":0,"docs":{},"時":{"df":0,"docs":{},"也":{"df":0,"docs":{},"是":{"df":0,"docs":{},"一":{"df":0,"docs":{},"種":{"df":0,"docs":{},"編":{"df":0,"docs":{},"輯":{"df":0,"docs":{},"距":{"df":0,"docs":{},"離":{"df":0,"docs":{},",":{"df":0,"docs":{},"即":{"df":0,"docs":{},"是":{"df":0,"docs":{},"將":{"df":0,"docs":{},"一":{"df":0,"docs":{},"個":{"df":0,"docs":{},"字":{"df":0,"docs":{},"串":{"df":0,"docs":{},"轉":{"df":0,"docs":{},"換":{"df":0,"docs":{},"成":{"df":0,"docs":{},"另":{"df":0,"docs":{},"一":{"df":0,"docs":{},"個":{"df":0,"docs":{},"字":{"df":0,"docs":{},"串":{"df":0,"docs":{},",":{"df":0,"docs":{},"需":{"df":0,"docs":{},"要":{"df":0,"docs":{},"經":{"df":0,"docs":{},"過":{"df":0,"docs":{},"多":{"df":0,"docs":{},"少":{"df":0,"docs":{},"次":{"df":0,"docs":{},"置":{"df":0,"docs":{},"換":{"df":0,"docs":{},"操":{"df":0,"docs":{},"作":{"df":0,"docs":{},"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"277":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}}}},"df":0,"docs":{}}},"df":1,"docs":{"289":{"tf":1.4142135623730951}},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":4,"docs":{"129":{"tf":1.0},"229":{"tf":1.0},"43":{"tf":1.7320508075688772},"47":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"i":{"d":{"df":5,"docs":{"110":{"tf":1.0},"111":{"tf":1.0},"116":{"tf":1.4142135623730951},"30":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":6,"docs":{"0":{"tf":1.0},"190":{"tf":1.0},"215":{"tf":1.0},"225":{"tf":1.0},"244":{"tf":1.0},"258":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"262":{"tf":1.0}}}},"df":0,"docs":{}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"199":{"tf":1.0},"258":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"271":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"87":{"tf":1.0}}},"’":{"df":0,"docs":{},"t":{"df":1,"docs":{"274":{"tf":1.0}}}}},"u":{"b":{"df":0,"docs":{},"l":{"df":5,"docs":{"173":{"tf":1.0},"180":{"tf":1.0},"230":{"tf":1.0},"271":{"tf":1.0},"275":{"tf":1.0}},"i":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"n":{"df":7,"docs":{"116":{"tf":1.0},"117":{"tf":1.0},"119":{"tf":1.0},"87":{"tf":1.7320508075688772},"89":{"tf":1.7320508075688772},"90":{"tf":1.7320508075688772},"92":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"176":{"tf":1.0},"184":{"tf":1.0},"210":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}},"df":7,"docs":{"176":{"tf":2.8284271247461903},"182":{"tf":1.0},"184":{"tf":2.6457513110645907},"185":{"tf":1.0},"205":{"tf":1.7320508075688772},"210":{"tf":3.1622776601683795},"251":{"tf":1.0}}}}},"s":{"a":{"df":1,"docs":{"152":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":3,"docs":{"180":{"tf":1.4142135623730951},"233":{"tf":1.4142135623730951},"265":{"tf":1.4142135623730951}}}},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"185":{"tf":1.0}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"107":{"tf":1.0}}},"df":0,"docs":{}}}},"s":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"215":{"tf":1.0}}}}}},"df":0,"docs":{}},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"107":{"tf":1.0}}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":6,"docs":{"140":{"tf":1.0},"230":{"tf":1.0},"233":{"tf":1.4142135623730951},"240":{"tf":1.0},"262":{"tf":1.0},"285":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"0":{"3":{"7":{"3":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"2":{"3":{"df":1,"docs":{"251":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"^":{"df":0,"docs":{},"{":{"7":{"7":{"7":{"^":{"df":0,"docs":{},"{":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"_":{"2":{"^":{"9":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"139":{"tf":1.4142135623730951},"146":{"tf":1.4142135623730951},"211":{"tf":1.0}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"0":{"tf":1.0},"109":{"tf":1.0},"244":{"tf":1.0},"282":{"tf":1.0}}}}},"df":2,"docs":{"125":{"tf":2.23606797749979},"284":{"tf":1.0}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{".":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"1":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}},"2":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":7,"docs":{"182":{"tf":1.4142135623730951},"186":{"tf":2.23606797749979},"202":{"tf":1.7320508075688772},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"268":{"tf":1.7320508075688772},"269":{"tf":2.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":11,"docs":{"103":{"tf":1.4142135623730951},"107":{"tf":1.0},"108":{"tf":2.23606797749979},"119":{"tf":1.4142135623730951},"131":{"tf":1.0},"132":{"tf":1.7320508075688772},"139":{"tf":1.0},"142":{"tf":1.0},"176":{"tf":1.0},"179":{"tf":1.0},"185":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"105":{"tf":1.0}}}}},"s":{"df":1,"docs":{"251":{"tf":1.7320508075688772}}}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":5,"docs":{"140":{"tf":1.0},"175":{"tf":1.0},"227":{"tf":1.0},"44":{"tf":1.0},"54":{"tf":1.0}}}}}},"n":{"d":{"df":4,"docs":{"173":{"tf":1.0},"211":{"tf":1.0},"34":{"tf":1.4142135623730951},"92":{"tf":3.3166247903554}},"{":{"c":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"114":{"tf":1.0},"284":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":3,"docs":{"165":{"tf":1.0},"167":{"tf":1.0},"171":{"tf":1.0}},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"167":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":2,"docs":{"210":{"tf":1.0},"215":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"271":{"tf":1.0}}},"y":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"239":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":4,"docs":{"260":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.0},"270":{"tf":1.4142135623730951}}}}}}}},"q":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"212":{"tf":1.0},"256":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":9,"docs":{"233":{"tf":1.7320508075688772},"234":{"tf":1.4142135623730951},"236":{"tf":1.4142135623730951},"237":{"tf":1.0},"238":{"tf":1.0},"247":{"tf":1.0},"249":{"tf":1.7320508075688772},"255":{"tf":1.0},"256":{"tf":2.8284271247461903}},"u":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"107":{"tf":1.0},"256":{"tf":1.0},"44":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},")":{"df":0,"docs":{},"定":{"df":0,"docs":{},"義":{"df":0,"docs":{},"為":{"df":0,"docs":{},":":{"df":0,"docs":{},"x":{"df":1,"docs":{"256":{"tf":1.0}}}}}}}}}}}}},"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"(":{"df":0,"docs":{},"s":{"a":{"df":1,"docs":{"212":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"256":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},",":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"233":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"r":{"(":{"0":{"df":3,"docs":{"33":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951}}},"b":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"143":{"tf":1.0}}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}},"p":{"df":0,"docs":{},"o":{"df":2,"docs":{"207":{"tf":1.4142135623730951},"61":{"tf":1.0}}}},"目":{"df":0,"docs":{},"標":{"df":0,"docs":{},"值":{"df":0,"docs":{},"若":{"df":0,"docs":{},"插":{"df":0,"docs":{},"入":{"df":0,"docs":{},"後":{"df":0,"docs":{},",":{"df":0,"docs":{},"不":{"df":0,"docs":{},"會":{"df":0,"docs":{},"影":{"df":0,"docs":{},"響":{"df":0,"docs":{},"序":{"df":0,"docs":{},"列":{"df":0,"docs":{},"排":{"df":0,"docs":{},"序":{"df":0,"docs":{},"的":{"df":0,"docs":{},"位":{"df":0,"docs":{},"置":{")":{"df":0,"docs":{},"。":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"32":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}}},"_":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"267":{"tf":2.449489742783178},"269":{"tf":1.7320508075688772}},"e":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}},"o":{"df":0,"docs":{},"g":{"2":{"(":{")":{")":{".":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":2,"docs":{"44":{"tf":1.0},"61":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"r":{"[":{"df":0,"docs":{},"e":{"0":{"1":{"9":{"5":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"7":{"7":{"df":1,"docs":{"262":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"0":{"8":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"7":{"3":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"9":{"2":{"df":1,"docs":{"264":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"3":{"5":{"df":1,"docs":{"262":{"tf":1.0}}},"df":0,"docs":{}},"9":{"5":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"2":{"3":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":4,"docs":{"251":{"tf":1.4142135623730951},"264":{"tf":1.0},"276":{"tf":1.0},"277":{"tf":1.0}}}}}},"t":{"df":2,"docs":{"274":{"tf":1.0},"275":{"tf":1.0}}},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":5,"docs":{"143":{"tf":1.0},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"19":{"tf":1.7320508075688772},"92":{"tf":1.0}}}},"t":{"df":1,"docs":{"44":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"(":{"\"":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"238":{"tf":1.0}}}}},"df":0,"docs":{}}},"&":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"!":{"(":{"\"":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"238":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":3,"docs":{"185":{"tf":1.0},"238":{"tf":1.0},"240":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"<":{"df":0,"docs":{},"t":{">":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"54":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":4,"docs":{"3":{"tf":1.0},"37":{"tf":2.0},"48":{"tf":1.4142135623730951},"55":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"185":{"tf":1.0}}}}}}},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"130":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"f":{"(":{"df":0,"docs":{},"n":{"df":3,"docs":{"17":{"tf":3.3166247903554},"18":{"tf":1.7320508075688772},"19":{"tf":2.23606797749979}}},"x":{")":{"=":{"\\":{"df":0,"docs":{},"s":{"df":0,"docs":{},"q":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"{":{"\\":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"{":{"1":{"8":{"2":{"7":{"7":{"7":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"2":{"8":{"6":{"df":0,"docs":{},"}":{"df":0,"docs":{},"}":{"\\":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"x":{"^":{"2":{"+":{"3":{"df":0,"docs":{},"x":{"+":{"6":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"16":{"tf":1.7320508075688772}}}},".":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{")":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"188":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"6":{"4":{"df":3,"docs":{"239":{"tf":1.4142135623730951},"267":{"tf":2.449489742783178},"269":{"tf":2.0}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"q":{"df":1,"docs":{"274":{"tf":1.0}}},"r":{"df":1,"docs":{"274":{"tf":1.0}}}},"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"176":{"tf":1.0}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":8,"docs":{"231":{"tf":2.8284271247461903},"235":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.4142135623730951},"242":{"tf":1.4142135623730951},"243":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.0}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":3,"docs":{"122":{"tf":1.0},"244":{"tf":1.0},"93":{"tf":1.0}}},"s":{"df":8,"docs":{"157":{"tf":1.0},"168":{"tf":1.0},"212":{"tf":1.0},"253":{"tf":1.4142135623730951},"256":{"tf":2.0},"259":{"tf":1.0},"260":{"tf":1.0},"76":{"tf":1.0}}}},"n":{"df":1,"docs":{"275":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"291":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"46":{"tf":1.0},"47":{"tf":1.0}}}}}}},"df":7,"docs":{"125":{"tf":1.7320508075688772},"130":{"tf":1.4142135623730951},"132":{"tf":1.4142135623730951},"143":{"tf":1.7320508075688772},"188":{"tf":1.0},"213":{"tf":1.0},"274":{"tf":1.0}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"142":{"tf":1.0},"264":{"tf":1.0}}},"df":0,"docs":{}}},"f":{"df":0,"docs":{},"o":{"df":2,"docs":{"163":{"tf":1.0},"173":{"tf":1.0}}}},"g":{"df":4,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"19":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"185":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"273":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":17,"docs":{"224":{"tf":1.0},"259":{"tf":2.8284271247461903},"260":{"tf":2.0},"262":{"tf":1.0},"264":{"tf":1.4142135623730951},"266":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.0},"269":{"tf":1.0},"270":{"tf":1.0},"271":{"tf":2.6457513110645907},"272":{"tf":3.1622776601683795},"273":{"tf":3.872983346207417},"274":{"tf":2.8284271247461903},"275":{"tf":3.4641016151377544},"276":{"tf":2.0},"8":{"tf":1.0}},"f":{"df":1,"docs":{"274":{"tf":1.0}}}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"103":{"tf":1.0}}}},"d":{"(":{"df":0,"docs":{},"|":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"237":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":2,"docs":{"108":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"142":{"tf":1.0},"185":{"tf":1.0},"214":{"tf":1.0}}}}},"x":{"df":2,"docs":{"259":{"tf":1.0},"262":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"107":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"274":{"tf":1.0}}}},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"b":{"df":1,"docs":{"240":{"tf":1.7320508075688772}},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"239":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":3,"docs":{"143":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":1,"docs":{"143":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"265":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"188":{"tf":1.0},"213":{"tf":1.0}}}}}}},"df":0,"docs":{}},":":{":":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"188":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":1,"docs":{"188":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"188":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"n":{"(":{"&":{"df":0,"docs":{},"t":{"df":3,"docs":{"130":{"tf":1.0},"132":{"tf":1.0},"143":{"tf":1.0}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"i":{"df":2,"docs":{"268":{"tf":1.7320508075688772},"269":{"tf":2.23606797749979}}}},"df":75,"docs":{"102":{"tf":1.4142135623730951},"103":{"tf":1.0},"105":{"tf":2.0},"107":{"tf":1.0},"108":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"142":{"tf":1.0},"143":{"tf":1.4142135623730951},"151":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.0},"166":{"tf":1.0},"167":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":1.0},"176":{"tf":1.7320508075688772},"177":{"tf":1.0},"179":{"tf":2.23606797749979},"180":{"tf":1.4142135623730951},"181":{"tf":2.0},"182":{"tf":2.0},"184":{"tf":1.0},"185":{"tf":2.6457513110645907},"186":{"tf":2.0},"187":{"tf":1.4142135623730951},"188":{"tf":1.0},"205":{"tf":1.0},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"208":{"tf":1.0},"210":{"tf":1.4142135623730951},"211":{"tf":2.6457513110645907},"212":{"tf":1.0},"213":{"tf":1.0},"233":{"tf":1.7320508075688772},"236":{"tf":1.7320508075688772},"237":{"tf":2.0},"238":{"tf":1.4142135623730951},"239":{"tf":1.7320508075688772},"240":{"tf":1.4142135623730951},"249":{"tf":2.449489742783178},"25":{"tf":1.4142135623730951},"251":{"tf":2.449489742783178},"252":{"tf":2.0},"253":{"tf":1.7320508075688772},"255":{"tf":1.0},"256":{"tf":1.4142135623730951},"262":{"tf":1.0},"267":{"tf":2.23606797749979},"268":{"tf":1.7320508075688772},"269":{"tf":2.8284271247461903},"278":{"tf":1.4142135623730951},"279":{"tf":1.0},"286":{"tf":1.4142135623730951},"287":{"tf":1.0},"289":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"44":{"tf":1.4142135623730951},"54":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0},"76":{"tf":1.4142135623730951},"83":{"tf":1.0},"92":{"tf":1.4142135623730951}}},"o":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"|":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"239":{"tf":1.0}}}},"df":0,"docs":{}}},"df":1,"docs":{"239":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"17":{"tf":1.7320508075688772},"18":{"tf":1.0},"19":{"tf":1.4142135623730951}}}},"c":{"df":1,"docs":{"251":{"tf":1.0}}},"d":{"df":0,"docs":{},"o":{"df":1,"docs":{"227":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":1,"docs":{"272":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"47":{"tf":1.0}}}},"df":2,"docs":{"185":{"tf":1.0},"240":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"r":{"a":{"c":{"df":2,"docs":{"80":{"tf":1.7320508075688772},"81":{"tf":1.0}},"{":{"\\":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"df":0,"docs":{},"{":{"\\":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"}":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"\\":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"df":0,"docs":{},"{":{"2":{"df":1,"docs":{"260":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}}}}},"c":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{},"n":{"^":{"2":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"2":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"2":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"i":{"df":1,"docs":{"42":{"tf":1.0}}},"n":{"(":{"df":0,"docs":{},"n":{"df":3,"docs":{"66":{"tf":1.0},"75":{"tf":1.0},"99":{"tf":1.0}}}},"^":{"2":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"2":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"260":{"tf":1.0}},"}":{"df":0,"docs":{},"{":{"2":{"^":{"df":0,"docs":{},"k":{"df":1,"docs":{"30":{"tf":1.4142135623730951}}}},"df":2,"docs":{"114":{"tf":2.0},"75":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":2,"docs":{"231":{"tf":1.0},"242":{"tf":1.4142135623730951}}}}}},"y":{"_":{"1":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"100":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"274":{"tf":1.0}}}}},"df":0,"docs":{}}}},"o":{"d":{"df":0,"docs":{},"o":{"df":2,"docs":{"227":{"tf":1.7320508075688772},"230":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"255":{"tf":1.4142135623730951}}}}}}},"n":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"181":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":4,"docs":{"164":{"tf":1.0},"178":{"tf":1.0},"181":{"tf":1.0},"189":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"175":{"tf":1.0}}}},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":11,"docs":{"130":{"tf":1.7320508075688772},"131":{"tf":1.0},"143":{"tf":1.0},"229":{"tf":1.0},"251":{"tf":1.4142135623730951},"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0},"284":{"tf":1.0},"32":{"tf":1.0},"47":{"tf":1.0}}}}}}},"df":0,"docs":{}}},":":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"143":{"tf":1.0}}}}}}},"df":0,"docs":{}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"130":{"tf":1.0}}}}}}},"g":{"(":{"df":0,"docs":{},"n":{"df":3,"docs":{"17":{"tf":2.23606797749979},"18":{"tf":1.7320508075688772},"19":{"tf":2.0}}},"x":{")":{"=":{"3":{"df":0,"docs":{},"x":{"^":{"6":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"16":{"tf":1.7320508075688772}}}},"_":{"df":0,"docs":{},"i":{"(":{"df":0,"docs":{},"x":{"df":4,"docs":{"260":{"tf":1.0},"266":{"tf":1.0},"268":{"tf":1.7320508075688772},"269":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"48":{"tf":1.0}}}}}},"p":{"df":6,"docs":{"78":{"tf":1.7320508075688772},"79":{"tf":2.0},"80":{"tf":2.0},"81":{"tf":2.23606797749979},"82":{"tf":2.449489742783178},"83":{"tf":3.4641016151377544}}},"t":{"df":1,"docs":{"185":{"tf":1.7320508075688772}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"135":{"tf":1.0},"136":{"tf":1.0},"139":{"tf":1.0},"143":{"tf":1.4142135623730951}}}}}}},"b":{"df":1,"docs":{"14":{"tf":1.0}}},"df":1,"docs":{"284":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"k":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"k":{"df":1,"docs":{"109":{"tf":1.0}}}}}}}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":4,"docs":{"142":{"tf":1.0},"185":{"tf":1.0},"264":{"tf":1.0},"272":{"tf":1.0}}}}},"q":{"df":2,"docs":{"18":{"tf":1.0},"19":{"tf":1.0}}},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"237":{"tf":1.0}}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"q":{">":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"237":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"266":{"tf":1.0}}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"238":{"tf":1.0}}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"185":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":2,"docs":{"185":{"tf":1.4142135623730951},"237":{"tf":1.0}},":":{"df":0,"docs":{},"取":{"df":0,"docs":{},"得":{"df":0,"docs":{},"指":{"df":0,"docs":{},"定":{"df":0,"docs":{},"鍵":{"df":0,"docs":{},"對":{"df":0,"docs":{},"應":{"df":0,"docs":{},"的":{"df":0,"docs":{},"資":{"df":0,"docs":{},"料":{"df":0,"docs":{},",":{"df":0,"docs":{},"並":{"df":0,"docs":{},"可":{"df":0,"docs":{},"寫":{"df":0,"docs":{},"入":{"df":0,"docs":{},"修":{"df":0,"docs":{},"改":{"df":0,"docs":{},"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"235":{"tf":1.0}}}}}}}}}}}}}}}}}}}}}}}}}}}},"df":1,"docs":{"210":{"tf":1.0}}}},"i":{"df":0,"docs":{},"f":{"df":6,"docs":{"122":{"tf":1.0},"62":{"tf":1.0},"70":{"tf":1.0},"77":{"tf":1.0},"86":{"tf":1.0},"93":{"tf":1.0}}},"m":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"230":{"tf":1.7320508075688772}}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"b":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"o":{"b":{"a":{"df":0,"docs":{},"l":{"_":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"176":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"176":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"df":1,"docs":{"291":{"tf":1.0}},"e":{"df":1,"docs":{"210":{"tf":1.0}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"227":{"tf":1.7320508075688772},"230":{"tf":1.7320508075688772}},"n":{"df":1,"docs":{"227":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"276":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":2,"docs":{"225":{"tf":1.0},"244":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"92":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"133":{"tf":1.0}}}}},"t":{"df":1,"docs":{"270":{"tf":1.0}}},"u":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"279":{"tf":1.0}}},"df":0,"docs":{}},"v":{"a":{"df":1,"docs":{"276":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"h":{"1":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"269":{"tf":1.0}}}},".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"i":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"h":{"2":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}},"2":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"269":{"tf":1.0}}}},"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}},"_":{"1":{"(":{"df":0,"docs":{},"x":{"df":5,"docs":{"260":{"tf":1.4142135623730951},"266":{"tf":1.0},"268":{"tf":2.23606797749979},"269":{"tf":1.4142135623730951},"275":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"2":{"(":{"df":0,"docs":{},"x":{"df":4,"docs":{"260":{"tf":1.0},"268":{"tf":1.4142135623730951},"269":{"tf":1.0},"275":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"33":{"tf":1.7320508075688772}}}},"m":{"df":3,"docs":{"277":{"tf":1.4142135623730951},"281":{"tf":1.0},"9":{"tf":1.0}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"278":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"279":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"n":{"d":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"10":{"tf":1.0}}}}}},"df":0,"docs":{},"l":{"df":2,"docs":{"44":{"tf":1.0},"54":{"tf":1.0}},"e":{"_":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"d":{"_":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"176":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"275":{"tf":1.0}}},"h":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"275":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"1":{"df":1,"docs":{"228":{"tf":1.0}}},"2":{"df":1,"docs":{"228":{"tf":1.0}}},"df":0,"docs":{}}}},"x":{"df":1,"docs":{"275":{"tf":1.0}}}},"<":{"df":0,"docs":{},"h":{"df":1,"docs":{"233":{"tf":1.0}}}},"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.7320508075688772},"269":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"o":{"df":1,"docs":{"227":{"tf":1.0}}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"227":{"tf":1.0}}}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"228":{"tf":1.0}}}}},"s":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"227":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"247":{"tf":1.0}}}},"df":0,"docs":{}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"228":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":28,"docs":{"142":{"tf":2.23606797749979},"143":{"tf":1.0},"220":{"tf":1.0},"226":{"tf":1.0},"229":{"tf":1.4142135623730951},"230":{"tf":1.4142135623730951},"231":{"tf":1.0},"233":{"tf":3.605551275463989},"234":{"tf":1.4142135623730951},"236":{"tf":1.4142135623730951},"237":{"tf":1.0},"238":{"tf":1.4142135623730951},"244":{"tf":1.7320508075688772},"247":{"tf":1.0},"249":{"tf":1.7320508075688772},"255":{"tf":1.0},"256":{"tf":1.7320508075688772},"260":{"tf":1.0},"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.7320508075688772},"269":{"tf":2.6457513110645907},"271":{"tf":1.0},"274":{"tf":1.4142135623730951},"275":{"tf":2.0},"276":{"tf":1.4142135623730951},"8":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"(":{"&":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"143":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"233":{"tf":1.0}}}}}}}}},"1":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}}}}},"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}},"2":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}}}}},"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}},":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"268":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},">":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"233":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":8,"docs":{"142":{"tf":1.4142135623730951},"143":{"tf":1.4142135623730951},"233":{"tf":2.23606797749979},"263":{"tf":2.0},"264":{"tf":1.4142135623730951},"267":{"tf":1.7320508075688772},"268":{"tf":2.23606797749979},"269":{"tf":1.7320508075688772}}}},"m":{"a":{"df":0,"docs":{},"p":{".":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"234":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"238":{"tf":1.0}}}}}},":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"249":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"249":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"249":{"tf":1.0}}}}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"239":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"<":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"237":{"tf":1.0}}}}}},"df":0,"docs":{},"k":{"df":3,"docs":{"234":{"tf":1.4142135623730951},"236":{"tf":1.4142135623730951},"264":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"264":{"tf":1.0}}}}},"t":{"df":2,"docs":{"247":{"tf":1.0},"248":{"tf":1.0}}}},"df":11,"docs":{"143":{"tf":1.4142135623730951},"216":{"tf":1.0},"230":{"tf":1.0},"231":{"tf":1.0},"233":{"tf":1.0},"234":{"tf":1.0},"236":{"tf":1.4142135623730951},"244":{"tf":1.0},"247":{"tf":1.0},"249":{"tf":1.0},"257":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"237":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{"df":7,"docs":{"247":{"tf":1.0},"249":{"tf":1.0},"251":{"tf":3.4641016151377544},"252":{"tf":2.0},"253":{"tf":1.7320508075688772},"255":{"tf":2.23606797749979},"256":{"tf":2.23606797749979}}}},"df":2,"docs":{"251":{"tf":1.4142135623730951},"258":{"tf":1.0}}}}},":":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"142":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":9,"docs":{"142":{"tf":1.4142135623730951},"143":{"tf":1.7320508075688772},"175":{"tf":3.0},"179":{"tf":1.4142135623730951},"180":{"tf":2.449489742783178},"233":{"tf":1.0},"276":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.0}},"e":{"a":{"d":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"206":{"tf":1.0}}}}}}},"df":21,"docs":{"119":{"tf":1.4142135623730951},"171":{"tf":1.0},"174":{"tf":1.0},"175":{"tf":3.3166247903554},"177":{"tf":1.4142135623730951},"179":{"tf":1.0},"180":{"tf":2.6457513110645907},"181":{"tf":1.7320508075688772},"182":{"tf":1.7320508075688772},"185":{"tf":2.0},"189":{"tf":1.0},"196":{"tf":1.7320508075688772},"200":{"tf":1.0},"203":{"tf":1.4142135623730951},"205":{"tf":1.0},"206":{"tf":2.23606797749979},"207":{"tf":1.0},"208":{"tf":1.4142135623730951},"210":{"tf":1.0},"214":{"tf":1.0},"230":{"tf":1.0}}},"df":0,"docs":{},"p":{"df":10,"docs":{"202":{"tf":1.0},"236":{"tf":1.0},"69":{"tf":1.0},"85":{"tf":2.0},"86":{"tf":3.0},"87":{"tf":4.242640687119285},"89":{"tf":3.4641016151377544},"90":{"tf":1.7320508075688772},"92":{"tf":4.358898943540674},"93":{"tf":1.0}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":4,"docs":{"87":{"tf":1.7320508075688772},"89":{"tf":2.0},"90":{"tf":1.0},"92":{"tf":1.7320508075688772}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"92":{"tf":1.0}}}}},"df":0,"docs":{}},"df":9,"docs":{"4":{"tf":1.0},"69":{"tf":1.4142135623730951},"85":{"tf":2.0},"86":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"88":{"tf":1.0},"89":{"tf":1.0},"92":{"tf":1.7320508075688772},"93":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"i":{"df":1,"docs":{"291":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"p":{"df":2,"docs":{"251":{"tf":1.0},"264":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"102":{"tf":1.0}}}}}},"n":{"c":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"4":{"0":{"4":{"0":{"8":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"df":3,"docs":{"176":{"tf":1.0},"210":{"tf":1.4142135623730951},"251":{"tf":1.7320508075688772}}}}},"i":{"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"44":{"tf":2.449489742783178}}}},"df":0,"docs":{}}},"df":8,"docs":{"102":{"tf":3.0},"103":{"tf":1.4142135623730951},"105":{"tf":4.242640687119285},"107":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"41":{"tf":1.4142135623730951},"44":{"tf":2.8284271247461903},"54":{"tf":2.23606797749979}},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"96":{"tf":1.4142135623730951}}}},"、":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}}}},"o":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"108":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"136":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"o":{"d":{"df":1,"docs":{"231":{"tf":1.0}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"{":{"1":{"0":{"df":2,"docs":{"284":{"tf":1.0},"286":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{"/":{"/":{"d":{"df":0,"docs":{},"o":{"c":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},":":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"143":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"i":{"$":{"df":0,"docs":{},"、":{"$":{"df":0,"docs":{},"j":{"df":1,"docs":{"284":{"tf":1.0}}}},"df":0,"docs":{}}},"+":{"1":{"df":1,"docs":{"96":{"tf":1.0}}},"df":0,"docs":{}},"/":{"df":1,"docs":{"284":{"tf":1.0}},"o":{"df":1,"docs":{"274":{"tf":1.0}}}},"3":{"2":{"df":17,"docs":{"102":{"tf":1.4142135623730951},"103":{"tf":1.0},"105":{"tf":2.0},"107":{"tf":1.0},"108":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.7320508075688772},"151":{"tf":1.0},"264":{"tf":1.4142135623730951},"44":{"tf":2.8284271247461903},"59":{"tf":1.0},"61":{"tf":1.4142135623730951},"67":{"tf":1.0},"76":{"tf":1.4142135623730951},"83":{"tf":1.0},"92":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"275":{"tf":1.0}},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"107":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"7":{"5":{"4":{"df":1,"docs":{"256":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"47":{"tf":1.0}}}}},"h":{"_":{"2":{"(":{"df":0,"docs":{},"x":{"df":4,"docs":{"260":{"tf":1.0},"266":{"tf":1.0},"268":{"tf":1.7320508075688772},"269":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"k":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"n":{"df":2,"docs":{"43":{"tf":1.0},"47":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"a":{"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}}},"m":{"a":{"df":0,"docs":{},"g":{"df":3,"docs":{"190":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"200":{"tf":1.4142135623730951},"211":{"tf":1.4142135623730951},"251":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"l":{"<":{"'":{"a":{"df":4,"docs":{"185":{"tf":2.23606797749979},"186":{"tf":2.0},"211":{"tf":1.0},"255":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"df":1,"docs":{"142":{"tf":1.0}}},"k":{"df":1,"docs":{"236":{"tf":1.4142135623730951}}},"t":{"df":15,"docs":{"176":{"tf":1.7320508075688772},"177":{"tf":1.0},"179":{"tf":1.4142135623730951},"184":{"tf":1.0},"186":{"tf":2.0},"187":{"tf":1.4142135623730951},"188":{"tf":1.0},"205":{"tf":1.0},"210":{"tf":1.4142135623730951},"211":{"tf":1.7320508075688772},"212":{"tf":1.0},"213":{"tf":1.0},"249":{"tf":1.0},"256":{"tf":1.7320508075688772},"269":{"tf":1.0}}}},"df":7,"docs":{"185":{"tf":1.0},"233":{"tf":1.0},"240":{"tf":3.0},"249":{"tf":1.0},"251":{"tf":2.449489742783178},"252":{"tf":2.0},"255":{"tf":1.0}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"144":{"tf":1.0},"190":{"tf":1.0},"276":{"tf":1.0}}}}}}}}}},"n":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":1,"docs":{"151":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"118":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"84":{"tf":1.0}}}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"187":{"tf":1.0}}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"187":{"tf":1.0}}}}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"187":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":24,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"119":{"tf":1.7320508075688772},"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"125":{"tf":2.23606797749979},"132":{"tf":2.0},"168":{"tf":1.0},"179":{"tf":2.0},"187":{"tf":2.8284271247461903},"228":{"tf":1.0},"237":{"tf":1.4142135623730951},"238":{"tf":1.7320508075688772},"25":{"tf":1.0},"268":{"tf":1.0},"269":{"tf":1.7320508075688772},"288":{"tf":1.4142135623730951},"33":{"tf":1.0},"54":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"67":{"tf":1.0},"92":{"tf":2.0}},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"143":{"tf":1.0}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"187":{"tf":1.0}}}}},"df":1,"docs":{"187":{"tf":1.4142135623730951}}}}},"(":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"125":{"tf":1.0}}}}}}}}}}}},"df":1,"docs":{"287":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"185":{"tf":1.0},"264":{"tf":1.0}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"44":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":4,"docs":{"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"239":{"tf":1.0},"267":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"210":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"135":{"tf":1.0},"136":{"tf":1.0},"138":{"tf":1.0},"143":{"tf":1.4142135623730951}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"262":{"tf":1.7320508075688772}}}}}},"df":1,"docs":{"125":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":4,"docs":{"238":{"tf":1.0},"249":{"tf":1.0},"268":{"tf":1.0},"269":{"tf":1.0}}}}}},"df":0,"docs":{},"v":{"df":2,"docs":{"257":{"tf":1.0},"270":{"tf":1.0}}}},"_":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":2,"docs":{"204":{"tf":1.0},"207":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"207":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":30,"docs":{"119":{"tf":1.0},"136":{"tf":1.0},"138":{"tf":1.0},"142":{"tf":1.0},"143":{"tf":1.0},"161":{"tf":1.0},"171":{"tf":1.0},"214":{"tf":1.0},"235":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.0},"249":{"tf":1.4142135623730951},"251":{"tf":1.0},"266":{"tf":1.0},"268":{"tf":1.0},"282":{"tf":1.0},"289":{"tf":1.0},"38":{"tf":1.7320508075688772},"4":{"tf":1.0},"56":{"tf":1.7320508075688772},"57":{"tf":1.0},"58":{"tf":1.4142135623730951},"61":{"tf":2.449489742783178},"62":{"tf":1.0},"65":{"tf":1.0},"71":{"tf":1.0},"78":{"tf":2.0},"79":{"tf":1.4142135623730951},"81":{"tf":2.6457513110645907},"82":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"59":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"t":{"df":1,"docs":{"238":{"tf":1.0}}}},"i":{"d":{"df":3,"docs":{"181":{"tf":1.4142135623730951},"182":{"tf":2.0},"187":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"145":{"tf":1.0}},"e":{"df":0,"docs":{},"g":{"df":1,"docs":{"34":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"}":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"278":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"r":{"df":1,"docs":{"186":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":2,"docs":{"117":{"tf":1.0},"118":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":7,"docs":{"3":{"tf":1.0},"36":{"tf":2.0},"40":{"tf":2.0},"43":{"tf":1.0},"44":{"tf":3.7416573867739413},"46":{"tf":1.4142135623730951},"47":{"tf":1.7320508075688772}}}}},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"253":{"tf":1.0},"255":{"tf":1.0},"257":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"<":{"'":{"a":{">":{"(":{"&":{"'":{"a":{"df":1,"docs":{"252":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},":":{"df":0,"docs":{},"交":{"df":0,"docs":{},"集":{"df":0,"docs":{},",":{"a":{"df":1,"docs":{"250":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}},"o":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"185":{"tf":1.0},"186":{"tf":1.0},"211":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"186":{"tf":1.7320508075688772},"211":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"211":{"tf":1.0}}}}}},"t":{"df":2,"docs":{"186":{"tf":1.7320508075688772},"211":{"tf":2.6457513110645907}},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"186":{"tf":1.0},"211":{"tf":1.0}}}}}}},"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"186":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}}}}}},"df":0,"docs":{}},"df":2,"docs":{"186":{"tf":1.4142135623730951},"211":{"tf":1.7320508075688772}}}},"df":3,"docs":{"185":{"tf":1.0},"186":{"tf":3.1622776601683795},"211":{"tf":2.23606797749979}}}}}}},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"244":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}}}}}}}}}},"o":{"df":1,"docs":{"259":{"tf":1.0}}},"s":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"253":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"250":{"tf":1.0}}}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":5,"docs":{"178":{"tf":1.0},"181":{"tf":1.0},"204":{"tf":1.0},"235":{"tf":1.0},"249":{"tf":1.0}}},"y":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"181":{"tf":1.0},"249":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"178":{"tf":1.0}},"l":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"180":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"249":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"210":{"tf":1.4142135623730951}}}},"u":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"253":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":3,"docs":{"250":{"tf":1.0},"253":{"tf":1.4142135623730951},"256":{"tf":1.4142135623730951}},",":{"a":{"df":1,"docs":{"256":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"253":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":2,"docs":{"250":{"tf":1.0},"253":{"tf":1.0}},",":{"a":{"df":1,"docs":{"256":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":4,"docs":{"102":{"tf":2.0},"103":{"tf":1.7320508075688772},"105":{"tf":2.8284271247461903},"107":{"tf":2.0}}}},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"293":{"tf":2.0}}}},"t":{"df":1,"docs":{"46":{"tf":1.0}}}},"t":{"'":{"df":1,"docs":{"180":{"tf":1.4142135623730951}}},"a":{"df":0,"docs":{},"i":{"df":2,"docs":{"43":{"tf":1.0},"47":{"tf":1.0}}}},"df":1,"docs":{"284":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"m":{"df":15,"docs":{"154":{"tf":1.4142135623730951},"156":{"tf":1.0},"157":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"166":{"tf":1.0},"167":{"tf":1.7320508075688772},"168":{"tf":1.0},"169":{"tf":1.0},"185":{"tf":2.0},"186":{"tf":2.0},"211":{"tf":1.7320508075688772},"25":{"tf":1.4142135623730951},"251":{"tf":2.449489742783178},"252":{"tf":1.4142135623730951},"275":{"tf":1.0}}},"r":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":3,"docs":{"211":{"tf":1.4142135623730951},"240":{"tf":1.0},"249":{"tf":1.0}}}}}}},"df":0,"docs":{}},".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"<":{"'":{"a":{"df":3,"docs":{"185":{"tf":1.4142135623730951},"186":{"tf":1.0},"211":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.4142135623730951}}}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":2,"docs":{"185":{"tf":1.0},"186":{"tf":1.0}}}}}},"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"25":{"tf":1.0}}}}}}}},":":{":":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"256":{"tf":1.0},"269":{"tf":1.0}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"251":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":2,"docs":{"185":{"tf":1.0},"279":{"tf":1.0}}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":4,"docs":{"240":{"tf":1.0},"249":{"tf":1.0},"251":{"tf":2.449489742783178},"252":{"tf":2.0}}}}}}},"df":0,"docs":{}}}}},"df":20,"docs":{"105":{"tf":1.0},"107":{"tf":1.0},"131":{"tf":1.0},"143":{"tf":1.4142135623730951},"151":{"tf":1.0},"185":{"tf":4.69041575982343},"186":{"tf":2.0},"208":{"tf":1.0},"211":{"tf":4.242640687119285},"212":{"tf":1.0},"213":{"tf":1.0},"240":{"tf":1.4142135623730951},"249":{"tf":1.4142135623730951},"251":{"tf":2.23606797749979},"269":{"tf":1.0},"279":{"tf":1.0},"44":{"tf":1.0},"67":{"tf":1.0},"83":{"tf":1.0},"92":{"tf":1.0}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}}}},"df":0,"docs":{}},"<":{"'":{"a":{"df":3,"docs":{"185":{"tf":2.23606797749979},"186":{"tf":1.0},"211":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.0}}}},"df":2,"docs":{"185":{"tf":1.0},"211":{"tf":1.4142135623730951}}}}},"、":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"、":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"178":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.0}}}}}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"176":{"tf":1.0},"185":{"tf":1.0}}}}}}},"、":{"df":0,"docs":{},"j":{"df":1,"docs":{"103":{"tf":1.0}}}},",":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"j":{"a":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},",":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":14,"docs":{"103":{"tf":1.7320508075688772},"107":{"tf":2.449489742783178},"108":{"tf":2.449489742783178},"275":{"tf":1.4142135623730951},"284":{"tf":1.4142135623730951},"287":{"tf":2.449489742783178},"288":{"tf":1.4142135623730951},"289":{"tf":2.449489742783178},"59":{"tf":2.23606797749979},"61":{"tf":2.0},"67":{"tf":1.4142135623730951},"83":{"tf":2.0},"96":{"tf":2.23606797749979},"97":{"tf":4.123105625617661}},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"8":{"9":{"df":2,"docs":{"64":{"tf":1.0},"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"g":{"df":2,"docs":{"225":{"tf":1.0},"244":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"、":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"218":{"tf":1.4142135623730951}}}}}}}}}},"。":{"df":0,"docs":{},"i":{"df":1,"docs":{"97":{"tf":1.7320508075688772}}}}},"k":{"$":{"df":0,"docs":{},"(":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"b":{"df":0,"docs":{},"e":{"df":1,"docs":{"230":{"tf":1.0}}}},"df":0,"docs":{}}}}},":":{"df":0,"docs":{},"雜":{"df":0,"docs":{},"湊":{"df":0,"docs":{},"表":{"df":0,"docs":{},"配":{"df":0,"docs":{},"置":{"df":0,"docs":{},"的":{"df":0,"docs":{},"儲":{"df":0,"docs":{},"存":{"df":0,"docs":{},"空":{"df":0,"docs":{},"間":{"df":0,"docs":{},"(":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"231":{"tf":1.0},"242":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}}}}},")":{".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"238":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"237":{"tf":1.0}}}}}}}},"df":0,"docs":{}},">":{"0":{"df":2,"docs":{"17":{"tf":1.0},"18":{"tf":1.0}}},"df":0,"docs":{}},"^":{"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.4142135623730951}}},"{":{"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.4142135623730951}}}}},"_":{"1":{">":{"0":{"df":1,"docs":{"19":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"19":{"tf":1.4142135623730951}}},"2":{">":{"0":{"df":1,"docs":{"19":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"19":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":38,"docs":{"107":{"tf":2.0},"109":{"tf":1.0},"123":{"tf":1.0},"126":{"tf":2.23606797749979},"127":{"tf":1.7320508075688772},"128":{"tf":1.4142135623730951},"135":{"tf":1.0},"137":{"tf":2.0},"139":{"tf":4.0},"140":{"tf":2.0},"148":{"tf":1.0},"149":{"tf":3.3166247903554},"150":{"tf":1.4142135623730951},"17":{"tf":1.7320508075688772},"173":{"tf":1.0},"18":{"tf":1.4142135623730951},"230":{"tf":1.4142135623730951},"233":{"tf":1.0},"234":{"tf":2.0},"236":{"tf":1.4142135623730951},"237":{"tf":2.0},"238":{"tf":1.7320508075688772},"240":{"tf":2.23606797749979},"241":{"tf":1.0},"244":{"tf":1.0},"249":{"tf":1.0},"260":{"tf":2.8284271247461903},"263":{"tf":1.7320508075688772},"266":{"tf":1.0},"267":{"tf":1.4142135623730951},"268":{"tf":2.0},"269":{"tf":2.0},"270":{"tf":2.23606797749979},"271":{"tf":1.0},"284":{"tf":1.4142135623730951},"285":{"tf":2.449489742783178},"30":{"tf":2.0},"49":{"tf":1.0}},"e":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"132":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"1":{"df":1,"docs":{"228":{"tf":1.0}}},"2":{"df":1,"docs":{"228":{"tf":1.0}}},"df":18,"docs":{"124":{"tf":1.0},"125":{"tf":3.1622776601683795},"128":{"tf":1.0},"130":{"tf":1.4142135623730951},"131":{"tf":2.0},"132":{"tf":1.4142135623730951},"146":{"tf":1.4142135623730951},"149":{"tf":1.0},"151":{"tf":1.0},"216":{"tf":1.0},"228":{"tf":1.0},"233":{"tf":1.0},"234":{"tf":1.4142135623730951},"237":{"tf":2.0},"238":{"tf":1.4142135623730951},"247":{"tf":1.0},"249":{"tf":1.0},"275":{"tf":1.0}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}}}},")":{"df":0,"docs":{},"對":{"df":0,"docs":{},"應":{"df":0,"docs":{},"到":{"df":0,"docs":{},"容":{"df":0,"docs":{},"器":{"df":0,"docs":{},"內":{"df":0,"docs":{},"部":{"df":0,"docs":{},"的":{"df":0,"docs":{},"索":{"df":0,"docs":{},"引":{"df":0,"docs":{},"位":{"df":0,"docs":{},"置":{"df":0,"docs":{},",":{"df":0,"docs":{},"進":{"df":0,"docs":{},"而":{"df":0,"docs":{},"找":{"df":0,"docs":{},"到":{"df":0,"docs":{},"對":{"df":0,"docs":{},"應":{"df":0,"docs":{},"的":{"df":0,"docs":{},"值":{"df":0,"docs":{},"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"226":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}}}}}}},",":{"df":0,"docs":{},"俗":{"df":0,"docs":{},"稱":{"df":0,"docs":{},"指":{"df":0,"docs":{},"紋":{"df":0,"docs":{},"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},")":{"df":0,"docs":{},",":{"df":0,"docs":{},"指":{"df":0,"docs":{},"紋":{"df":0,"docs":{},"的":{"df":0,"docs":{},"鍵":{"df":0,"docs":{},"短":{"df":0,"docs":{},"空":{"df":0,"docs":{},"間":{"df":0,"docs":{},"用":{"df":0,"docs":{},"量":{"df":0,"docs":{},"低":{"df":0,"docs":{},",":{"df":0,"docs":{},"副":{"df":0,"docs":{},"作":{"df":0,"docs":{},"用":{"df":0,"docs":{},"是":{"df":0,"docs":{},"更":{"df":0,"docs":{},"容":{"df":0,"docs":{},"易":{"df":0,"docs":{},"碰":{"df":0,"docs":{},"撞":{"df":0,"docs":{},",":{"df":0,"docs":{},"代":{"df":0,"docs":{},"表":{"df":0,"docs":{},"需":{"df":0,"docs":{},"要":{"df":0,"docs":{},"更":{"df":0,"docs":{},"有":{"df":0,"docs":{},"效":{"df":0,"docs":{},"處":{"df":0,"docs":{},"理":{"df":0,"docs":{},"雜":{"df":0,"docs":{},"湊":{"df":0,"docs":{},"碰":{"df":0,"docs":{},"撞":{"df":0,"docs":{},"(":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"274":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":1,"docs":{"284":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"284":{"tf":2.0},"285":{"tf":1.4142135623730951}}}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"262":{"tf":1.4142135623730951}}}}}},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}},"l":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"/":{"1":{".":{"4":{"9":{".":{"0":{"/":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"/":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"b":{"a":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"#":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"215":{"tf":1.0},"240":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"107":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"107":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"199":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"214":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"103":{"tf":1.0}}}}}},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"s":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}}},":":{":":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"y":{":":{":":{"<":{"df":0,"docs":{},"t":{">":{"(":{"c":{"a":{"df":0,"docs":{},"p":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"176":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"c":{"a":{"df":0,"docs":{},"p":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"176":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"176":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"176":{"tf":2.23606797749979}}}}}},"z":{"df":0,"docs":{},"i":{"df":2,"docs":{"143":{"tf":1.0},"251":{"tf":1.4142135623730951}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"114":{"tf":1.0},"52":{"tf":1.4142135623730951}}}}}},"df":2,"docs":{"273":{"tf":1.4142135623730951},"33":{"tf":1.0}},"e":{"a":{"d":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":2,"docs":{"89":{"tf":1.7320508075688772},"92":{"tf":1.0}}},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"210":{"tf":1.0},"215":{"tf":1.0}}}}},"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"w":{"df":1,"docs":{"12":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"89":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":3,"docs":{"119":{"tf":2.23606797749979},"54":{"tf":1.0},"92":{"tf":1.4142135623730951}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"108":{"tf":1.0},"147":{"tf":1.0},"34":{"tf":1.0}}}}}}}},"n":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":3,"docs":{"181":{"tf":1.0},"239":{"tf":1.0},"249":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":16,"docs":{"118":{"tf":2.23606797749979},"131":{"tf":1.0},"132":{"tf":1.0},"178":{"tf":1.0},"181":{"tf":1.4142135623730951},"189":{"tf":1.0},"233":{"tf":1.7320508075688772},"234":{"tf":1.7320508075688772},"235":{"tf":1.0},"236":{"tf":2.0},"238":{"tf":1.0},"249":{"tf":1.0},"262":{"tf":1.0},"67":{"tf":1.7320508075688772},"76":{"tf":2.0},"83":{"tf":1.4142135623730951}},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":3,"docs":{"112":{"tf":1.0},"238":{"tf":1.0},"279":{"tf":1.0}}}}}},"q":{"df":2,"docs":{"17":{"tf":2.23606797749979},"19":{"tf":2.0}}},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"260":{"tf":1.0},"276":{"tf":1.0}}}},"t":{"'":{"df":1,"docs":{"276":{"tf":1.0}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"89":{"tf":1.0}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":2,"docs":{"286":{"tf":1.4142135623730951},"289":{"tf":1.0}}},"df":0,"docs":{}}}}}},"_":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"287":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":3,"docs":{"282":{"tf":1.4142135623730951},"291":{"tf":2.0},"9":{"tf":1.0}}}}}}}}}}},"x":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"146":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":5,"docs":{"114":{"tf":1.0},"42":{"tf":1.7320508075688772},"80":{"tf":1.7320508075688772},"81":{"tf":1.0},"89":{"tf":1.0}},"{":{"\\":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"_":{"2":{"df":1,"docs":{"30":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"i":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"13":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"185":{"tf":2.8284271247461903},"251":{"tf":2.23606797749979}}}}}},"o":{"df":2,"docs":{"153":{"tf":1.0},"173":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"<":{"df":0,"docs":{},"t":{">":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":9,"docs":{"23":{"tf":1.0},"230":{"tf":2.0},"26":{"tf":1.0},"274":{"tf":1.7320508075688772},"3":{"tf":1.0},"40":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"47":{"tf":1.4142135623730951}}}},"df":2,"docs":{"188":{"tf":1.0},"271":{"tf":1.0}}},"k":{"df":14,"docs":{"144":{"tf":1.0},"153":{"tf":1.0},"163":{"tf":1.0},"171":{"tf":1.0},"191":{"tf":1.0},"198":{"tf":1.0},"199":{"tf":1.4142135623730951},"200":{"tf":1.0},"207":{"tf":1.0},"210":{"tf":2.6457513110645907},"215":{"tf":1.4142135623730951},"230":{"tf":1.4142135623730951},"65":{"tf":1.0},"7":{"tf":1.7320508075688772}},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"193":{"tf":1.0},"215":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":15,"docs":{"144":{"tf":1.0},"153":{"tf":1.0},"163":{"tf":1.0},"171":{"tf":1.0},"191":{"tf":1.0},"198":{"tf":1.0},"199":{"tf":1.4142135623730951},"200":{"tf":1.0},"207":{"tf":1.0},"210":{"tf":1.4142135623730951},"211":{"tf":1.4142135623730951},"215":{"tf":1.4142135623730951},"230":{"tf":1.4142135623730951},"65":{"tf":1.0},"7":{"tf":1.7320508075688772}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"265":{"tf":1.0}}}},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"20":{"tf":1.0}}}}}},"n":{"_":{"2":{"_":{"2":{")":{".":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"267":{"tf":1.4142135623730951},"269":{"tf":1.4142135623730951}},"{":{"\\":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"}":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"(":{"\\":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"df":0,"docs":{},"{":{"2":{"df":0,"docs":{},"}":{")":{"^":{"2":{"df":1,"docs":{"260":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}}},"o":{".":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"103":{"tf":1.0}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"44":{"tf":2.8284271247461903}}}},"df":0,"docs":{}}},"a":{"d":{"_":{"df":0,"docs":{},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"239":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":8,"docs":{"231":{"tf":2.449489742783178},"235":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.4142135623730951},"242":{"tf":1.0},"243":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.0}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"271":{"tf":1.0},"274":{"tf":1.0}}}},"df":0,"docs":{}},"df":9,"docs":{"102":{"tf":2.6457513110645907},"103":{"tf":1.4142135623730951},"105":{"tf":4.58257569495584},"107":{"tf":1.7320508075688772},"108":{"tf":1.4142135623730951},"13":{"tf":1.0},"41":{"tf":1.4142135623730951},"44":{"tf":3.1622776601683795},"54":{"tf":2.0}},"g":{"(":{"9":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.0}}}},"^":{"2":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"_":{"2":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"89":{"tf":1.0}}}},"df":3,"docs":{"267":{"tf":1.0},"269":{"tf":1.0},"30":{"tf":2.23606797749979}},"n":{"df":1,"docs":{"61":{"tf":1.0}}},"{":{"\\":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"260":{"tf":1.0}}}}}}}}},"f":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"{":{"1":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"\\":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"271":{"tf":1.0},"275":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"n":{"df":1,"docs":{"99":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":21,"docs":{"105":{"tf":1.4142135623730951},"110":{"tf":1.4142135623730951},"113":{"tf":1.7320508075688772},"114":{"tf":1.0},"145":{"tf":1.0},"15":{"tf":1.4142135623730951},"20":{"tf":1.0},"21":{"tf":1.0},"43":{"tf":2.0},"46":{"tf":2.0},"47":{"tf":1.4142135623730951},"53":{"tf":1.0},"69":{"tf":1.0},"82":{"tf":1.0},"88":{"tf":2.0},"89":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"94":{"tf":1.0},"98":{"tf":1.4142135623730951},"99":{"tf":1.0}},"i":{"c":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}},"{":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":7,"docs":{"100":{"tf":1.0},"103":{"tf":1.7320508075688772},"105":{"tf":1.0},"107":{"tf":1.4142135623730951},"96":{"tf":1.4142135623730951},"97":{"tf":1.0},"99":{"tf":1.4142135623730951}}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"p":{"df":11,"docs":{"105":{"tf":1.0},"108":{"tf":1.0},"119":{"tf":1.4142135623730951},"211":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.0},"279":{"tf":1.0},"291":{"tf":1.0},"44":{"tf":2.0},"76":{"tf":1.0},"92":{"tf":1.4142135623730951}}}},"w":{"df":1,"docs":{"96":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"54":{"tf":1.0}}}}}},"s":{"d":{"df":3,"docs":{"145":{"tf":1.0},"146":{"tf":2.23606797749979},"147":{"tf":1.0}}},"df":0,"docs":{},"m":{"df":1,"docs":{"274":{"tf":1.0}}}},"t":{"df":0,"docs":{},"、":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":1,"docs":{"256":{"tf":1.0}}}}}}},"m":{"$":{"df":0,"docs":{},"、":{"$":{"df":0,"docs":{},"n":{"$":{"df":0,"docs":{},"、":{"$":{"df":0,"docs":{},"k":{"$":{"df":0,"docs":{},"、":{"$":{"\\":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"267":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"236":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"262":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"230":{"tf":1.0},"262":{"tf":1.0},"44":{"tf":1.0}}}},"k":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"&":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"238":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"x":{">":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"233":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":4,"docs":{"235":{"tf":1.0},"237":{"tf":1.0},"266":{"tf":1.4142135623730951},"268":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":1,"docs":{"238":{"tf":1.0}}}},"n":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"184":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":2,"docs":{"210":{"tf":1.0},"215":{"tf":1.0}}}},"p":{"(":{"df":0,"docs":{},"|":{"(":{"_":{"df":1,"docs":{"237":{"tf":1.4142135623730951}}},"df":0,"docs":{},"k":{"df":1,"docs":{"240":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":2,"docs":{"238":{"tf":1.0},"54":{"tf":1.0}}}}},"df":0,"docs":{}}},"v":{"df":1,"docs":{"238":{"tf":1.0}}}}},"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"54":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":8,"docs":{"216":{"tf":1.0},"220":{"tf":1.0},"221":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.0},"244":{"tf":1.0},"274":{"tf":1.0},"8":{"tf":1.4142135623730951}}},"r":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"83":{"tf":1.0}},"s":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"83":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":2,"docs":{"80":{"tf":1.0},"83":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"264":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"122":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":9,"docs":{"143":{"tf":1.0},"168":{"tf":1.0},"185":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"210":{"tf":1.0},"238":{"tf":1.0},"256":{"tf":1.4142135623730951},"279":{"tf":1.4142135623730951},"61":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"289":{"tf":1.7320508075688772}}}},"df":1,"docs":{"288":{"tf":1.0}}}}}},"x":{"(":{"df":0,"docs":{},"i":{",":{"df":0,"docs":{},"j":{"df":2,"docs":{"284":{"tf":1.4142135623730951},"286":{"tf":1.0}}}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"151":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":8,"docs":{"130":{"tf":1.4142135623730951},"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"151":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":2.0},"90":{"tf":1.0},"92":{"tf":2.0}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":3,"docs":{"154":{"tf":1.4142135623730951},"156":{"tf":1.0},"159":{"tf":1.0}},"e":{"df":0,"docs":{},"、":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"154":{"tf":1.0}}}}}}}}}}}}},"df":10,"docs":{"260":{"tf":2.0},"262":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.0},"269":{"tf":1.0},"270":{"tf":2.6457513110645907},"284":{"tf":1.0},"290":{"tf":1.7320508075688772},"84":{"tf":1.0}},"e":{"d":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"99":{"tf":1.0}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"259":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{":":{":":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"184":{"tf":1.0}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"c":{"df":1,"docs":{"238":{"tf":1.4142135623730951}},"e":{"(":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"239":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{":":{":":{"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"176":{"tf":1.0},"179":{"tf":1.0}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"179":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"154":{"tf":1.0}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"266":{"tf":1.0}}}}}}}}},"c":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":2,"docs":{"119":{"tf":1.4142135623730951},"180":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":6,"docs":{"176":{"tf":1.4142135623730951},"181":{"tf":1.4142135623730951},"182":{"tf":2.0},"184":{"tf":1.0},"187":{"tf":1.4142135623730951},"215":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"g":{"df":7,"docs":{"112":{"tf":1.4142135623730951},"116":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"119":{"tf":1.4142135623730951},"122":{"tf":1.0},"193":{"tf":1.0}},"e":{"(":{"&":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"[":{".":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"117":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{".":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"118":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"1":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"117":{"tf":1.4142135623730951}}}}}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"117":{"tf":1.0}}}}},"df":0,"docs":{}},"_":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"118":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":9,"docs":{"110":{"tf":1.7320508075688772},"111":{"tf":1.7320508075688772},"112":{"tf":1.0},"114":{"tf":1.7320508075688772},"115":{"tf":1.4142135623730951},"116":{"tf":1.4142135623730951},"20":{"tf":1.0},"4":{"tf":1.0},"94":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}}}},"t":{"a":{"df":1,"docs":{"293":{"tf":1.0}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"d":{"df":5,"docs":{"131":{"tf":1.0},"185":{"tf":1.7320508075688772},"211":{"tf":1.4142135623730951},"255":{"tf":1.0},"256":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"i":{"b":{"df":2,"docs":{"259":{"tf":1.0},"270":{"tf":1.0}}},"d":{"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"44":{"tf":2.449489742783178}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"l":{"df":2,"docs":{"103":{"tf":1.0},"118":{"tf":1.0}}}},"df":4,"docs":{"117":{"tf":1.4142135623730951},"118":{"tf":1.0},"33":{"tf":1.7320508075688772},"34":{"tf":1.4142135623730951}}},"df":0,"docs":{},"n":{"(":{"2":{",":{"2":{",":{"1":{"df":1,"docs":{"285":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{",":{"2":{",":{"2":{"df":1,"docs":{"285":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{",":{"df":0,"docs":{},"j":{"df":2,"docs":{"284":{"tf":1.4142135623730951},"286":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":8,"docs":{"130":{"tf":1.4142135623730951},"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"284":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.0}},"、":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"x":{"df":1,"docs":{"130":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"240":{"tf":1.0},"251":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"l":{"a":{"c":{"df":1,"docs":{"108":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"244":{"tf":1.0}}}},"o":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"215":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"268":{"tf":1.0}}}},"df":1,"docs":{"256":{"tf":1.0}},"o":{"df":3,"docs":{"228":{"tf":1.0},"233":{"tf":1.0},"268":{"tf":1.0}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"119":{"tf":1.0},"175":{"tf":1.4142135623730951}}}},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"211":{"tf":1.0},"251":{"tf":2.8284271247461903}}}}},"s":{"d":{"df":2,"docs":{"145":{"tf":1.0},"146":{"tf":2.6457513110645907}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"222":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":5,"docs":{"157":{"tf":1.0},"167":{"tf":1.0},"211":{"tf":1.4142135623730951},"237":{"tf":1.0},"238":{"tf":1.0}}}},"df":0,"docs":{}},"df":43,"docs":{"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"105":{"tf":2.8284271247461903},"107":{"tf":2.0},"108":{"tf":1.7320508075688772},"117":{"tf":1.7320508075688772},"118":{"tf":2.23606797749979},"119":{"tf":2.0},"130":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":1.7320508075688772},"143":{"tf":1.4142135623730951},"151":{"tf":1.4142135623730951},"176":{"tf":1.4142135623730951},"185":{"tf":4.898979485566356},"186":{"tf":2.23606797749979},"187":{"tf":1.4142135623730951},"188":{"tf":1.4142135623730951},"207":{"tf":2.8284271247461903},"208":{"tf":1.4142135623730951},"210":{"tf":1.0},"211":{"tf":1.7320508075688772},"213":{"tf":1.0},"233":{"tf":1.4142135623730951},"236":{"tf":1.0},"239":{"tf":1.0},"251":{"tf":2.23606797749979},"268":{"tf":1.4142135623730951},"269":{"tf":1.4142135623730951},"278":{"tf":1.4142135623730951},"279":{"tf":1.7320508075688772},"287":{"tf":1.4142135623730951},"288":{"tf":1.4142135623730951},"289":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951},"44":{"tf":2.449489742783178},"54":{"tf":1.0},"59":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"76":{"tf":2.23606797749979},"83":{"tf":1.7320508075688772},"92":{"tf":2.0}}}}},"n":{")":{"$":{"df":0,"docs":{},",":{"$":{"df":0,"docs":{},"n":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}},"^":{"2":{"df":1,"docs":{"46":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"=":{"3":{"0":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},"5":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},">":{"df":0,"docs":{},"n":{"_":{"0":{"df":3,"docs":{"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"^":{"2":{"df":4,"docs":{"17":{"tf":1.0},"66":{"tf":1.0},"75":{"tf":1.4142135623730951},"99":{"tf":1.0}}},"df":0,"docs":{}},"_":{"0":{"df":3,"docs":{"17":{"tf":1.7320508075688772},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":3,"docs":{"151":{"tf":1.0},"289":{"tf":1.4142135623730951},"290":{"tf":1.0}}}},"n":{"df":1,"docs":{"256":{"tf":1.4142135623730951}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"107":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"121":{"tf":1.0}}}}},"ï":{"df":0,"docs":{},"v":{"df":7,"docs":{"100":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0},"48":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.4142135623730951},"73":{"tf":1.0}}}}},"c":{"df":1,"docs":{"13":{"tf":1.0}}},"df":63,"docs":{"100":{"tf":1.4142135623730951},"105":{"tf":2.0},"110":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"113":{"tf":1.7320508075688772},"114":{"tf":2.449489742783178},"115":{"tf":1.0},"123":{"tf":1.0},"127":{"tf":1.4142135623730951},"135":{"tf":1.0},"136":{"tf":1.7320508075688772},"137":{"tf":1.0},"139":{"tf":2.0},"140":{"tf":1.4142135623730951},"143":{"tf":1.0},"145":{"tf":1.0},"148":{"tf":1.4142135623730951},"149":{"tf":1.7320508075688772},"15":{"tf":2.0},"150":{"tf":1.0},"16":{"tf":2.0},"17":{"tf":2.23606797749979},"179":{"tf":1.4142135623730951},"18":{"tf":1.0},"189":{"tf":1.0},"19":{"tf":2.0},"20":{"tf":1.4142135623730951},"21":{"tf":1.0},"214":{"tf":1.4142135623730951},"221":{"tf":1.0},"228":{"tf":1.4142135623730951},"231":{"tf":1.0},"24":{"tf":1.4142135623730951},"241":{"tf":1.0},"242":{"tf":1.7320508075688772},"257":{"tf":1.0},"260":{"tf":1.0},"262":{"tf":2.23606797749979},"266":{"tf":1.0},"267":{"tf":1.4142135623730951},"269":{"tf":1.0},"27":{"tf":1.0},"270":{"tf":2.449489742783178},"272":{"tf":1.7320508075688772},"280":{"tf":1.0},"284":{"tf":1.4142135623730951},"290":{"tf":1.7320508075688772},"30":{"tf":3.1622776601683795},"43":{"tf":2.0},"46":{"tf":2.0},"47":{"tf":1.0},"58":{"tf":1.4142135623730951},"66":{"tf":2.0},"69":{"tf":1.0},"75":{"tf":2.23606797749979},"82":{"tf":1.7320508075688772},"88":{"tf":2.0},"89":{"tf":2.449489742783178},"90":{"tf":1.4142135623730951},"91":{"tf":1.0},"94":{"tf":1.4142135623730951},"98":{"tf":1.7320508075688772},"99":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"e":{"d":{"df":2,"docs":{"176":{"tf":1.0},"185":{"tf":1.0}}},"df":0,"docs":{}},"g":{"df":1,"docs":{"259":{"tf":1.0}}},"q":{"df":2,"docs":{"284":{"tf":1.4142135623730951},"287":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"234":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"99":{"tf":1.0}}}},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"84":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"264":{"tf":1.0}}}}},"w":{"(":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":2,"docs":{"267":{"tf":1.7320508075688772},"269":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"142":{"tf":1.0}}}}},"df":0,"docs":{}}},"_":{"c":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"76":{"tf":2.8284271247461903}}}}},"m":{"a":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"239":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":1,"docs":{"239":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"207":{"tf":1.0}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"k":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"251":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":1,"docs":{"251":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"176":{"tf":1.4142135623730951}}}}}},"df":13,"docs":{"142":{"tf":1.0},"143":{"tf":1.0},"166":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.0},"204":{"tf":1.0},"205":{"tf":1.0},"207":{"tf":1.4142135623730951},"235":{"tf":1.0},"236":{"tf":1.4142135623730951},"249":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"180":{"tf":1.0}}}}},"x":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"185":{"tf":2.0},"186":{"tf":1.0},"211":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"<":{"'":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{">":{"(":{"&":{"'":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":1,"docs":{"185":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"b":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":9,"docs":{"118":{"tf":1.0},"147":{"tf":1.0},"185":{"tf":1.7320508075688772},"202":{"tf":2.0},"206":{"tf":1.7320508075688772},"207":{"tf":2.0},"208":{"tf":2.8284271247461903},"210":{"tf":1.0},"211":{"tf":2.449489742783178}}}}},"g":{"df":1,"docs":{"284":{"tf":1.4142135623730951}}},"o":{"d":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"202":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{".":{"a":{"df":0,"docs":{},"s":{"_":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"211":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"210":{"tf":1.0}}}},"df":0,"docs":{}}},"df":4,"docs":{"202":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":2.449489742783178},"208":{"tf":1.4142135623730951}}}}}}},"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"202":{"tf":2.0},"211":{"tf":2.0}}}},"df":17,"docs":{"195":{"tf":1.4142135623730951},"196":{"tf":1.7320508075688772},"197":{"tf":3.1622776601683795},"198":{"tf":3.0},"200":{"tf":1.7320508075688772},"202":{"tf":2.449489742783178},"203":{"tf":1.7320508075688772},"207":{"tf":3.7416573867739413},"208":{"tf":2.8284271247461903},"210":{"tf":2.23606797749979},"211":{"tf":1.7320508075688772},"213":{"tf":1.4142135623730951},"215":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.4142135623730951},"89":{"tf":2.449489742783178},"92":{"tf":2.23606797749979}},"。":{"df":0,"docs":{},"但":{"df":0,"docs":{},"這":{"df":0,"docs":{},"樣":{"df":0,"docs":{},"編":{"df":0,"docs":{},"譯":{"df":0,"docs":{},"不":{"df":0,"docs":{},"會":{"df":0,"docs":{},"成":{"df":0,"docs":{},"功":{"df":0,"docs":{},",":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"202":{"tf":1.0}}}}}}}}}}}}}}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"251":{"tf":1.0}}}}},"df":0,"docs":{}}},"n":{"df":2,"docs":{"262":{"tf":1.4142135623730951},"92":{"tf":1.0}},"e":{"df":17,"docs":{"143":{"tf":1.0},"158":{"tf":1.0},"160":{"tf":1.0},"168":{"tf":1.0},"181":{"tf":1.4142135623730951},"182":{"tf":1.4142135623730951},"185":{"tf":2.0},"205":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.7320508075688772},"208":{"tf":1.0},"233":{"tf":1.0},"237":{"tf":1.0},"238":{"tf":1.7320508075688772},"25":{"tf":1.0},"256":{"tf":1.4142135623730951},"279":{"tf":2.23606797749979}}},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}}}}},"t":{"a":{"df":0,"docs":{},"t":{"df":5,"docs":{"1":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0},"22":{"tf":1.4142135623730951},"270":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":5,"docs":{"185":{"tf":2.23606797749979},"240":{"tf":1.0},"251":{"tf":1.0},"62":{"tf":1.0},"89":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":7,"docs":{"195":{"tf":1.4142135623730951},"196":{"tf":1.0},"197":{"tf":1.7320508075688772},"198":{"tf":1.7320508075688772},"200":{"tf":1.0},"202":{"tf":1.7320508075688772},"230":{"tf":1.0}}}},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"137":{"tf":1.0},"148":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.0},"227":{"tf":1.0}}}}},"df":1,"docs":{"44":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}}}},"}":{"df":0,"docs":{},"{":{"2":{"^":{"df":0,"docs":{},"k":{"df":2,"docs":{"80":{"tf":1.0},"81":{"tf":1.0}}}},"df":1,"docs":{"80":{"tf":1.0}}},"4":{"df":1,"docs":{"80":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"$":{"df":0,"docs":{},":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"17":{"tf":1.0}}}}},"df":0,"docs":{}}},"(":{"(":{"\\":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"46":{"tf":1.0}}}}}},"df":0,"docs":{}},"1":{"df":25,"docs":{"100":{"tf":1.0},"161":{"tf":2.0},"171":{"tf":2.0},"189":{"tf":4.0},"20":{"tf":1.0},"207":{"tf":1.0},"214":{"tf":2.0},"217":{"tf":1.0},"234":{"tf":1.0},"24":{"tf":1.4142135623730951},"241":{"tf":2.0},"242":{"tf":1.4142135623730951},"257":{"tf":1.7320508075688772},"259":{"tf":1.0},"270":{"tf":1.0},"280":{"tf":1.0},"30":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"58":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":1.0},"88":{"tf":1.0}}},"3":{"^":{"df":0,"docs":{},"{":{"df":0,"docs":{},"m":{"df":1,"docs":{"284":{"tf":1.0}}}}},"df":0,"docs":{}},"\\":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"89":{"tf":1.0}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"_":{"2":{"df":1,"docs":{"30":{"tf":1.0}}},"df":0,"docs":{}},"df":15,"docs":{"100":{"tf":1.0},"105":{"tf":1.4142135623730951},"115":{"tf":1.0},"143":{"tf":1.0},"20":{"tf":1.0},"221":{"tf":1.0},"27":{"tf":1.0},"30":{"tf":1.7320508075688772},"43":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"51":{"tf":1.4142135623730951},"53":{"tf":2.23606797749979},"89":{"tf":1.4142135623730951},"94":{"tf":1.0},"98":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"m":{",":{"df":0,"docs":{},"n":{"df":1,"docs":{"290":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"c":{"^":{"df":0,"docs":{},"n":{"df":1,"docs":{"20":{"tf":1.0}}}},"df":0,"docs":{}},"d":{"df":3,"docs":{"148":{"tf":1.0},"149":{"tf":1.4142135623730951},"150":{"tf":1.0}},"n":{"df":1,"docs":{"148":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":2.0}}}},"df":0,"docs":{}},"k":{"df":7,"docs":{"127":{"tf":1.0},"128":{"tf":1.4142135623730951},"139":{"tf":1.4142135623730951},"173":{"tf":1.0},"270":{"tf":1.7320508075688772},"273":{"tf":1.4142135623730951},"30":{"tf":1.0}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":2,"docs":{"52":{"tf":1.0},"53":{"tf":1.0}}}}},"m":{"df":1,"docs":{"270":{"tf":1.4142135623730951}},"n":{"df":1,"docs":{"290":{"tf":1.4142135623730951}}}},"n":{"+":{"df":0,"docs":{},"k":{"df":1,"docs":{"144":{"tf":1.0}}}},"^":{"2":{"df":18,"docs":{"106":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.4142135623730951},"17":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.7320508075688772},"61":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":2.0},"74":{"tf":1.4142135623730951},"75":{"tf":1.0},"76":{"tf":1.0},"82":{"tf":1.0},"94":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}},"3":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"df":42,"docs":{"100":{"tf":1.0},"110":{"tf":1.4142135623730951},"113":{"tf":2.0},"114":{"tf":1.0},"115":{"tf":1.4142135623730951},"123":{"tf":1.0},"126":{"tf":2.0},"127":{"tf":1.4142135623730951},"128":{"tf":1.4142135623730951},"137":{"tf":1.7320508075688772},"139":{"tf":2.8284271247461903},"140":{"tf":1.4142135623730951},"145":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.0},"151":{"tf":1.0},"17":{"tf":1.0},"171":{"tf":1.7320508075688772},"20":{"tf":1.7320508075688772},"207":{"tf":1.0},"21":{"tf":1.0},"214":{"tf":2.449489742783178},"24":{"tf":1.7320508075688772},"241":{"tf":2.0},"242":{"tf":1.4142135623730951},"243":{"tf":1.0},"257":{"tf":3.3166247903554},"280":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.7320508075688772},"46":{"tf":1.0},"58":{"tf":1.0},"69":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":1.7320508075688772},"88":{"tf":2.0},"89":{"tf":1.4142135623730951},"90":{"tf":1.0},"91":{"tf":1.0},"94":{"tf":1.0},"98":{"tf":1.7320508075688772},"99":{"tf":2.0}}}},"b":{"df":0,"docs":{},"j":{"df":1,"docs":{"25":{"tf":1.4142135623730951}},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"233":{"tf":1.0},"240":{"tf":1.7320508075688772},"265":{"tf":1.0}}}},"df":0,"docs":{}}}},"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"y":{"df":0,"docs":{},")":{"df":0,"docs":{},"。":{"c":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":1,"docs":{"275":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"r":{"df":2,"docs":{"124":{"tf":1.0},"125":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"b":{"df":2,"docs":{"46":{"tf":1.0},"47":{"tf":1.0}}},"df":0,"docs":{}}}},"df":9,"docs":{"10":{"tf":1.4142135623730951},"162":{"tf":1.0},"17":{"tf":1.7320508075688772},"18":{"tf":1.0},"180":{"tf":6.0},"19":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.4142135623730951},"46":{"tf":1.0}},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"276":{"tf":1.0}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":5,"docs":{"125":{"tf":1.0},"181":{"tf":1.4142135623730951},"182":{"tf":2.0},"187":{"tf":1.4142135623730951},"44":{"tf":2.0}}}}}}},"k":{"(":{"b":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":2,"docs":{"143":{"tf":1.0},"61":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}}}}}}}},"p":{"df":0,"docs":{},"o":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":4,"docs":{"207":{"tf":1.0},"213":{"tf":1.0},"32":{"tf":1.0},"44":{"tf":1.0}}},"l":{"d":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"180":{"tf":2.23606797749979}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"s":{"df":1,"docs":{"176":{"tf":1.0}}}},"df":1,"docs":{"176":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"df":1,"docs":{"176":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"a":{"$":{"df":0,"docs":{},":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"18":{"tf":1.0}}}}},"df":0,"docs":{}}},"(":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":0,"docs":{}},"n":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":3,"docs":{"18":{"tf":1.4142135623730951},"19":{"tf":1.0},"20":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}},"n":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"276":{"tf":1.0}}}},"df":4,"docs":{"175":{"tf":1.0},"211":{"tf":1.0},"238":{"tf":1.0},"81":{"tf":1.0}},"t":{"df":0,"docs":{},"o":{"df":1,"docs":{"175":{"tf":2.0}}}}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"296":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":4,"docs":{"230":{"tf":1.7320508075688772},"242":{"tf":1.0},"244":{"tf":1.0},"274":{"tf":1.7320508075688772}}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"{":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":2,"docs":{"284":{"tf":2.6457513110645907},"287":{"tf":1.7320508075688772}},"}":{"_":{"df":0,"docs":{},"{":{"a":{",":{"b":{"df":0,"docs":{},"}":{"(":{"df":0,"docs":{},"i":{",":{"df":0,"docs":{},"j":{"df":1,"docs":{"284":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"67":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":14,"docs":{"117":{"tf":1.0},"161":{"tf":1.0},"171":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.0},"179":{"tf":1.0},"189":{"tf":1.0},"214":{"tf":1.0},"241":{"tf":1.0},"254":{"tf":1.0},"255":{"tf":1.0},"257":{"tf":1.0},"268":{"tf":1.0},"270":{"tf":1.0}}}},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"275":{"tf":1.7320508075688772}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"266":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"r":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"266":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":3,"docs":{"210":{"tf":1.0},"267":{"tf":1.4142135623730951},"291":{"tf":1.0}},"i":{"df":0,"docs":{},"z":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},",":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},")":{"df":0,"docs":{},",":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"100":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{":":{":":{"a":{"df":0,"docs":{},"s":{"_":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.0}}}}}},"df":1,"docs":{"211":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"256":{"tf":1.0}}}}}}},"df":0,"docs":{}},"<":{"&":{"'":{"a":{"df":2,"docs":{"185":{"tf":1.7320508075688772},"211":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"t":{"df":4,"docs":{"160":{"tf":1.0},"170":{"tf":1.0},"181":{"tf":1.4142135623730951},"211":{"tf":1.0}}},"v":{"df":1,"docs":{"237":{"tf":1.4142135623730951}}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"202":{"tf":1.0},"203":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"256":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":3,"docs":{"185":{"tf":2.23606797749979},"186":{"tf":1.0},"211":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"df":8,"docs":{"158":{"tf":1.0},"168":{"tf":1.0},"170":{"tf":1.0},"182":{"tf":1.4142135623730951},"202":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"211":{"tf":1.0}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"233":{"tf":1.0},"25":{"tf":1.4142135623730951}}}},"v":{"df":1,"docs":{"238":{"tf":1.4142135623730951}}}},"df":3,"docs":{"158":{"tf":1.0},"249":{"tf":1.4142135623730951},"256":{"tf":1.0}}}}}}},"r":{"d":{"df":2,"docs":{"143":{"tf":1.4142135623730951},"256":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":10,"docs":{"112":{"tf":1.0},"146":{"tf":1.0},"221":{"tf":1.0},"256":{"tf":2.0},"8":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.7320508075688772},"89":{"tf":2.449489742783178},"90":{"tf":1.0},"92":{"tf":2.0}},",":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"256":{"tf":1.0}}}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"136":{"tf":1.4142135623730951},"143":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"251":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"(":{"&":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"253":{"tf":1.0},"256":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"252":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"253":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"251":{"tf":1.4142135623730951}}}}},"|":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"251":{"tf":1.7320508075688772}}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"212":{"tf":1.0},"253":{"tf":1.0},"256":{"tf":1.4142135623730951}}}}}},"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"251":{"tf":2.23606797749979}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"255":{"tf":1.7320508075688772}}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"255":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}},"u":{"df":0,"docs":{},"t":{"df":7,"docs":{"118":{"tf":1.0},"185":{"tf":1.0},"187":{"tf":1.7320508075688772},"205":{"tf":1.0},"210":{"tf":1.0},"211":{"tf":1.0},"67":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":2,"docs":{"185":{"tf":1.7320508075688772},"251":{"tf":1.4142135623730951}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":6,"docs":{"124":{"tf":1.0},"125":{"tf":1.0},"130":{"tf":1.0},"132":{"tf":1.0},"187":{"tf":1.0},"255":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"84":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"210":{"tf":1.0},"34":{"tf":1.4142135623730951}}}}}},"l":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"180":{"tf":1.0}}}},"df":0,"docs":{},"o":{"a":{"d":{"df":2,"docs":{"254":{"tf":1.0},"255":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"180":{"tf":1.0}}}}}}}}}}}},"w":{"df":0,"docs":{},"n":{"df":2,"docs":{"237":{"tf":1.7320508075688772},"251":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":5,"docs":{"206":{"tf":1.0},"207":{"tf":1.0},"208":{"tf":1.4142135623730951},"210":{"tf":1.0},"251":{"tf":1.0}}}}}}}}}},"、":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"20":{"tf":1.0}}}}}}}}},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{".":{"0":{"df":1,"docs":{"212":{"tf":1.0}}},"1":{"df":1,"docs":{"212":{"tf":1.0}}},"df":0,"docs":{}},"df":4,"docs":{"216":{"tf":1.0},"234":{"tf":1.4142135623730951},"256":{"tf":1.0},"71":{"tf":1.0}}}},"n":{"df":0,"docs":{},"i":{"c":{"!":{"(":{"\"":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"279":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"238":{"tf":1.0}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"83":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"142":{"tf":1.0}},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"185":{"tf":1.0},"251":{"tf":1.0},"264":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":1,"docs":{"256":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"256":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":2,"docs":{"103":{"tf":1.0},"256":{"tf":1.0}}}},"t":{"df":5,"docs":{"119":{"tf":1.0},"291":{"tf":1.0},"44":{"tf":1.4142135623730951},"91":{"tf":1.0},"92":{"tf":1.7320508075688772}},"i":{"a":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":1,"docs":{"256":{"tf":1.0}}}}},"df":0,"docs":{}},"_":{"c":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"256":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"256":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":5,"docs":{"212":{"tf":1.0},"256":{"tf":2.0},"274":{"tf":1.0},"275":{"tf":1.0},"85":{"tf":1.0}},"e":{"df":0,"docs":{},"q":{"df":3,"docs":{"212":{"tf":2.23606797749979},"25":{"tf":1.7320508075688772},"256":{"tf":1.4142135623730951}},",":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":1,"docs":{"256":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"r":{"d":{":":{":":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"_":{"c":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"256":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":4,"docs":{"256":{"tf":1.7320508075688772},"32":{"tf":1.4142135623730951},"33":{"tf":1.0},"54":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"t":{"df":9,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"103":{"tf":1.4142135623730951},"105":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"96":{"tf":1.7320508075688772},"97":{"tf":1.4142135623730951},"99":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":5,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"105":{"tf":1.7320508075688772},"107":{"tf":1.0},"108":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"81":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"210":{"tf":1.0},"256":{"tf":1.0}}}}}}}},"d":{"df":0,"docs":{},"f":{"df":1,"docs":{"43":{"tf":1.0}}},"q":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}}}}}}}},"df":1,"docs":{"208":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"k":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"160":{"tf":1.0},"170":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":2,"docs":{"155":{"tf":1.0},"165":{"tf":1.0}}}},"r":{"df":2,"docs":{"271":{"tf":1.0},"275":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{":":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"260":{"tf":1.0},"276":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":1,"docs":{"119":{"tf":1.0}}}}}},"l":{"df":2,"docs":{"43":{"tf":1.0},"47":{"tf":1.0}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"200":{"tf":1.4142135623730951}}}}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"264":{"tf":1.0},"269":{"tf":1.0}}}},"df":3,"docs":{"264":{"tf":1.4142135623730951},"267":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"227":{"tf":1.4142135623730951}}}}}},"i":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"284":{"tf":1.0}}}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"e":{"df":9,"docs":{"103":{"tf":1.0},"117":{"tf":1.0},"119":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951},"63":{"tf":2.0},"64":{"tf":2.0},"67":{"tf":1.0},"85":{"tf":2.0},"92":{"tf":1.0}}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":11,"docs":{"102":{"tf":3.0},"103":{"tf":3.3166247903554},"104":{"tf":1.0},"105":{"tf":4.47213595499958},"106":{"tf":1.7320508075688772},"107":{"tf":2.8284271247461903},"108":{"tf":3.0},"95":{"tf":3.0},"96":{"tf":3.4641016151377544},"97":{"tf":4.123105625617661},"99":{"tf":2.23606797749979}},"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"106":{"tf":1.0}}}}}}}},")":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"106":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}},",":{"df":0,"docs":{},"i":{"df":1,"docs":{"97":{"tf":1.0}}}}}}}},"l":{"a":{"c":{"df":0,"docs":{},"e":{"df":2,"docs":{"128":{"tf":1.0},"143":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"o":{"df":2,"docs":{"207":{"tf":3.0},"61":{"tf":2.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":10,"docs":{"107":{"tf":1.0},"176":{"tf":1.0},"180":{"tf":1.0},"185":{"tf":1.0},"195":{"tf":1.0},"202":{"tf":1.0},"207":{"tf":1.0},"236":{"tf":1.0},"251":{"tf":1.0},"262":{"tf":1.0}},",":{"df":0,"docs":{},"但":{"df":0,"docs":{},"照":{"df":0,"docs":{},"鏈":{"df":0,"docs":{},"結":{"df":0,"docs":{},"串":{"df":0,"docs":{},"列":{"df":0,"docs":{},"的":{"df":0,"docs":{},"定":{"df":0,"docs":{},"義":{"df":0,"docs":{},",":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"202":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}},"p":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"158":{"tf":1.0}}}}}},"df":0,"docs":{}},"_":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"182":{"tf":1.0}}}}}},"df":0,"docs":{},"v":{"df":1,"docs":{"189":{"tf":1.0}}}},"df":3,"docs":{"178":{"tf":1.0},"182":{"tf":1.0},"184":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"182":{"tf":1.0},"206":{"tf":1.0}}}}}},"df":0,"docs":{},"v":{"df":1,"docs":{"189":{"tf":1.0}}}},"df":6,"docs":{"178":{"tf":1.0},"182":{"tf":1.0},"204":{"tf":1.0},"206":{"tf":1.0},"210":{"tf":1.4142135623730951},"211":{"tf":1.4142135623730951}}}}}}}},"df":7,"docs":{"155":{"tf":1.0},"158":{"tf":1.0},"160":{"tf":1.0},"161":{"tf":1.4142135623730951},"186":{"tf":1.0},"211":{"tf":1.0},"214":{"tf":1.4142135623730951}}},"s":{"_":{"df":1,"docs":{"207":{"tf":2.23606797749979}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"238":{"tf":1.0}}}}},"t":{"df":2,"docs":{"132":{"tf":1.0},"260":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"|":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"238":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},")":{"df":0,"docs":{},",":{"df":0,"docs":{},"但":{"df":0,"docs":{},"絕":{"df":0,"docs":{},"不":{"df":0,"docs":{},"會":{"df":0,"docs":{},"有":{"df":0,"docs":{},"假":{"df":0,"docs":{},"陰":{"df":0,"docs":{},"性":{"df":0,"docs":{},"(":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":1,"docs":{"259":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}},"p":{"df":1,"docs":{"47":{"tf":1.0}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"275":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}},"s":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"132":{"tf":2.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":5,"docs":{"124":{"tf":1.4142135623730951},"125":{"tf":4.242640687119285},"127":{"tf":1.0},"131":{"tf":2.23606797749979},"132":{"tf":2.0}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"214":{"tf":1.0}}},"df":0,"docs":{}}}},"v":{".":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"208":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":1,"docs":{"208":{"tf":2.8284271247461903}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":3,"docs":{"207":{"tf":1.0},"208":{"tf":1.4142135623730951},"210":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"287":{"tf":1.0}}}}},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"152":{"tf":1.0}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"df":1,"docs":{"186":{"tf":1.0}}}}}},"v":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"154":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"b":{"a":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"259":{"tf":1.0}}}}}}},"l":{"df":3,"docs":{"260":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":2,"docs":{"230":{"tf":2.449489742783178},"274":{"tf":1.7320508075688772}}}},"c":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"92":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"47":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":3,"docs":{"215":{"tf":1.0},"240":{"tf":1.0},"285":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"293":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"86":{"tf":1.0},"87":{"tf":1.7320508075688772},"89":{"tf":1.0}}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"d":{"df":0,"docs":{},"o":{"df":1,"docs":{"139":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"df":2,"docs":{"284":{"tf":1.0},"286":{"tf":1.0}},"r":{".":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"176":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}},":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"180":{"tf":1.0}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"180":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{":":{":":{"d":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{")":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"176":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"182":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"182":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":4,"docs":{"176":{"tf":2.6457513110645907},"185":{"tf":1.7320508075688772},"188":{"tf":1.0},"230":{"tf":1.7320508075688772}}}},"u":{"b":{"df":66,"docs":{"102":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"130":{"tf":1.0},"132":{"tf":1.0},"142":{"tf":1.0},"143":{"tf":1.4142135623730951},"151":{"tf":1.0},"154":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.0},"164":{"tf":1.0},"166":{"tf":1.0},"167":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":1.0},"176":{"tf":1.4142135623730951},"177":{"tf":1.4142135623730951},"179":{"tf":1.0},"181":{"tf":2.0},"182":{"tf":2.0},"185":{"tf":1.4142135623730951},"186":{"tf":1.0},"203":{"tf":1.0},"205":{"tf":1.0},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"208":{"tf":1.0},"211":{"tf":2.449489742783178},"234":{"tf":1.4142135623730951},"236":{"tf":1.4142135623730951},"237":{"tf":1.4142135623730951},"238":{"tf":1.4142135623730951},"240":{"tf":1.0},"247":{"tf":1.0},"249":{"tf":2.449489742783178},"25":{"tf":1.4142135623730951},"251":{"tf":2.449489742783178},"252":{"tf":2.0},"253":{"tf":1.7320508075688772},"262":{"tf":1.7320508075688772},"263":{"tf":1.0},"264":{"tf":2.0},"265":{"tf":1.4142135623730951},"267":{"tf":1.7320508075688772},"268":{"tf":1.0},"269":{"tf":2.23606797749979},"278":{"tf":1.4142135623730951},"279":{"tf":1.0},"286":{"tf":1.4142135623730951},"287":{"tf":1.0},"289":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"44":{"tf":1.4142135623730951},"54":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0},"76":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"92":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"199":{"tf":1.0},"258":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"293":{"tf":1.0},"294":{"tf":1.0}}}},"s":{"df":0,"docs":{},"h":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"157":{"tf":1.0}}}}}},"df":0,"docs":{}},"_":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"182":{"tf":1.0}}}}}},"df":0,"docs":{},"v":{"df":1,"docs":{"189":{"tf":1.0}}}},"df":4,"docs":{"178":{"tf":1.0},"179":{"tf":2.0},"180":{"tf":1.4142135623730951},"182":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"182":{"tf":1.0},"206":{"tf":1.0}}}}}},"df":0,"docs":{},"v":{"df":1,"docs":{"189":{"tf":1.0}}}},"df":5,"docs":{"178":{"tf":1.0},"179":{"tf":1.4142135623730951},"182":{"tf":1.0},"204":{"tf":1.0},"206":{"tf":1.0}}}}}}}},"df":7,"docs":{"143":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"159":{"tf":1.0},"161":{"tf":1.4142135623730951},"239":{"tf":1.0}}}},"t":{"df":1,"docs":{"142":{"tf":1.0}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"216":{"tf":1.0},"254":{"tf":1.4142135623730951},"256":{"tf":1.0},"258":{"tf":1.0},"61":{"tf":1.7320508075688772}}}}}}}},"q":{"df":3,"docs":{"237":{"tf":2.0},"238":{"tf":2.0},"249":{"tf":2.0}},"u":{"a":{"d":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"230":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"71":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"266":{"tf":1.0}}}}},"df":0,"docs":{},"(":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"q":{"df":1,"docs":{"266":{"tf":1.0}}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"164":{"tf":1.0}}}},"df":4,"docs":{"163":{"tf":1.4142135623730951},"172":{"tf":1.0},"173":{"tf":1.0},"6":{"tf":1.0}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"p":{"df":1,"docs":{"102":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":2,"docs":{"102":{"tf":2.0},"105":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"o":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"105":{"tf":2.23606797749979}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"d":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"105":{"tf":2.23606797749979}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"102":{"tf":1.0}}}}},"df":0,"docs":{}},"df":1,"docs":{"102":{"tf":1.0}}}}}}}}},"df":15,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"104":{"tf":1.0},"105":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.7320508075688772},"21":{"tf":1.0},"4":{"tf":1.0},"56":{"tf":1.0},"94":{"tf":2.0},"95":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.7320508075688772},"99":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"274":{"tf":2.449489742783178},"275":{"tf":1.4142135623730951}}}}}}}}}},"r":{"a":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"151":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":8,"docs":{"145":{"tf":2.6457513110645907},"146":{"tf":2.23606797749979},"147":{"tf":1.4142135623730951},"149":{"tf":2.23606797749979},"150":{"tf":1.4142135623730951},"151":{"tf":2.8284271247461903},"152":{"tf":1.4142135623730951},"4":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"i":{"df":1,"docs":{"205":{"tf":1.0}}}},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":4,"docs":{"173":{"tf":1.0},"192":{"tf":1.0},"207":{"tf":1.0},"242":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{")":{".":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":2,"docs":{"267":{"tf":1.4142135623730951},"269":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"267":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"g":{"df":3,"docs":{"117":{"tf":1.0},"136":{"tf":1.4142135623730951},"67":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"67":{"tf":1.0}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"67":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":1,"docs":{"273":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{":":{":":{"c":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"179":{"tf":1.0}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"176":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"180":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"177":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{"df":4,"docs":{"176":{"tf":2.0},"177":{"tf":1.0},"179":{"tf":1.0},"188":{"tf":1.0}}}},"df":6,"docs":{"176":{"tf":2.8284271247461903},"177":{"tf":1.0},"180":{"tf":1.0},"184":{"tf":1.4142135623730951},"188":{"tf":1.0},"190":{"tf":1.0}}},"df":0,"docs":{}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"114":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"89":{"tf":1.0}}}}}},"df":4,"docs":{"109":{"tf":1.0},"244":{"tf":1.0},"273":{"tf":1.0},"33":{"tf":1.0}},"e":{"a":{"d":{"/":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":2,"docs":{"263":{"tf":1.0},"264":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"c":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{".":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":4,"docs":{"176":{"tf":1.7320508075688772},"192":{"tf":1.0},"231":{"tf":1.0},"239":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":1,"docs":{"164":{"tf":1.0}}}},"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":5,"docs":{"102":{"tf":1.4142135623730951},"112":{"tf":1.0},"202":{"tf":1.0},"210":{"tf":1.0},"273":{"tf":1.0}}}}}},"df":1,"docs":{"207":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":9,"docs":{"157":{"tf":1.0},"167":{"tf":1.0},"185":{"tf":1.0},"208":{"tf":1.0},"211":{"tf":1.4142135623730951},"237":{"tf":1.0},"240":{"tf":1.0},"264":{"tf":1.0},"278":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"256":{"tf":1.0}}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"176":{"tf":1.0},"181":{"tf":1.4142135623730951},"182":{"tf":2.0},"184":{"tf":1.0},"187":{"tf":1.4142135623730951}}}}}},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":3,"docs":{"231":{"tf":1.0},"239":{"tf":1.0},"274":{"tf":1.0}}}}},"df":0,"docs":{}},"l":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"256":{"tf":2.0}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"176":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":6,"docs":{"204":{"tf":1.0},"207":{"tf":1.0},"214":{"tf":1.0},"235":{"tf":1.0},"249":{"tf":1.4142135623730951},"264":{"tf":1.0}},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"207":{"tf":1.0}}}}}},"df":0,"docs":{},"k":{"df":1,"docs":{"241":{"tf":1.0}}},"v":{"df":1,"docs":{"257":{"tf":1.0}}}},"<":{"df":0,"docs":{},"q":{">":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"238":{"tf":1.0},"249":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"146":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"l":{"a":{"c":{"df":1,"docs":{"176":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"215":{"tf":1.0}}}}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"293":{"tf":1.0},"294":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"r":{"df":4,"docs":{"185":{"tf":1.4142135623730951},"211":{"tf":1.4142135623730951},"255":{"tf":1.0},"256":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"119":{"tf":1.0}}}},"i":{"df":0,"docs":{},"z":{"df":4,"docs":{"180":{"tf":1.4142135623730951},"236":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"112":{"tf":1.0}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":5,"docs":{"32":{"tf":1.0},"33":{"tf":1.0},"44":{"tf":1.4142135623730951},"54":{"tf":1.0},"61":{"tf":1.0}}}}},"df":6,"docs":{"117":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"119":{"tf":1.0},"207":{"tf":1.0},"32":{"tf":1.0},"44":{"tf":1.7320508075688772}}}}}},"t":{"[":{"df":0,"docs":{},"i":{".":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":1,"docs":{"118":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{".":{".":{"]":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"(":{"&":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"1":{"[":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"119":{"tf":1.0}}}}}}},"df":0,"docs":{}},"2":{"[":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"119":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"119":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"df":4,"docs":{"117":{"tf":2.0},"118":{"tf":1.4142135623730951},"119":{"tf":2.449489742783178},"143":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":25,"docs":{"103":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"117":{"tf":1.0},"119":{"tf":1.0},"157":{"tf":1.4142135623730951},"176":{"tf":1.4142135623730951},"181":{"tf":1.4142135623730951},"182":{"tf":1.4142135623730951},"185":{"tf":2.0},"207":{"tf":1.4142135623730951},"212":{"tf":1.0},"233":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.0},"25":{"tf":1.0},"251":{"tf":1.7320508075688772},"253":{"tf":1.0},"256":{"tf":1.0},"286":{"tf":1.4142135623730951},"287":{"tf":1.4142135623730951},"289":{"tf":1.4142135623730951},"33":{"tf":1.0},"44":{"tf":1.7320508075688772},"54":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"215":{"tf":1.0}},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"208":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{},":":{"df":0,"docs":{},"反":{"df":0,"docs":{},"轉":{"df":0,"docs":{},"整":{"df":0,"docs":{},"個":{"df":0,"docs":{},"串":{"df":0,"docs":{},"列":{"df":0,"docs":{},"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"204":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}}}}}},"f":{"c":{"df":2,"docs":{"240":{"tf":1.0},"251":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":6,"docs":{"114":{"tf":1.4142135623730951},"30":{"tf":1.0},"42":{"tf":1.7320508075688772},"80":{"tf":1.7320508075688772},"81":{"tf":1.0},"89":{"tf":1.0}}}}}}},"h":{"df":1,"docs":{"255":{"tf":1.0}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"30":{"tf":1.7320508075688772}}}}}}},"df":3,"docs":{"119":{"tf":2.23606797749979},"278":{"tf":1.4142135623730951},"92":{"tf":1.0}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"108":{"tf":1.0},"147":{"tf":1.0},"34":{"tf":1.0}}}}}}}}},"n":{"df":0,"docs":{},"g":{"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"f":{"df":3,"docs":{"177":{"tf":1.4142135623730951},"180":{"tf":1.0},"185":{"tf":2.449489742783178}}}}},"df":0,"docs":{}},"df":3,"docs":{"174":{"tf":1.0},"175":{"tf":1.0},"180":{"tf":1.0}}}}},"o":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"231":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"h":{"df":1,"docs":{"93":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"t":{"df":3,"docs":{"86":{"tf":1.0},"87":{"tf":2.6457513110645907},"92":{"tf":3.3166247903554}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}}}}}},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"121":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"_":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"b":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{":":{":":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"259":{"tf":1.0}}}}}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"173":{"tf":1.0}}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"226":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"245":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":1,"docs":{"163":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"200":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}}}},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"153":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"277":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":1,"docs":{"277":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"n":{"a":{"df":1,"docs":{"282":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":1,"docs":{"282":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"256":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"c":{"df":1,"docs":{"185":{"tf":1.0}}},"df":55,"docs":{"0":{"tf":2.23606797749979},"105":{"tf":1.4142135623730951},"108":{"tf":1.0},"117":{"tf":1.0},"131":{"tf":1.0},"143":{"tf":1.4142135623730951},"144":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"164":{"tf":1.0},"167":{"tf":1.0},"176":{"tf":2.0},"181":{"tf":1.4142135623730951},"183":{"tf":1.4142135623730951},"185":{"tf":2.0},"186":{"tf":1.0},"187":{"tf":1.4142135623730951},"190":{"tf":1.4142135623730951},"193":{"tf":1.0},"202":{"tf":1.0},"205":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":1.4142135623730951},"211":{"tf":1.0},"212":{"tf":1.0},"215":{"tf":2.0},"216":{"tf":1.0},"225":{"tf":1.0},"231":{"tf":1.0},"232":{"tf":1.0},"233":{"tf":2.0},"236":{"tf":1.0},"237":{"tf":1.0},"240":{"tf":2.449489742783178},"244":{"tf":1.0},"248":{"tf":1.7320508075688772},"25":{"tf":1.0},"251":{"tf":2.23606797749979},"253":{"tf":1.0},"254":{"tf":1.0},"255":{"tf":1.0},"256":{"tf":1.7320508075688772},"258":{"tf":1.0},"262":{"tf":1.0},"264":{"tf":1.4142135623730951},"267":{"tf":1.0},"278":{"tf":1.7320508075688772},"287":{"tf":1.0},"288":{"tf":1.0},"291":{"tf":1.4142135623730951},"292":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"32":{"tf":1.0},"44":{"tf":1.7320508075688772}},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{"df":1,"docs":{"294":{"tf":1.0}}}}}}}}},"s":{"a":{"df":15,"docs":{"122":{"tf":1.0},"13":{"tf":1.0},"190":{"tf":1.0},"212":{"tf":1.7320508075688772},"225":{"tf":1.0},"244":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.4142135623730951},"62":{"tf":1.0},"64":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"77":{"tf":1.0},"93":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"df":5,"docs":{"176":{"tf":2.0},"180":{"tf":1.4142135623730951},"181":{"tf":1.4142135623730951},"182":{"tf":2.0},"187":{"tf":1.4142135623730951}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}}}}},"m":{"'":{"df":1,"docs":{"227":{"tf":1.0}}},"df":2,"docs":{"227":{"tf":3.0},"230":{"tf":1.4142135623730951}},"e":{"_":{"df":0,"docs":{},"s":{"df":1,"docs":{"256":{"tf":1.4142135623730951}}}},"df":3,"docs":{"260":{"tf":1.0},"276":{"tf":1.0},"279":{"tf":1.0}}}},"、":{"df":0,"docs":{},"s":{"b":{"df":0,"docs":{},",":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"、":{"df":0,"docs":{},"s":{"b":{"df":1,"docs":{"212":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"b":{"df":1,"docs":{"212":{"tf":2.0}}},"c":{"a":{"df":0,"docs":{},"l":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"273":{"tf":2.23606797749979}}}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":2,"docs":{"131":{"tf":1.4142135623730951},"132":{"tf":1.0}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"135":{"tf":1.0},"136":{"tf":1.0},"143":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":2,"docs":{"175":{"tf":2.23606797749979},"54":{"tf":1.0}}}}}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"291":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"e":{"df":5,"docs":{"103":{"tf":1.7320508075688772},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"96":{"tf":1.4142135623730951},"97":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":2,"docs":{"47":{"tf":1.0},"84":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":2,"docs":{"205":{"tf":1.0},"210":{"tf":1.0}},",":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"210":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"258":{"tf":1.0}}}}}}}}}}}},"df":3,"docs":{"273":{"tf":1.7320508075688772},"284":{"tf":1.0},"285":{"tf":1.7320508075688772}},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"241":{"tf":1.0}}}},"df":17,"docs":{"117":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.4142135623730951},"26":{"tf":1.0},"27":{"tf":1.4142135623730951},"3":{"tf":2.0},"36":{"tf":2.0},"37":{"tf":1.7320508075688772},"39":{"tf":1.0},"40":{"tf":1.4142135623730951},"43":{"tf":1.0},"46":{"tf":1.7320508075688772},"47":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"61":{"tf":1.0}},"—":{"a":{"df":2,"docs":{"43":{"tf":1.0},"47":{"tf":1.0}}},"df":0,"docs":{}},",":{"df":0,"docs":{},"又":{"df":0,"docs":{},"稱":{"df":0,"docs":{},"對":{"df":0,"docs":{},"數":{"df":0,"docs":{},"搜":{"df":0,"docs":{},"尋":{"df":0,"docs":{},"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"df":1,"docs":{"27":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}}}}}}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"109":{"tf":1.0},"244":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":10,"docs":{"4":{"tf":1.0},"56":{"tf":1.0},"63":{"tf":1.7320508075688772},"64":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951},"87":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"67":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"66":{"tf":1.0}}}}}},"df":0,"docs":{}},"f":{".":{"0":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"186":{"tf":1.0},"211":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}},"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"n":{"d":{".":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"233":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"237":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"239":{"tf":1.0}}}}}},"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"239":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"238":{"tf":1.0}},"s":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{")":{".":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"|":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"237":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{")":{".":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"|":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"238":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"240":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"239":{"tf":1.0},"240":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"239":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"c":{"a":{"df":0,"docs":{},"p":{"df":4,"docs":{"176":{"tf":1.7320508075688772},"179":{"tf":1.7320508075688772},"180":{"tf":1.4142135623730951},"181":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"251":{"tf":2.23606797749979}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{")":{".":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"252":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"249":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"249":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"249":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"|":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"251":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"249":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"249":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"249":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"[":{"0":{"]":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"]":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"e":{"a":{"d":{".":{"a":{"df":0,"docs":{},"s":{"_":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"211":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"k":{"df":3,"docs":{"206":{"tf":1.4142135623730951},"208":{"tf":1.0},"210":{"tf":1.0}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"181":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":6,"docs":{"180":{"tf":1.7320508075688772},"182":{"tf":1.7320508075688772},"185":{"tf":1.7320508075688772},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"208":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"253":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"181":{"tf":1.4142135623730951},"182":{"tf":1.4142135623730951}}}}}}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"180":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"256":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"256":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"t":{"df":2,"docs":{"186":{"tf":1.0},"213":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"170":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"168":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"160":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"157":{"tf":1.0},"159":{"tf":1.0},"169":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"158":{"tf":1.0}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"157":{"tf":1.0},"167":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"r":{"(":{")":{".":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"253":{"tf":1.0},"256":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"252":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"251":{"tf":2.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"252":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}}}},"z":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{")":{".":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"212":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"186":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":8,"docs":{"180":{"tf":1.0},"181":{"tf":1.0},"187":{"tf":1.4142135623730951},"212":{"tf":1.0},"238":{"tf":1.7320508075688772},"239":{"tf":1.7320508075688772},"253":{"tf":1.0},"256":{"tf":1.4142135623730951}}}}},"m":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.7320508075688772}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"237":{"tf":1.0}}}}},"q":{"df":2,"docs":{"237":{"tf":1.0},"238":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"x":{"df":0,"docs":{},"s":{"df":1,"docs":{"157":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.4142135623730951}}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"_":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"184":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"210":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"r":{"(":{")":{".":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{")":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"182":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"187":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"l":{"d":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"180":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{")":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"182":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"176":{"tf":1.0},"180":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"f":{".":{"c":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"179":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"185":{"tf":2.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"185":{"tf":1.7320508075688772}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"180":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"185":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"180":{"tf":1.0},"182":{"tf":1.7320508075688772},"185":{"tf":3.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"182":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":1,"docs":{"238":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"&":{"df":0,"docs":{},"r":{"df":0,"docs":{},"h":{"df":0,"docs":{},"s":{")":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"d":{"(":{")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"255":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"182":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"182":{"tf":1.0},"187":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":2,"docs":{"181":{"tf":1.0},"182":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"182":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"186":{"tf":1.7320508075688772},"211":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":2,"docs":{"267":{"tf":1.4142135623730951},"269":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"r":{"df":2,"docs":{"267":{"tf":1.4142135623730951},"269":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"187":{"tf":1.0},"255":{"tf":1.0}}}}}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"(":{"1":{"df":1,"docs":{"176":{"tf":1.0}}},"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"239":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":33,"docs":{"156":{"tf":1.4142135623730951},"157":{"tf":1.0},"158":{"tf":1.0},"166":{"tf":1.4142135623730951},"167":{"tf":1.0},"168":{"tf":1.0},"176":{"tf":2.449489742783178},"177":{"tf":1.4142135623730951},"180":{"tf":1.0},"182":{"tf":2.0},"184":{"tf":1.0},"185":{"tf":3.4641016151377544},"186":{"tf":1.0},"187":{"tf":1.0},"205":{"tf":1.7320508075688772},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"208":{"tf":1.0},"210":{"tf":1.4142135623730951},"211":{"tf":2.0},"212":{"tf":1.0},"236":{"tf":2.23606797749979},"238":{"tf":1.7320508075688772},"239":{"tf":1.7320508075688772},"249":{"tf":1.4142135623730951},"251":{"tf":4.795831523312719},"252":{"tf":3.1622776601683795},"253":{"tf":2.6457513110645907},"255":{"tf":1.0},"256":{"tf":1.4142135623730951},"267":{"tf":2.0},"268":{"tf":1.0},"269":{"tf":1.7320508075688772}},"、":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"251":{"tf":1.0}}}}}},"(":{"&":{"'":{"a":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"197":{"tf":1.0}},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"197":{"tf":2.449489742783178}}}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":5,"docs":{"230":{"tf":2.0},"234":{"tf":1.4142135623730951},"242":{"tf":1.0},"243":{"tf":1.0},"274":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":9,"docs":{"211":{"tf":1.0},"230":{"tf":1.0},"44":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.4142135623730951},"80":{"tf":2.0},"81":{"tf":1.0},"82":{"tf":2.0},"83":{"tf":2.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"23":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"80":{"tf":1.0}}},"df":0,"docs":{}}}}},"t":{"df":9,"docs":{"223":{"tf":1.4142135623730951},"245":{"tf":1.0},"248":{"tf":1.0},"250":{"tf":1.0},"251":{"tf":1.4142135623730951},"255":{"tf":2.8284271247461903},"256":{"tf":1.0},"258":{"tf":1.4142135623730951},"8":{"tf":1.0}},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"44":{"tf":1.0}}}}}},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"200":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"162":{"tf":1.0},"20":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"83":{"tf":1.0}}}}},"df":0,"docs":{}},"df":8,"docs":{"4":{"tf":1.0},"78":{"tf":2.0},"79":{"tf":1.0},"80":{"tf":1.4142135623730951},"81":{"tf":1.4142135623730951},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.7320508075688772}}}}}}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":2,"docs":{"278":{"tf":1.4142135623730951},"54":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"231":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"i":{"df":1,"docs":{"285":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"t":{"_":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"92":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"df":2,"docs":{"89":{"tf":1.4142135623730951},"92":{"tf":2.8284271247461903}}}}}},"df":0,"docs":{}},"df":4,"docs":{"87":{"tf":1.7320508075688772},"89":{"tf":1.7320508075688772},"90":{"tf":1.7320508075688772},"92":{"tf":1.0}}}},"g":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"130":{"tf":1.4142135623730951},"143":{"tf":1.0},"32":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},")":{"df":0,"docs":{},"則":{"df":0,"docs":{},"是":{"df":0,"docs":{},"算":{"df":0,"docs":{},"術":{"df":0,"docs":{},"右":{"df":0,"docs":{},"移":{"df":0,"docs":{},"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"278":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"146":{"tf":1.4142135623730951},"278":{"tf":1.0}}},"df":0,"docs":{}}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":6,"docs":{"171":{"tf":1.0},"198":{"tf":1.0},"199":{"tf":1.0},"200":{"tf":1.0},"215":{"tf":1.0},"7":{"tf":1.0}}},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{"df":6,"docs":{"203":{"tf":1.0},"205":{"tf":1.0},"210":{"tf":1.4142135623730951},"211":{"tf":1.4142135623730951},"212":{"tf":1.0},"213":{"tf":1.0}}}},"df":5,"docs":{"203":{"tf":1.0},"206":{"tf":1.0},"209":{"tf":1.0},"211":{"tf":2.0},"212":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}},"k":{"df":1,"docs":{"71":{"tf":1.0}}}},"t":{"df":2,"docs":{"284":{"tf":1.4142135623730951},"285":{"tf":1.4142135623730951}}},"z":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"159":{"tf":1.0},"169":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":17,"docs":{"155":{"tf":1.0},"159":{"tf":1.0},"165":{"tf":1.0},"176":{"tf":1.4142135623730951},"179":{"tf":1.4142135623730951},"233":{"tf":2.449489742783178},"237":{"tf":1.0},"238":{"tf":1.0},"248":{"tf":1.0},"249":{"tf":1.4142135623730951},"259":{"tf":1.0},"262":{"tf":2.0},"264":{"tf":1.0},"265":{"tf":2.0},"269":{"tf":1.4142135623730951},"33":{"tf":3.0},"54":{"tf":2.0}}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"81":{"tf":1.7320508075688772}}}}},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"185":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"170":{"tf":1.0}}}}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}}},"df":1,"docs":{"185":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":10,"docs":{"117":{"tf":1.4142135623730951},"173":{"tf":1.0},"184":{"tf":1.0},"185":{"tf":1.0},"233":{"tf":1.0},"262":{"tf":1.4142135623730951},"265":{"tf":1.0},"32":{"tf":1.0},"54":{"tf":2.0},"61":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"t":{"df":3,"docs":{"227":{"tf":1.4142135623730951},"230":{"tf":2.449489742783178},"274":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"107":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":5,"docs":{"264":{"tf":1.0},"265":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.4142135623730951},"288":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"185":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"(":{"&":{"'":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":1,"docs":{"185":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"*":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"(":{")":{".":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"181":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"181":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"211":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"(":{"_":{"df":1,"docs":{"238":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":1,"docs":{"238":{"tf":1.0}}}},"*":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}}},"_":{"df":2,"docs":{"184":{"tf":1.0},"279":{"tf":1.4142135623730951}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"206":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"c":{"1":{"df":1,"docs":{"279":{"tf":1.0}}},"2":{"df":1,"docs":{"279":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"233":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"a":{"d":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"206":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"25":{"tf":1.0}}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"v":{"df":1,"docs":{"238":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"207":{"tf":1.0},"208":{"tf":1.0},"210":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"207":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"o":{"d":{"df":2,"docs":{"207":{"tf":1.4142135623730951},"208":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"207":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"256":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"256":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{")":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"|":{"_":{"df":1,"docs":{"256":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"256":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"0":{"df":1,"docs":{"168":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"(":{")":{".":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"182":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"182":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":2,"docs":{"174":{"tf":1.0},"177":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"296":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"t":{"/":{"b":{"df":0,"docs":{},"u":{"b":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"56":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":56,"docs":{"122":{"tf":1.4142135623730951},"123":{"tf":2.0},"125":{"tf":1.0},"127":{"tf":1.4142135623730951},"128":{"tf":1.4142135623730951},"129":{"tf":1.4142135623730951},"130":{"tf":1.0},"133":{"tf":1.4142135623730951},"134":{"tf":2.23606797749979},"135":{"tf":1.0},"136":{"tf":2.8284271247461903},"138":{"tf":2.0},"140":{"tf":1.0},"142":{"tf":1.4142135623730951},"143":{"tf":2.23606797749979},"144":{"tf":1.7320508075688772},"145":{"tf":3.872983346207417},"146":{"tf":2.6457513110645907},"147":{"tf":3.0},"149":{"tf":3.0},"150":{"tf":2.0},"151":{"tf":2.8284271247461903},"152":{"tf":1.4142135623730951},"20":{"tf":1.0},"38":{"tf":1.7320508075688772},"4":{"tf":2.449489742783178},"46":{"tf":1.0},"47":{"tf":1.0},"56":{"tf":2.0},"57":{"tf":1.0},"58":{"tf":1.4142135623730951},"61":{"tf":2.8284271247461903},"62":{"tf":1.4142135623730951},"63":{"tf":2.23606797749979},"64":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"69":{"tf":1.0},"70":{"tf":1.7320508075688772},"71":{"tf":2.23606797749979},"73":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"77":{"tf":1.4142135623730951},"78":{"tf":2.0},"79":{"tf":1.4142135623730951},"81":{"tf":3.7416573867739413},"82":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":2.23606797749979},"87":{"tf":1.7320508075688772},"90":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.4142135623730951},"93":{"tf":1.0},"94":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"151":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"。":{"b":{"df":0,"docs":{},"u":{"b":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"71":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}}}}}}},",":{"df":0,"docs":{},"但":{"df":0,"docs":{},"前":{"df":0,"docs":{},"一":{"df":0,"docs":{},"次":{"df":0,"docs":{},"結":{"df":0,"docs":{},"果":{"df":0,"docs":{},"已":{"df":0,"docs":{},"經":{"df":0,"docs":{},"很":{"df":0,"docs":{},"接":{"df":0,"docs":{},"近":{"df":0,"docs":{},"排":{"df":0,"docs":{},"序":{"df":0,"docs":{},"完":{"df":0,"docs":{},"成":{"df":0,"docs":{},",":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"81":{"tf":1.0}}}}}}}}}}}}}}}}}}}}}}}},"此":{"df":0,"docs":{},"時":{"df":0,"docs":{},"大":{"df":0,"docs":{},"部":{"df":0,"docs":{},"分":{"df":0,"docs":{},"元":{"df":0,"docs":{},"素":{"df":0,"docs":{},"皆":{"df":0,"docs":{},"排":{"df":0,"docs":{},"序":{"df":0,"docs":{},"完":{"df":0,"docs":{},"成":{"df":0,"docs":{},",":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}}}}}}}}}}}}}}}}}}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":4,"docs":{"274":{"tf":1.0},"275":{"tf":1.0},"278":{"tf":1.4142135623730951},"279":{"tf":1.7320508075688772}},"e":{".":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"279":{"tf":1.0}},"s":{"(":{")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"287":{"tf":1.4142135623730951},"289":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"286":{"tf":1.0},"287":{"tf":1.0},"289":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"286":{"tf":1.0},"287":{"tf":1.0},"289":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"279":{"tf":1.0}}}}}}},"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"287":{"tf":2.0},"288":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"p":{"a":{"c":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"276":{"tf":1.0}}}}}},"df":23,"docs":{"100":{"tf":1.0},"113":{"tf":1.0},"115":{"tf":1.0},"126":{"tf":1.0},"128":{"tf":1.0},"137":{"tf":1.0},"140":{"tf":1.0},"148":{"tf":1.0},"150":{"tf":1.0},"214":{"tf":1.0},"24":{"tf":1.0},"290":{"tf":1.4142135623730951},"30":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"51":{"tf":1.0},"58":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":1.0},"88":{"tf":1.0},"98":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"112":{"tf":1.4142135623730951},"117":{"tf":1.0},"118":{"tf":1.0},"193":{"tf":1.0}}}}}},"r":{"c":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"/":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"3":{"4":{"4":{":":{"6":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{":":{"1":{"2":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"5":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"3":{":":{"2":{"3":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"9":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"/":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"2":{"5":{"3":{":":{"9":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"1":{"7":{":":{"4":{"8":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{":":{"5":{"3":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{":":{"9":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"3":{":":{"2":{"4":{"df":1,"docs":{"264":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"7":{":":{"2":{"3":{"df":1,"docs":{"262":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{":":{"5":{"df":1,"docs":{"262":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":2,"docs":{"180":{"tf":1.0},"182":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"s":{"d":{"df":1,"docs":{"274":{"tf":1.0}}},"df":0,"docs":{}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"145":{"tf":1.0},"70":{"tf":1.0}}}},"c":{"df":0,"docs":{},"k":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"154":{"tf":1.0}}}},"df":9,"docs":{"100":{"tf":1.7320508075688772},"105":{"tf":1.7320508075688772},"115":{"tf":1.0},"153":{"tf":1.7320508075688772},"162":{"tf":1.0},"200":{"tf":1.0},"210":{"tf":2.23606797749979},"6":{"tf":1.0},"99":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"x":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"215":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"215":{"tf":1.0}}}}}}}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":7,"docs":{"118":{"tf":1.0},"124":{"tf":1.4142135623730951},"125":{"tf":1.4142135623730951},"132":{"tf":1.0},"211":{"tf":1.0},"34":{"tf":1.7320508075688772},"92":{"tf":3.0}}}},"t":{"df":0,"docs":{},"e":{"df":3,"docs":{"131":{"tf":1.4142135623730951},"132":{"tf":1.4142135623730951},"233":{"tf":1.0}}},"i":{"c":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":1,"docs":{"0":{"tf":1.0}}}}},"d":{":":{":":{"c":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"118":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"256":{"tf":1.0}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"264":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":3,"docs":{"263":{"tf":1.0},"264":{"tf":1.4142135623730951},"265":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"d":{"df":0,"docs":{},"t":{"df":1,"docs":{"225":{"tf":1.0}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{":":{":":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"184":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{},"f":{"3":{"2":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"267":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"4":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"267":{"tf":1.0}},"s":{":":{":":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"_":{"2":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"f":{"(":{"2":{"df":0,"docs":{},"f":{"6":{"4":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{":":{":":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"213":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":1,"docs":{"213":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"213":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{":":{":":{"df":0,"docs":{},"{":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"233":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"<":{"'":{"_":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"240":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"225":{"tf":1.0}}},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":2,"docs":{"264":{"tf":1.7320508075688772},"265":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"256":{"tf":1.0}}}},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"240":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"<":{"'":{"_":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"(":{"&":{"df":0,"docs":{},"k":{"df":1,"docs":{"240":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"c":{":":{":":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"240":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":1,"docs":{"164":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":2,"docs":{"267":{"tf":1.0},"291":{"tf":1.0}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":2,"docs":{"225":{"tf":1.0},"244":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"174":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":4,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"142":{"tf":1.0},"44":{"tf":1.0}}}}},"r":{":":{":":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"279":{"tf":1.4142135623730951},"287":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"287":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":6,"docs":{"237":{"tf":1.0},"264":{"tf":1.0},"279":{"tf":1.4142135623730951},"286":{"tf":2.0},"287":{"tf":1.4142135623730951},"289":{"tf":1.4142135623730951}},"e":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":5,"docs":{"233":{"tf":1.0},"237":{"tf":1.0},"264":{"tf":1.0},"265":{"tf":1.0},"286":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":22,"docs":{"142":{"tf":1.4142135623730951},"154":{"tf":1.0},"164":{"tf":1.0},"174":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.0},"185":{"tf":1.4142135623730951},"186":{"tf":1.0},"188":{"tf":1.0},"202":{"tf":1.7320508075688772},"203":{"tf":2.23606797749979},"210":{"tf":1.4142135623730951},"211":{"tf":3.1622776601683795},"233":{"tf":1.0},"234":{"tf":1.4142135623730951},"240":{"tf":1.4142135623730951},"247":{"tf":1.0},"262":{"tf":2.449489742783178},"263":{"tf":1.0},"264":{"tf":3.3166247903554},"265":{"tf":1.4142135623730951},"269":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"200":{"tf":1.0},"259":{"tf":1.0},"273":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"u":{"b":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"112":{"tf":1.4142135623730951},"97":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":3,"docs":{"287":{"tf":2.0},"289":{"tf":2.6457513110645907},"54":{"tf":1.7320508075688772}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"200":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"145":{"tf":1.0},"146":{"tf":1.4142135623730951},"149":{"tf":1.4142135623730951}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":2,"docs":{"118":{"tf":1.0},"81":{"tf":2.6457513110645907}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"282":{"tf":1.0},"289":{"tf":1.0}}}}}},"r":{"df":2,"docs":{"284":{"tf":1.0},"9":{"tf":1.0}},"e":{"df":1,"docs":{"92":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"179":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"89":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"176":{"tf":1.0},"264":{"tf":1.0}}}},"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"{":{"df":0,"docs":{},"i":{"=":{"0":{"df":0,"docs":{},"}":{"^":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"df":1,"docs":{"75":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"1":{"df":0,"docs":{},"}":{"^":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"df":1,"docs":{"66":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"99":{"tf":1.0}}}}},"df":6,"docs":{"124":{"tf":1.4142135623730951},"125":{"tf":4.358898943540674},"127":{"tf":1.0},"131":{"tf":2.23606797749979},"132":{"tf":2.0},"91":{"tf":1.0}}}},"v":{"df":0,"docs":{},"g":{"df":3,"docs":{"199":{"tf":1.0},"215":{"tf":1.0},"47":{"tf":1.4142135623730951}}}},"w":{"a":{"df":0,"docs":{},"p":{"'":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"92":{"tf":1.0}}}}},"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"238":{"tf":1.0}}}}}}}},"df":6,"docs":{"103":{"tf":1.4142135623730951},"107":{"tf":1.0},"108":{"tf":1.0},"76":{"tf":2.0},"87":{"tf":2.0},"97":{"tf":2.6457513110645907}},")":{"df":0,"docs":{},"、":{"df":0,"docs":{},"賦":{"df":0,"docs":{},"值":{"df":0,"docs":{},"(":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"61":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}},"改":{"df":0,"docs":{},"為":{"df":0,"docs":{},"插":{"df":0,"docs":{},"入":{"df":0,"docs":{},"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"65":{"tf":1.0}}}}}}}}}}}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"8":{"df":3,"docs":{"62":{"tf":1.0},"72":{"tf":1.0},"77":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":2,"docs":{"0":{"tf":1.0},"109":{"tf":1.0}}}}}},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"256":{"tf":1.0},"257":{"tf":1.0}},"i":{"c":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"250":{"tf":1.0},"255":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"<":{"'":{"a":{">":{"(":{"&":{"'":{"a":{"df":1,"docs":{"252":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"47":{"tf":1.0}}}}}}}}}}},"t":{"(":{"\\":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"114":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"n":{"df":1,"docs":{"114":{"tf":1.7320508075688772}}}},">":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":3,"docs":{"130":{"tf":1.0},"132":{"tf":1.0},"143":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"]":{"df":0,"docs":{},"。":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}}}},"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"244":{"tf":1.4142135623730951}},"e":{"[":{"0":{"df":1,"docs":{"227":{"tf":1.0}}},"1":{"df":1,"docs":{"227":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"227":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":15,"docs":{"100":{"tf":1.0},"105":{"tf":1.0},"174":{"tf":1.0},"175":{"tf":3.3166247903554},"177":{"tf":1.4142135623730951},"179":{"tf":1.4142135623730951},"180":{"tf":2.0},"181":{"tf":1.4142135623730951},"182":{"tf":1.7320508075688772},"185":{"tf":3.3166247903554},"189":{"tf":1.0},"196":{"tf":1.7320508075688772},"200":{"tf":1.0},"204":{"tf":1.0},"210":{"tf":1.4142135623730951}},"、":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"189":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"k":{"df":0,"docs":{},"e":{"df":5,"docs":{"206":{"tf":1.0},"207":{"tf":1.0},"208":{"tf":1.0},"210":{"tf":1.0},"251":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"105":{"tf":1.0}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}},"t":{")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"278":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"279":{"tf":1.0}},"s":{"(":{")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"287":{"tf":1.4142135623730951},"289":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"286":{"tf":1.0},"287":{"tf":1.0},"289":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"286":{"tf":1.0},"287":{"tf":1.0},"289":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"279":{"tf":1.0}}}}}}},"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"287":{"tf":2.0},"288":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"df":10,"docs":{"25":{"tf":1.4142135623730951},"278":{"tf":1.7320508075688772},"279":{"tf":2.0},"286":{"tf":1.4142135623730951},"287":{"tf":1.0},"289":{"tf":1.4142135623730951},"32":{"tf":1.0},"33":{"tf":2.0},"44":{"tf":4.123105625617661},"54":{"tf":1.7320508075688772}}}}}}},"c":{"df":0,"docs":{},"o":{"df":1,"docs":{"105":{"tf":2.0}}}},"df":33,"docs":{"130":{"tf":1.7320508075688772},"132":{"tf":1.4142135623730951},"142":{"tf":2.23606797749979},"143":{"tf":2.449489742783178},"151":{"tf":1.4142135623730951},"157":{"tf":1.0},"167":{"tf":1.0},"175":{"tf":3.0},"176":{"tf":1.7320508075688772},"179":{"tf":1.4142135623730951},"180":{"tf":2.449489742783178},"182":{"tf":1.4142135623730951},"185":{"tf":5.744562646538029},"186":{"tf":3.1622776601683795},"187":{"tf":1.4142135623730951},"188":{"tf":1.0},"202":{"tf":1.7320508075688772},"206":{"tf":1.0},"207":{"tf":1.0},"211":{"tf":3.872983346207417},"247":{"tf":1.0},"249":{"tf":2.23606797749979},"25":{"tf":2.6457513110645907},"251":{"tf":3.605551275463989},"252":{"tf":2.0},"255":{"tf":1.7320508075688772},"256":{"tf":1.7320508075688772},"264":{"tf":2.449489742783178},"268":{"tf":2.0},"269":{"tf":2.8284271247461903},"32":{"tf":2.0},"33":{"tf":1.7320508075688772},"54":{"tf":1.7320508075688772}},"e":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"105":{"tf":1.0},"210":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"67":{"tf":1.7320508075688772}}}},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"16":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"294":{"tf":1.0}}}},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"242":{"tf":1.0}},"{":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"y":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"50":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":3,"docs":{"114":{"tf":1.0},"284":{"tf":1.4142135623730951},"286":{"tf":1.0}}}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":2,"docs":{"231":{"tf":1.0},"242":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":2,"docs":{"114":{"tf":1.0},"284":{"tf":1.0}}}}}}}}}}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"176":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"114":{"tf":1.0}}}},"i":{"df":2,"docs":{"223":{"tf":1.0},"258":{"tf":1.0}}}}},"t":{"a":{"$":{"df":0,"docs":{},":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"19":{"tf":1.0}}}}},"df":0,"docs":{}}},"(":{"1":{"+":{"\\":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"df":0,"docs":{},"k":{"df":1,"docs":{"242":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"19":{"tf":1.0}}}},"df":0,"docs":{}},"n":{"df":1,"docs":{"19":{"tf":1.0}}}},"df":1,"docs":{"19":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"274":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":2,"docs":{"256":{"tf":1.0},"44":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"274":{"tf":1.0}}}}}}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":9,"docs":{"114":{"tf":1.0},"127":{"tf":1.0},"149":{"tf":1.0},"22":{"tf":1.0},"262":{"tf":1.4142135623730951},"270":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.0},"99":{"tf":1.0}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"121":{"tf":1.4142135623730951},"4":{"tf":1.0}}}}}}}},"o":{"_":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"132":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"p":{"df":3,"docs":{"116":{"tf":1.0},"117":{"tf":1.0},"119":{"tf":1.0}}},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"256":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"r":{"a":{"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"276":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":23,"docs":{"143":{"tf":1.0},"183":{"tf":1.0},"185":{"tf":1.7320508075688772},"188":{"tf":1.0},"205":{"tf":1.0},"209":{"tf":1.4142135623730951},"210":{"tf":1.4142135623730951},"211":{"tf":2.449489742783178},"212":{"tf":1.7320508075688772},"213":{"tf":1.4142135623730951},"232":{"tf":1.0},"233":{"tf":2.23606797749979},"236":{"tf":1.0},"237":{"tf":1.0},"240":{"tf":3.3166247903554},"251":{"tf":1.4142135623730951},"255":{"tf":1.7320508075688772},"256":{"tf":2.0},"265":{"tf":1.7320508075688772},"288":{"tf":1.0},"44":{"tf":1.4142135623730951},"67":{"tf":1.0},"83":{"tf":1.0}},",":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":1,"docs":{"233":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"208":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"256":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"211":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":3,"docs":{"274":{"tf":1.0},"46":{"tf":1.0},"87":{"tf":1.0}},"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}}}}},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"251":{"tf":1.0}}}},"u":{"df":0,"docs":{},"e":{"df":7,"docs":{"157":{"tf":1.0},"168":{"tf":1.0},"256":{"tf":2.0},"262":{"tf":1.4142135623730951},"268":{"tf":1.0},"269":{"tf":1.0},"76":{"tf":1.7320508075688772}}}},"y":{"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"176":{"tf":1.0},"180":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":3,"docs":{"176":{"tf":1.4142135623730951},"178":{"tf":1.0},"180":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":1,"docs":{"235":{"tf":1.0}},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"239":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"211":{"tf":1.0},"247":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"j":{"df":1,"docs":{"291":{"tf":1.0}}}}}}}},"w":{"df":0,"docs":{},"o":{"df":4,"docs":{"103":{"tf":1.0},"108":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":18,"docs":{"162":{"tf":1.0},"172":{"tf":1.0},"176":{"tf":1.4142135623730951},"185":{"tf":2.23606797749979},"186":{"tf":2.6457513110645907},"187":{"tf":1.0},"211":{"tf":2.23606797749979},"233":{"tf":1.0},"234":{"tf":1.4142135623730951},"240":{"tf":1.7320508075688772},"245":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.7320508075688772},"251":{"tf":1.4142135623730951},"255":{"tf":1.0},"262":{"tf":1.0},"264":{"tf":2.23606797749979},"287":{"tf":1.0}},"s":{"df":0,"docs":{},"(":{"d":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"233":{"tf":1.0},"262":{"tf":1.0}}}}},"df":0,"docs":{},"z":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}}}}}}},"、":{"df":0,"docs":{},"k":{"df":0,"docs":{},"、":{"df":0,"docs":{},"v":{"df":1,"docs":{"264":{"tf":1.0}}}}}}},"u":{"3":{"2":{">":{"df":0,"docs":{},",":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"264":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":2,"docs":{"264":{"tf":1.0},"278":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"6":{"4":{"df":3,"docs":{"268":{"tf":2.6457513110645907},"269":{"tf":3.0},"278":{"tf":2.0}}},"df":0,"docs":{}},"8":{"df":1,"docs":{"237":{"tf":1.0}}},"df":0,"docs":{},"m":{"d":{"df":1,"docs":{"89":{"tf":1.0}}},"df":0,"docs":{}},"n":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"217":{"tf":1.0}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"176":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"279":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":3,"docs":{"229":{"tf":1.0},"43":{"tf":1.7320508075688772},"47":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"n":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"251":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"<":{"'":{"a":{">":{"(":{"&":{"'":{"a":{"df":2,"docs":{"251":{"tf":1.4142135623730951},"252":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"251":{"tf":1.4142135623730951},"252":{"tf":1.4142135623730951},"255":{"tf":1.0},"257":{"tf":1.0}},":":{"df":0,"docs":{},"聯":{"df":0,"docs":{},"集":{"df":0,"docs":{},",":{"a":{"df":1,"docs":{"250":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"t":{"df":3,"docs":{"244":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.4142135623730951}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":3,"docs":{"122":{"tf":1.0},"152":{"tf":1.0},"93":{"tf":1.0}}}}}}},"s":{"a":{"df":0,"docs":{},"f":{"df":6,"docs":{"176":{"tf":2.23606797749979},"180":{"tf":1.0},"181":{"tf":1.7320508075688772},"182":{"tf":2.0},"185":{"tf":1.7320508075688772},"187":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},")":{"df":0,"docs":{},"是":{"df":0,"docs":{},"邏":{"df":0,"docs":{},"輯":{"df":0,"docs":{},"右":{"df":0,"docs":{},"移":{"df":0,"docs":{},"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"278":{"tf":1.0}}}}}}}}}}}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":6,"docs":{"63":{"tf":1.4142135623730951},"64":{"tf":1.7320508075688772},"67":{"tf":1.0},"85":{"tf":1.4142135623730951},"87":{"tf":1.0},"92":{"tf":1.4142135623730951}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"70":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"176":{"tf":1.0},"264":{"tf":1.0}}}},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"&":{"0":{"df":1,"docs":{"151":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"287":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"241":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":5,"docs":{"116":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"285":{"tf":1.0},"91":{"tf":1.0}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"118":{"tf":1.4142135623730951},"54":{"tf":1.0},"67":{"tf":1.0}}}}}},"s":{"df":12,"docs":{"132":{"tf":1.0},"144":{"tf":1.0},"151":{"tf":1.0},"211":{"tf":1.0},"233":{"tf":1.0},"251":{"tf":1.0},"262":{"tf":1.0},"263":{"tf":1.0},"264":{"tf":2.23606797749979},"265":{"tf":1.4142135623730951},"267":{"tf":1.0},"54":{"tf":1.0}},"e":{"_":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"(":{"a":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"z":{"df":42,"docs":{"103":{"tf":2.449489742783178},"107":{"tf":2.6457513110645907},"108":{"tf":1.7320508075688772},"130":{"tf":2.0},"132":{"tf":1.7320508075688772},"151":{"tf":1.0},"154":{"tf":1.0},"156":{"tf":1.0},"159":{"tf":1.0},"169":{"tf":1.0},"174":{"tf":1.4142135623730951},"176":{"tf":1.4142135623730951},"177":{"tf":1.4142135623730951},"179":{"tf":3.4641016151377544},"181":{"tf":1.0},"185":{"tf":2.0},"187":{"tf":1.4142135623730951},"188":{"tf":1.0},"207":{"tf":1.7320508075688772},"233":{"tf":1.4142135623730951},"234":{"tf":1.0},"236":{"tf":2.23606797749979},"249":{"tf":1.0},"262":{"tf":1.4142135623730951},"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":2.8284271247461903},"268":{"tf":1.4142135623730951},"269":{"tf":3.0},"279":{"tf":1.0},"286":{"tf":1.4142135623730951},"287":{"tf":1.7320508075688772},"288":{"tf":1.0},"289":{"tf":1.4142135623730951},"32":{"tf":1.0},"33":{"tf":1.7320508075688772},"44":{"tf":2.23606797749979},"54":{"tf":1.0},"61":{"tf":1.0},"76":{"tf":1.0},"83":{"tf":1.7320508075688772},"92":{"tf":1.4142135623730951}},"e":{":":{":":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"x":{"df":1,"docs":{"179":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"f":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}}}},"v":{">":{">":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"236":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"61":{"tf":1.0}},"i":{"d":{"df":5,"docs":{"181":{"tf":1.4142135623730951},"182":{"tf":2.0},"185":{"tf":1.0},"187":{"tf":1.4142135623730951},"92":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":18,"docs":{"107":{"tf":1.7320508075688772},"125":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":2.0},"136":{"tf":1.4142135623730951},"142":{"tf":2.8284271247461903},"143":{"tf":2.449489742783178},"211":{"tf":1.0},"216":{"tf":1.0},"230":{"tf":1.0},"234":{"tf":1.4142135623730951},"237":{"tf":1.4142135623730951},"238":{"tf":2.0},"249":{"tf":2.23606797749979},"251":{"tf":1.0},"262":{"tf":1.7320508075688772},"44":{"tf":1.4142135623730951},"96":{"tf":1.4142135623730951}},"e":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"132":{"tf":1.4142135623730951},"143":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"251":{"tf":1.0},"44":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":16,"docs":{"112":{"tf":1.4142135623730951},"136":{"tf":3.4641016151377544},"189":{"tf":1.0},"196":{"tf":1.4142135623730951},"197":{"tf":1.0},"200":{"tf":1.0},"230":{"tf":1.0},"234":{"tf":2.8284271247461903},"236":{"tf":2.23606797749979},"237":{"tf":2.0},"238":{"tf":2.0},"239":{"tf":1.4142135623730951},"240":{"tf":3.3166247903554},"241":{"tf":1.7320508075688772},"257":{"tf":1.0},"264":{"tf":1.0}},"e":{"c":{"!":{"[":{"0":{"df":1,"docs":{"288":{"tf":1.0}}},"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}}}},"df":0,"docs":{}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"142":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"!":{"[":{"0":{"df":2,"docs":{"287":{"tf":1.4142135623730951},"288":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":1,"docs":{"131":{"tf":1.0}}}}}},":":{":":{"<":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{"df":1,"docs":{"236":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"237":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":3,"docs":{"143":{"tf":1.0},"166":{"tf":1.0},"236":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"171":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"238":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"x":{"df":0,"docs":{},"s":{"df":1,"docs":{"156":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"<":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"234":{"tf":1.4142135623730951}}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":4,"docs":{"262":{"tf":1.0},"263":{"tf":1.0},"264":{"tf":1.4142135623730951},"269":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"h":{"df":1,"docs":{"143":{"tf":1.0}}},"k":{"df":2,"docs":{"234":{"tf":1.0},"236":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"df":4,"docs":{"142":{"tf":1.0},"154":{"tf":1.0},"164":{"tf":1.0},"171":{"tf":1.0}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"288":{"tf":1.0},"289":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"u":{"8":{"df":1,"docs":{"264":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":1,"docs":{"288":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":2,"docs":{"190":{"tf":1.0},"193":{"tf":1.0}},"e":{":":{":":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"180":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":14,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"131":{"tf":1.0},"142":{"tf":1.0},"166":{"tf":1.0},"167":{"tf":1.0},"170":{"tf":1.4142135623730951},"176":{"tf":1.4142135623730951},"234":{"tf":1.4142135623730951},"236":{"tf":1.0},"239":{"tf":1.0},"262":{"tf":2.23606797749979},"287":{"tf":1.0},"288":{"tf":2.0}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":9,"docs":{"117":{"tf":1.0},"153":{"tf":1.0},"156":{"tf":2.23606797749979},"157":{"tf":1.0},"163":{"tf":1.0},"234":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"287":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":2,"docs":{"250":{"tf":1.0},"258":{"tf":1.0}}}}},"i":{"a":{"df":11,"docs":{"122":{"tf":1.0},"190":{"tf":1.0},"199":{"tf":1.0},"225":{"tf":1.0},"244":{"tf":1.0},"258":{"tf":1.0},"47":{"tf":1.4142135623730951},"62":{"tf":1.0},"70":{"tf":1.0},"77":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"179":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":1,"docs":{"10":{"tf":1.0}}}},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"47":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":3,"docs":{"107":{"tf":1.0},"108":{"tf":1.0},"256":{"tf":1.0}},"n":{"df":2,"docs":{"109":{"tf":1.0},"244":{"tf":1.0}}}}},"df":1,"docs":{"260":{"tf":1.4142135623730951}},"e":{"b":{"df":1,"docs":{"133":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"13":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"12":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"296":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"185":{"tf":1.0},"44":{"tf":1.0}}}}}}}},"i":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"w":{"7":{"7":{"2":{"1":{"0":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"d":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"118":{"tf":2.6457513110645907}}}}},"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":25,"docs":{"109":{"tf":1.0},"122":{"tf":1.0},"133":{"tf":1.0},"144":{"tf":1.4142135623730951},"152":{"tf":1.0},"163":{"tf":1.0},"190":{"tf":1.0},"199":{"tf":1.0},"22":{"tf":1.4142135623730951},"225":{"tf":1.4142135623730951},"244":{"tf":1.4142135623730951},"258":{"tf":1.0},"26":{"tf":1.0},"276":{"tf":1.0},"281":{"tf":1.0},"291":{"tf":1.0},"39":{"tf":1.0},"47":{"tf":1.0},"55":{"tf":1.0},"62":{"tf":1.0},"70":{"tf":1.0},"77":{"tf":1.0},"84":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.4142135623730951}},"m":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"a":{"df":10,"docs":{"122":{"tf":1.0},"190":{"tf":1.0},"199":{"tf":1.0},"225":{"tf":1.0},"244":{"tf":1.0},"47":{"tf":1.4142135623730951},"62":{"tf":1.0},"70":{"tf":1.0},"77":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"a":{"df":4,"docs":{"153":{"tf":1.4142135623730951},"163":{"tf":1.0},"258":{"tf":1.0},"271":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"h":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":3,"docs":{"155":{"tf":1.0},"176":{"tf":1.4142135623730951},"235":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"(":{"c":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"176":{"tf":1.0},"236":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"x":{"df":0,"docs":{},"s":{"df":1,"docs":{"156":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"180":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"d":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":5,"docs":{"263":{"tf":1.0},"264":{"tf":1.7320508075688772},"293":{"tf":1.0},"62":{"tf":1.0},"77":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":21,"docs":{"113":{"tf":1.4142135623730951},"126":{"tf":1.4142135623730951},"137":{"tf":1.4142135623730951},"138":{"tf":1.0},"148":{"tf":1.4142135623730951},"161":{"tf":1.0},"171":{"tf":1.0},"189":{"tf":1.0},"24":{"tf":1.4142135623730951},"241":{"tf":1.0},"257":{"tf":1.0},"290":{"tf":1.7320508075688772},"30":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951},"88":{"tf":1.4142135623730951},"98":{"tf":1.4142135623730951}}}}}},"r":{"a":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"a":{"d":{"d":{"(":{"a":{"d":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"179":{"tf":1.0}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"a":{"d":{"d":{"(":{"1":{"df":1,"docs":{"185":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"187":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":4,"docs":{"179":{"tf":1.0},"181":{"tf":1.4142135623730951},"182":{"tf":2.0},"187":{"tf":1.4142135623730951}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"a":{"d":{"d":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"179":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"179":{"tf":1.0}},"、":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"df":1,"docs":{"178":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"268":{"tf":1.0}}}},"s":{"df":0,"docs":{},"u":{"b":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"179":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"!":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"213":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"296":{"tf":1.0},"34":{"tf":1.0}}}}}}},"x":{",":{"df":0,"docs":{},"y":{",":{"df":0,"docs":{},"z":{"df":1,"docs":{"260":{"tf":1.0}}}},"df":0,"docs":{}}},".":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"210":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"233":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"^":{"2":{"df":1,"docs":{"16":{"tf":1.0}}},"4":{"+":{"5":{"\\":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"{":{"3":{"df":0,"docs":{},"}":{"^":{"df":0,"docs":{},"{":{"2":{"6":{"df":0,"docs":{},"}":{"8":{"8":{"df":0,"docs":{},"x":{"^":{"3":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"0":{",":{"df":0,"docs":{},"x":{"_":{"1":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"y":{"_":{"0":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"42":{"tf":1.4142135623730951}}},"1":{",":{"df":0,"docs":{},"y":{"_":{"1":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":17,"docs":{"131":{"tf":1.7320508075688772},"132":{"tf":1.7320508075688772},"139":{"tf":1.4142135623730951},"151":{"tf":1.0},"175":{"tf":6.082762530298219},"179":{"tf":2.0},"180":{"tf":6.48074069840786},"210":{"tf":1.0},"233":{"tf":1.7320508075688772},"25":{"tf":1.0},"256":{"tf":5.916079783099616},"272":{"tf":1.0},"275":{"tf":1.4142135623730951},"287":{"tf":1.0},"289":{"tf":1.4142135623730951},"42":{"tf":2.449489742783178},"50":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"255":{"tf":1.0},"275":{"tf":1.4142135623730951},"278":{"tf":2.8284271247461903}}}},"」":{"df":0,"docs":{},"或":{"df":0,"docs":{},"是":{"df":0,"docs":{},"「":{"df":0,"docs":{},"x":{"df":1,"docs":{"272":{"tf":1.0}}}}}}}},"y":{".":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"210":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"_":{"0":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"df":0,"docs":{},"x":{"_":{"1":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"42":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":5,"docs":{"210":{"tf":1.0},"256":{"tf":5.5677643628300215},"42":{"tf":1.7320508075688772},"43":{"tf":1.4142135623730951},"47":{"tf":1.0}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}}}}},"z":{".":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"210":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":2,"docs":{"210":{"tf":1.0},"256":{"tf":2.8284271247461903}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":4,"docs":{"176":{"tf":1.7320508075688772},"248":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"212":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"176":{"tf":2.23606797749979},"179":{"tf":1.0},"248":{"tf":1.7320508075688772}}}}}}},"breadcrumbs":{"root":{"0":{".":{".":{"=":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"289":{"tf":1.0}}}}}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"(":{")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{")":{")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{":":{":":{"<":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"_":{"df":1,"docs":{"289":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"c":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"236":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"92":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"67":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{")":{".":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"i":{"df":1,"docs":{"269":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"1":{"df":3,"docs":{"259":{"tf":1.0},"267":{"tf":1.0},"270":{"tf":1.0}}},"7":{"5":{"df":1,"docs":{"239":{"tf":1.0}}},"df":0,"docs":{}},"8":{"df":1,"docs":{"273":{"tf":1.0}}},"9":{"df":1,"docs":{"273":{"tf":1.0}}},"df":0,"docs":{}},"0":{"0":{"0":{"df":1,"docs":{"175":{"tf":1.0}}},"df":2,"docs":{"227":{"tf":2.0},"230":{"tf":1.0}}},"df":2,"docs":{"227":{"tf":2.0},"230":{"tf":1.0}}},"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":2,"docs":{"33":{"tf":1.4142135623730951},"44":{"tf":2.0}}}}}}},"b":{"0":{"0":{"0":{"0":{"df":1,"docs":{"179":{"tf":1.0}}},"1":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{},"(":{"0":{"df":1,"docs":{"175":{"tf":1.0}}},"df":0,"docs":{}}},"1":{"0":{"df":1,"docs":{"179":{"tf":1.0}}},"1":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"1":{"1":{"df":1,"docs":{"179":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"0":{"0":{"0":{"df":1,"docs":{"179":{"tf":1.0}}},"1":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}},"1":{"0":{"df":1,"docs":{"179":{"tf":1.0}}},"1":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"1":{"df":0,"docs":{},"(":{"7":{"df":1,"docs":{"175":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":49,"docs":{"102":{"tf":1.4142135623730951},"117":{"tf":1.4142135623730951},"118":{"tf":1.0},"119":{"tf":1.7320508075688772},"123":{"tf":1.0},"125":{"tf":3.3166247903554},"131":{"tf":1.7320508075688772},"132":{"tf":1.4142135623730951},"145":{"tf":1.4142135623730951},"147":{"tf":4.58257569495584},"149":{"tf":1.0},"151":{"tf":2.0},"159":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.4142135623730951},"175":{"tf":1.4142135623730951},"176":{"tf":2.449489742783178},"177":{"tf":1.4142135623730951},"179":{"tf":2.449489742783178},"18":{"tf":1.0},"181":{"tf":1.0},"196":{"tf":1.0},"197":{"tf":1.0},"198":{"tf":1.7320508075688772},"200":{"tf":1.0},"207":{"tf":1.4142135623730951},"227":{"tf":3.3166247903554},"230":{"tf":1.4142135623730951},"233":{"tf":1.7320508075688772},"236":{"tf":1.7320508075688772},"239":{"tf":1.4142135623730951},"253":{"tf":1.4142135623730951},"260":{"tf":1.0},"272":{"tf":1.0},"275":{"tf":1.0},"278":{"tf":2.0},"279":{"tf":1.0},"284":{"tf":1.4142135623730951},"285":{"tf":1.0},"286":{"tf":1.4142135623730951},"288":{"tf":1.0},"289":{"tf":1.0},"33":{"tf":1.4142135623730951},"42":{"tf":2.449489742783178},"48":{"tf":1.0},"54":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"76":{"tf":1.4142135623730951},"92":{"tf":1.4142135623730951}},"}":{"^":{"df":0,"docs":{},"n":{"df":1,"docs":{"99":{"tf":1.0}}}},"df":0,"docs":{}}},"1":{")":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"58":{"tf":1.0}}}},".":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"67":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"2":{"df":4,"docs":{"58":{"tf":1.0},"66":{"tf":1.0},"75":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}}}},",":{"2":{"df":1,"docs":{"256":{"tf":1.0}}},"df":0,"docs":{},"j":{"df":2,"docs":{"284":{"tf":2.0},"287":{"tf":1.4142135623730951}}}},".":{".":{"=":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"e":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"287":{"tf":1.4142135623730951},"288":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{")":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"92":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"59":{"tf":1.0},"61":{"tf":1.0},"76":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"76":{"tf":1.0}}}}}},"0":{".":{"0":{"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"6":{"df":1,"docs":{"240":{"tf":1.4142135623730951}}},"8":{"df":1,"docs":{"176":{"tf":1.0}}},"df":0,"docs":{}},"4":{"4":{"df":1,"docs":{"271":{"tf":1.0}}},"df":0,"docs":{}},"7":{"1":{"df":2,"docs":{"259":{"tf":1.0},"270":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"0":{"0":{"df":1,"docs":{"145":{"tf":1.0}}},"df":4,"docs":{"135":{"tf":1.0},"136":{"tf":1.0},"151":{"tf":1.0},"23":{"tf":1.0}}},"2":{".":{"0":{"3":{"6":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":13,"docs":{"135":{"tf":1.0},"136":{"tf":2.23606797749979},"14":{"tf":1.0},"145":{"tf":1.4142135623730951},"147":{"tf":1.0},"149":{"tf":1.4142135623730951},"151":{"tf":1.7320508075688772},"156":{"tf":1.0},"179":{"tf":1.4142135623730951},"274":{"tf":1.0},"42":{"tf":1.4142135623730951},"80":{"tf":1.4142135623730951},"83":{"tf":1.0}},"x":{"df":1,"docs":{"16":{"tf":1.0}}}},"1":{"7":{"df":1,"docs":{"251":{"tf":1.0}}},"8":{"df":1,"docs":{"251":{"tf":1.4142135623730951}}},"9":{"df":1,"docs":{"251":{"tf":1.0}}},"df":6,"docs":{"135":{"tf":1.0},"136":{"tf":1.0},"156":{"tf":1.4142135623730951},"179":{"tf":1.4142135623730951},"227":{"tf":2.23606797749979},"230":{"tf":1.0}}},"2":{"6":{"df":1,"docs":{"146":{"tf":1.0}}},"df":0,"docs":{}},"3":{"2":{"df":2,"docs":{"80":{"tf":1.0},"83":{"tf":1.0}}},"5":{"df":1,"docs":{"47":{"tf":1.0}}},"df":3,"docs":{"29":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"50":{"tf":1.7320508075688772}}},"4":{"1":{"df":1,"docs":{"47":{"tf":1.0}}},"df":2,"docs":{"136":{"tf":2.0},"42":{"tf":1.0}}},"5":{"df":4,"docs":{"29":{"tf":1.7320508075688772},"42":{"tf":1.0},"50":{"tf":1.7320508075688772},"80":{"tf":1.0}}},"6":{"$":{"df":0,"docs":{},",":{"df":0,"docs":{},"的":{"df":0,"docs":{},"位":{"df":0,"docs":{},"置":{"df":0,"docs":{},"已":{"df":0,"docs":{},"經":{"df":0,"docs":{},"超":{"df":0,"docs":{},"出":{"df":0,"docs":{},"序":{"df":0,"docs":{},"列":{"df":0,"docs":{},"長":{"df":0,"docs":{},"度":{"df":0,"docs":{},",":{"df":0,"docs":{},"因":{"df":0,"docs":{},"此":{"df":0,"docs":{},"取":{"df":0,"docs":{},"至":{"df":0,"docs":{},"序":{"df":0,"docs":{},"列":{"df":0,"docs":{},"最":{"df":0,"docs":{},"後":{"df":0,"docs":{},"一":{"df":0,"docs":{},"個":{"df":0,"docs":{},"數":{"df":0,"docs":{},"字":{"df":0,"docs":{},"作":{"df":0,"docs":{},"為":{"df":0,"docs":{},"比":{"df":0,"docs":{},"較":{"df":0,"docs":{},"對":{"df":0,"docs":{},"象":{"df":0,"docs":{},"。":{"2":{"5":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"df":1,"docs":{"262":{"tf":1.0}}},"7":{"0":{"df":1,"docs":{"147":{"tf":2.6457513110645907}}},"df":3,"docs":{"42":{"tf":1.4142135623730951},"87":{"tf":3.4641016151377544},"97":{"tf":3.3166247903554}}},"8":{"df":1,"docs":{"42":{"tf":1.0}}},"9":{"7":{"8":{"df":2,"docs":{"43":{"tf":1.0},"47":{"tf":1.0}}},"df":0,"docs":{}},"9":{"6":{"df":2,"docs":{"46":{"tf":1.0},"47":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":2,"docs":{"29":{"tf":1.0},"50":{"tf":1.7320508075688772}}},"]":{"[":{"df":0,"docs":{},"j":{"df":1,"docs":{"287":{"tf":2.0}}}},"df":0,"docs":{}},"^":{"2":{"df":1,"docs":{"230":{"tf":1.0}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"54":{"tf":1.0}}}}}}},"df":97,"docs":{"100":{"tf":1.0},"102":{"tf":2.23606797749979},"103":{"tf":1.4142135623730951},"105":{"tf":3.605551275463989},"107":{"tf":2.0},"108":{"tf":2.23606797749979},"111":{"tf":1.0},"112":{"tf":3.0},"114":{"tf":1.7320508075688772},"117":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"119":{"tf":2.23606797749979},"125":{"tf":5.0990195135927845},"127":{"tf":1.0},"131":{"tf":2.0},"132":{"tf":2.23606797749979},"135":{"tf":1.4142135623730951},"136":{"tf":2.0},"143":{"tf":1.0},"147":{"tf":1.4142135623730951},"15":{"tf":1.0},"151":{"tf":1.7320508075688772},"159":{"tf":1.0},"16":{"tf":1.0},"175":{"tf":3.0},"176":{"tf":2.8284271247461903},"179":{"tf":4.58257569495584},"180":{"tf":2.0},"181":{"tf":2.23606797749979},"182":{"tf":3.4641016151377544},"185":{"tf":2.0},"19":{"tf":1.0},"196":{"tf":1.0},"197":{"tf":1.0},"198":{"tf":1.7320508075688772},"200":{"tf":1.0},"203":{"tf":1.0},"206":{"tf":1.7320508075688772},"207":{"tf":2.0},"208":{"tf":1.4142135623730951},"210":{"tf":1.0},"211":{"tf":1.7320508075688772},"227":{"tf":2.6457513110645907},"228":{"tf":1.4142135623730951},"230":{"tf":1.4142135623730951},"233":{"tf":1.0},"234":{"tf":1.0},"236":{"tf":1.0},"238":{"tf":2.0},"239":{"tf":1.4142135623730951},"24":{"tf":1.0},"242":{"tf":1.0},"249":{"tf":1.0},"256":{"tf":1.4142135623730951},"260":{"tf":1.7320508075688772},"267":{"tf":1.4142135623730951},"268":{"tf":2.0},"269":{"tf":2.0},"272":{"tf":1.0},"278":{"tf":2.449489742783178},"279":{"tf":1.4142135623730951},"284":{"tf":3.7416573867739413},"285":{"tf":3.872983346207417},"287":{"tf":4.58257569495584},"288":{"tf":2.449489742783178},"289":{"tf":4.0},"29":{"tf":1.4142135623730951},"30":{"tf":2.23606797749979},"33":{"tf":2.23606797749979},"42":{"tf":2.23606797749979},"44":{"tf":3.1622776601683795},"46":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"53":{"tf":2.0},"54":{"tf":2.23606797749979},"58":{"tf":1.7320508075688772},"59":{"tf":2.0},"61":{"tf":1.7320508075688772},"65":{"tf":2.449489742783178},"66":{"tf":2.0},"67":{"tf":1.0},"72":{"tf":1.0},"75":{"tf":2.0},"76":{"tf":2.449489742783178},"78":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":2.23606797749979},"81":{"tf":1.0},"83":{"tf":1.7320508075688772},"86":{"tf":1.0},"87":{"tf":3.4641016151377544},"92":{"tf":2.8284271247461903},"95":{"tf":1.0},"96":{"tf":2.0},"97":{"tf":3.3166247903554},"99":{"tf":1.7320508075688772}},"f":{"6":{"4":{"df":2,"docs":{"267":{"tf":1.4142135623730951},"269":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"179":{"tf":1.0}}}}}},"}":{"df":0,"docs":{},"i":{"df":1,"docs":{"75":{"tf":1.0}}}},")":{"df":0,"docs":{},",":{"df":0,"docs":{},"加":{"df":0,"docs":{},"上":{"df":0,"docs":{},"刪":{"df":0,"docs":{},"除":{"df":0,"docs":{},"操":{"df":0,"docs":{},"作":{"df":0,"docs":{},"的":{"df":0,"docs":{},"成":{"df":0,"docs":{},"本":{"df":0,"docs":{},"(":{"1":{"df":1,"docs":{"285":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}},"插":{"df":0,"docs":{},"入":{"df":0,"docs":{},"操":{"df":0,"docs":{},"作":{"df":0,"docs":{},"的":{"df":0,"docs":{},"成":{"df":0,"docs":{},"本":{"df":0,"docs":{},"(":{"1":{"df":1,"docs":{"285":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}}}}}}}},",":{"df":0,"docs":{},"所":{"df":0,"docs":{},"以":{"df":0,"docs":{},"我":{"df":0,"docs":{},"們":{"df":0,"docs":{},"採":{"df":0,"docs":{},"取":{"df":0,"docs":{},"類":{"df":0,"docs":{},"似":{"df":0,"docs":{},"環":{"df":0,"docs":{},"繞":{"df":0,"docs":{},"算":{"df":0,"docs":{},"術":{"df":0,"docs":{},"運":{"df":0,"docs":{},"算":{"df":0,"docs":{},"(":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"175":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}},"2":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"92":{"tf":1.0}}}}}},"^":{"2":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"1":{"df":2,"docs":{"143":{"tf":1.0},"33":{"tf":1.0}}},"2":{"3":{"6":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"143":{"tf":1.4142135623730951},"33":{"tf":1.0}}},"3":{"df":1,"docs":{"33":{"tf":1.0}}},"5":{"df":1,"docs":{"122":{"tf":1.0}}},"df":0,"docs":{}},"0":{"0":{"1":{"df":1,"docs":{"84":{"tf":1.0}}},"df":0,"docs":{}},"1":{"1":{"df":3,"docs":{"122":{"tf":1.0},"244":{"tf":1.0},"93":{"tf":1.0}}},"2":{"df":1,"docs":{"274":{"tf":1.0}}},"4":{"df":1,"docs":{"275":{"tf":1.0}}},"7":{"df":1,"docs":{"13":{"tf":1.0}}},"8":{".":{"2":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"1":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{}},"df":8,"docs":{"106":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"256":{"tf":1.0},"29":{"tf":1.0},"50":{"tf":1.7320508075688772},"87":{"tf":3.4641016151377544},"97":{"tf":3.3166247903554}}},"1":{"(":{"7":{"df":1,"docs":{"47":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"87":{"tf":3.4641016151377544},"97":{"tf":3.3166247903554}}},"2":{"df":2,"docs":{"29":{"tf":1.0},"50":{"tf":3.1622776601683795}},"。":{"3":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{},"哎":{"df":0,"docs":{},"呀":{"df":0,"docs":{},",":{"$":{"2":{"^":{"4":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"3":{"df":5,"docs":{"29":{"tf":1.0},"42":{"tf":1.0},"50":{"tf":1.7320508075688772},"80":{"tf":1.4142135623730951},"83":{"tf":1.0}}},"4":{"df":5,"docs":{"147":{"tf":2.6457513110645907},"262":{"tf":1.0},"288":{"tf":1.0},"29":{"tf":1.0},"50":{"tf":1.7320508075688772}}},"5":{"3":{"df":1,"docs":{"240":{"tf":1.0}}},"4":{":":{"2":{"8":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"240":{"tf":1.0}}},"5":{":":{"3":{"3":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"240":{"tf":1.0}}},"df":3,"docs":{"274":{"tf":1.0},"29":{"tf":1.0},"50":{"tf":1.7320508075688772}}},"6":{"df":1,"docs":{"151":{"tf":1.0}}},"7":{"df":1,"docs":{"42":{"tf":3.4641016151377544}}},"8":{"df":2,"docs":{"136":{"tf":2.0},"42":{"tf":2.23606797749979}}},"9":{"df":2,"docs":{"16":{"tf":1.0},"42":{"tf":2.0}}},"^":{"0":{"$":{"df":0,"docs":{},",":{"$":{"2":{"^":{"1":{"df":1,"docs":{"37":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":2,"docs":{"48":{"tf":1.0},"50":{"tf":1.0}}},"1":{"$":{"df":0,"docs":{},"、":{"$":{"2":{"^":{"2":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},":":{"3":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}}},"df":1,"docs":{"81":{"tf":1.0}}},"2":{"$":{"df":0,"docs":{},":":{"6":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}}},"df":2,"docs":{"230":{"tf":1.0},"81":{"tf":1.0}}},"3":{"$":{"df":0,"docs":{},":":{"1":{"5":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":2,"docs":{"179":{"tf":1.0},"81":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":2,"docs":{"30":{"tf":1.7320508075688772},"48":{"tf":1.0}}},"n":{"$":{"df":0,"docs":{},",":{"df":0,"docs":{},"將":{"df":0,"docs":{},"邏":{"df":0,"docs":{},"輯":{"df":0,"docs":{},"索":{"df":0,"docs":{},"引":{"df":0,"docs":{},"映":{"df":0,"docs":{},"射":{"df":0,"docs":{},"到":{"df":0,"docs":{},"實":{"df":0,"docs":{},"際":{"df":0,"docs":{},"索":{"df":0,"docs":{},"引":{"df":0,"docs":{},",":{"df":0,"docs":{},"只":{"df":0,"docs":{},"要":{"df":0,"docs":{},"將":{"df":0,"docs":{},"索":{"df":0,"docs":{},"引":{"df":0,"docs":{},"和":{"df":0,"docs":{},"實":{"df":0,"docs":{},"際":{"df":0,"docs":{},"可":{"df":0,"docs":{},"用":{"df":0,"docs":{},"容":{"df":0,"docs":{},"量":{"df":0,"docs":{},"(":{"$":{"2":{"^":{"df":0,"docs":{},"n":{"df":1,"docs":{"179":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"df":3,"docs":{"179":{"tf":2.0},"181":{"tf":1.0},"37":{"tf":1.0}}},"x":{"df":1,"docs":{"43":{"tf":1.0}}},"{":{"4":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}},"\\":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"tf":1.0}},"{":{"df":0,"docs":{},"i":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{},"k":{"df":1,"docs":{"80":{"tf":1.0}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"{":{"df":0,"docs":{},"i":{"df":1,"docs":{"53":{"tf":1.0}}}}}}}}},"a":{"df":1,"docs":{"65":{"tf":2.6457513110645907}},"、":{"2":{"b":{"df":1,"docs":{"65":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"b":{"df":1,"docs":{"65":{"tf":2.449489742783178}}},"df":89,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"105":{"tf":1.0},"108":{"tf":1.0},"111":{"tf":1.4142135623730951},"112":{"tf":2.8284271247461903},"114":{"tf":1.0},"117":{"tf":1.4142135623730951},"118":{"tf":2.0},"119":{"tf":1.0},"125":{"tf":4.123105625617661},"131":{"tf":1.4142135623730951},"132":{"tf":1.4142135623730951},"136":{"tf":1.0},"143":{"tf":1.0},"147":{"tf":3.605551275463989},"151":{"tf":1.0},"153":{"tf":1.0},"16":{"tf":1.0},"175":{"tf":2.449489742783178},"176":{"tf":1.7320508075688772},"179":{"tf":3.1622776601683795},"18":{"tf":1.0},"180":{"tf":1.4142135623730951},"182":{"tf":2.0},"185":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"196":{"tf":1.0},"198":{"tf":1.4142135623730951},"200":{"tf":1.0},"203":{"tf":1.0},"206":{"tf":1.7320508075688772},"207":{"tf":1.4142135623730951},"208":{"tf":1.4142135623730951},"210":{"tf":1.0},"211":{"tf":1.4142135623730951},"227":{"tf":3.7416573867739413},"228":{"tf":1.4142135623730951},"230":{"tf":1.7320508075688772},"233":{"tf":1.0},"234":{"tf":1.0},"238":{"tf":1.4142135623730951},"239":{"tf":1.0},"249":{"tf":1.0},"256":{"tf":1.4142135623730951},"262":{"tf":1.0},"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.4142135623730951},"269":{"tf":1.0},"273":{"tf":1.0},"275":{"tf":1.0},"278":{"tf":1.0},"279":{"tf":1.0},"285":{"tf":2.449489742783178},"287":{"tf":2.0},"288":{"tf":1.0},"289":{"tf":1.0},"29":{"tf":3.0},"291":{"tf":1.0},"30":{"tf":1.7320508075688772},"33":{"tf":1.4142135623730951},"34":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.7320508075688772},"53":{"tf":1.0},"54":{"tf":1.7320508075688772},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"76":{"tf":1.4142135623730951},"81":{"tf":4.123105625617661},"83":{"tf":1.0},"87":{"tf":3.4641016151377544},"89":{"tf":1.0},"92":{"tf":2.0},"97":{"tf":3.3166247903554},"99":{"tf":1.7320508075688772}},"t":{"(":{"\\":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"2":{"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"x":{"^":{"2":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},")":{"df":0,"docs":{},",":{"df":0,"docs":{},"加":{"df":0,"docs":{},"上":{"df":0,"docs":{},"刪":{"df":0,"docs":{},"除":{"df":0,"docs":{},"操":{"df":0,"docs":{},"作":{"df":0,"docs":{},"的":{"df":0,"docs":{},"成":{"df":0,"docs":{},"本":{"df":0,"docs":{},"(":{"1":{"df":1,"docs":{"285":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}}}}}}},"3":{",":{"4":{"df":1,"docs":{"256":{"tf":1.0}}},"df":0,"docs":{}},".":{"0":{"df":12,"docs":{"190":{"tf":1.0},"225":{"tf":1.0},"244":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.4142135623730951},"62":{"tf":1.0},"64":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"77":{"tf":1.0},"93":{"tf":1.0}}},"1":{"df":3,"docs":{"143":{"tf":1.0},"238":{"tf":1.0},"44":{"tf":1.0}}},"2":{"df":3,"docs":{"143":{"tf":1.0},"238":{"tf":1.0},"44":{"tf":1.0}}},"3":{"df":1,"docs":{"44":{"tf":1.0}}},"4":{"df":1,"docs":{"244":{"tf":1.0}}},"df":0,"docs":{}},"/":{"4":{"df":1,"docs":{"231":{"tf":1.0}}},"df":0,"docs":{}},"0":{"1":{"df":2,"docs":{"80":{"tf":1.0},"83":{"tf":1.0}}},"df":2,"docs":{"15":{"tf":1.0},"42":{"tf":1.0}}},"1":{"df":2,"docs":{"42":{"tf":1.0},"80":{"tf":1.0}}},"2":{"df":2,"docs":{"14":{"tf":1.0},"236":{"tf":1.0}}},"3":{"3":{"df":2,"docs":{"227":{"tf":2.23606797749979},"230":{"tf":1.0}}},"df":0,"docs":{}},"4":{"4":{":":{"6":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"185":{"tf":1.0}}},"7":{":":{"5":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"185":{"tf":1.4142135623730951}}},"df":1,"docs":{"42":{"tf":1.7320508075688772}}},"5":{"1":{"df":2,"docs":{"122":{"tf":1.0},"93":{"tf":1.0}}},"3":{"df":1,"docs":{"185":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"6":{",":{"3":{"7":{"df":1,"docs":{"136":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"136":{"tf":1.4142135623730951}}},"7":{",":{"3":{"6":{"df":1,"docs":{"136":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"136":{"tf":1.4142135623730951}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"47":{"tf":1.0}}}}},"^":{"2":{"df":1,"docs":{"230":{"tf":1.0}}},"df":0,"docs":{}},"df":70,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"105":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.4142135623730951},"112":{"tf":2.8284271247461903},"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"125":{"tf":2.8284271247461903},"131":{"tf":1.4142135623730951},"132":{"tf":1.4142135623730951},"136":{"tf":1.0},"143":{"tf":1.0},"151":{"tf":1.0},"17":{"tf":1.0},"175":{"tf":2.23606797749979},"176":{"tf":1.4142135623730951},"179":{"tf":3.0},"180":{"tf":1.0},"182":{"tf":2.0},"185":{"tf":1.4142135623730951},"197":{"tf":1.0},"198":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.4142135623730951},"208":{"tf":2.449489742783178},"210":{"tf":1.0},"211":{"tf":1.4142135623730951},"227":{"tf":2.23606797749979},"230":{"tf":1.0},"233":{"tf":1.0},"234":{"tf":1.0},"236":{"tf":1.0},"238":{"tf":1.4142135623730951},"239":{"tf":1.0},"244":{"tf":1.0},"249":{"tf":1.0},"256":{"tf":1.0},"258":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.4142135623730951},"278":{"tf":1.0},"279":{"tf":1.0},"284":{"tf":1.7320508075688772},"285":{"tf":1.0},"287":{"tf":2.0},"288":{"tf":1.0},"289":{"tf":1.0},"29":{"tf":2.0},"30":{"tf":1.7320508075688772},"33":{"tf":1.0},"44":{"tf":1.4142135623730951},"50":{"tf":2.449489742783178},"54":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"61":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":2.449489742783178},"67":{"tf":1.0},"73":{"tf":5.830951894845301},"76":{"tf":1.4142135623730951},"80":{"tf":1.0},"81":{"tf":3.872983346207417},"83":{"tf":1.0},"87":{"tf":3.4641016151377544},"92":{"tf":1.7320508075688772},"97":{"tf":3.3166247903554}},"n":{"df":3,"docs":{"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"19":{"tf":1.7320508075688772}}},"、":{"4":{"df":0,"docs":{},"、":{"5":{"df":1,"docs":{"153":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"4":{".":{"0":{"df":1,"docs":{"13":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"0":{"4":{"df":1,"docs":{"296":{"tf":1.0}}},"df":0,"docs":{}},"5":{"df":1,"docs":{"147":{"tf":2.6457513110645907}}},"df":48,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"112":{"tf":2.8284271247461903},"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"125":{"tf":2.449489742783178},"132":{"tf":1.0},"136":{"tf":1.0},"143":{"tf":1.0},"147":{"tf":2.0},"151":{"tf":1.0},"17":{"tf":2.23606797749979},"175":{"tf":2.0},"176":{"tf":1.7320508075688772},"179":{"tf":2.449489742783178},"18":{"tf":1.0},"180":{"tf":1.7320508075688772},"185":{"tf":1.0},"19":{"tf":2.0},"207":{"tf":1.4142135623730951},"208":{"tf":1.4142135623730951},"210":{"tf":1.0},"211":{"tf":1.0},"236":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.0},"249":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"278":{"tf":1.0},"279":{"tf":1.0},"287":{"tf":1.4142135623730951},"289":{"tf":1.0},"29":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"44":{"tf":1.0},"52":{"tf":1.0},"57":{"tf":1.0},"65":{"tf":2.23606797749979},"73":{"tf":5.916079783099616},"76":{"tf":1.0},"80":{"tf":1.4142135623730951},"81":{"tf":4.123105625617661},"83":{"tf":1.4142135623730951},"92":{"tf":1.4142135623730951}},"n":{"^":{"2":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"109":{"tf":1.0},"244":{"tf":1.0}}}},",":{"df":0,"docs":{},"找":{"df":0,"docs":{},"尋":{"df":0,"docs":{},"第":{"df":0,"docs":{},"四":{"df":0,"docs":{},"個":{"df":0,"docs":{},"元":{"df":0,"docs":{},"素":{"df":0,"docs":{},"來":{"df":0,"docs":{},"比":{"df":0,"docs":{},"對":{"df":0,"docs":{},",":{"6":{"df":1,"docs":{"29":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}}}}},"看":{"df":0,"docs":{},"看":{"$":{"2":{"^":{"4":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"5":{".":{"4":{"7":{"7":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"0":{"df":1,"docs":{"47":{"tf":1.0}}},"3":{"df":1,"docs":{"47":{"tf":1.0}}},"df":0,"docs":{}},"7":{"df":2,"docs":{"80":{"tf":1.0},"83":{"tf":1.0}}},"df":22,"docs":{"112":{"tf":2.8284271247461903},"117":{"tf":1.0},"118":{"tf":1.0},"125":{"tf":3.4641016151377544},"147":{"tf":2.0},"15":{"tf":1.0},"151":{"tf":1.0},"17":{"tf":1.7320508075688772},"175":{"tf":1.7320508075688772},"179":{"tf":2.0},"180":{"tf":1.0},"19":{"tf":1.0},"207":{"tf":1.0},"211":{"tf":1.0},"239":{"tf":1.0},"262":{"tf":1.0},"279":{"tf":1.0},"287":{"tf":1.4142135623730951},"289":{"tf":1.0},"30":{"tf":1.4142135623730951},"73":{"tf":5.916079783099616},"81":{"tf":4.0}},"n":{"^":{"2":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"19":{"tf":1.0}}}},"6":{",":{"9":{"df":1,"docs":{"136":{"tf":1.4142135623730951}}},"df":0,"docs":{}},".":{"0":{"0":{"6":{"df":1,"docs":{"244":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"df":1,"docs":{"80":{"tf":1.0}}},"4":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"236":{"tf":1.0}}}}},"df":2,"docs":{"262":{"tf":1.0},"288":{"tf":1.0}}},"6":{"6":{"df":2,"docs":{"227":{"tf":2.449489742783178},"230":{"tf":1.0}}},"df":1,"docs":{"147":{"tf":2.6457513110645907}}},"df":15,"docs":{"112":{"tf":2.8284271247461903},"118":{"tf":1.0},"125":{"tf":1.4142135623730951},"136":{"tf":1.4142135623730951},"147":{"tf":2.0},"151":{"tf":1.0},"175":{"tf":1.4142135623730951},"179":{"tf":2.0},"239":{"tf":1.0},"279":{"tf":1.0},"289":{"tf":1.0},"29":{"tf":2.8284271247461903},"30":{"tf":1.4142135623730951},"50":{"tf":2.449489742783178},"81":{"tf":3.872983346207417}}},"7":{"0":{"1":{"df":2,"docs":{"80":{"tf":1.0},"83":{"tf":1.0}}},"df":0,"docs":{}},"1":{",":{"7":{"4":{"df":1,"docs":{"136":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"136":{"tf":1.4142135623730951}}},"4":{",":{"7":{"1":{"df":1,"docs":{"136":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"136":{"tf":1.4142135623730951}}},"5":{"%":{"$":{"df":0,"docs":{},"。":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":1,"docs":{"231":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":2,"docs":{"147":{"tf":2.6457513110645907},"231":{"tf":1.0}}},"df":16,"docs":{"112":{"tf":2.8284271247461903},"125":{"tf":1.4142135623730951},"147":{"tf":2.0},"175":{"tf":1.4142135623730951},"179":{"tf":1.7320508075688772},"227":{"tf":2.449489742783178},"230":{"tf":1.0},"262":{"tf":1.0},"270":{"tf":1.0},"289":{"tf":1.0},"29":{"tf":2.6457513110645907},"30":{"tf":1.7320508075688772},"50":{"tf":1.7320508075688772},"73":{"tf":5.916079783099616},"80":{"tf":1.0},"81":{"tf":3.872983346207417}}},"8":{".":{"0":{"4":{"6":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"2":{"df":1,"docs":{"147":{"tf":2.6457513110645907}}},"df":0,"docs":{}},"8":{"df":2,"docs":{"227":{"tf":2.449489742783178},"230":{"tf":1.0}}},"df":17,"docs":{"112":{"tf":2.8284271247461903},"125":{"tf":3.0},"146":{"tf":1.0},"147":{"tf":1.4142135623730951},"149":{"tf":1.0},"175":{"tf":1.4142135623730951},"179":{"tf":3.1622776601683795},"180":{"tf":1.0},"262":{"tf":1.4142135623730951},"287":{"tf":1.4142135623730951},"289":{"tf":1.0},"29":{"tf":1.4142135623730951},"42":{"tf":1.7320508075688772},"73":{"tf":5.830951894845301},"81":{"tf":4.358898943540674},"83":{"tf":1.0},"97":{"tf":4.795831523312719}},"、":{"9":{"df":0,"docs":{},"、":{"1":{"0":{"df":0,"docs":{},"、":{"1":{"1":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},",":{"8":{"df":1,"docs":{"73":{"tf":1.0}}},"df":0,"docs":{}}},"9":{"0":{"df":2,"docs":{"147":{"tf":2.6457513110645907},"231":{"tf":1.0}}},"1":{",":{"9":{"6":{"df":1,"docs":{"136":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"136":{"tf":1.4142135623730951}}},"5":{".":{"5":{"df":1,"docs":{"275":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"275":{"tf":1.0}}},"6":{",":{"9":{"1":{"df":1,"docs":{"136":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"136":{"tf":1.4142135623730951}}},"9":{"9":{"9":{"df":1,"docs":{"175":{"tf":1.0}}},"df":2,"docs":{"145":{"tf":1.0},"230":{"tf":1.0}}},"df":1,"docs":{"230":{"tf":1.0}}},"df":13,"docs":{"125":{"tf":2.449489742783178},"136":{"tf":1.4142135623730951},"145":{"tf":1.0},"147":{"tf":1.4142135623730951},"149":{"tf":1.0},"151":{"tf":1.4142135623730951},"179":{"tf":1.4142135623730951},"230":{"tf":1.0},"29":{"tf":3.0},"42":{"tf":2.0},"50":{"tf":1.7320508075688772},"52":{"tf":1.0},"81":{"tf":3.7416573867739413}}},"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"_":{"_":{"df":1,"docs":{"61":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"t":{"_":{"_":{"df":1,"docs":{"61":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":11,"docs":{"147":{"tf":5.830951894845301},"180":{"tf":3.605551275463989},"236":{"tf":1.0},"237":{"tf":1.4142135623730951},"238":{"tf":1.4142135623730951},"249":{"tf":1.0},"251":{"tf":1.0},"256":{"tf":1.0},"279":{"tf":1.0},"29":{"tf":5.656854249492381},"50":{"tf":1.4142135623730951}},"k":{"_":{"df":2,"docs":{"263":{"tf":1.0},"264":{"tf":1.0}}},"df":0,"docs":{}},"m":{"_":{"df":2,"docs":{"263":{"tf":1.0},"264":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":3,"docs":{"264":{"tf":1.0},"267":{"tf":1.0},"269":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"{":{"(":{"a":{"df":2,"docs":{"284":{"tf":1.4142135623730951},"287":{"tf":1.0}}},"df":0,"docs":{}},"a":{",":{"b":{"df":0,"docs":{},"}":{"(":{"df":0,"docs":{},"i":{",":{"df":0,"docs":{},"j":{"df":2,"docs":{"284":{"tf":1.7320508075688772},"287":{"tf":1.0}}}},"df":2,"docs":{"284":{"tf":2.0},"287":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":2,"docs":{"284":{"tf":1.4142135623730951},"287":{"tf":1.0}}},"j":{"df":2,"docs":{"284":{"tf":1.4142135623730951},"287":{"tf":1.0}}}}},"a":{"'":{"df":0,"docs":{},"、":{"b":{"df":1,"docs":{"41":{"tf":1.0}}},"df":0,"docs":{}}},"+":{"1":{"df":1,"docs":{"287":{"tf":1.0}}},"df":0,"docs":{}},".":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"210":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"k":{".":{"a":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},">":{"(":{"&":{"'":{"b":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"b":{"c":{"df":1,"docs":{"284":{"tf":1.0}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"288":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"162":{"tf":1.0},"172":{"tf":1.0},"245":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":4,"docs":{"173":{"tf":1.0},"187":{"tf":1.0},"192":{"tf":1.0},"207":{"tf":1.0}},")":{"df":0,"docs":{},"的":{"df":0,"docs":{},"執":{"df":0,"docs":{},"行":{"df":0,"docs":{},"時":{"df":0,"docs":{},"間":{"df":0,"docs":{},",":{"$":{"\\":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"df":0,"docs":{},"k":{"df":1,"docs":{"242":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{},"m":{"df":1,"docs":{"47":{"tf":1.0}}},"t":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"176":{"tf":1.0},"179":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"d":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"266":{"tf":1.0}}}},"k":{"df":1,"docs":{"241":{"tf":1.0}}}},"df":2,"docs":{"175":{"tf":2.0},"188":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":4,"docs":{"230":{"tf":1.7320508075688772},"242":{"tf":1.0},"244":{"tf":1.0},"274":{"tf":1.4142135623730951}},"p":{"df":1,"docs":{"274":{"tf":1.0}}}}}}}},"df":1,"docs":{"180":{"tf":1.0}},"v":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"180":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":2,"docs":{"274":{"tf":1.0},"275":{"tf":1.0}},"g":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"250":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"df":21,"docs":{"0":{"tf":2.23606797749979},"1":{"tf":1.0},"10":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.4142135623730951},"11":{"tf":1.0},"12":{"tf":1.0},"122":{"tf":1.0},"13":{"tf":1.0},"162":{"tf":1.0},"2":{"tf":1.0},"244":{"tf":1.4142135623730951},"3":{"tf":1.0},"39":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0},"93":{"tf":1.0}}}}}}}}},"i":{"a":{"df":1,"docs":{"234":{"tf":1.0}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"o":{"c":{"(":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"176":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":1,"docs":{"176":{"tf":2.449489742783178}},"、":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"、":{"d":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"176":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"w":{"df":1,"docs":{"276":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"h":{"a":{"$":{"df":0,"docs":{},",":{"$":{"\\":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"a":{"df":1,"docs":{"275":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"103":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":4,"docs":{"144":{"tf":1.0},"189":{"tf":1.0},"241":{"tf":1.0},"257":{"tf":1.0}}}}},"q":{"df":1,"docs":{"275":{"tf":1.0}},",":{"df":0,"docs":{},"為":{"df":0,"docs":{},"了":{"df":0,"docs":{},"節":{"df":0,"docs":{},"省":{"df":0,"docs":{},"空":{"df":0,"docs":{},"間":{"df":0,"docs":{},"使":{"df":0,"docs":{},"用":{"df":0,"docs":{},"量":{"df":0,"docs":{},",":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"274":{"tf":1.0}}}}}}}}}}}}}}}}}}}},"n":{"^":{"2":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":3,"docs":{"140":{"tf":1.0},"144":{"tf":1.0},"22":{"tf":1.0}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"46":{"tf":1.0},"47":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"47":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":1,"docs":{"185":{"tf":1.7320508075688772}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"256":{"tf":1.0}}}}}}}}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"176":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"i":{"df":11,"docs":{"0":{"tf":1.0},"153":{"tf":1.0},"163":{"tf":1.0},"173":{"tf":1.0},"200":{"tf":1.0},"226":{"tf":1.0},"245":{"tf":1.0},"259":{"tf":1.0},"269":{"tf":1.0},"277":{"tf":1.0},"282":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"139":{"tf":1.0},"214":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"185":{"tf":1.0}}}}},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"266":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"175":{"tf":1.0},"179":{"tf":1.4142135623730951},"268":{"tf":1.0}}}}}}}},"r":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"117":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"t":{"df":3,"docs":{"131":{"tf":1.0},"132":{"tf":1.0},"143":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"x":{"df":1,"docs":{"25":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":10,"docs":{"102":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"33":{"tf":1.0},"44":{"tf":1.4142135623730951},"54":{"tf":1.0},"67":{"tf":1.0},"76":{"tf":1.0},"83":{"tf":1.0},"92":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"92":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"df":5,"docs":{"103":{"tf":1.4142135623730951},"107":{"tf":1.0},"108":{"tf":1.0},"67":{"tf":1.0},"76":{"tf":1.4142135623730951}}},"j":{"df":3,"docs":{"59":{"tf":1.0},"61":{"tf":1.0},"83":{"tf":1.0}}},"k":{"df":1,"docs":{"107":{"tf":1.0}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"92":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"(":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"132":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"117":{"tf":1.0},"118":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"1":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"119":{"tf":1.4142135623730951}}}}}},"[":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"119":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"、":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"2":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"2":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"119":{"tf":1.4142135623730951}}}}}},"[":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"119":{"tf":1.4142135623730951}}}}}}}},"df":1,"docs":{"119":{"tf":1.0}}},"[":{".":{".":{"df":0,"docs":{},"i":{"]":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"(":{"&":{"df":0,"docs":{},"v":{"df":1,"docs":{"61":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"61":{"tf":1.0}}},"m":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"117":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"1":{"0":{"0":{"0":{"df":1,"docs":{"145":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"8":{"df":1,"docs":{"42":{"tf":1.0}}},"9":{"df":1,"docs":{"42":{"tf":1.0}}},"b":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"33":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"92":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":4,"docs":{"103":{"tf":1.0},"107":{"tf":1.0},"44":{"tf":2.0},"54":{"tf":1.4142135623730951}},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"96":{"tf":1.0}}}}}},"i":{"+":{"1":{".":{".":{".":{"df":0,"docs":{},"j":{"df":1,"docs":{"96":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},".":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"]":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"[":{"df":0,"docs":{},"i":{".":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":1,"docs":{"118":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":3,"docs":{"108":{"tf":1.0},"61":{"tf":1.0},"76":{"tf":2.0}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}}}}}}}},"j":{".":{".":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"96":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":6,"docs":{"103":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"59":{"tf":1.4142135623730951},"67":{"tf":1.0},"83":{"tf":1.4142135623730951}}},"l":{"df":0,"docs":{},"o":{"df":2,"docs":{"108":{"tf":1.0},"44":{"tf":2.0}},"w":{".":{".":{".":{"df":0,"docs":{},"i":{"df":1,"docs":{"96":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"m":{"df":0,"docs":{},"i":{"d":{".":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":1,"docs":{"118":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":2,"docs":{"117":{"tf":1.4142135623730951},"33":{"tf":1.0}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"132":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"92":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"67":{"tf":1.0}}}}}}},"a":{"df":1,"docs":{"132":{"tf":1.0}},"y":{"[":{"0":{"df":1,"docs":{"125":{"tf":1.0}}},"1":{"df":1,"docs":{"125":{"tf":1.0}}},"2":{"df":1,"docs":{"125":{"tf":1.0}}},"3":{"df":1,"docs":{"125":{"tf":1.0}}},"4":{"df":1,"docs":{"125":{"tf":1.0}}},"5":{"df":1,"docs":{"125":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"187":{"tf":1.0}}}}},"df":0,"docs":{}}}},"_":{"df":0,"docs":{},"s":{"df":1,"docs":{"228":{"tf":1.4142135623730951}}}},"df":32,"docs":{"112":{"tf":1.0},"117":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"119":{"tf":1.4142135623730951},"123":{"tf":1.4142135623730951},"125":{"tf":1.0},"127":{"tf":1.4142135623730951},"128":{"tf":1.4142135623730951},"131":{"tf":2.0},"132":{"tf":1.0},"136":{"tf":2.23606797749979},"139":{"tf":1.0},"140":{"tf":1.4142135623730951},"143":{"tf":1.0},"145":{"tf":1.0},"147":{"tf":1.0},"153":{"tf":1.0},"163":{"tf":1.0},"20":{"tf":1.4142135623730951},"225":{"tf":1.0},"227":{"tf":1.4142135623730951},"230":{"tf":1.7320508075688772},"231":{"tf":1.0},"234":{"tf":1.4142135623730951},"236":{"tf":1.0},"238":{"tf":1.0},"242":{"tf":1.0},"260":{"tf":1.0},"262":{"tf":2.449489742783178},"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0}},")":{"df":0,"docs":{},"、":{"df":0,"docs":{},"映":{"df":0,"docs":{},"射":{"df":0,"docs":{},"(":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},")":{"df":0,"docs":{},"、":{"df":0,"docs":{},"表":{"df":0,"docs":{},"(":{"df":0,"docs":{},"t":{"df":1,"docs":{"216":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}}}}},",":{"df":0,"docs":{},"而":{"df":0,"docs":{},"是":{"df":0,"docs":{},"在":{"df":0,"docs":{},"堆":{"df":0,"docs":{},"積":{"df":0,"docs":{},"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}}}},"df":8,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"130":{"tf":1.4142135623730951},"132":{"tf":1.4142135623730951},"143":{"tf":1.4142135623730951},"151":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"92":{"tf":1.0}}}},"s":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"i":{"df":10,"docs":{"112":{"tf":1.0},"136":{"tf":1.0},"175":{"tf":1.0},"196":{"tf":1.0},"230":{"tf":1.0},"279":{"tf":1.0},"73":{"tf":1.0},"81":{"tf":1.4142135623730951},"96":{"tf":1.0},"97":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"!":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"187":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"187":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":3,"docs":{"119":{"tf":1.0},"185":{"tf":1.0},"207":{"tf":1.4142135623730951}}}}},"o":{"c":{"df":0,"docs":{},"i":{"df":4,"docs":{"185":{"tf":1.0},"211":{"tf":1.0},"216":{"tf":1.4142135623730951},"225":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"228":{"tf":1.0},"230":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":11,"docs":{"1":{"tf":1.0},"14":{"tf":1.7320508075688772},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"260":{"tf":1.0}}}}}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"262":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"210":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"188":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"185":{"tf":1.0}}}}}}},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":11,"docs":{"113":{"tf":1.0},"126":{"tf":1.0},"128":{"tf":1.0},"137":{"tf":1.0},"148":{"tf":1.0},"58":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":1.0},"88":{"tf":1.0},"98":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"g":{"df":15,"docs":{"113":{"tf":1.0},"126":{"tf":1.0},"137":{"tf":1.0},"148":{"tf":1.0},"24":{"tf":1.0},"30":{"tf":1.0},"43":{"tf":1.4142135623730951},"51":{"tf":1.0},"58":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":1.0},"84":{"tf":1.0},"88":{"tf":1.0},"98":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"i":{"df":2,"docs":{"43":{"tf":1.0},"47":{"tf":1.0}}}},"o":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"107":{"tf":1.0},"118":{"tf":1.0}}},"df":0,"docs":{}}}},"、":{"b":{"df":1,"docs":{"285":{"tf":1.0}}},"df":0,"docs":{}},",":{"a":{"df":1,"docs":{"208":{"tf":1.0}}},"df":0,"docs":{}}},"b":{"+":{"1":{"df":1,"docs":{"287":{"tf":1.0}}},"df":0,"docs":{}},".":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"210":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},">":{"(":{"&":{"'":{"a":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"k":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"181":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":7,"docs":{"117":{"tf":1.4142135623730951},"118":{"tf":1.0},"119":{"tf":1.0},"178":{"tf":1.0},"181":{"tf":1.0},"189":{"tf":1.0},"207":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{".":{".":{"df":0,"docs":{},"s":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}},"df":5,"docs":{"111":{"tf":1.0},"117":{"tf":1.0},"184":{"tf":1.0},"234":{"tf":1.0},"33":{"tf":2.449489742783178}}}}},"df":18,"docs":{"125":{"tf":2.6457513110645907},"139":{"tf":1.4142135623730951},"185":{"tf":1.7320508075688772},"207":{"tf":2.449489742783178},"208":{"tf":1.7320508075688772},"210":{"tf":1.0},"240":{"tf":1.7320508075688772},"250":{"tf":3.1622776601683795},"251":{"tf":2.0},"253":{"tf":1.7320508075688772},"255":{"tf":1.4142135623730951},"256":{"tf":3.4641016151377544},"284":{"tf":2.6457513110645907},"285":{"tf":1.4142135623730951},"287":{"tf":2.0},"289":{"tf":1.7320508075688772},"290":{"tf":1.0},"41":{"tf":2.0}},"e":{"df":1,"docs":{"210":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"176":{"tf":1.0},"180":{"tf":1.4142135623730951}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"{":{"c":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"114":{"tf":1.0},"284":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"274":{"tf":1.0}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"df":21,"docs":{"113":{"tf":1.0},"126":{"tf":1.0},"137":{"tf":1.0},"139":{"tf":1.4142135623730951},"148":{"tf":1.0},"161":{"tf":1.0},"171":{"tf":1.0},"189":{"tf":1.0},"24":{"tf":1.0},"241":{"tf":1.0},"257":{"tf":1.0},"30":{"tf":1.0},"43":{"tf":1.0},"51":{"tf":1.0},"58":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":1.0},"84":{"tf":1.0},"88":{"tf":1.0},"98":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"260":{"tf":1.0},"275":{"tf":1.0},"276":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"44":{"tf":1.0}}}}}}}},"f":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"\"":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"264":{"tf":1.0}}}}}}},"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"264":{"tf":1.0}}}}}}}},"&":{"1":{"df":1,"docs":{"264":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"!":{"[":{"3":{".":{"1":{"4":{"1":{"5":{"9":{"df":1,"docs":{"264":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":1,"docs":{"264":{"tf":1.4142135623730951}}},"i":{"df":0,"docs":{},"g":{"df":7,"docs":{"10":{"tf":1.4142135623730951},"162":{"tf":1.0},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"19":{"tf":1.7320508075688772},"20":{"tf":1.0},"22":{"tf":1.4142135623730951}}},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":22,"docs":{"117":{"tf":1.0},"20":{"tf":1.0},"27":{"tf":2.0},"28":{"tf":1.0},"29":{"tf":1.0},"3":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":2.0},"39":{"tf":1.4142135623730951},"54":{"tf":1.0},"61":{"tf":2.449489742783178},"85":{"tf":1.0},"87":{"tf":1.0},"89":{"tf":1.0},"92":{"tf":1.0}}},"y":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}}},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"(":{"&":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"[":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{".":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"54":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{">":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":2,"docs":{"32":{"tf":1.0},"33":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"_":{"b":{"df":0,"docs":{},"i":{"df":1,"docs":{"143":{"tf":1.0}}}},"df":0,"docs":{}},"df":2,"docs":{"32":{"tf":1.0},"61":{"tf":2.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"d":{"df":1,"docs":{"217":{"tf":1.0}}},"df":1,"docs":{"134":{"tf":1.0}}},"t":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"/":{"c":{"a":{"a":{"b":{"7":{"df":0,"docs":{},"f":{"b":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":9,"docs":{"255":{"tf":1.0},"260":{"tf":1.0},"262":{"tf":3.3166247903554},"263":{"tf":1.7320508075688772},"264":{"tf":1.7320508075688772},"267":{"tf":1.7320508075688772},"269":{"tf":1.4142135623730951},"271":{"tf":1.0},"275":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"255":{"tf":1.0}}}}}}},"<":{"&":{"'":{"b":{"df":1,"docs":{"255":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"255":{"tf":1.7320508075688772}}}},"s":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"267":{"tf":1.7320508075688772},"269":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":3,"docs":{"179":{"tf":1.0},"255":{"tf":1.0},"54":{"tf":1.0}}}}}}},"l":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"227":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"176":{"tf":1.0},"185":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"\"":{"1":{"2":{"3":{"4":{"df":1,"docs":{"265":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}}}},"df":20,"docs":{"224":{"tf":1.4142135623730951},"259":{"tf":3.4641016151377544},"260":{"tf":2.23606797749979},"261":{"tf":1.0},"262":{"tf":1.4142135623730951},"263":{"tf":1.0},"264":{"tf":1.7320508075688772},"265":{"tf":1.4142135623730951},"266":{"tf":1.4142135623730951},"267":{"tf":1.4142135623730951},"268":{"tf":1.4142135623730951},"269":{"tf":1.4142135623730951},"270":{"tf":1.4142135623730951},"271":{"tf":2.8284271247461903},"272":{"tf":3.3166247903554},"273":{"tf":2.8284271247461903},"274":{"tf":1.4142135623730951},"275":{"tf":1.7320508075688772},"276":{"tf":2.449489742783178},"8":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":6,"docs":{"262":{"tf":2.6457513110645907},"263":{"tf":2.0},"264":{"tf":1.7320508075688772},"265":{"tf":1.0},"266":{"tf":1.0},"276":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"263":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"263":{"tf":1.0}}}}},"df":0,"docs":{}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":2,"docs":{"264":{"tf":1.4142135623730951},"267":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{"df":3,"docs":{"264":{"tf":2.0},"265":{"tf":1.4142135623730951},"269":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}}}}}},"n":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"o":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"185":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"227":{"tf":1.0}}},"l":{"df":10,"docs":{"157":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.0},"212":{"tf":1.0},"249":{"tf":2.0},"253":{"tf":1.7320508075688772},"256":{"tf":1.7320508075688772},"262":{"tf":1.7320508075688772},"269":{"tf":1.7320508075688772},"33":{"tf":1.0}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"<":{"df":0,"docs":{},"q":{"df":3,"docs":{"237":{"tf":1.0},"238":{"tf":1.0},"249":{"tf":1.4142135623730951}}}},"df":5,"docs":{"185":{"tf":1.4142135623730951},"211":{"tf":1.4142135623730951},"237":{"tf":2.0},"251":{"tf":2.6457513110645907},"252":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"285":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"54":{"tf":1.0}}}}},"df":6,"docs":{"118":{"tf":1.4142135623730951},"185":{"tf":1.4142135623730951},"187":{"tf":1.7320508075688772},"265":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"67":{"tf":1.0}},"?":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"67":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"x":{":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"211":{"tf":1.0}}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"207":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"202":{"tf":1.0},"211":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"202":{"tf":1.0}}}},"df":3,"docs":{"195":{"tf":1.0},"202":{"tf":1.0},"210":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"233":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":4,"docs":{"279":{"tf":1.0},"44":{"tf":2.0},"76":{"tf":1.0},"92":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"u":{"b":{"b":{"df":0,"docs":{},"l":{"df":10,"docs":{"20":{"tf":1.0},"4":{"tf":1.0},"71":{"tf":2.23606797749979},"72":{"tf":1.0},"73":{"tf":1.7320508075688772},"74":{"tf":1.0},"75":{"tf":1.7320508075688772},"76":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951},"94":{"tf":1.0}},"e":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"76":{"tf":1.0}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"d":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"76":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{".":{"c":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"(":{"&":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"143":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"237":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"(":{"df":0,"docs":{},"|":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"238":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"238":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"(":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"238":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{")":{".":{"1":{"df":1,"docs":{"238":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"143":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"143":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"h":{"df":1,"docs":{"142":{"tf":1.7320508075688772}}},"k":{"df":1,"docs":{"234":{"tf":1.0}}}},"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"239":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"235":{"tf":1.0}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"h":{"df":1,"docs":{"143":{"tf":1.0}}}},"df":2,"docs":{"142":{"tf":1.0},"143":{"tf":1.4142135623730951}}}}}}},"df":29,"docs":{"123":{"tf":1.0},"134":{"tf":2.449489742783178},"135":{"tf":1.7320508075688772},"136":{"tf":2.23606797749979},"137":{"tf":1.4142135623730951},"138":{"tf":2.23606797749979},"139":{"tf":1.7320508075688772},"140":{"tf":1.7320508075688772},"141":{"tf":1.0},"142":{"tf":3.0},"143":{"tf":3.1622776601683795},"144":{"tf":2.23606797749979},"145":{"tf":1.4142135623730951},"147":{"tf":1.7320508075688772},"149":{"tf":1.4142135623730951},"150":{"tf":1.0},"227":{"tf":1.7320508075688772},"230":{"tf":1.4142135623730951},"231":{"tf":1.4142135623730951},"234":{"tf":3.4641016151377544},"235":{"tf":2.0},"236":{"tf":2.6457513110645907},"237":{"tf":1.7320508075688772},"238":{"tf":2.23606797749979},"239":{"tf":1.7320508075688772},"240":{"tf":1.0},"242":{"tf":2.0},"274":{"tf":1.0},"4":{"tf":1.0}},"s":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"_":{"b":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"|":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"143":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"236":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"]":{".":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"143":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"、":{"df":0,"docs":{},"s":{"c":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"、":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":1,"docs":{"143":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},",":{"df":0,"docs":{},"並":{"df":0,"docs":{},"考":{"df":0,"docs":{},"慮":{"df":0,"docs":{},"平":{"df":0,"docs":{},"攤":{"df":0,"docs":{},"分":{"df":0,"docs":{},"析":{"df":0,"docs":{},"(":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"140":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"174":{"tf":1.0},"175":{"tf":1.4142135623730951},"180":{"tf":1.4142135623730951},"190":{"tf":1.4142135623730951}}}}}},"g":{"df":2,"docs":{"15":{"tf":1.7320508075688772},"16":{"tf":1.0}},",":{"df":0,"docs":{},"有":{"df":0,"docs":{},"的":{"df":0,"docs":{},"工":{"df":0,"docs":{},"程":{"df":0,"docs":{},"師":{"df":0,"docs":{},"連":{"df":0,"docs":{},"續":{"df":0,"docs":{},"工":{"df":0,"docs":{},"作":{"df":0,"docs":{},"後":{"df":0,"docs":{},"效":{"df":0,"docs":{},"率":{"df":0,"docs":{},"大":{"df":0,"docs":{},"幅":{"df":0,"docs":{},"滑":{"df":0,"docs":{},"落":{"df":0,"docs":{},"。":{"df":0,"docs":{},"每":{"df":0,"docs":{},"個":{"df":0,"docs":{},"工":{"df":0,"docs":{},"程":{"df":0,"docs":{},"師":{"df":0,"docs":{},"的":{"df":0,"docs":{},"除":{"df":0,"docs":{},"蟲":{"df":0,"docs":{},"效":{"df":0,"docs":{},"率":{"df":0,"docs":{},"可":{"df":0,"docs":{},"以":{"df":0,"docs":{},"畫":{"df":0,"docs":{},"成":{"df":0,"docs":{},"「":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"15":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"df":0,"docs":{},"l":{"d":{"df":4,"docs":{"0":{"tf":1.0},"267":{"tf":1.0},"89":{"tf":1.7320508075688772},"92":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"276":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":3,"docs":{"116":{"tf":1.0},"118":{"tf":1.4142135623730951},"119":{"tf":1.0}}}}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":4,"docs":{"147":{"tf":1.0},"149":{"tf":1.0},"236":{"tf":1.0},"287":{"tf":1.0}}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"152":{"tf":1.0}}},"df":0,"docs":{}}}}},",":{"b":{"df":1,"docs":{"208":{"tf":1.0}}},"df":0,"docs":{}},":":{"a":{"df":1,"docs":{"256":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"c":{".":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"210":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"1":{"df":1,"docs":{"279":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"279":{"tf":1.4142135623730951}}},"_":{"0":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"139":{"tf":1.0}}}},"df":1,"docs":{"139":{"tf":1.4142135623730951}},"n":{"df":1,"docs":{"139":{"tf":1.0}}}},"1":{"df":1,"docs":{"139":{"tf":1.7320508075688772}},"k":{"df":1,"docs":{"139":{"tf":1.0}}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"h":{"df":6,"docs":{"21":{"tf":1.0},"218":{"tf":1.0},"230":{"tf":1.7320508075688772},"259":{"tf":1.0},"271":{"tf":1.0},"274":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":5,"docs":{"131":{"tf":1.0},"132":{"tf":1.0},"176":{"tf":1.0},"276":{"tf":1.0},"44":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":7,"docs":{"100":{"tf":1.7320508075688772},"105":{"tf":2.23606797749979},"115":{"tf":1.0},"180":{"tf":1.0},"210":{"tf":2.23606797749979},"211":{"tf":1.0},"99":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"176":{"tf":1.0}}}}}},"p":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"179":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"a":{"c":{"df":5,"docs":{"176":{"tf":1.0},"239":{"tf":1.7320508075688772},"262":{"tf":1.0},"267":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"159":{"tf":1.0}}}}}},"df":3,"docs":{"176":{"tf":2.23606797749979},"180":{"tf":1.0},"188":{"tf":1.0}}},"r":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"256":{"tf":1.4142135623730951}}}}},"df":1,"docs":{"233":{"tf":1.4142135623730951}},"e":{"df":1,"docs":{"176":{"tf":1.0}}},"g":{"df":0,"docs":{},"o":{"df":2,"docs":{"291":{"tf":1.0},"294":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":7,"docs":{"111":{"tf":1.0},"138":{"tf":1.4142135623730951},"139":{"tf":1.4142135623730951},"189":{"tf":1.4142135623730951},"241":{"tf":1.4142135623730951},"257":{"tf":1.4142135623730951},"84":{"tf":1.0}},")":{"df":0,"docs":{},",":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"d":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"117":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":1,"docs":{"190":{"tf":1.0}}}}}}}}},"c":{"df":14,"docs":{"122":{"tf":1.0},"13":{"tf":1.0},"190":{"tf":1.0},"225":{"tf":1.0},"244":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.4142135623730951},"62":{"tf":1.0},"64":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"77":{"tf":1.0},"93":{"tf":1.0}}},"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":16,"docs":{"139":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"149":{"tf":1.0},"150":{"tf":1.4142135623730951},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.4142135623730951},"230":{"tf":1.0},"273":{"tf":1.0},"290":{"tf":1.0},"30":{"tf":1.0},"42":{"tf":1.7320508075688772},"58":{"tf":2.23606797749979},"66":{"tf":1.0},"89":{"tf":1.0},"99":{"tf":1.0}}}}},"df":8,"docs":{"119":{"tf":1.0},"125":{"tf":2.449489742783178},"16":{"tf":1.4142135623730951},"180":{"tf":1.0},"205":{"tf":1.0},"210":{"tf":1.0},"256":{"tf":1.0},"58":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"114":{"tf":1.0}}}}},"h":{"1":{"df":2,"docs":{"287":{"tf":2.0},"289":{"tf":1.4142135623730951}}},"2":{"df":2,"docs":{"287":{"tf":2.0},"289":{"tf":1.4142135623730951}}},"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"230":{"tf":2.0},"234":{"tf":1.4142135623730951},"242":{"tf":1.0},"243":{"tf":1.0},"251":{"tf":1.0},"274":{"tf":1.4142135623730951}}}},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"185":{"tf":1.0},"288":{"tf":1.0}}}},"r":{"df":2,"docs":{"287":{"tf":1.0},"289":{"tf":1.0}},"t":{"df":1,"docs":{"175":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"162":{"tf":1.0},"20":{"tf":1.0}},"s":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"118":{"tf":1.0},"96":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"251":{"tf":1.0},"252":{"tf":1.0}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"89":{"tf":1.7320508075688772},"92":{"tf":3.4641016151377544}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"89":{"tf":1.0}}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"103":{"tf":1.0}}}}},"z":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"12":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"259":{"tf":1.0}}}}}}}}},"i":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"190":{"tf":1.4142135623730951},"198":{"tf":1.0},"7":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"r":{"a":{"'":{"df":1,"docs":{"83":{"tf":1.0}}},"df":2,"docs":{"80":{"tf":1.0},"84":{"tf":1.0}}},"df":0,"docs":{}}}},"j":{"df":0,"docs":{},"k":{"df":1,"docs":{"287":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"204":{"tf":1.0},"235":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"294":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":7,"docs":{"130":{"tf":1.4142135623730951},"132":{"tf":1.0},"143":{"tf":1.4142135623730951},"151":{"tf":1.0},"251":{"tf":1.4142135623730951},"255":{"tf":1.7320508075688772},"268":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"240":{"tf":1.0},"251":{"tf":3.7416573867739413},"288":{"tf":1.0}},"e":{"@":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"/":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"2":{"5":{"4":{":":{"2":{"3":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{":":{"1":{"8":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"u":{"d":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"271":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"251":{"tf":1.0}}}}}}},"u":{"b":{"df":15,"docs":{"0":{"tf":2.23606797749979},"1":{"tf":1.0},"10":{"tf":1.0},"109":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"138":{"tf":1.0},"230":{"tf":1.0}}}}}}}},"m":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":2,"docs":{"42":{"tf":1.0},"47":{"tf":1.0}}}}}},"p":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"c":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"289":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"c":{"df":2,"docs":{"122":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"b":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"122":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"e":{"df":5,"docs":{"10":{"tf":1.0},"139":{"tf":1.0},"276":{"tf":1.0},"277":{"tf":1.0},"291":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{":":{":":{"<":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"131":{"tf":1.0},"132":{"tf":1.0},"143":{"tf":1.0},"255":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"d":{"df":1,"docs":{"230":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":2,"docs":{"229":{"tf":1.0},"274":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0}}}}},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"111":{"tf":1.0},"116":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":12,"docs":{"122":{"tf":1.0},"13":{"tf":1.0},"190":{"tf":1.0},"199":{"tf":1.0},"225":{"tf":1.0},"244":{"tf":1.0},"47":{"tf":1.4142135623730951},"62":{"tf":1.0},"70":{"tf":1.0},"77":{"tf":1.0},"9":{"tf":1.0},"93":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"47":{"tf":1.0}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"119":{"tf":1.0}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"256":{"tf":1.0},"44":{"tf":1.0}}}}}}},"t":{"df":1,"docs":{"264":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"l":{"df":5,"docs":{"100":{"tf":1.0},"202":{"tf":1.0},"251":{"tf":1.4142135623730951},"262":{"tf":1.4142135623730951},"264":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":32,"docs":{"100":{"tf":1.4142135623730951},"113":{"tf":1.0},"114":{"tf":1.4142135623730951},"115":{"tf":1.4142135623730951},"126":{"tf":1.0},"127":{"tf":1.4142135623730951},"128":{"tf":1.4142135623730951},"137":{"tf":1.0},"140":{"tf":1.4142135623730951},"144":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.4142135623730951},"150":{"tf":1.4142135623730951},"161":{"tf":1.4142135623730951},"162":{"tf":1.0},"171":{"tf":1.4142135623730951},"214":{"tf":1.0},"22":{"tf":1.4142135623730951},"24":{"tf":1.0},"270":{"tf":1.0},"290":{"tf":1.0},"30":{"tf":1.0},"43":{"tf":1.0},"51":{"tf":1.0},"58":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.4142135623730951},"82":{"tf":1.0},"88":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.4142135623730951}}}}},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"47":{"tf":1.0},"84":{"tf":1.0}}}}}},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"256":{"tf":1.7320508075688772}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"111":{"tf":1.4142135623730951},"116":{"tf":1.4142135623730951},"30":{"tf":1.0},"95":{"tf":1.0}},"」":{"df":0,"docs":{},"手":{"df":0,"docs":{},"法":{"df":0,"docs":{},"的":{"df":0,"docs":{},"經":{"df":0,"docs":{},"典":{"df":0,"docs":{},"案":{"df":0,"docs":{},"例":{"df":0,"docs":{},",":{"df":0,"docs":{},"先":{"df":0,"docs":{},"將":{"df":0,"docs":{},"序":{"df":0,"docs":{},"列":{"df":0,"docs":{},"分":{"df":0,"docs":{},"成":{"df":0,"docs":{},"更":{"df":0,"docs":{},"小":{"df":0,"docs":{},"的":{"df":0,"docs":{},"子":{"df":0,"docs":{},"序":{"df":0,"docs":{},"列":{"df":0,"docs":{},"(":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},")":{"df":0,"docs":{},",":{"df":0,"docs":{},"一":{"df":0,"docs":{},"個":{"df":0,"docs":{},"個":{"df":0,"docs":{},"排":{"df":0,"docs":{},"序":{"df":0,"docs":{},"後":{"df":0,"docs":{},"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},")":{"df":0,"docs":{},",":{"df":0,"docs":{},"再":{"df":0,"docs":{},"合":{"df":0,"docs":{},"併":{"df":0,"docs":{},"已":{"df":0,"docs":{},"排":{"df":0,"docs":{},"序":{"df":0,"docs":{},"的":{"df":0,"docs":{},"子":{"df":0,"docs":{},"序":{"df":0,"docs":{},"列":{"df":0,"docs":{},"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"110":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"264":{"tf":1.0}}},"df":0,"docs":{}},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"262":{"tf":1.7320508075688772}}}}},"df":2,"docs":{"239":{"tf":1.0},"83":{"tf":1.0}}},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"211":{"tf":1.0},"255":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"216":{"tf":1.4142135623730951},"225":{"tf":1.0},"249":{"tf":1.4142135623730951},"266":{"tf":1.0}},"s":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"269":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"v":{"df":2,"docs":{"257":{"tf":1.0},"270":{"tf":1.0}}}},"<":{"df":0,"docs":{},"q":{">":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"249":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"176":{"tf":1.4142135623730951},"180":{"tf":1.0},"185":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":1,"docs":{"279":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"]":{"[":{"1":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"i":{"df":8,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"143":{"tf":1.0},"180":{"tf":1.0},"185":{"tf":1.4142135623730951}}},"y":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"180":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"13":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"288":{"tf":1.0}}}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"289":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":2,"docs":{"105":{"tf":1.0},"210":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},")":{"df":0,"docs":{},",":{"df":0,"docs":{},"漢":{"df":0,"docs":{},"明":{"df":0,"docs":{},"碼":{"df":0,"docs":{},"(":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":1,"docs":{"277":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"df":0,"docs":{},"s":{"c":{"a":{"df":0,"docs":{},"n":{"(":{"0":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}},"[":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}}},"df":0,"docs":{}},"df":23,"docs":{"123":{"tf":2.6457513110645907},"124":{"tf":1.4142135623730951},"125":{"tf":2.23606797749979},"126":{"tf":1.0},"127":{"tf":2.23606797749979},"128":{"tf":1.7320508075688772},"129":{"tf":1.4142135623730951},"130":{"tf":1.4142135623730951},"131":{"tf":2.0},"132":{"tf":1.7320508075688772},"133":{"tf":1.7320508075688772},"145":{"tf":2.23606797749979},"147":{"tf":1.7320508075688772},"149":{"tf":1.4142135623730951},"150":{"tf":1.0},"151":{"tf":1.7320508075688772},"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.4142135623730951},"272":{"tf":2.449489742783178},"278":{"tf":1.7320508075688772},"279":{"tf":1.7320508075688772},"4":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"151":{"tf":1.0}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"f":{"df":2,"docs":{"130":{"tf":1.0},"132":{"tf":1.0}}}},"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}}}}},"df":0,"docs":{},")":{"df":0,"docs":{},",":{"df":0,"docs":{},"有":{"df":0,"docs":{},"了":{"df":0,"docs":{},"個":{"df":0,"docs":{},"別":{"df":0,"docs":{},"元":{"df":0,"docs":{},"素":{"df":0,"docs":{},"增":{"df":0,"docs":{},"刪":{"df":0,"docs":{},"資":{"df":0,"docs":{},"訊":{"df":0,"docs":{},",":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"272":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"152":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"225":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"u":{"df":6,"docs":{"192":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"230":{"tf":1.4142135623730951},"259":{"tf":1.0},"271":{"tf":1.0},"85":{"tf":1.4142135623730951}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"62":{"tf":1.0}}}}}}}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"44":{"tf":1.0}},"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":11,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"122":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"142":{"tf":1.0},"143":{"tf":1.7320508075688772},"207":{"tf":1.0},"211":{"tf":1.0},"227":{"tf":1.0},"77":{"tf":1.0}},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"13":{"tf":1.0}}}}}},"df":0,"docs":{}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"229":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":1,"docs":{"275":{"tf":3.4641016151377544}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{"?":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"207":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"207":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"207":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":2,"docs":{"207":{"tf":2.8284271247461903},"208":{"tf":2.449489742783178}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"207":{"tf":1.7320508075688772},"208":{"tf":1.0},"251":{"tf":1.4142135623730951}}}}}}}}},"d":{".":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{")":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"(":{"1":{"df":1,"docs":{"186":{"tf":1.0}}},"2":{"df":1,"docs":{"186":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"3":{"df":1,"docs":{"186":{"tf":1.0}}},"4":{"df":1,"docs":{"186":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"251":{"tf":1.0}}}}},"t":{"a":{"df":11,"docs":{"162":{"tf":1.0},"172":{"tf":1.0},"175":{"tf":2.449489742783178},"200":{"tf":1.0},"245":{"tf":1.0},"251":{"tf":1.0},"259":{"tf":1.0},"271":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0},"43":{"tf":1.0}}},"df":0,"docs":{}}},"df":5,"docs":{"125":{"tf":2.449489742783178},"148":{"tf":1.0},"149":{"tf":1.4142135623730951},"150":{"tf":1.0},"186":{"tf":1.7320508075688772}},"e":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{".":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"176":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"_":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"!":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":1,"docs":{"179":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"188":{"tf":1.0}}}}}}},"df":2,"docs":{"188":{"tf":2.23606797749979},"213":{"tf":2.0}}}}},"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"185":{"tf":1.0},"251":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"238":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"236":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"131":{"tf":1.0},"132":{"tf":1.0},"236":{"tf":1.7320508075688772}},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":4,"docs":{"233":{"tf":1.0},"263":{"tf":1.4142135623730951},"264":{"tf":1.0},"269":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"233":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}}}},"l":{"df":1,"docs":{"287":{"tf":2.0}},"e":{"df":0,"docs":{},"t":{"df":4,"docs":{"161":{"tf":1.0},"171":{"tf":1.0},"282":{"tf":1.0},"289":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":2,"docs":{"263":{"tf":1.0},"264":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"47":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"q":{"df":0,"docs":{},"u":{"df":20,"docs":{"171":{"tf":1.0},"173":{"tf":1.7320508075688772},"174":{"tf":1.4142135623730951},"175":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":2.0},"178":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.0},"182":{"tf":1.4142135623730951},"183":{"tf":1.0},"184":{"tf":2.0},"185":{"tf":2.0},"186":{"tf":2.0},"187":{"tf":1.0},"188":{"tf":1.0},"189":{"tf":1.0},"190":{"tf":1.0},"6":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"f":{"df":1,"docs":{"184":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},":":{":":{"c":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"179":{"tf":1.0}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"184":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"186":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"186":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"186":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{"df":6,"docs":{"177":{"tf":1.4142135623730951},"179":{"tf":1.0},"184":{"tf":1.0},"186":{"tf":2.6457513110645907},"187":{"tf":1.4142135623730951},"188":{"tf":1.0}}}},"df":0,"docs":{},"u":{"df":2,"docs":{"165":{"tf":1.0},"171":{"tf":1.4142135623730951}},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"168":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},")":{"df":0,"docs":{},"是":{"df":0,"docs":{},"一":{"df":0,"docs":{},"般":{"df":0,"docs":{},"化":{"df":0,"docs":{},"(":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"173":{"tf":1.0}}}}}}}}}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{":":{":":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"211":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"176":{"tf":1.0},"83":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"188":{"tf":1.4142135623730951}},"e":{"(":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"188":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"92":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"270":{"tf":1.0}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"176":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"103":{"tf":1.0},"44":{"tf":1.0},"54":{"tf":1.0}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":1.0},"47":{"tf":1.0}}}}}}}}}}}},"i":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":6,"docs":{"112":{"tf":1.0},"136":{"tf":1.0},"258":{"tf":1.0},"73":{"tf":1.0},"81":{"tf":1.4142135623730951},"97":{"tf":1.0}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"df":0,"docs":{},")":{"df":0,"docs":{},"、":{"df":0,"docs":{},"關":{"df":0,"docs":{},"聯":{"df":0,"docs":{},"陣":{"df":0,"docs":{},"列":{"df":0,"docs":{},"(":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"216":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{}}}},",":{"df":0,"docs":{},"j":{"a":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"216":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"251":{"tf":1.0},"255":{"tf":1.0},"257":{"tf":1.4142135623730951},"267":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"<":{"'":{"a":{">":{"(":{"&":{"'":{"a":{"df":1,"docs":{"252":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},":":{"df":0,"docs":{},"差":{"df":0,"docs":{},"集":{"df":0,"docs":{},",":{"a":{"df":1,"docs":{"250":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":5,"docs":{"146":{"tf":1.4142135623730951},"147":{"tf":1.7320508075688772},"148":{"tf":1.0},"151":{"tf":2.23606797749979},"278":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"250":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"253":{"tf":1.0},"256":{"tf":1.0}}}}}}},"k":{"df":1,"docs":{"259":{"tf":1.0}}},"p":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"240":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"84":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":17,"docs":{"230":{"tf":1.0},"277":{"tf":1.7320508075688772},"278":{"tf":1.0},"279":{"tf":1.0},"280":{"tf":1.0},"281":{"tf":1.4142135623730951},"282":{"tf":2.23606797749979},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.7320508075688772},"288":{"tf":1.7320508075688772},"289":{"tf":1.4142135623730951},"290":{"tf":1.0},"291":{"tf":2.23606797749979},"9":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{")":{".":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"|":{"d":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"289":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"[":{"0":{"]":{"[":{"df":0,"docs":{},"j":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":1,"docs":{"289":{"tf":1.0}}},"df":0,"docs":{},"i":{"]":{"[":{"0":{"df":2,"docs":{"287":{"tf":1.4142135623730951},"288":{"tf":1.0}}},"df":0,"docs":{},"j":{"df":1,"docs":{"287":{"tf":2.0}}}},"df":0,"docs":{}},"df":1,"docs":{"287":{"tf":2.0}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"j":{"df":1,"docs":{"289":{"tf":2.0}}}},"df":0,"docs":{}},")":{"df":0,"docs":{},"是":{"df":0,"docs":{},"指":{"df":0,"docs":{},"兩":{"df":0,"docs":{},"個":{"df":0,"docs":{},"相":{"df":0,"docs":{},"同":{"df":0,"docs":{},"長":{"df":0,"docs":{},"度":{"df":0,"docs":{},"的":{"df":0,"docs":{},"序":{"df":0,"docs":{},"列":{"df":0,"docs":{},"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},")":{"df":0,"docs":{},"在":{"df":0,"docs":{},"相":{"df":0,"docs":{},"同":{"df":0,"docs":{},"位":{"df":0,"docs":{},"置":{"df":0,"docs":{},"上":{"df":0,"docs":{},",":{"df":0,"docs":{},"有":{"df":0,"docs":{},"多":{"df":0,"docs":{},"少":{"df":0,"docs":{},"個":{"df":0,"docs":{},"數":{"df":0,"docs":{},"值":{"df":0,"docs":{},"不":{"df":0,"docs":{},"同":{"df":0,"docs":{},",":{"df":0,"docs":{},"對":{"df":0,"docs":{},"二":{"df":0,"docs":{},"進":{"df":0,"docs":{},"位":{"df":0,"docs":{},"序":{"df":0,"docs":{},"列":{"df":0,"docs":{},"來":{"df":0,"docs":{},"說":{"df":0,"docs":{},"就":{"df":0,"docs":{},"是":{"df":0,"docs":{},"「":{"df":0,"docs":{},"相":{"df":0,"docs":{},"異":{"df":0,"docs":{},"位":{"df":0,"docs":{},"元":{"df":0,"docs":{},"的":{"df":0,"docs":{},"數":{"df":0,"docs":{},"目":{"df":0,"docs":{},"」":{"df":0,"docs":{},"。":{"df":0,"docs":{},"漢":{"df":0,"docs":{},"明":{"df":0,"docs":{},"距":{"df":0,"docs":{},"離":{"df":0,"docs":{},"同":{"df":0,"docs":{},"時":{"df":0,"docs":{},"也":{"df":0,"docs":{},"是":{"df":0,"docs":{},"一":{"df":0,"docs":{},"種":{"df":0,"docs":{},"編":{"df":0,"docs":{},"輯":{"df":0,"docs":{},"距":{"df":0,"docs":{},"離":{"df":0,"docs":{},",":{"df":0,"docs":{},"即":{"df":0,"docs":{},"是":{"df":0,"docs":{},"將":{"df":0,"docs":{},"一":{"df":0,"docs":{},"個":{"df":0,"docs":{},"字":{"df":0,"docs":{},"串":{"df":0,"docs":{},"轉":{"df":0,"docs":{},"換":{"df":0,"docs":{},"成":{"df":0,"docs":{},"另":{"df":0,"docs":{},"一":{"df":0,"docs":{},"個":{"df":0,"docs":{},"字":{"df":0,"docs":{},"串":{"df":0,"docs":{},",":{"df":0,"docs":{},"需":{"df":0,"docs":{},"要":{"df":0,"docs":{},"經":{"df":0,"docs":{},"過":{"df":0,"docs":{},"多":{"df":0,"docs":{},"少":{"df":0,"docs":{},"次":{"df":0,"docs":{},"置":{"df":0,"docs":{},"換":{"df":0,"docs":{},"操":{"df":0,"docs":{},"作":{"df":0,"docs":{},"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"277":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}}}},"df":0,"docs":{}}},"df":1,"docs":{"289":{"tf":1.4142135623730951}},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":4,"docs":{"129":{"tf":1.0},"229":{"tf":1.0},"43":{"tf":1.7320508075688772},"47":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"i":{"d":{"df":5,"docs":{"110":{"tf":1.0},"111":{"tf":1.0},"116":{"tf":1.4142135623730951},"30":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":6,"docs":{"0":{"tf":1.0},"190":{"tf":1.0},"215":{"tf":1.0},"225":{"tf":1.0},"244":{"tf":1.0},"258":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"262":{"tf":1.0}}}},"df":0,"docs":{}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"199":{"tf":1.0},"258":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"271":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"87":{"tf":1.0}}},"’":{"df":0,"docs":{},"t":{"df":1,"docs":{"274":{"tf":1.0}}}}},"u":{"b":{"df":0,"docs":{},"l":{"df":5,"docs":{"173":{"tf":1.0},"180":{"tf":1.0},"230":{"tf":1.0},"271":{"tf":1.0},"275":{"tf":1.0}},"i":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"n":{"df":7,"docs":{"116":{"tf":1.0},"117":{"tf":1.4142135623730951},"119":{"tf":1.0},"87":{"tf":1.7320508075688772},"89":{"tf":1.7320508075688772},"90":{"tf":2.0},"92":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"176":{"tf":1.0},"184":{"tf":1.0},"210":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}},"df":7,"docs":{"176":{"tf":2.8284271247461903},"182":{"tf":1.0},"184":{"tf":2.8284271247461903},"185":{"tf":1.0},"205":{"tf":1.7320508075688772},"210":{"tf":3.3166247903554},"251":{"tf":1.0}}}}},"s":{"a":{"df":1,"docs":{"152":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":3,"docs":{"180":{"tf":1.4142135623730951},"233":{"tf":1.4142135623730951},"265":{"tf":1.7320508075688772}}}},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"185":{"tf":1.0}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"107":{"tf":1.0}}},"df":0,"docs":{}}}},"s":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"215":{"tf":1.0}}}}}},"df":0,"docs":{}},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"107":{"tf":1.0}}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":6,"docs":{"140":{"tf":1.0},"230":{"tf":1.0},"233":{"tf":1.4142135623730951},"240":{"tf":1.0},"262":{"tf":1.0},"285":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"0":{"3":{"7":{"3":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"2":{"3":{"df":1,"docs":{"251":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"^":{"df":0,"docs":{},"{":{"7":{"7":{"7":{"^":{"df":0,"docs":{},"{":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"_":{"2":{"^":{"9":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"139":{"tf":1.4142135623730951},"146":{"tf":1.4142135623730951},"211":{"tf":1.0}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"0":{"tf":1.0},"109":{"tf":1.0},"244":{"tf":1.0},"282":{"tf":1.0}}}}},"df":2,"docs":{"125":{"tf":2.23606797749979},"284":{"tf":1.0}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{".":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"1":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}},"2":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":7,"docs":{"182":{"tf":1.4142135623730951},"186":{"tf":2.23606797749979},"202":{"tf":1.7320508075688772},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"268":{"tf":1.7320508075688772},"269":{"tf":2.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":11,"docs":{"103":{"tf":1.4142135623730951},"107":{"tf":1.0},"108":{"tf":2.23606797749979},"119":{"tf":1.4142135623730951},"131":{"tf":1.0},"132":{"tf":1.7320508075688772},"139":{"tf":1.0},"142":{"tf":1.0},"176":{"tf":1.0},"179":{"tf":1.0},"185":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"105":{"tf":1.0}}}}},"s":{"df":1,"docs":{"251":{"tf":1.7320508075688772}}}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":5,"docs":{"140":{"tf":1.0},"175":{"tf":1.0},"227":{"tf":1.0},"44":{"tf":1.0},"54":{"tf":1.0}}}}}},"n":{"d":{"df":4,"docs":{"173":{"tf":1.0},"211":{"tf":1.0},"34":{"tf":1.4142135623730951},"92":{"tf":3.3166247903554}},"{":{"c":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"114":{"tf":1.0},"284":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":3,"docs":{"165":{"tf":1.0},"167":{"tf":1.0},"171":{"tf":1.0}},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"167":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":2,"docs":{"210":{"tf":1.0},"215":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"271":{"tf":1.0}}},"y":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"239":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":4,"docs":{"260":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.0},"270":{"tf":1.4142135623730951}}}}}}}},"q":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"212":{"tf":1.0},"256":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":9,"docs":{"233":{"tf":2.0},"234":{"tf":1.4142135623730951},"236":{"tf":1.4142135623730951},"237":{"tf":1.0},"238":{"tf":1.0},"247":{"tf":1.0},"249":{"tf":1.7320508075688772},"255":{"tf":1.0},"256":{"tf":2.8284271247461903}},"u":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"107":{"tf":1.0},"256":{"tf":1.0},"44":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},")":{"df":0,"docs":{},"定":{"df":0,"docs":{},"義":{"df":0,"docs":{},"為":{"df":0,"docs":{},":":{"df":0,"docs":{},"x":{"df":1,"docs":{"256":{"tf":1.0}}}}}}}}}}}}},"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"(":{"df":0,"docs":{},"s":{"a":{"df":1,"docs":{"212":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"256":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},",":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"233":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"r":{"(":{"0":{"df":3,"docs":{"33":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951}}},"b":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"143":{"tf":1.0}}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}},"p":{"df":0,"docs":{},"o":{"df":2,"docs":{"207":{"tf":1.4142135623730951},"61":{"tf":1.0}}}},"目":{"df":0,"docs":{},"標":{"df":0,"docs":{},"值":{"df":0,"docs":{},"若":{"df":0,"docs":{},"插":{"df":0,"docs":{},"入":{"df":0,"docs":{},"後":{"df":0,"docs":{},",":{"df":0,"docs":{},"不":{"df":0,"docs":{},"會":{"df":0,"docs":{},"影":{"df":0,"docs":{},"響":{"df":0,"docs":{},"序":{"df":0,"docs":{},"列":{"df":0,"docs":{},"排":{"df":0,"docs":{},"序":{"df":0,"docs":{},"的":{"df":0,"docs":{},"位":{"df":0,"docs":{},"置":{")":{"df":0,"docs":{},"。":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"32":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}}},"_":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"267":{"tf":2.449489742783178},"269":{"tf":1.7320508075688772}},"e":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}},"o":{"df":0,"docs":{},"g":{"2":{"(":{")":{")":{".":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":2,"docs":{"44":{"tf":1.0},"61":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"r":{"[":{"df":0,"docs":{},"e":{"0":{"1":{"9":{"5":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"7":{"7":{"df":1,"docs":{"262":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"0":{"8":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"7":{"3":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"9":{"2":{"df":1,"docs":{"264":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"3":{"5":{"df":1,"docs":{"262":{"tf":1.0}}},"df":0,"docs":{}},"9":{"5":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"2":{"3":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":4,"docs":{"251":{"tf":1.4142135623730951},"264":{"tf":1.0},"276":{"tf":1.0},"277":{"tf":1.0}}}}}},"t":{"df":2,"docs":{"274":{"tf":1.0},"275":{"tf":1.0}}},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":5,"docs":{"143":{"tf":1.0},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"19":{"tf":1.7320508075688772},"92":{"tf":1.0}}}},"t":{"df":1,"docs":{"44":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"(":{"\"":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"238":{"tf":1.0}}}}},"df":0,"docs":{}}},"&":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"!":{"(":{"\"":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"238":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":3,"docs":{"185":{"tf":1.0},"238":{"tf":1.0},"240":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"<":{"df":0,"docs":{},"t":{">":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"54":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":10,"docs":{"3":{"tf":1.0},"37":{"tf":2.23606797749979},"48":{"tf":2.0},"49":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.4142135623730951}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"185":{"tf":1.0}}}}}}},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"130":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"f":{"(":{"df":0,"docs":{},"n":{"df":3,"docs":{"17":{"tf":3.3166247903554},"18":{"tf":1.7320508075688772},"19":{"tf":2.23606797749979}}},"x":{")":{"=":{"\\":{"df":0,"docs":{},"s":{"df":0,"docs":{},"q":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"{":{"\\":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"{":{"1":{"8":{"2":{"7":{"7":{"7":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"2":{"8":{"6":{"df":0,"docs":{},"}":{"df":0,"docs":{},"}":{"\\":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"x":{"^":{"2":{"+":{"3":{"df":0,"docs":{},"x":{"+":{"6":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"16":{"tf":1.7320508075688772}}}},".":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{")":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"188":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"6":{"4":{"df":3,"docs":{"239":{"tf":1.4142135623730951},"267":{"tf":2.449489742783178},"269":{"tf":2.0}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"q":{"df":1,"docs":{"274":{"tf":1.0}}},"r":{"df":1,"docs":{"274":{"tf":1.0}}}},"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"176":{"tf":1.0}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":8,"docs":{"231":{"tf":2.8284271247461903},"235":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.4142135623730951},"242":{"tf":1.4142135623730951},"243":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.0}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":3,"docs":{"122":{"tf":1.0},"244":{"tf":1.0},"93":{"tf":1.0}}},"s":{"df":8,"docs":{"157":{"tf":1.0},"168":{"tf":1.0},"212":{"tf":1.0},"253":{"tf":1.4142135623730951},"256":{"tf":2.0},"259":{"tf":1.0},"260":{"tf":1.0},"76":{"tf":1.0}}}},"n":{"df":1,"docs":{"275":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"291":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"46":{"tf":1.0},"47":{"tf":1.0}}}}}}},"df":7,"docs":{"125":{"tf":1.7320508075688772},"130":{"tf":1.4142135623730951},"132":{"tf":1.4142135623730951},"143":{"tf":1.7320508075688772},"188":{"tf":1.0},"213":{"tf":1.0},"274":{"tf":1.0}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"142":{"tf":1.0},"264":{"tf":1.0}}},"df":0,"docs":{}}},"f":{"df":0,"docs":{},"o":{"df":2,"docs":{"163":{"tf":1.0},"173":{"tf":1.0}}}},"g":{"df":4,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"19":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"185":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"273":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":20,"docs":{"224":{"tf":1.4142135623730951},"259":{"tf":3.1622776601683795},"260":{"tf":2.23606797749979},"261":{"tf":1.0},"262":{"tf":1.4142135623730951},"263":{"tf":1.0},"264":{"tf":1.7320508075688772},"265":{"tf":1.0},"266":{"tf":1.4142135623730951},"267":{"tf":1.4142135623730951},"268":{"tf":1.4142135623730951},"269":{"tf":1.4142135623730951},"270":{"tf":1.4142135623730951},"271":{"tf":2.8284271247461903},"272":{"tf":3.4641016151377544},"273":{"tf":4.123105625617661},"274":{"tf":3.1622776601683795},"275":{"tf":3.7416573867739413},"276":{"tf":2.23606797749979},"8":{"tf":1.0}},"f":{"df":1,"docs":{"274":{"tf":1.0}}}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"103":{"tf":1.0}}}},"d":{"(":{"df":0,"docs":{},"|":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"237":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":2,"docs":{"108":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"142":{"tf":1.0},"185":{"tf":1.0},"214":{"tf":1.0}}}}},"x":{"df":2,"docs":{"259":{"tf":1.0},"262":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"107":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"274":{"tf":1.0}}}},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"b":{"df":1,"docs":{"240":{"tf":1.7320508075688772}},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"239":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":3,"docs":{"143":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":1,"docs":{"143":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"265":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"188":{"tf":1.0},"213":{"tf":1.0}}}}}}},"df":0,"docs":{}},":":{":":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"188":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":1,"docs":{"188":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"188":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"n":{"(":{"&":{"df":0,"docs":{},"t":{"df":3,"docs":{"130":{"tf":1.0},"132":{"tf":1.0},"143":{"tf":1.0}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"i":{"df":2,"docs":{"268":{"tf":1.7320508075688772},"269":{"tf":2.23606797749979}}}},"df":75,"docs":{"102":{"tf":1.4142135623730951},"103":{"tf":1.0},"105":{"tf":2.0},"107":{"tf":1.0},"108":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"142":{"tf":1.0},"143":{"tf":1.4142135623730951},"151":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.0},"166":{"tf":1.0},"167":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":1.0},"176":{"tf":1.7320508075688772},"177":{"tf":1.0},"179":{"tf":2.23606797749979},"180":{"tf":1.4142135623730951},"181":{"tf":2.0},"182":{"tf":2.0},"184":{"tf":1.0},"185":{"tf":2.6457513110645907},"186":{"tf":2.0},"187":{"tf":1.4142135623730951},"188":{"tf":1.0},"205":{"tf":1.0},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"208":{"tf":1.0},"210":{"tf":1.4142135623730951},"211":{"tf":2.6457513110645907},"212":{"tf":1.0},"213":{"tf":1.0},"233":{"tf":1.7320508075688772},"236":{"tf":1.7320508075688772},"237":{"tf":2.0},"238":{"tf":1.4142135623730951},"239":{"tf":1.7320508075688772},"240":{"tf":1.4142135623730951},"249":{"tf":2.449489742783178},"25":{"tf":1.4142135623730951},"251":{"tf":2.449489742783178},"252":{"tf":2.0},"253":{"tf":1.7320508075688772},"255":{"tf":1.0},"256":{"tf":1.4142135623730951},"262":{"tf":1.0},"267":{"tf":2.23606797749979},"268":{"tf":1.7320508075688772},"269":{"tf":2.8284271247461903},"278":{"tf":1.4142135623730951},"279":{"tf":1.0},"286":{"tf":1.4142135623730951},"287":{"tf":1.0},"289":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"44":{"tf":1.4142135623730951},"54":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0},"76":{"tf":1.4142135623730951},"83":{"tf":1.0},"92":{"tf":1.4142135623730951}}},"o":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"|":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"239":{"tf":1.0}}}},"df":0,"docs":{}}},"df":1,"docs":{"239":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"17":{"tf":1.7320508075688772},"18":{"tf":1.0},"19":{"tf":1.4142135623730951}}}},"c":{"df":1,"docs":{"251":{"tf":1.0}}},"d":{"df":0,"docs":{},"o":{"df":1,"docs":{"227":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":1,"docs":{"272":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"47":{"tf":1.0}}}},"df":2,"docs":{"185":{"tf":1.0},"240":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"r":{"a":{"c":{"df":2,"docs":{"80":{"tf":1.7320508075688772},"81":{"tf":1.0}},"{":{"\\":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"df":0,"docs":{},"{":{"\\":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"}":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"\\":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"df":0,"docs":{},"{":{"2":{"df":1,"docs":{"260":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}}}}},"c":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{},"n":{"^":{"2":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"2":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"2":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"i":{"df":1,"docs":{"42":{"tf":1.0}}},"n":{"(":{"df":0,"docs":{},"n":{"df":3,"docs":{"66":{"tf":1.0},"75":{"tf":1.0},"99":{"tf":1.0}}}},"^":{"2":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"2":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"260":{"tf":1.0}},"}":{"df":0,"docs":{},"{":{"2":{"^":{"df":0,"docs":{},"k":{"df":1,"docs":{"30":{"tf":1.4142135623730951}}}},"df":2,"docs":{"114":{"tf":2.0},"75":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":2,"docs":{"231":{"tf":1.0},"242":{"tf":1.4142135623730951}}}}}},"y":{"_":{"1":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"100":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"274":{"tf":1.0}}}}},"df":0,"docs":{}}}},"o":{"d":{"df":0,"docs":{},"o":{"df":2,"docs":{"227":{"tf":1.7320508075688772},"230":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"255":{"tf":1.4142135623730951}}}}}}},"n":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"181":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":4,"docs":{"164":{"tf":1.0},"178":{"tf":1.0},"181":{"tf":1.0},"189":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"175":{"tf":1.0}}}},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":11,"docs":{"130":{"tf":2.0},"131":{"tf":1.0},"143":{"tf":1.0},"229":{"tf":1.0},"251":{"tf":1.4142135623730951},"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0},"284":{"tf":1.0},"32":{"tf":1.0},"47":{"tf":1.0}}}}}}},"df":0,"docs":{}}},":":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"143":{"tf":1.0}}}}}}},"df":0,"docs":{}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"130":{"tf":1.0}}}}}}},"g":{"(":{"df":0,"docs":{},"n":{"df":3,"docs":{"17":{"tf":2.23606797749979},"18":{"tf":1.7320508075688772},"19":{"tf":2.0}}},"x":{")":{"=":{"3":{"df":0,"docs":{},"x":{"^":{"6":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"16":{"tf":1.7320508075688772}}}},"_":{"df":0,"docs":{},"i":{"(":{"df":0,"docs":{},"x":{"df":4,"docs":{"260":{"tf":1.0},"266":{"tf":1.0},"268":{"tf":1.7320508075688772},"269":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"48":{"tf":1.0}}}}}},"p":{"df":6,"docs":{"78":{"tf":1.7320508075688772},"79":{"tf":2.0},"80":{"tf":2.23606797749979},"81":{"tf":2.23606797749979},"82":{"tf":2.449489742783178},"83":{"tf":3.4641016151377544}}},"t":{"df":1,"docs":{"185":{"tf":1.7320508075688772}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"135":{"tf":1.0},"136":{"tf":1.0},"139":{"tf":1.0},"143":{"tf":1.4142135623730951}}}}}}},"b":{"df":1,"docs":{"14":{"tf":1.0}}},"df":1,"docs":{"284":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"k":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"k":{"df":1,"docs":{"109":{"tf":1.0}}}}}}}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":4,"docs":{"142":{"tf":1.0},"185":{"tf":1.0},"264":{"tf":1.0},"272":{"tf":1.0}}}}},"q":{"df":2,"docs":{"18":{"tf":1.0},"19":{"tf":1.0}}},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"237":{"tf":1.0}}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"q":{">":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"237":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"266":{"tf":1.0}}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"238":{"tf":1.0}}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"185":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":2,"docs":{"185":{"tf":1.4142135623730951},"237":{"tf":1.0}},":":{"df":0,"docs":{},"取":{"df":0,"docs":{},"得":{"df":0,"docs":{},"指":{"df":0,"docs":{},"定":{"df":0,"docs":{},"鍵":{"df":0,"docs":{},"對":{"df":0,"docs":{},"應":{"df":0,"docs":{},"的":{"df":0,"docs":{},"資":{"df":0,"docs":{},"料":{"df":0,"docs":{},",":{"df":0,"docs":{},"並":{"df":0,"docs":{},"可":{"df":0,"docs":{},"寫":{"df":0,"docs":{},"入":{"df":0,"docs":{},"修":{"df":0,"docs":{},"改":{"df":0,"docs":{},"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"235":{"tf":1.0}}}}}}}}}}}}}}}}}}}}}}}}}}}},"df":1,"docs":{"210":{"tf":1.0}}}},"i":{"df":0,"docs":{},"f":{"df":6,"docs":{"122":{"tf":1.0},"62":{"tf":1.0},"70":{"tf":1.0},"77":{"tf":1.0},"86":{"tf":1.0},"93":{"tf":1.0}}},"m":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"230":{"tf":1.7320508075688772}}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"b":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"o":{"b":{"a":{"df":0,"docs":{},"l":{"_":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"176":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"176":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"df":1,"docs":{"291":{"tf":1.0}},"e":{"df":1,"docs":{"210":{"tf":1.0}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"227":{"tf":1.7320508075688772},"230":{"tf":1.7320508075688772}},"n":{"df":1,"docs":{"227":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"276":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":2,"docs":{"225":{"tf":1.0},"244":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"92":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"133":{"tf":1.0}}}}},"t":{"df":1,"docs":{"270":{"tf":1.0}}},"u":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"279":{"tf":1.0}}},"df":0,"docs":{}},"v":{"a":{"df":1,"docs":{"276":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"h":{"1":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"269":{"tf":1.0}}}},".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"i":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"h":{"2":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}},"2":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"269":{"tf":1.0}}}},"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}},"_":{"1":{"(":{"df":0,"docs":{},"x":{"df":5,"docs":{"260":{"tf":1.4142135623730951},"266":{"tf":1.0},"268":{"tf":2.23606797749979},"269":{"tf":1.4142135623730951},"275":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"2":{"(":{"df":0,"docs":{},"x":{"df":4,"docs":{"260":{"tf":1.0},"268":{"tf":1.4142135623730951},"269":{"tf":1.0},"275":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"33":{"tf":1.7320508075688772}}}},"m":{"df":6,"docs":{"277":{"tf":2.0},"278":{"tf":1.0},"279":{"tf":1.0},"280":{"tf":1.0},"281":{"tf":1.4142135623730951},"9":{"tf":1.0}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"278":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"279":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"n":{"d":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"10":{"tf":1.0}}}}}},"df":0,"docs":{},"l":{"df":2,"docs":{"44":{"tf":1.0},"54":{"tf":1.0}},"e":{"_":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"d":{"_":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"176":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"275":{"tf":1.0}}},"h":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"275":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"1":{"df":1,"docs":{"228":{"tf":1.0}}},"2":{"df":1,"docs":{"228":{"tf":1.0}}},"df":0,"docs":{}}}},"x":{"df":1,"docs":{"275":{"tf":1.0}}}},"<":{"df":0,"docs":{},"h":{"df":1,"docs":{"233":{"tf":1.0}}}},"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.7320508075688772},"269":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"o":{"df":1,"docs":{"227":{"tf":1.0}}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"227":{"tf":1.0}}}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"228":{"tf":1.0}}}}},"s":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"227":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"247":{"tf":1.0}}}},"df":0,"docs":{}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"228":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":37,"docs":{"142":{"tf":2.23606797749979},"143":{"tf":1.0},"220":{"tf":1.4142135623730951},"226":{"tf":1.7320508075688772},"227":{"tf":1.0},"228":{"tf":1.0},"229":{"tf":1.7320508075688772},"230":{"tf":1.7320508075688772},"231":{"tf":1.4142135623730951},"232":{"tf":1.0},"233":{"tf":3.872983346207417},"234":{"tf":1.7320508075688772},"235":{"tf":1.0},"236":{"tf":1.7320508075688772},"237":{"tf":1.4142135623730951},"238":{"tf":1.7320508075688772},"239":{"tf":1.0},"240":{"tf":1.0},"241":{"tf":1.0},"242":{"tf":1.0},"243":{"tf":1.0},"244":{"tf":2.0},"247":{"tf":1.0},"249":{"tf":1.7320508075688772},"255":{"tf":1.0},"256":{"tf":1.7320508075688772},"260":{"tf":1.0},"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.7320508075688772},"269":{"tf":2.6457513110645907},"271":{"tf":1.0},"274":{"tf":1.4142135623730951},"275":{"tf":2.0},"276":{"tf":1.4142135623730951},"8":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"(":{"&":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"143":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"233":{"tf":1.0}}}}}}}}},"1":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}}}}},"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}},"2":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}}}}},"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}},":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"268":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},">":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"233":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":8,"docs":{"142":{"tf":1.4142135623730951},"143":{"tf":1.4142135623730951},"233":{"tf":2.23606797749979},"263":{"tf":2.0},"264":{"tf":1.4142135623730951},"267":{"tf":1.7320508075688772},"268":{"tf":2.23606797749979},"269":{"tf":1.7320508075688772}}}},"m":{"a":{"df":0,"docs":{},"p":{".":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"234":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"238":{"tf":1.0}}}}}},":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"249":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"249":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"249":{"tf":1.0}}}}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"239":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"<":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"237":{"tf":1.0}}}}}},"df":0,"docs":{},"k":{"df":3,"docs":{"234":{"tf":1.4142135623730951},"236":{"tf":1.4142135623730951},"264":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"264":{"tf":1.0}}}}},"t":{"df":2,"docs":{"247":{"tf":1.0},"248":{"tf":1.0}}}},"df":11,"docs":{"143":{"tf":1.4142135623730951},"216":{"tf":1.0},"230":{"tf":1.0},"231":{"tf":1.0},"233":{"tf":1.0},"234":{"tf":1.0},"236":{"tf":1.4142135623730951},"244":{"tf":1.0},"247":{"tf":1.0},"249":{"tf":1.0},"257":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"237":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{"df":7,"docs":{"247":{"tf":1.0},"249":{"tf":1.0},"251":{"tf":3.4641016151377544},"252":{"tf":2.0},"253":{"tf":1.7320508075688772},"255":{"tf":2.23606797749979},"256":{"tf":2.23606797749979}}}},"df":2,"docs":{"251":{"tf":1.4142135623730951},"258":{"tf":1.0}}}}},":":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"142":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":9,"docs":{"142":{"tf":1.4142135623730951},"143":{"tf":1.7320508075688772},"175":{"tf":3.0},"179":{"tf":1.4142135623730951},"180":{"tf":2.449489742783178},"233":{"tf":1.0},"276":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.0}},"e":{"a":{"d":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"206":{"tf":1.0}}}}}}},"df":21,"docs":{"119":{"tf":1.4142135623730951},"171":{"tf":1.0},"174":{"tf":1.0},"175":{"tf":3.3166247903554},"177":{"tf":1.4142135623730951},"179":{"tf":1.0},"180":{"tf":2.6457513110645907},"181":{"tf":1.7320508075688772},"182":{"tf":1.7320508075688772},"185":{"tf":2.0},"189":{"tf":1.0},"196":{"tf":2.0},"200":{"tf":1.0},"203":{"tf":1.4142135623730951},"205":{"tf":1.0},"206":{"tf":2.23606797749979},"207":{"tf":1.0},"208":{"tf":1.4142135623730951},"210":{"tf":1.0},"214":{"tf":1.0},"230":{"tf":1.0}}},"df":0,"docs":{},"p":{"df":10,"docs":{"202":{"tf":1.0},"236":{"tf":1.0},"69":{"tf":1.0},"85":{"tf":2.0},"86":{"tf":3.0},"87":{"tf":4.242640687119285},"89":{"tf":3.605551275463989},"90":{"tf":1.7320508075688772},"92":{"tf":4.358898943540674},"93":{"tf":1.0}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":4,"docs":{"87":{"tf":1.7320508075688772},"89":{"tf":2.23606797749979},"90":{"tf":1.0},"92":{"tf":1.7320508075688772}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"92":{"tf":1.0}}}}},"df":0,"docs":{}},"df":11,"docs":{"4":{"tf":1.0},"69":{"tf":1.7320508075688772},"85":{"tf":2.449489742783178},"86":{"tf":1.7320508075688772},"87":{"tf":1.7320508075688772},"88":{"tf":1.4142135623730951},"89":{"tf":1.4142135623730951},"90":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":2.0},"93":{"tf":1.4142135623730951}}}}}}},"v":{"df":0,"docs":{},"i":{"df":1,"docs":{"291":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"p":{"df":2,"docs":{"251":{"tf":1.0},"264":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"102":{"tf":1.0}}}}}},"n":{"c":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"4":{"0":{"4":{"0":{"8":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"df":3,"docs":{"176":{"tf":1.0},"210":{"tf":1.4142135623730951},"251":{"tf":1.7320508075688772}}}}},"i":{"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"44":{"tf":2.449489742783178}}}},"df":0,"docs":{}}},"df":8,"docs":{"102":{"tf":3.0},"103":{"tf":1.4142135623730951},"105":{"tf":4.242640687119285},"107":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"41":{"tf":1.4142135623730951},"44":{"tf":2.8284271247461903},"54":{"tf":2.23606797749979}},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"96":{"tf":1.4142135623730951}}}},"、":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}}}},"o":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"108":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"136":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"o":{"d":{"df":1,"docs":{"231":{"tf":1.0}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"{":{"1":{"0":{"df":2,"docs":{"284":{"tf":1.0},"286":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{"/":{"/":{"d":{"df":0,"docs":{},"o":{"c":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},":":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"143":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"i":{"$":{"df":0,"docs":{},"、":{"$":{"df":0,"docs":{},"j":{"df":1,"docs":{"284":{"tf":1.0}}}},"df":0,"docs":{}}},"+":{"1":{"df":1,"docs":{"96":{"tf":1.0}}},"df":0,"docs":{}},"/":{"df":1,"docs":{"284":{"tf":1.0}},"o":{"df":1,"docs":{"274":{"tf":1.0}}}},"3":{"2":{"df":17,"docs":{"102":{"tf":1.4142135623730951},"103":{"tf":1.0},"105":{"tf":2.0},"107":{"tf":1.0},"108":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.7320508075688772},"151":{"tf":1.0},"264":{"tf":1.4142135623730951},"44":{"tf":2.8284271247461903},"59":{"tf":1.0},"61":{"tf":1.4142135623730951},"67":{"tf":1.0},"76":{"tf":1.4142135623730951},"83":{"tf":1.0},"92":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"275":{"tf":1.0}},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"107":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"7":{"5":{"4":{"df":1,"docs":{"256":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"47":{"tf":1.0}}}}},"h":{"_":{"2":{"(":{"df":0,"docs":{},"x":{"df":4,"docs":{"260":{"tf":1.0},"266":{"tf":1.0},"268":{"tf":1.7320508075688772},"269":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"k":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"n":{"df":2,"docs":{"43":{"tf":1.0},"47":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"a":{"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}}},"m":{"a":{"df":0,"docs":{},"g":{"df":3,"docs":{"190":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"200":{"tf":1.4142135623730951},"211":{"tf":1.4142135623730951},"251":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"l":{"<":{"'":{"a":{"df":4,"docs":{"185":{"tf":2.23606797749979},"186":{"tf":2.0},"211":{"tf":1.0},"255":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"df":1,"docs":{"142":{"tf":1.0}}},"k":{"df":1,"docs":{"236":{"tf":1.4142135623730951}}},"t":{"df":15,"docs":{"176":{"tf":1.7320508075688772},"177":{"tf":1.0},"179":{"tf":1.4142135623730951},"184":{"tf":1.0},"186":{"tf":2.0},"187":{"tf":1.4142135623730951},"188":{"tf":1.0},"205":{"tf":1.0},"210":{"tf":1.4142135623730951},"211":{"tf":1.7320508075688772},"212":{"tf":1.0},"213":{"tf":1.0},"249":{"tf":1.0},"256":{"tf":1.7320508075688772},"269":{"tf":1.0}}}},"df":7,"docs":{"185":{"tf":1.0},"233":{"tf":1.0},"240":{"tf":3.0},"249":{"tf":1.0},"251":{"tf":2.449489742783178},"252":{"tf":2.0},"255":{"tf":1.0}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"144":{"tf":1.0},"190":{"tf":1.0},"276":{"tf":1.0}}}}}}}}}},"n":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":1,"docs":{"151":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"118":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"84":{"tf":1.0}}}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"187":{"tf":1.0}}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"187":{"tf":1.0}}}}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"187":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":24,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"119":{"tf":1.7320508075688772},"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"125":{"tf":2.23606797749979},"132":{"tf":2.23606797749979},"168":{"tf":1.0},"179":{"tf":2.0},"187":{"tf":3.0},"228":{"tf":1.0},"237":{"tf":1.4142135623730951},"238":{"tf":1.7320508075688772},"25":{"tf":1.0},"268":{"tf":1.0},"269":{"tf":1.7320508075688772},"288":{"tf":1.4142135623730951},"33":{"tf":1.0},"54":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"67":{"tf":1.0},"92":{"tf":2.0}},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"143":{"tf":1.0}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"187":{"tf":1.0}}}}},"df":1,"docs":{"187":{"tf":1.7320508075688772}}}}},"(":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"125":{"tf":1.0}}}}}}}}}}}},"df":1,"docs":{"287":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"185":{"tf":1.0},"264":{"tf":1.0}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"44":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":4,"docs":{"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"239":{"tf":1.0},"267":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"210":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"135":{"tf":1.0},"136":{"tf":1.0},"138":{"tf":1.0},"143":{"tf":1.4142135623730951}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"262":{"tf":1.7320508075688772}}}}}},"df":1,"docs":{"125":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":4,"docs":{"238":{"tf":1.0},"249":{"tf":1.0},"268":{"tf":1.0},"269":{"tf":1.0}}}}}},"df":0,"docs":{},"v":{"df":2,"docs":{"257":{"tf":1.0},"270":{"tf":1.0}}}},"_":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":2,"docs":{"204":{"tf":1.0},"207":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"207":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":32,"docs":{"119":{"tf":1.0},"136":{"tf":1.0},"138":{"tf":1.0},"142":{"tf":1.0},"143":{"tf":1.0},"161":{"tf":1.0},"171":{"tf":1.0},"214":{"tf":1.0},"235":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.0},"249":{"tf":1.4142135623730951},"251":{"tf":1.0},"266":{"tf":1.0},"268":{"tf":1.0},"282":{"tf":1.0},"289":{"tf":1.0},"38":{"tf":2.0},"4":{"tf":1.0},"56":{"tf":2.23606797749979},"57":{"tf":1.4142135623730951},"58":{"tf":1.7320508075688772},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":2.8284271247461903},"62":{"tf":1.4142135623730951},"65":{"tf":1.0},"71":{"tf":1.0},"78":{"tf":2.0},"79":{"tf":1.4142135623730951},"81":{"tf":2.6457513110645907},"82":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"59":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"t":{"df":1,"docs":{"238":{"tf":1.0}}}},"i":{"d":{"df":3,"docs":{"181":{"tf":1.4142135623730951},"182":{"tf":2.0},"187":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"145":{"tf":1.0}},"e":{"df":0,"docs":{},"g":{"df":1,"docs":{"34":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"}":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"278":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"r":{"df":1,"docs":{"186":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":2,"docs":{"117":{"tf":1.0},"118":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":10,"docs":{"3":{"tf":1.0},"36":{"tf":2.23606797749979},"40":{"tf":2.449489742783178},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":3.872983346207417},"45":{"tf":1.0},"46":{"tf":2.0},"47":{"tf":2.0}}}}},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"253":{"tf":1.0},"255":{"tf":1.0},"257":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"<":{"'":{"a":{">":{"(":{"&":{"'":{"a":{"df":1,"docs":{"252":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},":":{"df":0,"docs":{},"交":{"df":0,"docs":{},"集":{"df":0,"docs":{},",":{"a":{"df":1,"docs":{"250":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}},"o":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"185":{"tf":1.0},"186":{"tf":1.0},"211":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"186":{"tf":1.7320508075688772},"211":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"211":{"tf":1.0}}}}}},"t":{"df":2,"docs":{"186":{"tf":1.7320508075688772},"211":{"tf":2.6457513110645907}},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"186":{"tf":1.0},"211":{"tf":1.0}}}}}}},"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"186":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}}}}}},"df":0,"docs":{}},"df":2,"docs":{"186":{"tf":1.4142135623730951},"211":{"tf":1.7320508075688772}}}},"df":3,"docs":{"185":{"tf":1.0},"186":{"tf":3.3166247903554},"211":{"tf":2.449489742783178}}}}}}},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"244":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}}}}}}}}}},"o":{"df":1,"docs":{"259":{"tf":1.0}}},"s":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"253":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"250":{"tf":1.0}}}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":5,"docs":{"178":{"tf":1.0},"181":{"tf":1.0},"204":{"tf":1.0},"235":{"tf":1.0},"249":{"tf":1.0}}},"y":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"181":{"tf":1.0},"249":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"178":{"tf":1.0}},"l":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"180":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"249":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"210":{"tf":1.4142135623730951}}}},"u":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"253":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":3,"docs":{"250":{"tf":1.0},"253":{"tf":1.4142135623730951},"256":{"tf":1.4142135623730951}},",":{"a":{"df":1,"docs":{"256":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"253":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":2,"docs":{"250":{"tf":1.0},"253":{"tf":1.0}},",":{"a":{"df":1,"docs":{"256":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":4,"docs":{"102":{"tf":2.0},"103":{"tf":1.7320508075688772},"105":{"tf":2.8284271247461903},"107":{"tf":2.0}}}},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"293":{"tf":2.0}}}},"t":{"df":1,"docs":{"46":{"tf":1.0}}}},"t":{"'":{"df":1,"docs":{"180":{"tf":1.4142135623730951}}},"a":{"df":0,"docs":{},"i":{"df":2,"docs":{"43":{"tf":1.0},"47":{"tf":1.0}}}},"df":1,"docs":{"284":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"m":{"df":15,"docs":{"154":{"tf":1.4142135623730951},"156":{"tf":1.0},"157":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"166":{"tf":1.0},"167":{"tf":1.7320508075688772},"168":{"tf":1.0},"169":{"tf":1.0},"185":{"tf":2.0},"186":{"tf":2.0},"211":{"tf":1.7320508075688772},"25":{"tf":1.4142135623730951},"251":{"tf":2.449489742783178},"252":{"tf":1.4142135623730951},"275":{"tf":1.0}}},"r":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":3,"docs":{"211":{"tf":1.4142135623730951},"240":{"tf":1.0},"249":{"tf":1.0}}}}}}},"df":0,"docs":{}},".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"<":{"'":{"a":{"df":3,"docs":{"185":{"tf":1.4142135623730951},"186":{"tf":1.0},"211":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.4142135623730951}}}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":2,"docs":{"185":{"tf":1.0},"186":{"tf":1.0}}}}}},"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"25":{"tf":1.0}}}}}}}},":":{":":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"256":{"tf":1.0},"269":{"tf":1.0}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"251":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":2,"docs":{"185":{"tf":1.0},"279":{"tf":1.0}}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":4,"docs":{"240":{"tf":1.0},"249":{"tf":1.0},"251":{"tf":2.449489742783178},"252":{"tf":2.0}}}}}}},"df":0,"docs":{}}}}},"df":20,"docs":{"105":{"tf":1.0},"107":{"tf":1.0},"131":{"tf":1.0},"143":{"tf":1.4142135623730951},"151":{"tf":1.0},"185":{"tf":4.795831523312719},"186":{"tf":2.0},"208":{"tf":1.0},"211":{"tf":4.358898943540674},"212":{"tf":1.0},"213":{"tf":1.0},"240":{"tf":1.4142135623730951},"249":{"tf":1.4142135623730951},"251":{"tf":2.23606797749979},"269":{"tf":1.0},"279":{"tf":1.0},"44":{"tf":1.0},"67":{"tf":1.0},"83":{"tf":1.0},"92":{"tf":1.0}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}}}},"df":0,"docs":{}},"<":{"'":{"a":{"df":3,"docs":{"185":{"tf":2.23606797749979},"186":{"tf":1.0},"211":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.0}}}},"df":2,"docs":{"185":{"tf":1.0},"211":{"tf":1.4142135623730951}}}}},"、":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"、":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"178":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.0}}}}}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"176":{"tf":1.0},"185":{"tf":1.0}}}}}}},"、":{"df":0,"docs":{},"j":{"df":1,"docs":{"103":{"tf":1.0}}}},",":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"j":{"a":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},",":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":14,"docs":{"103":{"tf":1.7320508075688772},"107":{"tf":2.449489742783178},"108":{"tf":2.449489742783178},"275":{"tf":1.4142135623730951},"284":{"tf":1.4142135623730951},"287":{"tf":2.449489742783178},"288":{"tf":1.4142135623730951},"289":{"tf":2.449489742783178},"59":{"tf":2.23606797749979},"61":{"tf":2.0},"67":{"tf":1.4142135623730951},"83":{"tf":2.0},"96":{"tf":2.23606797749979},"97":{"tf":4.123105625617661}},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"8":{"9":{"df":2,"docs":{"64":{"tf":1.0},"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"g":{"df":2,"docs":{"225":{"tf":1.0},"244":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"、":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"218":{"tf":1.4142135623730951}}}}}}}}}},"。":{"df":0,"docs":{},"i":{"df":1,"docs":{"97":{"tf":1.7320508075688772}}}}},"k":{"$":{"df":0,"docs":{},"(":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"b":{"df":0,"docs":{},"e":{"df":1,"docs":{"230":{"tf":1.0}}}},"df":0,"docs":{}}}}},":":{"df":0,"docs":{},"雜":{"df":0,"docs":{},"湊":{"df":0,"docs":{},"表":{"df":0,"docs":{},"配":{"df":0,"docs":{},"置":{"df":0,"docs":{},"的":{"df":0,"docs":{},"儲":{"df":0,"docs":{},"存":{"df":0,"docs":{},"空":{"df":0,"docs":{},"間":{"df":0,"docs":{},"(":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"231":{"tf":1.0},"242":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}}}}},")":{".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"238":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"237":{"tf":1.0}}}}}}}},"df":0,"docs":{}},">":{"0":{"df":2,"docs":{"17":{"tf":1.0},"18":{"tf":1.0}}},"df":0,"docs":{}},"^":{"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.4142135623730951}}},"{":{"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.4142135623730951}}}}},"_":{"1":{">":{"0":{"df":1,"docs":{"19":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"19":{"tf":1.4142135623730951}}},"2":{">":{"0":{"df":1,"docs":{"19":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"19":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":38,"docs":{"107":{"tf":2.0},"109":{"tf":1.0},"123":{"tf":1.0},"126":{"tf":2.23606797749979},"127":{"tf":1.7320508075688772},"128":{"tf":1.4142135623730951},"135":{"tf":1.0},"137":{"tf":2.0},"139":{"tf":4.0},"140":{"tf":2.0},"148":{"tf":1.0},"149":{"tf":3.3166247903554},"150":{"tf":1.4142135623730951},"17":{"tf":1.7320508075688772},"173":{"tf":1.0},"18":{"tf":1.4142135623730951},"230":{"tf":1.4142135623730951},"233":{"tf":1.0},"234":{"tf":2.0},"236":{"tf":1.4142135623730951},"237":{"tf":2.0},"238":{"tf":1.7320508075688772},"240":{"tf":2.23606797749979},"241":{"tf":1.0},"244":{"tf":1.0},"249":{"tf":1.0},"260":{"tf":2.8284271247461903},"263":{"tf":1.7320508075688772},"266":{"tf":1.0},"267":{"tf":1.4142135623730951},"268":{"tf":2.0},"269":{"tf":2.0},"270":{"tf":2.23606797749979},"271":{"tf":1.0},"284":{"tf":1.4142135623730951},"285":{"tf":2.449489742783178},"30":{"tf":2.0},"49":{"tf":1.0}},"e":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"132":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"1":{"df":1,"docs":{"228":{"tf":1.0}}},"2":{"df":1,"docs":{"228":{"tf":1.0}}},"df":18,"docs":{"124":{"tf":1.0},"125":{"tf":3.1622776601683795},"128":{"tf":1.0},"130":{"tf":1.4142135623730951},"131":{"tf":2.0},"132":{"tf":1.4142135623730951},"146":{"tf":1.4142135623730951},"149":{"tf":1.0},"151":{"tf":1.0},"216":{"tf":1.0},"228":{"tf":1.0},"233":{"tf":1.0},"234":{"tf":1.4142135623730951},"237":{"tf":2.0},"238":{"tf":1.4142135623730951},"247":{"tf":1.0},"249":{"tf":1.0},"275":{"tf":1.0}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}}}},")":{"df":0,"docs":{},"對":{"df":0,"docs":{},"應":{"df":0,"docs":{},"到":{"df":0,"docs":{},"容":{"df":0,"docs":{},"器":{"df":0,"docs":{},"內":{"df":0,"docs":{},"部":{"df":0,"docs":{},"的":{"df":0,"docs":{},"索":{"df":0,"docs":{},"引":{"df":0,"docs":{},"位":{"df":0,"docs":{},"置":{"df":0,"docs":{},",":{"df":0,"docs":{},"進":{"df":0,"docs":{},"而":{"df":0,"docs":{},"找":{"df":0,"docs":{},"到":{"df":0,"docs":{},"對":{"df":0,"docs":{},"應":{"df":0,"docs":{},"的":{"df":0,"docs":{},"值":{"df":0,"docs":{},"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"226":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}}}}}}},",":{"df":0,"docs":{},"俗":{"df":0,"docs":{},"稱":{"df":0,"docs":{},"指":{"df":0,"docs":{},"紋":{"df":0,"docs":{},"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},")":{"df":0,"docs":{},",":{"df":0,"docs":{},"指":{"df":0,"docs":{},"紋":{"df":0,"docs":{},"的":{"df":0,"docs":{},"鍵":{"df":0,"docs":{},"短":{"df":0,"docs":{},"空":{"df":0,"docs":{},"間":{"df":0,"docs":{},"用":{"df":0,"docs":{},"量":{"df":0,"docs":{},"低":{"df":0,"docs":{},",":{"df":0,"docs":{},"副":{"df":0,"docs":{},"作":{"df":0,"docs":{},"用":{"df":0,"docs":{},"是":{"df":0,"docs":{},"更":{"df":0,"docs":{},"容":{"df":0,"docs":{},"易":{"df":0,"docs":{},"碰":{"df":0,"docs":{},"撞":{"df":0,"docs":{},",":{"df":0,"docs":{},"代":{"df":0,"docs":{},"表":{"df":0,"docs":{},"需":{"df":0,"docs":{},"要":{"df":0,"docs":{},"更":{"df":0,"docs":{},"有":{"df":0,"docs":{},"效":{"df":0,"docs":{},"處":{"df":0,"docs":{},"理":{"df":0,"docs":{},"雜":{"df":0,"docs":{},"湊":{"df":0,"docs":{},"碰":{"df":0,"docs":{},"撞":{"df":0,"docs":{},"(":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"274":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":1,"docs":{"284":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"284":{"tf":2.0},"285":{"tf":1.4142135623730951}}}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"262":{"tf":1.4142135623730951}}}}}},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}},"l":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"/":{"1":{".":{"4":{"9":{".":{"0":{"/":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"/":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"b":{"a":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"#":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"215":{"tf":1.0},"240":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"107":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"107":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"199":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"214":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"103":{"tf":1.0}}}}}},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"s":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}}},":":{":":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"y":{":":{":":{"<":{"df":0,"docs":{},"t":{">":{"(":{"c":{"a":{"df":0,"docs":{},"p":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"176":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"c":{"a":{"df":0,"docs":{},"p":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"176":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"176":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"176":{"tf":2.23606797749979}}}}}},"z":{"df":0,"docs":{},"i":{"df":2,"docs":{"143":{"tf":1.0},"251":{"tf":1.4142135623730951}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"114":{"tf":1.0},"52":{"tf":1.4142135623730951}}}}}},"df":2,"docs":{"273":{"tf":1.4142135623730951},"33":{"tf":1.0}},"e":{"a":{"d":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":2,"docs":{"89":{"tf":1.7320508075688772},"92":{"tf":1.0}}},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"210":{"tf":1.0},"215":{"tf":1.0}}}}},"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"w":{"df":1,"docs":{"12":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"89":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":3,"docs":{"119":{"tf":2.23606797749979},"54":{"tf":1.0},"92":{"tf":1.4142135623730951}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"108":{"tf":1.0},"147":{"tf":1.0},"34":{"tf":1.0}}}}}}}},"n":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":3,"docs":{"181":{"tf":1.0},"239":{"tf":1.0},"249":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":16,"docs":{"118":{"tf":2.23606797749979},"131":{"tf":1.0},"132":{"tf":1.0},"178":{"tf":1.0},"181":{"tf":1.4142135623730951},"189":{"tf":1.0},"233":{"tf":1.7320508075688772},"234":{"tf":1.7320508075688772},"235":{"tf":1.0},"236":{"tf":2.0},"238":{"tf":1.0},"249":{"tf":1.0},"262":{"tf":1.0},"67":{"tf":1.7320508075688772},"76":{"tf":2.0},"83":{"tf":1.4142135623730951}},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":3,"docs":{"112":{"tf":1.0},"238":{"tf":1.0},"279":{"tf":1.0}}}}}},"q":{"df":2,"docs":{"17":{"tf":2.23606797749979},"19":{"tf":2.0}}},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"260":{"tf":1.0},"276":{"tf":1.0}}}},"t":{"'":{"df":1,"docs":{"276":{"tf":1.0}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"89":{"tf":1.0}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":2,"docs":{"286":{"tf":1.4142135623730951},"289":{"tf":1.0}}},"df":0,"docs":{}}}}}},"_":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"287":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":11,"docs":{"282":{"tf":2.0},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":2.23606797749979},"9":{"tf":1.0}}}}}}}}}}},"x":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"146":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":5,"docs":{"114":{"tf":1.0},"42":{"tf":1.7320508075688772},"80":{"tf":1.7320508075688772},"81":{"tf":1.0},"89":{"tf":1.0}},"{":{"\\":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"_":{"2":{"df":1,"docs":{"30":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"i":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"13":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"185":{"tf":2.8284271247461903},"251":{"tf":2.23606797749979}}}}}},"o":{"df":2,"docs":{"153":{"tf":1.0},"173":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"<":{"df":0,"docs":{},"t":{">":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":11,"docs":{"23":{"tf":1.7320508075688772},"230":{"tf":2.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.4142135623730951},"274":{"tf":1.7320508075688772},"3":{"tf":1.0},"40":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"47":{"tf":1.4142135623730951}}}},"df":2,"docs":{"188":{"tf":1.0},"271":{"tf":1.0}}},"k":{"df":26,"docs":{"144":{"tf":1.0},"153":{"tf":1.0},"163":{"tf":1.0},"171":{"tf":1.0},"191":{"tf":1.4142135623730951},"198":{"tf":1.0},"199":{"tf":1.4142135623730951},"200":{"tf":1.7320508075688772},"201":{"tf":1.0},"202":{"tf":1.0},"203":{"tf":1.0},"204":{"tf":1.0},"205":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.4142135623730951},"208":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":2.8284271247461903},"211":{"tf":1.0},"212":{"tf":1.0},"213":{"tf":1.0},"214":{"tf":1.0},"215":{"tf":1.7320508075688772},"230":{"tf":1.4142135623730951},"65":{"tf":1.0},"7":{"tf":1.7320508075688772}},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"193":{"tf":1.0},"215":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":26,"docs":{"144":{"tf":1.0},"153":{"tf":1.0},"163":{"tf":1.0},"171":{"tf":1.0},"191":{"tf":1.4142135623730951},"198":{"tf":1.0},"199":{"tf":1.4142135623730951},"200":{"tf":1.7320508075688772},"201":{"tf":1.0},"202":{"tf":1.0},"203":{"tf":1.0},"204":{"tf":1.0},"205":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.4142135623730951},"208":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":1.7320508075688772},"211":{"tf":1.7320508075688772},"212":{"tf":1.0},"213":{"tf":1.0},"214":{"tf":1.0},"215":{"tf":1.7320508075688772},"230":{"tf":1.4142135623730951},"65":{"tf":1.0},"7":{"tf":1.7320508075688772}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"265":{"tf":1.0}}}},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"20":{"tf":1.0}}}}}},"n":{"_":{"2":{"_":{"2":{")":{".":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"267":{"tf":1.4142135623730951},"269":{"tf":1.4142135623730951}},"{":{"\\":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"}":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"(":{"\\":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"df":0,"docs":{},"{":{"2":{"df":0,"docs":{},"}":{")":{"^":{"2":{"df":1,"docs":{"260":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}}},"o":{".":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"103":{"tf":1.0}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"44":{"tf":2.8284271247461903}}}},"df":0,"docs":{}}},"a":{"d":{"_":{"df":0,"docs":{},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"239":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":8,"docs":{"231":{"tf":2.449489742783178},"235":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.4142135623730951},"242":{"tf":1.0},"243":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.0}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"271":{"tf":1.0},"274":{"tf":1.0}}}},"df":0,"docs":{}},"df":9,"docs":{"102":{"tf":2.6457513110645907},"103":{"tf":1.4142135623730951},"105":{"tf":4.58257569495584},"107":{"tf":1.7320508075688772},"108":{"tf":1.4142135623730951},"13":{"tf":1.0},"41":{"tf":1.4142135623730951},"44":{"tf":3.1622776601683795},"54":{"tf":2.0}},"g":{"(":{"9":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.0}}}},"^":{"2":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"_":{"2":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"89":{"tf":1.0}}}},"df":3,"docs":{"267":{"tf":1.0},"269":{"tf":1.0},"30":{"tf":2.23606797749979}},"n":{"df":1,"docs":{"61":{"tf":1.0}}},"{":{"\\":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"260":{"tf":1.0}}}}}}}}},"f":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"{":{"1":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"\\":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"271":{"tf":1.0},"275":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"n":{"df":1,"docs":{"99":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":21,"docs":{"105":{"tf":1.4142135623730951},"110":{"tf":1.4142135623730951},"113":{"tf":1.7320508075688772},"114":{"tf":1.0},"145":{"tf":1.0},"15":{"tf":1.4142135623730951},"20":{"tf":1.0},"21":{"tf":1.0},"43":{"tf":2.0},"46":{"tf":2.0},"47":{"tf":1.4142135623730951},"53":{"tf":1.0},"69":{"tf":1.0},"82":{"tf":1.0},"88":{"tf":2.0},"89":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"94":{"tf":1.0},"98":{"tf":1.4142135623730951},"99":{"tf":1.0}},"i":{"c":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}},"{":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":7,"docs":{"100":{"tf":1.0},"103":{"tf":1.7320508075688772},"105":{"tf":1.0},"107":{"tf":1.4142135623730951},"96":{"tf":1.7320508075688772},"97":{"tf":1.0},"99":{"tf":1.4142135623730951}}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"p":{"df":11,"docs":{"105":{"tf":1.0},"108":{"tf":1.0},"119":{"tf":1.4142135623730951},"211":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.0},"279":{"tf":1.0},"291":{"tf":1.0},"44":{"tf":2.0},"76":{"tf":1.0},"92":{"tf":1.4142135623730951}}}},"w":{"df":1,"docs":{"96":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"54":{"tf":1.0}}}}}},"s":{"d":{"df":3,"docs":{"145":{"tf":1.0},"146":{"tf":2.23606797749979},"147":{"tf":1.0}}},"df":0,"docs":{},"m":{"df":1,"docs":{"274":{"tf":1.0}}}},"t":{"df":0,"docs":{},"、":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":1,"docs":{"256":{"tf":1.0}}}}}}},"m":{"$":{"df":0,"docs":{},"、":{"$":{"df":0,"docs":{},"n":{"$":{"df":0,"docs":{},"、":{"$":{"df":0,"docs":{},"k":{"$":{"df":0,"docs":{},"、":{"$":{"\\":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"267":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"236":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"262":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"230":{"tf":1.0},"262":{"tf":1.0},"44":{"tf":1.0}}}},"k":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"&":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"238":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"x":{">":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"233":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":4,"docs":{"235":{"tf":1.0},"237":{"tf":1.0},"266":{"tf":1.4142135623730951},"268":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":1,"docs":{"238":{"tf":1.0}}}},"n":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"184":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":2,"docs":{"210":{"tf":1.0},"215":{"tf":1.0}}}},"p":{"(":{"df":0,"docs":{},"|":{"(":{"_":{"df":1,"docs":{"237":{"tf":1.4142135623730951}}},"df":0,"docs":{},"k":{"df":1,"docs":{"240":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":2,"docs":{"238":{"tf":1.0},"54":{"tf":1.0}}}}},"df":0,"docs":{}}},"v":{"df":1,"docs":{"238":{"tf":1.0}}}}},"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"54":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":25,"docs":{"216":{"tf":1.0},"220":{"tf":1.4142135623730951},"221":{"tf":1.4142135623730951},"225":{"tf":1.0},"226":{"tf":1.7320508075688772},"227":{"tf":1.0},"228":{"tf":1.0},"229":{"tf":1.0},"230":{"tf":1.0},"231":{"tf":1.0},"232":{"tf":1.0},"233":{"tf":1.0},"234":{"tf":1.0},"235":{"tf":1.0},"236":{"tf":1.0},"237":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"241":{"tf":1.0},"242":{"tf":1.0},"243":{"tf":1.0},"244":{"tf":1.4142135623730951},"274":{"tf":1.0},"8":{"tf":1.4142135623730951}}},"r":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"83":{"tf":1.0}},"s":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"83":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":2,"docs":{"80":{"tf":1.0},"83":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"264":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"122":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":9,"docs":{"143":{"tf":1.0},"168":{"tf":1.0},"185":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"210":{"tf":1.0},"238":{"tf":1.0},"256":{"tf":1.4142135623730951},"279":{"tf":1.4142135623730951},"61":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"289":{"tf":1.7320508075688772}}}},"df":1,"docs":{"288":{"tf":1.0}}}}}},"x":{"(":{"df":0,"docs":{},"i":{",":{"df":0,"docs":{},"j":{"df":2,"docs":{"284":{"tf":1.4142135623730951},"286":{"tf":1.0}}}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"151":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":8,"docs":{"130":{"tf":1.4142135623730951},"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"151":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":2.0},"90":{"tf":1.0},"92":{"tf":2.0}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":3,"docs":{"154":{"tf":1.4142135623730951},"156":{"tf":1.0},"159":{"tf":1.0}},"e":{"df":0,"docs":{},"、":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"154":{"tf":1.0}}}}}}}}}}}}},"df":10,"docs":{"260":{"tf":2.0},"262":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.0},"269":{"tf":1.0},"270":{"tf":2.6457513110645907},"284":{"tf":1.0},"290":{"tf":1.7320508075688772},"84":{"tf":1.0}},"e":{"d":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"99":{"tf":1.0}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"259":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{":":{":":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"184":{"tf":1.0}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"c":{"df":1,"docs":{"238":{"tf":1.4142135623730951}},"e":{"(":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"239":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{":":{":":{"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"176":{"tf":1.0},"179":{"tf":1.0}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"179":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"154":{"tf":1.0}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"266":{"tf":1.0}}}}}}}}},"c":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":2,"docs":{"119":{"tf":1.4142135623730951},"180":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":6,"docs":{"176":{"tf":1.4142135623730951},"181":{"tf":1.4142135623730951},"182":{"tf":2.0},"184":{"tf":1.0},"187":{"tf":1.4142135623730951},"215":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"g":{"df":7,"docs":{"112":{"tf":1.4142135623730951},"116":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"119":{"tf":1.7320508075688772},"122":{"tf":1.0},"193":{"tf":1.0}},"e":{"(":{"&":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"[":{".":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"117":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{".":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"118":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"1":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"117":{"tf":1.4142135623730951}}}}}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"117":{"tf":1.0}}}}},"df":0,"docs":{}},"_":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"118":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":16,"docs":{"110":{"tf":2.23606797749979},"111":{"tf":2.0},"112":{"tf":1.4142135623730951},"113":{"tf":1.0},"114":{"tf":2.0},"115":{"tf":1.7320508075688772},"116":{"tf":1.7320508075688772},"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"122":{"tf":1.0},"20":{"tf":1.0},"4":{"tf":1.0},"94":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}}}},"t":{"a":{"df":1,"docs":{"293":{"tf":1.0}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"d":{"df":5,"docs":{"131":{"tf":1.0},"185":{"tf":1.7320508075688772},"211":{"tf":1.4142135623730951},"255":{"tf":1.0},"256":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"i":{"b":{"df":2,"docs":{"259":{"tf":1.0},"270":{"tf":1.0}}},"d":{"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"44":{"tf":2.449489742783178}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"l":{"df":2,"docs":{"103":{"tf":1.0},"118":{"tf":1.0}}}},"df":4,"docs":{"117":{"tf":1.4142135623730951},"118":{"tf":1.0},"33":{"tf":1.7320508075688772},"34":{"tf":1.4142135623730951}}},"df":0,"docs":{},"n":{"(":{"2":{",":{"2":{",":{"1":{"df":1,"docs":{"285":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{",":{"2":{",":{"2":{"df":1,"docs":{"285":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{",":{"df":0,"docs":{},"j":{"df":2,"docs":{"284":{"tf":1.4142135623730951},"286":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":8,"docs":{"130":{"tf":1.4142135623730951},"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"284":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.0}},"、":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"x":{"df":1,"docs":{"130":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"240":{"tf":1.0},"251":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"l":{"a":{"c":{"df":1,"docs":{"108":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"244":{"tf":1.0}}}},"o":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"215":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"268":{"tf":1.0}}}},"df":1,"docs":{"256":{"tf":1.0}},"o":{"df":3,"docs":{"228":{"tf":1.0},"233":{"tf":1.0},"268":{"tf":1.0}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"119":{"tf":1.0},"175":{"tf":1.4142135623730951}}}},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"211":{"tf":1.0},"251":{"tf":2.8284271247461903}}}}},"s":{"d":{"df":2,"docs":{"145":{"tf":1.0},"146":{"tf":2.6457513110645907}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"222":{"tf":1.4142135623730951},"8":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":5,"docs":{"157":{"tf":1.0},"167":{"tf":1.0},"211":{"tf":1.4142135623730951},"237":{"tf":1.0},"238":{"tf":1.0}}}},"df":0,"docs":{}},"df":43,"docs":{"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"105":{"tf":2.8284271247461903},"107":{"tf":2.0},"108":{"tf":1.7320508075688772},"117":{"tf":1.7320508075688772},"118":{"tf":2.23606797749979},"119":{"tf":2.0},"130":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":1.7320508075688772},"143":{"tf":1.4142135623730951},"151":{"tf":1.4142135623730951},"176":{"tf":1.4142135623730951},"185":{"tf":4.898979485566356},"186":{"tf":2.23606797749979},"187":{"tf":1.4142135623730951},"188":{"tf":1.4142135623730951},"207":{"tf":2.8284271247461903},"208":{"tf":1.4142135623730951},"210":{"tf":1.0},"211":{"tf":1.7320508075688772},"213":{"tf":1.0},"233":{"tf":1.4142135623730951},"236":{"tf":1.0},"239":{"tf":1.0},"251":{"tf":2.23606797749979},"268":{"tf":1.4142135623730951},"269":{"tf":1.4142135623730951},"278":{"tf":1.4142135623730951},"279":{"tf":1.7320508075688772},"287":{"tf":1.4142135623730951},"288":{"tf":1.4142135623730951},"289":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951},"44":{"tf":2.449489742783178},"54":{"tf":1.0},"59":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"76":{"tf":2.23606797749979},"83":{"tf":1.7320508075688772},"92":{"tf":2.0}}}}},"n":{")":{"$":{"df":0,"docs":{},",":{"$":{"df":0,"docs":{},"n":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}},"^":{"2":{"df":1,"docs":{"46":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"=":{"3":{"0":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},"5":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},">":{"df":0,"docs":{},"n":{"_":{"0":{"df":3,"docs":{"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"^":{"2":{"df":4,"docs":{"17":{"tf":1.0},"66":{"tf":1.0},"75":{"tf":1.4142135623730951},"99":{"tf":1.0}}},"df":0,"docs":{}},"_":{"0":{"df":3,"docs":{"17":{"tf":1.7320508075688772},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":3,"docs":{"151":{"tf":1.0},"289":{"tf":1.4142135623730951},"290":{"tf":1.0}}}},"n":{"df":1,"docs":{"256":{"tf":1.4142135623730951}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"107":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"121":{"tf":1.0}}}}},"ï":{"df":0,"docs":{},"v":{"df":7,"docs":{"100":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0},"48":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.4142135623730951},"73":{"tf":1.0}}}}},"c":{"df":1,"docs":{"13":{"tf":1.0}}},"df":63,"docs":{"100":{"tf":1.4142135623730951},"105":{"tf":2.0},"110":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"113":{"tf":1.7320508075688772},"114":{"tf":2.449489742783178},"115":{"tf":1.0},"123":{"tf":1.0},"127":{"tf":1.4142135623730951},"135":{"tf":1.0},"136":{"tf":1.7320508075688772},"137":{"tf":1.0},"139":{"tf":2.0},"140":{"tf":1.4142135623730951},"143":{"tf":1.0},"145":{"tf":1.0},"148":{"tf":1.4142135623730951},"149":{"tf":1.7320508075688772},"15":{"tf":2.0},"150":{"tf":1.0},"16":{"tf":2.0},"17":{"tf":2.23606797749979},"179":{"tf":1.4142135623730951},"18":{"tf":1.0},"189":{"tf":1.0},"19":{"tf":2.0},"20":{"tf":1.4142135623730951},"21":{"tf":1.0},"214":{"tf":1.4142135623730951},"221":{"tf":1.0},"228":{"tf":1.4142135623730951},"231":{"tf":1.0},"24":{"tf":1.4142135623730951},"241":{"tf":1.0},"242":{"tf":1.7320508075688772},"257":{"tf":1.0},"260":{"tf":1.0},"262":{"tf":2.23606797749979},"266":{"tf":1.0},"267":{"tf":1.4142135623730951},"269":{"tf":1.0},"27":{"tf":1.0},"270":{"tf":2.449489742783178},"272":{"tf":1.7320508075688772},"280":{"tf":1.0},"284":{"tf":1.4142135623730951},"290":{"tf":1.7320508075688772},"30":{"tf":3.1622776601683795},"43":{"tf":2.0},"46":{"tf":2.0},"47":{"tf":1.0},"58":{"tf":1.4142135623730951},"66":{"tf":2.0},"69":{"tf":1.0},"75":{"tf":2.23606797749979},"82":{"tf":1.7320508075688772},"88":{"tf":2.0},"89":{"tf":2.449489742783178},"90":{"tf":1.4142135623730951},"91":{"tf":1.0},"94":{"tf":1.4142135623730951},"98":{"tf":1.7320508075688772},"99":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"e":{"d":{"df":2,"docs":{"176":{"tf":1.0},"185":{"tf":1.0}}},"df":0,"docs":{}},"g":{"df":1,"docs":{"259":{"tf":1.0}}},"q":{"df":2,"docs":{"284":{"tf":1.4142135623730951},"287":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"234":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"99":{"tf":1.0}}}},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"84":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"264":{"tf":1.0}}}}},"w":{"(":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":2,"docs":{"267":{"tf":1.7320508075688772},"269":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"142":{"tf":1.0}}}}},"df":0,"docs":{}}},"_":{"c":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"76":{"tf":2.8284271247461903}}}}},"m":{"a":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"239":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":1,"docs":{"239":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"207":{"tf":1.0}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"k":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"251":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":1,"docs":{"251":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"176":{"tf":1.4142135623730951}}}}}},"df":13,"docs":{"142":{"tf":1.0},"143":{"tf":1.0},"166":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.0},"204":{"tf":1.0},"205":{"tf":1.0},"207":{"tf":1.4142135623730951},"235":{"tf":1.0},"236":{"tf":1.4142135623730951},"249":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"180":{"tf":1.0}}}}},"x":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"185":{"tf":2.0},"186":{"tf":1.0},"211":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"<":{"'":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{">":{"(":{"&":{"'":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":1,"docs":{"185":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"b":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":9,"docs":{"118":{"tf":1.0},"147":{"tf":1.0},"185":{"tf":1.7320508075688772},"202":{"tf":2.0},"206":{"tf":1.7320508075688772},"207":{"tf":2.0},"208":{"tf":2.8284271247461903},"210":{"tf":1.0},"211":{"tf":2.449489742783178}}}}},"g":{"df":1,"docs":{"284":{"tf":1.4142135623730951}}},"o":{"d":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"202":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{".":{"a":{"df":0,"docs":{},"s":{"_":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"211":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"210":{"tf":1.0}}}},"df":0,"docs":{}}},"df":4,"docs":{"202":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":2.449489742783178},"208":{"tf":1.4142135623730951}}}}}}},"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"202":{"tf":2.0},"211":{"tf":2.0}}}},"df":17,"docs":{"195":{"tf":1.7320508075688772},"196":{"tf":1.7320508075688772},"197":{"tf":3.3166247903554},"198":{"tf":3.0},"200":{"tf":1.7320508075688772},"202":{"tf":2.6457513110645907},"203":{"tf":1.7320508075688772},"207":{"tf":3.7416573867739413},"208":{"tf":2.8284271247461903},"210":{"tf":2.23606797749979},"211":{"tf":1.7320508075688772},"213":{"tf":1.4142135623730951},"215":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.4142135623730951},"89":{"tf":2.449489742783178},"92":{"tf":2.23606797749979}},"。":{"df":0,"docs":{},"但":{"df":0,"docs":{},"這":{"df":0,"docs":{},"樣":{"df":0,"docs":{},"編":{"df":0,"docs":{},"譯":{"df":0,"docs":{},"不":{"df":0,"docs":{},"會":{"df":0,"docs":{},"成":{"df":0,"docs":{},"功":{"df":0,"docs":{},",":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"202":{"tf":1.0}}}}}}}}}}}}}}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"251":{"tf":1.0}}}}},"df":0,"docs":{}}},"n":{"df":2,"docs":{"262":{"tf":1.4142135623730951},"92":{"tf":1.0}},"e":{"df":17,"docs":{"143":{"tf":1.0},"158":{"tf":1.0},"160":{"tf":1.0},"168":{"tf":1.0},"181":{"tf":1.4142135623730951},"182":{"tf":1.4142135623730951},"185":{"tf":2.0},"205":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.7320508075688772},"208":{"tf":1.0},"233":{"tf":1.0},"237":{"tf":1.0},"238":{"tf":1.7320508075688772},"25":{"tf":1.0},"256":{"tf":1.4142135623730951},"279":{"tf":2.23606797749979}}},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}}}}},"t":{"a":{"df":0,"docs":{},"t":{"df":11,"docs":{"1":{"tf":1.0},"14":{"tf":1.7320508075688772},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.7320508075688772},"270":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":5,"docs":{"185":{"tf":2.23606797749979},"240":{"tf":1.0},"251":{"tf":1.0},"62":{"tf":1.0},"89":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":7,"docs":{"195":{"tf":1.4142135623730951},"196":{"tf":1.0},"197":{"tf":1.7320508075688772},"198":{"tf":1.7320508075688772},"200":{"tf":1.0},"202":{"tf":1.7320508075688772},"230":{"tf":1.0}}}},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"137":{"tf":1.0},"148":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.0},"227":{"tf":1.0}}}}},"df":1,"docs":{"44":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}}}},"}":{"df":0,"docs":{},"{":{"2":{"^":{"df":0,"docs":{},"k":{"df":2,"docs":{"80":{"tf":1.0},"81":{"tf":1.0}}}},"df":1,"docs":{"80":{"tf":1.0}}},"4":{"df":1,"docs":{"80":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"$":{"df":0,"docs":{},":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"(":{"(":{"\\":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"46":{"tf":1.0}}}}}},"df":0,"docs":{}},"1":{"df":25,"docs":{"100":{"tf":1.0},"161":{"tf":2.0},"171":{"tf":2.0},"189":{"tf":4.0},"20":{"tf":1.0},"207":{"tf":1.0},"214":{"tf":2.0},"217":{"tf":1.0},"234":{"tf":1.0},"24":{"tf":1.4142135623730951},"241":{"tf":2.0},"242":{"tf":1.4142135623730951},"257":{"tf":1.7320508075688772},"259":{"tf":1.0},"270":{"tf":1.0},"280":{"tf":1.0},"30":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"58":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":1.0},"88":{"tf":1.0}}},"3":{"^":{"df":0,"docs":{},"{":{"df":0,"docs":{},"m":{"df":1,"docs":{"284":{"tf":1.0}}}}},"df":0,"docs":{}},"\\":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"89":{"tf":1.0}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"_":{"2":{"df":1,"docs":{"30":{"tf":1.0}}},"df":0,"docs":{}},"df":15,"docs":{"100":{"tf":1.0},"105":{"tf":1.4142135623730951},"115":{"tf":1.0},"143":{"tf":1.0},"20":{"tf":1.0},"221":{"tf":1.0},"27":{"tf":1.0},"30":{"tf":1.7320508075688772},"43":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"51":{"tf":1.4142135623730951},"53":{"tf":2.23606797749979},"89":{"tf":1.4142135623730951},"94":{"tf":1.0},"98":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"m":{",":{"df":0,"docs":{},"n":{"df":1,"docs":{"290":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"c":{"^":{"df":0,"docs":{},"n":{"df":1,"docs":{"20":{"tf":1.0}}}},"df":0,"docs":{}},"d":{"df":3,"docs":{"148":{"tf":1.0},"149":{"tf":1.4142135623730951},"150":{"tf":1.0}},"n":{"df":1,"docs":{"148":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":2.0}}}},"df":0,"docs":{}},"k":{"df":7,"docs":{"127":{"tf":1.0},"128":{"tf":1.4142135623730951},"139":{"tf":1.4142135623730951},"173":{"tf":1.0},"270":{"tf":1.7320508075688772},"273":{"tf":1.4142135623730951},"30":{"tf":1.0}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":2,"docs":{"52":{"tf":1.0},"53":{"tf":1.0}}}}},"m":{"df":1,"docs":{"270":{"tf":1.4142135623730951}},"n":{"df":1,"docs":{"290":{"tf":1.4142135623730951}}}},"n":{"+":{"df":0,"docs":{},"k":{"df":1,"docs":{"144":{"tf":1.0}}}},"^":{"2":{"df":18,"docs":{"106":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.4142135623730951},"17":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.7320508075688772},"61":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":2.0},"74":{"tf":1.4142135623730951},"75":{"tf":1.0},"76":{"tf":1.0},"82":{"tf":1.0},"94":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}},"3":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"df":42,"docs":{"100":{"tf":1.0},"110":{"tf":1.4142135623730951},"113":{"tf":2.0},"114":{"tf":1.0},"115":{"tf":1.4142135623730951},"123":{"tf":1.0},"126":{"tf":2.0},"127":{"tf":1.4142135623730951},"128":{"tf":1.4142135623730951},"137":{"tf":1.7320508075688772},"139":{"tf":2.8284271247461903},"140":{"tf":1.4142135623730951},"145":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.0},"151":{"tf":1.0},"17":{"tf":1.0},"171":{"tf":1.7320508075688772},"20":{"tf":1.7320508075688772},"207":{"tf":1.0},"21":{"tf":1.0},"214":{"tf":2.449489742783178},"24":{"tf":1.7320508075688772},"241":{"tf":2.0},"242":{"tf":1.4142135623730951},"243":{"tf":1.0},"257":{"tf":3.3166247903554},"280":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.7320508075688772},"46":{"tf":1.0},"58":{"tf":1.0},"69":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":1.7320508075688772},"88":{"tf":2.0},"89":{"tf":1.4142135623730951},"90":{"tf":1.0},"91":{"tf":1.0},"94":{"tf":1.0},"98":{"tf":1.7320508075688772},"99":{"tf":2.0}}}},"b":{"df":0,"docs":{},"j":{"df":1,"docs":{"25":{"tf":1.4142135623730951}},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"233":{"tf":1.0},"240":{"tf":1.7320508075688772},"265":{"tf":1.0}}}},"df":0,"docs":{}}}},"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"y":{"df":0,"docs":{},")":{"df":0,"docs":{},"。":{"c":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":1,"docs":{"275":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"r":{"df":2,"docs":{"124":{"tf":1.0},"125":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"b":{"df":2,"docs":{"46":{"tf":1.0},"47":{"tf":1.0}}},"df":0,"docs":{}}}},"df":9,"docs":{"10":{"tf":1.4142135623730951},"162":{"tf":1.0},"17":{"tf":2.0},"18":{"tf":1.0},"180":{"tf":6.0},"19":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.4142135623730951},"46":{"tf":1.0}},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"276":{"tf":1.0}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":5,"docs":{"125":{"tf":1.0},"181":{"tf":1.4142135623730951},"182":{"tf":2.0},"187":{"tf":1.4142135623730951},"44":{"tf":2.0}}}}}}},"k":{"(":{"b":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":2,"docs":{"143":{"tf":1.0},"61":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}}}}}}}},"p":{"df":0,"docs":{},"o":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":4,"docs":{"207":{"tf":1.0},"213":{"tf":1.0},"32":{"tf":1.0},"44":{"tf":1.0}}},"l":{"d":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"180":{"tf":2.23606797749979}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"s":{"df":1,"docs":{"176":{"tf":1.0}}}},"df":1,"docs":{"176":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"df":1,"docs":{"176":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"a":{"$":{"df":0,"docs":{},":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"18":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"(":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":0,"docs":{}},"n":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":3,"docs":{"18":{"tf":1.7320508075688772},"19":{"tf":1.0},"20":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}},"n":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"276":{"tf":1.0}}}},"df":4,"docs":{"175":{"tf":1.0},"211":{"tf":1.0},"238":{"tf":1.0},"81":{"tf":1.0}},"t":{"df":0,"docs":{},"o":{"df":1,"docs":{"175":{"tf":2.0}}}}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"296":{"tf":1.4142135623730951}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":4,"docs":{"230":{"tf":1.7320508075688772},"242":{"tf":1.0},"244":{"tf":1.0},"274":{"tf":1.7320508075688772}}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"{":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":2,"docs":{"284":{"tf":2.6457513110645907},"287":{"tf":1.7320508075688772}},"}":{"_":{"df":0,"docs":{},"{":{"a":{",":{"b":{"df":0,"docs":{},"}":{"(":{"df":0,"docs":{},"i":{",":{"df":0,"docs":{},"j":{"df":1,"docs":{"284":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"67":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":14,"docs":{"117":{"tf":1.0},"161":{"tf":1.0},"171":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.0},"179":{"tf":1.0},"189":{"tf":1.0},"214":{"tf":1.0},"241":{"tf":1.0},"254":{"tf":1.0},"255":{"tf":1.0},"257":{"tf":1.0},"268":{"tf":1.0},"270":{"tf":1.0}}}},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"275":{"tf":1.7320508075688772}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"266":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"r":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"266":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":3,"docs":{"210":{"tf":1.0},"267":{"tf":1.4142135623730951},"291":{"tf":1.0}},"i":{"df":0,"docs":{},"z":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},",":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},")":{"df":0,"docs":{},",":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"100":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{":":{":":{"a":{"df":0,"docs":{},"s":{"_":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.0}}}}}},"df":1,"docs":{"211":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"256":{"tf":1.0}}}}}}},"df":0,"docs":{}},"<":{"&":{"'":{"a":{"df":2,"docs":{"185":{"tf":1.7320508075688772},"211":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"t":{"df":4,"docs":{"160":{"tf":1.0},"170":{"tf":1.0},"181":{"tf":1.4142135623730951},"211":{"tf":1.0}}},"v":{"df":1,"docs":{"237":{"tf":1.4142135623730951}}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"202":{"tf":1.0},"203":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"256":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":3,"docs":{"185":{"tf":2.23606797749979},"186":{"tf":1.0},"211":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"df":8,"docs":{"158":{"tf":1.0},"168":{"tf":1.0},"170":{"tf":1.0},"182":{"tf":1.4142135623730951},"202":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"211":{"tf":1.0}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"233":{"tf":1.0},"25":{"tf":1.4142135623730951}}}},"v":{"df":1,"docs":{"238":{"tf":1.4142135623730951}}}},"df":3,"docs":{"158":{"tf":1.0},"249":{"tf":1.4142135623730951},"256":{"tf":1.0}}}}}}},"r":{"d":{"df":2,"docs":{"143":{"tf":1.4142135623730951},"256":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":10,"docs":{"112":{"tf":1.0},"146":{"tf":1.0},"221":{"tf":1.4142135623730951},"256":{"tf":2.0},"8":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.7320508075688772},"89":{"tf":2.449489742783178},"90":{"tf":1.0},"92":{"tf":2.0}},",":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"256":{"tf":1.0}}}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"136":{"tf":1.4142135623730951},"143":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"251":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"(":{"&":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"253":{"tf":1.0},"256":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"252":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"253":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"251":{"tf":1.4142135623730951}}}}},"|":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"251":{"tf":1.7320508075688772}}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"212":{"tf":1.0},"253":{"tf":1.0},"256":{"tf":1.4142135623730951}}}}}},"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"251":{"tf":2.23606797749979}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"255":{"tf":1.7320508075688772}}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"255":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}},"u":{"df":0,"docs":{},"t":{"df":7,"docs":{"118":{"tf":1.0},"185":{"tf":1.0},"187":{"tf":1.7320508075688772},"205":{"tf":1.0},"210":{"tf":1.0},"211":{"tf":1.0},"67":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":2,"docs":{"185":{"tf":1.7320508075688772},"251":{"tf":1.4142135623730951}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":6,"docs":{"124":{"tf":1.0},"125":{"tf":1.0},"130":{"tf":1.0},"132":{"tf":1.0},"187":{"tf":1.0},"255":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"84":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"210":{"tf":1.0},"34":{"tf":1.4142135623730951}}}}}},"l":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"180":{"tf":1.0}}}},"df":0,"docs":{},"o":{"a":{"d":{"df":2,"docs":{"254":{"tf":1.0},"255":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"180":{"tf":1.0}}}}}}}}}}}},"w":{"df":0,"docs":{},"n":{"df":2,"docs":{"237":{"tf":1.7320508075688772},"251":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":5,"docs":{"206":{"tf":1.0},"207":{"tf":1.0},"208":{"tf":1.4142135623730951},"210":{"tf":1.0},"251":{"tf":1.0}}}}}}}}}},"、":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"20":{"tf":1.0}}}}}}}}},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{".":{"0":{"df":1,"docs":{"212":{"tf":1.0}}},"1":{"df":1,"docs":{"212":{"tf":1.0}}},"df":0,"docs":{}},"df":4,"docs":{"216":{"tf":1.0},"234":{"tf":1.4142135623730951},"256":{"tf":1.0},"71":{"tf":1.0}}}},"n":{"df":0,"docs":{},"i":{"c":{"!":{"(":{"\"":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"279":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"238":{"tf":1.0}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"83":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"142":{"tf":1.0}},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"185":{"tf":1.0},"251":{"tf":1.0},"264":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":1,"docs":{"256":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"256":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":2,"docs":{"103":{"tf":1.0},"256":{"tf":1.0}}}},"t":{"df":5,"docs":{"119":{"tf":1.4142135623730951},"291":{"tf":1.0},"44":{"tf":1.4142135623730951},"91":{"tf":1.0},"92":{"tf":1.7320508075688772}},"i":{"a":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":1,"docs":{"256":{"tf":1.0}}}}},"df":0,"docs":{}},"_":{"c":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"256":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"256":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":5,"docs":{"212":{"tf":1.0},"256":{"tf":2.0},"274":{"tf":1.0},"275":{"tf":1.0},"85":{"tf":1.0}},"e":{"df":0,"docs":{},"q":{"df":3,"docs":{"212":{"tf":2.449489742783178},"25":{"tf":1.7320508075688772},"256":{"tf":1.4142135623730951}},",":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":1,"docs":{"256":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"r":{"d":{":":{":":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"_":{"c":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"256":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":4,"docs":{"256":{"tf":1.7320508075688772},"32":{"tf":1.4142135623730951},"33":{"tf":1.0},"54":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"t":{"df":9,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"103":{"tf":1.7320508075688772},"105":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"96":{"tf":2.0},"97":{"tf":1.4142135623730951},"99":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":5,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"105":{"tf":1.7320508075688772},"107":{"tf":1.0},"108":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"81":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"210":{"tf":1.0},"256":{"tf":1.0}}}}}}}},"d":{"df":0,"docs":{},"f":{"df":1,"docs":{"43":{"tf":1.0}}},"q":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}}}}}}}},"df":1,"docs":{"208":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"k":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"160":{"tf":1.0},"170":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":2,"docs":{"155":{"tf":1.0},"165":{"tf":1.0}}}},"r":{"df":2,"docs":{"271":{"tf":1.0},"275":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{":":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"260":{"tf":1.0},"276":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":1,"docs":{"119":{"tf":1.0}}}}}},"l":{"df":2,"docs":{"43":{"tf":1.0},"47":{"tf":1.0}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"200":{"tf":1.4142135623730951}}}}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"264":{"tf":1.0},"269":{"tf":1.0}}}},"df":3,"docs":{"264":{"tf":1.7320508075688772},"267":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"227":{"tf":1.4142135623730951}}}}}},"i":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"284":{"tf":1.0}}}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"e":{"df":9,"docs":{"103":{"tf":1.0},"117":{"tf":1.0},"119":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951},"63":{"tf":2.0},"64":{"tf":2.0},"67":{"tf":1.0},"85":{"tf":2.0},"92":{"tf":1.0}}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":11,"docs":{"102":{"tf":3.0},"103":{"tf":3.3166247903554},"104":{"tf":1.0},"105":{"tf":4.47213595499958},"106":{"tf":2.0},"107":{"tf":2.8284271247461903},"108":{"tf":3.0},"95":{"tf":3.0},"96":{"tf":3.4641016151377544},"97":{"tf":4.123105625617661},"99":{"tf":2.23606797749979}},"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"106":{"tf":1.0}}}}}}}},")":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"106":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}},",":{"df":0,"docs":{},"i":{"df":1,"docs":{"97":{"tf":1.0}}}}}}}},"l":{"a":{"c":{"df":0,"docs":{},"e":{"df":2,"docs":{"128":{"tf":1.0},"143":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"o":{"df":2,"docs":{"207":{"tf":3.0},"61":{"tf":2.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":10,"docs":{"107":{"tf":1.0},"176":{"tf":1.0},"180":{"tf":1.0},"185":{"tf":1.0},"195":{"tf":1.0},"202":{"tf":1.0},"207":{"tf":1.0},"236":{"tf":1.0},"251":{"tf":1.0},"262":{"tf":1.0}},",":{"df":0,"docs":{},"但":{"df":0,"docs":{},"照":{"df":0,"docs":{},"鏈":{"df":0,"docs":{},"結":{"df":0,"docs":{},"串":{"df":0,"docs":{},"列":{"df":0,"docs":{},"的":{"df":0,"docs":{},"定":{"df":0,"docs":{},"義":{"df":0,"docs":{},",":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"202":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}},"p":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"158":{"tf":1.0}}}}}},"df":0,"docs":{}},"_":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"182":{"tf":1.0}}}}}},"df":0,"docs":{},"v":{"df":1,"docs":{"189":{"tf":1.0}}}},"df":3,"docs":{"178":{"tf":1.0},"182":{"tf":1.0},"184":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"182":{"tf":1.0},"206":{"tf":1.0}}}}}},"df":0,"docs":{},"v":{"df":1,"docs":{"189":{"tf":1.0}}}},"df":6,"docs":{"178":{"tf":1.0},"182":{"tf":1.0},"204":{"tf":1.0},"206":{"tf":1.0},"210":{"tf":1.4142135623730951},"211":{"tf":1.4142135623730951}}}}}}}},"df":7,"docs":{"155":{"tf":1.0},"158":{"tf":1.0},"160":{"tf":1.0},"161":{"tf":1.4142135623730951},"186":{"tf":1.0},"211":{"tf":1.0},"214":{"tf":1.4142135623730951}}},"s":{"_":{"df":1,"docs":{"207":{"tf":2.23606797749979}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"238":{"tf":1.0}}}}},"t":{"df":2,"docs":{"132":{"tf":1.0},"260":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"|":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"238":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},")":{"df":0,"docs":{},",":{"df":0,"docs":{},"但":{"df":0,"docs":{},"絕":{"df":0,"docs":{},"不":{"df":0,"docs":{},"會":{"df":0,"docs":{},"有":{"df":0,"docs":{},"假":{"df":0,"docs":{},"陰":{"df":0,"docs":{},"性":{"df":0,"docs":{},"(":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":1,"docs":{"259":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}},"p":{"df":1,"docs":{"47":{"tf":1.0}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"275":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}},"s":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"132":{"tf":2.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":5,"docs":{"124":{"tf":1.4142135623730951},"125":{"tf":4.242640687119285},"127":{"tf":1.0},"131":{"tf":2.449489742783178},"132":{"tf":2.23606797749979}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"214":{"tf":1.0}}},"df":0,"docs":{}}}},"v":{".":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"208":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":1,"docs":{"208":{"tf":2.8284271247461903}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":3,"docs":{"207":{"tf":1.0},"208":{"tf":1.4142135623730951},"210":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"287":{"tf":1.0}}}}},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"152":{"tf":1.0}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"df":1,"docs":{"186":{"tf":1.0}}}}}},"v":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"154":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"b":{"a":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"259":{"tf":1.0}}}}}}},"l":{"df":3,"docs":{"260":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":2,"docs":{"230":{"tf":2.449489742783178},"274":{"tf":1.7320508075688772}}}},"c":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"92":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"47":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":3,"docs":{"215":{"tf":1.0},"240":{"tf":1.0},"285":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"293":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"86":{"tf":1.0},"87":{"tf":1.7320508075688772},"89":{"tf":1.0}}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"d":{"df":0,"docs":{},"o":{"df":1,"docs":{"139":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"df":2,"docs":{"284":{"tf":1.0},"286":{"tf":1.0}},"r":{".":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"176":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}},":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"180":{"tf":1.0}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"180":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{":":{":":{"d":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{")":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"176":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"182":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"182":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":4,"docs":{"176":{"tf":2.6457513110645907},"185":{"tf":1.7320508075688772},"188":{"tf":1.0},"230":{"tf":1.7320508075688772}}}},"u":{"b":{"df":66,"docs":{"102":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"130":{"tf":1.0},"132":{"tf":1.0},"142":{"tf":1.0},"143":{"tf":1.4142135623730951},"151":{"tf":1.0},"154":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.0},"164":{"tf":1.0},"166":{"tf":1.0},"167":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":1.0},"176":{"tf":1.4142135623730951},"177":{"tf":1.4142135623730951},"179":{"tf":1.0},"181":{"tf":2.0},"182":{"tf":2.0},"185":{"tf":1.4142135623730951},"186":{"tf":1.0},"203":{"tf":1.0},"205":{"tf":1.0},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"208":{"tf":1.0},"211":{"tf":2.449489742783178},"234":{"tf":1.4142135623730951},"236":{"tf":1.4142135623730951},"237":{"tf":1.4142135623730951},"238":{"tf":1.4142135623730951},"240":{"tf":1.0},"247":{"tf":1.0},"249":{"tf":2.449489742783178},"25":{"tf":1.4142135623730951},"251":{"tf":2.449489742783178},"252":{"tf":2.0},"253":{"tf":1.7320508075688772},"262":{"tf":1.7320508075688772},"263":{"tf":1.0},"264":{"tf":2.0},"265":{"tf":1.4142135623730951},"267":{"tf":1.7320508075688772},"268":{"tf":1.0},"269":{"tf":2.23606797749979},"278":{"tf":1.4142135623730951},"279":{"tf":1.0},"286":{"tf":1.4142135623730951},"287":{"tf":1.0},"289":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"44":{"tf":1.4142135623730951},"54":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0},"76":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"92":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"199":{"tf":1.0},"258":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"293":{"tf":1.0},"294":{"tf":1.0}}}},"s":{"df":0,"docs":{},"h":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"157":{"tf":1.0}}}}}},"df":0,"docs":{}},"_":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"182":{"tf":1.0}}}}}},"df":0,"docs":{},"v":{"df":1,"docs":{"189":{"tf":1.0}}}},"df":4,"docs":{"178":{"tf":1.0},"179":{"tf":2.0},"180":{"tf":1.4142135623730951},"182":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"182":{"tf":1.0},"206":{"tf":1.0}}}}}},"df":0,"docs":{},"v":{"df":1,"docs":{"189":{"tf":1.0}}}},"df":5,"docs":{"178":{"tf":1.0},"179":{"tf":1.4142135623730951},"182":{"tf":1.0},"204":{"tf":1.0},"206":{"tf":1.0}}}}}}}},"df":7,"docs":{"143":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"159":{"tf":1.0},"161":{"tf":1.4142135623730951},"239":{"tf":1.0}}}},"t":{"df":1,"docs":{"142":{"tf":1.0}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"216":{"tf":1.0},"254":{"tf":1.4142135623730951},"256":{"tf":1.0},"258":{"tf":1.0},"61":{"tf":1.7320508075688772}}}}}}}},"q":{"df":3,"docs":{"237":{"tf":2.0},"238":{"tf":2.0},"249":{"tf":2.0}},"u":{"a":{"d":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"230":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"71":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"266":{"tf":1.0}}}}},"df":0,"docs":{},"(":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"q":{"df":1,"docs":{"266":{"tf":1.0}}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"164":{"tf":1.0}}}},"df":12,"docs":{"163":{"tf":2.0},"164":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"167":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.4142135623730951},"173":{"tf":1.0},"6":{"tf":1.0}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"p":{"df":1,"docs":{"102":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":2,"docs":{"102":{"tf":2.0},"105":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"o":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"105":{"tf":2.23606797749979}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"d":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"105":{"tf":2.23606797749979}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"102":{"tf":1.0}}}}},"df":0,"docs":{}},"df":1,"docs":{"102":{"tf":1.0}}}}}}}}},"df":19,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.4142135623730951},"105":{"tf":1.4142135623730951},"106":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"109":{"tf":2.0},"21":{"tf":1.0},"4":{"tf":1.0},"56":{"tf":1.0},"94":{"tf":2.449489742783178},"95":{"tf":1.4142135623730951},"96":{"tf":1.4142135623730951},"97":{"tf":2.0},"98":{"tf":1.0},"99":{"tf":1.7320508075688772}}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"274":{"tf":2.6457513110645907},"275":{"tf":1.4142135623730951}}}}}}}}}},"r":{"a":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"151":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":9,"docs":{"145":{"tf":3.0},"146":{"tf":2.449489742783178},"147":{"tf":1.7320508075688772},"148":{"tf":1.0},"149":{"tf":2.449489742783178},"150":{"tf":1.7320508075688772},"151":{"tf":3.0},"152":{"tf":1.7320508075688772},"4":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"i":{"df":1,"docs":{"205":{"tf":1.0}}}},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":4,"docs":{"173":{"tf":1.0},"192":{"tf":1.0},"207":{"tf":1.0},"242":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{")":{".":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":2,"docs":{"267":{"tf":1.4142135623730951},"269":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"267":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"g":{"df":3,"docs":{"117":{"tf":1.0},"136":{"tf":1.4142135623730951},"67":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"67":{"tf":1.0}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"67":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":1,"docs":{"273":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{":":{":":{"c":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"179":{"tf":1.0}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"176":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"180":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"177":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{"df":4,"docs":{"176":{"tf":2.0},"177":{"tf":1.0},"179":{"tf":1.0},"188":{"tf":1.0}}}},"df":6,"docs":{"176":{"tf":2.8284271247461903},"177":{"tf":1.0},"180":{"tf":1.0},"184":{"tf":1.4142135623730951},"188":{"tf":1.0},"190":{"tf":1.0}}},"df":0,"docs":{}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"114":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"89":{"tf":1.0}}}}}},"df":4,"docs":{"109":{"tf":1.0},"244":{"tf":1.0},"273":{"tf":1.0},"33":{"tf":1.0}},"e":{"a":{"d":{"/":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":2,"docs":{"263":{"tf":1.0},"264":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"c":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{".":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":4,"docs":{"176":{"tf":1.7320508075688772},"192":{"tf":1.0},"231":{"tf":1.0},"239":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":1,"docs":{"164":{"tf":1.0}}}},"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":5,"docs":{"102":{"tf":1.7320508075688772},"112":{"tf":1.0},"202":{"tf":1.0},"210":{"tf":1.0},"273":{"tf":1.0}}}}}},"df":1,"docs":{"207":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":9,"docs":{"157":{"tf":1.0},"167":{"tf":1.0},"185":{"tf":1.0},"208":{"tf":1.0},"211":{"tf":1.4142135623730951},"237":{"tf":1.0},"240":{"tf":1.0},"264":{"tf":1.0},"278":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"256":{"tf":1.0}}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"176":{"tf":1.0},"181":{"tf":1.4142135623730951},"182":{"tf":2.0},"184":{"tf":1.0},"187":{"tf":1.4142135623730951}}}}}},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":3,"docs":{"231":{"tf":1.0},"239":{"tf":1.0},"274":{"tf":1.0}}}}},"df":0,"docs":{}},"l":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"256":{"tf":2.0}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"176":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":6,"docs":{"204":{"tf":1.0},"207":{"tf":1.0},"214":{"tf":1.0},"235":{"tf":1.0},"249":{"tf":1.4142135623730951},"264":{"tf":1.0}},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"207":{"tf":1.0}}}}}},"df":0,"docs":{},"k":{"df":1,"docs":{"241":{"tf":1.0}}},"v":{"df":1,"docs":{"257":{"tf":1.0}}}},"<":{"df":0,"docs":{},"q":{">":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"238":{"tf":1.0},"249":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"146":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"l":{"a":{"c":{"df":1,"docs":{"176":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"215":{"tf":1.0}}}}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"293":{"tf":1.0},"294":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"r":{"df":4,"docs":{"185":{"tf":1.4142135623730951},"211":{"tf":1.4142135623730951},"255":{"tf":1.0},"256":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"119":{"tf":1.0}}}},"i":{"df":0,"docs":{},"z":{"df":4,"docs":{"180":{"tf":1.4142135623730951},"236":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"112":{"tf":1.0}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":5,"docs":{"32":{"tf":1.0},"33":{"tf":1.0},"44":{"tf":1.4142135623730951},"54":{"tf":1.0},"61":{"tf":1.0}}}}},"df":6,"docs":{"117":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"119":{"tf":1.0},"207":{"tf":1.0},"32":{"tf":1.0},"44":{"tf":1.7320508075688772}}}}}},"t":{"[":{"df":0,"docs":{},"i":{".":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":1,"docs":{"118":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{".":{".":{"]":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"(":{"&":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"1":{"[":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"119":{"tf":1.0}}}}}}},"df":0,"docs":{}},"2":{"[":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"119":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"119":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"df":4,"docs":{"117":{"tf":2.0},"118":{"tf":1.4142135623730951},"119":{"tf":2.449489742783178},"143":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":25,"docs":{"103":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"117":{"tf":1.0},"119":{"tf":1.0},"157":{"tf":1.4142135623730951},"176":{"tf":1.4142135623730951},"181":{"tf":1.4142135623730951},"182":{"tf":1.4142135623730951},"185":{"tf":2.0},"207":{"tf":1.4142135623730951},"212":{"tf":1.0},"233":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.0},"25":{"tf":1.0},"251":{"tf":1.7320508075688772},"253":{"tf":1.0},"256":{"tf":1.0},"286":{"tf":1.4142135623730951},"287":{"tf":1.4142135623730951},"289":{"tf":1.4142135623730951},"33":{"tf":1.0},"44":{"tf":1.7320508075688772},"54":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"215":{"tf":1.0}},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"208":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{},":":{"df":0,"docs":{},"反":{"df":0,"docs":{},"轉":{"df":0,"docs":{},"整":{"df":0,"docs":{},"個":{"df":0,"docs":{},"串":{"df":0,"docs":{},"列":{"df":0,"docs":{},"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"204":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}}}}}},"f":{"c":{"df":2,"docs":{"240":{"tf":1.0},"251":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":6,"docs":{"114":{"tf":1.4142135623730951},"30":{"tf":1.0},"42":{"tf":1.7320508075688772},"80":{"tf":1.7320508075688772},"81":{"tf":1.0},"89":{"tf":1.0}}}}}}},"h":{"df":1,"docs":{"255":{"tf":1.0}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"30":{"tf":1.7320508075688772}}}}}}},"df":3,"docs":{"119":{"tf":2.23606797749979},"278":{"tf":1.4142135623730951},"92":{"tf":1.0}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"108":{"tf":1.0},"147":{"tf":1.0},"34":{"tf":1.0}}}}}}}}},"n":{"df":0,"docs":{},"g":{"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"f":{"df":3,"docs":{"177":{"tf":1.4142135623730951},"180":{"tf":1.0},"185":{"tf":2.449489742783178}}}}},"df":0,"docs":{}},"df":3,"docs":{"174":{"tf":1.0},"175":{"tf":1.0},"180":{"tf":1.0}}}}},"o":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"231":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"h":{"df":1,"docs":{"93":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"t":{"df":3,"docs":{"86":{"tf":1.0},"87":{"tf":2.6457513110645907},"92":{"tf":3.3166247903554}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}}}}}},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"121":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"_":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"b":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{":":{":":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"259":{"tf":1.0}}}}}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"173":{"tf":1.0}}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"226":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"245":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":1,"docs":{"163":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"200":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}}}},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"153":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"277":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":1,"docs":{"277":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"n":{"a":{"df":1,"docs":{"282":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":1,"docs":{"282":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"256":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"c":{"df":1,"docs":{"185":{"tf":1.0}}},"df":68,"docs":{"0":{"tf":2.6457513110645907},"1":{"tf":1.0},"10":{"tf":1.0},"105":{"tf":1.4142135623730951},"108":{"tf":1.0},"11":{"tf":1.0},"117":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"131":{"tf":1.0},"143":{"tf":1.4142135623730951},"144":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"164":{"tf":1.0},"167":{"tf":1.0},"176":{"tf":2.0},"181":{"tf":1.4142135623730951},"183":{"tf":1.4142135623730951},"185":{"tf":2.0},"186":{"tf":1.0},"187":{"tf":1.4142135623730951},"190":{"tf":1.4142135623730951},"193":{"tf":1.0},"2":{"tf":1.0},"202":{"tf":1.0},"205":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":1.4142135623730951},"211":{"tf":1.0},"212":{"tf":1.0},"215":{"tf":2.0},"216":{"tf":1.0},"225":{"tf":1.0},"231":{"tf":1.0},"232":{"tf":1.0},"233":{"tf":2.0},"236":{"tf":1.0},"237":{"tf":1.0},"240":{"tf":2.449489742783178},"244":{"tf":1.0},"248":{"tf":1.7320508075688772},"25":{"tf":1.0},"251":{"tf":2.23606797749979},"253":{"tf":1.0},"254":{"tf":1.0},"255":{"tf":1.0},"256":{"tf":1.7320508075688772},"258":{"tf":1.0},"262":{"tf":1.0},"264":{"tf":1.4142135623730951},"267":{"tf":1.0},"278":{"tf":1.7320508075688772},"287":{"tf":1.0},"288":{"tf":1.0},"291":{"tf":1.4142135623730951},"292":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.4142135623730951},"3":{"tf":1.0},"32":{"tf":1.0},"4":{"tf":1.0},"44":{"tf":1.7320508075688772},"5":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{"df":1,"docs":{"294":{"tf":1.0}}}}}}}}},"s":{"a":{"df":15,"docs":{"122":{"tf":1.0},"13":{"tf":1.0},"190":{"tf":1.0},"212":{"tf":1.7320508075688772},"225":{"tf":1.0},"244":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.4142135623730951},"62":{"tf":1.0},"64":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"77":{"tf":1.0},"93":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"df":5,"docs":{"176":{"tf":2.0},"180":{"tf":1.4142135623730951},"181":{"tf":1.4142135623730951},"182":{"tf":2.0},"187":{"tf":1.4142135623730951}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}}}}},"m":{"'":{"df":1,"docs":{"227":{"tf":1.0}}},"df":2,"docs":{"227":{"tf":3.0},"230":{"tf":1.4142135623730951}},"e":{"_":{"df":0,"docs":{},"s":{"df":1,"docs":{"256":{"tf":1.4142135623730951}}}},"df":3,"docs":{"260":{"tf":1.0},"276":{"tf":1.0},"279":{"tf":1.0}}}},"、":{"df":0,"docs":{},"s":{"b":{"df":0,"docs":{},",":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"、":{"df":0,"docs":{},"s":{"b":{"df":1,"docs":{"212":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"b":{"df":1,"docs":{"212":{"tf":2.0}}},"c":{"a":{"df":0,"docs":{},"l":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"273":{"tf":2.449489742783178}}}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":2,"docs":{"131":{"tf":1.4142135623730951},"132":{"tf":1.0}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"135":{"tf":1.0},"136":{"tf":1.0},"143":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":2,"docs":{"175":{"tf":2.23606797749979},"54":{"tf":1.0}}}}}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"291":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"e":{"df":5,"docs":{"103":{"tf":1.7320508075688772},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"96":{"tf":1.7320508075688772},"97":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":2,"docs":{"47":{"tf":1.0},"84":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":2,"docs":{"205":{"tf":1.0},"210":{"tf":1.0}},",":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"210":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"258":{"tf":1.0}}}}}}}}}}}},"df":3,"docs":{"273":{"tf":1.7320508075688772},"284":{"tf":1.0},"285":{"tf":1.7320508075688772}},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"241":{"tf":1.0}}}},"df":37,"docs":{"117":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":2.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.4142135623730951},"27":{"tf":2.0},"28":{"tf":1.0},"29":{"tf":1.0},"3":{"tf":2.0},"30":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":2.449489742783178},"37":{"tf":2.23606797749979},"38":{"tf":1.0},"39":{"tf":1.4142135623730951},"40":{"tf":2.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":2.23606797749979},"47":{"tf":2.0},"48":{"tf":2.0},"49":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.7320508075688772},"55":{"tf":1.4142135623730951},"61":{"tf":1.0}},"—":{"a":{"df":2,"docs":{"43":{"tf":1.0},"47":{"tf":1.0}}},"df":0,"docs":{}},",":{"df":0,"docs":{},"又":{"df":0,"docs":{},"稱":{"df":0,"docs":{},"對":{"df":0,"docs":{},"數":{"df":0,"docs":{},"搜":{"df":0,"docs":{},"尋":{"df":0,"docs":{},"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"df":1,"docs":{"27":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}}}}}}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"109":{"tf":1.0},"244":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":12,"docs":{"4":{"tf":1.0},"56":{"tf":1.0},"63":{"tf":2.23606797749979},"64":{"tf":1.4142135623730951},"65":{"tf":2.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.4142135623730951},"70":{"tf":1.7320508075688772},"85":{"tf":1.4142135623730951},"87":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"67":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"66":{"tf":1.0}}}}}},"df":0,"docs":{}},"f":{".":{"0":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"186":{"tf":1.0},"211":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}},"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"n":{"d":{".":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"233":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"237":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"239":{"tf":1.0}}}}}},"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"239":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"238":{"tf":1.0}},"s":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{")":{".":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"|":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"237":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{")":{".":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"|":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"238":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"240":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"239":{"tf":1.0},"240":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"239":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"c":{"a":{"df":0,"docs":{},"p":{"df":4,"docs":{"176":{"tf":1.7320508075688772},"179":{"tf":1.7320508075688772},"180":{"tf":1.4142135623730951},"181":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"251":{"tf":2.23606797749979}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{")":{".":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"252":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"249":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"249":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"249":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"|":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"251":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"249":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"249":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"249":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"[":{"0":{"]":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"]":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"e":{"a":{"d":{".":{"a":{"df":0,"docs":{},"s":{"_":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"211":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"k":{"df":3,"docs":{"206":{"tf":1.4142135623730951},"208":{"tf":1.0},"210":{"tf":1.0}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"181":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":6,"docs":{"180":{"tf":1.7320508075688772},"182":{"tf":1.7320508075688772},"185":{"tf":1.7320508075688772},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"208":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"253":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"181":{"tf":1.4142135623730951},"182":{"tf":1.4142135623730951}}}}}}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"180":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"256":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"256":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"t":{"df":2,"docs":{"186":{"tf":1.0},"213":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"170":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"168":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"160":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"157":{"tf":1.0},"159":{"tf":1.0},"169":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"158":{"tf":1.0}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"157":{"tf":1.0},"167":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"r":{"(":{")":{".":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"253":{"tf":1.0},"256":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"252":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"251":{"tf":2.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"252":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}}}},"z":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{")":{".":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"212":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"186":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":8,"docs":{"180":{"tf":1.0},"181":{"tf":1.0},"187":{"tf":1.4142135623730951},"212":{"tf":1.0},"238":{"tf":1.7320508075688772},"239":{"tf":1.7320508075688772},"253":{"tf":1.0},"256":{"tf":1.4142135623730951}}}}},"m":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.7320508075688772}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"237":{"tf":1.0}}}}},"q":{"df":2,"docs":{"237":{"tf":1.0},"238":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"x":{"df":0,"docs":{},"s":{"df":1,"docs":{"157":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.4142135623730951}}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"_":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"184":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"210":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"r":{"(":{")":{".":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{")":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"182":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"187":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"l":{"d":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"180":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{")":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"182":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"176":{"tf":1.0},"180":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"f":{".":{"c":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"179":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"185":{"tf":2.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"185":{"tf":1.7320508075688772}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"180":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"185":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"180":{"tf":1.0},"182":{"tf":1.7320508075688772},"185":{"tf":3.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"182":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":1,"docs":{"238":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"&":{"df":0,"docs":{},"r":{"df":0,"docs":{},"h":{"df":0,"docs":{},"s":{")":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"d":{"(":{")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"255":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"182":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"182":{"tf":1.0},"187":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":2,"docs":{"181":{"tf":1.0},"182":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"182":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"186":{"tf":1.7320508075688772},"211":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":2,"docs":{"267":{"tf":1.4142135623730951},"269":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"r":{"df":2,"docs":{"267":{"tf":1.4142135623730951},"269":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"187":{"tf":1.0},"255":{"tf":1.0}}}}}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"(":{"1":{"df":1,"docs":{"176":{"tf":1.0}}},"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"239":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":33,"docs":{"156":{"tf":1.4142135623730951},"157":{"tf":1.0},"158":{"tf":1.0},"166":{"tf":1.4142135623730951},"167":{"tf":1.0},"168":{"tf":1.0},"176":{"tf":2.449489742783178},"177":{"tf":1.4142135623730951},"180":{"tf":1.0},"182":{"tf":2.0},"184":{"tf":1.0},"185":{"tf":3.4641016151377544},"186":{"tf":1.0},"187":{"tf":1.0},"205":{"tf":1.7320508075688772},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"208":{"tf":1.0},"210":{"tf":1.4142135623730951},"211":{"tf":2.0},"212":{"tf":1.0},"236":{"tf":2.23606797749979},"238":{"tf":1.7320508075688772},"239":{"tf":1.7320508075688772},"249":{"tf":1.4142135623730951},"251":{"tf":4.795831523312719},"252":{"tf":3.1622776601683795},"253":{"tf":2.6457513110645907},"255":{"tf":1.0},"256":{"tf":1.4142135623730951},"267":{"tf":2.0},"268":{"tf":1.0},"269":{"tf":1.7320508075688772}},"、":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"251":{"tf":1.0}}}}}},"(":{"&":{"'":{"a":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"197":{"tf":1.0}},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"197":{"tf":2.6457513110645907}}}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":5,"docs":{"230":{"tf":2.0},"234":{"tf":1.4142135623730951},"242":{"tf":1.0},"243":{"tf":1.0},"274":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":9,"docs":{"211":{"tf":1.0},"230":{"tf":1.0},"44":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.4142135623730951},"80":{"tf":2.0},"81":{"tf":1.0},"82":{"tf":2.0},"83":{"tf":2.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"23":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"80":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"t":{"df":16,"docs":{"223":{"tf":1.7320508075688772},"245":{"tf":1.7320508075688772},"246":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.4142135623730951},"249":{"tf":1.0},"250":{"tf":1.4142135623730951},"251":{"tf":1.7320508075688772},"252":{"tf":1.0},"253":{"tf":1.0},"254":{"tf":1.0},"255":{"tf":3.0},"256":{"tf":1.4142135623730951},"257":{"tf":1.0},"258":{"tf":1.7320508075688772},"8":{"tf":1.0}},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"44":{"tf":1.0}}}}}},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"200":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"162":{"tf":1.0},"20":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"83":{"tf":1.0}}}}},"df":0,"docs":{}},"df":8,"docs":{"4":{"tf":1.0},"78":{"tf":2.449489742783178},"79":{"tf":1.4142135623730951},"80":{"tf":1.7320508075688772},"81":{"tf":1.7320508075688772},"82":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"84":{"tf":2.0}}}}}}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":2,"docs":{"278":{"tf":1.4142135623730951},"54":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"231":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"i":{"df":1,"docs":{"285":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"t":{"_":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"92":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"df":2,"docs":{"89":{"tf":1.4142135623730951},"92":{"tf":2.8284271247461903}}}}}},"df":0,"docs":{}},"df":4,"docs":{"87":{"tf":1.7320508075688772},"89":{"tf":1.7320508075688772},"90":{"tf":2.0},"92":{"tf":1.0}}}},"g":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"130":{"tf":1.7320508075688772},"143":{"tf":1.0},"32":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},")":{"df":0,"docs":{},"則":{"df":0,"docs":{},"是":{"df":0,"docs":{},"算":{"df":0,"docs":{},"術":{"df":0,"docs":{},"右":{"df":0,"docs":{},"移":{"df":0,"docs":{},"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"278":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"146":{"tf":1.4142135623730951},"278":{"tf":1.0}}},"df":0,"docs":{}}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":20,"docs":{"171":{"tf":1.0},"198":{"tf":1.0},"199":{"tf":1.0},"200":{"tf":1.7320508075688772},"201":{"tf":1.0},"202":{"tf":1.0},"203":{"tf":1.0},"204":{"tf":1.0},"205":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"208":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":1.0},"211":{"tf":1.0},"212":{"tf":1.0},"213":{"tf":1.0},"214":{"tf":1.0},"215":{"tf":1.4142135623730951},"7":{"tf":1.0}}},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{"df":6,"docs":{"203":{"tf":1.0},"205":{"tf":1.0},"210":{"tf":1.4142135623730951},"211":{"tf":1.4142135623730951},"212":{"tf":1.0},"213":{"tf":1.0}}}},"df":5,"docs":{"203":{"tf":1.4142135623730951},"206":{"tf":1.0},"209":{"tf":1.0},"211":{"tf":2.0},"212":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}},"k":{"df":1,"docs":{"71":{"tf":1.0}}}},"t":{"df":2,"docs":{"284":{"tf":1.4142135623730951},"285":{"tf":1.4142135623730951}}},"z":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"159":{"tf":1.0},"169":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":17,"docs":{"155":{"tf":1.0},"159":{"tf":1.0},"165":{"tf":1.0},"176":{"tf":1.4142135623730951},"179":{"tf":1.4142135623730951},"233":{"tf":2.449489742783178},"237":{"tf":1.0},"238":{"tf":1.0},"248":{"tf":1.0},"249":{"tf":1.4142135623730951},"259":{"tf":1.0},"262":{"tf":2.0},"264":{"tf":1.0},"265":{"tf":2.23606797749979},"269":{"tf":1.4142135623730951},"33":{"tf":3.0},"54":{"tf":2.0}}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"81":{"tf":1.7320508075688772}}}}},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"185":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"170":{"tf":1.0}}}}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}}},"df":1,"docs":{"185":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":10,"docs":{"117":{"tf":1.4142135623730951},"173":{"tf":1.0},"184":{"tf":1.0},"185":{"tf":1.0},"233":{"tf":1.0},"262":{"tf":1.4142135623730951},"265":{"tf":1.0},"32":{"tf":1.0},"54":{"tf":2.0},"61":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"t":{"df":3,"docs":{"227":{"tf":1.4142135623730951},"230":{"tf":2.449489742783178},"274":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"107":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":5,"docs":{"264":{"tf":1.0},"265":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.4142135623730951},"288":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"185":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"(":{"&":{"'":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":1,"docs":{"185":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"*":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"(":{")":{".":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"181":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"181":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"211":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"(":{"_":{"df":1,"docs":{"238":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":1,"docs":{"238":{"tf":1.0}}}},"*":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}}},"_":{"df":2,"docs":{"184":{"tf":1.0},"279":{"tf":1.4142135623730951}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"206":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"c":{"1":{"df":1,"docs":{"279":{"tf":1.0}}},"2":{"df":1,"docs":{"279":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"233":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"a":{"d":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"206":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"25":{"tf":1.0}}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"v":{"df":1,"docs":{"238":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"207":{"tf":1.0},"208":{"tf":1.0},"210":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"207":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"o":{"d":{"df":2,"docs":{"207":{"tf":1.4142135623730951},"208":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"207":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"256":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"256":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{")":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"|":{"_":{"df":1,"docs":{"256":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"256":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"0":{"df":1,"docs":{"168":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"(":{")":{".":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"182":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"182":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":2,"docs":{"174":{"tf":1.0},"177":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"296":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"t":{"/":{"b":{"df":0,"docs":{},"u":{"b":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"56":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":70,"docs":{"122":{"tf":1.4142135623730951},"123":{"tf":2.449489742783178},"124":{"tf":1.0},"125":{"tf":1.4142135623730951},"126":{"tf":1.0},"127":{"tf":1.7320508075688772},"128":{"tf":1.7320508075688772},"129":{"tf":1.7320508075688772},"130":{"tf":1.4142135623730951},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.7320508075688772},"134":{"tf":2.6457513110645907},"135":{"tf":1.4142135623730951},"136":{"tf":3.0},"137":{"tf":1.0},"138":{"tf":2.23606797749979},"139":{"tf":1.0},"140":{"tf":1.4142135623730951},"141":{"tf":1.0},"142":{"tf":1.7320508075688772},"143":{"tf":2.6457513110645907},"144":{"tf":2.0},"145":{"tf":4.123105625617661},"146":{"tf":2.8284271247461903},"147":{"tf":3.1622776601683795},"148":{"tf":1.0},"149":{"tf":3.1622776601683795},"150":{"tf":2.23606797749979},"151":{"tf":3.0},"152":{"tf":1.7320508075688772},"20":{"tf":1.0},"38":{"tf":2.0},"4":{"tf":2.449489742783178},"46":{"tf":1.0},"47":{"tf":1.0},"56":{"tf":2.449489742783178},"57":{"tf":1.4142135623730951},"58":{"tf":1.7320508075688772},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":3.1622776601683795},"62":{"tf":1.7320508075688772},"63":{"tf":2.6457513110645907},"64":{"tf":1.7320508075688772},"65":{"tf":2.0},"66":{"tf":1.7320508075688772},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.4142135623730951},"70":{"tf":2.0},"71":{"tf":2.6457513110645907},"72":{"tf":1.0},"73":{"tf":1.7320508075688772},"74":{"tf":1.0},"75":{"tf":1.7320508075688772},"76":{"tf":1.4142135623730951},"77":{"tf":1.7320508075688772},"78":{"tf":2.0},"79":{"tf":1.4142135623730951},"81":{"tf":3.7416573867739413},"82":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":2.23606797749979},"87":{"tf":1.7320508075688772},"90":{"tf":1.4142135623730951},"91":{"tf":1.0},"92":{"tf":1.4142135623730951},"93":{"tf":1.0},"94":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"151":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"。":{"b":{"df":0,"docs":{},"u":{"b":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"71":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}}}}}}},",":{"df":0,"docs":{},"但":{"df":0,"docs":{},"前":{"df":0,"docs":{},"一":{"df":0,"docs":{},"次":{"df":0,"docs":{},"結":{"df":0,"docs":{},"果":{"df":0,"docs":{},"已":{"df":0,"docs":{},"經":{"df":0,"docs":{},"很":{"df":0,"docs":{},"接":{"df":0,"docs":{},"近":{"df":0,"docs":{},"排":{"df":0,"docs":{},"序":{"df":0,"docs":{},"完":{"df":0,"docs":{},"成":{"df":0,"docs":{},",":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"81":{"tf":1.0}}}}}}}}}}}}}}}}}}}}}}}},"此":{"df":0,"docs":{},"時":{"df":0,"docs":{},"大":{"df":0,"docs":{},"部":{"df":0,"docs":{},"分":{"df":0,"docs":{},"元":{"df":0,"docs":{},"素":{"df":0,"docs":{},"皆":{"df":0,"docs":{},"排":{"df":0,"docs":{},"序":{"df":0,"docs":{},"完":{"df":0,"docs":{},"成":{"df":0,"docs":{},",":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}}}}}}}}}}}}}}}}}}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":4,"docs":{"274":{"tf":1.0},"275":{"tf":1.0},"278":{"tf":1.4142135623730951},"279":{"tf":1.7320508075688772}},"e":{".":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"279":{"tf":1.0}},"s":{"(":{")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"287":{"tf":1.4142135623730951},"289":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"286":{"tf":1.0},"287":{"tf":1.0},"289":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"286":{"tf":1.0},"287":{"tf":1.0},"289":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"279":{"tf":1.0}}}}}}},"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"287":{"tf":2.0},"288":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"p":{"a":{"c":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"276":{"tf":1.0}}}}}},"df":23,"docs":{"100":{"tf":1.4142135623730951},"113":{"tf":1.0},"115":{"tf":1.4142135623730951},"126":{"tf":1.0},"128":{"tf":1.4142135623730951},"137":{"tf":1.0},"140":{"tf":1.4142135623730951},"148":{"tf":1.0},"150":{"tf":1.4142135623730951},"214":{"tf":1.0},"24":{"tf":1.0},"290":{"tf":1.4142135623730951},"30":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"51":{"tf":1.0},"58":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":1.0},"88":{"tf":1.0},"98":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"112":{"tf":1.4142135623730951},"117":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"193":{"tf":1.0}}}}}},"r":{"c":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"/":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"3":{"4":{"4":{":":{"6":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{":":{"1":{"2":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"5":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"3":{":":{"2":{"3":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"9":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"/":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"2":{"5":{"3":{":":{"9":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"1":{"7":{":":{"4":{"8":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{":":{"5":{"3":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{":":{"9":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"3":{":":{"2":{"4":{"df":1,"docs":{"264":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"7":{":":{"2":{"3":{"df":1,"docs":{"262":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{":":{"5":{"df":1,"docs":{"262":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":2,"docs":{"180":{"tf":1.0},"182":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"s":{"d":{"df":1,"docs":{"274":{"tf":1.0}}},"df":0,"docs":{}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"145":{"tf":1.0},"70":{"tf":1.0}}}},"c":{"df":0,"docs":{},"k":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"154":{"tf":1.0}}}},"df":17,"docs":{"100":{"tf":1.7320508075688772},"105":{"tf":1.7320508075688772},"115":{"tf":1.0},"153":{"tf":2.23606797749979},"154":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.0},"161":{"tf":1.0},"162":{"tf":1.4142135623730951},"200":{"tf":1.0},"210":{"tf":2.23606797749979},"6":{"tf":1.0},"99":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"x":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"215":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"215":{"tf":1.0}}}}}}}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":7,"docs":{"118":{"tf":1.0},"124":{"tf":1.4142135623730951},"125":{"tf":1.4142135623730951},"132":{"tf":1.4142135623730951},"211":{"tf":1.0},"34":{"tf":1.7320508075688772},"92":{"tf":3.0}}}},"t":{"df":0,"docs":{},"e":{"df":3,"docs":{"131":{"tf":1.4142135623730951},"132":{"tf":1.4142135623730951},"233":{"tf":1.0}}},"i":{"c":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":1,"docs":{"0":{"tf":1.0}}}}},"d":{":":{":":{"c":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"118":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"256":{"tf":1.0}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"264":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":3,"docs":{"263":{"tf":1.0},"264":{"tf":1.4142135623730951},"265":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"d":{"df":0,"docs":{},"t":{"df":1,"docs":{"225":{"tf":1.0}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{":":{":":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"184":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{},"f":{"3":{"2":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"267":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"4":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"267":{"tf":1.0}},"s":{":":{":":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"_":{"2":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"f":{"(":{"2":{"df":0,"docs":{},"f":{"6":{"4":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{":":{":":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"213":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":1,"docs":{"213":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"213":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{":":{":":{"df":0,"docs":{},"{":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"233":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"<":{"'":{"_":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"240":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"225":{"tf":1.0}}},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":2,"docs":{"264":{"tf":1.7320508075688772},"265":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"256":{"tf":1.0}}}},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"240":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"<":{"'":{"_":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"(":{"&":{"df":0,"docs":{},"k":{"df":1,"docs":{"240":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"c":{":":{":":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"240":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":1,"docs":{"164":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":2,"docs":{"267":{"tf":1.0},"291":{"tf":1.0}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":2,"docs":{"225":{"tf":1.0},"244":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"174":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":4,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"142":{"tf":1.0},"44":{"tf":1.0}}}}},"r":{":":{":":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"279":{"tf":1.4142135623730951},"287":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"287":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":6,"docs":{"237":{"tf":1.0},"264":{"tf":1.0},"279":{"tf":1.4142135623730951},"286":{"tf":2.0},"287":{"tf":1.4142135623730951},"289":{"tf":1.4142135623730951}},"e":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":5,"docs":{"233":{"tf":1.0},"237":{"tf":1.0},"264":{"tf":1.0},"265":{"tf":1.0},"286":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":22,"docs":{"142":{"tf":1.4142135623730951},"154":{"tf":1.0},"164":{"tf":1.0},"174":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.0},"185":{"tf":1.4142135623730951},"186":{"tf":1.0},"188":{"tf":1.0},"202":{"tf":1.7320508075688772},"203":{"tf":2.23606797749979},"210":{"tf":1.4142135623730951},"211":{"tf":3.1622776601683795},"233":{"tf":1.0},"234":{"tf":1.4142135623730951},"240":{"tf":1.4142135623730951},"247":{"tf":1.0},"262":{"tf":2.449489742783178},"263":{"tf":1.0},"264":{"tf":3.3166247903554},"265":{"tf":1.4142135623730951},"269":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"200":{"tf":1.0},"259":{"tf":1.0},"273":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"u":{"b":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"112":{"tf":1.4142135623730951},"97":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":3,"docs":{"287":{"tf":2.0},"289":{"tf":2.6457513110645907},"54":{"tf":1.7320508075688772}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"200":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"145":{"tf":1.0},"146":{"tf":1.4142135623730951},"149":{"tf":1.4142135623730951}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":2,"docs":{"118":{"tf":1.0},"81":{"tf":2.6457513110645907}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"282":{"tf":1.0},"289":{"tf":1.0}}}}}},"r":{"df":2,"docs":{"284":{"tf":1.0},"9":{"tf":1.0}},"e":{"df":1,"docs":{"92":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"179":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"89":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"176":{"tf":1.0},"264":{"tf":1.0}}}},"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"{":{"df":0,"docs":{},"i":{"=":{"0":{"df":0,"docs":{},"}":{"^":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"df":1,"docs":{"75":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"1":{"df":0,"docs":{},"}":{"^":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"df":1,"docs":{"66":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"99":{"tf":1.0}}}}},"df":6,"docs":{"124":{"tf":1.4142135623730951},"125":{"tf":4.358898943540674},"127":{"tf":1.0},"131":{"tf":2.449489742783178},"132":{"tf":2.23606797749979},"91":{"tf":1.4142135623730951}}}},"v":{"df":0,"docs":{},"g":{"df":3,"docs":{"199":{"tf":1.0},"215":{"tf":1.0},"47":{"tf":1.4142135623730951}}}},"w":{"a":{"df":0,"docs":{},"p":{"'":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"92":{"tf":1.0}}}}},"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"238":{"tf":1.0}}}}}}}},"df":6,"docs":{"103":{"tf":1.4142135623730951},"107":{"tf":1.0},"108":{"tf":1.0},"76":{"tf":2.0},"87":{"tf":2.0},"97":{"tf":2.6457513110645907}},")":{"df":0,"docs":{},"、":{"df":0,"docs":{},"賦":{"df":0,"docs":{},"值":{"df":0,"docs":{},"(":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"61":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}},"改":{"df":0,"docs":{},"為":{"df":0,"docs":{},"插":{"df":0,"docs":{},"入":{"df":0,"docs":{},"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"65":{"tf":1.0}}}}}}}}}}}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"8":{"df":3,"docs":{"62":{"tf":1.0},"72":{"tf":1.0},"77":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":2,"docs":{"0":{"tf":1.0},"109":{"tf":1.0}}}}}},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"256":{"tf":1.0},"257":{"tf":1.0}},"i":{"c":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"250":{"tf":1.0},"255":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"<":{"'":{"a":{">":{"(":{"&":{"'":{"a":{"df":1,"docs":{"252":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"47":{"tf":1.0}}}}}}}}}}},"t":{"(":{"\\":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"114":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"n":{"df":1,"docs":{"114":{"tf":1.7320508075688772}}}},">":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":3,"docs":{"130":{"tf":1.0},"132":{"tf":1.0},"143":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"]":{"df":0,"docs":{},"。":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}}}},"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"244":{"tf":1.4142135623730951}},"e":{"[":{"0":{"df":1,"docs":{"227":{"tf":1.0}}},"1":{"df":1,"docs":{"227":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"227":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":15,"docs":{"100":{"tf":1.0},"105":{"tf":1.0},"174":{"tf":1.0},"175":{"tf":3.3166247903554},"177":{"tf":1.4142135623730951},"179":{"tf":1.4142135623730951},"180":{"tf":2.0},"181":{"tf":1.4142135623730951},"182":{"tf":1.7320508075688772},"185":{"tf":3.3166247903554},"189":{"tf":1.0},"196":{"tf":2.0},"200":{"tf":1.0},"204":{"tf":1.0},"210":{"tf":1.4142135623730951}},"、":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"189":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"k":{"df":0,"docs":{},"e":{"df":5,"docs":{"206":{"tf":1.0},"207":{"tf":1.0},"208":{"tf":1.0},"210":{"tf":1.0},"251":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"105":{"tf":1.0}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}},"t":{")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"278":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"279":{"tf":1.0}},"s":{"(":{")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"287":{"tf":1.4142135623730951},"289":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"286":{"tf":1.0},"287":{"tf":1.0},"289":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"286":{"tf":1.0},"287":{"tf":1.0},"289":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"279":{"tf":1.0}}}}}}},"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"287":{"tf":2.0},"288":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"df":10,"docs":{"25":{"tf":1.4142135623730951},"278":{"tf":1.7320508075688772},"279":{"tf":2.0},"286":{"tf":1.4142135623730951},"287":{"tf":1.0},"289":{"tf":1.4142135623730951},"32":{"tf":1.0},"33":{"tf":2.0},"44":{"tf":4.123105625617661},"54":{"tf":1.7320508075688772}}}}}}},"c":{"df":0,"docs":{},"o":{"df":1,"docs":{"105":{"tf":2.0}}}},"df":33,"docs":{"130":{"tf":1.7320508075688772},"132":{"tf":1.4142135623730951},"142":{"tf":2.23606797749979},"143":{"tf":2.449489742783178},"151":{"tf":1.4142135623730951},"157":{"tf":1.0},"167":{"tf":1.0},"175":{"tf":3.0},"176":{"tf":1.7320508075688772},"179":{"tf":1.4142135623730951},"180":{"tf":2.449489742783178},"182":{"tf":1.4142135623730951},"185":{"tf":5.744562646538029},"186":{"tf":3.1622776601683795},"187":{"tf":1.4142135623730951},"188":{"tf":1.0},"202":{"tf":1.7320508075688772},"206":{"tf":1.0},"207":{"tf":1.0},"211":{"tf":3.872983346207417},"247":{"tf":1.0},"249":{"tf":2.23606797749979},"25":{"tf":2.6457513110645907},"251":{"tf":3.605551275463989},"252":{"tf":2.0},"255":{"tf":1.7320508075688772},"256":{"tf":1.7320508075688772},"264":{"tf":2.449489742783178},"268":{"tf":2.0},"269":{"tf":2.8284271247461903},"32":{"tf":2.0},"33":{"tf":1.7320508075688772},"54":{"tf":1.7320508075688772}},"e":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"105":{"tf":1.0},"210":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"67":{"tf":1.7320508075688772}}}},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"16":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"294":{"tf":1.0}}}},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"242":{"tf":1.0}},"{":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"y":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"50":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":3,"docs":{"114":{"tf":1.0},"284":{"tf":1.4142135623730951},"286":{"tf":1.0}}}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":2,"docs":{"231":{"tf":1.0},"242":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":2,"docs":{"114":{"tf":1.0},"284":{"tf":1.0}}}}}}}}}}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"176":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"114":{"tf":1.0}}}},"i":{"df":2,"docs":{"223":{"tf":1.0},"258":{"tf":1.0}}}}},"t":{"a":{"$":{"df":0,"docs":{},":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"19":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"(":{"1":{"+":{"\\":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"df":0,"docs":{},"k":{"df":1,"docs":{"242":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"19":{"tf":1.0}}}},"df":0,"docs":{}},"n":{"df":1,"docs":{"19":{"tf":1.0}}}},"df":1,"docs":{"19":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"274":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":2,"docs":{"256":{"tf":1.0},"44":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"274":{"tf":1.0}}}}}}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":9,"docs":{"114":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951},"149":{"tf":1.4142135623730951},"22":{"tf":1.0},"262":{"tf":1.4142135623730951},"270":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.4142135623730951},"99":{"tf":1.4142135623730951}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"121":{"tf":1.7320508075688772},"4":{"tf":1.0}}}}}}}},"o":{"_":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"132":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"p":{"df":3,"docs":{"116":{"tf":1.0},"117":{"tf":1.4142135623730951},"119":{"tf":1.0}}},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"256":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"r":{"a":{"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"276":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":23,"docs":{"143":{"tf":1.0},"183":{"tf":1.0},"185":{"tf":1.7320508075688772},"188":{"tf":1.0},"205":{"tf":1.0},"209":{"tf":1.7320508075688772},"210":{"tf":1.7320508075688772},"211":{"tf":2.6457513110645907},"212":{"tf":2.0},"213":{"tf":1.7320508075688772},"232":{"tf":1.0},"233":{"tf":2.23606797749979},"236":{"tf":1.0},"237":{"tf":1.0},"240":{"tf":3.3166247903554},"251":{"tf":1.4142135623730951},"255":{"tf":1.7320508075688772},"256":{"tf":2.0},"265":{"tf":1.7320508075688772},"288":{"tf":1.0},"44":{"tf":1.4142135623730951},"67":{"tf":1.0},"83":{"tf":1.0}},",":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":1,"docs":{"233":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"208":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"256":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"211":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":3,"docs":{"274":{"tf":1.0},"46":{"tf":1.4142135623730951},"87":{"tf":1.0}},"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}}}}},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"251":{"tf":1.0}}}},"u":{"df":0,"docs":{},"e":{"df":7,"docs":{"157":{"tf":1.0},"168":{"tf":1.0},"256":{"tf":2.0},"262":{"tf":1.4142135623730951},"268":{"tf":1.0},"269":{"tf":1.0},"76":{"tf":1.7320508075688772}}}},"y":{"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"176":{"tf":1.0},"180":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":3,"docs":{"176":{"tf":1.4142135623730951},"178":{"tf":1.0},"180":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":1,"docs":{"235":{"tf":1.0}},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"239":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"211":{"tf":1.0},"247":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"j":{"df":1,"docs":{"291":{"tf":1.0}}}}}}}},"w":{"df":0,"docs":{},"o":{"df":4,"docs":{"103":{"tf":1.0},"108":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":18,"docs":{"162":{"tf":1.0},"172":{"tf":1.0},"176":{"tf":1.4142135623730951},"185":{"tf":2.23606797749979},"186":{"tf":2.6457513110645907},"187":{"tf":1.0},"211":{"tf":2.23606797749979},"233":{"tf":1.0},"234":{"tf":1.4142135623730951},"240":{"tf":1.7320508075688772},"245":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":2.0},"251":{"tf":1.4142135623730951},"255":{"tf":1.0},"262":{"tf":1.0},"264":{"tf":2.23606797749979},"287":{"tf":1.0}},"s":{"df":0,"docs":{},"(":{"d":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"233":{"tf":1.0},"262":{"tf":1.0}}}}},"df":0,"docs":{},"z":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}}}}}}},"、":{"df":0,"docs":{},"k":{"df":0,"docs":{},"、":{"df":0,"docs":{},"v":{"df":1,"docs":{"264":{"tf":1.0}}}}}}},"u":{"3":{"2":{">":{"df":0,"docs":{},",":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"264":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":2,"docs":{"264":{"tf":1.0},"278":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"6":{"4":{"df":3,"docs":{"268":{"tf":2.6457513110645907},"269":{"tf":3.0},"278":{"tf":2.0}}},"df":0,"docs":{}},"8":{"df":1,"docs":{"237":{"tf":1.0}}},"df":0,"docs":{},"m":{"d":{"df":1,"docs":{"89":{"tf":1.0}}},"df":0,"docs":{}},"n":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"217":{"tf":1.0}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"176":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"279":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":3,"docs":{"229":{"tf":1.0},"43":{"tf":1.7320508075688772},"47":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"n":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"251":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"<":{"'":{"a":{">":{"(":{"&":{"'":{"a":{"df":2,"docs":{"251":{"tf":1.4142135623730951},"252":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"251":{"tf":1.4142135623730951},"252":{"tf":1.4142135623730951},"255":{"tf":1.0},"257":{"tf":1.0}},":":{"df":0,"docs":{},"聯":{"df":0,"docs":{},"集":{"df":0,"docs":{},",":{"a":{"df":1,"docs":{"250":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"t":{"df":3,"docs":{"244":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.7320508075688772}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":3,"docs":{"122":{"tf":1.0},"152":{"tf":1.0},"93":{"tf":1.0}}}}}}},"s":{"a":{"df":0,"docs":{},"f":{"df":6,"docs":{"176":{"tf":2.23606797749979},"180":{"tf":1.0},"181":{"tf":1.7320508075688772},"182":{"tf":2.0},"185":{"tf":1.7320508075688772},"187":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},")":{"df":0,"docs":{},"是":{"df":0,"docs":{},"邏":{"df":0,"docs":{},"輯":{"df":0,"docs":{},"右":{"df":0,"docs":{},"移":{"df":0,"docs":{},"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"278":{"tf":1.0}}}}}}}}}}}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":6,"docs":{"63":{"tf":1.4142135623730951},"64":{"tf":1.7320508075688772},"67":{"tf":1.0},"85":{"tf":1.4142135623730951},"87":{"tf":1.0},"92":{"tf":1.4142135623730951}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"70":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"176":{"tf":1.0},"264":{"tf":1.0}}}},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"&":{"0":{"df":1,"docs":{"151":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"287":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"241":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":5,"docs":{"116":{"tf":1.0},"118":{"tf":1.4142135623730951},"119":{"tf":1.0},"285":{"tf":1.0},"91":{"tf":1.4142135623730951}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"118":{"tf":1.4142135623730951},"54":{"tf":1.0},"67":{"tf":1.0}}}}}},"s":{"df":12,"docs":{"132":{"tf":1.0},"144":{"tf":1.0},"151":{"tf":1.0},"211":{"tf":1.0},"233":{"tf":1.0},"251":{"tf":1.0},"262":{"tf":1.0},"263":{"tf":1.0},"264":{"tf":2.23606797749979},"265":{"tf":1.4142135623730951},"267":{"tf":1.0},"54":{"tf":1.0}},"e":{"_":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"(":{"a":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"z":{"df":42,"docs":{"103":{"tf":2.449489742783178},"107":{"tf":2.6457513110645907},"108":{"tf":1.7320508075688772},"130":{"tf":2.0},"132":{"tf":1.7320508075688772},"151":{"tf":1.0},"154":{"tf":1.0},"156":{"tf":1.0},"159":{"tf":1.0},"169":{"tf":1.0},"174":{"tf":1.4142135623730951},"176":{"tf":1.4142135623730951},"177":{"tf":1.4142135623730951},"179":{"tf":3.4641016151377544},"181":{"tf":1.0},"185":{"tf":2.0},"187":{"tf":1.4142135623730951},"188":{"tf":1.0},"207":{"tf":1.7320508075688772},"233":{"tf":1.4142135623730951},"234":{"tf":1.0},"236":{"tf":2.23606797749979},"249":{"tf":1.0},"262":{"tf":1.4142135623730951},"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":2.8284271247461903},"268":{"tf":1.4142135623730951},"269":{"tf":3.0},"279":{"tf":1.0},"286":{"tf":1.4142135623730951},"287":{"tf":1.7320508075688772},"288":{"tf":1.0},"289":{"tf":1.4142135623730951},"32":{"tf":1.0},"33":{"tf":1.7320508075688772},"44":{"tf":2.23606797749979},"54":{"tf":1.0},"61":{"tf":1.0},"76":{"tf":1.0},"83":{"tf":1.7320508075688772},"92":{"tf":1.4142135623730951}},"e":{":":{":":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"x":{"df":1,"docs":{"179":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"f":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}}}},"v":{">":{">":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"236":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"61":{"tf":1.0}},"i":{"d":{"df":5,"docs":{"181":{"tf":1.4142135623730951},"182":{"tf":2.0},"185":{"tf":1.0},"187":{"tf":1.4142135623730951},"92":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":18,"docs":{"107":{"tf":1.7320508075688772},"125":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":2.0},"136":{"tf":1.4142135623730951},"142":{"tf":2.8284271247461903},"143":{"tf":2.449489742783178},"211":{"tf":1.0},"216":{"tf":1.0},"230":{"tf":1.0},"234":{"tf":1.4142135623730951},"237":{"tf":1.4142135623730951},"238":{"tf":2.0},"249":{"tf":2.23606797749979},"251":{"tf":1.0},"262":{"tf":1.7320508075688772},"44":{"tf":1.4142135623730951},"96":{"tf":1.4142135623730951}},"e":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"132":{"tf":1.4142135623730951},"143":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"251":{"tf":1.0},"44":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":16,"docs":{"112":{"tf":1.4142135623730951},"136":{"tf":3.4641016151377544},"189":{"tf":1.0},"196":{"tf":1.4142135623730951},"197":{"tf":1.0},"200":{"tf":1.0},"230":{"tf":1.0},"234":{"tf":2.8284271247461903},"236":{"tf":2.23606797749979},"237":{"tf":2.0},"238":{"tf":2.0},"239":{"tf":1.4142135623730951},"240":{"tf":3.3166247903554},"241":{"tf":1.7320508075688772},"257":{"tf":1.0},"264":{"tf":1.0}},"e":{"c":{"!":{"[":{"0":{"df":1,"docs":{"288":{"tf":1.0}}},"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}}}},"df":0,"docs":{}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"142":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"!":{"[":{"0":{"df":2,"docs":{"287":{"tf":1.4142135623730951},"288":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":1,"docs":{"131":{"tf":1.0}}}}}},":":{":":{"<":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{"df":1,"docs":{"236":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"237":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":3,"docs":{"143":{"tf":1.0},"166":{"tf":1.0},"236":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"171":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"238":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"x":{"df":0,"docs":{},"s":{"df":1,"docs":{"156":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"<":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"234":{"tf":1.4142135623730951}}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":4,"docs":{"262":{"tf":1.0},"263":{"tf":1.0},"264":{"tf":1.4142135623730951},"269":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"h":{"df":1,"docs":{"143":{"tf":1.0}}},"k":{"df":2,"docs":{"234":{"tf":1.0},"236":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"df":4,"docs":{"142":{"tf":1.0},"154":{"tf":1.0},"164":{"tf":1.0},"171":{"tf":1.0}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"288":{"tf":1.0},"289":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"u":{"8":{"df":1,"docs":{"264":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":1,"docs":{"288":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":2,"docs":{"190":{"tf":1.0},"193":{"tf":1.0}},"e":{":":{":":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"180":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":14,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"131":{"tf":1.0},"142":{"tf":1.0},"166":{"tf":1.0},"167":{"tf":1.0},"170":{"tf":1.4142135623730951},"176":{"tf":1.4142135623730951},"234":{"tf":1.4142135623730951},"236":{"tf":1.0},"239":{"tf":1.0},"262":{"tf":2.449489742783178},"287":{"tf":1.0},"288":{"tf":2.0}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":9,"docs":{"117":{"tf":1.0},"153":{"tf":1.0},"156":{"tf":2.23606797749979},"157":{"tf":1.0},"163":{"tf":1.0},"234":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"287":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":2,"docs":{"250":{"tf":1.0},"258":{"tf":1.0}}}}},"i":{"a":{"df":11,"docs":{"122":{"tf":1.0},"190":{"tf":1.0},"199":{"tf":1.0},"225":{"tf":1.0},"244":{"tf":1.0},"258":{"tf":1.0},"47":{"tf":1.4142135623730951},"62":{"tf":1.0},"70":{"tf":1.0},"77":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"179":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":1,"docs":{"10":{"tf":1.0}}}},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"47":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":3,"docs":{"107":{"tf":1.0},"108":{"tf":1.0},"256":{"tf":1.0}},"n":{"df":2,"docs":{"109":{"tf":1.0},"244":{"tf":1.0}}}}},"df":1,"docs":{"260":{"tf":1.4142135623730951}},"e":{"b":{"df":1,"docs":{"133":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"13":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"12":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"296":{"tf":1.4142135623730951}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"185":{"tf":1.0},"44":{"tf":1.0}}}}}}}},"i":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"w":{"7":{"7":{"2":{"1":{"0":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"d":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"118":{"tf":2.6457513110645907}}}}},"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":25,"docs":{"109":{"tf":1.0},"122":{"tf":1.0},"133":{"tf":1.0},"144":{"tf":1.4142135623730951},"152":{"tf":1.0},"163":{"tf":1.0},"190":{"tf":1.0},"199":{"tf":1.0},"22":{"tf":1.4142135623730951},"225":{"tf":1.4142135623730951},"244":{"tf":1.4142135623730951},"258":{"tf":1.0},"26":{"tf":1.0},"276":{"tf":1.0},"281":{"tf":1.0},"291":{"tf":1.0},"39":{"tf":1.0},"47":{"tf":1.0},"55":{"tf":1.0},"62":{"tf":1.0},"70":{"tf":1.0},"77":{"tf":1.0},"84":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.4142135623730951}},"m":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"a":{"df":10,"docs":{"122":{"tf":1.0},"190":{"tf":1.0},"199":{"tf":1.0},"225":{"tf":1.0},"244":{"tf":1.0},"47":{"tf":1.4142135623730951},"62":{"tf":1.0},"70":{"tf":1.0},"77":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"a":{"df":4,"docs":{"153":{"tf":1.4142135623730951},"163":{"tf":1.0},"258":{"tf":1.0},"271":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"h":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":3,"docs":{"155":{"tf":1.0},"176":{"tf":1.4142135623730951},"235":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"(":{"c":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"176":{"tf":1.0},"236":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"x":{"df":0,"docs":{},"s":{"df":1,"docs":{"156":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"180":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"d":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":5,"docs":{"263":{"tf":1.0},"264":{"tf":1.7320508075688772},"293":{"tf":1.0},"62":{"tf":1.0},"77":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":21,"docs":{"113":{"tf":1.4142135623730951},"126":{"tf":1.4142135623730951},"137":{"tf":1.4142135623730951},"138":{"tf":1.4142135623730951},"148":{"tf":1.4142135623730951},"161":{"tf":1.0},"171":{"tf":1.0},"189":{"tf":1.0},"24":{"tf":1.4142135623730951},"241":{"tf":1.0},"257":{"tf":1.0},"290":{"tf":1.7320508075688772},"30":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951},"88":{"tf":1.4142135623730951},"98":{"tf":1.4142135623730951}}}}}},"r":{"a":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"a":{"d":{"d":{"(":{"a":{"d":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"179":{"tf":1.0}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"a":{"d":{"d":{"(":{"1":{"df":1,"docs":{"185":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"187":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":4,"docs":{"179":{"tf":1.0},"181":{"tf":1.4142135623730951},"182":{"tf":2.0},"187":{"tf":1.4142135623730951}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"a":{"d":{"d":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"179":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"179":{"tf":1.0}},"、":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"df":1,"docs":{"178":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"268":{"tf":1.0}}}},"s":{"df":0,"docs":{},"u":{"b":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"179":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"!":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"213":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"296":{"tf":1.4142135623730951},"34":{"tf":1.0}}}}}}},"x":{",":{"df":0,"docs":{},"y":{",":{"df":0,"docs":{},"z":{"df":1,"docs":{"260":{"tf":1.0}}}},"df":0,"docs":{}}},".":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"210":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"233":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"^":{"2":{"df":1,"docs":{"16":{"tf":1.0}}},"4":{"+":{"5":{"\\":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"{":{"3":{"df":0,"docs":{},"}":{"^":{"df":0,"docs":{},"{":{"2":{"6":{"df":0,"docs":{},"}":{"8":{"8":{"df":0,"docs":{},"x":{"^":{"3":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"0":{",":{"df":0,"docs":{},"x":{"_":{"1":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"y":{"_":{"0":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"42":{"tf":1.4142135623730951}}},"1":{",":{"df":0,"docs":{},"y":{"_":{"1":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":17,"docs":{"131":{"tf":1.7320508075688772},"132":{"tf":1.7320508075688772},"139":{"tf":1.4142135623730951},"151":{"tf":1.0},"175":{"tf":6.082762530298219},"179":{"tf":2.0},"180":{"tf":6.48074069840786},"210":{"tf":1.0},"233":{"tf":1.7320508075688772},"25":{"tf":1.0},"256":{"tf":5.916079783099616},"272":{"tf":1.0},"275":{"tf":1.4142135623730951},"287":{"tf":1.0},"289":{"tf":1.4142135623730951},"42":{"tf":2.449489742783178},"50":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"255":{"tf":1.0},"275":{"tf":1.4142135623730951},"278":{"tf":2.8284271247461903}}}},"」":{"df":0,"docs":{},"或":{"df":0,"docs":{},"是":{"df":0,"docs":{},"「":{"df":0,"docs":{},"x":{"df":1,"docs":{"272":{"tf":1.0}}}}}}}},"y":{".":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"210":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"_":{"0":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"df":0,"docs":{},"x":{"_":{"1":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"42":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":5,"docs":{"210":{"tf":1.0},"256":{"tf":5.5677643628300215},"42":{"tf":1.7320508075688772},"43":{"tf":1.4142135623730951},"47":{"tf":1.0}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}}}}},"z":{".":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"210":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":2,"docs":{"210":{"tf":1.0},"256":{"tf":2.8284271247461903}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":4,"docs":{"176":{"tf":1.7320508075688772},"248":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"212":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"176":{"tf":2.23606797749979},"179":{"tf":1.0},"248":{"tf":1.7320508075688772}}}}}}},"title":{"root":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}}}},"r":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"131":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"216":{"tf":1.0}}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}}}}}}}},"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"139":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"27":{"tf":1.0},"38":{"tf":1.0},"61":{"tf":1.0}}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":4,"docs":{"224":{"tf":1.0},"259":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0}}}}}},"u":{"b":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"71":{"tf":1.0}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"134":{"tf":1.0},"142":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"89":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"118":{"tf":1.0}}}}}}}},"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":2,"docs":{"138":{"tf":1.0},"139":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"b":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":10,"docs":{"100":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"140":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.0},"75":{"tf":1.0},"99":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"216":{"tf":1.0}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"123":{"tf":1.0},"272":{"tf":1.0}}}}}},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":1,"docs":{"275":{"tf":1.0}}}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":2,"docs":{"188":{"tf":1.0},"213":{"tf":1.0}}}}},"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":2,"docs":{"173":{"tf":1.0},"177":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":2,"docs":{"277":{"tf":1.0},"282":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":2,"docs":{"117":{"tf":1.0},"90":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":2,"docs":{"184":{"tf":1.0},"210":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"265":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":1,"docs":{"233":{"tf":1.0}}},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"37":{"tf":1.0},"48":{"tf":1.0}}}}}}}}}}},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"224":{"tf":1.0},"259":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"130":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"g":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"80":{"tf":1.0}}}},"df":0,"docs":{}},"h":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"277":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"df":3,"docs":{"220":{"tf":1.0},"226":{"tf":1.0},"233":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"196":{"tf":1.0}}},"df":0,"docs":{},"p":{"df":1,"docs":{"89":{"tf":1.0}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"89":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"69":{"tf":1.0},"85":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":2,"docs":{"132":{"tf":1.0},"187":{"tf":1.0}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"187":{"tf":1.0}}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":3,"docs":{"38":{"tf":1.0},"56":{"tf":1.0},"61":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":3,"docs":{"36":{"tf":1.0},"40":{"tf":1.0},"46":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"186":{"tf":1.0},"211":{"tf":1.0}}}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"185":{"tf":1.0},"211":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"282":{"tf":1.0}}}}}}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":0,"docs":{}},"k":{"df":2,"docs":{"191":{"tf":1.0},"200":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"191":{"tf":1.0},"200":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":1,"docs":{"96":{"tf":1.0}}}}}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":3,"docs":{"220":{"tf":1.0},"221":{"tf":1.0},"226":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"119":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"110":{"tf":1.0}}}}}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"222":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"df":3,"docs":{"195":{"tf":1.0},"197":{"tf":1.0},"202":{"tf":1.0}}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"$":{"df":0,"docs":{},":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"17":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":1,"docs":{"17":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"a":{"$":{"df":0,"docs":{},":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"18":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":1,"docs":{"18":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"296":{"tf":1.0}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"221":{"tf":1.0}}}}},"df":0,"docs":{}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"119":{"tf":1.0}},"i":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":1,"docs":{"212":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":2,"docs":{"103":{"tf":1.0},"96":{"tf":1.0}}}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"264":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"106":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"163":{"tf":1.0}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"94":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"274":{"tf":1.0}}}}}}}}}},"r":{"a":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"145":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"102":{"tf":1.0}}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"0":{"tf":1.0},"295":{"tf":1.0}}}}}},"s":{"c":{"a":{"df":0,"docs":{},"l":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"273":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"96":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":7,"docs":{"23":{"tf":1.0},"27":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"40":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"197":{"tf":1.0}}}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"80":{"tf":1.0}}},"df":0,"docs":{}}}}},"t":{"df":2,"docs":{"223":{"tf":1.0},"245":{"tf":1.0}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}}}}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"90":{"tf":1.0}}}},"g":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"130":{"tf":1.0}}}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"200":{"tf":1.0}}},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"203":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}}},"z":{"df":0,"docs":{},"e":{"df":1,"docs":{"265":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"296":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"t":{"df":10,"docs":{"123":{"tf":1.0},"134":{"tf":1.0},"143":{"tf":1.0},"145":{"tf":1.0},"38":{"tf":1.0},"56":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0},"71":{"tf":1.0},"90":{"tf":1.0}}}}},"p":{"a":{"c":{"df":0,"docs":{},"e":{"df":5,"docs":{"100":{"tf":1.0},"115":{"tf":1.0},"128":{"tf":1.0},"140":{"tf":1.0},"150":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"117":{"tf":1.0},"118":{"tf":1.0}}}}}},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"153":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"132":{"tf":1.0}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":3,"docs":{"131":{"tf":1.0},"132":{"tf":1.0},"91":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"196":{"tf":1.0}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"a":{"$":{"df":0,"docs":{},":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"19":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":1,"docs":{"19":{"tf":1.0}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":5,"docs":{"114":{"tf":1.0},"127":{"tf":1.0},"149":{"tf":1.0},"75":{"tf":1.0},"99":{"tf":1.0}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"121":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"117":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":5,"docs":{"209":{"tf":1.0},"210":{"tf":1.0},"211":{"tf":1.0},"212":{"tf":1.0},"213":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":1,"docs":{"46":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"248":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"248":{"tf":1.0}}}}},"p":{"df":2,"docs":{"118":{"tf":1.0},"91":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"262":{"tf":1.0}}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"296":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"138":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"296":{"tf":1.0}}}}}}}}}},"lang":"English","pipeline":["trimmer","stopWordFilter","stemmer"],"ref":"id","version":"0.9.5"},"results_options":{"limit_results":30,"teaser_word_count":30},"search_options":{"bool":"OR","expand":true,"fields":{"body":{"boost":1},"breadcrumbs":{"boost":1},"title":{"boost":2}}}} \ No newline at end of file +{"doc_urls":["index.html#rust-algorithm-club","index.html#基礎概念","index.html#演算法","index.html#搜尋","index.html#排序","index.html#資料結構","index.html#堆疊與佇列","index.html#鏈結串列","index.html#關聯容器","index.html#字串處理","index.html#學習資源","index.html#如何貢獻","index.html#貢獻者","index.html#授權條款","concepts/asymptotic-notation/index.html#漸進符號-asymptotic-notation","concepts/asymptotic-notation/index.html#用數學表示演算法效率","concepts/asymptotic-notation/index.html#何謂漸進符號","concepts/asymptotic-notation/index.html#obig-o","concepts/asymptotic-notation/index.html#omegabig-omega","concepts/asymptotic-notation/index.html#thetabig-theta","concepts/asymptotic-notation/index.html#常見的複雜度","concepts/asymptotic-notation/index.html#你可能不適合漸進符號","concepts/asymptotic-notation/index.html#參考資料","searching/linear_search/index.html#線性搜尋-linear-search","searching/linear_search/index.html#效能","searching/linear_search/index.html#實作","searching/linear_search/index.html#參考資料","searching/binary_search/index.html#二元搜尋-binary-search","searching/binary_search/index.html#步驟","searching/binary_search/index.html#說明","searching/binary_search/index.html#效能","searching/binary_search/index.html#實作","searching/binary_search/index.html#函式宣告","searching/binary_search/index.html#函式主體","searching/binary_search/index.html#常見誤區與解法","searching/binary_search/index.html#變形與衍生","searching/binary_search/index.html#interpolation-search","searching/binary_search/index.html#exponential-search","searching/binary_search/index.html#binary-insertion-sort","searching/binary_search/index.html#參考資料","searching/interpolation_search/index.html#內插搜尋-interpolation-search","searching/interpolation_search/index.html#步驟","searching/interpolation_search/index.html#說明","searching/interpolation_search/index.html#效能","searching/interpolation_search/index.html#實作","searching/interpolation_search/index.html#變形與衍生","searching/interpolation_search/index.html#interpolation-search-tree","searching/interpolation_search/index.html#參考資料","searching/exponential_search/index.html#指數搜尋-exponential-search","searching/exponential_search/index.html#步驟","searching/exponential_search/index.html#說明","searching/exponential_search/index.html#效能","searching/exponential_search/index.html#劃定搜尋範圍","searching/exponential_search/index.html#執行二元搜尋","searching/exponential_search/index.html#實作","searching/exponential_search/index.html#參考資料","sorting/insertion_sort/index.html#插入排序-insertion-sort","sorting/insertion_sort/index.html#步驟","sorting/insertion_sort/index.html#效能","sorting/insertion_sort/index.html#實作","sorting/insertion_sort/index.html#變形","sorting/insertion_sort/index.html#binary-insertion-sort","sorting/insertion_sort/index.html#參考資料","sorting/selection_sort/index.html#選擇排序-selection-sort","sorting/selection_sort/index.html#步驟","sorting/selection_sort/index.html#說明","sorting/selection_sort/index.html#效能","sorting/selection_sort/index.html#實作","sorting/selection_sort/index.html#變形","sorting/selection_sort/index.html#heapsort","sorting/selection_sort/index.html#參考資料","sorting/bubble_sort/index.html#氣泡排序-bubble-sort","sorting/bubble_sort/index.html#步驟","sorting/bubble_sort/index.html#說明","sorting/bubble_sort/index.html#效能","sorting/bubble_sort/index.html#time-complexity","sorting/bubble_sort/index.html#實作","sorting/bubble_sort/index.html#參考資料","sorting/shellsort/index.html#希爾排序-shellsort","sorting/shellsort/index.html#步驟","sorting/shellsort/index.html#gap-sequneces","sorting/shellsort/index.html#說明","sorting/shellsort/index.html#效能","sorting/shellsort/index.html#實作","sorting/shellsort/index.html#參考資料","sorting/heapsort/index.html#堆積排序-heapsort","sorting/heapsort/index.html#步驟","sorting/heapsort/index.html#說明","sorting/heapsort/index.html#效能","sorting/heapsort/index.html#build-heap-heapify","sorting/heapsort/index.html#sorting-sift-down","sorting/heapsort/index.html#sum-up","sorting/heapsort/index.html#實作","sorting/heapsort/index.html#參考資料","sorting/quicksort/index.html#快速排序-quicksort","sorting/quicksort/index.html#步驟","sorting/quicksort/index.html#lomuto-partition-scheme","sorting/quicksort/index.html#說明","sorting/quicksort/index.html#效能","sorting/quicksort/index.html#time-complexity","sorting/quicksort/index.html#space-complexity","sorting/quicksort/index.html#實作","sorting/quicksort/index.html#recursion","sorting/quicksort/index.html#partitioning","sorting/quicksort/index.html#最佳化與變形","sorting/quicksort/index.html#降低額外空間複雜度","sorting/quicksort/index.html#選擇-pivot-的方法","sorting/quicksort/index.html#對付重複的元素","sorting/quicksort/index.html#選擇不同的分割方案","sorting/quicksort/index.html#參考資料","sorting/mergesort/index.html#合併排序-mergesort","sorting/mergesort/index.html#步驟","sorting/mergesort/index.html#說明","sorting/mergesort/index.html#效能","sorting/mergesort/index.html#time-complexity","sorting/mergesort/index.html#space-complexity","sorting/mergesort/index.html#實作","sorting/mergesort/index.html#top-down-split","sorting/mergesort/index.html#buttom-up-split","sorting/mergesort/index.html#the-merge-part","sorting/mergesort/index.html#變形","sorting/mergesort/index.html#timsort","sorting/mergesort/index.html#參考資料","sorting/counting_sort/index.html#計數排序-counting-sort","sorting/counting_sort/index.html#步驟","sorting/counting_sort/index.html#說明","sorting/counting_sort/index.html#效能","sorting/counting_sort/index.html#time-complexity","sorting/counting_sort/index.html#space-complexity","sorting/counting_sort/index.html#實作","sorting/counting_sort/index.html#function-signature","sorting/counting_sort/index.html#prefix-sums-array","sorting/counting_sort/index.html#prefix-sums-as-start-index","sorting/counting_sort/index.html#參考資料","sorting/bucket_sort/index.html#桶排序-bucket-sort","sorting/bucket_sort/index.html#步驟","sorting/bucket_sort/index.html#說明","sorting/bucket_sort/index.html#效能","sorting/bucket_sort/index.html#worst-case","sorting/bucket_sort/index.html#best-case","sorting/bucket_sort/index.html#space-complexity","sorting/bucket_sort/index.html#實作","sorting/bucket_sort/index.html#bucket","sorting/bucket_sort/index.html#sorting","sorting/bucket_sort/index.html#參考資料","sorting/radix_sort/index.html#基數排序-radix-sort","sorting/radix_sort/index.html#步驟","sorting/radix_sort/index.html#說明","sorting/radix_sort/index.html#效能","sorting/radix_sort/index.html#time-complexity","sorting/radix_sort/index.html#space-complexity","sorting/radix_sort/index.html#實作","sorting/radix_sort/index.html#參考資料","collections/stack/index.html#堆疊-stack","collections/stack/index.html#架構設計","collections/stack/index.html#基本操作","collections/stack/index.html#定義一個空間有限的堆疊","collections/stack/index.html#將新資料加入資料結構","collections/stack/index.html#將最新加入的資料移出資料結構","collections/stack/index.html#取得堆疊的大小","collections/stack/index.html#在不將資料退出堆疊的情況下偷看最後加入堆疊的資料","collections/stack/index.html#效能","collections/stack/index.html#參考資料","collections/queue/index.html#佇列-queue","collections/queue/index.html#架構設計","collections/queue/index.html#基本操作","collections/queue/index.html#定義佇列","collections/queue/index.html#將新資料加入佇列","collections/queue/index.html#將最先放入的資料移出佇列","collections/queue/index.html#取得佇列大小","collections/queue/index.html#不改變佇列的情況下取得最先放入的資料","collections/queue/index.html#效能","collections/queue/index.html#參考資料","collections/deque/index.html#雙端佇列-deque","collections/deque/index.html#架構設計","collections/deque/index.html#環形緩衝區","collections/deque/index.html#手動配置記憶體","collections/deque/index.html#deque","collections/deque/index.html#基本操作","collections/deque/index.html#邏輯索引映射","collections/deque/index.html#動態增加記憶體空間","collections/deque/index.html#查看元素","collections/deque/index.html#增刪元素","collections/deque/index.html#特徵","collections/deque/index.html#drop","collections/deque/index.html#iterator","collections/deque/index.html#intoiterator","collections/deque/index.html#index-and-indexmut","collections/deque/index.html#debug","collections/deque/index.html#效能","collections/deque/index.html#參考資料","collections/linked_list/index.html#鏈結串列-linked-list","collections/linked_list/index.html#特性","collections/linked_list/index.html#適用場景","collections/linked_list/index.html#術語","collections/linked_list/index.html#node","collections/linked_list/index.html#head-and-tail","collections/linked_list/index.html#sentinel-node","collections/linked_list/index.html#種類","collections/linked_list/index.html#參考資料","collections/singly_linked_list/index.html#單向鏈結串列-singly-linked-list","collections/singly_linked_list/index.html#實作設計","collections/singly_linked_list/index.html#node","collections/singly_linked_list/index.html#singlylinkedlist","collections/singly_linked_list/index.html#基本操作","collections/singly_linked_list/index.html#初始化與清除資料","collections/singly_linked_list/index.html#增刪首個節點","collections/singly_linked_list/index.html#插入刪除任意節點","collections/singly_linked_list/index.html#反轉","collections/singly_linked_list/index.html#traits","collections/singly_linked_list/index.html#drop-trait","collections/singly_linked_list/index.html#iterator-and-intoiterator-traits","collections/singly_linked_list/index.html#partialeq-trait","collections/singly_linked_list/index.html#debug-trait","collections/singly_linked_list/index.html#效能","collections/singly_linked_list/index.html#參考資料","collections/associative-container/index.html#關聯容器-associative-container","collections/associative-container/index.html#特性","collections/associative-container/index.html#適用場景","collections/associative-container/index.html#種類","collections/associative-container/index.html#雜湊表-hash-map","collections/associative-container/index.html#有序映射表-ordered-map","collections/associative-container/index.html#多重映射表-multimap","collections/associative-container/index.html#集合-set","collections/associative-container/index.html#布隆過濾器-bloom-filter","collections/associative-container/index.html#參考資料","collections/hash_map/index.html#雜湊表-hash-map","collections/hash_map/index.html#概念","collections/hash_map/index.html#雜湊","collections/hash_map/index.html#選擇雜湊函數","collections/hash_map/index.html#處理雜湊碰撞","collections/hash_map/index.html#動態調整雜湊表大小","collections/hash_map/index.html#架構設計","collections/hash_map/index.html#hash-and-eq","collections/hash_map/index.html#記憶體佈局","collections/hash_map/index.html#基本操作","collections/hash_map/index.html#初始化與預設值","collections/hash_map/index.html#存取單一元素","collections/hash_map/index.html#插入與刪除元素","collections/hash_map/index.html#動態調整儲存空間","collections/hash_map/index.html#實作疊代器方法","collections/hash_map/index.html#效能","collections/hash_map/index.html#時間複雜度","collections/hash_map/index.html#空間複雜度","collections/hash_map/index.html#參考資料","collections/set/index.html#集合-set","collections/set/index.html#架構設計","collections/set/index.html#以雜湊表為底層容器","collections/set/index.html#不佔空間的-unit-type","collections/set/index.html#基本操作","collections/set/index.html#集合運算","collections/set/index.html#實作聯集","collections/set/index.html#實作交集差集與對稱差集","collections/set/index.html#子集超集與不交集","collections/set/index.html#二元運算與運算子","collections/set/index.html#運算子多載","collections/set/index.html#比較運算子","collections/set/index.html#效能","collections/set/index.html#參考資料","collections/bloom_filter/index.html#布隆過濾器-bloom-filter","collections/bloom_filter/index.html#概念","collections/bloom_filter/index.html#架構設計","collections/bloom_filter/index.html#利用-vec-儲存位元","collections/bloom_filter/index.html#儲存兩個雜湊函數","collections/bloom_filter/index.html#使用--phantomdata--讓編譯器閉嘴","collections/bloom_filter/index.html#sized-讓容器可以儲存-dsts","collections/bloom_filter/index.html#基本操作","collections/bloom_filter/index.html#初始化","collections/bloom_filter/index.html#新增","collections/bloom_filter/index.html#查詢","collections/bloom_filter/index.html#效能","collections/bloom_filter/index.html#變形","collections/bloom_filter/index.html#可以計數的-counting-bloom-filter","collections/bloom_filter/index.html#動態適應空間大小的-scalable-bloom-filter","collections/bloom_filter/index.html#quotient-filter","collections/bloom_filter/index.html#支援刪除元素的-cuckoo-filter","collections/bloom_filter/index.html#參考資料","hamming_distance/index.html#漢明距離-hamming-distance","hamming_distance/index.html#位元版實作","hamming_distance/index.html#字串版實作","hamming_distance/index.html#效能","hamming_distance/index.html#參考資料","levenshtein_distance/index.html#萊文斯坦距離-levenshtein-distance","levenshtein_distance/index.html#概念","levenshtein_distance/index.html#萊文斯坦的遞迴函數","levenshtein_distance/index.html#動態規劃的距離矩陣","levenshtein_distance/index.html#實作","levenshtein_distance/index.html#距離矩陣","levenshtein_distance/index.html#使用一維陣列減少記憶體配置","levenshtein_distance/index.html#拋棄矩陣降低空間複雜度","levenshtein_distance/index.html#效能","levenshtein_distance/index.html#參考資料","CONTRIBUTING.html#貢獻指南","CONTRIBUTING.html#開始貢獻之前","CONTRIBUTING.html#提交你的成果","CONTRIBUTING.html#歡迎加入-rust-演算法俱樂部願演算法與你同在","404.html#oops-something-went-wrong"],"index":{"documentStore":{"docInfo":{"0":{"body":15,"breadcrumbs":6,"title":3},"1":{"body":2,"breadcrumbs":3,"title":0},"10":{"body":14,"breadcrumbs":3,"title":0},"100":{"body":21,"breadcrumbs":3,"title":2},"101":{"body":2,"breadcrumbs":1,"title":0},"102":{"body":58,"breadcrumbs":2,"title":1},"103":{"body":65,"breadcrumbs":2,"title":1},"104":{"body":2,"breadcrumbs":1,"title":0},"105":{"body":147,"breadcrumbs":1,"title":0},"106":{"body":6,"breadcrumbs":2,"title":1},"107":{"body":78,"breadcrumbs":1,"title":0},"108":{"body":61,"breadcrumbs":1,"title":0},"109":{"body":15,"breadcrumbs":1,"title":0},"11":{"body":0,"breadcrumbs":3,"title":0},"110":{"body":9,"breadcrumbs":2,"title":1},"111":{"body":15,"breadcrumbs":1,"title":0},"112":{"body":81,"breadcrumbs":1,"title":0},"113":{"body":17,"breadcrumbs":1,"title":0},"114":{"body":39,"breadcrumbs":3,"title":2},"115":{"body":8,"breadcrumbs":3,"title":2},"116":{"body":11,"breadcrumbs":1,"title":0},"117":{"body":59,"breadcrumbs":4,"title":3},"118":{"body":72,"breadcrumbs":4,"title":3},"119":{"body":82,"breadcrumbs":3,"title":2},"12":{"body":5,"breadcrumbs":3,"title":0},"120":{"body":0,"breadcrumbs":1,"title":0},"121":{"body":2,"breadcrumbs":2,"title":1},"122":{"body":20,"breadcrumbs":1,"title":0},"123":{"body":14,"breadcrumbs":4,"title":2},"124":{"body":13,"breadcrumbs":2,"title":0},"125":{"body":199,"breadcrumbs":2,"title":0},"126":{"body":16,"breadcrumbs":2,"title":0},"127":{"body":19,"breadcrumbs":4,"title":2},"128":{"body":14,"breadcrumbs":4,"title":2},"129":{"body":4,"breadcrumbs":2,"title":0},"13":{"body":15,"breadcrumbs":3,"title":0},"130":{"body":34,"breadcrumbs":4,"title":2},"131":{"body":65,"breadcrumbs":5,"title":3},"132":{"body":94,"breadcrumbs":6,"title":4},"133":{"body":7,"breadcrumbs":2,"title":0},"134":{"body":8,"breadcrumbs":4,"title":2},"135":{"body":15,"breadcrumbs":2,"title":0},"136":{"body":92,"breadcrumbs":2,"title":0},"137":{"body":18,"breadcrumbs":2,"title":0},"138":{"body":12,"breadcrumbs":4,"title":2},"139":{"body":53,"breadcrumbs":4,"title":2},"14":{"body":3,"breadcrumbs":4,"title":2},"140":{"body":19,"breadcrumbs":4,"title":2},"141":{"body":0,"breadcrumbs":2,"title":0},"142":{"body":54,"breadcrumbs":3,"title":1},"143":{"body":116,"breadcrumbs":3,"title":1},"144":{"body":18,"breadcrumbs":2,"title":0},"145":{"body":43,"breadcrumbs":4,"title":2},"146":{"body":38,"breadcrumbs":2,"title":0},"147":{"body":166,"breadcrumbs":2,"title":0},"148":{"body":17,"breadcrumbs":2,"title":0},"149":{"body":47,"breadcrumbs":4,"title":2},"15":{"body":19,"breadcrumbs":2,"title":0},"150":{"body":16,"breadcrumbs":4,"title":2},"151":{"body":67,"breadcrumbs":2,"title":0},"152":{"body":10,"breadcrumbs":2,"title":0},"153":{"body":13,"breadcrumbs":2,"title":1},"154":{"body":12,"breadcrumbs":1,"title":0},"155":{"body":4,"breadcrumbs":1,"title":0},"156":{"body":19,"breadcrumbs":1,"title":0},"157":{"body":20,"breadcrumbs":1,"title":0},"158":{"body":9,"breadcrumbs":1,"title":0},"159":{"body":11,"breadcrumbs":1,"title":0},"16":{"body":32,"breadcrumbs":2,"title":0},"160":{"body":7,"breadcrumbs":1,"title":0},"161":{"body":15,"breadcrumbs":1,"title":0},"162":{"body":10,"breadcrumbs":1,"title":0},"163":{"body":10,"breadcrumbs":2,"title":1},"164":{"body":10,"breadcrumbs":1,"title":0},"165":{"body":4,"breadcrumbs":1,"title":0},"166":{"body":8,"breadcrumbs":1,"title":0},"167":{"body":14,"breadcrumbs":1,"title":0},"168":{"body":13,"breadcrumbs":1,"title":0},"169":{"body":6,"breadcrumbs":1,"title":0},"17":{"body":70,"breadcrumbs":4,"title":2},"170":{"body":9,"breadcrumbs":1,"title":0},"171":{"body":24,"breadcrumbs":1,"title":0},"172":{"body":4,"breadcrumbs":1,"title":0},"173":{"body":9,"breadcrumbs":2,"title":1},"174":{"body":9,"breadcrumbs":1,"title":0},"175":{"body":148,"breadcrumbs":1,"title":0},"176":{"body":213,"breadcrumbs":1,"title":0},"177":{"body":25,"breadcrumbs":2,"title":1},"178":{"body":11,"breadcrumbs":1,"title":0},"179":{"body":177,"breadcrumbs":1,"title":0},"18":{"body":29,"breadcrumbs":4,"title":2},"180":{"body":188,"breadcrumbs":1,"title":0},"181":{"body":63,"breadcrumbs":1,"title":0},"182":{"body":112,"breadcrumbs":1,"title":0},"183":{"body":2,"breadcrumbs":1,"title":0},"184":{"body":27,"breadcrumbs":2,"title":1},"185":{"body":348,"breadcrumbs":2,"title":1},"186":{"body":105,"breadcrumbs":2,"title":1},"187":{"body":63,"breadcrumbs":3,"title":2},"188":{"body":31,"breadcrumbs":2,"title":1},"189":{"body":33,"breadcrumbs":1,"title":0},"19":{"body":56,"breadcrumbs":4,"title":2},"190":{"body":19,"breadcrumbs":1,"title":0},"191":{"body":0,"breadcrumbs":2,"title":2},"192":{"body":4,"breadcrumbs":0,"title":0},"193":{"body":5,"breadcrumbs":0,"title":0},"194":{"body":0,"breadcrumbs":0,"title":0},"195":{"body":5,"breadcrumbs":1,"title":1},"196":{"body":14,"breadcrumbs":2,"title":2},"197":{"body":22,"breadcrumbs":2,"title":2},"198":{"body":25,"breadcrumbs":0,"title":0},"199":{"body":13,"breadcrumbs":0,"title":0},"2":{"body":0,"breadcrumbs":3,"title":0},"20":{"body":23,"breadcrumbs":2,"title":0},"200":{"body":22,"breadcrumbs":6,"title":3},"201":{"body":0,"breadcrumbs":3,"title":0},"202":{"body":39,"breadcrumbs":4,"title":1},"203":{"body":15,"breadcrumbs":4,"title":1},"204":{"body":9,"breadcrumbs":3,"title":0},"205":{"body":19,"breadcrumbs":3,"title":0},"206":{"body":41,"breadcrumbs":3,"title":0},"207":{"body":135,"breadcrumbs":3,"title":0},"208":{"body":76,"breadcrumbs":3,"title":0},"209":{"body":3,"breadcrumbs":4,"title":1},"21":{"body":5,"breadcrumbs":2,"title":0},"210":{"body":106,"breadcrumbs":5,"title":2},"211":{"body":198,"breadcrumbs":6,"title":3},"212":{"body":33,"breadcrumbs":5,"title":2},"213":{"body":20,"breadcrumbs":5,"title":2},"214":{"body":24,"breadcrumbs":3,"title":0},"215":{"body":25,"breadcrumbs":3,"title":0},"216":{"body":7,"breadcrumbs":2,"title":2},"217":{"body":3,"breadcrumbs":0,"title":0},"218":{"body":3,"breadcrumbs":0,"title":0},"219":{"body":0,"breadcrumbs":0,"title":0},"22":{"body":15,"breadcrumbs":2,"title":0},"220":{"body":0,"breadcrumbs":2,"title":2},"221":{"body":2,"breadcrumbs":2,"title":2},"222":{"body":0,"breadcrumbs":1,"title":1},"223":{"body":2,"breadcrumbs":1,"title":1},"224":{"body":0,"breadcrumbs":2,"title":2},"225":{"body":21,"breadcrumbs":0,"title":0},"226":{"body":2,"breadcrumbs":4,"title":2},"227":{"body":113,"breadcrumbs":2,"title":0},"228":{"body":18,"breadcrumbs":2,"title":0},"229":{"body":7,"breadcrumbs":2,"title":0},"23":{"body":3,"breadcrumbs":4,"title":2},"230":{"body":99,"breadcrumbs":2,"title":0},"231":{"body":31,"breadcrumbs":2,"title":0},"232":{"body":2,"breadcrumbs":2,"title":0},"233":{"body":88,"breadcrumbs":4,"title":2},"234":{"body":68,"breadcrumbs":2,"title":0},"235":{"body":17,"breadcrumbs":2,"title":0},"236":{"body":75,"breadcrumbs":2,"title":0},"237":{"body":71,"breadcrumbs":2,"title":0},"238":{"body":101,"breadcrumbs":2,"title":0},"239":{"body":66,"breadcrumbs":2,"title":0},"24":{"body":14,"breadcrumbs":2,"title":0},"240":{"body":106,"breadcrumbs":2,"title":0},"241":{"body":23,"breadcrumbs":2,"title":0},"242":{"body":28,"breadcrumbs":2,"title":0},"243":{"body":5,"breadcrumbs":2,"title":0},"244":{"body":38,"breadcrumbs":2,"title":0},"245":{"body":5,"breadcrumbs":2,"title":1},"246":{"body":0,"breadcrumbs":1,"title":0},"247":{"body":12,"breadcrumbs":1,"title":0},"248":{"body":13,"breadcrumbs":3,"title":2},"249":{"body":84,"breadcrumbs":1,"title":0},"25":{"body":35,"breadcrumbs":2,"title":0},"250":{"body":21,"breadcrumbs":1,"title":0},"251":{"body":239,"breadcrumbs":1,"title":0},"252":{"body":50,"breadcrumbs":1,"title":0},"253":{"body":41,"breadcrumbs":1,"title":0},"254":{"body":5,"breadcrumbs":1,"title":0},"255":{"body":60,"breadcrumbs":1,"title":0},"256":{"body":234,"breadcrumbs":1,"title":0},"257":{"body":31,"breadcrumbs":1,"title":0},"258":{"body":16,"breadcrumbs":1,"title":0},"259":{"body":35,"breadcrumbs":4,"title":2},"26":{"body":3,"breadcrumbs":2,"title":0},"260":{"body":48,"breadcrumbs":2,"title":0},"261":{"body":0,"breadcrumbs":2,"title":0},"262":{"body":102,"breadcrumbs":3,"title":1},"263":{"body":35,"breadcrumbs":2,"title":0},"264":{"body":117,"breadcrumbs":3,"title":1},"265":{"body":28,"breadcrumbs":4,"title":2},"266":{"body":20,"breadcrumbs":2,"title":0},"267":{"body":105,"breadcrumbs":2,"title":0},"268":{"body":94,"breadcrumbs":2,"title":0},"269":{"body":169,"breadcrumbs":2,"title":0},"27":{"body":4,"breadcrumbs":4,"title":2},"270":{"body":40,"breadcrumbs":2,"title":0},"271":{"body":30,"breadcrumbs":2,"title":0},"272":{"body":31,"breadcrumbs":5,"title":3},"273":{"body":41,"breadcrumbs":5,"title":3},"274":{"body":64,"breadcrumbs":4,"title":2},"275":{"body":71,"breadcrumbs":4,"title":2},"276":{"body":31,"breadcrumbs":2,"title":0},"277":{"body":7,"breadcrumbs":4,"title":2},"278":{"body":58,"breadcrumbs":2,"title":0},"279":{"body":60,"breadcrumbs":2,"title":0},"28":{"body":0,"breadcrumbs":2,"title":0},"280":{"body":3,"breadcrumbs":2,"title":0},"281":{"body":3,"breadcrumbs":2,"title":0},"282":{"body":9,"breadcrumbs":4,"title":2},"283":{"body":0,"breadcrumbs":2,"title":0},"284":{"body":96,"breadcrumbs":2,"title":0},"285":{"body":45,"breadcrumbs":2,"title":0},"286":{"body":30,"breadcrumbs":2,"title":0},"287":{"body":158,"breadcrumbs":2,"title":0},"288":{"body":46,"breadcrumbs":2,"title":0},"289":{"body":89,"breadcrumbs":2,"title":0},"29":{"body":87,"breadcrumbs":2,"title":0},"290":{"body":18,"breadcrumbs":2,"title":0},"291":{"body":27,"breadcrumbs":2,"title":0},"292":{"body":1,"breadcrumbs":0,"title":0},"293":{"body":8,"breadcrumbs":0,"title":0},"294":{"body":7,"breadcrumbs":0,"title":0},"295":{"body":0,"breadcrumbs":1,"title":1},"296":{"body":0,"breadcrumbs":5,"title":4},"3":{"body":8,"breadcrumbs":3,"title":0},"30":{"body":64,"breadcrumbs":2,"title":0},"31":{"body":0,"breadcrumbs":2,"title":0},"32":{"body":19,"breadcrumbs":2,"title":0},"33":{"body":68,"breadcrumbs":2,"title":0},"34":{"body":15,"breadcrumbs":2,"title":0},"35":{"body":0,"breadcrumbs":2,"title":0},"36":{"body":6,"breadcrumbs":4,"title":2},"37":{"body":6,"breadcrumbs":4,"title":2},"38":{"body":5,"breadcrumbs":5,"title":3},"39":{"body":4,"breadcrumbs":2,"title":0},"4":{"body":19,"breadcrumbs":3,"title":0},"40":{"body":6,"breadcrumbs":4,"title":2},"41":{"body":9,"breadcrumbs":2,"title":0},"42":{"body":88,"breadcrumbs":2,"title":0},"43":{"body":45,"breadcrumbs":2,"title":0},"44":{"body":197,"breadcrumbs":2,"title":0},"45":{"body":0,"breadcrumbs":2,"title":0},"46":{"body":29,"breadcrumbs":5,"title":3},"47":{"body":65,"breadcrumbs":2,"title":0},"48":{"body":9,"breadcrumbs":4,"title":2},"49":{"body":8,"breadcrumbs":2,"title":0},"5":{"body":0,"breadcrumbs":3,"title":0},"50":{"body":67,"breadcrumbs":2,"title":0},"51":{"body":10,"breadcrumbs":2,"title":0},"52":{"body":9,"breadcrumbs":2,"title":0},"53":{"body":18,"breadcrumbs":2,"title":0},"54":{"body":72,"breadcrumbs":2,"title":0},"55":{"body":3,"breadcrumbs":2,"title":0},"56":{"body":9,"breadcrumbs":4,"title":2},"57":{"body":6,"breadcrumbs":2,"title":0},"58":{"body":38,"breadcrumbs":2,"title":0},"59":{"body":25,"breadcrumbs":2,"title":0},"6":{"body":3,"breadcrumbs":3,"title":0},"60":{"body":0,"breadcrumbs":2,"title":0},"61":{"body":66,"breadcrumbs":5,"title":3},"62":{"body":16,"breadcrumbs":2,"title":0},"63":{"body":12,"breadcrumbs":4,"title":2},"64":{"body":17,"breadcrumbs":2,"title":0},"65":{"body":46,"breadcrumbs":2,"title":0},"66":{"body":31,"breadcrumbs":2,"title":0},"67":{"body":35,"breadcrumbs":2,"title":0},"68":{"body":0,"breadcrumbs":2,"title":0},"69":{"body":7,"breadcrumbs":3,"title":1},"7":{"body":9,"breadcrumbs":3,"title":0},"70":{"body":16,"breadcrumbs":2,"title":0},"71":{"body":12,"breadcrumbs":4,"title":2},"72":{"body":6,"breadcrumbs":2,"title":0},"73":{"body":182,"breadcrumbs":2,"title":0},"74":{"body":11,"breadcrumbs":2,"title":0},"75":{"body":23,"breadcrumbs":4,"title":2},"76":{"body":61,"breadcrumbs":2,"title":0},"77":{"body":14,"breadcrumbs":2,"title":0},"78":{"body":16,"breadcrumbs":2,"title":1},"79":{"body":12,"breadcrumbs":1,"title":0},"8":{"body":8,"breadcrumbs":3,"title":0},"80":{"body":44,"breadcrumbs":3,"title":2},"81":{"body":182,"breadcrumbs":1,"title":0},"82":{"body":33,"breadcrumbs":1,"title":0},"83":{"body":62,"breadcrumbs":1,"title":0},"84":{"body":17,"breadcrumbs":1,"title":0},"85":{"body":24,"breadcrumbs":2,"title":1},"86":{"body":19,"breadcrumbs":1,"title":0},"87":{"body":134,"breadcrumbs":1,"title":0},"88":{"body":21,"breadcrumbs":1,"title":0},"89":{"body":68,"breadcrumbs":4,"title":3},"9":{"body":7,"breadcrumbs":3,"title":0},"90":{"body":14,"breadcrumbs":4,"title":3},"91":{"body":5,"breadcrumbs":3,"title":2},"92":{"body":169,"breadcrumbs":1,"title":0},"93":{"body":20,"breadcrumbs":1,"title":0},"94":{"body":12,"breadcrumbs":2,"title":1},"95":{"body":13,"breadcrumbs":1,"title":0},"96":{"body":38,"breadcrumbs":4,"title":3},"97":{"body":144,"breadcrumbs":1,"title":0},"98":{"body":17,"breadcrumbs":1,"title":0},"99":{"body":42,"breadcrumbs":3,"title":2}},"docs":{"0":{"body":"歡迎來到 Rust 演算法俱樂部!本專案受 Swift Algorithm Club 啟發,專案中的演算法皆使用 Rust 程式語言 撰寫說明與實作!您可以在 Rust Algorithm Club 一站,依您的意願,挑選有興趣的演算法知識學習;若您夠大膽,推薦您閱讀 自動生成的 API 文件 ,直接單挑程式原始碼。 本專案原始碼放在 GitHub 上,非常期待您的貢獻。 Rust Edition Build Status Documentation","breadcrumbs":"Rust Algorithm Club » Rust Algorithm Club","id":"0","title":"Rust Algorithm Club"},"1":{"body":"漸進符號 Asymptotic Notation","breadcrumbs":"Rust Algorithm Club » 基礎概念","id":"1","title":"基礎概念"},"10":{"body":"有許多優秀的網站與學習資源,分享給大家學習演算法。 VisuAlgo - 也許是最好的演算法視覺化專案。 Big-O Cheat Sheet - 最全面的 Big O cheat sheet。 Rosetta Code - 使用各種程式語言,解答上百種不同程式問題。 Competitive Programmer's Handbook - 讓你更有競爭力。這書本身也很有競爭力。","breadcrumbs":"Rust Algorithm Club » 學習資源","id":"10","title":"學習資源"},"100":{"body":"Quicksort 的空間複雜度取決於實作細節,由於 分割序列 步驟需 $O(1) $ 的空間複雜度,因此僅需分析遞迴式會在 call stack 產生多少 stack frame 即可。 前面提及 ,最 naïve 的 Lomuto partition 最糟糕的情形下,會產生 $n - 1 $ 個嵌套遞迴,也就是需額外使用 $O(n) $ 的空間儲存 call stack frame,但只要 compiler 有支援 尾端呼叫 最佳化(tail-call optimization,TCO),Quicksort 很容易最佳化至 $O(\\log n) $。","breadcrumbs":"快速排序 Quicksort » Space complexity","id":"100","title":"Space complexity"},"101":{"body":"Quicksort 實作主要分為兩部分:遞迴,以及分割序列(partition)。","breadcrumbs":"快速排序 Quicksort » 實作","id":"101","title":"實作"},"102":{"body":"遞迴函式本身實作非常簡單,分別將小於 pivot 與大於 pivot 兩部分遞迴呼叫自身即可。 /// Recursion helper\nfn quicksort_helper(arr: &mut [i32], lo: isize, hi: isize) { if lo <= hi { // 1 let pivot = partition(arr, lo, hi); // 2 quicksort_helper(arr, lo, pivot - 1); // 3 quicksort_helper(arr, pivot + 1, hi); // 4 }\n} 利用 lo 與 hi 兩個指標決定每次的遞迴範圍,並在 lo 大於 hi 時停止遞迴,避免重複分割序列。 分割序列步驟,回傳該序列範圍內 pivot 的 index。 遞迴小於 pivot 的部分。 遞迴大於 pivot 的部分。 這邊比較特別的是,lo 和 hi 兩個指標的型別為 isize,因為當 pivot 可能為 0,在第三步驟 - 1 時會產生型別錯誤,故為之。有任何更好的寫法歡迎提供! 由於外部不需知道排序法實作細節,我們將函式命名為 quicksort_helper ,對外再多封裝一層主函式 quicksort_lomuto,實作如下: pub fn quicksort_lomuto(arr: &mut [i32]) { let hi = arr.len() as isize - 1; quicksort_helper(arr, 0, hi);\n}","breadcrumbs":"快速排序 Quicksort » Recursion","id":"102","title":"Recursion"},"103":{"body":"一般來說,分割序列的實作有下列兩個步驟: 選擇 pivot 遍歷序列置換元素 我們以 Lomuto scheme 實作 partition。 fn partition(arr: &mut [i32], lo: isize, hi: isize) -> isize { // -- Determine the pivot -- // In Lomuto parition scheme, // the latest element is always chosen as the pivot. let pivot = arr[hi as usize]; // 1 let mut i = lo; // -- Swap elements -- for j in lo..hi { // 2 if arr[j as usize] < pivot { arr.swap(i as usize, j as usize); i += 1; // 3 } } // Swap pivot to the middle of two piles. arr.swap(i as usize, hi as usize); // 4 i // Return the final index of the pivot\n} Lomuto scheme 選擇 pivot 的方式很直接,就是選擇最後一個元素。 利用 i、j 兩個指標疊代指定的序列範圍,若第 j 個值小於 pivot 時,則於第 i 個元素置換。 i 指標加一,繼續處理下個元素。 最後置換第 i 個元素於 pivot,此時 pivot 已落在最終正確的位置。","breadcrumbs":"快速排序 Quicksort » Partitioning","id":"103","title":"Partitioning"},"104":{"body":"Quicksort 有數個方向可以探討最佳化: 降低額外空間複雜度 選擇 Pivot 的方法 對付重複的元素 選擇不同的分割方案","breadcrumbs":"快速排序 Quicksort » 最佳化與變形","id":"104","title":"最佳化與變形"},"105":{"body":"前述提到最佳情形下(每次 pivot 都選到中位數),僅需 $\\log n $ 個嵌套遞迴,額外空間複雜度僅需 $O(\\log n) $。 倘若編譯器有實作 尾端呼叫最佳化 ,Quicksort 可以達到 $O(\\log n) $ 對數級別的額外空間使用。 實作尾端呼叫最佳化的思路很簡單,「 先遞迴較少元素的部分,再利用 tall-call 遞迴另一部分 」,如此以來,較多元素的遞迴則會直接被編譯器展開,消去遞迴時需要的 call stack 空間。剩下較少元素的部分,則與最佳情形相同,最多僅需 $\\log n $ 次嵌套遞迴。 簡單實作如下: fn quicksort_helper_optimized(arr: &mut [i32], lo: isize, hi: isize) { if lo <= hi { let pivot = partition(arr, lo, hi); if pivot - lo < hi - pivot { // 1 quicksort_helper_optimized(arr, lo, pivot - 1); quicksort_helper_optimized(arr, pivot + 1, hi); // 2 } else { quicksort_helper_optimized(arr, pivot + 1, hi); quicksort_helper_optimized(arr, lo, pivot - 1); // 3 } }\n} 說穿了就只有這個判斷式,決定哪部分該先遞迴而已。 這是一個尾端呼叫,會展開。 這也是一個尾端呼叫。 實際上,截至 2018.2, Rust Core Team 決定暫緩 TCO 的實作 ,目前 Rust 並沒有支援 TCO。但我們還是可以手動實作 TCO,減少 call stack。 我們先把原始的 lomuto partition 實作改成手動 TCO 版本。利用 while loop,將 lo 替換成下一個遞迴的引數,減少部分的 call stack。 - fn quicksort_helper(arr: &mut [i32], lo: isize, hi: isize) {\n+ fn quicksort_helper_manual_tco(arr: &mut [i32], mut lo: isize, mut hi: isize) {\n- if lo <= hi {\n+ while lo < hi { let pivot = partition(arr, lo, hi);\n- quicksort_helper(arr, lo, pivot - 1);\n- quicksort_helper(arr, pivot + 1, hi);\n+ quicksort_helper_manual_tco(arr, lo, pivot - 1);\n+ lo = pivot + 1; } } 再來,選擇性遞迴較小的部分。Iterative 版本的尾端呼叫消除(tail-call eliminate)就做完了! fn quicksort_helper_manual_tco(arr: &mut [i32], mut lo: isize, mut hi: isize) { while lo < hi { let pivot = partition(arr, lo, hi); if pivot - lo < hi - pivot { quicksort_helper_manual_tco(arr, lo, pivot - 1); lo = pivot + 1; } else { quicksort_helper_manual_tco(arr, pivot + 1, hi); hi = pivot - 1; } }\n}","breadcrumbs":"快速排序 Quicksort » 降低額外空間複雜度","id":"105","title":"降低額外空間複雜度"},"106":{"body":"選擇 pivot 的方法大致上有以下幾種: 總是選擇最後一個元素。 總是選擇第一個元素。 選擇特定位置(如中位數)的元素。 隨機選擇任意元素。 選擇第一個或最後一個元素會印序列已經接近排序完成或相反排序,造成 $O(n^2) $ 最壞的時間複雜度。隨機或選擇特定位置的方法較能避免這種情況,但實作上較困難。 除了選擇 pivot 的方法,近幾年來多 pivot(multi-pivot)Quicksort 也愈趨流行,可以減少 20% 的元素置換。相關的討論與證明可以參考 這篇文章 。","breadcrumbs":"快速排序 Quicksort » 選擇 Pivot 的方法","id":"106","title":"選擇 Pivot 的方法"},"107":{"body":"若輸入序列有許多重複的元素,使用原本 Lomuto scheme 實作的 Quicksort 仍然會比較置換等於 pivot 的所有元素。3-way partition scheme 就是將序列多分出「等於 pivot」部分,減少重複置換相等元素的排序法。 [ values < pivot | values == pivot | value > pivot ] 通常是使用著名的 Dutch national flag algorithm 來解決這個問題。實作上和 Lomuto 非常類似。 fn partition(arr: &mut [i32], lo: isize, hi: isize) -> (isize, isize) { let pivot = arr[hi as usize]; let mut i = lo; // smaller let mut j = lo; // equal let mut k = hi; // large while j <= k { if arr[j as usize] < pivot { arr.swap(i as usize, j as usize); i += 1; j += 1; } else if arr[j as usize] > pivot { arr.swap(k as usize, j as usize); k -= 1; } else { // No swap when identicial. j += 1; } } // Return smaller and larger pointer to avoid iterate duplicate elements. (i, k)\n}","breadcrumbs":"快速排序 Quicksort » 對付重複的元素","id":"107","title":"對付重複的元素"},"108":{"body":"不同的分割方案有著不同的應用場景,如上述的 3-way scheme 就適合重複元素多的序列。這裡再多介紹另一個常見的分割實作方案 Hoare partition,是 Quicksort 發明這 Hoare 自己提出的分割法,Rust 實作演算法如下: fn partition(arr: &mut [i32], lo: usize, hi: usize) -> usize { let pivot = arr[lo]; let mut i = lo; let mut j = hi; loop { // Find element >= pivot from leftmost element. while arr[i] < pivot { // 1 i += 1; } // Find element <= pivot from rightmost element. while arr[j] > pivot { // 2 j -= 1; } if i >= j { return j; } // Two elements are misplaced, swap them. arr.swap(i, j); // 3 i += 1; j -= 1; }\n} 從最左邊開始找比 pivot 大或相等的元素。 從最右邊開始找比 pivot 小或相等的元素。 若找到這兩個元素,置換之,以符合小於 pivot 在前,大於 pivot 在後的分割準則。","breadcrumbs":"快速排序 Quicksort » 選擇不同的分割方案","id":"108","title":"選擇不同的分割方案"},"109":{"body":"Wiki: Quicksort Algorithms, 4th Edition by R. Sedgewick and K. Wayne GeeksForGeeks: QuickSort Swift Algorithm Club: Quicksort","breadcrumbs":"快速排序 Quicksort » 參考資料","id":"109","title":"參考資料"},"11":{"body":"歡迎各式各樣的貢獻,修正錯字也行!開始動手之前,請先閱讀 貢獻指南 。","breadcrumbs":"Rust Algorithm Club » 如何貢獻","id":"11","title":"如何貢獻"},"110":{"body":"Mergesort 是一個泛用且高效穩定的排序法,最佳與最差時間複雜都是 $O(n \\log n) $。Mergesort 可謂著名「Divide and Conquer」手法的經典案例,先將序列分成更小的子序列(Divide),一個個排序後(Conquer),再合併已排序的子序列(Combine)。 高效穩定 :最佳、平均,與最差時間複雜度皆為 $O(n \\log n) $。 穩定排序 :相同鍵值的元素,排序後相對位置不改變。 非原地排序 :除了資料本身,仍需額外花費儲存空間來排序。 分治演算法 :將主問題化作數個子問題,各個擊破。","breadcrumbs":"合併排序 Mergesort » 合併排序 Mergesort","id":"110","title":"合併排序 Mergesort"},"111":{"body":"Mergesort 演算法分為以下步驟: Divide :將含有 n 個元素的序列分割成含有 n / 2 個子序列。 Conquer :排序分割後的兩個子序列。 Combine :合併排序完成的兩子序列,成為一個排好序的序列。 其中,Conquer 步驟中的「排序」可以不斷遞迴 Mergesort 自身,因此需要停止遞迴的條件(base case),我們將條件設定為「子序列的長度小於 2」,因為長度為 1 的序列可視為已完成排序。 將 Mergesort 視覺化排序如下: mergsort","breadcrumbs":"合併排序 Mergesort » 步驟","id":"111","title":"步驟"},"112":{"body":"以 ASCII diagram 圖解 Mergesort。 先將原始序列分割成數個長度為一的子序列。 Split array into length 1 subarray. [8, 7, 1, 2, 4, 6, 5, 3] | [8, 7, 1, 2] | [4, 6, 5, 3] | [8, 7] [1, 2] | [4, 6] [5, 3] |\n[8] [7] [1] [2] | [4] [6] [5] [3] V split 再將子序列依序合併成一個排好序的大序列。 Recursively merge subarray respecting the order. Merge |\n[8] [7] [1] [2] | [4] [6] [5] [3] | [7, 8] [1, 2] | [4, 6] [3, 5] | [1, 2, 7, 8] | [3, 4, 5, 6] V [1, 2, 3, 4, 5, 6, 7, 8]","breadcrumbs":"合併排序 Mergesort » 說明","id":"112","title":"說明"},"113":{"body":"Complexity Worst $O(n \\log n) $ Best $O(n \\log n) $ Average $O(n \\log n) $ Worst space $O(n) $ auxiliary","breadcrumbs":"合併排序 Mergesort » 效能","id":"113","title":"效能"},"114":{"body":"透過遞迴關係式,很容易計算 Mergesort 的時間複雜度。假設排序長度為 $n $ 的序列最多需要 $T(n) $ 時間。可以觀察到,如果序列只有一個元素,Mergesort 僅需要常數時間就可以完成排序,寫成 $T(n) = 1 $。 如果 $n > 2 $,Mergesort 會將序列分為 $\\lceil \\frac{n}{2} \\rceil $ 部分,以及 $\\lfloor \\frac{n}{2} \\rfloor $ 部分。我們可以將排序前者寫成 $T(\\lceil \\frac{n}{2} \\rceil) $,而後者花費時間為 $ T(\\lfloor \\frac{n}{2} \\rfloor) $。 最後,合併兩個子序列僅需 $n $ 個操作。可得下列遞迴關係式。 (為了方便計算,把 floor 和 ceil 捨去) $$ T(n) = \\begin{cases} 1 & \\text{if } n = 1, \\\\ 2T(\\frac{n}{2}) + n & \\text{otherwise.} \\end{cases} $$ 根據 Master Theorem ,可得複雜度為 $O(n \\log n) $。","breadcrumbs":"合併排序 Mergesort » Time Complexity","id":"114","title":"Time Complexity"},"115":{"body":"Mergesort 的缺點之一就是在合併子序列時,需要額外的空間依序插入排序資料;若是遞迴版本的 Mergesort 還需額外加上遞迴花費的 call stack 空間,因此額外空間複雜度為 $O(n) + O(\\log n) = O(n) $(以陣列實作)。","breadcrumbs":"合併排序 Mergesort » Space Complexity","id":"115","title":"Space Complexity"},"116":{"body":"一般來說,Divide and Conquer 有兩種設計、解決問題的技巧:Top-down(自上而下)與 Buttom-up(自下而上)。前者是先對問題有整體的輪廓概念,再逐步針對細節一一處理;後者則是先準備每個問題需要的基礎步驟與元件,再將這些步驟結合,解決整體的問題。 Mergesort 的實作分為兩部分: mergesort 主程式:對外的介面,負責分割序列。對應 Divide 功能。 merge:合併子序列,對應到 Conquer 與 Combine 功能。 先來看看如何分割序列。","breadcrumbs":"合併排序 Mergesort » 實作","id":"116","title":"實作"},"117":{"body":"自上而下的解法會不斷以類似 binary search 的方式找中點,進而分割序列。 pub fn mergesort(arr: &mut [i32]) { let mid = arr.len() / 2; if mid == 0 { // 1 return; } mergesort(&mut arr[..mid]); // 2 mergesort(&mut arr[mid..]); // Create an array to store intermediate result. let mut ret = arr.to_vec(); // 3 // Merge the two piles. merge(&arr[..mid], &arr[mid..], &mut ret[..]); // 4 // Copy back the result back to original array. arr.copy_from_slice(&ret); // 5\n} 設定遞迴的終止條件(base case),middle index 為 0 表示長度不大於 1。 利用 Rust 的 Range Operator ,可快速分割兩個 slice。 建立一個 Vec 儲存排序結果。 將兩個 slice 合併排序至 ret vector 中。 將 ret 的結果複製到原始 arr 中,使回傳值保有相同起始位址。","breadcrumbs":"合併排序 Mergesort » Top-down split","id":"117","title":"Top-down split"},"118":{"body":"自下而上的解法則是預定好最小的子序列長度,直接使用 for 迴圈從頭開始逐一擊破。 pub fn mergesort_bottom_up(arr: &mut [i32]) { let mut width = 1; // 1 // Create an array to store intermediate result. let mut ret = arr.to_vec(); // 2 let len = arr.len(); while width < len { let mut i = 0; while i < len { // Check to avoid upper bound and middle index out of bound. let upper = ::std::cmp::min(i + 2 * width, len); // 3 let mid = ::std::cmp::min(i + width, len); merge(&arr[i..mid], &arr[mid..upper], &mut ret[i..upper]); // Copy the merged result back to original array. arr[i..upper].copy_from_slice(&ret[i..upper]); // 4 // Increase start index to merge next two subsequences. i += 2 * width; // 5 } width *= 2; // 6 }\n} 設定最小的子序列長度,這個長度以下的子序列皆視為已排序。 建立一個 Vec 儲存排序結果。 取最小值,避免下標超出邊界,並且維持除了最後一組,其他子序列長度恆為 width。 複製這部分排序結果 ret 到原始的 arr 中。 繼續下兩個子序列的合併步驟。 將下個疊代的子序列長度加倍,繼續合併。","breadcrumbs":"合併排序 Mergesort » Buttom-up split","id":"118","title":"Buttom-up split"},"119":{"body":"無論是 Top-down 還是 Buttom-up 版本的解法,皆免不了 merge 這個共同步驟,將子序列合併為較大的序列。 fn merge(arr1: &[i32], arr2: &[i32], ret: &mut [i32]) { let mut left = 0; // Head of left pile. // 1 let mut right = 0; // Head of right pile. let mut index = 0; // Compare element and insert back to result array. while left < arr1.len() && right < arr2.len() { // 2 if arr1[left] <= arr2[right] { // 3 ret[index] = arr1[left]; index += 1; left += 1; } else { ret[index] = arr2[right]; index += 1; right += 1; } } // Copy the reset elements to returned array. // `memcpy` may be more performant than for-loop assignment. if left < arr1.len() { // 4 ret[index..].copy_from_slice(&arr1[left..]); } if right < arr2.len() { ret[index..].copy_from_slice(&arr2[right..]); }\n} 建立三個指標,分別給 arr1、arr2 與回傳陣列 ret 使用。 這部分依序比較兩個子序列,排序較小者先進入回傳 ret。直到其中一序列所有元素都進入 ret 就停止。 這邊判斷使用 <= 小於等於確保排序穩定(相同鍵值順序不換)。 將剩餘未進入 ret 的元素,依序複製到 ret 中。 slice.copy_from_slice 底層使用 C 的 memcpy,比起 for-loop 一個個賦值,直接複製整塊記憶體比較快了。","breadcrumbs":"合併排序 Mergesort » The merge part","id":"119","title":"The merge part"},"12":{"body":"@weihanglo @choznerol @henry40408 @wiasliaw77210 @LebranceBW","breadcrumbs":"Rust Algorithm Club » 貢獻者","id":"12","title":"貢獻者"},"120":{"body":"","breadcrumbs":"合併排序 Mergesort » 變形","id":"120","title":"變形"},"121":{"body":"在真實世界資料中,早有許多部分排序的分區(natural run),倘若跳過排序這些分區的步驟,就可減少許多不必要的操作, Timsort 就是為了完全利用榨乾這些分區的混合排序法。","breadcrumbs":"合併排序 Mergesort » Timsort","id":"121","title":"Timsort"},"122":{"body":"Wiki: Merge sort CMSC 351 Algorithms, Fall, 2011, University of Maryland. Sorting GIF was created By CobaltBlue CC BY-SA 2.5 via Wikimedia Commons.","breadcrumbs":"合併排序 Mergesort » 參考資料","id":"122","title":"參考資料"},"123":{"body":"Counting sort 是一個特殊的整數排序法,被視為 Bucket sort 的特例。原理是在已知整數範圍內,計算每個鍵值出現次數,並用額外的陣列保存(Count array)。最後將 Count array 的元素值作為排序資料的新 index。 Counting sort 基本特性如下: 非原地排序 :額外花費較大量、非固定的空間來排序。 穩定排序 :相同鍵值的元素,排序後相對位置不改變。 整數排序 :以整數作為排序的鍵值。 分配式排序 :不透過兩兩比較,而是分析鍵值分佈來排序。特定情況下可達線性執行時間。 線型執行時間 :當輸入資料量 n 與已知範圍上下界之差值相近,執行時間接近線型( O(n) ) 預期分佈 :預期輸入資料是落在已知範圍內的整數(例如 0 到 k)。 適用範圍 :僅適用於小範圍整數(額外空間需求大)。","breadcrumbs":"計數排序 Counting sort » 計數排序 Counting sort","id":"123","title":"計數排序 Counting sort"},"124":{"body":"Count occurrence :計算每個 key 的出現次數。 Prefix sum as start index :計算前綴和(Prefix sum),並作為該元素的 start index。 Copy output :利用步驟二的前綴和,遍歷輸入資料,取得元素排序後的索引。","breadcrumbs":"計數排序 Counting sort » 步驟","id":"124","title":"步驟"},"125":{"body":"這裡有資料需要透過正整數的 key 來排序。key 的範圍在 0 - 9 之間,格式為 (key, value)。 Input: (1, A) (5, B) (8, C) (2, D) (2, E) (9, F) 1. Count occurrence :首先,先計算每個 key 的出現頻率,儲存在額外的 count array 中。 Key : 0 1 2 3 4 5 6 7 8 9\nCount: 0 1 2 0 0 1 0 0 1 1 2. Prefix sum as start index :再計算 prefix sum,也就是將當前 index 前累計的 key 數量加總。例如 key 5 的 prefix sum 1 + 2 = 3 。 這裡的 prefix sum 等同於每筆資料排序後的位置(index)。例如排序後, 8 位於陣列第四位。 Key : 0 1 2 3 4 5 6 7 8 9\nPrefix Sum: 0 0 1 3 3 3 4 4 4 5 3. Copy output :透過 key 與 prefix sum 的映射關係,找到原始資料對應的位置。 實作上,每筆資料找到對應的 start index(prefix sum) 後,要將 該 index 之值 +1 ,使得重複的元素可取得正確的 index offset(對唯一的 key 沒有影響)。 (1, A)\n--> prefix sum 為 0,寫入 array[0],並將 prefix sum + 1 +--------+--------+--------+--------+--------+--------+\n| (1, A) | | | | | |\n+--------+--------+--------+--------+--------+--------+ (5, B)\n--> prefix sum 為 3,寫入 array[3],並將 prefix sum + 1 +--------+--------+--------+--------+--------+--------+\n| (1, A) | | | (5, B) | | |\n+--------+--------+--------+--------+--------+--------+ (8, C)\n--> prefix sum 為 4,寫入 array[4],並將 prefix sum + 1 +--------+--------+--------+--------+--------+--------+\n| (1, A) | | | (5, B) | (8, C) | |\n+--------+--------+--------+--------+--------+--------+ (2, D)\n--> prefix sum 為 1,寫入 array[1],並將 prefix sum + 1 +--------+--------+--------+--------+--------+--------+\n| (1, A) | (2, D) | | (5, B) | (8, C) | |\n+--------+--------+--------+--------+--------+--------+ (2, E)\n--> prefix sum 為 2(前一步驟 + 1),寫入 array[2],並將 prefix sum + 1 +--------+--------+--------+--------+--------+--------+\n| (1, A) | (2, D) | (2, E) | (5, B) | (8, C) | |\n+--------+--------+--------+--------+--------+--------+ (9, F)\n--> prefix sum 為 5,寫入 array[5],並將 prefix sum + 1 +--------+--------+--------+--------+--------+--------+\n| (1, A) | (2, D) | (2, E) | (5, B) | (8, C) | (9, F) |\n+--------+--------+--------+--------+--------+--------+ 這樣就完成排序了。此外,觀察 (2, D) 與 (2, E) 排序前後的位置,會發現 counting sort 是個實實在在的穩定排序,很棒。","breadcrumbs":"計數排序 Counting sort » 說明","id":"125","title":"說明"},"126":{"body":"Complexity Worst $O(n + k) $ Best $O(n + k) $ Average $O(n + k) $ Worst space $O(n + k) $ auxiliary k 為資料已知範圍上下界之差。","breadcrumbs":"計數排序 Counting sort » 效能","id":"126","title":"效能"},"127":{"body":"Counting sort 沒有用到任何遞迴,可以直觀地分析複雜度。在步驟一,建立 count array 與步驟三輸出排序結果,都需要遍歷 $n $ 個輸入的資料,因此複雜度為 $O(n) $;步驟二計算 prefix sum,以及 count array 自身的初始化則需執行 $k + 1 $ 次(給定的資料範圍),這部分的複雜度為 $O(k) $。由於 $n $ 與 $k $ 的權重會因輸入資料及實作的不同而有所改變,我們無法捨棄任何一個因子,可得知 counting sort 的複雜度為 $O(n + k) $。","breadcrumbs":"計數排序 Counting sort » Time Complexity","id":"127","title":"Time Complexity"},"128":{"body":"Counting sort 並非 in-place sort,排序後的結果會另外輸出為新的記憶體空間,因此 $O(n) $ 的額外(auxiliary)空間複雜度絕對免不了。再加上需要長度為 $k $ 的 count array 保存每個 key 的出現次數,因此需再加上 $O(k) $。除了原始的輸入 array,總共需花費 $O(n + k) $ 的額外空間複雜度。 如果欲排序資料就是整數鍵值自身,可以將「計算前綴和」與「複製輸出」兩步驟最佳化,直接覆寫原始陣列,額外空間複雜度會下降至 $O(k) $,但也因此成為不穩定排序法。","breadcrumbs":"計數排序 Counting sort » Space complexity","id":"128","title":"Space complexity"},"129":{"body":"由於 Counting sort 屬於分布式排序(Distribution sort),這裡使用泛型,以彰顯分布式排序的特色。","breadcrumbs":"計數排序 Counting sort » 實作","id":"129","title":"實作"},"13":{"body":"本專案分為兩部分授權: 程式碼與函式庫依據 The MIT License (MIT) 授權條款發佈。 文章與相關著作依據 Creative Commons 4.0 (CC BY-NC-SA 4.0) 授權條款發佈。 Copyright © 2017 - 2021 Weihang Lo","breadcrumbs":"Rust Algorithm Club » 授權條款","id":"13","title":"授權條款"},"130":{"body":"首先,我們先看函式如何宣告(function signature)。 pub fn counting_sort(arr: &mut [T], min: usize, max: usize, key: F) where F: Fn(&T) -> usize, T: Clone, 這裡使用了四個參數: arr:待排序陣列。 min、max:整數排序的上下界。 key:由於資料不一定是整數,需要一個 function 從資料擷取鍵值做排序。 另外,也使用兩個泛型型別: F:key extactor 的型別,回傳的 usize 必須落在 [min, max) 之間。 T:陣列元素的型別,實作 Clone 是由於 Counting sort 需要將 output 再複製回原本的參數 arr 上,達成「偽」原地排序。","breadcrumbs":"計數排序 Counting sort » Function Signature","id":"130","title":"Function Signature"},"131":{"body":"再來,了解如何建立一個元素出現次數的陣列。 fn counting_sort() { // ... let mut prefix_sums = { // 1. Initialize the count array with default value 0. let len = max - min; let mut count_arr = Vec::with_capacity(len); count_arr.resize(len, 0); // 2. Scan elements to collect counts. for value in arr.iter() { count_arr[key(value)] += 1; } // 3. Calculate prefix sum. count_arr.into_iter().scan(0, |state, x| { *state += x; Some(*state - x) }).collect::>() }; // ...\n} 建立一個長度為上下界之差的 count array。注意,這裡使用了 Vec.resize,因為 Rust initialize 空的 Vec 時並不會插入 0 或其他預設值。 遍歷整個輸入資料,利用 key function 取出每筆資料的鍵值,出現一次就 +1。 利用 Iterator 上的 scan method 計算每個鍵值的 prefix sum。需要注意的是,每個元素對應的 prefix sum 不包含自身,例如 key 3 的計算結果就是 key 1 與 key 2 的出現總次數,如此一來,prefix sum 才會直接對應到排序後的位置。","breadcrumbs":"計數排序 Counting sort » Prefix Sums Array","id":"131","title":"Prefix Sums Array"},"132":{"body":"最後一步就是將 prefix sum 當作每個 element 的正確位置,把資料重頭排序。 fn counting_sort() { // ... for value in arr.to_vec().iter() { // 1 let index = key(value); arr[prefix_sums[index]] = value.clone(); // 2 prefix_sums[index] += 1; // 3 }\n} 將輸入資料透過 to_vec 複製起來疊代,需要複製 arr 是因為之後要直接在 arr 插入新值,需要另一份原始輸入的拷貝。 利用 key 擷取鍵值後,把資料複製給 arra 上對應 prefix_sums[index] 的位置。 將該 prefix_sums[index] 的值加一,以便元素重複時,可以正常複製到下一個位置。 完成了!這裡再貼一次完整的程式碼。 pub fn counting_sort(arr: &mut [T], min: usize, max: usize, key: F) where F: Fn(&T) -> usize, T: Clone,\n{ let mut prefix_sums = { // 1. Initialize the count array with default value 0. let len = max - min; let mut count_arr = Vec::with_capacity(len); count_arr.resize(len, 0); // 2. Scan elements to collect counts. for value in arr.iter() { count_arr[key(value)] += 1; } // 3. Calculate prefix sum. count_arr.into_iter().scan(0, |state, x| { *state += x; Some(*state - x) }).collect::>() }; // 4. Use prefix sum as index position of output element. for value in arr.to_vec().iter() { let index = key(value); arr[prefix_sums[index]] = value.clone(); prefix_sums[index] += 1; }\n}","breadcrumbs":"計數排序 Counting sort » Prefix Sums as Start Index","id":"132","title":"Prefix Sums as Start Index"},"133":{"body":"Wiki: Counting sort Growing with the web: Counting sort","breadcrumbs":"計數排序 Counting sort » 參考資料","id":"133","title":"參考資料"},"134":{"body":"Bucket sort ,是一個非比較排序。原理是建立一些桶子,每個桶子對應一資料區間,在將待排序資料分配到不同的桶中,桶子內部各自排序。由於並非 比較排序 ,使用 Bucket sort 需要事先知道資料的範圍與分佈,才能決定桶子對應的區間。 Bucket sort 基本特性如下: 又稱 bin sort 。 穩定排序 :相同鍵值的元素,排序後相對位置不改變。 分配式排序 :不透過兩兩比較,而是分析鍵值分佈來排序。特定情況下可達線性執行時間。 預期分佈 :資料為 均勻分佈 。","breadcrumbs":"桶排序 Bucket sort » 桶排序 Bucket sort","id":"134","title":"桶排序 Bucket sort"},"135":{"body":"假設要排序 $n $ 個元素的陣列,這些元素的值平均散落在某個 已知的預期範圍內 ,例如 1 到 100。 Create buckets :建立 $k $ 個桶子(bucket)的陣列。每個桶子 對應預期範圍的某區間 ,如第一個桶子放 1 到 10,第二個放 11 到 20。 Scatter :將每個元素依照該值放入對應的桶子中。 Inner sort :排序所有非空的桶子。 Gather :依序走訪所有桶子,將桶內的元素放回原本的陣列中。","breadcrumbs":"桶排序 Bucket sort » 步驟","id":"135","title":"步驟"},"136":{"body":"以下用 ASCII diagram 視覺化解釋: 這裡有一些整數,落在 1 至 100 之間。我們有 $n = 10 $ 的陣列要排序。 Original array +-------------------------------------------------+\n| 6 | 28 | 96 | 14 | 74 | 37 | 9 | 71 | 91 | 36 |\n+-------------------------------------------------+ 1. Create buckets :建立一定數量的桶子,這裡我們建立與原始陣列相同數量的桶子(10)。每個桶子對應 $n - 1 * 10 $ 到 $n * 10 $ 的區間。 Bucket array +-------------------------------------------------+\n| | | | | | | | | | |\n+-------------------------------------------------+ ^ ^ | | | | | holds values in range 11 to 20 holds values in range 1 to 10 2. Scatter :將原始陣列中的元素,放入對應的桶中。 Bucket array 6,9 14 28 37,36 74,71 96,91 | | | | | |\n+-v----v----v----v-------------------v---------v--+\n| | | | | | | | | | |\n+-------------------------------------------------+ 3. Inner sort :排序所有非空桶子中的元素,桶內排序可用任意排序法,通常選用「insertion sort」,可確保排序穩定性,並降低額外開銷。 Bucket array sort sort sort sort sort sort --- -- -- ----- ----- ----- 6,9 14 28 36,37 71,74 91,96 | | | | | |\n+-v----v----v----v-------------------v---------v--+\n| | | | | | | | | | |\n+-------------------------------------------------+ 4. Gather :排序完後,再將所有桶中元素依序放回原始的陣列。 Original array\n+-------------------------------------------------+\n| 6 | 9 | 14 | 28 | 36 | 37 | 71 | 74 | 91 | 96 |\n+-------------------------------------------------+","breadcrumbs":"桶排序 Bucket sort » 說明","id":"136","title":"說明"},"137":{"body":"Complexity Worst $O(n^2) $ Best $O(n + k) $ Average $O(n + k) $ Worst space $O(n + k) $ auxiliary $k $ = 桶子的數量(number of buckets) $n $ = 資料筆數","breadcrumbs":"桶排序 Bucket sort » 效能","id":"137","title":"效能"},"138":{"body":"Bucket sort 是一個分配式排序法,對資料分佈有既定的預期:「 所有元素平均分佈在每個 bucket 的區間內 」。可想而知,最差的狀況是所有元素都聚集(clustering)在同一個 bucket 中,整個 bucket sort 的會退化成單一一個 inner sort 的複雜度。而桶內排序通常選用 insertion sort(最差 $O(n^2) $),所以最差的時間複雜度為「 $O(n^2) $」。","breadcrumbs":"桶排序 Bucket sort » Worst case","id":"138","title":"Worst case"},"139":{"body":"最佳的狀況則是完全符合預期的平均分佈,一個蘿蔔一個坑,每個桶內排序的最佳時間複雜度為 $O(n / k) $,再乘上桶子總數 $k $,僅需 $O(k \\cdot (n / k)) = O(n) $。計算結果看起來非常合理,但實際上最佳時間複雜度為 $O(n + k) $,為什麼呢? 無庸置疑,桶內排序最佳時間複雜度為 $O(n / k) $,但別忘了這是省略常數項過後式子,進行符號運算時,較精確的表達是 $c_0 O(n / k) + c_1 $,對於實作層面的常數 $c_0 $ 和 $c_1 $ 則予以保留。 當我們乘上 $k $,試著算出總運算量時, $$k \\cdot (c_0(n / k) + c_1) $$ 會得到: $$ c_0n + c_1k $$ 可以得知,整個計算與 $k $ 有關,所以需要耗時 $O(n + k) $。 撇開數學,我們從 pseudo code 來看。最佳情況下,將所有元素蒐集回陣列的步驟(Gather)如下: for (each bucket b in all k buckets) for (each element x in b) append x to the array 最外層的迴圈依桶子數 $k $ 而定,至少需要執行 $k $ 次,複雜度為 $O(k) $。內層的迴圈則是每個桶內的元素都會執行,而我們的資料時均勻分布,因此執行時間與元素總數 $n $ 相關,為 $O(n) $。兩者加起來就是我們所說的 $O(n + k) $ 的最佳複雜度。 那 $k $ 究竟會是多少,影響會比 $n $ 大嗎? 端看桶子總數而定,若桶子總數很大,比元素個數 $n $ 大得多,則桶子總數對執行時間的影響恐較劇烈,就算大多數為空桶子,仍須挨家挨戶查看是否需要執行桶內排序。","breadcrumbs":"桶排序 Bucket sort » Best case","id":"139","title":"Best case"},"14":{"body":"日常生活中,你會如何描述處理事情的效率? 「原來她五分鐘內可以吃掉一頭牛!」 「房間這麼小你還能擺一堆雜物?還不快收拾!」 這些描述方法,著重在處理事情的花費時間,或單位空間內的儲存量。描述演算法的效率也如此,就是「測量演算法的執行成本」,例如這個排序法花了 10 秒鐘跑完兩萬筆資料,或是這個模擬演算法很吃資源需要 32 GB 的記憶體。 然而,在不同的機器規格、環境溫濕度、程式語言、實作方式,以及有沒有放乖乖的變異影響下,相同演算法的執行成本常常不一致。為了消弭這些外部因素,讓分析演算法能夠更科學化。科學家抽絲剝繭,發明一個方法: 「統計演算法內所需操作步驟的數目。」 這是最簡單,最粗淺比較不同演算法效率的作法。","breadcrumbs":"漸進符號 Asymptotic Notation » 漸進符號 Asymptotic Notation","id":"14","title":"漸進符號 Asymptotic Notation"},"140":{"body":"Bucket sort 須額外建立 $k $ 個桶子,每個桶子需要配置長度為 $n $ 的 array,因此空間複雜度為 $O(n \\cdot k) $。如果以 dynamic array 實作 bucket,並考慮平攤分析(Amortized analysis),則空間複雜度降至 $O(n + k) $,這也是大多數人接受的分析結果,畢竟不會有人無聊到預先配置 $n \\cdot k $ 個 empty bucket。","breadcrumbs":"桶排序 Bucket sort » Space Complexity","id":"140","title":"Space Complexity"},"141":{"body":"","breadcrumbs":"桶排序 Bucket sort » 實作","id":"141","title":"實作"},"142":{"body":"Bucket sort 有許多種各異的實作法,差異最大之處就是桶子 bucket 這部分。 /// Bucket to store elements.\nstruct Bucket { hash: H, values: Vec,\n} impl Bucket { /// Create a new bucket and insert its first value. /// /// * `hash` - Hash value generated by hasher param of `bucket_sort`. /// * `value` - Value to be put in the bucket. pub fn new(hash: H, value: T) -> Bucket { Bucket { hash: hash, values: vec![value], } }\n} 這裡的桶子實作兩個 struct fields: values:使用 Vec 儲存對應範圍內的元素 hash:Bucket Sort 主函式有一個 hasher 函式,會計算出對應各個桶子的雜湊值,因此要確保桶子的雜湊值有唯一性。","breadcrumbs":"桶排序 Bucket sort » Bucket","id":"142","title":"Bucket"},"143":{"body":"接下來就是排序主函式。依照慣例,先看看函式的宣告(function signature)。 pub fn bucket_sort(arr: &mut [T], hasher: F) where H: Ord, F: Fn(&T) -> H, T: Ord + Clone, 這個 bucket_sort 函式使用了不少泛型: H:hasher 函式的回傳型別,用來辨識不同的桶子。 F:hasher 函式自身,只需要一個參數 &T,回傳一個 H。 T:欲排序資料的型別。 函式自身稍微複雜一點,但仍不脫離 四步驟 :Create buckets、Scatter、Inner sort,還有 Gather。 pub fn bucket_sort() { // ... // 1. Create buckets. let mut buckets: Vec> = Vec::new(); // 2. Scatter for value in arr.iter() { let hash = hasher(&value); // 2.1. let value = value.clone(); // 2.2. match buckets.binary_search_by(|bucket| bucket.hash.cmp(&hash)) { // If exists, push the value to the bucket. Ok(index) => buckets[index].values.push(value), // If none, create and new bucket and insert value in. Err(index) => buckets.insert(index, Bucket::new(hash, value)), } } // 3. Inner sort and gather let ret = buckets.into_iter().flat_map(|mut bucket| { bucket.values.sort(); // 3.1. bucket.values }).collect::>(); // 3.2. arr.clone_from_slice(&ret); // 4 Copy to original array\n} 一般來說,第一步會配置完所有桶子,但這裡實作僅建立儲存桶子們的容器 buckets,這是由於實作了 hasher 函式,元素對應桶子的邏輯交由外部決定,因此桶子不需事先配置,而是交給第二步驟時 on-the-fly 建立。 疊代輸入的 arr,將元素散佈到桶子中。 使用元素值 value 取得雜湊值。 從一堆桶子內 buckets 尋找對應雜湊值的桶子,如有對應桶子,則將待排序元素插入桶中;若無對應桶子,則馬上建立桶子,並插入待排序元素。 由於桶子們 buckets 是一個二維陣列集合,我們使用 flat_map 將之壓平。 使用 Rust 內建 sort(Timsort 的變形)作為我們 inner sort 的實作,將桶內所有元素排好序 別忘了 Rust 的 Iterator 很 lazy,記得要使用 collect 蒐集 iterator 實作後的結果。 由於要模擬 in-place 原地排序法的特性,將排序好的資料再次拷貝到 arr 上。這也是為什麼函式元素泛型 T 需要 Clone trait 的原因了。 有關於步驟 2.2.,這部分可以用 HashMap 的變形 IndexMap (一個保存插入順序的有序 HashMap)保存雜湊值對應桶子的資訊,使得外界更容易依雜湊值找到桶子。但為了保持範例程式的簡潔,決定不引入第三方的 crate(Rust 語言第三方模組的代稱),且 binary_search_by 的複雜度為 $O(\\log n) $,對 Bucket sort 最差複雜度並無影響。","breadcrumbs":"桶排序 Bucket sort » Sorting","id":"143","title":"Sorting"},"144":{"body":"Wiki: Bucket sort Wiki: Amortized analysis How is the complexity of bucket sort is O(n+k) if we implement buckets using linked lists? Bucket sort in Rust","breadcrumbs":"桶排序 Bucket sort » 參考資料","id":"144","title":"參考資料"},"145":{"body":"如果你對 Counting sort 與 Bucket sort 有認識,應該知道這兩個排序都能突破比較排序法複雜度 $O(n \\log n) $ 限制的特殊排序法。 Radix sort 同樣是個特殊的 整數排序法 ,效能同樣可達突破限制。差別在於,前兩者僅依據一個鍵值排序,而 Radix sort 則是依據多個鍵值排序。 舉例來說,欲排序一群範圍在 0 - 999 的整數,若以 Counting sort 排序,則需建立一個「1000 元素的陣列」來計算每個整數的出現次數;若使用以 10 為基數的 Radix sort,則僅需以個位數、十位數、百位數作為鍵值分別排序三次。通常 Radix sort 的排序副程式(Sorting subroutine)會選用 Counting sort 或 Bucket sort,而以 10 為基數的鍵值範圍僅 0 - 9,這種小範圍整數非常適合 Counting sort 作為排序副程式,節省了配置 int arr[1000] 的 count array 的時空間。 Radix sort 基本特性如下: 整數排序法 :以整數作為排序的鍵值。 分配式排序法 :不透過兩兩比較,而是分析鍵值分佈來排序。特定情況下可達線性執行時間。 穩定性 :採用 LSD 的 Radix sort 屬穩定排序法(Stable sort);透過優化,採用 MSD 也可以是穩定排序法。","breadcrumbs":"基數排序 Radix sort » 基數排序 Radix sort","id":"145","title":"基數排序 Radix sort"},"146":{"body":"常見的 Radix sort 依據整數的每個位數來排序,依照位數排序的先後順序,可分為兩種: Least significant digit (LSD) :從最低有效鍵值開始排序(最小位數排到大)。 Most significant digit (MSD) :從最高有效鍵值開始排序(最大位數排到小)。 簡單的 LSD Radix sort 步驟如下: LSD of each key :取得每個資料鍵值的最小位數(LSD)。 Sorting subroutine :依據該位數大小排序資料。 Repeating :取得下一個有效位數,並重複步驟二,至最大位數(MSD)為止。 而 MSD Radix sort 的步驟相似,但取得資料鍵值的方向相反。 MSD of each key :取得每個資料鍵值的最大位數(MSD)。 Sorting subroutine :依據該位數大小排序資料。 Repeating :取得下一個有效位數,並重複步驟二,至最小位數(LSD)為止。 由於 MSD Radix sort 先排序最大位數,會出現 8 > 126 的結果,這種順序通常稱為 Lexicographical order ,有如字典一般,越前面的字母排序權重越重,也因此,基本版的 MSD Radix sort 並非穩定排序法。","breadcrumbs":"基數排序 Radix sort » 步驟","id":"146","title":"步驟"},"147":{"body":"我們選用 LSD Radix sort 示範,並且為了增加可讀性,將基數設為 10。需注意在現實場景中,有時使用 bytes 作為基數可能更適合。 待排序的數列如下。 [170, 45, 75, 90, 802, 2, 24, 66] Radix sort 的排序副程式,通常選用 counting sort 或 bucket sort,因此,開始排序前,需建立供其使用的 buckets(或 count array)。這屬於其他排序法的範疇,有興趣可看 Counting sort 或 Bucket sort 。 首先,從最小位數開始排序。 注意,同樣鍵值的資料,相對位置不會改變(穩定排序)。 0 5 5 0 2 2 4 6 _ _ _ _ _ _ _ _\n[170, 45, 75, 90, 802, 2, 24, 66] sort by rightmost digit --> 0 0 2 2 4 5 5 6 _ _ _ _ _ _ _ _\n[170, 90, 802, 2, 24, 45, 75, 66] 再來,對下一個位數排序資料。位數不足的資料,予以補 0。 7 9 0 0 2 4 7 6 _ _ _ _ _ _ _\n[170, 90, 802, 2, 24, 45, 75, 66] sort by next digit --> 0 0 2 4 6 7 7 9 _ _ _ _ _ _ _\n[802, 2, 24, 45, 66, 170, 75, 90] 最終,對最後一個位數進行排序。大功告成! 8 0 0 0 0 1 0 0 _ _\n[802, 2, 24, 45, 66, 170, 75, 90] sort by leftmost digit --> 0 0 0 0 0 0 1 8 _ _\n[2, 24, 45, 66, 75, 90, 170, 802]","breadcrumbs":"基數排序 Radix sort » 說明","id":"147","title":"說明"},"148":{"body":"Complexity Worst $O(dn) $ Best $O(dn) $ Average $O(dn) $ Worst space $O(d + n) $ auxiliary $n $:資料筆數。 $d $:number of digit,資料中最多有幾個位數(或鍵值)。 $k $:基數,就是一個位數最多有幾種可能的值。","breadcrumbs":"基數排序 Radix sort » 效能","id":"148","title":"效能"},"149":{"body":"欲分析 Radix sort 的時間複雜度,我們可以逐一擊破,先從排序副程式開始分析。 Radix sort 的 subroutine 通常採用 Counting sort 或 Bucket sort,因此每個 subroutine 的複雜度為 $O(n + k) $, $k $ 為 key 的範圍,以 10 為基數,就是 0 - 9 之間 $k = 10 $。 再來,我們分析整個主程式,Radix sort 每個位數各需排序一次,若最多位數的資料有 $d $ 位數,時間複雜度需乘上 $d $,為 $O(d (n + k)) $,那這個 $k $ 是否可以捨去呢? 分析 Counting sort 或 Bucket sort 時,範圍 $k $ 會隨輸入資料而變化,若 $k $ 過大,對複雜度的影響甚至會超過 $n $,因此分析複雜度時無法將 $k $ 捨去。而在 Radix sort, $k $ 通常為一個已知的常數,例如以 bytes 為基數 $k = 8 $, $k $ 可以捨去。最後可得 Radix sort 的時間複雜度為 $O(d \\cdot n) $。","breadcrumbs":"基數排序 Radix sort » Time complexity","id":"149","title":"Time complexity"},"15":{"body":"「計算步驟數目」很像中小學的數學題目:某公司有三個能力相異的工程師,有的工程師一天解決一個 bug,有的工程師連續工作後效率大幅滑落。每個工程師的除蟲效率可以畫成「bug 數 - 解決 bug 所需時數」函數,橫軸為待處理的臭蟲數,縱軸為解決臭蟲所需時數,如圖一與表所示。 時數 $\\log N$ $N$ $N \\log N$ $N=5$ 2.236 5 8.046 $N=30$ 5.477 30 102.036 Fig. 1 不論從圖或表,我們都可以明確看出,當 bug 數目小時,每個工程師耗時差不多;當 bug 數目成長到一定程度時,效率好與效率差的工程師差距就很明顯了。 我們把場景拉回演算法的範疇,再闡明一次。上述的除蟲效率函數關係,可以簡單視為為「輸入資料量 - 運算成本」關係之函數。例如 $f(x)=x^2+3x+6$。當輸入資料量增大時,成本也隨之上升,這個用來描述演算法執行成本與輸入資料量之關係的函數,我們稱之為該演算法的「複雜度」。","breadcrumbs":"漸進符號 Asymptotic Notation » 用數學表示演算法效率","id":"15","title":"用數學表示演算法效率"},"150":{"body":"Radix sort 的空間複雜度同樣取決於排序副程式,Counting sort 與 Bucket sort 的空間複雜度皆為 $O(n \\cdot k) $。Radix sort 的 $k $ 是常數,予以捨去。再乘上 $d $ 個位數,最差的空間複雜度為 $O(d \\cdot n) $。","breadcrumbs":"基數排序 Radix sort » Space complexity","id":"150","title":"Space complexity"},"151":{"body":"這裡示範實作以 10 為基數,用來排序非負整數的 Radix sort。 首先,我們的排序副程式使用 Counting sort。 // 0. Include counting sort.\nuse ::sorting::counting_sort; 再來,就是 Radix sort 本體了。為了凸顯 Radix sort 的概念,簡化了函式參數數量,除去泛型宣告,並將基數選擇寫死在函式裡。 pub fn radix_sort(arr: &mut [i32]) { let radix = 10; // 1 let mut digit = 1; // 2 let max_value = arr // 3 .iter() .max() .unwrap_or(&0) .clone(); while digit <= max_value { // 4 counting_sort(arr, 0, 9, |t| (t / digit % radix) as usize); // 5 digit *= radix; // 6 }\n} 設定基數為 10。 設定一個旗標,記錄當前在排序哪一位數,1 表示從最小位數(個位數)開始。 先找到輸入資料的最大值,作為之後副程式迴圈結束的條件。尋找最大值的複雜度為 $O(n)$,因此不影響 Radix Sort 的複雜度。如果 arr 為空序列,則最大值設為 0,在第四步驟就會自動結束排序。 判斷當前排序的位數是否大於最大值,例如當前排序百分位,digit 為 100,而最大值 x 為 26,則不需再排序百分位。 使用 Counting sort 作為排序副程式,只需要有 0 - 9 十個桶子。而 key 參數則取出當前欲比較的位數。 位數乘上基數,移至下一個位數繼續比較。 小提醒:這是簡單又容易理解的實作,相對有許多額外的運算開銷(例如尋找最大值)。實務上,會在對資料有些了解才採用 Radix sort,因此實作並不會這麼 naive。","breadcrumbs":"基數排序 Radix sort » 實作","id":"151","title":"實作"},"152":{"body":"Wiki: Radix sort Princeton University DSA Course: Radix sort ByVoid: 三種線性排序算法 計數排序、桶排序與基數排序","breadcrumbs":"基數排序 Radix sort » 參考資料","id":"152","title":"參考資料"},"153":{"body":"Stack - Wikipedia 堆疊是一個具有 後進先出 LIFO 特性的資料結構。以從 Wikipedia 借來的上圖為例,在第五張圖的狀況下,如果要取得 2,就必須先把 3、4、5 都退出堆疊。 堆疊的底部與頂部都是抽象的概念,頂部是資料被加入、移除、較為繁忙的那一端,底部即另一端。 堆疊的空間可能是有限的,亦即也有可能實現空間無限的堆疊。有鑑於有限空間的堆疊較為常見,我們選擇實作空間有限的堆疊。 堆疊 stack 有兩種實作方式:陣列 array 與鏈結串列 linked list,在此選擇以類似陣列的 Vector 實現。 本次實作的程式碼置於 rust_algorithm_club::collections::Stack API 文件中。","breadcrumbs":"堆疊 Stack » 堆疊 Stack","id":"153","title":"堆疊 Stack"},"154":{"body":"pub struct Stack { maxsize: usize, items: Vec,\n} maxsize 用於模擬堆疊空間有限的特性;items 負責保存加入堆疊的資料。 在此刻意將 maxsize、items 定義為 private member,避免外部直接存取。","breadcrumbs":"堆疊 Stack » 架構設計","id":"154","title":"架構設計"},"155":{"body":"with_capacity:定義一個空間有限的堆疊。 push:將新資料加入資料結構。 pop:將最新加入的資料移出資料結構。 size:(選用)取得堆疊的大小。 peek:(選用)在不將資料退出堆疊的情況下偷看最後加入堆疊的資料。","breadcrumbs":"堆疊 Stack » 基本操作","id":"155","title":"基本操作"},"156":{"body":"pub fn with_capacity(maxsize: usize) -> Self { Self { maxsize, items: Vec::with_capacity(maxsize), } } 初始化一個帶有預先分配空間 Vector 的堆疊。 ⚠ 注意,即使預先分配了有限的空間,Rust 的 vector 在空間已滿的情況下會重新分配。假設一開始為 vector 分配了 10 單位的空間,在將第 11 筆資料插入 vector 前,vector 在記憶體的空間將被重新分配,以容納這第 11 筆資料。為了模擬堆疊空間有限的特性,我們會在 push 的操作動點手腳。","breadcrumbs":"堆疊 Stack » 定義一個空間有限的堆疊","id":"156","title":"定義一個空間有限的堆疊"},"157":{"body":"pub fn push(&mut self, item: T) -> bool { if self.items.len() == self.maxsize { return false; } self.items.push(item); return true; } 由於 push 操作會改變 items,因此需要堆疊的 mutable reference。由於 Rust 的 vector 有重新分配的特性,在將資料正式加入堆疊之前,必須先檢查堆疊初始化時設定的空間是否已經被塞滿了。如果結果為是,則拒絕將資料加入堆疊。","breadcrumbs":"堆疊 Stack » 將新資料加入資料結構","id":"157","title":"將新資料加入資料結構"},"158":{"body":"pub fn pop(&mut self) -> Option { self.items.pop() } 堆疊有可能是空的,在此以 Option 表現這個情況。如果針對一個空堆疊進行 pop 操作,將會得到 None。","breadcrumbs":"堆疊 Stack » 將最新加入的資料移出資料結構","id":"158","title":"將最新加入的資料移出資料結構"},"159":{"body":"pub fn size(&self) -> usize { self.items.len() } 一個空堆疊的大小是 0,加入一筆資料後是 1⋯⋯以此類推。注意容量 capcity 與大小 size 是兩個不同的概念。容量是這個堆疊最多可以塞下多少資料,大小則是這個堆疊已經被塞入了多少資料。由於 push 的檢查機制,堆疊的大小永遠不會超過 maxsize。","breadcrumbs":"堆疊 Stack » 取得堆疊的大小","id":"159","title":"取得堆疊的大小"},"16":{"body":"了解每個演算法的時間複雜度之後,就能比較何者效率佳。但往往天不從人願,給了我們兩個演算法進行比較。 $$f(x)=\\sqrt{\\frac{182777}{286}}\\pi x^4+5\\log_{3}^{26}88x^3-e^{777^{log_2^9}}$$ $$g(x)=3x^6-2x^2$$ 「天啊!這樣要怎麼分析執行效率呀!」 為了有統一的加薪標準,我們不能假定產品只會產生特定數量的臭蟲,也不能以單一天的工作表現判定員工能力,我們知道老舊系統有無限多個 bug,因此,優秀的老闆關心的是工程師長期處理「海量臭蟲」,在極限下的 成長趨勢 ,這些成長趨勢才是衡量 KPI 的關鍵。再次強調,優秀老闆關心如何榨出是工程師的「極限成長趨勢」,而非一時半刻賣弄學識。 同樣地,有太多因素干擾影響一個演算法的複雜度,假使我們只觀察當輸入資料量 $n$ 接近無窮大時,演算法的成長趨勢為何,就很接近所謂漸進符號(asymptotic notation)的定義。漸進符號 只關心演算法在極限下的漸進行為,不同的演算法可能使用相同的漸進符號表示。 我們比較兩個簡單函數,$f(x) = 10x + 29$ 以及 $g(x) = x^2 + 1$。從圖二可以看出一開始 $g(x)$ 的執行時間比 $f(x)$ 多了不少,但隨著輸入資料量 $n$ 增多,$g(x)$ 的執行時間成長愈來愈快速,最後遠遠大於 $f(x)$。 Fig. 2 若以 $an^2 + bn + c$ 表示複雜度,就是當存在一個 $a > 0$ 時,一定會有 $n$ 符合 $an^2 > bn + c$,這個差距隨著 $n$ 越大越明顯,這是因為首項(leading term),也就是帶有最高指數的那一項,隨著 輸入大小改變,執行時間變化幅度較大。因此,可捨去複雜度函數中其他較不重要的次項與常數,留下最大次項,「 透過簡單的函數來表述函數接近極限的行為 」,讓複雜度函數更易理解,這就是「漸進符號」的概念。 這裡介紹常見的幾種漸進符號:","breadcrumbs":"漸進符號 Asymptotic Notation » 何謂漸進符號","id":"16","title":"何謂漸進符號"},"160":{"body":"pub fn peek(&self) -> Option<&T> { self.items.last() } 與 pop 操作類似,但不會對堆疊造成任何影響。如果偷看的是一個空堆疊,會得到 None。","breadcrumbs":"堆疊 Stack » 在不將資料退出堆疊的情況下偷看最後加入堆疊的資料","id":"160","title":"在不將資料退出堆疊的情況下偷看最後加入堆疊的資料"},"161":{"body":"Operation Best Complexity Worst Complexity push (insert) O(1) O(1) pop (delete) O(1) O(1) 無論堆疊大小如何變化,push 與 pop 的效能都不會被影響。","breadcrumbs":"堆疊 Stack » 效能","id":"161","title":"效能"},"162":{"body":"Stack (abstract data type) Big-O Algorithm Complexity Cheat Sheet","breadcrumbs":"堆疊 Stack » 參考資料","id":"162","title":"參考資料"},"163":{"body":"Queue - Wiki 佇列是一個具有 先進先出 FIFO 特性的資料結構。從 Wikipedia 上的圖為例,一個資料從左邊進入佇列並從右邊離開,最先進入佇列的資料會最先被取出。 佇列常見實作方式有:陣列 array、鏈結串列 linked list。為了使概念容易理解,我們選擇以類似陣列的 Vector 實作。 本次實作的程式碼置於 rust_algorithm_club::collections::Queue API 文件中。","breadcrumbs":"佇列 Queue » 佇列 Queue","id":"163","title":"佇列 Queue"},"164":{"body":"pub struct Queue { items: Vec,\n} 以 items 保存加入佇列的資料。大部分用陣列實作的佇列可能會有 front 和 rear 兩個欄位負責保存指向佇列開頭和尾端的索引,作為佇列新增刪除資料的依據,但是透過 Rust 的 std::vec::Vec (線形動態成長的陣列容器),我們可以直接取得佇列第一以及最後一筆資料,所以這邊實作忽略這兩個欄位。","breadcrumbs":"佇列 Queue » 架構設計","id":"164","title":"架構設計"},"165":{"body":"enqueue:將新資料加入佇列 dequeue:將最先放入的資料移出佇列 peek:在不將資料移出佇列的情況下取得最先放入的資料 size:取得佇列大小","breadcrumbs":"佇列 Queue » 基本操作","id":"165","title":"基本操作"},"166":{"body":"pub fn new() -> Self { Self { items: Vec::new() } } 初始化具有 Vec 的佇列。","breadcrumbs":"佇列 Queue » 定義佇列","id":"166","title":"定義佇列"},"167":{"body":"pub fn enqueue(&mut self, item: T) { self.items.push(item); } 由於 enqueue 會改變 items,因此需要佇列的 mutable reference。再來,我們沒有限制佇列大小,全由 Rust 的 Vec 自行分配空間,將新資料放到 items 的最後端。","breadcrumbs":"佇列 Queue » 將新資料加入佇列","id":"167","title":"將新資料加入佇列"},"168":{"body":"pub fn dequeue(&mut self) -> Option { match self.items.is_empty() { false => Some(self.items.remove(0)), true => None, } } items 有可能是空的,在移出資料之前需要檢查,然後移出 index 為零的資料,也就是最先放入的資料。","breadcrumbs":"佇列 Queue » 將最先放入的資料移出佇列","id":"168","title":"將最先放入的資料移出佇列"},"169":{"body":"pub fn size(&self) -> usize { self.items.len() } 取得 items 的大小。","breadcrumbs":"佇列 Queue » 取得佇列大小","id":"169","title":"取得佇列大小"},"17":{"body":"當我們談論演算法複雜度時,通常關心的是演算法「最糟糕的情況下」,「最多」需要執行多久。Big O 就是描述演算法複雜度上界的漸進符號,當一個演算法「實際」的複雜度(或執行成本對輸入資料量函數)為 $f(n)$ 時,欲以 Big O 描述其複雜度上界時,必須滿足以下定義: $$f(n) = O(g(n)) \\colon {\\exists k>0\\ \\exists n_0\\ \\forall n>n_0\\ |f(n)| \\leq k \\cdot g(n)}$$ 假設有一演算法實際複雜度為 $f(n) = 3n + 4$,有一組 $k = 4;\\ g(n) = n;\\ n_0 = 4$ 滿足 $$\\forall n > 4,\\ 0 \\leq f(n) = 3n + 4 \\leq 4n$$ 意思是「$f(n)$ 的複雜度上界成長趨勢最終不會超過 $g(n) = 4n$ 」,再代入 $O(g(n))$,可得演算法最差複雜度為 $f(n) = O(n)$,也就是「該演算法的成長趨勢不會比 $g(n)$ 來得快」(見圖三)。 Fig. 3 再多看一個例子,若 $f(n) = 4n^2 + n$ 有一組 $k = 5;\\ g(n) = n^2;\\ n_0 = 5$ 滿足 $$\\forall n > 5,\\ 0 \\leq f(n) = 4n^2 + n \\leq 5n^2$$ 則此函數的複雜度為 $f(n) = O(n^2)$。 注意:也寫作 $f(n) \\in O(g(n))$,因為實際上 $O(g(n))$ 是所有可描述演算法成長趨勢,並滿足上述條件的函數之「集合」。","breadcrumbs":"漸進符號 Asymptotic Notation » $O$:Big O","id":"17","title":"$O$:Big O"},"170":{"body":"pub fn peek(&self) -> Option<&T> { self.items.first() } 這裡的作法很單純,就是呼叫 Vec 底層 slice::first ,回傳一個 Option,不會影響到底層的 Vec 的內容。","breadcrumbs":"佇列 Queue » 不改變佇列的情況下,取得最先放入的資料","id":"170","title":"不改變佇列的情況下,取得最先放入的資料"},"171":{"body":"Operation Best Complexity Worst Complexity enqueue (insert) O(1) O(1) dequeue (delete) O(n)* O(n)* *:注意,一般來說 dequeue 會選用 O(1) 的實作方式,這裡直接呼叫 Vec::remove 會導致整個 Vec 的元素向前位移一個,是較耗費計算資源的 O(n) 操作。 我們可以選用其他方式實作,例如用額外指標紀錄當前 head 所在位置的 雙端佇列 Deque ,或是使用 單向鏈結串列 Singly linked list 實作,都能達到 O(1) 的時間複雜度。","breadcrumbs":"佇列 Queue » 效能","id":"171","title":"效能"},"172":{"body":"Queue (abstract data type)","breadcrumbs":"佇列 Queue » 參考資料","id":"172","title":"參考資料"},"173":{"body":"雙端佇列(double-ended queue,通常縮寫為 deque)是一般化(generalize)的 佇列 或 堆疊 。比起佇列只能「先進先出 FIFO」,以及堆疊只有「後進先出 LIFO」,雙端佇列可以從最前端或最末端任意方向,在常數時間複雜度內增刪元素,更為方便。 雙端佇列常見用動態陣列或是鏈結串列實作,動態陣列的實作會因空間不夠,需要重新配置記憶體,但通常會支援隨機存取(random access);鏈結串列的實作版本雖無法隨機存取,相對地增刪元素不需記憶體重配置。 雙端佇列顯著的缺點是:無論以動態陣列或連結串列實作,基本款實作通常無法在 $O(k)$ 時間複雜度的情況下,選定範圍內 k 個元素並取得單一切片(slice)。這肇因於動態陣列的實作通常內部儲存空間經過多次增刪,空間利用會不連續;而用鏈結串列實作者,則因不支援隨機存取而無法達到相應的複雜度。 本次實作的程式碼置於在 rust_algorithm_club::collections::Deque API 文件中。","breadcrumbs":"雙端佇列 Deque » 雙端佇列 Deque","id":"173","title":"雙端佇列 Deque"},"174":{"body":"雙端佇列有個實作重點:可在 常數時間 從頭尾兩端增刪元素。在資料結構設計上,會儲存分別指向頭尾的兩個指標,長相可能如下: struct Deque { head: usize, tail: usize, storage: SomeStorageType,\n} 第一直覺肯定是選用 雙向鏈結串列 可以雙向增刪節點的特性,作為解決方案。不過這裡我們採用動態陣列實作,更精確來說,底層儲存容器同樣是有兩個分別指向頭尾的指標的「環形緩衝區(Ring buffer)」。","breadcrumbs":"雙端佇列 Deque » 架構設計","id":"174","title":"架構設計"},"175":{"body":"環形緩衝區(Ring buffer) 是一個長度大小固定的緩衝區,可以視為頭尾相連的記憶體區塊,上圖雖以環狀呈現,但在計算機架構中儲存方式通常是線性陣列,再搭配指向頭端的 head 與指向尾端的 tail 兩個指標構成。 環形緩衝區有分兩種,一種是有循環的,緩衝區寫滿了就覆蓋尾端舊的資料,另一種是不會循環,緩衝區會放滿的,後者就是本次實作會用到的,以下將來探討: 如何表示環形緩衝區為空 如何表示環形緩衝區已滿 環形緩衝區如何增加元素 這節以 ASCII chart 表示之。 h: head t: tail x: no data [number]: has data 下面一個容量為 8,尚未有任何元素存入的環形緩衝區,這裡觀察到,若 head 與 tail 指向的儲存單元相同,換句話說 兩者索引值相同,則緩衝區為空 。 scenario: empty buffer h\nt\n---------------\nx x x x x x x x\n--------------- 再來,從頭端增加一個元素,此時 head 指向的儲存單元會存入元素,並且 head 索引加一。 scenario: add one data onto head t h\n---------------\n1 x x x x x x x\n--------------- 我們再連續加幾個元素,可以觀察到,head 最終指向的儲存單元永遠為空: scenario: add more data onto head t h\n---------------\n1 2 x x x x x x\n--------------- t h\n---------------\n1 2 3 x x x x x\n--------------- t h\n---------------\n1 2 3 4 x x x x\n--------------- 再來,我們從尾端增加元素,首先 tail 減一,並在移動過後的 tail 指向的儲存單元放入元素。因為 tail 原本為 0,減一之後為 -1,但索引不該有 -1,所以我們採取類似環繞算術運算(wrapping arithmetic operation)處理 整數溢位 ,因此 tail 索引從 0 變成 7(總共 8 個儲存單元)。 scenario: add data onto tail h t\n---------------\n1 2 3 4 x x x 5\n--------------- 日常生活中,環繞算術運算可見於汽車儀錶板或是電錶,9999 轉過頭後會自動變成 0000,可以想像成在萬分位進位了,但我們看不到。上述減一也可以想像二進位退一位,但我們看不到,所以從 0b000(0)變成了 0b111(7)。 我們從尾端加更多資料到緩衝區: scenario: add more data onto tail h t\n---------------\n1 2 3 4 x x 6 5\n--------------- h t\n---------------\n1 2 3 4 x 7 6 5 --> full\n--------------- 欸,怎麼加到第七個就停了? 由於目前僅探討 不循環 的環形緩衝區,已經規範 head = tail 代表緩衝區為空,如果貿然加上第八個元素,就無法分辨緩衝區是空是滿,恐導致轉盈為空。所以當緩衝區容量減去元素個數為 1 時,換句話說就是當剩餘最後一個空儲存單元時,表示該緩衝區已滿,不能再增加元素。由此推論環形緩衝區永遠會剩下一個沒使用的儲存單元。 至此,環形緩衝區的特性很符合雙端佇列的需求,總結一下: head = tail 時,表示緩衝區為空。 容量僅剩一個儲存單元時,表示緩衝區已滿。 head 永遠指向一個空的儲存單元。 邏輯索引的映射會利用環繞算術運算配合 模除運算 ,將索引值限制在緩衝區範圍內。 第四點很難懂齁?免驚,下面實作範例「 邏輯索引映射 」段落就會解釋給你聽!","breadcrumbs":"雙端佇列 Deque » 環形緩衝區","id":"175","title":"環形緩衝區"},"176":{"body":"這一段,我們將為環形緩衝區打造屬於它自己的底層儲存空間。你可能想問,既然環形緩衝區是一個固定長度的陣列,為什麼不直接利用 Rust 標準函式庫的 Vec 呢?因為 Vec 的容量和記憶體配置 屬於實作細節,雖然目前是滿了才擴充容量重新配置空間,但難保未來改變,為了更細緻控制記憶體,決定弄髒手,自行配置記憶體。 ⚠️ 以下範例有 unsafe 程式碼,未經審計,請謹慎使用。 首先,宣告一個 RawVec 結構體,儲存了兩個欄位: ptr:指向陣列最前端的指標,因為底層陣列會變化,所以是可變裸指標 *mut T 。 cap:當前 RawVec 的容量。注意,容量需永遠大於等於元數個數,否則會發生 緩衝區溢位 。 struct RawVec { ptr: *mut T, cap: usize,\n} 接下來,我們要為 RawVec 實作三個方法,完成自我管理記憶體的偉大志向: with_capacity:建立指定容量的 RawVec,會在堆疊上配置一塊記憶體。 try_grow:嘗試將 RawVec 的容量加倍,會觸發記憶體的重新配置。 drop:實作 Drop 特徵,會釋放在堆疊上手動配置的記憶體。 先來看 with_capacity: impl RawVec { // ... pub fn with_capacity(cap: usize) -> Self { let layout = Layout::array::(cap).unwrap(); // 1 // 2 if layout.size() == 0 { // This is safe for zero sized types. However, be careful when facing // zero capacity layouts. It must be replaced with an actual pointer // before operations such as dereference or read/write. let ptr = ptr::NonNull::dangling().as_ptr(); // 3 Self { ptr, cap: 0 } } else { // This is safe because it conforms to the [safety contracts][1]. // // [1]: https://doc.rust-lang.org/1.49.0/alloc/alloc/trait.GlobalAlloc.html#safety-1 let ptr = unsafe { alloc(layout) }; // 4 if ptr.is_null() { handle_alloc_error(layout); } Self { ptr: ptr.cast(), cap, } } }\n} 首先,我們先透過 Layout::array 取得給定長度給定型別的陣列的記憶體佈局,這個佈局包含 記憶體對齊 (二的倍數的位元組)與佔用記憶體大小等資訊。 再來這個 layout.size() 條件式是因為 alloc 為 unsafe 函式,需遵守其安全條款: 不允許配置大小為零的空間 。因此,必須判斷實際上需要配置記憶體與否,有兩種情況不需配置: T 是 Zero Sized Types(ZSTs) ,也就是不需要空間的型別。 cap 為零,所以不需要容量。 若記憶體佈局所佔空間大小為零,則配置一個 NonNull 的迷途指標。 對 ZST 來說,NonNull 是安全的,ZST 的指標算術操作無論如何加減,都會指向原始的指標位址,所以上層可以零成本的抽象操作容器的各種方法,完全不需要配置額外記憶體區塊。 對非 ZST 但容量為零的記憶體佈局來說,NonNull 不會有危害但要非常小心,只有在容量大於 0 且內容有初始化時,才該允許指標算術,否則可能存取到未初始化的記憶體位址,進而引發未定義行為。 很簡單地呼叫 alloc 讓 Rust 全域預設的配置器幹一塊空間資源來。因為 alloc 發生記憶體配置錯誤時會回傳空指標,所以這裡按照官方建議用 handle_alloc_error 捕捉這個行為,防止空指標被當作合法指標使用。 Rust 1.28 導入 Global allocators 的功能,讓使用者使用 #[global_allocator] 屬性,替標準函式庫註冊全域的記憶體配置器,也因此,上述的 alloc、realloc、dealloc 即將在 allocator_api 穩定後被取代。 看完配置記憶體,來看如何手動釋放記憶體。Rust 的 Drop 特徵有 drop() 方法,會在數值不需要時呼叫,類似其他語言的解構函式(destructor)。我們將釋放記憶體的邏輯放在 RawVec::drop 裡面,當 RawVec 不被需要時,就會協助我們釋放手動配置的記憶體。 impl Drop for RawVec { /// Deallocates the underlying memory region by calculating the type layout /// and number of elements. /// /// This only drop the memory block allocated by `RawVec` itself but not /// dropping the contents. Callers need to drop the contents by themselves. fn drop(&mut self) { let layout = Layout::array::(self.cap).unwrap(); // 1 if layout.size() > 0 { // This is safe because it conforms to the [safety contracts][1]. // // [1]: https://doc.rust-lang.org/1.49.0/alloc/alloc/trait.GlobalAlloc.html#safety-2 unsafe { dealloc(self.ptr.cast(), layout) } } }\n} 實作上,第一步取得當前記憶體佈局,並透過 dealloc 配合指標來釋放記憶體。當然,ZST 或是容量為零的狀況並沒有配置記憶體,額外判斷無需釋放。 最後,來瞧瞧 try_grow,為了簡化實作,每次呼叫時,記憶體區塊就單純加倍。 impl RawVec { // ... pub fn try_grow(&mut self) { if mem::size_of::() == 0 { return; // 1 } if self.cap == 0 { *self = Self::with_capacity(1); // 2 return; } let old_layout = Layout::array::(self.cap).unwrap(); // 3 let new_cap = self.cap << 1; let new_size = old_layout.size() * new_cap; // This is safe because it conforms to the [safety contracts][1]. // // [1]: https://doc.rust-lang.org/1.49.0/alloc/alloc/trait.GlobalAlloc.html#safety-4 let ptr = unsafe { realloc(self.ptr.cast(), old_layout, new_size) }; if ptr.is_null() { handle_alloc_error(old_layout); } // ...Old allocation is unusable and may be released from here at anytime. self.ptr = ptr.cast(); // 4 self.cap = new_cap; }\n} ZST 的空間不需加倍,直接返回。 原本空間容量為零的狀況,直接配置容量為一的空間。 準備 realloc 需要的參數:容量超過零的,取得舊的記憶體佈局,並乘上翻倍後的容量,算出新的空間大小。這讓之後呼叫 realloc 時符合其安全條款:合法指標、空間大於零、記憶體佈局為該區塊的舊佈局。 呼叫 realloc 之後,原先記憶體區塊可能被釋放,因此不該繼續用舊指標,此以新指標取代之。 終於將手動配置記憶體的邏輯封裝在 RawVec 裡面,外部不需要弄髒手搞記憶體了!","breadcrumbs":"雙端佇列 Deque » 手動配置記憶體","id":"176","title":"手動配置記憶體"},"177":{"body":"有了 RawVec,現在可以將先前缺失的 SomeStorageType 補上,初始化的方法也異常單純。 pub struct Deque { tail: usize, head: usize, ring_buf: RawVec,\n} impl Deque { pub fn new() -> Self { Self { tail: 0, head: 0, ring_buf: RawVec::with_capacity(DEFAULT_CAPACITY), } }\n} 至此,Deque 結構體的佈局設計告一段落,接下來就是各種方法實作。","breadcrumbs":"雙端佇列 Deque » Deque","id":"177","title":"Deque"},"178":{"body":"身為一個雙端佇列,會有以下符合定義的基本操作: new:初始化一個容器。 push_front:在容器最前端新增一個元素。 push_back:在容器最末端新增一個元素。 pop_front:移除在容器最前端的元素。 pop_back:移除在容器最末端的元素。 另外為了提升方便性,也提供了一些方法: front:查看容器最前端的元素。 back:查看容器最末端的元素。 len:檢查容器內的元素數目。 is_empty:檢查容器內是否沒有任何元素。 iter、iter_mut、into_iter:產生一個疊代容器內所有元素的疊代器。 因為需要比較動態精細地控制記憶體,少不了一些內部方法: is_full:檢查底層環形緩衝區是否滿載。 try_grow:嘗試動態增加底層儲存空間。 wrapping_add、wrapping_sub:確保邏輯索引的增減正確映射到底層實際索引位址。","breadcrumbs":"雙端佇列 Deque » 基本操作","id":"178","title":"基本操作"},"179":{"body":"前一段 提及環形緩衝區可以從頭尾增加元素,這一段來說明「如何封裝環形緩衝區內部的物理索引」,讓外部的邏輯索引可映射到內部已儲存合法數值的緩衝區位址。 再回來看容量為 8 的雙端佇列的例子,已進行一系列操作: push_back 1 push_back 2 push_back 3 push_back 4 push_front 5 push_front 6 h t\n---------------\n1 2 3 4 x x 6 5\n--------------- 如果我們要按照順序,從佇列的 tail 到 head 印出所有元素,應該從 tail 開始,逐一增加索引,依序 6 5 1 2 3 4 印出,我們畫上虛擬的元素對應位置: ~: virtual element h t -->\n-----------------------\n1 2 3 4 x x 6 5 1 2 3 4\n----------------------- ~ ~ ~ ~ 顯而易見,虛擬元素對應的索引是 8、9、10、11,已經超過緩衝區的長度,可以利用 模除運算 計算物理索引,將索引固定在一定長度內。目前緩衝區容量為 8,所以將索引全部 模除 8: 8 % 8 = 0:對應到 [0] 的元素 1 9 % 8 = 1:對應到 [1] 的元素 2 10 % 8 = 2:對應到 [2] 的元素 3 11 % 8 = 3:對應到 [3] 的元素 4 模除是直觀的作法,但還有更神奇的思路:位元運算(bitwise arithmetic)。只要拿 7 跟這些索引做 & 位元 AND 運算,也能得到相同結果。 8 9 10 11 <- Logical 0b1000 0b1001 0b1010 0b1011\n& 0b0111 0b0111 0b0111 0b0111\n----------------------------------- 0b0000 0b0001 0b0010 0b0011\n= 0 1 2 3 <- Actual 這邊使用 7 有其意義: 7 是 $2^3 - 1$,剛好 $2^n - 1$ 在是二進位制中全部位元都會是 1 ,任意數與 $2^n - 1$ 做位元 AND 運算,可以得到低位 n 位中有多少 1,同時捨棄大於 n 的位元。這個特性不偏不倚和模除的結果相同。 還記得環形緩衝區有個特性嗎: 容量僅剩一個儲存單元時,表示緩衝區已滿 。若能保證環形緩衝區的容量必為 $2^n$,當緩衝區滿時,元素個數定為 $2^n - 1$,完全符合前一點的特性。 綜合以上,只需要保證緩衝區容量是 $2^n$,將邏輯索引映射到實際索引,只要將索引和實際可用容量($2^n - 1$)做位元 AND 運算即可: fn wrap_index(index: usize, size: usize) -> usize { debug_assert!(size.is_power_of_two()); index & (size - 1)\n} 接下來,就可以推出 wrapping_add 和 wrapping_sub 這兩支正確增減索引的方法: impl Deque { // ... fn wrapping_add(&self, index: usize, addend: usize) -> usize { wrap_index(index.wrapping_add(addend), self.cap()) } fn wrapping_sub(&self, index: usize, subtrahend: usize) -> usize { wrap_index(index.wrapping_sub(subtrahend), self.cap()) } fn cap(&self) -> usize { self.ring_buf.cap() }\n} 上面用環繞算術運算(wrapping arithmetic operation) 可以使開發更方便,例如遇上 index 0 而 subtrahend 1 時,巧妙避開 $0 - 1 = -1$ 但 usize 不能為負的限制,直接環繞回 usize::MAX。 值得一提的是,在 Deque::cap 這個簡單的封裝上呼叫了 RawVec::cap,這是新增的方法,旨在提供 ZST 一個很大很大的虛擬容量,但同時保證是 2 的次方: impl RawVec { // ... pub fn cap(&self) -> usize { if mem::size_of::() == 0 { 1usize << (mem::size_of::() * 8 - 1) } else { self.cap } }\n}","breadcrumbs":"雙端佇列 Deque » 邏輯索引映射","id":"179","title":"邏輯索引映射"},"18":{"body":"相較於 Big O 描述演算法成長趨勢的上界,Big Omega 則是對應成長趨勢的「下界」,定義如下: $$f(n) = \\Omega(g(n)) \\colon {\\exists k>0\\ \\exists n_0\\ \\forall n>n_0\\ |f(n)| \\geq k \\cdot g(n)}$$ 以 $f(n) = 3n + 4$ 為例,有一組 $k = 2;\\ g(n) = n;\\ n_0 = 0$ 滿足上式,因此這個演算法在輸入資料夠大時,「至少」會達到 $\\Omega(n)$ 的複雜度,也就是「該演算法的成長趨勢不會比 $g(n)$ 來得慢」。","breadcrumbs":"漸進符號 Asymptotic Notation » $\\Omega$:Big Omega","id":"18","title":"$\\Omega$:Big Omega"},"180":{"body":"前面提及環形緩衝區是長度固定的陣列,但雙端佇列若必須固定長度就太沒路用,直觀作法就是透過加倍 RawVec 容量,再繼續新增元素。這個想法沒錯,但會遇到一個問題:如何確保邏輯索引在記憶體加倍後依然正確映射到實際索引?這裡舉一個實際案例: Before: h t\n[o o o o x x o o] Resize: h t\n[o o o o x x o o | x x x x x x x x] 同樣一個容量為 8 的佇列,觸發了記憶體重新配置,所以記憶體加倍,無奈今非昔比,現在的邏輯索引 tail 無法映射到實際索引,環形緩衝區的「環」已經斷掉。若我們繼續 push_back 往 head 添加元素,就會覆蓋掉 tail 和後面的元素。 after 4 push_back: overwritten: ⌀\nnewly added: _ t h\n[o o o o o o ⌀ ⌀ | x x x x x x x x] _ _ _ _ 有鑑於此,需要修正將斷掉的環,最簡單的作法就是將緩衝區首個索引到 head 之前的索引這段記憶體空間,複製到新翻倍的空間上,讓 tail 在 head 前面,合法的記憶體區塊再次變得連續: Before: h t\n[o o o o x x o o] Resize: h t\n[o o o o x x o o | x x x x x x x x] Copy: t h\n[x x x x x x o o | o o o o x x x x] _ _ _ _ _ _ _ _ 了解實作的目標後,先定義個容量已滿的方法暖暖身: fn is_full(&self) -> bool { self.cap() - self.len() == 1 } 然後是 try_grow 的實作: fn try_grow(&mut self) { if self.is_full() { let old_cap = self.cap(); // 1 self.ring_buf.try_grow(); // 2 // 3 if self.tail > self.head { // The content of ring buffer won't overlapped, so it's safe to // call `copy_nonoverlapping`. It's also safe to advance the // pointer by `old_cap` since the buffer has been doubled. unsafe { let src = self.ptr(); // 4-1 let dst = self.ptr().add(old_cap); // 4-2 ptr::copy_nonoverlapping(src, dst, self.head); } self.head += old_cap; // 5 } } } 將舊的容量存起來,因為當 ring_buf 容量翻倍後,cap() 返回的容量就會翻倍。 呼叫 RawVec::try_grow() 讓容量翻倍。 在 tail 大於 head 時,代表環在翻倍後會不連續,所以需要複製元素。 這裡用 ptr::copy_nonoverlapping 進行位元複製,此函式語義上與 C 的 memcpy 相同。 取得緩衝區首個索引的位址,作為複製的起始位址。 取擴增後部分的首個索引位址,作為複製的目標位址。 實際呼叫 memcpy ,因為 head 永遠比最後一個元素索引多 1,剛好可作為元素數目。 被複製的元素位移了 old_cap,因此更新 head 映射到正確的 head + old_cap。 我們完成了動態增加容量的方法的同時,也維持邏輯索引映射的正確性。 這裡維持索引正確性有稍微簡化,更高效優美的解法請參考標準函式庫 VecDeque::handle_capacity_increase 。","breadcrumbs":"雙端佇列 Deque » 動態增加記憶體空間","id":"180","title":"動態增加記憶體空間"},"181":{"body":"查看首末兩段的元素非常簡單,不過由於涉及底層儲存空間的指標操作,所以需要寫 Unsafe Rust: pub fn front(&self) -> Option<&T> { if self.is_empty() { return None; } // This is safe because the offset is wrapped inside valid memory region. unsafe { Some(&*self.ptr().add(self.tail)) } } pub fn back(&self) -> Option<&T> { if self.is_empty() { return None; } let head = self.wrapping_sub(self.head, 1); // This is safe because the offset is wrapped inside valid memory region. unsafe { Some(&*self.ptr().add(head)) } } 兩個函式都先判斷雙端佇列是否為空,再做指標位移運算,head - 1 是 back 的指標位移量,而 front 就直接回傳 tail 指向的值。其中 &* 是常見的 Rust 模式,可視為 將裸指標「升級」為更安全的引用型別 ,步驟如下: 解引用裸指標,得到底下的裸數值。 建立一個安全的引用,指向裸數值。 這裡再來品嚐 is_empty 和 len 的實作: pub fn is_empty(&self) -> bool { self.len() == 0 } pub fn len(&self) -> usize { self.head.wrapping_sub(self.tail) & (self.cap() - 1) } len 用了環繞算術運算,讓 head - tail 能正確算出兩者的距離,並在用前面提及的「容量 - 1」的 $2^n - 1$ 做位元 AND 運算來捨棄高位。","breadcrumbs":"雙端佇列 Deque » 查看元素","id":"181","title":"查看元素"},"182":{"body":"來看從頭尾刪除元素的 pop_front 和 pop_back: pub fn pop_front(&mut self) -> Option { if self.is_empty() { return None; // 1 } let tail = self.tail; self.tail = self.wrapping_add(self.tail, 1); // 2 // This is safe because the offset is wrapped inside valid memory region. unsafe { Some(self.ptr().add(tail).read()) } // 3 } pub fn pop_back(&mut self) -> Option { if self.is_empty() { return None; // 1 } self.head = self.wrapping_sub(self.head, 1); // 2 // This is safe because the offset is wrapped inside valid memory region. unsafe { Some(self.ptr().add(self.head).read()) } // 3 } 同樣先判斷雙端佇列是否為空。 再來移動到下一個合法的索引上,會是 head - 1 或 tail + 1。 最後是指標位移再讀取,注意,雖然 ptr::read 會複製指標指向的值,但可視為所有權轉移到回傳值上了,這是因為倘若原始 src 指向的資料帶有其他指標,那麼繼續使用 src 就可能導致記憶體安全問題。 再來看增加元素的 push_front 與 push_back: pub fn push_front(&mut self, elem: T) { self.try_grow(); // 1 self.tail = self.wrapping_sub(self.tail, 1); // 2 // This is safe because the offset is wrapped inside valid memory region. unsafe { self.ptr().add(self.tail).write(elem) } // 3 } pub fn push_back(&mut self, elem: T) { self.try_grow(); // 1 let head = self.head; self.head = self.wrapping_add(self.head, 1); // 2 // This is safe because the offset is wrapped inside valid memory region. unsafe { self.ptr().add(head).write(elem) } // 3 } 同樣先判斷雙端佇列是否為空。 再來移動到下一個合法的索引上,會是 head + 1 或 tail - 1。 最後是指標位移再寫入, ptr::write 不會觸發讀取或是 drop 裸指標指向的值,但使用上仍然要確認存取該位址是否合法。 以上就是 Deque 基本操作方法,至此,剩下最後一步「 正確釋放記憶體 」,雙端佇列基本款就完成了。","breadcrumbs":"雙端佇列 Deque » 增刪元素","id":"182","title":"增刪元素"},"183":{"body":"Rust 提供許多特徵(Trait),實作特徵可以讓資料結構更方便,更符合 Rust 社群的寫作慣例。","breadcrumbs":"雙端佇列 Deque » 特徵","id":"183","title":"特徵"},"184":{"body":"這是 Deque 最重要的特徵之一,也是完成 Deque 基本款的最後一個必要功能。Drop 會用來釋放儲存在 Deque 裡面元素的資源。實作是將所有元素 pop_back 出來,所有權轉移到 drop 函式內,函式本體執行結束後,就會自動呼叫該元素型別的 drop 並釋放資源。 impl Drop for Deque { fn drop(&mut self) { while let Some(_) = self.pop_back() {} }\n} 也許你會問「為什麼不在 Deque.ring_buf 的 RawVec 實作 Drop 來釋放其內容的資源?」主因是權責區分,RawVec 僅負責釋放它自行配置的堆疊記憶體,不清楚內容元素該如何釋放記憶體,例如內容可能是 Region-based memory management ,一起釋放效率更高,元素各別 mem::drop 反而拖累效率。 事實上 Deque::drop 也能更高效, std::colletions::VecDeque::drop 就是直接 drop 兩個指向切片(slice)的指標,而非每個元素各自處理,雖然最後可能殊途同歸,視編譯器最佳化程度而定。","breadcrumbs":"雙端佇列 Deque » Drop","id":"184","title":"Drop"},"185":{"body":"身為容器型別,沒有疊代器簡直不能用,Rust 提供許多疊代器特徵供實作,其中 Iterator 特徵最為基礎且重要,實作 Iterator 特徵需求一個 next 方法,會不斷回傳下一個元素。任何實作 Iterator 特徵的型別,都可以放入 for 迴圈疊代。 而 Rust 常見的疊代器設計模式包含三個產生疊代器的方法: iter():慣例上回傳會產生不可變引用 &T 的 Iterator。 iter_mut():慣例上回傳會產出可變引用 &mut T 的 Iterator。 into_iter():慣例上回傳吃掉所有權 T 的 Iterator ,通常直接實作 IntoIterator 特徵即可,我們在 下一段 介紹它。 實作 Iterator 需要新的結構體,以儲存疊代的內部狀態: pub struct Iter<'a, T> { head: usize, tail: usize, ring_buf: &'a [T],\n} pub struct IterMut<'a, T> { head: usize, tail: usize, ring_buf: &'a mut [T],\n} Iter:由於定位 Deque 中有元素的合法記憶體區域需要 head 和 tail,因此儲存該兩者,並且儲存底層的環形緩衝區的切片引用,方便存取元素。 IterMut:同 Iter,但改為儲存可變的切片引用。 來看看 Iter 如何實作疊代器: impl<'a, T> Iterator for Iter<'a, T> { type Item = &'a T; fn next(&mut self) -> Option { if self.tail == self.head { return None; // 1 } let tail = self.tail; // 2 self.tail = wrap_index(self.tail.wrapping_add(1), self.ring_buf.len()); // 3 self.ring_buf.get(tail) // 4 }\n} 當 tail 等於 head 時,代表環形緩衝區為空,直接回傳 None。 tail 是 Deque 最前端,這裡先將當前的 tail 儲存起來。 再將 Iter 上的 tail 增加 1(不影響原始 Deque),下一次呼叫 next 就會取得下一個元素。 利用第二步儲存的當前 tail,配合 slice::get 直接回傳一個元素。 再來處理 IterMut::next,直觀上將 Iter::next 的 self.ring_buf.get(tail) 改成 get_mut 即可。 impl<'a, T> Iterator for IterMut<'a, T> { type Item = &'a mut T; fn next(&mut self) -> Option { if self.tail == self.head { return None; } let tail = self.tail; self.tail = wrap_index(self.tail.wrapping_add(1), self.ring_buf.len()); self.ring_buf.get_mut(tail) // Change to `get_mut` }\n} 欸!居然編譯失敗了,到底為什麼呢? error[E0495]: cannot infer an appropriate lifetime for autoref due to conflicting requirements --> src/collections/deque/mod.rs:353:23 |\n353 | self.ring_buf.get_mut(tail) | ^^^^^^^ |\nnote: first, the lifetime cannot outlive the anonymous lifetime #1 defined on the method body at 347:5... --> src/collections/deque/mod.rs:347:5 |\n347 | fn next(&mut self) -> Option<&'a mut T> { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nnote: ...so that reference does not outlive borrowed content --> src/collections/deque/mod.rs:353:9 |\n353 | self.ring_buf.get_mut(tail) | ^^^^^^^^^^^^^\nnote: but, the lifetime must be valid for the lifetime `'a` as defined on the impl at 344:6... --> src/collections/deque/mod.rs:344:6 |\n344 | impl<'a, T> Iterator for IterMut<'a, T> { | ^^\nnote: ...so that the expression is assignable --> src/collections/deque/mod.rs:353:9 |\n353 | self.ring_buf.get_mut(tail) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: expected `Option<&'a mut T>` found `Option<&mut T>` 這個編譯錯誤是因為匿名的 &mut self 和 Self::Item 兩者生命週期不匹配。以下把函式簽名的生命週期展開來看: fn next<'anonymous>(&'anonymous mut self) -> Option<&'a mut T> { // ... self.ring_buf // &'anonymous [T] .get_mut(tail) // Some(&'anonymous mut T) } 嗯,這不太對,我們知道 Rust 保證「就算 drop 了疊代器本身,產出的元素仍然合法」,產出的元素若為引用絕對 不會是迷途引用 ,例如下面範例: let a = iter.next().unwrap();\nlet b = iter.next().unwrap();\ndrop(iter);\nuse_both(a, b); 但編譯器只看型別是否正確,並無法檢查執行期間的 &mut self 內部 ring_buf 和 Self::Item 是否活得一樣久,且由於 Iterator::next 函式簽名上沒有對 &mut self 的生命週期做任何限制,因此無法寫出下列這種預期中的生命週期限制(可視為要求 'b 至少活得跟 'a 一樣長): impl<'a, T> Iterator for IterMut<'a, T> { type Item = &'a mut T; fn next<'b: 'a>(&'b mut self) -> Option { // ...omit }\n} // error[E0195]: lifetime parameters or bounds on method `next` do not match the trait declaration\n// --> src/collections/deque/mod.rs:347:12\n// |\n// 347 | fn next<'b: 'a>(&'b mut self) -> Option {\n// | ^^^^^^^^ lifetimes do not match method in trait 當然,我們知道回傳 ring_buf 的 &'a mut T 在生命週期上合法,但編譯器認不出來,所以 unsafe 又要來拯救世界。 impl<'a, T> Iterator for IterMut<'a, T> { type Item = &'a mut T; fn next(&mut self) -> Option { if self.tail == self.head { return None; } let tail = self.tail; self.tail = wrap_index(self.tail.wrapping_add(1), self.ring_buf.len()); // This unsafe block is needed for solving the limitation of Iterator // trait: the `&mut self` is bound to an anonymous lifetime which rustc // cannot figure out whether it would outlive returning element. Hence // the explicit pointer casting is required. unsafe { let ptr = self.ring_buf as *mut [T]; // 1 let slice = &mut *ptr; // 2 slice.get_mut(tail) // 3 } }\n} 將 ring_buf 轉換成裸指標,因為裸指標無生命週期,所以 &mut self 給的限制不見了。 再把 ptr 指向的 *mut [T] 裸指標轉換成有生命週期的可變引用 &mut [T] 的切片。藉由 Rust 對回傳型別的自動推斷,此切片的實際型別會是 &'a mut [T]。Got it!這就是我們所要的。 老老實實地呼叫 slice::get_mut,完全正確。 這類 An iterator yields borrowing contents from itself 的問題,有個俗名叫做 streaming iterator ,可以透過 泛型關聯型別 (generic associated type a.k.a GAT)解決,但目前 GAT 尚未穩定。詳情可參考這篇介紹 GAT 與 streaming iterator workaroud 的文章。 欸,或許你有疑惑,Iter::next 不也同樣有生命週期問題嗎,為什麼沒有報錯呢?這是因為 所有 &T 引用都預設實作 Copy 特徵 ,呼叫 slice::get() 時會 自動複製 ring_buf 的引用,因此沒有生命週期的問題,但 &mut T 並沒有實作 Copy 特徵,才會遇上生命週期不符的編譯錯誤。","breadcrumbs":"雙端佇列 Deque » Iterator","id":"185","title":"Iterator"},"186":{"body":"相較於 Interator, IntoIterator 是一個讓容器型別錦上添花的特徵,主要功能是:將一個型別自動轉換為有實作 Iterator 的型別,實作後該型別就可以直接放入 for 迴圈中。 例如下列用法: let mut d = Deque::new();\nd.push_back(1);\nd.push_back(2);\nd.push_front(3);\nd.push_front(4); for elem in &d { println!(\"{:?}\". elem);\n} for elem in &mut d { *elem *= *elem;\n} 實作上分三個: impl IntoIterator for Deque:將容器轉換成疊代器,並轉移容器和元素的所有權。 impl<'a, T> IntoIterator for &'a Deque:將容器不可變引用轉換成不可變元素的疊代器。 impl<'a, T> IntoIterator for &'a mut Deque:將容器可變引用轉換成可變元素的疊代器。 先說明後面兩者。以下實作非常簡單,只要根據容器引用可變與否,對應呼叫前一段提及的 Deque::iter 或 Deque::iter_mut 即可,這算是 Rust 容器型別的一貫作法。 impl<'a, T> IntoIterator for &'a Deque { type Item = &'a T; type IntoIter = Iter<'a, T>; fn into_iter(self) -> Self::IntoIter { self.iter() }\n} impl<'a, T> IntoIterator for &'a mut Deque { type Item = &'a mut T; type IntoIter = IterMut<'a, T>; fn into_iter(self) -> Self::IntoIter { self.iter_mut() }\n} 至於 impl IntoIterator for Deque 和 iter 與 iter_mut 不一樣,會吃所有權,所以需要宣告額外的結構體來儲存其內部狀態,並直接實作 IntoIterator 要求的 into_iter 方法: pub struct IntoIter(Deque); impl IntoIterator for Deque { type Item = T; type IntoIter = IntoIter; fn into_iter(self) -> Self::IntoIter { IntoIter(self) }\n} 此疊代方法中,佇列內元素的所有權會轉移,所以不需要跟 Iter 一樣保存切片,可以直接存整個 Deque 作為內部狀態,拿走 Deque 的所有權。 既然掌控 Deque 所有權,實作疊代器就沒有困難了,直接將所有元素 pop 取出即可。 impl Iterator for IntoIter { type Item = T; fn next(&mut self) -> Option { self.0.pop_front() }\n}","breadcrumbs":"雙端佇列 Deque » IntoIterator","id":"186","title":"IntoIterator"},"187":{"body":"用索引下標 array[index] 取值的語法常見於各大主流語言,Rust 提供 Index 和 IndexMut 兩個特徵來實作這個運算子,讓容器型別更符合人體工學。 實作方法是利用 邏輯索引映射 段落實作的 wrap_index 得出實際索引,再透過指標取值即可。唯一需要注意的是越界存取(out of bound access)可能產生未定義行為,不符合 Rust 對記憶體安全的要求,所以在裸指標存取之前,就要直接 assert! 索引是否在元素數量的安全範圍內,防止越界存取。 impl Index for Deque { type Output = T; fn index(&self, index: usize) -> &Self::Output { assert!(index < self.len(), \"Out of bound\"); let index = self.wrapping_add(self.tail, index); // This is safe because the offset is wrapped inside valid memory region. unsafe { &*self.ptr().add(index) } }\n} impl IndexMut for Deque { fn index_mut(&mut self, index: usize) -> &mut T { assert!(index < self.len(), \"Out of bound\"); let index = self.wrapping_add(self.tail, index); // This is safe because the offset is wrapped inside valid memory region. unsafe { &mut *self.ptr().add(index) } }\n}","breadcrumbs":"雙端佇列 Deque » Index and IndexMut","id":"187","title":"Index and IndexMut"},"188":{"body":"最後,介紹一下 fmt::Formatter 有許多方便的 debug 格式化輸出的方法,例如 debug_list 可以丟一個疊代器,會轉化成序列般的輸出格式。 impl fmt::Debug for Deque { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { f.debug_list().entries(self.iter()).finish() }\n} 當然,如果想要對 RawVec 實作 Debug 特徵,免手寫,可直接用 derive 屬性讓 編譯器推導實作 。 #[derive(Debug)] // Add this line to derive Debug trait automatically.\nstruct RawVec { ptr: *mut T, cap: usize,\n}","breadcrumbs":"雙端佇列 Deque » Debug","id":"188","title":"Debug"},"189":{"body":"以環形緩衝區為底層儲存容器的雙端序列,各操作複雜度如下: Operation Best case Worst case push_front(v) $O(1)$ $O(1)$~ push_back(v) $O(1)$ $O(1)$~ pop_front(v) $O(1)$ $O(1)$~ pop_back(v) $O(1)$ $O(1)$~ front $O(1)$ $O(1)$ back $O(1)$ $O(1)$ len $O(1)$ $O(1)$ $n$:資料筆數。 $v$:資料值。 ~ :平攤後的複雜度(amortized)。 雙端佇列任何操作都是直接對 head 或 tail 的索引讀寫記憶體,複雜度皆為 $O(1)$,不過因為增減元素需要動態調整儲存空間大小,所以這些方法的時間複雜度需要平攤。 空間複雜度則是只用了一個環形緩衝區儲存元素,和幾個欄位儲存 tail、head 還有容量,因此額外空間複雜度只有 $O(1)$。","breadcrumbs":"雙端佇列 Deque » 效能","id":"189","title":"效能"},"19":{"body":"Big Theta 則是 Big O 與 Big Omega 兩個漸進上下界所夾出的範圍,表示該演算法在輸入資料夠大時,最終的複雜度會成長到這個範圍中。其定義如下: $$f(n) = \\Theta(g(n)) \\colon {\\exists k_1>0\\ \\exists k_2>0\\ \\exists n_0\\ \\forall n>n_0\\ k_1 \\cdot g(n) \\leq |f(n)| \\leq k_2 \\cdot g(n)}$$ 繼續以 $f(n) = 3n + 4$ 為例,同樣有一組 $k_1 = 1;\\ k_2 = 5;\\ g(n) = n;\\ n_0 = 2$,滿足 $$\\forall n \\geq 2,\\ n \\leq f(n) = 3n + 4 \\leq 5n$$ 可得知,$f(n) = 3n + 4 \\in \\Theta(n)$,表示「該演算法的成長趨勢與 $g(n) = n$ 相同」(見圖四)。 Fig. 4","breadcrumbs":"漸進符號 Asymptotic Notation » $\\Theta$:Big Theta","id":"19","title":"$\\Theta$:Big Theta"},"190":{"body":"Rust Documentation: VecDeque Rust RawVec Implementation Wiki: Circular buffer Circular Buffer Image by Cburnett CC BY-SA-3.0 via Wikimedia Commons.","breadcrumbs":"雙端佇列 Deque » 參考資料","id":"190","title":"參考資料"},"191":{"body":"鏈結串列是一種基本線性資料集合,每一個資料元素都是獨立的物件。儲存資料的方式和一般陣列配置連續物理記憶體空間不同,而是在各節點儲存額外的指標指向下一個節點。 (單向鏈結串列示意圖)","breadcrumbs":"鏈結串列概述 » 鏈結串列 Linked list","id":"191","title":"鏈結串列 Linked list"},"192":{"body":"鏈結串列有以下特性與優點: 不需事先知道資料型別大小,充分利用動態記憶體管理。 以常數時間插入/刪除,不需重新配置記憶體(reallocation)。 但也因動態配置記憶體等因素,連帶產生一些缺陷: 空間開銷大 :每個元素需儲存額外的指標空間。 較差的 CPU 快取 :不連續存取的特性,不利於 CPU 快取 。 不允許隨機存取(random access) :搜尋特定節點仍需線性時間循序存取。","breadcrumbs":"鏈結串列概述 » 特性","id":"192","title":"特性"},"193":{"body":"大多數的場景其實不太常使用鏈結串列,Rust 內建的 LinkedList 文件也建議,除非肯定要用鏈結串列,不然建議優先考慮其他類似的資料結構如 VecDeque 。話雖如此,鏈結串列仍有不少應用場景: 需要頻繁地插入與刪除資料。 需要頻繁分離與合併(split and merge)資料。 不需要隨機存取的資料。 遞迴友好,因此成為大多函數式語言中基本資料型別之一。 教學上,常用於實作抽象資料型別,如 堆疊 與 佇列 等等。","breadcrumbs":"鏈結串列概述 » 適用場景","id":"193","title":"適用場景"},"194":{"body":"","breadcrumbs":"鏈結串列概述 » 術語","id":"194","title":"術語"},"195":{"body":"又稱「節點」,為組成鏈結串列的基本元素,節點包含資料儲存區與指標儲存區,指標儲存區用以儲存指向其他節點位址的變數。此外,最後一個節點的不指向其他節點位址的指標成為 null pointer,慣例以 NULL 表示。 node-box (節點示意圖)","breadcrumbs":"鏈結串列概述 » Node","id":"195","title":"Node"},"196":{"body":"Head 為指向整個串列第一個節點的指標。而 tail 則為指向最後一個節點的指標。用 ASCII 圖表示如下: head tail | | v v\n+--------+ +--------+ +--------+\n| | | | | |\n| node 0 |-->| node 1 |-->| node 2 |--> NULL\n| | | | | |\n+--------+ +--------+ +--------+","breadcrumbs":"鏈結串列概述 » Head and tail","id":"196","title":"Head and tail"},"197":{"body":"Sentinal node 一個特殊的節點,資料值為 NULL 的節點,用意代表鏈結串列的端點。也就是說,sentinel node 指向串列第一個節點,而串列最後一個節點也會指向 sentinel node,就像哨兵一樣守著串列前後,因而得名。 實作鏈結串列時,常常因為判斷節點是否為 NULL 而讓程式變得複雜,而 sentinel node 可減少程式操作步驟,也能增加程式可讀性。詳細資訊可以參考這篇 NULL 與 sentinel node 的比較討論 。 +-----------------------------------------------+ | | v |\n+---------+ +--------+ +--------+ +--------+ |\n|sentinel | | | | | | | |\n| |-->| node 0 |-->| node 1 |-->| node 3 |--+\n| node | | | | | | |\n+---------+ +--------+ +--------+ +--------+","breadcrumbs":"鏈結串列概述 » Sentinel node","id":"197","title":"Sentinel node"},"198":{"body":"依據每個節點的鏈結多寡,可分為 單向鏈結串列 ,每個節點只有一個指標,指向下一個節點。 +--------+ +--------+ +--------+\n| | | | | |\n| node 0 |-->| node 1 |-->| node 2 |--> NULL\n| | | | | |\n+--------+ +--------+ +--------+ 雙向鏈結串列 ,每個節點有兩個指標,分別指向前後一個節點。 +--------+ +--------+ +--------+ | |-->| |-->| |--> NULL | node 0 | | node 1 | | node 2 |\nNULL <--| |<--| |<--| | +--------+ +--------+ +--------+ 倘若該鏈結串列末端節點的指標指向第一個的節點,形成一個循環,則稱之為「 循環鏈結串列 」。 Singly linked list as circular +-----------------------------------------+\n| |\n| +--------+ +--------+ +--------+ |\n| | | | | | | |\n+-->| node 0 |-->| node 1 |-->| node 3 |--+ | | | | | | +--------+ +--------+ +--------+ 詳細說明與實作請點選各個連結。","breadcrumbs":"鏈結串列概述 » 種類","id":"198","title":"種類"},"199":{"body":"Wiki: Linked list Singly linked list SVG By Lasindi [Public domain], via Wikimedia Commons.","breadcrumbs":"鏈結串列概述 » 參考資料","id":"199","title":"參考資料"},"2":{"body":"","breadcrumbs":"Rust Algorithm Club » 演算法","id":"2","title":"演算法"},"20":{"body":"看完了讓人昏昏欲睡的數學定義,現在來認識一些常見的複雜度,從最快最有效率,到最慢最拖台錢的通通一起認識。 $O(1)$:常數時間,演算法執行時間與資料量毫無瓜葛。例如讀取 array 首個元素。 $O(\\log n)$:執行時間隨資料量呈對數比例成長。常見的例子是 二元搜索(Binary search) 。 $O(n)$:執行時間隨資料量呈線性成長,例如在無序的 array 中尋找特定值。 $O(n \\log n)$:執行時間隨資料量呈線性對數成長,常見的 合併排序(Mergesort) 的複雜度即如斯。 $O(n^2)$:執行時間隨資料量呈平方成長,例如一些效率不彰的排序法如 氣泡排序(Bubble sort) 。 $O(n^3)$:執行時間隨資料量呈立方成長,常見例子為 naïve 實作的矩陣乘法。 $O(c^n)$:執行時間隨資料量呈指數成長。 $O(n!)$:執行時間隨資料量呈階乘成長,大部分情況下,這是非常差勁的複雜度。 若想一窺各種常見演算法的複雜度,可以參考這個最全面的 Big-O Cheat Sheet ,圖表非常精美直觀! 再次強調,漸進符號也可以代表其他執行成本如記憶體空間,並不一定代表執行時間。 其他的漸進符號還有 little-o、little-omega 等等,有興趣的朋友可以參考文末的資料。","breadcrumbs":"漸進符號 Asymptotic Notation » 常見的複雜度","id":"20","title":"常見的複雜度"},"200":{"body":"單向鏈結串列是鏈結串列家族中最簡單的版本,特色是每兩個節點間只有一個單向的鏈結。 head | v\n+--------+ +--------+ +--------+\n| | | | | |\n| node 0 |-->| node 1 |-->| node 2 |--> NULL\n| | | | | |\n+--------+ +--------+ +--------+ 比起 雙向鏈結串列 ,單向鏈結串列少了一個額外的指標開銷,在基本操作的花費也較低。在不需要雙向疊代情形下單向鏈結串列很適用。 此外,單向鏈結串列也支援 tail-sharing,也就是共享 sublist。藉由共享 sublist,單向鏈結串列很容易實作 persistent data structure ,再配合 immutable 特性,使得單向鏈結串列幾乎成為函數式程式語言最常見的集合型別之一。可以參考這篇 persistent immutable stack 實作 文章。 本次實作的程式碼置於 rust_algorithm_club::collections::SinglyLinkedList API 文件中。","breadcrumbs":"單向鏈結串列 Singly linked list » 單向鏈結串列 Singly linked list","id":"200","title":"單向鏈結串列 Singly linked list"},"201":{"body":"","breadcrumbs":"單向鏈結串列 Singly linked list » 實作設計","id":"201","title":"實作設計"},"202":{"body":"先建立最基本的節點 Node。 // cannot compile\nstruct Node { elem: T, next: Node,\n} Node.elem 很直觀地儲存實際資料。而 Node.next 則是指向下個 Node。但這樣編譯不會成功,Rust 編譯時需要決定每個型別該配置多少記憶體空間,這種遞迴型別使得編譯器無限循環,無法決定配置大小。 node-recursive 很簡單,我們使用 Box 這個 智慧指標 ,直接將 Node 配置在記憶體 heap 上。如此以來,編譯器就會知道 next 只佔了一個指標的空間。 struct Node { elem: T, next: Box>,\n} node-box 由於 Rust 沒有 null pointer,但照鏈結串列的定義,Node.next 可以是 NULL,因此我們使用 Option 模擬 null pointer 的行為。最後,Node 的定義如下: struct Node { elem: T, next: Option>>,\n}","breadcrumbs":"單向鏈結串列 Singly linked list » Node","id":"202","title":"Node"},"203":{"body":"在開始實作各種增刪節點的操作之前,我們需要建立一個 struct 存放指向鏈結串列 head 的指標,同時,各種操作也會實作在這個 struct 上。事實上,這個 struct 就是對外公開的資料結構。 pub struct SinglyLinkedList { head: Option>>,\n} 選擇把操作串列的函式寫在另一個 struct 而非 Node 上有幾個原因,1)外部並不需知道串列內部如何實作,公開 Node 會暴露實作。2)每個 Node 都帶有成員函式的話,函式指標會佔用太多額外資源。","breadcrumbs":"單向鏈結串列 Singly linked list » SinglyLinkedList","id":"203","title":"SinglyLinkedList"},"204":{"body":"串列的基本操作如下: new:初始化一個空串列。 push_front:新增節點到開頭的位置。 pop_front:將開頭第一個節點移除。 insert_after:在指定索引位置後插入一個新節點。 remove:移除任意索引下的節點。 clear:清除所有節點。 is_empty:檢查串列是否沒有任何節點。 reverse:反轉整個串列(head 變成 tail)。","breadcrumbs":"單向鏈結串列 Singly linked list » 基本操作","id":"204","title":"基本操作"},"205":{"body":"實做初始化與清除資料非常直觀。其中清除其實就只是將 self 指向新的串列實例。 impl SinglyLinkedList { pub fn new() -> Self { Self { head: None } } } 你可能會想,在清除所有資料時,資源需不需要手動釋放? 和 C++ 的 RAII 一樣,Rust 有一個名叫 drop 的解構式,只要程式執行離開了資源擁有者的可視範圍(out of scope),就會自動呼叫 drop。我們在 Drop trait 一節會再深入探討。","breadcrumbs":"單向鏈結串列 Singly linked list » 初始化與清除資料","id":"205","title":"初始化與清除資料"},"206":{"body":"單向鏈結串列在第一個節點前增加新節點,或是刪除第一個節點,都可以在常數時間完成。新增節點 push_front 的概念很簡單,1)建立新的節點,並把新節點 next 指標指向串列第一個節點。2)把串列的 head 指向新建立的節點。 pub fn push_front(&mut self, elem: T) { let next = self.head.take(); // 1 self.head = Some(Box::new(Node { elem, next })); // 2 } 釋放 SinglyLinkedList 對第一個節點的所有權 建立一新節點,並將原本第一個節點所有權轉移給新節點。再將新節點所有權轉移到串列本身。 刪除第一個節點 pop_front 的實作步驟如下:首先取得第一個節點的所有權,再將 head 指向第一個節點 Node.next 下一個節點,再返回第一個節點的資料給呼叫端。 pub fn pop_front(&mut self) -> Option { // Take ownership of head let head = self.head.take()?; // 1 self.head = head.next; // 2 Some(head.elem) // 3 } 取得第一個元素的所有權,若無首個元素,表示串列為空,此處利用 ? 運算子 直接回傳 None。 將 head 指向下一個節點。 返回即將刪除節點的資料。","breadcrumbs":"單向鏈結串列 Singly linked list » 增刪首個節點","id":"206","title":"增刪首個節點"},"207":{"body":"鏈結串列新增和刪除第一個節點都可以在 $O(1)$ 時間內做完,那為什麼插入刪除任意節點沒有辦法呢?原因是鏈結串列不支援隨機存取(random access),就是無法透過索引在常數時間內取得資料,每次的搜尋都只能從 head 開始。因此,當我們需要在某個索引的節點後新增一筆資料,我們會需要最差 $O(n)$ 的複雜度。 實作插入 insert_after 分為幾個步驟: pub fn insert_after(&mut self, pos: usize, elem: T) -> Result<(), usize> { let mut curr = &mut self.head; let mut pos_ = pos; // Find the node at `pos`. while pos_ > 0 { // 1 curr = match curr.as_mut() { Some(node) => &mut node.next, None => return Err(pos - pos_), }; pos_ -= 1; } // Take the ownership of current node. match curr.take() { // 2 Some(mut node) => { // Node A // Create new node. let new_node = Box::new(Node { // 3: Node B elem, next: node.next, }); // Re-link new node and current node. node.next = Some(new_node); // 4 // Assign current node back to the list. *curr = Some(node); // 5 } None => return Err(pos - pos_), } Ok(()) } 找到對應索引值的節點 A,若找不到則回傳這個串列的資料長度。 先取得節點 A 的所有權,才能修改它的值。 建立新節點 B,同時將節點 B 的 next 指向 A 的後一個節點。 將新節點 B 做為節點 A 後一個節點 next。 把修改過的節點 A,重新賦值給指向節點 A 的指標 curr(可視為歸還所有權)。 而實作刪除任意索引下的節點 remove 和插入非常相似。 pub fn remove(&mut self, pos: usize) -> Option { let mut curr = &mut self.head; let mut pos = pos; // Find the node at `pos`. while pos > 0 { // 1 curr = &mut curr.as_mut()?.next; pos -= 1; } // Assign next node to previous node.next pointer. let node = curr.take()?; // 2: Node A *curr = node.next; // 3: node.next is Node B Some(node.elem) // 4 } 找到對應索引值的節點 A,若找不到則回傳 None。 先取得節點 A 的所有權,才能修改它的值。 把節點 A 的後一個節點 B 賦值給原本指向節點 A 的指標 curr。 回傳節點 A 的值。","breadcrumbs":"單向鏈結串列 Singly linked list » 插入刪除任意節點","id":"207","title":"插入刪除任意節點"},"208":{"body":"反轉鏈結串列是工作面試時很常見的考題,這裡來實作看看。 pub fn reverse(&mut self) { let mut prev = None; // 1: prev -> Node P let mut curr = self.head.take(); // 2 while let Some(mut node) = curr { // 3: node -> Node A let next = node.next; // 3-1: next -> Node B node.next = prev.take(); // 3-2: Take ownership from previous node. prev = Some(node); // 3-3: Transfer ownership from current node to previous. curr = next; // 3-4: curr references to next node for next iteration. } self.head = prev.take(); // 4 } 先建立一個暫時變數 prev,儲存疊代時的前一個節點。 從串列 head 取得第一個節點的所有權。 依序疊代整個串列 將節點 A 的後一個節點 B 暫存起來。 節點 A 的 next 指向暫存在變數 prev 的節點 P。 節點 A 暫存在變數 prev 內,保留到下一個疊代使用。 將節點 B 儲存在變數 curr 內。此時 prev:節點 A,A 的 next 指向 P, curr:節點 B,B 的 next 指向 A。 最後一次疊代時,變數 prev 會儲存原始串列末端節點,這時轉移所有權到 head,完成反轉。","breadcrumbs":"單向鏈結串列 Singly linked list » 反轉","id":"208","title":"反轉"},"209":{"body":"除了基本操作,SinglyLinkedList 實作了許多 trait,使用上更方便更符合 Rust 的慣例。","breadcrumbs":"單向鏈結串列 Singly linked list » Traits","id":"209","title":"Traits"},"21":{"body":"善用漸進符號,可以讓原本複雜艱澀的實際複雜度,簡化至人類容易理解的簡單數學符號,也讓分析演算法效率更為客觀。但實際上,漸進符號省略了常數項與低次項,僅保留最高次項,這種「漸進行為下」的效能表現,在真實世界中,若輸入資料量不夠大,實際複雜度的低次項係數又比高次項大上許多,很可能這個演算法實際上根本沒辦法使用。 另外,漸進符號僅考慮最差與最佳複雜度,沒有考慮到平均複雜度。舉例來說, Quicksort 最差複雜度為 $O(n^2)$,乍看之下不是很理想,但這種情況非常稀少;其平均複雜度落在 $O(n \\log n)$,且其係數相對較低,額外開銷少,自然成為最熱門的排序法之一。 還有,漸進符號也沒有考慮到不同語言、平台的基礎操作開銷,例如實作排序法時,有些語言「比較」兩個元素的開銷比「置換」來得大,實作上就需要盡量減少置換元素。同樣的,CPU 快取也非常容易忽略,一些快速的搜尋法很可能因為不是 線性搜尋 ,沒辦法充分利用 CPU cache,效能不一定理想。 總之,漸進符號只能告訴你「當輸入資料量夠大時,演算法的複雜度表現如何」,並不總是適用每個情境,端看你怎麼使用他。","breadcrumbs":"漸進符號 Asymptotic Notation » 你可能不適合漸進符號","id":"21","title":"你可能不適合漸進符號"},"210":{"body":"如果一個 struct 有許多成員,則會遞迴呼叫 struct 的 drop 成員函式。因此,一個串列的解構式很可能發生深層的巢狀遞迴: # a linked list\na -> b -> c -> x -> y -> z # call stack when `drop` being called (a.drop (b.drop (c.drop (x.drop (y.drop (z.drop (z.dropped (y.dropped (x.dropped (c.dropped (b.dropped\n(a.dropped 如果節點一多,肯定會 stack overflow,太可怕了! 既然如此,那麼就透過 Drop trait ,實作一個疊代版本的解構式,消弭可怕的 call stack 吧。 impl Drop for SinglyLinkedList { fn drop(&mut self) { let mut link = self.head.take(); // 1 while let Some(mut node) = link { // 2 link = node.next.take(); // 3: Take ownership of next `link` here. } // 4: Previous `node` goes out of scope and gets dropped here. }\n} 取得 head 的所有權。 透過 pattern matching 取得 Node 裡面 Box 的所有權。 取得下一個 Node 的所有權,並將它指向共用的變數 link。 離開了 node 的 scope,node 呼叫 drop 釋放自身資源。 詳細思路過程可查看 Learning Rust With Entirely Too Many Linked Lists 的 Drop 章節,該章完整闡述為什麼不能用 tail recursive 來實作,但最大的原因是 Rust core team 暫時延緩實踐 tail call optimization 。 實際上,透過呼叫 pop_front(),不斷移除第一個節點,並使用 is_some() 檢查是否仍有節點,幾乎可以達到同樣的 drop 效果,而且更簡潔易懂。差別僅在於,相較於前個實作自己處理 call stack,這個實作每次移除元素都需要 pop_front() 與 is_some() 的 stack,多了些微小的開銷,雖然可透過 #[inline] attribute 提示編譯器,但終究只是提示。 impl Drop for SinglyLinkedList { fn drop(&mut self) { while self.pop_front().is_some() {} }\n}","breadcrumbs":"單向鏈結串列 Singly linked list » Drop trait","id":"210","title":"Drop trait"},"211":{"body":"既然鏈結串列是一種序列(sequence,有序的資料結構),少不了實作 Iterator 、 IntoIterator 等 trait,使串列可以輕鬆使用 for-in loop 遍歷(traverse)。 首先,先定義幾個疊代器的 struct。 pub struct IntoIter(SinglyLinkedList); pub struct Iter<'a, T> { next: Option<&'a Node>, // 1\n} pub struct IterMut<'a, T> { next: Option<&'a mut Node>,\n} 建立這三個 iterator struct 是常見的 Rust 設計模式。 IntoIter:產生 T,實作會吃掉元素所有權的 IntoIterator trait Iter:產生 &T,實作提供 immutable borrow 的 Iterator trait。 IterMut:產生 &mut T,實作提供 mutable borrow 的 Iterator trait。 相對應的,SinglyLinkedList 則新增三個成員函式: fn into_iter(self) -> IntoIter:轉移所有權的疊代器。 Into 一詞慣例上指涉所有權移轉。 fn iter(&self) -> Iter:以 immutable reference 疊代串列。 fn iter_mut(&mut self) -> IterMut:以 mutable reference 疊代串列。 先來看 IntoIter 實作。 // 1\npub struct IntoIter(SinglyLinkedList); // 2\nimpl Iterator for IntoIter { type Item = T; fn next(&mut self) -> Option { self.0.pop_front() }\n} // 3\nimpl IntoIterator for SinglyLinkedList { type Item = T; type IntoIter = IntoIter; /// Creates a consuming iterator, that is, one that moves each value out of /// the list (from start to end). The list cannot be used after calling this. fn into_iter(self) -> Self::IntoIter { IntoIter(self) }\n} 宣告一個 tuple struct,唯一的成員是 SinglyLinkedList。 實作 Iterator trait 的 required method next,為了達成 Into 會消耗原始資料,轉換所有權的特性,我們利用 pop_front() 將節點的資料依序刪除(pop)。 IntoInterator 的 required method 傳遞 self 進來,所以無論怎麼實作 IntoIter struct,呼叫 into_iter() 後,外部就無法再次存取此 SinglyLinkedList 實例,達到所有權轉移的目標。 可能有人會疑惑,IntoIter 並沒有內部狀態記錄欄位,疊代器如何依據狀態產生下一筆資料?受惠於 IntoIterator 傳遞所有權的特性,IntoIter 可直接改變原始串列的內部狀態,例如 pop_front 會移除原始串列的節點。因此,相較於 Iter、IterMut 額外記錄狀態,IntoIter 不需自行記錄疊代器的疊代狀態。 再來看看 Iter 怎麼實踐。 pub struct Iter<'a, T> { next: Option<&'a Node>, // 1\n} impl<'a, T> Iterator for Iter<'a, T> { type Item = &'a T; // 2 fn next(&mut self) -> Option { let node = self.next?; self.next = node.next.as_deref(); // 3 Some(&node.elem) }\n} impl SinglyLinkedList { // ... pub fn iter(&self) -> Iter { // 4 Iter { next: self.head.as_deref(), // 5 } }\n} 這個 struct 的 next 是為了儲存 Node 資訊,方便記錄疊代器當前的狀態。加上生命週期 'a 是因編譯器無法推敲 Option<&Node> 會活多久,需要顯著標明 &Node 至少與該疊代器同生共死。 由於 Iter 是為了實作產生 &T 的疊代器,associated type 設為 &'a T。 將當前節點的後一個節點設為 Iter 疊代器的狀態。並回傳當前節點的資料。 這邊用了 Option::as_deref() ,可直接將 Option 轉換成 Option<&T>,若 T 有實作 Deref 特徵,更可以將 T 轉為 Deref::Target,例如這裡就是藉由 Box::deref() 將 Box> 轉換為 &Node。 在 SinglyLinkedList 上加 iter() 成員函式回傳 Iter 疊代器。 產生疊代器初始化狀態,和第三步一模一樣。 最後,IterMut 與 Iter 疊代器實作上大同小異。把 Iter 用到 Option::as_deref() 改為 Option::as_deref_mut(),其他 & 改成 &mut 即可。","breadcrumbs":"單向鏈結串列 Singly linked list » Iterator and IntoIterator traits","id":"211","title":"Iterator and IntoIterator traits"},"212":{"body":"PartialEq trait 是用來實現兩個串列是否能夠比較,而我們在此定義如下: 有兩個 SinglyLinkedList Sa、Sb,Sa、Sb 的元素皆符合 PartialEq trait。當 Sa 的總節點數 等於 Sb 的總節點數, Sa 所有元素依序等於 Sb 所有元素, 則稱 Sa 與 Sb 有 partial equiavalence(Sa == Sb)。 實作上我們用了 iter 成員函式把兩個串列 zip 在一起,在用 all 確認元素兩兩相等,十分 Rust 風格的作法。 impl PartialEq for SinglyLinkedList { fn eq(&self, other: &Self) -> bool { if self.len() != other.len() { return false; } self.iter().zip(other.iter()).all(|pair| pair.0 == pair.1) }\n}","breadcrumbs":"單向鏈結串列 Singly linked list » PartialEq trait","id":"212","title":"PartialEq trait"},"213":{"body":"為了方便修復臭蟲,通常會實作 Debug trait 印出有助於解決問題的資料。歸功於 Iterator 的實踐,我們可以快速用 self.iter() 印出所有節點內的元素,客製化 Debug 的顯示方式。 impl std::fmt::Debug for SinglyLinkedList { fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { for node in self.iter() { write!(f, \"{:?} -> \", node)? } Ok(()) }\n}","breadcrumbs":"單向鏈結串列 Singly linked list » Debug trait","id":"213","title":"Debug trait"},"214":{"body":"Operation Complexity get $O(n)$ insert 節點已知:$O(1)$ ;節點未知:$O(n - i)$ remove 節點已知:$O(1)$ ;節點未知:$O(n - i)$ append $O(n)$ prepend $O(1)$ pop first $O(1)$ pop last $O(n)$ space $O(n)$ + 各節點額外一個指標 $n$ 個 $n$:資料筆數。 $i$:相對於整個容器的索引位置。 值得觀察的是,許多操作因為單向鏈結串列只能從 head 開始搜索的緣故,執行時間都呈線性,使用上要特別注意。","breadcrumbs":"單向鏈結串列 Singly linked list » 效能","id":"214","title":"效能"},"215":{"body":"Rust Documentation: LinkedList Learning Rust With Entirely Too Many Linked Lists Duscussions at Stackoverflow StackExchange: Reversal of a singly-linked list in Rust SVG of node memory representation modified from The Rust Programming Language","breadcrumbs":"單向鏈結串列 Singly linked list » 參考資料","id":"215","title":"參考資料"},"216":{"body":"關聯容器是一種抽象資料型別,儲存鍵與值配對關係(key-value pair)的集合,並透過鍵存取元素,所謂「鍵值對」好比身份證字號與公民,戶政單位知道一個人證號,就可在關聯容器內,透過證號查找是否有這個公民,以及此證號對應的公民基本資訊。 關聯容器有許多別名,例如字典(dictionary)、關聯陣列(associative array)、映射(map)、表(table)等。在大多數程式語言函式庫中,關聯容器通常是最基本的容器型別之一,如 Python 的 dict,JavaScript 的 Map,以及 Rust 的 HashMap。 方便起見,本文以「 映射表 」統稱這類集合型別。 (雜湊表示意圖)","breadcrumbs":"關聯容器概述 » 關聯容器 Associative Container","id":"216","title":"關聯容器 Associative Container"},"217":{"body":"一般來說,映射表有以下特性: 鍵值對為單向關係 :可透過鍵取得其唯一值;但無法確保一值僅對應唯一的鍵。 鍵值唯一性 :同個映射表內,同個鍵不重複,只會出現一次。 元素組合性 :映射表內每個元素都是「鍵值對」,鍵或值無法單獨存在。 操作開銷小 :合理實作下,基本操作開銷相對較小,不高於線性時間。 註:多重映射表為一對多的例外。 映射表會有以下幾種基本操作: 新增 :配對鍵值關聯,又稱為綁定 binding。 修改 :修改任意鍵之下的值。 移除 :透過任意鍵移除該鍵值對,又稱 unbinding。 查找 :透過任意鍵搜尋該鍵值對。 不難看出,基本操作都是透過鍵取得值。事實上,合理實作的映射表,只要透過鍵來操作,就能有良好效能,甚至上述操作能達到 $O(1)$ 複雜度。","breadcrumbs":"關聯容器概述 » 特性","id":"217","title":"特性"},"218":{"body":"雖然映射表依實作不同,效能有所權衡。但其最大優勢仍是可「高效地透過鍵尋找值」,只要有映射關係的資料,都非常適合使用映射表。例如,快取暫存機制需透過特定鍵快速查找暫存值。此外,現代常用的 JSON、TOML 等資料交換格式,都是「鍵—值對」的形式,非常適合使用映射表處理。而應用映射表最有名的實際案例莫過於資料庫的索引,透過索引,我們可以大大降低搜尋的成本,從線性時間直落到對數甚至常數時間,不過相對就需要付出額外時空間建立索引。 我們再次把應用場景條列出來,方便懶人帶著走。 有映射關係,處理「鍵—值」配對的資料結構。 處理 JSON、TOML 等資料交換,資料序列化。 實作快取(cache)機制。 資料庫索引的實作方法之一。 查找操作頻率遠高於其他操作時。 總的來說,只要資料有對應綁定關係,就可以考慮使用映射表處理。","breadcrumbs":"關聯容器概述 » 適用場景","id":"218","title":"適用場景"},"219":{"body":"以下簡單介紹常見的映射表,詳情請點擊各連結。","breadcrumbs":"關聯容器概述 » 種類","id":"219","title":"種類"},"22":{"body":"Wiki: Time complexity Wiki: Big O notation Brilliant: Big O Notation Infinite Loop: Complexity Analysis","breadcrumbs":"漸進符號 Asymptotic Notation » 參考資料","id":"22","title":"參考資料"},"220":{"body":"雜湊表 是以雜湊函數實作的映射表。透過 雜湊函數 將任意資料轉換為固定長度的雜湊值,並將此鍵與一筆資料綁定,再映射到內部資料結構的某位置。理論上,只要雜湊函數品質過得去,雜湊表的基本操作都能在常數時間完成。","breadcrumbs":"關聯容器概述 » 雜湊表 Hash Map","id":"220","title":"雜湊表 Hash Map"},"221":{"body":"有序映射表 係一種有特定排序方式的映射表。常見兩種排序方式,其一是依照插入映射表的先後順序;其二則是依照鍵的大小。不同排序的底層資料結構各異,操作複雜度也不盡相同,如依鍵大小排序的映射表通常使用搜索樹實作,因此「新增」操作的複雜度為較差的 $O(\\log n)$。","breadcrumbs":"關聯容器概述 » 有序映射表 Ordered Map","id":"221","title":"有序映射表 Ordered Map"},"222":{"body":"多重映射表 允許鍵值對重複,一個鍵可對應多個值(一對多)。類似於映射表內放入陣列,但能以較方便輕鬆的介面來操作或疊代整張映射表。","breadcrumbs":"關聯容器概述 » 多重映射表 Multimap","id":"222","title":"多重映射表 Multimap"},"223":{"body":"集合 實際上並無鍵值「關聯」,可將其想像成普通的映射表。只關心鍵而值不重要。集合借用了數學 集合論(set theory) 中有限集合的概念,常應用於需要操作交集、聯集、差集等集合運算場景。","breadcrumbs":"關聯容器概述 » 集合 Set","id":"223","title":"集合 Set"},"224":{"body":"布隆過濾器 是一種類似於集合,但只會回報「絕對不存在」或「可能存在」的機率資料結構,實作上節省空間,常用於在海量資料中確認成員是否存在,並能有一定容錯率的場景。","breadcrumbs":"關聯容器概述 » 布隆過濾器 Bloom Filter","id":"224","title":"布隆過濾器 Bloom Filter"},"225":{"body":"Wiki: Associative array Wiki: Associative containers cpprefernce.com: std::map Rust documentation: std::colledtion Map graph by Jorge Stolfi CC BY-SA-3.0 via Wikimedia Commons.","breadcrumbs":"關聯容器概述 » 參考資料","id":"225","title":"參考資料"},"226":{"body":"雜湊表是以雜湊函數實作的關聯容器。透過雜湊函數,計算鍵(key)對應到容器內部的索引位置,進而找到對應的值(value)。一般來說,雜湊表最常見的實作是以一個簡單陣列儲存資料。 雜湊表的優勢是: 在資料量大時,仍然維持常數時間的高效能。 若資料數量上限已知,就可避免重新配置記憶體,效能更佳。 若資料形態已知,就可針對該資料形態找尋適合的雜湊函數最佳化。 而雜湊表相對有以下短處: 資料量不夠大時,單一操作需要雜湊計算,開銷相對高。 效能與雜湊函數息息相關,較差的函數容易雜湊碰撞,較佳函數計算成本通常較高。 只能以某種偽隨機的順序疊代雜湊表。 本次實作的程式碼置於 rust_algorithm_club::collections::HashMap API 文件中。","breadcrumbs":"雜湊表 Hash map » 雜湊表 Hash Map","id":"226","title":"雜湊表 Hash Map"},"227":{"body":"建立雜湊表的第一步,就是配置一定大小的陣列(通常稱為 bucket array),來儲存對應索引的鍵值對。我們以建立電話簿為例,儲存人名與號碼的對應關係。 Create an empty phone book with some blank slots. +--------------+ | 0: | +--------------+ | 1: | +--------------+ | 2: | +--------------+ | 3: | +--------------+ 我們嘗試插入第一筆資料,記錄 Frodo 以及他的手機號碼 88-7-666。 透過雜湊函數,計算出 Frodo 的索引值為 1。 將 88-7-666 插入 table[1] 的位置上。 table[1] 這種 bucket array 下的個別索引空間,通常稱為一個 slot 或 bucket。 Fordo: hash_function(Frodo) --> 1 +-------------+ | 0: | +-------------+\nFrodo --> | 1: 88-7-666 | +-------------+ | 2: | +-------------+ | 3: | +-------------+ 嘗試插入另外二筆資料,記錄 Sam 的手機 11-2-333,以及 Gollum 的手機 00-0-000。 透過雜湊函數,計算出 Sam 的索引值為 2。 將 11-2-333 插入 table[2] 的位置上。 透過雜湊函數,計算出 Gollumn 的索引值為 0。 將 00-0-000 插入 table[0] 的位置上。 Sam: hash_function(Sam) --> 2 +-------------+ | 0: | +-------------+ | 1: 88-7-666 | +-------------+\nSam --> | 2: 11-2-333 | +-------------+ | 3: | +-------------+ Gollum: hash_function(Gollum) --> 0 +-------------+\nGollum -> | 0: 00-0-000 | +-------------+ | 1: 88-7-666 | +-------------+ | 2: 11-2-333 | +-------------+ | 3: | +-------------+ 若需要取得 Sam 的手機號碼,只要 透過雜湊函數,計算出 Sam 的索引值為 2。 從 table[2] 的索引位置上,找到 Sam 的手機號碼 Sam: hash_function(Sam) --> 2 +-------------+ | 0: 00-0-000 | +-------------+ | 1: 88-7-666 | +-------------+\nSam --> | 2: 11-2-333 | --> Sam's phone number +-------------+ | 3: | +-------------+ 這就是最基本,以陣列實作的雜湊表了。 然而,你可能已經開始好奇了。 雜湊是什麼?怎麼知道要映射到哪個索引位置? 雜湊函數是否會計算出相同的索引值?要如何解決? 若預先配置的陣列填滿了,該如何處理? 接下來,將探討這幾個魔術般的因子,從簡單介紹雜湊函數,到如何解決雜湊碰撞,最後探討陣列塞滿重配置解決方案。 註:雜湊表也可以搜尋樹等其他資料結構實作,在此不深入討論。","breadcrumbs":"雜湊表 Hash map » 概念","id":"227","title":"概念"},"228":{"body":"所謂的雜湊函數,就是一種將「較寬的定義域映射到較窄值域」的函數。簡單來說,就是輸入任意值到此函數,則輸出值會落在一已知範圍。再白話一點,雜湊函數就是用來「化繁為簡」,把複雜多變的東西,透過函數生成簡化版本。此外,相同的輸入鍵,必須得到相同的輸出雜湊值,這是雜湊函數很重要的一個特性,以虛擬碼表示: key1 == key2 -> hash(key1) == hash(key2) 「映射」這部分只是使用雜湊的一小步。雜湊表根據程式實作的不同,底層儲存資料的形式也不盡相同,為了完全放入陣列中,通常會對雜湊值(雜湊函數的計算結果)取模(modulo)。也就是說:假設有長度為 n 的陣列。1)先對 key 取雜湊值。2)再對雜湊值取模,確認索引值落在陣列內部。 Assumed: array_size = n hash_value = hash_function(key) // 1 index = hash_value % array_size // 2 如此一來,所有可能的值都會落在陣列內,這就是最簡單普遍的雜湊兩步驟:計算雜湊值﹢取模。","breadcrumbs":"雜湊表 Hash map » 雜湊","id":"228","title":"雜湊"},"229":{"body":"接下來,你會緊接著向問第二個問題「函數計算出相同索引值該怎麼辦?」不同輸入產生相同雜湊值,多個值映射到同個索引上,這種狀況科學家稱之 雜湊碰撞(hash collision) 。 首先,要瞭解雜湊函數本身就是時空間的權衡,如果記憶體空間夠多,那讓輸入值與雜湊值呈一對一的完美關係,就不會出現碰撞;大多數情況,尤其是實作泛用的雜湊函式庫,無法預期輸入資料的範圍,實務上會鎖定一個輸出雜湊值的範圍,僧多粥少,難免碰撞。 好的雜湊函數還必須符合一些條件: 同一筆輸入資料,必須得到相同的雜湊值。 結果必須能夠高效的計算出來(預期為常數時間)。 任意輸入資料所得之雜湊值在值域內需接近 均勻分佈(uniform distribution) ,才能減少碰撞機率。 但總歸一句,欲達成上述條件,就是一種權衡取捨,例如, 加密雜湊函數(cryptographic hash function) 即是非常優秀的雜湊函數,但相對需付出更高的計算成本。 更多雜湊函數相關的討論,會另撰 專文 。","breadcrumbs":"雜湊表 Hash map » 選擇雜湊函數","id":"229","title":"選擇雜湊函數"},"23":{"body":"線性搜尋,又稱為循序搜尋(sequential search),是一個在序列中找尋目標的方法。正如字面上的意義,線性搜尋會按照順序疊代序列,挨家挨戶比對每個元素與目標值是否相等,若相等則停止疊代,並回傳搜尋所得結果。 線性搜尋乍看之下,是最簡單實作也最 naïve 的實作,效能應該不怎麼好。事實上,在資料量不多時(少於 100 個元素),線性搜尋的效能也不會太差,因為其他搜尋演算法可能需要建立特殊資料結構,就會導致時空間初始開銷暴增,複雜度的常數項成本變大。","breadcrumbs":"線性搜尋 Linear search » 線性搜尋 Linear Search","id":"23","title":"線性搜尋 Linear Search"},"230":{"body":"既然雜湊函數人生在世難免碰撞,科學家也研究幾個處理雜湊碰撞的策略,分別是 separate chaining 與 open addressing。 Separate chaining 可以說是最直觀的做法,就是設法讓同一個索引下,可以儲存多個碰撞的值。依據儲存資料的形式,可分為幾種實作: 鏈結串列 :以 鏈結串列(linked list) 儲存元素。發生碰撞時,新的元素串接在既有元素之後。 動態陣列 :新增元素時,在該位址配置 動態陣列(dynamic array) 儲存元素。發生碰撞時,直接將新元素加在陣列尾端。 不同實作方式有各自優缺點,例如串列版本容易實作,但需額外儲存指標資訊;用動態陣列,則會有更好的 CPU caching,但相對地碰撞過多則需要重配置陣列。 以 ASCII 表述使用串列實作 separate chaining 示意圖如下: ... assumed hash values of Gimli and Gollum collided. +----------------+ +-> |Gollum, 00-0-000| (linked list) | +----------------+ | |\nGimli -+ | v | | +---------------+ | +--------+ | |Gimli, 99-9-999|\nGollum -->|0: ptr |--+ +---------------+ +--------+\nFrodo -->|1: ptr |----> +---------------+ +--------+ |Frodo, 88-7-666|\nSam -->|2: ptr |--+ +---------------+ +--------+ | |3: null | +-> +---------------+ +--------+ | Sam, 11-2-333 | (main bucket array) +---------------+ 而這邊也有精美的實作示意圖,將串列首個元素 head 直接放置在 slot 中的作法,減少一次指標操作。 (利用 separate chaining 實作的雜湊表,並將串列第一個元素放在 bucket array 中) 另一方面 Open addressing 則走完全不同的套路,不額外配置儲存空間給碰撞的元素,而是繼續在同個陣列內「探測」其他可用的 slot,再把資料塞進尚未被佔據的 slot 中。而 Open addressing 依據不同探測序列(probe sequence)有不同實作,常見的有: Linear probing :從發生碰撞索引開始,依序往下一個 slot 探測是否可用,因此得名「線性」。 Quadratic probing :從碰撞索引開始,間隔以二次式增加往下探測可用 slot,如 $i + 1^2, i + 2^2, i + 3^2$。 Double hashing :以固定間隔大小 $k$(probe distance),依序探測 $i + k, i + k \\cdot 2 ...$ 的 slot 是否為空。而這個間隔是以另外一個雜湊函數計算所得,因此得名「雙雜湊」。 $i$ 為發生碰撞的索引位置。 這些方法的差異主要在於 CPU caching 的效能,以及 HashMap 資料的群聚效應(clustering)的敏感程度。當然,論 caching 絕對非 linear probing 莫屬,但 linear probing 以線性一個挨一個探勘,效能較容易受雜湊值群聚影響。 以下是 linear probing(間隔 = 1)的示意圖。","breadcrumbs":"雜湊表 Hash map » 處理雜湊碰撞","id":"230","title":"處理雜湊碰撞"},"231":{"body":"若資料的筆數已知,那初始配置的陣列大小設定與資料筆數成比例,就不必擔心雜湊表空間不夠,需要重新配置(reallocate)儲存空間的困擾。倘若資料量未知,而最初配置的 bucket array 滿了,該如何重新配置呢? 動態調整大小對雜湊表來說,不同於一般動態陣列,舊的雜湊表若要對應到新雜湊表,是每個鍵都需要重新計算雜湊值(rehash),成本相對較高。因此,減少動態調整的次數,可說是調教雜湊表的重點之一。說到調教雜湊表,必定要瞭解一個重要指標: load factor 。 $$\\text{load factor} = \\frac{n}{k}$$ $n$:已放入雜湊表內的資料總數。 $k$:雜湊表配置的儲存空間(bucket 總數)。 Load factor 代表目前雜湊表的「使用率」,若三筆資料放在四個 bucket 內,則 load factor 為 $3/4 = 75%$。Load factor 太大會更容易碰撞,會有效能上的影響;太小則代表過多冗餘空間沒有使用。如何維持 load factor 在一定範圍內至關重要。一般來說,75% 的 load factor 就可以準備重新配置雜湊表了,當然,這個門檻仍要以實作經驗為主,例如 Rust 的 HashMap 使用了 Robin Hood Hashing ,將 load factor 調教到 90%。 重配置雜湊表與動態陣列的動態調整大小雷同,達到某個門檻值,就會將底層陣列大小翻倍。為了避免開銷過高,通常元素減少時,不會主動調整大小,而是提供一個 shrink_to_fit 一類的方法,讓呼叫端自行決定釋放多餘空間的時機。","breadcrumbs":"雜湊表 Hash map » 動態調整雜湊表大小","id":"231","title":"動態調整雜湊表大小"},"232":{"body":"在介紹架構設計之前,我們先來瞭解 Rust 雜湊相關的觀念與 trait。","breadcrumbs":"雜湊表 Hash map » 架構設計","id":"232","title":"架構設計"},"233":{"body":"要實作雜湊函數,當然可以自幹計算雜湊值的函式來用,那為什麼還要使用 Rust 定義好的 Hash 呢?當然是希望將雜湊的介面抽象化,只要型別宣告符合 Hash trait,任何人都可以輕鬆計算雜湊值。而實作 Hash 很簡單,只要寫一個 fn hash(),呼叫端就能透過它計算雜湊,例如: use std::hash::{Hash, Hasher}; struct Car { brand: String,\n} impl Hash for Car { fn hash(&self, state: &mut H) { self.brand.hash(state); }\n} 光是計算雜湊值還不夠,要確定「當鍵相等時,其雜湊值也相等」這極為重要的雜湊特性,這時候除了實作 Hash trait,Eq trait 也要同時實作,該型別才能夠「被比較」,標準函式庫的 HashMap 的鍵就是實作 Hash + Eq 的型別,詳情請參閱 trait 的文件說明。 綜合以上,可以大膽定論,我們將實作的雜湊表的 key 一定符合 K: Hash + Eq,key 本身才能相互比較(實作 Eq),並開放呼叫端自定義型別實作不同的雜湊計算方式(實作 Hash)。 為了方便計算雜湊值,我們寫了一個輔助函式,以達成雜湊兩步驟: 計算雜湊值﹢取模 。其中,我們使用了 Rust 預設的雜湊演算法 DefaultHasher ,省下實作雜湊函數的功夫。 fn make_hash(x: &X, len: usize) -> Option where X: Hash + ?Sized, // 1\n{ if len == 0 { return None; } // 2 let mut hasher = DefaultHasher::new(); // 3 x.hash(&mut hasher); Some(hasher.finish() as usize % len)\n} X 泛型參數除了 Hash,還必須是 Dynamically Sized Type (DST,型別記作 ?Sized) 防止以 0 取模(% modulo),除數不能為 0。 Rust 的 hasher 是一狀態機,每餵他吃資料,hasher.finish() 產生的雜湊值就不同,為了確保雜湊相同,這裡每次呼叫就建立一個全新的 hasher。 所謂 Dynamically Sized Types(DSTs) 是指無法靜態得知大小的型別,例如 slice,或是一個函式的參數接受實作某個 trait 型別( trait object ),而在 Rust 幾乎所有基礎型別預設都是 Sized 編譯期就可得知大小。而在這裡我們不關心知道實作該型別可否靜態決定大小,只需知道它是否實作 Hash,所以明確添加 ?Sized 表示接受 DSTs。","breadcrumbs":"雜湊表 Hash map » Hash and Eq","id":"233","title":"Hash and Eq"},"234":{"body":"我們嘗試建立可以儲存 key-value pair 的結構體,裡面配置一個 bucket array buckets。其中 K 泛型參數是準備計算雜湊的鍵,而 V 則是與鍵配對的資料。 pub struct HashMap where K: Hash + Eq { buckets: Vec<(K, V)>,\n} 可是,用單一 Vec 儲存所有資料,萬一雜湊碰撞,不同鍵指向同個索引值該如何?這次先挑選相對容易的方案 separate chaining 處理碰撞,並以 Vec 動態陣列作為每個 bucket 儲存碰撞元素的容器,因此,buckets 陣列裡面改存 Bucket 陣列,而 Bucket 則儲存真正的 key-value pair。 type Bucket = Vec<(K, V)>; // 1 pub struct HashMap where K: Hash + Eq { buckets: Vec>, // 2 len: usize, // 3\n} 宣告 bucket 的型別 Bucket,實際上是一個 type alias 指向儲存鍵值 (K, V) 的動態陣列。 將 HashMap.buckets 改為儲存 Bucket 的動態陣列。 新增 len 記錄容器當前鍵值對數目,在增刪資料時, len 都會同步更新。 之所以使用額外的成員記錄資料數目,是為了計算數目能在 O(1) 時間內完成,nested array 動態疊代每個 Bucket 計算的成本太高。 這就是 Vector-based separate chaining HashMap 的記憶體佈局,來看張精美的雜湊表架構佈局圖吧!","breadcrumbs":"雜湊表 Hash map » 記憶體佈局","id":"234","title":"記憶體佈局"},"235":{"body":"雜湊表有以下幾個基本操作: new:初始化一個空雜湊表。 with_capacity:配置特定數量 bucket 的雜湊表。 get:取得指定鍵對應的資料。 get_mut:取得指定鍵對應的資料,並可寫入修改(mutable)。 insert:在任意位置插入一組鍵值對。 remove:移除任意位置下的鍵值對。 clear:清除所有鍵值對。 is_empty:檢查雜湊表是否沒有任何鍵值對。 len:檢查目前鍵值對的數目。 bucket_count:檢查目前 bucket 的數目。 以及幾個內部方法: try_resize:根據給定條件,決定調整 bucket 數目的時機,讓 load factor 維持最適狀態。 make_hash:從輸入資料產生雜湊值,再模除 bucket 數,得到輸入資料對應的索引位置。 接下來解釋實作的重點。","breadcrumbs":"雜湊表 Hash map » 基本操作","id":"235","title":"基本操作"},"236":{"body":"雜湊表初始化相對容易,一樣慣例使用 new。 impl HashMap where K: Hash + Eq { pub fn new() -> Self { Default::default() } /// ...\n} impl Default for HashMap where K: Hash + Eq { fn default() -> Self { Self { buckets: Vec::>::new(), len: 0 } }\n} 這裡為了符合人因工程,使用了 Default trait 設定初始值。此外,由於 Rust 的容器型別慣例上沒有任何元素時,不會配置任何記憶體空間,僅有初始的 pointer。 HashMap 初始化後,記憶體空間僅需 buckets 的 Vec 佔據 3 個 usize 大小(一個 heap 指標,兩個記錄容量與長度的 usize。 len 本身佔據 1 個 usize 大小。 所以預設初始化的 HashMap 在 64bit machine 上佔 4 * usize = 32 bytes。 為了後續實作 resize 容易些,同時實作了指定 bucket 數目的建構式。 pub fn with_capacity(cap: usize) -> Self { let mut buckets: Vec> = Vec::new(); for _ in 0..cap { buckets.push(Bucket::new()); } Self { buckets, len: 0 }\n} 很清楚地,同樣建立一個空的 bucket array,再預先配置給定數量的 Bucket 。len 則因為沒有開始增加新值,而設定為 0。","breadcrumbs":"雜湊表 Hash map » 初始化與預設值","id":"236","title":"初始化與預設值"},"237":{"body":"存取元素的實作也非常直觀, 使用 make_hash 計算出 key 對應的索引位置, 再透過 Vec::get 取得該索引下的 bucket,找不到時則返回 None, 找到 bucket 後則對整個 bucket 線性搜索與 key 相同的鍵值對。 pub fn get(&self, key: &K) -> Option<&V> { let index = self.make_hash(key)?; self.buckets.get(index).and_then(|bucket| bucket.iter() .find(|(k, _)| *k == *key) .map(|(_, v)| v) )\n} 事實上,這個 get 不是非常方便使用,當我們透過 HashMep::get 搜尋特定鍵時,必須傳入一模一樣的型別,例如 HashMap<&str, u8> 就只能透過相同的 borrowed value &str 搜索,而不能透過 owned value &String 尋找,就算兩個型別可無痛轉換也無法。 因此我們可以參考 Rust 標準函式庫為泛型參數 K 實作 Borrow trait,抽象化 owned 與 borrowed 間的型別,讓呼叫端無論傳 owned 或 borrowed 型別都可以有相同的行為。 pub fn get(&self, q: &Q) -> Option<&V> where K: Borrow, Q: Hash + Eq + ?Sized\n{ let index = self.make_hash(q)?; self.buckets.get(index).and_then(|bucket| bucket.iter() .find(|(k, _)| q == k.borrow()) .map(|(_, v)| v) )\n} fn get_mut() 與 fn get() 的差異只在於呼叫了 self.bucket.get_mut 取得 mutable reference,這裡就不多做說明。","breadcrumbs":"雜湊表 Hash map » 存取單一元素","id":"237","title":"存取單一元素"},"238":{"body":"插入與刪除比較特別,需要做些額外的功夫: 在操作完成之後需依據操作結果增減 HashMap.len,確保 len 永遠記錄正確的鍵值對數目。 在執行插入之前,需額外「動態調整」儲存空間,確保記憶體配置足夠空間新增元素。 先來看看刪除怎麼實作。 pub fn remove(&mut self, q: &Q) -> Option where K: Borrow, Q: Hash + Eq + ?Sized\n{ let index = self.make_hash(q)?; // 1 self.buckets.get_mut(index).and_then(|bucket| { // 2 bucket.iter_mut() .position(|(k, _)| q == (*k).borrow()) .map(|index| bucket.swap_remove(index).1) }).map(|v| { // 3 self.len -= 1; // Length decreases by one. v })\n} 所有涉及搜尋的操作,第一步一定是計算雜湊值。 建立 mutable 的疊代器,利用 posiion 找到對應的鍵值對,再呼叫 Vec::swap_remove 移除。 前一步驟若有 return value 產生,表示移除一個元素,因此 self.len 需手動減一。 Vec::swap_remove 不需要 resize array,而是取得最後一個元素填補該空間,由於雜湊表的排序不重要,我們選擇 swap_remove 減少一點開銷。 而插入與移除非常相似。 pub fn insert(&mut self, key: K, value: V) -> Option { self.try_resize(); // 1 let index = self // 2 .make_hash(&key) .expect(\"Failed to make a hash while insertion\"); let bucket = self.buckets .get_mut(index) .expect(&format!(\"Failed to get bucket[{}] while insetion\", index)); match bucket.iter_mut().find(|(k, _)| *k == key) { // 3 Some((_ , v)) => Some(mem::replace(v, value)), // 3.1 None => { bucket.push((key , value)); // 3.2 self.len += 1; None } } // 4\n} 嘗試調整雜湊表大小,以確保 load factor 在閾值之間。 同樣地,根據鍵計算雜湊值,以取得對應的內部 bucket 位置。 疊代整個 bucket 尋找鍵相同的鍵值對。 若找到,使用 mem::replace 資料部分,不需取代整個鍵值對。 若找無,則新增一組新鍵值對到該 bucket 中,並將長度加一。 若插入操作實際上是更新原有資料,則回傳被更新前的舊資料 Some((K, V)),反之則回傳 None。 原則上「動態調整儲存空間」正確實作下,步驟二的 expect 不會發生 panic。 mem::replace 可當作將同型別兩變數的記憶體位置互換,也就同時更新了原始資料。","breadcrumbs":"雜湊表 Hash map » 插入與刪除元素","id":"238","title":"插入與刪除元素"},"239":{"body":"動態調整儲存空間大概是整個實作中最詭譎的一部分。首先,我們需要知道 容器內鍵值對的總數:透過 self.len,我們將取得 self.len 的邏輯包裝在 fn len(&self),以免未來長度移動至別處儲存計算。 容器內 bucket 的總數:計算 self.bucket.len(),同樣地,將之包裝在 fn bucket_count(&self),並開放給外界呼叫。 Load factor 閾值:記錄在 const LOAD_FACTOR,設定為 0.75。 前情提要完畢,接下來就是程式碼的部分了。 fn try_resize(&mut self) { let entry_count = self.len(); // 1 let capacity = self.bucket_count(); // Initialization. if capacity == 0 { // 2 self.buckets.push(Bucket::new()); return } if entry_count as f64 / capacity as f64 > LOAD_FACTOR { // 3 // Resize. Rehash. Reallocate! let mut new_map = Self::with_capacity(capacity << 1); // 4 self.buckets.iter_mut() // 5 .flat_map(|bucket| mem::replace(bucket, vec![])) .for_each(|(k, v)| { new_map.insert(k, v); }); *self = new_map; // 6 }\n} 取得所有需要用到的長度資料。 若當前容量為 0,表示尚未新增任何元素,我們 push 一個空 bucket 進去,讓其他操作可以正常新增鍵值對。 判斷 load factor,決定需不需要動態調整大小。 透過 HashMap::with_capacity 建立容量兩倍大的空雜湊表。 開始疊代舊的 bucket,並利用 flat_map 打平 nested vector,再利用 for_each 將每個元素重新 insert 到新雜湊表。 把 self 的值指向新雜湊表,舊雜湊表的記憶體空間會被釋放。","breadcrumbs":"雜湊表 Hash map » 動態調整儲存空間","id":"239","title":"動態調整儲存空間"},"24":{"body":"Complexity Worst $O(n)$ Best $O(1)$ Average $O(n)$ Worst space $O(1)$ 若序列中總共有 $n$ 個元素,則線性搜尋最差的狀況為元素不在序列中,就是全部元素都比較一次,共比較 $n - 1$ 次,最差複雜度為 $O(n)$。","breadcrumbs":"線性搜尋 Linear search » 效能","id":"24","title":"效能"},"240":{"body":"一個集合型別當然少不了簡易的產生疊代器實作。 根據之前其他方法的實作,要疊代整個雜湊表非常簡單,就是疊代所有 bucket,並利用 flat_map 打平 nested vector。簡單實作如下: fn iter() -> std::slice::Iter<(&k, &v)> { self.buckets.iter_mut() .flat_map(|b| b) .map(|(k, v)| (k, v))\n} 但最終會發現,我們的程式完全無法編譯,也無法理解這麼長的閉包(closure)究竟要如何寫泛型型別。得了吧 Rust,老子學不動了! error[E0308]: mismatched types --> src/collections/hash_map/mod.rs:253:9 |\n253 | / self.buckets.iter()\n254 | | .flat_map(|b| b)\n255 | | .map(|(k, v)| (k, v)) | |_________________________________^ expected struct `std::slice::Iter`, found struct `std::iter::Map` | = note: expected type `std::slice::Iter<'_, (&K, &V)>` found type `std::iter::Map>, &std::vec::Vec<(K, V)>, [closure@src/collections/hash_map/mod.rs:254:23: 254:28]>, [closure@src/collections/hash_map/mod.rs:255:18: 255:33]>` 幸好,在 Rust 1.26 釋出時,大家期待已久的 impl trait 穩定了。如同字面上的意思,impl trait 可以用在函式參數與回傳型別的宣告中。代表這個型別有 impl 對應的 trait,所以不必再寫出落落長的 Iterator 泛型型別。impl trait 有另一個特點是以靜態分派(static dispatch)來呼叫函式,相較於 trait object 的 動態分派(dynamic dispatch) ,impl trait 毫無效能損失。 實作如下: pub fn iter(&self) -> impl Iterator { self.buckets.iter() .flat_map(|b| b) .map(|(k, v)| (k, v))\n} 更多 impl trait 相關資訊可以參考: Rust RFC: impl trait Rust 1.26: impl trait Rust Reference: Trait objects The Rust Programming Language: Trait objects","breadcrumbs":"雜湊表 Hash map » 實作疊代器方法","id":"240","title":"實作疊代器方法"},"241":{"body":"以陣列實作的雜湊表各操作複雜度如下 Operation Best case Worst case add(k, v) $O(1)$~ $O(n)$ update(k, v) $O(1)$ $O(n)$ remove(k) $O(1)$~ $O(n)$ search(k) $O(1)$ $O(n)$ $n$:資料筆數。 $k$:欲綁定資料的鍵。 $v$:欲與鍵綁定的資料。 ~ :平攤後的複雜度(amortized)。","breadcrumbs":"雜湊表 Hash map » 效能","id":"241","title":"效能"},"242":{"body":"在預期情況下,只要雜湊函數品質穩定,大部分操作都可達到在常數時間, 但由於部分操作,尤其是新增或刪除元素的操作,會需要調整 bucket array 的空間,重新配置記憶體空間,所以需要平攤計算複雜度。 而最差複雜度出現在每個元素都發生雜湊碰撞。若使用 open addressing 處理碰撞,則會把雜湊表配置的每個位置都填滿,而所有操作都從同個位置開始,搜尋對應的鍵,複雜度與陣列的線性搜索相同為 $O(n)$;若使用 separate chaining,碰撞代表所有元素都會在同一個 bucket 裡面,也就是只有一個 bucket 上會有一個長度為 n ,被塞滿的陣列或鏈結串列,結果同樣是線性搜索的 $O(n)$。 我們嘗試使用數學表示搜索的複雜度。另 $n$:已放入雜湊表內的資料總數。 $k$:雜湊表配置的儲存空間(bucket 總數)。 $\\text{load factor} = \\frac{n}{k}$:預期每個 bucket 儲存的資料筆數。 則預期執行時間為 $$\\Theta(1+\\frac{n}{k}) = O(1) \\ \\text{ if } \\frac{n}{k} = O(1)$$ 而 1 為計算雜湊與取得索引(random access)的執行時間,$\\frac{n}{k}$ 則是搜尋陣列的執行時間。只要 load factor 越接近 $n$,執行時間就相對增加。","breadcrumbs":"雜湊表 Hash map » 時間複雜度","id":"242","title":"時間複雜度"},"243":{"body":"雜湊表的空間複雜度取決於實作預先配置的陣列大小,並與維持 load factor 息息相關。一般來說,仍與資料筆數成線性關係,因此空間複雜度只有資料本身 $O(n)$。而以 separate chaining 會額外配置陣列或鏈結串列儲存碰撞元素,理論上需負擔更多額外的指標儲存空間。","breadcrumbs":"雜湊表 Hash map » 空間複雜度","id":"243","title":"空間複雜度"},"244":{"body":"Rust Documentation: HashMap Wiki: Hash table Wiki: Open addressing Algorithms, 4th Edition by R. Sedgewick and K. Wayne: 3.4 Hash Tables MIT 6.006: Introduction to Algorithms, fall 2011: Unit 3 Hashing Map graph by Jorge Stolfi CC BY-SA-3.0 via Wikimedia Commons.","breadcrumbs":"雜湊表 Hash map » 參考資料","id":"244","title":"參考資料"},"245":{"body":"集合是一種抽象資料型別(Abstract data type),概念衍生自數學的 集合論 ,和陣列類似,為不同元素所組成的資料結構,不同在於集合有些重要的特性: 無序性:集合內各元素無特定排序或排序不重要。 互異性:集合內每個元素且只能出現一次。 一般來說,集合的實作會盡量貼近集合論中的有限集合定義,本次實作同樣遵照數學定義。 本次實作的程式碼置於 rust_algorithm_club::collections::HashSet API 文件中。","breadcrumbs":"集合 Set » 集合 Set","id":"245","title":"集合 Set"},"246":{"body":"","breadcrumbs":"集合 Set » 架構設計","id":"246","title":"架構設計"},"247":{"body":"集合能以許多不同的資料結構實現,通用的集合實作多會最佳化取得、增加、移除元素等運算,這讓我們想到了「 雜湊表 」,雜湊表正是能將集合運算最佳化的一種資料結構,我們將借用 雜湊表作為底層儲存容器 ,進一步實作集合。 你可能好奇,集合明明只有元素,並沒有 鍵值對 ,跟雜湊表有啥關係?讓我們回想雜湊表一個重要的特性:每一個鍵(key)只會出現一次,利用雜湊表這個特性,即可達成上述集合兩大特性。 既然選用雜湊表作為底層容器,集合的結構體就非常簡單了,我們可以將集合想像為在 HashMap 薄薄的一層封裝。 pub struct HashSet\nwhere T: Hash + Eq,\n{ hash_map: HashMap,\n} 比較特別的是雜湊表的鍵值,這裡使用空的 tuple (),也就是以 unit type 作為雜湊表之值,只要將集合的元素作為雜湊表鍵,忽略對應的值,就是貨真價實的集合結構。","breadcrumbs":"集合 Set » 以雜湊表為底層容器","id":"247","title":"以雜湊表為底層容器"},"248":{"body":"這樣多儲存一個 () 會不會造成額外的儲存空間負擔?事實上,Unit type () 在 Rust 語言中是一種 Zero Sized Types (ZSTs) ,在編譯時期 Rust 會將 ZST 當作一種型別來操作,但真正輸出的機器碼中,ZST 並不會佔用任何運算空間。Set = HashMap 完全體現了 Rust 零成本抽象的語言特性。","breadcrumbs":"集合 Set » 不佔空間的 Unit Type","id":"248","title":"不佔空間的 Unit Type"},"249":{"body":"身為一個容器,集合有以下幾個基本操作: new:初始化一個集合。 contains:檢查集合內有無特定元素。 is_empty:檢查集合內是否沒有任何元素。 insert:新增一個元素。 remove:移除特定元素。 len:檢查集合內的元素數目。 iter:產生一個疊代集合內所有元素的疊代器。 這些基本操作的實作上,只是對雜湊表的簡單封裝,詳細實作可以參考 HashMap 。 impl HashSet\nwhere T: Hash + Eq,\n{ pub fn len(&self) -> usize { self.hash_map.len() } pub fn is_empty(&self) -> bool { self.hash_map.is_empty() } pub fn insert(&mut self, value: T) -> bool { // 1 self.hash_map.insert(value, ()).is_none() } pub fn contains(&self, value: &Q) -> bool // 2 where T: Borrow, Q: Hash + Eq + ?Sized, { self.hash_map.get(value).is_some() } pub fn remove(&mut self, value: &Q) -> bool // 3 where T: Borrow, Q: Hash + Eq + ?Sized, { self.hash_map.remove(value).is_some() } pub fn iter(&self) -> impl Iterator { // 4 self.hash_map.iter().map(|(k, _)| k) }\n} insert 將元素置於 key 上,value 則設為 ()。 contains 利用 HashMap::get 回傳的 Option<()> 判斷是否已有該的元素。 remove 同樣直接呼叫 HashMap::remove,並透過回傳 Option<()> 判斷實際上是否有移除任何元素。 iter 則直接利用 HashMap::iter 並捨棄 value。","breadcrumbs":"集合 Set » 基本操作","id":"249","title":"基本操作"},"25":{"body":"線性搜尋就是用一個 for-loop 解決。要注意的是,T 泛型參數至少要實作 PartialEq 才能比較。程式碼中使用了疊代器的 enumerate ,建立一個新疊代器,每次疊代產生疊代次數與對應的值。 pub fn linear_search(arr: &[T], target: &T) -> Option where T: PartialEq\n{ for (index, item) in arr.iter().enumerate() { if item == target { return Some(index); } } None\n} 事實上,若利用 Rust 內建的 iterator.position ,程式碼也許會更簡潔。 pub fn linear_search(arr: &[T], obj: &T) -> Option where T: PartialEq\n{ arr.iter().position(|x| x == obj)\n}","breadcrumbs":"線性搜尋 Linear search » 實作","id":"25","title":"實作"},"250":{"body":"電腦科學的集合型別衍生自 集合論 ,當然也得符合 集合代數(set algebra) 的特性,和算術的加減乘除,集合也有自己的二元運算,我們會實作以下幾個基本方法: intersection:交集,A ∩ B 定義為 A 與 B 共有的元素。 union:聯集,A ∪ B 定義為 A 與 B 所有的元素。 symmetric_difference:對稱差集,定義為 A △ B = (A ∪ B) - (A ∩ B),就是只出現在 A 或 B,不會在兩集合內同時出現的元素。 difference:差集,A \\ B 定義為 A 中所有未在 B 中出現的元素。 venn digrams 此外,也會介紹許多方便的方法: is_disjoint:兩集合是否不交集。 is_subset:包含於 ⊆,是否為子集。 is_superset:包含 ⊇,是否為超集。 哇!好多方法要實作。那就事不宜遲!","breadcrumbs":"集合 Set » 集合運算","id":"250","title":"集合運算"},"251":{"body":"第一次嘗試 - 建立新的聯集集合 要取得兩個集合的聯集,最直覺的想法可能是創造一個新的集合,再把 A 和 B 兩個集合的元素通通 insert 進去,就像這樣: // 利用 Clone 實現的聯集。完整實作見 bit.ly/caab7fb\npub fn union(&self, other: &HashSet) -> HashSet { // 複製一整份 other 到新的 set let mut new_set: HashSet = other.clone(); // 把現有的 item 一一塞到新的 set,重複的 item 會直接覆寫掉 self.hash_map.iter().for_each(|(k, _)| { new_set.insert(k.clone()); }); // 回傳 self 與 other 的聯集 new_set\n} 然而,上述做法有兩個缺點: 建立了一個全新的 HashSet 實例,花了額外的時間與空間 必須為 HashSet 和 item 的型別 T 額外加上 Clone trait 的限制 因此接下來我們嘗試利用 Rust 的 iterator 的特性實現更節省資源的版本! 更多詳情可參考實作過程的 討論串 與 第一次嘗試的完整實作 。 第二次嘗試 - Lazy Iterator 有了第一次嘗試的經驗,第二次決定讓 union() 回傳一個 lazy iterator,會疊代聯集的元素,必要才從疊代器收集所有元素,再建立新的集合,如此可以節省許多運算資源。 至於實作步驟,我們可以: 先製造一個疊代器,包含所有 other 集合的元素,但過濾掉與 self 共有的元素。 再將 self 的疊代器與步驟一產生的疊代器,利用 Iterator::chain 連起來。 這樣其實就是 other \\ self 這個差集,加上 self 自身,剛好就是聯集。程式碼如下: // 使用 impl trait 語法,避免宣告不同疊代器型別的麻煩。\npub fn union(&self, other: &HashSet) -> impl Iterator { // 實際上就是差集 let other_but_not_self = other.iter().filter(|item| !self.contains(item)); // 差集 + self 本身 self.iter().chain(other_but_not_self)\n} Lifetime Elision 但很不幸地,Compiler error E0623(甚至查不到 E0623 是什麼)。 error[E0623]: lifetime mismatch --> src/collections/set/mod.rs:117:48 |\n117 | pub fn union(&self, other: &HashSet) -> impl Iterator { | ----------- ^^^^^^^^^^^^^^^^^^^^^^^^ | | | | | ...but data from `other` is returned here | this parameter and the return type are declared with different lifetimes... 是 self 與 other 的生命週期不同導致,當這兩個集合的疊代器被 chain 起來後回傳,編譯器無法確認 Iterator 的 Item 生命週期多長。你可能很好奇為什麼 self 與 other 生命週期不同,事實上,Rust 為了讓語法輕鬆一點,允許函數省略部分生命週期標註,這個行為稱作 Lifetime Elision ,會在各種不同的條件下加註生命週期,其中有一條是「 每個被省略的生命週期都會成為獨立的生命週期 」。因此,union() 加上被省略的生命週期,會長得像: pub fn union<'a, 'b>(&'a self, other: &'b HashSet) -> impl Iterator; 於是乎,編譯器無法理解 Iterator 的 &T 到底生命週期是 'a 還是 'b,就不給編譯。 解法也很簡單,合併 self 與 other 的生命週期到同一個,不論是語意上(兩個集合至少活得一樣長)還是編譯條件都說得通。 // 加上 'a ,讓 self、other 的生命週期至少在這個函數內一樣長\npub fn union<'a>(&'a self, other: &'a HashSet) -> impl Iterator { let other_but_not_self = other.iter().filter(|item| !self.contains(item)); self.iter().chain(other_but_not_self)\n} 更多 Lifetime Elision 的資訊,可以參考 Rust 黑魔法 Nomicon 與 Rust TRPL 的解釋 ,還有相關的 RFC 可以看。 move closure 解決了生命週期,編譯看看就知道誰沒穿褲子。 Compiler error E0373 ,是野生的 borrow checker! error[E0373]: closure may outlive the current function, but it borrows `self`, which is owned by the current function --> src/collections/set/mod.rs:118:53 |\n118 | let other_but_not_self = other.iter().filter(|item| !self.contains(item)); | ^^^^^^ ---- `self` is borrowed here | | | may outlive borrowed value `self` |\nnote: closure is returned here --> src/collections/set/mod.rs:119:9 |\n119 | self.iter().chain(other_but_not_self) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nhelp: to force the closure to take ownership of `self` (and any other referenced variables), use the `move` keyword |\n118 | let other_but_not_self = other.iter().filter(move |item| !self.contains(item)); 讓我們嘗試理解,當我們回傳 iterator 時,整個過濾共同元素的 closure 會連帶一起回傳,若 closure 沒有使用 move 關鍵字修飾,編譯器會嘗試以傷害最小的方式去捕獲變數,在這裡會是 immutable borrow &T 捕獲。這裡的 self 實際型別是 &'a mut HashSet,可以想像成 closure 捕獲了 &(&'a mut HashSet)。 Rust 編譯器遇到 closure 需要捕獲變數時,如果沒有用 move 修飾,會嘗試使用以下順序來捕獲: &T > &mut T > T。若用了 move 修飾,則會直接將所有權轉移進 clousure 中,也就是捕獲 T。 可惜的是,多出來的這層 borrow 並沒有相同的生命週期 'a,編譯器無法識別它會活到什麼時候,可能 self 的資源已被釋放,但 closure 還沒結束,有機會產生 dangling pointer ,編譯器因此禁止這種危險操作。 編譯器也十分好心地提示,只要使用 move 關鍵字,將 self 的所有權轉移至 closure 中,就能避免生命週期不一致的問題。你可能有些疑惑,把 self move 進 closure 之後,self 不就會被 drop 釋放掉了?可以這樣理解,轉移進 closure 的型別是整個 self,也就是 &'a mut HashSet 型別,解讀為編譯器將 self 的型別看作新的 owned type,所有權可合法轉移,但底層仍保留指向原始資料的 borrow,巧妙避開生命週期問題。 pub fn union<'a>(&'a self, other: &'a HashSet) -> impl Iterator { // 用 move 修飾 closure // self(&'a HashSet)被整個轉移進 closure let other_but_not_self = other.iter().filter(move |item| !self.contains(item)); self.iter().chain(other_but_not_self)\n}","breadcrumbs":"集合 Set » 實作聯集","id":"251","title":"實作聯集"},"252":{"body":"呼,上面解決了最困難的生命週期和 borrow checker 問題,接下來的實作只要關注數學上的集合定義就能輕鬆解決了。 首先,交集的定義為「你有,而且我也有的」,簡單,疊代 self 並過濾出 other 也有的元素就好,秒殺! pub fn intersection<'a>(&'a self, other: &'a HashSet) -> impl Iterator { self.iter().filter(move |item| other.contains(item))\n} 再來是差集,概念是就是「我有,但你沒有的」,一樣疊代 self 並過濾出 other 沒有的元素。 pub fn difference<'a>(&'a self, other: &'a HashSet) -> impl Iterator { self.iter().filter(move |item| !other.contains(item))\n} 剛剛實作 union 有用到差集,我們可以稍微改寫,讓 union 的程式碼更神清氣爽。 pub fn union<'a>(&'a self, other: &'a HashSet) -> impl Iterator { // self ∪ (other \\ self) self.iter().chain(other.difference(self))\n} 最後,對稱差集可以透過組合上面的操作算出,可以是:「我有加上你有的,減去我們共同有的」,也可以是「我有但你沒有的,加上你有但我沒有的」,這裡我們選擇第二種實作。 pub fn symmetric_difference<'a>(&'a self, other: &'a HashSet) -> impl Iterator { // (self \\ other) ∪ (other \\ self) self.difference(other).chain(other.difference(self))\n} 整個集合的基礎在這邊大功告成了!","breadcrumbs":"集合 Set » 實作交集、差集與對稱差集","id":"252","title":"實作交集、差集與對稱差集"},"253":{"body":"經歷 Rust 編譯器的摧殘,來實作比較簡單的方法吧。集合運算常要比較兩個集合的關係,例如 A ⊆ B 代表 A 是 B 的子集,定義是 A 裡面的元素 B 都有。 我們先來實作 is_subset 檢查 self 是否為 other 的子集。 pub fn is_subset(&self, other: &HashSet) -> bool { // 若 self 的元素比 other 多,就不可能是 self ⊆ other // 所以提前回傳 false if self.len() > other.len() { return false; } // 利用 all 確認 other 內包含 self 的所有元素 self.iter().all(|item| other.contains(&item))\n} is_superset 檢查 self 是否為 other 的超集就更簡單了,只要把 is_subset 反過來使用就行了。 pub fn is_superset(&self, other: &HashSet) -> bool { // self ⊇ other = other ⊆ self other.is_subset(self)\n} 最後,我們常會檢查兩個集合是否沒有交集(disjoint),這個方法只要檢查交集 intersection() 疊代器的長度是否為 0 就可以了。 pub fn is_disjoint(&self, other: &HashSet) -> bool { self.intersection(other).count() == 0\n}","breadcrumbs":"集合 Set » 子集、超集與不交集","id":"253","title":"子集、超集與不交集"},"254":{"body":"上面的方法好冗,能不能和 Python 一樣,用簡單明瞭的語法操作集合的二元運算?當然行,Rust 的表達性很強,完全不輸 Python,透過 運算子多載(operator overloading) 。","breadcrumbs":"集合 Set » 二元運算與運算子","id":"254","title":"二元運算與運算子"},"255":{"body":"Rust 提供許多 trait 供使用者多載運算子,可以簡化集合的二元運算: set | other:bitwise or 運算子,效果同 union 聯集。 set & other:bitwise and 效果同 intersection 交集。 set - other:substraction 運算子,效果同 difference 差集。 set ^ other:bitwise xor 運算子,效果同 symmetric_difference 對稱差集。 由於四個運算子實作的概念相同,這裡挑 | bitwise or 來解釋如何客製化運算子邏輯。 // 實作 BitOr 多載 `|` 運算子\nimpl<'a, 'b, T> BitOr<&'b HashSet> for &'a HashSet\nwhere T: Hash + Eq + Clone, // 實作 Clone 讓 Set 可透過 FromIterator 建立實例\n{ type Output = HashSet; fn bitor(self, rhs: &'b HashSet) -> Self::Output { // 利用 FromIterator 提供的 collect() 蒐集元素,產生新 Set self.union(&rhs).cloned().collect() }\n} 要多載 bit or 運算子,代表型別要實作 BitOr trait。 由於運算子的 required method 通常會 consume self 的所有權,因此我們要在 impl 動手腳,改以 &HashSet 作為 BitOr 實作的對象。 為了簡化實作,交集聯集等運算子改為產生一個新的 Set 實例,也就是說,T 泛型型別需要實現 Clone trait,才能複製舊的值產生新的 Set。 多載運算子,可以參考 Overloadable operators 一頁的說明。","breadcrumbs":"集合 Set » 運算子多載","id":"255","title":"運算子多載"},"256":{"body":"除了交集、聯集等運算,我們還可以實作集合間的比較,作為檢查是否為子集或超集的運算子。 A <= B:效果同 is_subset,A 是否為 B 的子集 A ⊆ B。 A < B:A 是否為 B 的子集且不等於 B,等同於 A ⊂ B。 A >= B:效果同 is_superset,A 是否為 B 的超集 A ⊇ B。 A > B:A 是否為 B 的超集且不等於 B,等同於 A ⊃ B。 但眼尖的 Rustacean 肯定會發現, std::ops 裡面根本沒有 lt、gt 等比較運算子。Rust 的「比較」是透過實作幾個 Trait 後,自動推導生成的方法,這些 trait 放在 std::cmp module 中,分別是 Eq 、 ParitalEq 、 Ord ,以及 ParitalOrd 。 在開始介紹如何實作比較前,先讓複習一下離散數學學到的二元關係: 若 ∼ 為一種二元關係,A 為任意集合。 自反性(Reflexive):對所有 x ∈ A : x ∼ x。 對稱性(Symmetric):對所有 x, y ∈ A ,若 x ∼ y 則 y ∼ x。 傳遞性(Transitive):對所有 x, y, z ∈ A ,若 x ∼ y 且 y ∼ z 則 x ∼ z。 反對稱(Antisymmetric):對所有 x, y ∈ A,若 x ∼ y 且 x ≠ y 則 y ∼ x 不成立。 Rust 中的相等關係有其理論背景,Eq 就是數學上的 Equivalence relation ,須符合自反性、對稱性,及傳遞性;與之對應的是 PartialEq, Partial equivalence 具有對稱性和傳遞性,但並無自反性,有名的例子是 IEEE754 的浮點數 定義了 NaN == NaN -> false,浮點數因此不符合自反性定義。 回到集合,集合論中的集合相等(set equality)定義為:x = y ⇒ ∀z, (z ∈ x ⇔ z ∈ y),也就所有屬於集合 x 的元素必屬於集合 y,反之亦然。因此,集合相等具有自反性、對稱性、傳遞性。實作 == 運算子,我們會 比較集合 x, y 內元素數目(cardinality)是否一致,以及 疊代集合 x,並檢查是否每個屬於 x 的元素都屬於 y。 impl PartialEq for HashSet\nwhere T: Hash + Eq,\n{ fn eq(&self, other: &HashSet) -> bool { // 1. 檢查 cardinality,不同長度就不可能相等 if self.len() != other.len() { return false; } // 2. 利用 Iterator::all 確保每個 self 的元素都屬於 other。 self.iter().all(|item| other.contains(&item)) }\n} /// `Eq` 並沒有 required method,只要實作 `Partial::eq` 方法,就能直接推斷出 `Eq`。\nimpl Eq for HashSet where T: Hash + Eq {} 與相等關係相同,Rust 的排序關係同樣有理論依據,Ord 是數學上的 Total order ,符合反對稱性、傳遞性,以及 connex relation ;而 ParitalOrd 則接近數學上的 partial order,Rust 的文件中描述該 trait 須符合反對稱性與傳遞性。 Connex relation:在集合 X 下,所有 (x, y) pair 都會符合 x ∼ y 或 y ∼ x 的關係。在排序關係上,意指不是 x ≥ y 就是 y ≥ x。 要把集合的「包含於但不相等」關係 ⊂ 映射到排序關係 x < y 前,先來檢驗 ⊂ 有什麼特性。 具反對稱性:若 x ⊂ y 且 x ≠ y 則 y ⊄ x,換句話說,若 x ⊂ y 且 y ⊂ x 則 x = y。 具傳遞性:若 x ⊂ y 且 y ⊂ z 則 x ⊂ z。 不具 connex relation:若 x = {1,2}, y = {3,4},則 x, y 無法以 ⊂ 表示兩者間的關係。 很明顯地,「包含於但不相等」符合 partial order 但不是 total order。我們選擇實作 PartialOrd trait,其有一個 required method PartialOrd::partial_cmp。 partial_cmp 回傳 Option,因為兩個集合可能無交集,導致無法相互比較。 先檢查 other 是不是子集,再檢查是不是長度相同,得到兩個 bool。 有了上述兩個 bool,就可以用 pattern matching 把所有情況列舉出來。 是子集且同長度:相等 =。 是子集但長度不同:包含於 ⊂(<)。 不是子集但長度相同:不相交(disjoint)。 不是子集且長度不同:先假設 self 是 other 的超集,再透過 Option::filter 過濾,是超集則回傳 Some(Ordering::Greater),不是則回傳 None。 impl PartialOrd for HashSet\nwhere T: Hash + Eq,\n{ fn partial_cmp(&self, other: &HashSet) -> Option { // 1 let is_subset = self.is_subset(other); // 2 let same_size = self.len() == other.len(); match (is_subset, same_size) { // 3 (true, true) => Some(Ordering::Equal), (true, false) => Some(Ordering::Less), (false, true) => None, _ => Some(Ordering::Greater).filter(|_| self.is_superset(other)), } }\n} 實作 PartialEq,Eq 與 PartialOrd 後,我們的集合型別終於能和 Python 的集合互別苗頭,有更高層次的表達性! 有人可能會認為,比較運算還要透過 partial_cmp 判斷 Option 多麻煩,事實上,C++ 20 也帶來了 <=> 運算子以及 three way comparison 衍生的各種型別,partial order 或 parital equal 可說是更精確且必要的比較運算,也是一種趨勢。","breadcrumbs":"集合 Set » 比較運算子","id":"256","title":"比較運算子"},"257":{"body":"以雜湊表為底層儲存容器的集合,各操作複雜度如下 Operation Best case Worst case insert(v) $O(1)$~ $O(n)$ remove(v) $O(1)$~ $O(n)$ contains(v) $O(1)$ $O(n)$ union $O(n)$ $O(n)$ intersection $O(n)$ $O(n)$ difference $O(n)$ $O(n)$ symmetric difference $O(n)$ $O(n)$ $n$:資料筆數。 $v$:資料值。 ~ :平攤後的複雜度(amortized)。 操作的時間與空間複雜度,與其底層儲存容器的實作有關,本次集合實作只是對雜湊表的簡單封裝,詳細演算法複雜度可以參考 HashMap 。","breadcrumbs":"集合 Set » 效能","id":"257","title":"效能"},"258":{"body":"Rust Documentation: HashSet Python 3: Set Wiki: Set theory Venn diagrams are screenshoot from Wikipedia via public domain.","breadcrumbs":"集合 Set » 參考資料","id":"258","title":"參考資料"},"259":{"body":"Bloom filter 是一種機率資料結構(probabilistic data structure),類似於 集合 ,常用於需快速驗證成員是否「可能存在」或是「絕對不存在」在容器中,亦即有機會出現假陽性(false positive),但絕不會有假陰性(false negative)。 Bloom filter 的優勢是: 類似 集合 ,可在 $O(1)$ 時間複雜度驗證成員是否存在,卻僅需相對少的儲存空間。 承上, 在 0.1% 錯誤率下儲存一百萬個元素僅需 1.71 MiB 。 非常容易實作的機率資料結構,僅需多次雜湊。 Bloom filter 則有以下短處: 經典款 Bloom filter 容器大小固定(fixed-size),無法動態調整儲存空間。 可能給出假陽性答案:回報存在但實際不存在,且錯誤隨數量變多上升。 自身不儲存成員資料,需要有額外的儲存資料方案。 只能新增成員,但不能移除成員(可透過 變形 解決)。 若輸入資料集本身離散,接近 隨機存取 ,無法充分利用 CPU cache。 承上,因為隨機存取,不利於延伸到記憶體以外的外部儲存裝置。 Bloom filter 常見應用場景為: 資料庫利用 Bloom filter 中減少實際存取 disk 的 IO 開銷。 Chromium 瀏覽器 驗證大量惡意連結 。 Medium 避免推薦已推薦過的文章 。 小知識:bloom 是開花之意,但 Bloom filter 和開花沒任何關係,只因發明人姓氏為 Bloom 本次實作的程式碼置於 rust_algorithm_club::collections::BloomFilter API 文件中。","breadcrumbs":"布隆過濾器 Bloom filter » 布隆過濾器 Bloom Filter","id":"259","title":"布隆過濾器 Bloom Filter"},"26":{"body":"Wiki: Linear search","breadcrumbs":"線性搜尋 Linear search » 參考資料","id":"26","title":"參考資料"},"260":{"body":"Bloom filter 由下列兩個部分組成: 一個 $m$ 位元的位元陣列(bit array) $k$ 個不同的雜湊函數 經典款的 Bloom filter 作為一個近似集合的容器,提供下列兩個操作 新增: 新增一個值時,透過 $k$ 個雜湊函數產生 $k$ 個雜湊值,分別代表在位元陣列的索引位置,再將 $k$ 個位置的位元翻轉至 1。 查詢: 同樣透過 $k$ 個雜湊函數產生 $k$ 個雜湊值作為位元陣列的索引位置,若所有位元皆為 1,則代表該值存在。 上圖顯示 w 並沒有在 {x,y,z} 集合中,因為 w 的雜湊結果有個位元為 0。 你可能會開始想: 欲儲存一百萬個元素,需要多少位元? 出現假陽性的機率是多少?可以調整嗎? 需要幾個雜湊函數? 可重複使用相同的雜湊函數嗎? 回答這些問題需要兩個已知條件: 預期會儲存多少 $n$ 個元素到容器。 可容忍的假陽性機率 $\\epsilon$,即容器不包含該元素,檢測卻回報存在(所有雜湊位皆為 1)。 於是可得位元陣列最佳化的長度為 $m$ 個位元,$m$ 為: $$m = -\\frac{n \\ln{\\epsilon}}{(\\ln{2})^2}$$ 而在已知條件下,需要的雜湊函數數量 $k$ 為: $$k = -\\frac{\\ln{\\epsilon}}{\\ln{2}} = -\\log_2{\\epsilon}$$ 當然,這些公式並非憑空冒出,有興趣可以讀讀 維基百科上的數學 ,和 這段詳細的推導 ,不過也要注意,Bloom filter 的假設是「每個雜湊函數獨立」但 位元間是否獨立有待討論 ,這順便開啟了其他問題,可重複使用相同的雜湊函數嗎? 答案是可以, 這篇 「Less Hashing, Same Performance:Building a Better Bloom Filter」 提及,在不犧牲漸進假陽性機率(asymptotic false positive probability)的前提下,透過兩個不同的雜湊函數 $h_1(x)$ 和 $h_2(x)$,配合以下公式,就可以模擬出多個雜湊函數: $$g_i(x) = h_1(x) + ih_2(x)$$ 數學看暈了嗎?來點程式碼吧。","breadcrumbs":"布隆過濾器 Bloom filter » 概念","id":"260","title":"概念"},"261":{"body":"","breadcrumbs":"布隆過濾器 Bloom filter » 架構設計","id":"261","title":"架構設計"},"262":{"body":"Bloom filter 底層以位元陣列作為儲存容器,如果目標是最省空間,該用 Rust 的什麼型別來儲存位元呢? 直觀作法是在 struct 新增一個 bits 位元陣列的 array 型別: pub struct BloomFilter { bits: [bool; N]\n} 雖然非常省空間,用了多少 bits 這個 struct 就佔多大,但這語法並非不合法,因為 N 未定義,無法編譯, array 的 N 必須是編譯期就決定的常數,BloomFilter 若寫死 N 就不夠泛用了(除非參考 vec! 透過 macro 建立)。 不如換個方向,不用 fixed size array,給定動態大小的 slice 試試看。 pub struct BloomFilter { bits: [bool]\n} 嗯,可以編譯通過,但如果嘗試建立一個 struct 呢? fn main() { let input_len = 5; let bits = [true; input_len]; BloomFilter { bits };\n} 就會發現編譯結果如下: error[E0435]: attempt to use a non-constant value in a constant --> src/main.rs:7:23 |\n7 | let bits = [true; input_len]; | ^^^^^^^^^ non-constant value error[E0277]: the size for values of type `[bool]` cannot be known at compilation time --> src/main.rs:8:5 |\n8 | BloomFilter { bits }; | ^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time 原因有二,其一同樣是 array bits 需要一個常數長度;其二則是 bits 是一個 Dynamic Sized Types(Dsts) ,長度無法在編譯時決定,編譯期就無法得知 BloomFilter 的所佔記憶體用量。 看來得放棄用 array 或 slice 這些方法,改用最暴力的 Vec 作為位元陣列儲存容器,Vec 雖可動態調整大小,背後其實是一個 pointer + 一個 usize 的 capacity + 一個 usize 的 len 組成,若是在 64 位元的機器上, 一個 Vec 就會佔 24 位元組 ,比起 array 多耗費兩個 2 * 8 個位元組空間,幸好這額外的 16 個位元組是固定支出,不隨著 $m$ 和 $n$ 成長。 pub struct BloomFilter { bits: Vec\n}","breadcrumbs":"布隆過濾器 Bloom filter » 利用 Vec 儲存位元","id":"262","title":"利用 Vec 儲存位元"},"263":{"body":"再來,要在 BloomFilter 儲存兩個 hasher,也就是實作前面提及 用兩個雜湊函數模擬 $k$ 個 論文中的兩個 hasher,這兩個在 BloomFilter 建構時同時建立,並在操作 BloomFilter 的方法上共用。 這次直接使用標準函式庫內預設雜湊演算法 DefaultHasher 作為隨機的兩個雜湊函數 BloomFilter.hashers。由於是模擬 $k$ 個函數的雜湊行為,仍需另闢欄位,儲存 $k$ 實際上是多少個雜湊函數 BloomFilter.hash_fn_count。 use std::collections::hash_map::DefaultHasher; pub struct BloomFilter { /// The bit array of _m_ bits. bits: Vec, /// Count of hash functions. Denoted by _k_. hash_fn_count: usize, /// The hashers that do real works. hashers: [DefaultHasher; 2],\n} 就剩最後一里路了!","breadcrumbs":"布隆過濾器 Bloom filter » 儲存兩個雜湊函數","id":"263","title":"儲存兩個雜湊函數"},"264":{"body":"眾所周知,透過 泛型(Generic) ,Rust 可重用相同的容器型別,特化接受不同型別的容器,例如 HashMap 可以特化為鍵為 String,值為 u32 的 HashMap,Vec 可以成為二維位元組 Vec>。看 std::collections 提供的容器,所有泛型型別參數(Type Parameter)像是 T、K、V 都是跟著 struct 宣告,也因為這些容器的確實際儲存了這些型別的元素,泛型型別參數跟著 struct 很合理。 有趣的是,作為一個容器,Bloom filter 其實不儲存元素本身,而是記錄元素是否「曾經新增至」該容器中。這給了一些想像空間:如何提供型別參數給 Bloom filter?提供兩個方向: 泛型型別參數宣告跟著 struct: 也就是 struct BloomFilter,如此一來,一個容器實例只能操作一種型別,而且在編譯期就決定。 let bf = BloomFilter::new();\nbf.insert(&1); // infer the type T is i32\nbf.insert(\"wront type\"); // compile error: &str is not compatible to i32 泛型型別跟著 struct 的方法,struct 本身不宣告: 很難想像容器裡面儲存不同的型別,但 BloomFilter 實際上只需要一個 Vec 記錄存在與否,到底新增了什麼型別的元素其實不重要,型別有實作雜湊就行。這個作法下,你可能會看到這種邪魔歪道: let bf = BloomFilter::new();\nbf.insert(&1);\nbf.insert(\"another type\"); // it works\nbf.insert(vec![3.14159]); // it also works 為了讓容器有一致感,這裡決定選擇法一,讓泛型跟著容器走。實作非常簡單,加上 T 泛型參數就行 use std::collections::hash_map::DefaultHasher; - pub struct BloomFilter {\n+ pub struct BloomFilter { /// .. snip\n} 哎呀,編譯失敗! error[E0392]: parameter `T` is never used --> src/lib.rs:3:24 |\n3 | pub struct BloomFilter { | ^ unused parameter | = help: consider removing `T`, referring to it in a field, or using a marker such as `std::marker::PhantomData` 因為 Rust 編譯器認為 BloomFilter 並不實際擁有 T 相關欄位,因此編譯不通過,我們可以利用 std::marker::PhantomData ,PhantomData 是一個 Zero-Sized Type 不佔空間,就是為了取悅編譯器,製造出 struct 擁有 T 的假象。 use std::collections::hash_map::DefaultHasher;\nuse std::marker::PhantomData; pub struct BloomFilter { /// The bit array of _m_ bits. bits: Vec, /// Count of hash functions. Denoted by _k_. hash_fn_count: usize, /// The hashers that do real works. hashers: [DefaultHasher; 2], _phantom: PhantomData,\n}","breadcrumbs":"布隆過濾器 Bloom filter » 使用 PhantomData 讓編譯器閉嘴","id":"264","title":"使用 PhantomData 讓編譯器閉嘴"},"265":{"body":"最後,有鑑於讓Bloom fliter 能夠接受更多型別,元素不一定要符合編譯期確定大小的 Sized trait bound,可以透過加上 ?Sized trait bound 解除預設的限制,如此一來 BloomFilter 就可接受 slice 和 trait object 這些 DSTs 了,傳入 string literal 變為可能 bloom_filter.insert(\"1234\")。 use std::collections::hash_map::DefaultHasher;\nuse std::marker::PhantomData; - pub struct BloomFilter {\n+ pub struct BloomFilter { // .. snip\n}","breadcrumbs":"布隆過濾器 Bloom filter » ?Sized 讓容器可以儲存 DSTs","id":"265","title":"?Sized 讓容器可以儲存 DSTs"},"266":{"body":"Bloom filter 為類似集合的容器,當然有 類似的操作 ,事實上,這類機率性集合成員檢測的資料結構有個較少聽見但令人印象深刻的名字,稱為「Approximate Membership Query(AMQ)」,提供 add(element) 和 query(element) 兩個基本操作。 本文的 BloomFilter 提供下列幾個公開方法: new:初始化一個容器。 insert:新增一個元素。 contains:檢查容器內有無特定元素(是否曾新增過)。 以及幾個內部輔助方法: make_hash:給定輸入元素資料,透過兩個雜湊函數產生兩個雜湊值。 get_index:將 make_hash 的兩雜湊值帶入 $g_i(x) = h_1(x) + ih_2(x)$ 計算單次 i 的索引位置。 optimal_bits_count:給定預期儲存元素個數 $n$ 與假陽性機率 $\\epsilon$,得位元陣列最適位元數 $m$。 optimal_hashers_count:給定預期假陽性機率,得最適雜湊函數個數 $k$。","breadcrumbs":"布隆過濾器 Bloom filter » 基本操作","id":"266","title":"基本操作"},"267":{"body":"Bloom filter 有四個參數 $m$、$n$、$k$、$\\epsilon$ 可以調整(詳見 效能 一節),對使用者來說,有幾個雜湊函數或底層是多少個位元都是實作細節了,更關心的可能是 「我有一百萬筆資料需要驗證存在,容錯率需要在 0.1%,我需要多大的儲存空間?」 因此,建構函數 new 提供輸入預期儲存元素個數 $n$ 和預期的假陽性機率 $\\epsilon$ 是天經地義的事: pub fn new(capacity: usize, err_rate: f64) -> Self; 接下來,會實作 概念 一節的數學公式,找出最適位元數和最適雜湊函數個數。這兩個函數都是以 Rust 表達數學公式,可注意的點是, std::f32::consts 和 std::f64::consts ,提供許多數學上常見的常數老朋友,操作浮點數和雙精度浮點數就不用自己手動重算了。 /// m = -1 * (n * ln ε) / (ln 2)^2\nfn optimal_bits_count(capacity: usize, err_rate: f64) -> usize { let ln_2_2 = std::f64::consts::LN_2.powf(2f64); (-1f64 * capacity as f64 * err_rate.ln() / ln_2_2).ceil() as usize\n} /// k = -log_2 ε\nfn optimal_hashers_count(err_rate: f64) -> usize { (-1f64 * err_rate.log2()).ceil() as usize\n} 目前為止,BloomFilter::new 長這樣: pub fn new(capacity: usize, err_rate: f64) -> Self { let bits_count = Self::optimal_bits_count(capacity, err_rate); let hash_fn_count = Self::optimal_hashers_count(err_rate);\n} 最後,按照前述 兩個雜湊函數恰恰好 的道理,建立兩個不同的雜湊函數,並初始化位元陣列,大功告成! pub fn new(capacity: usize, err_rate: f64) -> Self { // #1 Get optimal count of bit let bits_count = Self::optimal_bits_count(capacity, err_rate); // #2 Get optimal count of hash functions let hash_fn_count = Self::optimal_hashers_count(err_rate); // #3 Use RandomState to build different hasher let hashers = [ RandomState::new().build_hasher(), RandomState::new().build_hasher(), ]; Self { bits: vec![false; bits_count], // #4 Initialize a all zero bit array hash_fn_count, hashers, _phantom: PhantomData, }\n} 透過指定假陽性機率與預期元素個數,算得最適位元數 透過指定假陽性機率,算得最適雜湊函數個數 透過 std 內建的 RandomState 產生兩個不同初始狀態的雜湊函數,以模擬 $k$ 個雜湊函數 初始化一個全零的位元陣列","breadcrumbs":"布隆過濾器 Bloom filter » 初始化","id":"267","title":"初始化"},"268":{"body":"新增一個元素到 Bloom filter,說穿了就做一件事:將元素透過 $k$ 個雜湊函數,產出 $k$ 個索引位置,並將位元陣列上這些位置的位元翻轉至 1。 整個 insert 函數即為計算 $g_i(x) = h_1(x) + ih_2(x)$ 模擬 $k$ 個雜湊函數的過程: pub fn insert(&mut self, elem: &T)\nwhere T: Hash,\n{ let hashes = self.make_hash(elem); // #1 for fn_i in 0..self.hash_fn_count { // #2 let index = self.get_index(hashes, fn_i as u64); // #3 self.bits[index] = true; // #4 }\n} 取得 $h_1(x)$ 和 $h_2(x)$ 的雜湊輸出結果。 疊代 i 次,i 上限為 $k$:初始化時所得的最適雜湊函數個數 計算 $g_i(x) = h_1(x) + ih_2(x)$ 取得索引位置 將索引位置下的位元設定為 1 這裡有兩個內部方法,先講解如何計算 $h_1(x)$ 和 $h_2(x)$: fn make_hash(&self, elem: &T) -> (u64, u64)\nwhere T: Hash,\n{ // #1 let hasher1 = &mut self.hashers[0].clone(); let hasher2 = &mut self.hashers[1].clone(); // #2 elem.hash(hasher1); elem.hash(hasher2); // #3 (hasher1.finish(), hasher2.finish())\n} 為保存兩個 hasher 內部初始狀態,使用 clone 複製新的 hasher 來做雜湊 將 elem 餵給 hasher 計算雜湊值 輸出雜湊值,由於 Hasher::finish 不會重設 hasher 內部狀態,所以需要步驟一 clone 來保留 hasher 的原始狀態 再來是實作計算索引位置 $g_i(x) = h_1(x) + ih_2(x)$,這個函數非常單純,就是輸入 make_hash 所得之雜湊值,然後帶入公式中。為了防止輸出的索引位置超過位元陣列的位元數,這裡以位元數 $m$ 取模(% modulo),加上使用 wrapping_ops 這些 modular arithmetic operation 達成。 fn get_index(&self, (h1, h2): (u64, u64), fn_i: u64) -> usize { (h1.wrapping_add(fn_i.wrapping_mul(h2)) % self.bits.len() as u64) as usize\n}","breadcrumbs":"布隆過濾器 Bloom filter » 新增","id":"268","title":"新增"},"269":{"body":"查詢元素是否在 Bloom filter 裡面,就是看看該元素透過 $k$ 個雜湊函數輸出的每個索引位置 全部為 1 ,則可能存在;否則就是絕對不存在。 實作步驟和插入非常相似: pub fn contains(&self, elem: &T) -> bool\nwhere T: Hash,\n{ let hashes = self.make_hash(elem); // #1 (0..self.hash_fn_count).all(|fn_i| { // #1 使用 iter let index = self.get_index(hashes, fn_i as u64); self.bits[index] })\n} 取得 $h_1(x)$ 和 $h_2(x)$ 的雜湊輸出結果。 使用 Iterator::all 疊代收集 $k$ 個雜湊函數的輸出 計算 $g_i(x) = h_1(x) + ih_2(x)$ 取得索引位置 回傳索引位置下的位元 bool 值,此值會匯集起來,於步驟二確認命中全部 $k$ 個索引,即為元素存在 完整程式碼如下,或轉駕到 API 文件 : pub struct BloomFilter { bits: Vec, hash_fn_count: usize, hashers: [DefaultHasher; 2], _phantom: PhantomData,\n} impl BloomFilter { pub fn new(capacity: usize, err_rate: f64) -> Self { let bits_count = Self::optimal_bits_count(capacity, err_rate); let hash_fn_count = Self::optimal_hashers_count(err_rate); let hashers = [ RandomState::new().build_hasher(), RandomState::new().build_hasher(), ]; Self { bits: vec![false; bits_count], hash_fn_count, hashers, _phantom: PhantomData, } } pub fn insert(&mut self, elem: &T) where T: Hash, { // g_i(x) = h1(x) + i * h2(x) let hashes = self.make_hash(elem); for fn_i in 0..self.hash_fn_count { let index = self.get_index(hashes, fn_i as u64); self.bits[index] = true; } } pub fn contains(&self, elem: &T) -> bool where T: Hash, { let hashes = self.make_hash(elem); (0..self.hash_fn_count).all(|fn_i| { let index = self.get_index(hashes, fn_i as u64); self.bits[index] }) } fn get_index(&self, (h1, h2): (u64, u64), fn_i: u64) -> usize { (h1.wrapping_add(fn_i.wrapping_mul(h2)) % self.bits.len() as u64) as usize } fn make_hash(&self, elem: &T) -> (u64, u64) where T: Hash, { let hasher1 = &mut self.hashers[0].clone(); let hasher2 = &mut self.hashers[1].clone(); elem.hash(hasher1); elem.hash(hasher2); (hasher1.finish(), hasher2.finish()) } /// m = -1 * (n * ln ε) / (ln 2)^2 fn optimal_bits_count(capacity: usize, err_rate: f64) -> usize { let ln_2_2 = std::f64::consts::LN_2.powf(2f64); (-1f64 * capacity as f64 * err_rate.ln() / ln_2_2).ceil() as usize } /// k = -log_2 ε fn optimal_hashers_count(err_rate: f64) -> usize { (-1f64 * err_rate.log2()).ceil() as usize }\n}","breadcrumbs":"布隆過濾器 Bloom filter » 查詢","id":"269","title":"查詢"},"27":{"body":"Binary search,又稱對數搜尋(logarithmic search),是一個在已排序的序列中,快速找出特定元素的搜尋演算法。二元搜尋的步驟就像玩猜數字,先猜一個數字,告訴你你的猜測比正確答案大或小,再繼續往對的方向猜,捨棄猜錯的另一半。這樣持續進行好幾次猜測,每猜一次,搜尋範圍就縮小一半,因此稱為「二元」搜尋。 二元搜尋有以下幾個特點: 概念簡單,搜尋高效,達到對數執行時間 $O(\\log n)$。 不需額外實作資料結構或配置記憶體空間。 只能搜尋 已排序 的序列。","breadcrumbs":"二元搜尋 Binary search » 二元搜尋 Binary Search","id":"27","title":"二元搜尋 Binary Search"},"270":{"body":"Notation Description $n$ 預期儲存 $n$ 個元素到容器中 $m$ 使用 $m$ 位元的位元陣列來儲存 $k$ 有 $k$ 個雜湊函數計算索引位置 $\\epsilon$ 假陽性錯誤的機率 $\\epsilon$ 和常見的容器資料結構不太一樣,複雜度和 $n$ 元素個數脫鉤,而是和 $k$ 和 $m$ 相關: Operation Time complexity insert(v) $O(k)$ contains(v) $O(k)$ 而儲存空間複雜度則是 $O(m)$。 新增和搜尋一個元素個別需要雜湊 $k$ 次,因此時間複雜度為 $O(k)$ 顯而易見,然而,$k$ 通常相對 $m$ $n$ 是非常小的數字,例如 在 0.1% 錯誤率下儲存一百萬個元素僅需 1.71 MiB 和 7 個雜湊函數 ,實務上直接當作 $O(1)$ 也不算錯。 至於空間複雜度,由於必須事先配置好 $m$ 位元的位元陣列,就算新增的元素 $n \\gt m$,也不會再新增新位元,因此空間使用為 $O(m)$ 個位元。實務上,當 $n$ 成長到接近 $m$ 時,假陽性的機率會大增,不堪使用,進而需要能動態調整儲存空間的 Bloom filter 變形。","breadcrumbs":"布隆過濾器 Bloom filter » 效能","id":"270","title":"效能"},"271":{"body":"經典款 Bloom filter 容易實作,歷久不衰,不過仍有許多可以增進空間: Data locality 不夠好:Bloom filter 底層儲存是位元陣列 隨機存取 ,較不符合現代 CPU 架構的 cache line 使用姿勢。Cloudflare 技術部落格文 When Bloom filters don't bloom 以幽默筆法帶出這個問題,值得一讀。 雜湊次數過多:Bloom filter 每一個新增查詢操作都需要雜湊 $k$ 次,就算利用 double hashing 還是要雜湊兩次,比起其他類似資料結構硬生生多雜湊數次。 位元陣列大小固定:Bloom filter 容器大小固定,給你預期的元素個數後,無法動態調整儲存空間, bits per entry 較高:以類似功能的的資料結構來說,Bloom filter 在空間利用率上,欲維持一定的假陽性機率,每個元素所需位元數相對較高,需要 $1.44 \\log_2{\\frac{1}{\\epsilon}}$ 個位元。 這裡介紹幾款嘗試解決上述問題的 filter,您也可以去 Wikipedia 看看其他更多變形的介紹 。","breadcrumbs":"布隆過濾器 Bloom filter » 變形","id":"271","title":"變形"},"272":{"body":"📚 維基百科 經典款 Bloom filter 之所以無法刪除元素,是因為沒有記錄哪些元素新增/刪除的資訊,而 Counting Bloom filter 顧名思義,原本用一個位元儲存 0 / 1 資訊,延伸為多位元方便儲存計數(counting),有了個別元素增刪資訊,Bloom filter 因此能實作「刪除元素」。搜尋一個 Counting Bloom filter 是否擁有 n 次以上 x,答案一樣和 Bloom filter 類似是「可能有 n 次以上的 x」或是「x 絕對沒有 n 次以上」。事實上,可將 Counting Bloom filter 視為 Bloom filter 的一般化形式(generalized form),而經典款 Bloom filter 反過來可當作只記一次數的特化。 但 Counting Bloom filter 的缺點是空間需求大,端看決定要用幾個位元計數,例如常見用 4 個位元計數,則是經典款的四倍空間消耗。","breadcrumbs":"布隆過濾器 Bloom filter » 可以計數的 Counting Bloom filter","id":"272","title":"可以計數的 Counting Bloom filter"},"273":{"body":"📚 論文連結 Scalable Bloom Filter 的特色是:動態適應空間大小,不需事先知道預期儲存的元素個數。 Scalable Bloom Filter 的實作蠻暴力的,本身是由一至多個經典款 Bloom filter 組成,若一個 filter 滿了(超過 fill ratio),則會新增一個 filter,往後所有新增都在這個新 filter 上面,直到它也滿了,可視為一個 recursive data structure。 至於查詢,這就是 Scalable Bloom Filter 比較弱的地方,查詢會從第一個 filter 開始找,若找不到往下一個 filter 找,找到會沒有下一個 filter 為止。若 filter 數量為 $l$,則查詢的時間複雜度從 $O(k)$ 變成 $O(k \\cdot l)$。 除了初始化大小和假陽性機率率,Scalable Bloom Filter 提供設定成長率和假陽性錯誤緊縮率: 成長因子 $s$:每個新增的 filter 空間大小成長率,論文的經驗法則得出預期小成長趨勢選擇 $s = 2$,有較大成長趨勢則 $s = 4$ 效果好。 錯誤緊縮率 $r$: 每個新增的 filter 會以等比級數得到更緊縮的假陽性機率上限,由於是等比級數,逼近極限時會小於原始機率,這讓整體假陽性機率得以保持。論文中實證 0.8 到 0.9 在元素預期有大成長率下有最佳平均空間利用率。","breadcrumbs":"布隆過濾器 Bloom filter » 動態適應空間大小的 Scalable Bloom Filter","id":"273","title":"動態適應空間大小的 Scalable Bloom Filter"},"274":{"body":"📚 論文連結 (直接讀論文更易懂) 商數過濾器(Quotient filterF)利用 雜湊表 為底層儲存容器,來做集合成員檢測的 AMQ,為了節省空間使用量,Quotient filter 的雜湊表只儲存 partial-key,俗稱指紋(fingerprint),指紋的鍵短空間用量低,副作用是更容易碰撞,代表需要更有效處理雜湊碰撞(hash collision)。 一般來說, 處理雜湊碰撞 有 separate chaining 和 Open addressping 兩大類方法,而 Quotient filter 選擇了另一條詭譎的方法:利用 open addressing 中 linear probing 的方式,對每個 slot 儲存額外資訊,使得我們可辨認碰撞的元素是在相同指紋下的同個 bucket 內。換句話說,額外資訊就是在「透過 linear probing 模擬 separate chaining」。 回到指紋,Quotient filter 實際上並不直接儲存指紋,而是將指紋 $f$ 進一步拆成商 $f_q$ 與餘數 $f_r$,商作為索引位置,而餘數則為真實被儲存的值。透過商和餘數,可重組回推原本的指紋。不需存完整的指紋,又再次減少空間使用量,帥! 簡單總結 Quotient filter 的特性: 使用 linear probing 解決雜湊碰撞,data locality 好,有 cache friendly。 有額外儲存資訊,可在不重建不 rehash filter 的情況下支援刪除、合併、調整空間。 綜合上述兩點,非常適合 LSM-tree 等需要存取 SSD 的場景,大幅減少 I/O。 Throughput 受到雜湊表 load factor 影響較大。 空間用量仍比經典款 Bloom filter 多 10% 到 25%。 Quotient filter 與它等價的 open addressing hash map Image Source: Bender, et al., 2012. \"Don’t Thrash: How to Cache Your Hash on Flash\" .","breadcrumbs":"布隆過濾器 Bloom filter » Quotient filter","id":"274","title":"Quotient filter"},"275":{"body":"📚 論文連結 (有趣易讀,誠摯推薦) Cuckoo hashing 是一種解決雜湊碰撞的方法,透過一次計算兩個雜湊函數產生兩個索引位置,若其中一個位置有空位則插入空位,若都沒有空位,則隨機踢掉一個,被踢掉的再去找下一個替死鬼,直到全部都有位置,或踢掉次數大於一定值則停止。這種行為和杜鵑鳥(cuckoo、布穀鳥)鳩佔鵲巢的生物習性很像,因此得名。 Cuckoo filter 利用 雜湊表 為底層儲存容器,來做集合成員檢測的 AMQ,會和 cuckoo 扯上關係則是因為使用 Cuckoo hashing 解決雜湊碰撞,以增加空間使用率(達到 95% occupancy)。Cuckoo filter 的雜湊表和 Quotient filter 一樣,為了減少空間使用量而只儲存 partial-key。 儲存指紋導致鍵變短,容易碰撞,也代表萬一碰撞,沒辦法透過原始的鍵再次雜湊來找到 Cuckoo hasing 對應另一位置,不過 Cuckoo filter 巧妙利用 XOR 的 identity $x \\oplus x = 0$ 解決問題,double hashing 公式奉上: $$ h_1(x) = hash(x) \\\\ h_2(x) = h_1(x) \\oplus hash(fingerprint(x)) $$ 如此一次,透過 $h_2(x)$ 和指紋的 XOR 就可以得到 $h_1(x)$,公式進而可一般化成: $$j = i \\oplus hash(fingerprint(x))$$ 其中 $j$ 與 $i$ 為同個元素經過兩個雜湊函數中任一的值,神奇吧! Cuckoo filter 的特性是: 支援動態新增與刪除元數。 比其他 filter 變形(例如 Quotient filter)好實作,如果懂 Cuckoo hashing 的話。 查詢效能比經典款 Bloom filter 好,bits per item 也比較低($(\\log_2{\\frac{1}{\\epsilon}} + 2) / \\alpha$,$\\alpha$ 是雜湊表的 load factor,通常為 95.5%)。 缺點是「一定要先新增過一個元素,才能對 filter 刪除該元素」,但這是所有支援刪除的 filter 的通病,不然就會有假陽性發生。 Image Source: Fan, et al., 2014. \"Cuckoo Filter: Practically Better Than Bloom\" .","breadcrumbs":"布隆過濾器 Bloom filter » 支援刪除元素的 Cuckoo filter","id":"275","title":"支援刪除元素的 Cuckoo filter"},"276":{"body":"Burton H. Bloom: Space/Time Trade-offs in Hash Coding with Allowable Errors Wiki: Bloom filter Less Hashing, Same Performance:Building a Better Bloom Filter Onat: Let's implement a Bloom Filter Google Guava: BloomFilter Bloom Filter Calculator","breadcrumbs":"布隆過濾器 Bloom filter » 參考資料","id":"276","title":"參考資料"},"277":{"body":"漢明距離(Hamming distance)是指兩個相同長度的序列(sequence)在相同位置上,有多少個數值不同,對二進位序列來說就是「相異位元的數目」。漢明距離同時也是一種編輯距離,即是將一個字串轉換成另一個字串,需要經過多少次置換操作(substitute)。 漢明距離多應用於編碼理論中的錯誤更正(error-correcting),漢明碼(Hammming code)中計算距離的演算法即為漢明距離。 本次實作的程式碼置於 rust_algorithm_club::hamming_distance rust_algorithm_club::hamming_distance_str API 文件中。","breadcrumbs":"漢明距離 Hamming distance » 漢明距離 Hamming distance","id":"277","title":"漢明距離 Hamming distance"},"278":{"body":"計算相異位元的數目其實就是一堆位元運算,如下: pub fn hamming_distance(source: u64, target: u64) -> u32 { let mut count = 0; let mut xor = source ^ target; // 1 // 2 while xor != 0 { count += xor & 1; // 3 xor >>= 1; // 4 } count as u32\n} 透過 XOR 操作,讓兩序列相異位元為 1,相同位元為 0。 如果 XOR 操作不為零,表示還有相異位元,繼續計算。 將 XOR 結果和 1 做 AND 運算,看最低有效位(least significant digit)是否為 1。 將 XOR 做位元右移,捨棄最低有效位,並回到步驟二。 根據 《The Rust Reference》 指出,Rust 的位元右移在 無符號整數(unsigned)是邏輯右移(logical right shift),也就是直接在最高有效位補 0; 有符號整數(signed)則是算術右移(arithmetic right shift),右移之後符號會被保留。 實際上,Rust 提供了一個原生的計算整數有多少個零的方法 {integer_type}::count_ones ,可以省去自己做位元運算的麻煩,實作如下,帥: pub fn hamming_distance(source: u64, target: u64) -> u32 { (source ^ target).count_ones()\n}","breadcrumbs":"漢明距離 Hamming distance » 位元版實作","id":"278","title":"位元版實作"},"279":{"body":"字串版的漢明距離就相對好懂了。 pub fn hamming_distance_str(source: &str, target: &str) -> usize { let mut count = 0; // 1 let mut source = source.chars(); let mut target = target.chars(); loop { // 2 match (source.next(), target.next()) { // 3 (Some(c1), Some(c2)) if c1 != c2 => count += 1, // 4 (None, Some(_)) | (Some(_), None) => panic!(\"Must have the same length\"), // 5 (None, None) => break, // 6 _ => continue, } } count\n} 字串版同樣吃 source 和 target 兩個輸入。 用 str::chars 讓漢明距離可以比對 Unicode 字串,而非只有 ASCII,而 str::chars 是 Iterator,所以透過 Iterator::next 逐一比較每個字元。 這裡 if c1 != c2 叫做 match guard ,是在模式匹配之外,額外條件式檢查,因此,只有 source 和 target 都有下一個字元而且兩字元不相等才會進入這個匹配分支。 若有任何一個是 None,另外一個是 Some,標示輸入字串的長度不同,直接噴錯。 如果都沒有下一個字元,直接結束迴圈。 其他情況,例如兩個字元相同,就繼續疊代。","breadcrumbs":"漢明距離 Hamming distance » 字串版實作","id":"279","title":"字串版實作"},"28":{"body":"從序列中間的元素開始,比較其與目標值 若該元素為搜尋目標,則結束搜尋。 若該元素較大或小,則將序列切一半,往較小或較大的一半搜尋。 繼續從一半的序列中間的元素開始,重複步驟一到三,直到欲搜尋的序列為空。","breadcrumbs":"二元搜尋 Binary search » 步驟","id":"28","title":"步驟"},"280":{"body":"長度為 n 的序列,計算漢明距離的時間複雜度為 $O(n)$,空間複雜度為 $O(1)$。","breadcrumbs":"漢明距離 Hamming distance » 效能","id":"280","title":"效能"},"281":{"body":"Wiki: Hamming distance 錯誤更正碼簡介","breadcrumbs":"漢明距離 Hamming distance » 參考資料","id":"281","title":"參考資料"},"282":{"body":"萊文斯坦距離(Levenshtein distance)是一種量化兩字串間差異的演算法,代表從一個字串轉換為另一個字串最少需要多少次編輯操作,這種量化指標的演算法稱為 「編輯距離(Edit distance)」 ,不同的演算法允許的編輯操作不盡相同,萊文斯坦距離允許使用: 插入(insertion) 刪除(deletion) 置換(substitution) 三種編輯操作,通常一般實作上三種操作的權重會相同。 萊文斯坦距離概念易理解,實作簡單,常用在簡易拼字修正與建議,為最具代表性的編輯距離演算法。 本次實作的程式碼置於 rust_algorithm_club::levenshtein_distance rust_algorithm_club::levenshtein_distance_naive API 文件中。","breadcrumbs":"萊文斯坦距離 Levenshtein distance » 萊文斯坦距離 Levenshtein distance","id":"282","title":"萊文斯坦距離 Levenshtein distance"},"283":{"body":"","breadcrumbs":"萊文斯坦距離 Levenshtein distance » 概念","id":"283","title":"概念"},"284":{"body":"編輯距離愛拿 kitten 和 sitting 當例子,這兩個單字的編輯距離為 3,可以透過以下步驟,算出 kitten 與 sitting 轉換會經歷三個編輯操作: s itting -> k itting:置換 /k kitt i ng -> kitt e ng:置換 i/e kitten g -> kitten g :刪除最末端 g 等等,怎麼知道 3 就是最少編輯操作呢?我們可以經由下列函數計算萊文斯坦距離: $$ \\operatorname{lev} _{a,b}(i,j) = \\begin{cases} \\max(i,j) & \\text{if} \\min(i,j) = 0, \\\\ \\min{ \\begin{cases} \\operatorname{lev} _{a,b}(i-1,j) + 1, \\\\ \\operatorname{lev} _{a,b}(i,j-1) + 1, \\\\ \\operatorname{lev} _{a,b}(i-1,j-1) + 1 _{(a _{i} \\neq b _{j})} \\end{cases} } & \\text{otherwise.} \\end{cases} $$ $\\operatorname{lev}_{a,b}(i,j)$ 代表字串 $a$ 前 $i$ 個字元,與 $b$ 前 $j$ 個字元的萊文斯坦距離。($i$、$j$ 索引從 1 開始計算) 別怕,這個函數是一個分段函數(piecewise function),由兩個子函數組成,接下來將一一拆解。 首先來看第一個子函數: $$ \\max(i,j) \\hspace{10 pt} \\text{if} \\min(i,j) = 0 $$ 根據函數定義,$i$ $j$ 可以視為 $a$ $b$ 前幾個字元的子字串(substring),所以這個子函數白話翻譯是「若有子字串是空字串,則以較長的子字串長度作為編輯距離」。這其實非常直觀,如果有一空字串和另一個非空字串 abc,那編輯距離一定是插入三次或刪除三次,也就是該字串長度。這帶出萊文斯坦距離一個很重要的上界:「兩字串的編輯距離至多為較長字串的長度」。 第二個子函數稍微複雜,要再從三個函數中取最小值,但剛剛好,這三個函數分別代表了萊文斯坦距離接受的插入、刪除、置換三種操作: $\\operatorname{lev} _{a,b}(i-1,j) + 1$:從 a 轉變到 b 要刪除 1 字元。 $\\operatorname{lev} _{a,b}(i,j-1) + 1$:從 a 轉換到 b 要插入 1 字元。 $\\operatorname{lev} _{a,b}(i-1,j-1) + 1 _{(a _{i} \\neq b _{j})}$:若 a 等於 b,就不需任何操作,直接一起跳過;反之則置換一次。 這是子函數是遞迴函數,每次都會分出三個子程序計算萊文斯坦距離,空間複雜度直逼 $O(3^{m + n - 1})$,驚人! 複雜度的 3 次方會減一是因為只要 m n 其中一個歸零,該路徑就不再遞迴。","breadcrumbs":"萊文斯坦距離 Levenshtein distance » 萊文斯坦的遞迴函數","id":"284","title":"萊文斯坦的遞迴函數"},"285":{"body":"由於上述遞迴複雜度過搞,因此處理萊文斯坦距離,通常會選擇由下至上(bottom-up) 的動態規劃(Dynamic programming),利用一個距離矩陣,將兩個字串所有子字串間的萊文斯坦距離累積紀錄起來,省去重複計算的成本。 首先,先將最基礎的 a、b 其一為空字串時的編輯距離寫上去,因為其中一個為空字串,編輯距離必定是隨著另一字串增加,逐一插入字元(最左方的直行)或刪除字元(上方橫列)。 註:若插入刪除權重相等,對萊文斯坦來說這兩種操作其實一樣,只是由 a 到 b 或 b 到 a 的差異。 圖一:空字串與編輯距離 接下來我們要來算 k 與 s 子字串的編輯距離,按照公式來計算: 紅字上方是執行刪除的累積編輯距離(1),加上刪除操作的成本(1),為 1 + 1 = 2 紅字左方是執行插入的累積編輯距離(1),加上插入操作的成本(1),為 1 + 1 = 2 紅字對角是執行置換的累積編輯距離(1),加上當前 k s 字元不相等的置換成本(1),為 0 + 1 = 1 從刪除、插入、置換的成本中選一個最小值 MIN(2,2,1) 填入矩陣中,完成。 圖二:子字串 k 與 s 的編輯距離 我們再來看一組範例,k 與 si 的距離為 2: 紅字上方是執行刪除的累積編輯距離(2),加上刪除操作的成本(1),為 2 + 1 = 3 紅字左方是執行插入的累積編輯距離(1),加上插入操作的成本(1),為 1 + 1 = 2 紅字對角是執行置換的累積編輯距離(1),加上當前 k i 字元不相等的置換成本(1),為 1 + 1 = 2 從刪除、插入、置換的成本中選一個最小值 MIN(3,2,2) 填入矩陣中,完成。 圖三:子字串 k 與 si 的編輯距離 最後計算出來整個編輯距離矩陣會長得如下,取矩陣最後一行一列的元素就是累積計算出來的 kitten 與 sitting 的編輯距離。 圖三:字串 kitten 與 sitting 的完整編輯距離矩陣 這就是透過動態規劃,將會重複計算的子字串編輯距離紀錄起來,降低原始算式的時空間複雜度,非常簡單暴力的演算法。","breadcrumbs":"萊文斯坦距離 Levenshtein distance » 動態規劃的距離矩陣","id":"285","title":"動態規劃的距離矩陣"},"286":{"body":"萊文斯坦距離的函式簽名很簡單,就是吃兩個 string 回傳一個距離: pub fn levenshtein_distance(source: &str, target: &str) -> usize 首先,先實作第一個子函數 $$ \\max(i,j) \\hspace{10 pt} \\text{if} \\min(i,j) = 0 $$ 當任一字串長度為 0 時(min(i,j)),編輯距離為另一字串之長度。 pub fn levenshtein_distance(source: &str, target: &str) -> usize { if source.is_empty() { return target.len() } if target.is_empty() { return source.len() } /// ...snip\n}","breadcrumbs":"萊文斯坦距離 Levenshtein distance » 實作","id":"286","title":"實作"},"287":{"body":"接下來實作矩陣的部分,這是純天然沒有特別最佳化的版本,要做三件事: 建立一個 a+1 x b+1 的空矩陣,加一是因為要算入 a b 為空字串的狀況。 填入 a b 為空字串時第一列與第一行的編輯距離,也就是全插入和全刪除的狀況。 按照前一節的概念計算整個距離矩陣。 // ...snip let source_count = source.chars().count(); // 1 let target_count = target.chars().count(); let mut distances = vec![vec![0; target_count + 1]; source_count + 1]; // 2 // 3 for i in 1..=source_count { distances[i][0] = i; } for j in 1..=target_count { distances[0][j] = j; } 使用 str::chars 計算字串長度,Rust 的 str::len 回傳的是位元組(byte)的長度,沒有考慮人類閱讀 UTF-8 編碼字串的視覺字元長度。選用 Chars 可以處理絕大部分常見的 UTF-8 字串問題(支援 CJK)。 使用 vec! 巨集建立一個 vector of vector,也就是我們的距離矩陣。 填入第一行和第一列空字串時的狀況,也就是初始化成圖一的情形。 第二步則是撰寫計算距離矩陣編輯操作的邏輯: // ...snip for (i, ch1) in source.chars().enumerate() { for (j, ch2) in target.chars().enumerate() { let ins = distances[i + 1][j] + 1; // 1 let del = distances[i][j + 1] + 1; // 2 let sub = distances[i][j] + (ch1 != ch2) as usize; // 3 distances[i + 1][j + 1] = cmp::min(cmp::min(ins, del), sub); // 4 } } // 5 *distances.last().and_then(|d| d.last()).unwrap() 計算插入操作成本,對應萊文斯坦函數中 $\\operatorname{lev} _{a,b}(i,j-1) + 1$ 子函數。 計算刪除操作成本,對應萊文斯坦函數中 $\\operatorname{lev} _{a,b}(i-1,j) + 1$ 子函數。 計算刪除操作成本,對應萊文斯坦函數中 $\\operatorname{lev} _{a,b}(i-1,j-1) + 1 _{(a _{i} \\neq b _{j})}$,這裡用了 as 運算子,可以在原生型別(primitive type)間互相轉型。 取最小值並紀錄在當前的位置,也就是圖二圖三的綠底紅字。 算完整個距離矩陣後,最後一列最後一行元素就是 a b 兩字串的萊文斯坦距離,你可能好奇,直接呼叫 unwrap 沒有處理錯誤合理嗎?其實在「一定不可能出錯」的地方,呼叫 unwrap 完全可接受,省去不必要的空值處理。 完整程式碼如下: pub fn levenshtein_distance_naive(source: &str, target: &str) -> usize { if source.is_empty() { return target.len(); } if target.is_empty() { return source.len(); } let source_count = source.chars().count(); // 1 let target_count = target.chars().count(); let mut distances = vec![vec![0; target_count + 1]; source_count + 1]; // 2 // 3 for i in 1..=source_count { distances[i][0] = i; } for j in 1..=target_count { distances[0][j] = j; } for (i, ch1) in source.chars().enumerate() { for (j, ch2) in target.chars().enumerate() { let ins = distances[i + 1][j] + 1; // 1 let del = distances[i][j + 1] + 1; // 2 let sub = distances[i][j] + (ch1 != ch2) as usize; // 3 distances[i + 1][j + 1] = cmp::min(cmp::min(ins, del), sub); // 4 } } // 5 *distances.last().and_then(|d| d.last()).unwrap()\n}","breadcrumbs":"萊文斯坦距離 Levenshtein distance » 距離矩陣","id":"287","title":"距離矩陣"},"288":{"body":"Rust 的 Vec 並非簡單的 array,而是在堆積(heap)上配置記憶體,而每一個 Vec 都會帶一個指標和兩個值:指標指向在堆積上的資料,一個值儲存資料當前的長度,一個值儲存容量(圖解請參考 cheats.rs )。所以 Vec 會佔三個 usize 的大小,在 64 位元作業系統中就是 24 個位元組。 但實際上,我們的距離矩陣根本不需要真的矩陣,只需要兩個東西 一個一維的 Vec 一個將二維索引映射到一維空間的函數 再稍微做些小調整就行,如下: // ...snip // 1\n+ let index = |i, j| i * (target_count + 1) + j; // 2\n- let mut distances = vec![vec![0; target_count + 1]; source_count + 1];\n+ let mut distances = vec![0; (target_count + 1) * (source_count + 1)]; for i in 1..=source_count { // 3\n- distances[i][0] = i;\n+ distances[index(i, 0)] = i; } // ...change matrix indexing as above 二維索引轉換成一維索引的閉包(closure) 原本的 Vec> 變為 Vec 的一維矩陣,總元素量不變 改寫所有矩陣索引 若要更有趣的索引方式,可以實作 core::ops::Index trait,這裡就不贅述了。","breadcrumbs":"萊文斯坦距離 Levenshtein distance » 使用一維陣列減少記憶體配置","id":"288","title":"使用一維陣列減少記憶體配置"},"289":{"body":"回想一下,當我們在計算一個編輯距離時,其實只需要取得三個累積的編輯距離:插入 matrix[i, j-1]、刪除 matrix[i-1, j],以及置換 matrix[i-1, j-1]。如圖四 圖四:計算一個編輯距離所需之資料。 這就表示,根本「 無需儲存完整距離矩陣 」,只需儲存前一列的資訊 + 額外一個變數儲存置換操作的成本就行。我們需要儲存的資訊從 (a + 1) x (b + 1) 大小的矩陣,縮小至 a + 1 或 b + 1 長度的一維陣列。 圖五:僅使用一維陣列儲存前一列的資訊。黃色為儲存的陣列,藍色為額外儲存的置換的累積編輯距離 這個最佳化的程式碼,比起矩陣解法又更簡短了,以下一一說明: pub fn levenshtein_distance(source: &str, target: &str) -> usize { // 1 if source.is_empty() { return target.len(); } if target.is_empty() { return source.len(); } // 2 let mut distances = (0..=target.chars().count()).collect::>(); for (i, ch1) in source.chars().enumerate() { let mut sub = i; // 3 distances[0] = sub + 1; // 4 for (j, ch2) in target.chars().enumerate() { let dist = cmp::min( // 5 cmp::min( distances[j], // insert distances[j + 1], // delete ) + 1, sub + (ch1 != ch2) as usize, // substitute ); sub = distances[j + 1]; // 6 distances[j + 1] = dist; // 7 } } *distances.last().unwrap() // 8\n} 和前一段相同,計算空字串的距離。 不需要初始化 a x b 個元素,只需要初始化最多一列的陣列。這裡利用 0..=count 這種 core::ops::RangeInclusive 的寫法,直接產出含有 0 到字串長度的 Vec,這段等同 naive 作法中填入第一列全插入的編輯距離,但省下自己手寫一個迴圈。 將索引 i 作為初始化的刪除編輯距離,等同於 naive 作法中填入第一行全刪除的編輯距離,但尚未用到的距離就跟著索引 i 遞增,不需事先計算了。這個 sub 也等同於置換的累積編輯距離。 置換的累積編輯距離 + 1 就會等於插入的累積編輯距離。 前面步驟配置好陣列後,就可以來計算函數: 插入:索引 j 的元素就是插入的累積編輯距離(圖五紅字左方)。 刪除:索引 j + 1 的元素就是刪除的累積編輯距離(圖五紅字上方)。 置換:sub 變數儲存的就是置換的累積編輯距離(圖五藍色)。 更新 sub 置換的累積編輯距離,也就是這一輪的刪除的累積編輯距離(圖六藍色),以供內層迴圈下個 target char 疊代使用。 將計算所得的編輯距離填入陣列中(圖五紅字/圖六紅字左方),以供外層迴圈計算下一列疊代時使用。 計算完成,取最後一個元素就是兩字串的編輯距離了。 圖六:使用一維陣列疊代計算,藍色為額外儲存的置換的累積編輯距離","breadcrumbs":"萊文斯坦距離 Levenshtein distance » 拋棄矩陣:降低空間複雜度","id":"289","title":"拋棄矩陣:降低空間複雜度"},"29":{"body":"這裡有一個排好序的序列,共有 15 個元素,現在要找尋 9 是否在序列中。 *\n[2, 3, 3, 6, 6, 7, 9, 13, 15, 19, 20, 22, 23, 24, 25] 首先,先找到中間的元素 15 / 2 ~= 8,第八個元素為 13,比 9 大,因此捨棄第八個元素之後的所有元素。 *\n[2, 3, 3, 6, 6, 7, 9, _, _, _, _, _, _, _, _] 接下來繼續對半搜尋,8 / 2 = 4,找尋第四個元素來比對,6 比 9 小,,因此捨棄第四個元素前的所有元素。 *\n[_, _, _, 6, 6, 7, 9, _, _, _, _, _, _, _, _] 對剩下的元素二元搜尋,4 / 2 = 2,並從第四個元素開始計算中點 4 + 2 = 6,取得第六個元素為 7,比 9 小,捨棄 7 之前的元素。 *\n[_, _, _, _, _, 7, 9, _, _, _, _, _, _, _, _] 繼續切一半來搜尋,繼續找中間的元素 2 / 2 = 1,並從第六個元素計算索引位置 6 + 1 = 7,查看第七個元素是 9,終於找到了!","breadcrumbs":"二元搜尋 Binary search » 說明","id":"29","title":"說明"},"290":{"body":"Complexity Worst $O(mn)$ Worst space $O(\\min(m,n))$ Worst space (naive) $O(mn)$ $m$:字串 a 的長度 $n$:字串 b 的長度 顯而易見,萊文斯坦距離最差時間複雜度就是內外兩個迴圈疊代兩個字串的所有字元。而空間複雜度原本是 $m \\cdot n$ 的矩陣,在最佳化動態規劃後,只需兩字串長度 m 或 n 中最小值長度陣列作為儲存空間。","breadcrumbs":"萊文斯坦距離 Levenshtein distance » 效能","id":"290","title":"效能"},"291":{"body":"Wiki: Levenshtein distance Levenshtein distance in Cargo Levenshtein distance in Rust Std (1.0.0-alpha) Ilia Schelokov: Optimizing loop heavy Rust code Turnerj: Levenshtein Distance (Part 2: Gotta Go Fast)","breadcrumbs":"萊文斯坦距離 Levenshtein distance » 參考資料","id":"291","title":"參考資料"},"292":{"body":"感謝您有興趣貢獻 Rust 演算法俱樂部。我們歡迎各種形式的協助。這裡列出幾種任務供你挑選。 增加新的演算法 修正已知的漏洞 改善文件的品質 接下來,將介紹幾個貢獻的注意事項。","breadcrumbs":"貢獻指南 » 貢獻指南","id":"292","title":"貢獻指南"},"293":{"body":"若您決定著手做些厲害的事,請先在 已知 issues 與 pull requests 搜尋,那裡可能已有回報相似的問題。 若沒有重複的問題,請發起一個「進行中(work-in-progress)」的 issue,告知其他人你正在做這項功能。你的時間很寶貴,必須防止重工發生。維護團隊也會追蹤這些 issue 以利管理俱樂部。 有些 meta issue 專門追蹤尚未完成的工作 🚧,可以去看看是否有感興趣的主題。","breadcrumbs":"貢獻指南 » 開始貢獻之前","id":"293","title":"開始貢獻之前"},"294":{"body":"在提交你的貢獻之前,確認成果滿足下列需求: 不要搞壞既有測試。發起 pull request 前執行 cargo test。新的演算法也需包含自身的單元測試。 每個對外介面都需要有文件。這個文件不需要完美無缺,但至少清楚說明它的目的與用法。 儘量維持文章間寫作風格與結構一致。例如:首段需包含簡扼的敘述、解釋效能時請愛用漸進符號。 程式碼撰寫風格應貼近 Rust 的慣例,例如:涉及所有權轉移請使用 into、替額外建構式命名請添加 with 前綴。目前為止,並不強制使用 Clippy 與 rustfmt 。","breadcrumbs":"貢獻指南 » 提交你的成果","id":"294","title":"提交你的成果"},"295":{"body":"","breadcrumbs":"貢獻指南 » 歡迎加入 Rust 演算法俱樂部,願演算法與你同在!","id":"295","title":"歡迎加入 Rust 演算法俱樂部,願演算法與你同在!"},"296":{"body":"","breadcrumbs":"404 » Oops! Something went wrong...","id":"296","title":"Oops! Something went wrong..."},"3":{"body":"線性搜尋 Linear search 二元搜尋 Binary search 內插搜尋 Interpolation search 指數搜尋 Exponential search","breadcrumbs":"Rust Algorithm Club » 搜尋","id":"3","title":"搜尋"},"30":{"body":"Complexity Worst $O(\\log n)$ Best $O(1)$ Average $O(\\log n)$ Worst space $O(1)$ 二元搜尋可以透過分治法(Divide and conquer)遞迴求解,而遞迴的終止條件是序列不能在切兩半。由此可知,二元搜尋的複雜度奠基在要切幾次,子序列長度才會等於 1。設 $n$ 為資料數目,$k$ 為要切幾次才會達成終止條件,可得: $$ \\frac{n}{2^k} = 1 $$ 接下來同乘 $2^k$ 並取對數。 $$ \\frac{n}{2^k} = 1 \\\\ \\Rightarrow 2^k = n \\\\ $$ 再將左式整理一下,得到 $k$。 $$ \\log_2 2^k = log_2 n \\\\ \\Rightarrow k \\cdot \\log_2 2 = log_2 n \\\\ \\Rightarrow k = log_2 n $$ 於是,我們得到二元搜尋時間複雜度為 $O(k) = O(\\log_2 n) = O(\\log n)$。 寫這種式子也許不好理解,我們可以把搜尋過程和每個分支寫成樹狀圖,方便觀察。假設一個數列有七個元素 [1, 2, 3, 4, 5, 6, 7],其二元搜尋所有可能路徑的樹狀圖如下: +---+ | 4 | +---+ / \\ +---+ +---+ | 2 | | 6 | +---+ +---+ / \\ / \\\n+---+ +---+ +---+ +---+\n| 1 | | 3 | | 5 | | 7 |\n+---+ +---+ +---+ +---+ 樹中每一條路徑都代表任意搜尋會經過的步驟,總共有 7 種不同的搜尋路徑,最短路徑僅需要 $\\lfloor{\\log_2 n} = 3 \\rfloor$ 個操作,也就是需要執行「樹高」次的操作。","breadcrumbs":"二元搜尋 Binary search » 效能","id":"30","title":"效能"},"31":{"body":"","breadcrumbs":"二元搜尋 Binary search » 實作","id":"31","title":"實作"},"32":{"body":"二元搜尋概念看似簡單,實際上誤區一堆,不易寫出完全正確的演算法。我們參考 Rust slice binary_search 的實作。先來看看函式宣告的簽名(function signature)。 pub fn binary_search(arr: &[T], target: &T) -> Result where T: PartialOrd 二元搜尋函式宣告中,回傳值大概是最特別的部分。如果有找到目標元素,Result 會是 Ok(目標索引位置),如果沒有找到則回傳 Err(目標值若插入後,不會影響序列排序的位置)。Err 回傳值提供了插入點,非常方便。 再來,T 泛型參數需是 PartialOrd ,這是由於二元搜尋使用排序過後的元素,比起線性搜尋,仍需元素之間相互比較。","breadcrumbs":"二元搜尋 Binary search » 函式宣告","id":"32","title":"函式宣告"},"33":{"body":"市面上常見的實作通常以兩個變數 l 與 r 記錄搜尋範圍的上下界,而我們另闢蹊徑,記錄了 base:搜尋範圍的下界, size:搜尋範圍的長度。 以下是完整實作: pub fn binary_search(arr: &[T], target: &T) -> Result where T: PartialOrd\n{ let mut size = arr.len(); // 1 if size == 0 { return Err(0); } let mut base = 0_usize; while size > 1 { // 2 // mid: [base..size) let half = size / 2; // 2.1 let mid = base + half; if arr[mid] <= *target { // 2.2 base = mid } size -= half; // 2.3 } if arr[base] == *target { // 3 Ok(base) } else { Err(base + (arr[base] < *target) as usize) }\n} 第一部分先取得搜尋範圍 size 以及確定下界為 0_usize。這裡同時檢查若序列長度為零,直接回傳 Err(0),告知呼叫端可直接在 index 0 新增元素。 第二部分就是精髓了,將終止條件設在 size <= 1,以確保迴圈能夠正常結束。 先將搜尋範圍對半切,再與下界 base 相加,算出中點。 另中間元素與目標值比較,如果比較小,則移動下界至中點。 將 size 減半,縮小搜尋範圍。 到了第三部分,base 已經是切到長度為一的序列了,若匹配目標值就直接回傳;若否,需要傳可供目標值插入的位置,將 bool 判斷是轉型成 usize,若 arr[base] 比目標值小,則目標值要加到其後 +1 位置,反之則加在其前 -1 位置。","breadcrumbs":"二元搜尋 Binary search » 函式主體","id":"33","title":"函式主體"},"34":{"body":"只適用已排序序列: 這是使用二元搜尋的前提,千萬不能忽略這重要特性,否則後果絕對大錯特錯。 處理重複元素:一般的實作通常是回傳任意符合目標值的索引位置,就算有重複的元素,仍然不可預期。若要回傳特定位置(leftmost 或 rightmost),則需特別處理。 整數溢位:部分二元搜尋實作會 以兩個變數儲存搜尋範圍上下界的索引位置,而取中點時千萬不可直接將上下界相加再除二,否則很可能整數溢位(integer overflow)。 let mid = (end + start) / 2 // Wrong: integer overflow\nlet mid = start + (end - start) / 2 // Correct 終止條件錯誤:無論如何實作,請將終止條件設為「搜尋範圍為空」,也就是下界大於上界,而不要只比較上下界是否相等。其實搜尋範圍低於一定長度,即可使用線性搜尋替代,避免處理邊界值的麻煩,實務上也幾乎沒有太多效能損失。","breadcrumbs":"二元搜尋 Binary search » 常見誤區與解法","id":"34","title":"常見誤區與解法"},"35":{"body":"","breadcrumbs":"二元搜尋 Binary search » 變形與衍生","id":"35","title":"變形與衍生"},"36":{"body":"Interpolation search 改良自二元搜尋,差別在於,二元搜尋選擇中間的元素作為二分點,而 interpolation search 人如其名,以內插法找尋二分點。在資料平均分佈時,比二元搜尋更高效。欲知後續,待下回 內插搜尋 Interpolation search 分曉。","breadcrumbs":"二元搜尋 Binary search » Interpolation Search","id":"36","title":"Interpolation Search"},"37":{"body":"Exponential search 是一種特殊的二元搜尋,主要用在搜尋無限、無邊界的已排序序列,由於邊界未知長度就未知,無法以傳統二元搜尋找尋中點。Exponential 顧名思義就是不斷比較在 $2^0$,$2^1$ 直到 $2^n$ 的位置上資料是否比目標值大,若較大,再從該位置執行二元搜尋回頭找。詳情請看 指數搜尋 Exponential search 。","breadcrumbs":"二元搜尋 Binary search » Exponential Search","id":"37","title":"Exponential Search"},"38":{"body":"Insertion sort 有一個步驟是在前面已經排完序的資料中,找到適合的地方插入待排序的元素,這部分可透過二元搜尋加快在已排序資料搜尋的速度。詳情請參考 Binary insertion sort 。","breadcrumbs":"二元搜尋 Binary search » Binary Insertion Sort","id":"38","title":"Binary Insertion Sort"},"39":{"body":"Wiki: Binary search algorithm 知乎:二分查找有几种写法?它们的区别是什么?","breadcrumbs":"二元搜尋 Binary search » 參考資料","id":"39","title":"參考資料"},"4":{"body":"簡單排序: 插入排序 Insertion sort 選擇排序 Selection sort 氣泡排序 Bubble sort 希爾排序 Shellsort 高效排序: 堆積排序 Heapsort 快速排序 Quicksort 合併排序 Mergesort 混合排序(更高效): 🚧 內省排序 Introsort 🚧 自適應的合併排序 Timsort 🚧 模式消除快速排序 Pdqsort 特殊排序: 計數排序 Counting sort 桶排序 Bucket sort 基數排序 Radix sort","breadcrumbs":"Rust Algorithm Club » 排序","id":"4","title":"排序"},"40":{"body":"內插搜尋 Interpolation search 為 二元搜尋 的變種,差別在於二分點的選擇方法,二元搜尋選擇中間的元素作為二分點,而內插搜尋則名副其實,以內插法找尋二分點。內插法有許多種類,本次搜尋演算法選擇使用常見的 線性內插(linear interpolation) 實作。 內插搜尋的特色如下: 資料需要是可計算 內插(interpolation) 的數值資料。 對資料分佈敏感,資料均勻分佈時,效能勝過二元搜尋。 資料分佈不均勻時,最差複雜度高達 $O(n)$。","breadcrumbs":"內插搜尋 Interpolation search » 內插搜尋 Interpolation Search","id":"40","title":"內插搜尋 Interpolation Search"},"41":{"body":"確認資料已經排好序。 利用第一個元素 a 與最後的元素 b,以及搜尋上下界 hi 與 lo 位置,作為兩個端點。 利用上述兩點 (lo, a) 與 (hi, b),對搜尋目標計算內插,得到可能的位置。 若該位置上元素較小,則令其為新搜尋下界 a',重複步驟二到三,繼續求內插。 若該位置上元素較大,則令其為新搜尋上界 b',重複步驟二到三,繼續求內插。 若相等,則完成搜尋。 搜尋停止在 a'、b' 兩元素搜尋位置重疊,以及目標值比下界 a' 小或比上界 b' 大。","breadcrumbs":"內插搜尋 Interpolation search » 步驟","id":"41","title":"步驟"},"42":{"body":"迅速說明線性內插法。線性內插法是中學必修的數學概念,給定兩點 $(x_0,y_0)$ 與 $(x_1,y_1)$,欲求在 $[x_0,x_1]$ 區間內直線上 $x'$ 點的 y 值,可以透過斜率公式求解: $$ \\frac{y - y_0}{x' - x_0} = \\frac{y_1 - y_0}{x_1 - x_0 } $$ 接下來就是小學解方程式的事兒了。 Cmglee - CC BY-SA 3.0 回到正題,以下用文字解釋內插搜尋。 這裡有一個已排序有 14 個元素的序列,我們需要從中找出 27 。 [1, 9, 10, 15, 17, 17, 18, 23, 27, 28, 29, 30, 31, 34] 我們將序列索引當作 x 軸,元素值作為 y 軸。可得已知兩點為 $(0, 1)$ 及 $(13, 34)$。 首先,透過斜率公式,計算出在 $y = 27$ 時,$x'$,也就是 27 在序列中可能的位置為 $$x' = \\lfloor 27 / (34 - 1) \\cdot (13 - 0) \\rfloor = 10$$ 查看 arr[10] 為 29,比搜尋目標 27 來得大。將 29 當作我們新的上界,搜尋範變成第 [0, 9] 個元素(29 不需列入搜尋),繼續計算內插 $$x' = \\lfloor 27 / (28 - 1) \\cdot (9 - 0) \\rfloor = 9$$ 查看 arr[9] 為 28,比搜尋目標 27 來得大。將 28 當作我們新的上界,搜尋範變成第 [0, 8] 個元素(28 不需列入搜尋),繼續計算內插 $$x' = \\lfloor 27 / (27 - 1) \\cdot (8 - 0) \\rfloor = 8$$ 查看 arr[8] 為 27,恰恰是搜尋目標 27,搜尋到此結束。","breadcrumbs":"內插搜尋 Interpolation search » 說明","id":"42","title":"說明"},"43":{"body":"Complexity Worst $O(n)$ Best $O(1)$ Average $O(n)$ Average $O(\\log \\log n)$ on uniform distributed data Worst space $O(1)$ $n$:資料筆數 線性內差搜尋的最差時間複雜度為 $O(n)$,也就是每次內差的結果都落在邊界旁,搜尋範圍只縮小一個元素。這種情況容易發生在資料依排序呈指數或對數等非線性函數。例如 $y = 2^x$。 線性內插搜尋對資料的期望是均勻機率分佈(uniform probability distribution)。想求平均時間複雜度 $O(\\log \\log n)$ ,須先透過機率密度函數,計算條件機率,一步步縮小範圍,求得平均誤差,最後求得期望值。這部分計算較為複雜,有興趣的朋友可以參考閱讀資料「 Perl, Y., Itai, A., & Avni, H. (1978). Interpolation search—a log log N search. 」。 PDF of uniform distribution by IkamusumeFan - CC BY-SA 3.0","breadcrumbs":"內插搜尋 Interpolation search » 效能","id":"43","title":"效能"},"44":{"body":"內插搜尋的實作共分為幾部分: 處理空序列狀況。 建立迴圈疊代共用的變數。 計算線性插值的主要迴圈。 將內插值映射到結果的 Result。 首先是函式宣告。 pub fn interpolation_search( arr: &[i32], target: &i32,\n) -> Result 映入眼簾的是 i32,而非泛型參數,為什麼呢?是因為內插搜尋為了計算線性內插,資料僅限定在「數值資料」,而 Rust 並沒有特別一類 Numeric 的型別,自己透過 trait 實作又異常繁瑣,因此先以 i32 代替。而回傳值的部分,與指數搜尋/二元搜尋一模一樣,回傳的 Result 若為 Ok,其值代表目標值在序列內的索引位置; 若為 Err,則是可以將目標值插入序列內又不會破壞排序的位置。 延續數值型別的話題,Rust 社群提供 num crate,定義了各種數值型別與 trait,大整數、複數、虛數、有理數都囊括其中,非常有趣。 再來就是第一第二部分,處理空序列與建立共用變數,非常直觀。 if arr.is_empty() { return Err(0) } let mut hi = arr.len() - 1; let mut lo = 0_usize; let mut interpolant = 0_usize; hi、lo 兩個變數劃定的搜尋範圍上下界。 interpolant 儲存線性插值,代表每次疊代的搜尋位置。 接下來就是主要的迴圈,負責疊代計算內插值。分為三個部分,直接看程式碼先。 loop { let lo_val = arr[lo]; let hi_val = arr[hi]; // 1. if hi <= lo || *target < lo_val || *target > hi_val { break } // 2. The linear interpolation part let offset = (*target - lo_val) * (hi - lo) as i32 / (hi_val - lo_val); interpolant = lo + offset as usize; let mid_val = arr[interpolant]; // 3. if mid_val > *target { hi = interpolant - 1; } else if mid_val < *target { lo = interpolant + 1; } else { break } } 迴圈的三個終止條件,分別為: hi、lo 兩個變數劃定的搜尋範圍重疊,長度為零。 搜尋目標值比上界還大。 搜尋目標值比下界還小。 線性內插的計算方程式,要注意我們是寫 Rust 不是 JavaScript,i32 與 usize 不能混用,要手動轉型。 比較插值與目標值。相等則跳出迴圈;若目標大於小於插值,則縮小搜尋範圍。注意,範圍需手動加減一,排除上下界,以免無限迴圈產生。 最後一部分則是決定線性插值所得的索引位置是否為目標值,並將該值映射到 Result 上。 if *target > arr[hi] { Err(hi + 1) } else if *target < arr[lo] { Err(lo) } else { Ok(interpolant) } 完整的程式碼如下。 pub fn interpolation_search( arr: &[i32], target: &i32,\n) -> Result { // 1. Handle empty sequence. if arr.is_empty() { return Err(0) } // 2. Setup variable storing iteration informaion. let mut hi = arr.len() - 1; let mut lo = 0_usize; let mut interpolant = 0_usize; // 3. Main loop to calculate the interpolant. loop { let lo_val = arr[lo]; let hi_val = arr[hi]; // 3.1. Three condition to exit the loop if hi <= lo || *target < lo_val || *target > hi_val { break } // 3.2. The linear interpolation part let offset = (*target - lo_val) * (hi - lo) as i32 / (hi_val - lo_val); interpolant = lo + offset as usize; let mid_val = arr[interpolant]; // 3.3. Comparison between the interpolant and targert value. if mid_val > *target { hi = interpolant - 1; } else if mid_val < *target { lo = interpolant + 1; } else { break } } // 4. Determine whether the returning interpolant are equal to target value. if *target > arr[hi] { Err(hi + 1) } else if *target < arr[lo] { Err(lo) } else { Ok(interpolant) }\n} 如同 二元搜尋 與 指數搜尋 ,未特別處理重複元素的內插搜尋,並無法預期會選擇哪一個元素。","breadcrumbs":"內插搜尋 Interpolation search » 實作","id":"44","title":"實作"},"45":{"body":"","breadcrumbs":"內插搜尋 Interpolation search » 變形與衍生","id":"45","title":"變形與衍生"},"46":{"body":"Interpolation search tree(IST),姑且稱它「內插搜尋樹」,是一個將內插搜尋結合樹的資料結構。如上述提及,內插搜尋達到 $O(\\log \\log n)$ 的搜尋時間,但僅適用於均勻機率分佈的資料。而 IST 利用動態內插搜尋,讓 1)內插搜尋樹的搜尋可以使用在更多元的 規律機率分佈 的資料中,且 2)可以達到以下的執行效能: $O(n)$ 空間複雜度。 預期有 $O(\\log \\log n)$ 的平攤增減節點操作時間,最差有 $(O \\log n)$。 在規律分佈的資料中,預期搜尋時間為 $O(\\log \\log n)$,最差時間複雜度則為 $O((\\log n)^2)$ 線性時間的循序存取,而取得前後節點或最小值都是常數時間。 更多詳細證明可以閱讀參考資料「 Andersson, A. (1996, October). Faster deterministic sorting and searching in linear space 」。","breadcrumbs":"內插搜尋 Interpolation search » Interpolation Search Tree","id":"46","title":"Interpolation Search Tree"},"47":{"body":"Wiki: Interpolation search Perl, Y., Itai, A., & Avni, H. (1978). Interpolation search—a log log N search. Communications of the ACM, 21(7), 550-553. Andersson, A. (1996, October). Faster deterministic sorting and searching in linear space. In Foundations of Computer Science, 1996. Proceedings., 37th Annual Symposium on (pp. 135-141). IEEE. Linear interpolation visualisation SVG By Cmglee CC BY-SA 3.0 , via Wikimedia Commons. Probability density function of uniform distribution SVG By IkamusumeFan CC BY-SA 3.0 , via Wikimedia Commons.","breadcrumbs":"內插搜尋 Interpolation search » 參考資料","id":"47","title":"參考資料"},"48":{"body":"指數搜尋,又稱為 galloping search,是一種特殊的 二元搜尋 ,主要用在搜尋無限、無邊界的已排序序列。由於邊界未知長度就未知,無法以傳統二元搜尋來找中點。而 Exponential 顧名思義就是從底數為 2,指數為 0 的索引($2^0$ )開始,不斷比較在 $2^1$、$2^2$ 直到 $2^k$ 位置上的值,若比目標值大,則停止指數成長,直接從該位置執行二元搜尋,回頭尋找目標值。 指數搜尋的特點如下: 可以搜尋邊界未知的已排序序列。 縮小搜尋範圍,可比 naïve 的二元搜尋效率高些。 若目標值實際位置很靠近序列前端,效率會非常棒。","breadcrumbs":"指數搜尋 Exponential search » 指數搜尋 Exponential Search","id":"48","title":"指數搜尋 Exponential Search"},"49":{"body":"指數搜尋的步驟只有非常簡單的兩步驟: 依照目標值大小,劃出搜尋範圍。 在上述範圍內執行二元搜尋。 而劃出搜尋範圍這部分也很直觀: 選定一個底數 $k$,通常為 2。 比較 $k^i$ 索引下的值是否比目標值大,$i$ 從零開始。 若較小,指數加一 $k^{i + 1}$ 後繼續重複步驟二比較。 若較大,停止比較,得搜尋範圍為 $k^{i - 1}$ 到 $k^i$。","breadcrumbs":"指數搜尋 Exponential search » 步驟","id":"49","title":"步驟"},"5":{"body":"","breadcrumbs":"Rust Algorithm Club » 資料結構","id":"5","title":"資料結構"},"50":{"body":"這裡有個排好序的序列,我們要尋找其中是否有 22 這個數字。 *\n[2, 3, 3, 6, 6, 7, 9, 13, 15, 19, 20, 22, 23, 24, 25] 首先,先尋找 $2^0 = 1$ 位置上的數字是否超過 22。3 < 22,很明顯沒有。 * * *\n[2, 3, 3, 6, 6, 7, 9, 13, 15, 19, 20, 22, 23, 24, 25] 再來,連續看看 $2^1$:3 < 22 $2^2$:6 < 22 $2^3$:15 < 22 也都沒有超越 22。 *\n[2, 3, 3, 6, 6, 7, 9, 13, 15, 19, 20, 22, 23, 24, 25] _, _ 最後,一口氣將指數加到 4,看看$2^4$ 上的數字是否大於 22。哎呀,$2^4 = 16$,的位置已經超出序列長度,因此取至序列最後一個數字作為比較對象。25 > 22,找到了! 得到搜尋的範圍是 $$2^{4-1} < x < \\text{array.length} < 2^{4}$$","breadcrumbs":"指數搜尋 Exponential search » 說明","id":"50","title":"說明"},"51":{"body":"Complexity Worst $O(\\log i)$ Best $O(1)$ Average $O(\\log i)$ Worst space $O(1)$ $i$:目標值在序列中實際的索引位置。 指數搜尋的複雜度分為兩部分分析:","breadcrumbs":"指數搜尋 Exponential search » 效能","id":"51","title":"效能"},"52":{"body":"設 $i$ 為目標值在序列中實際的索引位置,則搜尋上界,指數增加的操作需執行 $\\lceil \\log(i) \\rceil$ 次,例如匹配目標值的搜尋結果位於序列第 9 個,則指數需增加 $\\lceil \\log(9) \\rceil = 4$ 次,上界才會超過目標值。我們設這部分的複雜度為 $O(log i)$。","breadcrumbs":"指數搜尋 Exponential search » 劃定搜尋範圍","id":"52","title":"劃定搜尋範圍"},"53":{"body":"第二部分就是二元搜尋,複雜度為 $O(log n)$,$n$ 為搜尋範圍的長度。根據第一部分,可以得知範圍長度為 $2^{\\log i} - 2^{\\log{i - 1}} = 2^{log{i - 1}}$ 個元素,帶入二元搜尋的複雜度,計算出第二部分的複雜度為 $log (2^{\\log{i - 1}}) = \\log{(i)} - 1 = O(\\log i)$。 最後,將兩部分的複雜度合起來,就是指數搜尋的時間複雜度了。 $$O(\\log i) + O(\\log i) = 2 O(\\log i) = O(\\log i)$$","breadcrumbs":"指數搜尋 Exponential search » 執行二元搜尋","id":"53","title":"執行二元搜尋"},"54":{"body":"本次實作有邊界的指數搜尋,主要分為三個部分: 處理空序列的狀況。 利用指數,決定搜尋範圍。 執行二元搜尋,並將輸出結果映射回原始序列。 話不多說,直接看程式碼。 use crate::searching::binary_search; pub fn exponential_search(arr: &[T], target: &T) -> Result where T: PartialOrd\n{ // 1. Handle empty scenario. let size = arr.len(); if size == 0 { return Err(0); } // 2. Determine searching boundaries. let mut hi = 1_usize; // Upper bound. while hi < size && arr[hi] < *target { hi <<= 1; } let lo = hi >> 1; // Lower bound. // 3. Do binary search. binary_search(&arr[lo..size.min(hi + 1)], target) .map(|index| lo + index) .map_err(|index| lo + index)\n} 和二元搜尋同,遇到空序列就返回 Err(0) 告知呼叫端可新增資料在位置 0。 決定搜尋上下界,只要 上界不超過序列長度,且 arr[hi] 小於目標值,就讓上界指數成長。這裡用位元左移運算子(bitwise left shift)實作乘以 2。 找到上界後,再將上界除以 2(位元右移),就是下界了。 確定範圍後,利用上下界切序列的 sub slice 作為引數,傳遞給二元搜尋。要注意的是,為了避免 sub slice 超出邊界,上界需在 size 與 hi + 1 之間找最小值。 由於回傳結果的位置是以 sub slice 起始,需加上位移量(下界 lo)才會對應原始 slice 的位置。 由於內部使用 二元搜尋 ,若該二元搜尋沒有處理重複元素的狀況,指數搜尋連帶無法預期這個行為。","breadcrumbs":"指數搜尋 Exponential search » 實作","id":"54","title":"實作"},"55":{"body":"Wiki: Exponential search","breadcrumbs":"指數搜尋 Exponential search » 參考資料","id":"55","title":"參考資料"},"56":{"body":"Insertion sort 是最簡單的排序法之一,比起 quicksort 等高效的排序法,對大資料的處理效能較不理想。其演算法是將欲排序元素直接插入正確位置,因而得名。 Insertion sort 基本特性如下: 實作簡單易理解。 資料量少時較高效,且比其他 $O(n^2) $ 的排序法高效(selection sort/bubble sort)。 自適應排序 :可根據當前資料排序情形加速排序,資料越接近排序完成,效率越高。 穩定排序 :相同鍵值的元素,排序後相對位置不改變。 原地排序 :不需額外花費儲存空間來排序。 即時演算法 :可處理逐步輸入的資料,不需等資料完全備妥。","breadcrumbs":"插入排序 Insertion sort » 插入排序 Insertion Sort","id":"56","title":"插入排序 Insertion Sort"},"57":{"body":"將序列分為未排序與部分排序兩個區域。 取第一個元素 ,將該元素視為已排序。 取出下一元素 ,該元素將插入序列的部分排序區域。 尋找正確位置 :若部分排序元素比新元素大,則互換位置。並重複步驟 2 - 3,直到部分排序元素小於等於新元素。 插入元素 :將新元素 插入 最後的位置。 重複步驟 2 - 4,直到排序完成。 簡而言之,即是每次取一個元素,尋找並插入該元素在部分排序區域的排序位置,再逐步把序列單邊排序完成。 Insertion sort 非常簡單,看動畫就能明瞭。","breadcrumbs":"插入排序 Insertion sort » 步驟","id":"57","title":"步驟"},"58":{"body":"Complexity Worst $O(n^2) $ Best $O(n) $ Average $O(n^2) $ Worst space $O(1) $ auxiliary 最佳時間複雜度發生在資料已完成排序的狀況下,insertion sort 只需執行最外層的迴圈 $n $ 次。 最差時間複雜度發生在資料完全相反時,insertion sort 每取得一個新元素是,都需將資料插入序列最前面,,因此所需的操作如下( $c $ 為任意常數): $$ c \\cdot 1 + c \\cdot 2 + c \\cdot 3 \\cdots + c \\cdot (n - 1) = \\frac{c(n - 1 + 1)(n - 1)}{2}$$ 最後等於 $$\\frac{cn^2}{2} - \\frac{cn}{2}$$ 捨去低次項,得到時間複雜度為 $O(n^2) $。","breadcrumbs":"插入排序 Insertion sort » 效能","id":"58","title":"效能"},"59":{"body":"簡單實作的程式碼如下: pub fn insertion_sort(arr: &mut [i32]) { for i in 1..arr.len() { // 1 let mut j = i; while j > 0 && arr[j - 1] > arr[j] { // 2 arr.swap(j - 1, j); j -= 1; } }\n} 外層迴圈疊代整個序列。並取出 index i,arr[i] 是待排序的元素,index 比 i 小的元素則組成已排序的部分序列。 內層迴圈負責元素比較,決定待排序元素該從何處插入,若前一個元素比待排元素大,則置換兩元素,並繼續往下尋找正確的插入點。直到 j == 0 或待排元素比任何已排序元素都大為止。","breadcrumbs":"插入排序 Insertion sort » 實作","id":"59","title":"實作"},"6":{"body":"堆疊 Stack 佇列 Queue 雙端佇列 Deque","breadcrumbs":"Rust Algorithm Club » 堆疊與佇列","id":"6","title":"堆疊與佇列"},"60":{"body":"","breadcrumbs":"插入排序 Insertion sort » 變形","id":"60","title":"變形"},"61":{"body":"在一般演算法討論中,通常以簡單的型別如 i32 來探討並實作。在真實世界中,做哪種操作,用哪種語言,都會影響到實際效能。例如 Python 的比較操作相對於置換元素,成本高出不少,是因為每個物件在 Python 的比較需動態檢查是否實作 __lt__ __gt__ 等方法才能進行比較。所以 Python 排序法實作就要特別注意減少比較操作的次數。 Binary insertion sort 的目的就是減少內層迴圈的比較次數。在內層迴圈開始之前,使用 binary search 搜尋新元素應要插入哪個位置,最多僅需 $\\log_2n $ 次比較。但 binary insertion sort 的複雜度依舊是 $O(n^2) $,因為除了比較之外,仍需置換(swap)、賦值(assign)等基礎操作。 Binary insertion sort 的程式碼和一般的 insertion sort 差不了多少,我們這裡使用 slice 內建的 binary_search 來找尋插入點。 pub fn binary_insertion_sort(arr: &mut [i32]) { for i in 1..arr.len() { let val = arr[i]; let mut j = i; let pos = match arr[..i].binary_search(&val) { // 1 Ok(pos) => pos, // 2 Err(pos) => pos, }; while j > pos { // 3 arr.swap(j - 1, j); j -= 1; } }\n} 先限制 binary_search 範圍,取出 sorted pile arr[..i]。再對 slice 執行 binary_search。 binary_search 回傳一個 Result 型別,找到時回傳 Ok(index 值),找無時回傳 Err(不影響排序穩定度的插入點),這個 Err 的設計巧妙解決新值插入的問題。 和普通 insertion sort 雷同,從插入點至 sorted pile 疊代到末端以進行排序,省下不少比較操作。","breadcrumbs":"插入排序 Insertion sort » Binary Insertion Sort","id":"61","title":"Binary Insertion Sort"},"62":{"body":"Wiki: Insertion sort CPython: listsort note Sorting GIF by Swfung8 (Own work) CC BY-SA 3.0 via Wikimedia Commons.","breadcrumbs":"插入排序 Insertion sort » 參考資料","id":"62","title":"參考資料"},"63":{"body":"Selection sort 是最易實作的入門排序法之一,會將資料分為 sorted pile 與 unsorted pile,每次從 unsorted pile 尋找最大/最小值,加入 sorted pile 中。 Selection sort 的特性如下: 最簡單的排序法之一。 對小資料序列排序效率較高。 不穩定排序 :排序後,相同鍵值的元素相對位置可能改變。 原地排序 :不需額外花費儲存空間來排序。","breadcrumbs":"選擇排序 Selection sort » 選擇排序 Selection sort","id":"63","title":"選擇排序 Selection sort"},"64":{"body":"將資料分為 sorted pile 與 unsorted pile。 從 unsorted pile 尋找最小值。 置換該最小值元素與 unsorted pile 第一個元素。 重複步驟 2 - 3,直到排序完成。 注意,這個 naïve 的 selection sort 實作為 不穩定排序 。 Joestape89 - CC BY-SA 3.0","breadcrumbs":"選擇排序 Selection sort » 步驟","id":"64","title":"步驟"},"65":{"body":"為什麼 naïve 的 selection sort 會是不穩定排序? 假定有一個序列要遞增排序,其中有重複的 2 元素,我們將其標上 2a、2b 以利辨識。 [2a, 3, 4, 2b, 1] 開始疊代找出最小值並指環。 * *\n[1, 3, 4, 2b, 2a] # 1. 置換 2a, 1 * *\n[1, 2b, 4, 3, 2a] # 2. 置換 3, 2b * *\n[1, 2b, 2a, 3, 4] # 3. 置換 4, 2a 有沒有發現,2a 與 2b 的相對順序顛倒了呢? 首先,回想一下穩定排序的定義: 相同鍵值的元素,排序後相對位置不改變。 問題出在 naïve selection sort 是以置換的方式排序每次疊代的最小值。若我們將置換(swap)改為插入(insert),那麼 selection sort 就會是穩定排序,但相對地,需要位移剩餘未排序的元素,除非使用 linked list 或其他提供 $O(1) $ insertion 的資料結構,不然就會多出額外 $O(n^2) $ 的寫入成本。","breadcrumbs":"選擇排序 Selection sort » 說明","id":"65","title":"說明"},"66":{"body":"Complexity Worst $O(n^2) $ Best $O(n^2) $ Average $O(n^2) $ Worst space $O(1) $ auxiliary 對於接近排序完成的序列,selector sort 並無法有自適應的方式加快排序疊代。第一個元素要做 $n - 1 $ 次比較,第二個 $n - 2 $ 次,總比較次數如下: $$ (n -1) + (n-2) + \\cdots + 1 = \\sum_{i=1}^{n-1} i = \\frac{n(n - 1)}{2}$$ 因此無論序列是否排序完成,selection sort 仍需執行 $n^2 $ 次比較,時間複雜度為 $O(n^2) $。","breadcrumbs":"選擇排序 Selection sort » 效能","id":"66","title":"效能"},"67":{"body":"簡單實作如下: pub fn selection_sort(arr: &mut [i32]) { let len = arr.len(); for i in 0..len { // 1 let mut temp = i; for j in (i + 1)..len { // 2 if arr[temp] > arr[j] { temp = j; } } arr.swap(i, temp); // 3 }\n} 外層迴圈負責儲存當前要排序的 index i 的位置。 內層迴圈負責在 unsorted pile 範圍 [i, len) 找最小值。 外層迴圈在找到最小值之後,置換兩元素。 眼尖的人會發現,內外兩層迴圈的 upper bound 都是 len,這樣是否內側迴圈會 out of bound?Rust 的 range operator(core::ops::Range)實作 Iterator trait 時,有檢查 range.start < range.end,因此這個寫法並不會有出界問題,但會多跑一次無意義的疊代。","breadcrumbs":"選擇排序 Selection sort » 實作","id":"67","title":"實作"},"68":{"body":"","breadcrumbs":"選擇排序 Selection sort » 變形","id":"68","title":"變形"},"69":{"body":"Heapsort 是一個高效的排序法,使用 selection sort 融合 heap 這種半排序的資料結構,讓時間複雜度進化至 $O(n \\log n) $。更多詳情可以參考 這篇介紹 。","breadcrumbs":"選擇排序 Selection sort » Heapsort","id":"69","title":"Heapsort"},"7":{"body":"鏈結串列概述 單向鏈結串列 Singly linked list 🚧 雙向鏈結串列 Doubly linked list 🚧 循環鏈結串列 Circular linked list","breadcrumbs":"Rust Algorithm Club » 鏈結串列","id":"7","title":"鏈結串列"},"70":{"body":"Wiki: Selection sort Why Selection sort can be stable or unstable Sorting GIF by Joestape89 CC BY-SA-3.0 via Wikimedia Commons.","breadcrumbs":"選擇排序 Selection sort » 參考資料","id":"70","title":"參考資料"},"71":{"body":"Bubble sort 是最簡單的排序法之一,由於排序時每個元素會如同泡泡般,一個一個浮出序列頂部,因而得名。由於其簡單好理解,名稱又有趣,常作為第一個學習的入門排序法。不過其效率不彰,甚至不如同為 quardratic time 的 insertion sort。Bubble sort 的原理很平凡,就是相鄰兩兩元素互相比較,如果大小順序錯了,就置換位置。再往下一個 pair 比較。 Bubble sort 的特性如下: 又稱為 sinking sort 。 穩定排序 :相同鍵值的元素,排序後相對位置不改變。 原地排序 :不需額外花費儲存空間來排序。","breadcrumbs":"氣泡排序 Bubble sort » 氣泡排序 Bubble sort","id":"71","title":"氣泡排序 Bubble sort"},"72":{"body":"比較兩個相鄰元素,若首個元素比次個元素大,置換兩者的位置。 依序對相鄰元素執行步驟一,直到抵達序列頂端,此時頂端元素排序完成。 重複步驟 1 - 2 的整個序列疊代,直到任何一次疊代沒有執行元素置換。 Swfung8 - CC BY-SA 3.0","breadcrumbs":"氣泡排序 Bubble sort » 步驟","id":"72","title":"步驟"},"73":{"body":"給定一組序列 [5, 3, 8, 7, 2],以 bubble sort 遞增排序。以 ASCII diagram 表示: 第一次疊代 * * * *\n[5, 3, 8, 7, 4] -> [3, 5, 8, 7, 4] # 置換 3 與 5 * * * *\n[3, 5, 8, 7, 4] -> [3, 5, 8, 7, 4] # 不需置換 * * * *\n[3, 5, 8, 7, 4] -> [3, 5, 7, 8, 4] # 置換 7 與 8 * * * *\n[3, 5, 7, 8, 4] -> [3, 5, 7, 4, 8] # 置換 4 與 8,8 已排好序 第二次疊代 * * * *\n[3, 5, 7, 4, 8] -> [3, 5, 7, 4, 8] # 不需置換 * * * *\n[3, 5, 7, 4, 8] -> [3, 5, 7, 4, 8] # 不需置換 * * * *\n[3, 5, 7, 4, 8] -> [3, 5, 4, 7, 8] # 置換 4 與 7 * * * *\n[3, 5, 4, 7, 8] -> [3, 5, 4, 7, 8] # 不需置換 naïve bubble sort 會跑完整個序列,即是已排序完成。 第三次疊代 * * * *\n[3, 5, 4, 7, 8] -> [3, 5, 4, 7, 8] # 不需置換 * * * *\n[3, 5, 4, 7, 8] -> [3, 4, 5, 7, 8] # 置換 4 與 5 * * * *\n[3, 5, 4, 7, 8] -> [3, 4, 5, 7, 8] # 不需置換 * * * *\n[3, 5, 4, 7, 8] -> [3, 4, 5, 7, 8] # 不需置換 第四次疊代 * * * *\n[3, 4, 5, 7, 8] -> [3, 4, 5, 7, 8] # 不需置換 * * * *\n[3, 4, 5, 7, 8] -> [3, 4, 5, 7, 8] # 不需置換 * * * *\n[3, 4, 5, 7, 8] -> [3, 4, 5, 7, 8] # 不需置換 * * * *\n[3, 4, 5, 7, 8] -> [3, 4, 5, 7, 8] # 不需置換 很簡單的排序法!","breadcrumbs":"氣泡排序 Bubble sort » 說明","id":"73","title":"說明"},"74":{"body":"Complexity Worst $O(n^2) $ Best $O(n) $ Average $O(n^2) $ Worst space $O(1) $ auxiliary","breadcrumbs":"氣泡排序 Bubble sort » 效能","id":"74","title":"效能"},"75":{"body":"Bubble sort 總共需要 $n - 1 $ 次疊代,每次疊代至少需要執行 $n - 1 - i $ 置換( $i $ 為第幾次疊代),總共需要疊代 $$\\sum_{i=0}^{n-1} (n - i - 1) = n^2 - \\sum_{i=0}^{n-1}i - n = n^2 - \\frac{n(n - 1)}{2} - n = \\frac{n^2}{2} - \\frac{n}{2}$$ 次,因此,時間複雜度為 $O(n^2) $。 Bubble sort 在已排序完成的序列上,只需要疊代序列一次,發現完全沒有置換任何元素,即停止排序,可達到最佳時間複雜度。","breadcrumbs":"氣泡排序 Bubble sort » Time complexity","id":"75","title":"Time complexity"},"76":{"body":"Bubble sort 簡單實作如下: pub fn bubble_sort(arr: &mut [i32]) { let mut swapped = true; // 1 while swapped { swapped = false; for i in 1..arr.len() { // 2 if arr[i - 1] > arr[i] { arr.swap(i - 1, i); swapped = true // 3 } } }\n} 建立一個旗標,標誌該次疊代是否有元素置換。 內層迴圈依序比較兩兩相鄰元素。 若有任何置換動作,將旗標標誌為「已置換(true)」。 倘若記錄已排好序的元素位置,雖然複雜度仍是 $O(n^2) $,但如此以來,每次疊代都可少一次元素比較,對比較操作成本高的語言或實作來說,仍不失為最佳化的方法。程式碼如下: pub fn bubble_sort_optimized(arr: &mut [i32]) { let mut new_len: usize; let mut len = arr.len(); // 1 loop { new_len = 0; for i in 1..len { if arr[i - 1] > arr[i] { arr.swap(i - 1, i); new_len = i; // 2 } } if new_len == 0 { // 3 break; } len = new_len; // 4 }\n} 將當前的序列長度記錄到 len。 內層迴圈負責比較、置換,以及記錄未排序部分的序列長度到 new_len。 若未排序部分 new_len 為零,代表排序完成。 外層迴圈將新長度值 new_len 賦予 len,下一次疊代就可少做一次比較。","breadcrumbs":"氣泡排序 Bubble sort » 實作","id":"76","title":"實作"},"77":{"body":"Wiki: Bubble sort Sorting GIF was created by Swfung8 (Own work) CC BY-SA 3.0 via Wikimedia Commons.","breadcrumbs":"氣泡排序 Bubble sort » 參考資料","id":"77","title":"參考資料"},"78":{"body":"眾所周知, Insertion sort 用在幾乎完成排序的序列上非常高效,換句話說,當元素置換不需移動太遠時,效率很高。反之,如果有元素錯位非常遙遠,效能就會大打折扣。Shellsort 以一個 gap sequence 將資料依指定的間隔(gap)分組進行 insertion sort,使得較遠的元素能夠快速歸位,下一次的排序就會因前次排序結果愈來愈接近完成而加速。 Shellsort 最後一個 gap 必定是 1,也就是排序會退化成 insertion sort,此時大部分元素皆排序完成,insertion sort 會非常高效。 Shellsort 特性如下: 自適應排序 :可根據當前資料排序情形加速排序,資料越接近排序完成,效率越高。 不穩定排序 :排序後,相同鍵值的元素相對位置可能改變。 原地排序 :不需額外花費儲存空間來排序。 可視為一般化(Generalizaion)的 insertion sort 。","breadcrumbs":"希爾排序 Shellsort » 希爾排序 Shellsort","id":"78","title":"希爾排序 Shellsort"},"79":{"body":"Shellsort 分為兩個步驟: 決定一組 gap sequence。 疊代 gap sequence 進行分組排序,每次執行有間隔的 insertion sort。也就是每個元素與其相鄰 gap 的元素比較與置換。 最後一次排序(gap = 1)會退化為 insertion sort,完成整個排序。","breadcrumbs":"希爾排序 Shellsort » 步驟","id":"79","title":"步驟"},"8":{"body":"關聯容器概述 雜湊表 Hash map 🚧 有序映射表 Ordered map 🚧 多重映射表 Multimap 集合 Set 布隆過濾器 Bloom filter","breadcrumbs":"Rust Algorithm Club » 關聯容器","id":"8","title":"關聯容器"},"80":{"body":"Shellsort 的效率取決於 gap sequence 的選擇,這邊舉幾個常見的 gap sequence: Sequence Marcin Ciura 1, 4, 10, 23, 57, 132, 301, 701 $2^{k} - 1 $ 1, 3, 7, 15, 31, 63,... $\\lfloor {\\frac {N}{2^k}} \\rfloor $ $\\lfloor {\\frac {N}{2}} \\rfloor $, $\\lfloor {\\frac {N}{4}} \\rfloor $, ..., 1 感受一下 gap sequence 為 23, 10, 4, 1 的 shellsort 吧。","breadcrumbs":"希爾排序 Shellsort » Gap Sequneces","id":"80","title":"Gap Sequneces"},"81":{"body":"Shellsort 其實就是進行好幾次不同 gap 的 insertion sort,以下用 ASCII diagram 解釋。 假定這裡有一個序列需要遞增排序。 [5, 3, 8, 7, 4, 9, 6, 2] 我們選擇最簡單的 $\\lfloor {\\frac {N}{2^k}} \\rfloor $ gap sequence 來排序。我們以 星號 標示出每次 insertion sort 對應排序 首先算出第一個 gap 為 $8 / 2^1 = 4 $。開始 insertion sort。 * *\n[5, 3, 8, 7, 4, 9, 6, 2] -> (sort subsequence [5, 4]) * *\n[4, 3, 8, 7, 5, 9, 6, 2] -> (skip) * *\n[4, 3, 8, 7, 5, 9, 6, 2] -> (sort subsequence [8, 6]) * *\n[4, 3, 6, 7, 5, 9, 8, 2] -> (sort subsequence [7, 2]) [4, 3, 8, 2, 5, 9, 6, 7] 再來算出第二個 gap 為 $8 / 2^2 = 2 $。開始 insertion sort。 * *\n[4, 3, 8, 2, 5, 9, 6, 7] -> (skip) * *\n[4, 3, 8, 2, 5, 9, 6, 7] -> (sort subsequence [3, 2]) * * *\n[4, 2, 8, 3, 5, 9, 6, 7] -> (sort subsequence [4, 8, 5]) * * *\n[4, 2, 5, 3, 8, 9, 6, 7] -> (skip) * * * *\n[4, 2, 5, 3, 8, 9, 6, 7] -> (sort subsequence [4, 5, 8, 6]) * * * *\n[4, 2, 5, 3, 6, 9, 8, 7] -> (sort subsequence [2, 3, 9, 7])\n[4, 2, 5, 3, 6, 7, 8, 9] 再來進行第三次排序。gap 為 $8 / 2^3 = 1 $,shellsort 退化至 insertion sort,但前一次結果已經很接近排序完成,insertion sort 可以幾乎在 one pass 完成排序。 Insertion sort 的 ASCII diagram 我們就不展示了,請參考 Insertion sort 。","breadcrumbs":"希爾排序 Shellsort » 說明","id":"81","title":"說明"},"82":{"body":"Complexity Worst $O(n^2) $ ~ $O(n \\log^2 n) $ (Depends on gap sequence) Best $O(n \\log n) $ Average Depends on gap sequence Worst space $O(1) $ auxiliary Shellsort 的複雜度不容易計算,取決於 gap sequence 怎麼安排,太少 gap 會讓速度太接近 insertion sort,太多 gap 則會有過多額外開銷。目前已知的 gap sequence 中,最差時間複雜度可以達到 $O(n \\log^2 n) $,有著不錯的表現。有興趣可以參考 這篇文章 。","breadcrumbs":"希爾排序 Shellsort » 效能","id":"82","title":"效能"},"83":{"body":"我們這裡以 Marcin 的 Paper 中提到的經驗式為例,首先,先建立一個 gap sequence 的常數。 /// Marcin Ciura's gap sequence.\npub const MARCIN_GAPS: [usize; 8] = [701, 301, 132, 57, 23, 10, 4, 1]; 再來就是主程式的部分,總共會有三個迴圈, 最外層是疊代 gap sequence, 中間層是疊代整個資料序列, 內層就是每個元素的插入排序動作。 /// Shellsort\npub fn shellsort(arr: &mut [i32]) { let len = arr.len(); for gap in MARCIN_GAPS.iter() { // 1 let mut i = *gap; // 4 while i < len { // 2 let mut j = i; while j >= *gap && arr[j - gap] > arr[j] { // 3 arr.swap(j - *gap, j); j -= *gap; } i += 1; } }\n} 最外層的迴圈,利用 iter() trait 產生疊代器,疊代 gap sequence。 中間層迴圈,控制 i 是否超出資料序列,以疊代整合資料序列。 最內層迴圈,執行插入動作,將每個元素置換到正確位置。 由於 gap 的型別是 &usize,需透過 *gap dereference 得到 usize 型別。","breadcrumbs":"希爾排序 Shellsort » 實作","id":"83","title":"實作"},"84":{"body":"Wiki: Shellsort Best Increments for the Average Case of Shellsort, M. Ciura, 2001 Shellsort and Sorting Networks (Outstanding Dissertations in the Computer Sciences)","breadcrumbs":"希爾排序 Shellsort » 參考資料","id":"84","title":"參考資料"},"85":{"body":"Heapsort(堆積排序)可以看作是 selection sort 的變形,同樣會將資料分為 sorted pile 與 unsorted pile,並在 unsorted pile 中尋找最大值(或最小值),加入 sorted pile 中。 和 selection sort 不同之處是,heapsort 利用 堆積(heap) 這種半排序(partially sorted)的資料結構輔助並加速排序。 Heapsort 的特性如下: 使用 heap 資料結構輔助,通常使用 binary heap 。 不穩定排序 :排序後,相同鍵值的元素相對位置可能改變。 原地排序 :不需額外花費儲存空間來排序。 較差的 CPU 快取 :heap 不連續存取位址的特性,不利於 CPU 快取 。","breadcrumbs":"堆積排序 Heapsort » 堆積排序 Heapsort","id":"85","title":"堆積排序 Heapsort"},"86":{"body":"Heapsort 的演算法分為兩大步驟: 將資料轉換為 heap 資料結構(遞增排序用 max-heap, 遞減排序選擇 min-heap)。 逐步取出最大/最小值,並與最後一個元素置換。具體步驟如下: 交換 heap 的 root 與最後一個 node,縮小 heap 的範圍(排序一筆資料,故 heap 長度 -1)。 更新剩下的資料,使其滿足 heap 的特性,稱為 heap ordering property。 重複前兩個步驟,直到 heap 中剩最後一個未排序的資料。 透過 GIF 動畫感受一下 heapsort 的威力吧!","breadcrumbs":"堆積排序 Heapsort » 步驟","id":"86","title":"步驟"},"87":{"body":"在開始之前,定義幾個 heap 常用名詞: Heap ordering property :一個 heap 必須要滿足的條件。以 heap 種類不同有幾種變形。 min-heap property :每個結點皆大於等於其父節點的值,且最小值在 heap root。 max-heap property :每個結點皆小於等於其父節點的值,且最大值在 heap root。 而 heapsort 主要分為兩個部分: Heapify :將陣列轉換為 heap 資料結構(heapify)。 Sorting :不斷置換 heap root 與最後一個元素來排序,並修正剩餘未排序資料使其符合 heap order。 這裡有一個未排序的序列,將以遞增方向排序之。 [17, 20, 2, 1, 3, 21] 首先,將資料轉換為 heap 資料結構,這個步驟即時 heapify 。由於是遞增排序,我們採用 max-heap(最大元素在 root)。 [21, 20, 17, 1, 3, 2] 對應的二元樹(binary tree)的圖形如下: 再來就是 排序的部分 ,Max-heap 會將最大的元素擺在 root 的位置,我們先將最後一個 node 與 root 進行交換,完成第一個排序步驟。 若不熟悉 heap,可以閱讀 Wiki 的介紹 ,其實 heap 就是用陣列實作的二元樹。 [21, 20, 17, 1, 3, 2] * *\n(swap) --> unsorted | sorted\n[2, 20, 17, 1, 3 | 21] 接下來,將未排序的資料區塊重整為符合 max-heap 的結構。 [2, 20, 17, 1, 3 | 21] (sift down) --> [20, 3, 17, 1, 2 | 21] 有沒有看出一些端倪? 只要不斷將 root 和最後一個 node 交換,並將剩餘資料修正至滿足 heap ordering,就完成排序了。 [20, 3, 17, 1, 2 | 21] * *\n(swap) --> [2, 3, 17, 1 | 20, 21] (sift down)--> [17, 3, 2, 1 | 20, 21] * *\n(swap) --> [1, 3, 2 | 17, 20, 21] (sift down)--> [3, 1, 2 | 17, 20, 21] * *\n(swap) --> [1, 2 | 3, 17, 20, 21] (Done!) 以上便是 heapsort 演算法的簡單流程,是不是和 selection sort 非常相似呢!","breadcrumbs":"堆積排序 Heapsort » 說明","id":"87","title":"說明"},"88":{"body":"Complexity Worst $O(n \\log n) $ Best $O(n \\log n) $ Average $O(n \\log n) $ Worst space $O(1) $ auxiliary Heapsort 最佳、最差、平均的時間複雜度皆為 $O(n \\log n) $,同樣分為兩部分簡單解釋。","breadcrumbs":"堆積排序 Heapsort » 效能","id":"88","title":"效能"},"89":{"body":"建立一個 binary heap 有兩種方法,一種是一個個元素慢慢加入 heap 來建立;另一種則是給定隨意的序列,再透過 heapify 演算法修正序列為有效的 heap。一般來說 heapsort 常用實作後者。 Heapify 是指將序列修正至符合 heap ordering 的序列。給定一個元素,假定其為非法的 heap order,而該元素之後的 subtree 視為符合 heap ordering property。欲修正這個在錯誤位置的元素,必須透過與其 children node 置換往下篩,這個往下篩的過程就稱為 sift down ,在 實作 一節會詳細解釋,這邊只要知道 sift down 會不斷將該元素與其 child node 比較,若不符合 heap order 則與 child node 置換,並繼續疊代每一個 level。所以 sift down 的時間複雜度為 $O(\\lceil {\\log_2(n)} \\rceil) = O(\\log n) $, $n $ 為陣列元素個數。 Heapify 從最末個元素開始反向疊代,每個元素都呼叫 sift_down 調整 heap 符合 heap ordering。總共要做 $n $ 次 sift_down 操作,但由於最後一層所以 leaf 已符合 heap order(因為沒有 child node),我們的迴圈可以跳過所有 leaf node 直接從非 leaf node 開始,因此複雜度為 $$\\lfloor n / 2 \\rfloor \\cdot O(\\log n) = O(n \\log n)$$ 實際上,build heap 步驟的複雜度可達到 $O(n) $,可以看看 UMD 演算法課程 Lecture note 的分析 。","breadcrumbs":"堆積排序 Heapsort » Build heap (heapify)","id":"89","title":"Build heap (heapify)"},"9":{"body":"漢明距離 Hamming distance 萊文斯坦距離 Levenshtein distance 🚧 最長共同子字串 Longest common substring","breadcrumbs":"Rust Algorithm Club » 字串處理","id":"9","title":"字串處理"},"90":{"body":"講完了 heapify,就換到排序部分,所謂的排序其實就是利用 max-heap(或 min-heap)的最大值(最小值)會在首個元素的特性,與最後一個元素置換,完成排序,並將剩餘的部分透過 sift down 修正符合 heap order。所以總共需要做 $n $ 次 sift down,複雜度為 $O(n \\log n) $。","breadcrumbs":"堆積排序 Heapsort » Sorting (sift down)","id":"90","title":"Sorting (sift down)"},"91":{"body":"綜合這兩部分,可以看出 Sorting part 對複雜度有決定性影響,最佳複雜度為 $O(n \\log n) $。","breadcrumbs":"堆積排序 Heapsort » Sum up","id":"91","title":"Sum up"},"92":{"body":"Heapsort 的實作相對簡單,只需要不斷呼叫 heap 內部的 sift_down 方法就可以完成排序。整個演算法架構如下: pub fn heapsort(arr: &mut [i32]) { // -- Heapify part -- // This procedure would build a valid max-heap. // (or min-heap for sorting descendantly) let end = arr.len(); for start in (0..end / 2).rev() { // 1 sift_down(arr, start, end - 1); } // -- Sorting part -- // Iteratively sift down unsorted part (the heap). for end in (1..arr.len()).rev() { // 2 arr.swap(end, 0); // 3 sift_down(arr, 0, end - 1); // 4 }\n} 這部分是 heapify,從最小 non-leaf node 開始(end / 2),修正序列至滿足 heap order,再反向疊代做 heapify。 這部分負責排序,每次疊代都將排序 heap 的 root 元素,步驟如 3 - 4: 不斷將 max-heap 中最大值(在 root 上)與 heap 最後一個元素 end 置換, 並利用 sift_down 將序列修正至 max-heap 資料結構,依照定義,此時 unsorted pile 首個元素成為 max-heap root,是最大值。 Heapsort 全靠 sift_down 神救援,那 sift_down 到底有什麼神奇魔力,一探究竟吧! fn sift_down(arr: &mut [i32], start: usize, end: usize) { let mut root = start; loop { let mut child = root * 2 + 1; // Get the left child // 1 if child > end { break; } if child + 1 <= end && arr[child] < arr[child + 1] { // 2 // Right child exists and is greater. child += 1; } if arr[root] < arr[child] { // 3 // If child is greater than root, swap'em! arr.swap(root, child); root = child; } else { break; } }\n} sift_down 的功能是將 node 往下移。通常用在 heap 刪除或取代 node 時,將序列修正為有效的 heap。 這裡實作的版本有三個參數: arr:欲修正為符合 heap 定義的序列。 start:欲往下移動的 node index,可視為需要被修正的元素。 end:此 node 以內(包含)的序列都會被修正為有效的 heap。 sift_down 有些假設條件:從 start index 出發的子樹,除了 start 本身以外,其他皆符合 heap ordering。 再來看看 sift_down 實作內容,loop 中幹的活就是不斷將 start index 上的元素與其子樹比較,若不符合 heap ordering,則兩者置換。 是否有子結點 :依照 binary heap 的定義找出 root 的左子樹(left substree),若左子樹的 index child 比 end 還大,表示沒有 heap 沒有子結點,停止疊代。 檢查右子樹值較大 :若 root 下有右子樹且較大,我們會標記右子樹,並在下一步對右子樹進行處理。 置換 :若 root 元素比 child 的元素小,則置換兩者,並將 child 設置為下個疊代的 root,繼續檢查最初的 start 元素是否滿足 heap ordering。 以上就是簡單的 sift_down 實作,也是整個 heapsort 的精髓。","breadcrumbs":"堆積排序 Heapsort » 實作","id":"92","title":"實作"},"93":{"body":"Wiki: Heap Wiki: Heapsort CMSC 351 Algorithms, Fall, 2011, University of Maryland. Sorting GIF by RolandH CC BY-SA-3.0 via Wikimedia Commons.","breadcrumbs":"堆積排序 Heapsort » 參考資料","id":"93","title":"參考資料"},"94":{"body":"Quicksort 是一個非常熱門且應用廣泛的排序法,相對簡單的實作就可達到 $O(n \\log n) $ 的平均時間複雜度。雖然最差時間複雜度與 bubble sort 同為 $O(n^2) $,但這種情形非常少見。簡單的最佳化實作下,Quicksort 僅需 $O(\\log n) $ 的額外儲存空間,比它的競爭對手 mergesort 來得節省。非常適合運用在真實世界中的排序法。 Quicksort 基本特性如下: 實作簡單,速度快。 不穩定排序 :排序後,相同鍵值的元素相對位置可能改變。 非原地排序 :除了資料本身,仍需額外花費儲存空間來排序。 分治演算法 :將主問題化作數個子問題,各個擊破。","breadcrumbs":"快速排序 Quicksort » 快速排序 Quicksort","id":"94","title":"快速排序 Quicksort"},"95":{"body":"Quicksort 是一個分治演算法(divide-and-conquer),不斷遞迴下列三個步驟: 選擇 Pivot :在序列中任意選擇一個元素,稱為 Pivot 。 分割序列 :將序列重新排序,分為兩部分,比 pivot 小 的元素置換到 pivot 之前,比 pivot 大的元素置換到 pivot 之後,而 pivot 本身會座落在它最終的正確位置。 遞迴 :分別將「比 pivot 小」及「比 pivot 大」兩部分重複上述步驟,直到新序列的長度小於等於 1,無法繼續分割為止,此時排序完成。","breadcrumbs":"快速排序 Quicksort » 步驟","id":"95","title":"步驟"},"96":{"body":"為了達成上述條件,Quicksort 有許多不同的分割序列實作方案(partition scheme),其中以 Lomuto partition 最易理解,常被做為教材。 以序列最後一個元素當做 pivot。 利用兩個指標 i j,其中 j 從頭疊代整個序列 若有序列第 j 個元素小於 pivot,則與第 i 個元素置換。 第 i 個元素已落在小於 pivot 的範圍,將 i 指標往後移一個,處理下個元素。 疊代完成後,小於 pivot 的元素全都置換至序列前端,此時將 pivot 與第 i 個元素置換,pivot 會剛好在最終正確位置上(符合不等式)。 ASCII 畫出來的分割圖如下: [ values <= pivot | values > pivot | not checked yet | pivot ] low i i+1 j-1 j high-1 high arr[low...i] 包含所有小於等於 pivot 的元素。 arr[i+1...j-1] 包含所有大於 pivot 的元素。 arr[j...high-1] 包含所有尚未疊代的元素。 arr[high] pivot 本身。","breadcrumbs":"快速排序 Quicksort » Lomuto partition scheme","id":"96","title":"Lomuto partition scheme"},"97":{"body":"以 Lomuto partition scheme 為例,使用 ASCII diagram 解釋。 給定一個序列,並選擇最後一個元素作為 pivot,i j 指標則在第一個元素位置。 * -> pivot\n[17, 20, 2, 1, 3, 21, 8] i j 第 j 個元素 17 大於 pivot 8,不置換。 17 > 8, no swap * -> pivot\n[17| 20, 2, 1, 3, 21, 8] i j 第 j 個元素 20 大於 pivot 8,不置換。 20 > 8, no swap * -> pivot\n[17, 20| 2, 1, 3, 21, 8] i j 第 j 個元素 2 小於 pivot 8,置換 i j。i 往後一個位置。 2 <= 8,\nswap i, j * -> pivot\n[2, 20, 17| 1, 3, 21, 8] i->i j 第 j 個元素 1 小於 pivot 8,置換 i j。i 往後一個位置。 1 <= 8\nswap i, j * -> pivot\n[2, 1, 17, 20| 3, 21, 8] i->i j 第 j 個元素 3 小於 pivot 8,置換 i j。i 往後一個位置。 3 <= 8\nswap i, j * -> pivot\n[2, 1, 3, 20, 17| 21, 8] i->i j 第 j 個元素 21 大於 pivot 8,不置換。 21 > 8, no swap * -> pivot\n[2, 1, 3, 20, 17, 21| 8] i j 最後,將 pivot 與第 i 個元素置換,此時 pivot 已在最終位置上,前面的元素皆小於等於 8,其後的元素皆大於 8。 swap pivot, i i <-> * -> pivot\n[2, 1, 3, 8, 17, 21, 20] 這樣就完成一次的 partition 了! 之後再遞迴分割 subarray 即可完成 Quicksort。 [2, 1, 3, 8, 17, 21, 20] # # * * | | | | ------- --------- quicksort quicksort","breadcrumbs":"快速排序 Quicksort » 說明","id":"97","title":"說明"},"98":{"body":"Complexity Worst $O(n^2) $ Best $O(n \\log n) $ Average $O(n \\log n) $ Worst space $O(\\log n) $ or $O(n) $ auxiliary","breadcrumbs":"快速排序 Quicksort » 效能","id":"98","title":"效能"},"99":{"body":"Quicksort 僅有「 選擇 Pivot 」與「 分割序列 」兩步驟,不同的實作的效能各異,也影響 Quicksort 的時間複雜度。 最差情況 最差的分割序列狀況發生在挑選的 pivot 總是最大或最小值(或在 Lomuto partition 下,所有元素值都一樣)。由於 Lomuto 總是選擇最後一個元素作為 pivot,這種情形好發於已排序或接近排序完成的資料上。 而當每次的 partition 都是最不平衡的分割序列,就會產生最差時間複雜度的狀況。遞迴在序列長度等於 1 時停止,因此整個排序法的 call stack 需要 $n - 1 $ 的嵌套遞迴呼叫(nested call);而第 $i $ 次分割會執行 $n - i $ 次基本操作( $O(n) $),所以總共需執行 $$\\sum_{i = 0}^n (n - i) = n^2 - \\frac{n(n + 1)}{2}$$ 次基本操作,最差時間複雜度為 $O(n^2) $。 最佳情況 既然最差情況發生在 pivot 總選到最大或最小值,反之,最佳情況則發生在每次 pivot 都可以順利選到序列的中位數(median),如此一來,每次遞迴分割的序列長度都會減半( $n / 2 $),call stack 的嵌套遞迴總共需要 $2 \\log_2{n} $ 次,序列的長度就會減至 1,而每次分割同樣有 $O(n) $ 的複雜度,因此最佳情況為: $$O(n \\cdot 2 \\log_2{n}) = O(n \\log n)$$","breadcrumbs":"快速排序 Quicksort » Time complexity","id":"99","title":"Time complexity"}},"length":297,"save":true},"fields":["title","body","breadcrumbs"],"index":{"body":{"root":{"0":{".":{".":{"=":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"289":{"tf":1.0}}}}}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"(":{")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{")":{")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{":":{":":{"<":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"_":{"df":1,"docs":{"289":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"c":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"236":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"92":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"67":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{")":{".":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"i":{"df":1,"docs":{"269":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"1":{"df":3,"docs":{"259":{"tf":1.0},"267":{"tf":1.0},"270":{"tf":1.0}}},"7":{"5":{"df":1,"docs":{"239":{"tf":1.0}}},"df":0,"docs":{}},"8":{"df":1,"docs":{"273":{"tf":1.0}}},"9":{"df":1,"docs":{"273":{"tf":1.0}}},"df":0,"docs":{}},"0":{"0":{"df":2,"docs":{"227":{"tf":2.0},"230":{"tf":1.0}}},"df":2,"docs":{"227":{"tf":2.0},"230":{"tf":1.0}}},"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":2,"docs":{"33":{"tf":1.4142135623730951},"44":{"tf":2.0}}}}}}},"b":{"0":{"0":{"0":{"0":{"df":1,"docs":{"179":{"tf":1.0}}},"1":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{},"(":{"0":{"df":1,"docs":{"175":{"tf":1.0}}},"df":0,"docs":{}}},"1":{"0":{"df":1,"docs":{"179":{"tf":1.0}}},"1":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"1":{"1":{"df":1,"docs":{"179":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"0":{"0":{"0":{"df":1,"docs":{"179":{"tf":1.0}}},"1":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}},"1":{"0":{"df":1,"docs":{"179":{"tf":1.0}}},"1":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"1":{"df":0,"docs":{},"(":{"7":{"df":1,"docs":{"175":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":49,"docs":{"102":{"tf":1.4142135623730951},"117":{"tf":1.4142135623730951},"118":{"tf":1.0},"119":{"tf":1.7320508075688772},"123":{"tf":1.0},"125":{"tf":3.3166247903554},"131":{"tf":1.7320508075688772},"132":{"tf":1.4142135623730951},"145":{"tf":1.4142135623730951},"147":{"tf":4.58257569495584},"149":{"tf":1.0},"151":{"tf":2.0},"159":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.4142135623730951},"175":{"tf":1.4142135623730951},"176":{"tf":2.449489742783178},"177":{"tf":1.4142135623730951},"179":{"tf":2.449489742783178},"18":{"tf":1.0},"181":{"tf":1.0},"196":{"tf":1.0},"197":{"tf":1.0},"198":{"tf":1.7320508075688772},"200":{"tf":1.0},"207":{"tf":1.4142135623730951},"227":{"tf":3.3166247903554},"230":{"tf":1.4142135623730951},"233":{"tf":1.7320508075688772},"236":{"tf":1.7320508075688772},"239":{"tf":1.4142135623730951},"253":{"tf":1.4142135623730951},"260":{"tf":1.0},"272":{"tf":1.0},"275":{"tf":1.0},"278":{"tf":2.0},"279":{"tf":1.0},"284":{"tf":1.4142135623730951},"285":{"tf":1.0},"286":{"tf":1.4142135623730951},"288":{"tf":1.0},"289":{"tf":1.0},"33":{"tf":1.4142135623730951},"42":{"tf":2.449489742783178},"48":{"tf":1.0},"54":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"76":{"tf":1.4142135623730951},"92":{"tf":1.4142135623730951}},"}":{"^":{"df":0,"docs":{},"n":{"df":1,"docs":{"99":{"tf":1.0}}}},"df":0,"docs":{}}},"1":{")":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"58":{"tf":1.0}}}},".":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"67":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"2":{"df":4,"docs":{"58":{"tf":1.0},"66":{"tf":1.0},"75":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}}}},",":{"2":{"df":1,"docs":{"256":{"tf":1.0}}},"df":0,"docs":{},"j":{"df":2,"docs":{"284":{"tf":2.0},"287":{"tf":1.4142135623730951}}}},".":{".":{"=":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"e":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"287":{"tf":1.4142135623730951},"288":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{")":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"92":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"59":{"tf":1.0},"61":{"tf":1.0},"76":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"76":{"tf":1.0}}}}}},"0":{".":{"0":{"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"6":{"df":1,"docs":{"240":{"tf":1.4142135623730951}}},"8":{"df":1,"docs":{"176":{"tf":1.0}}},"df":0,"docs":{}},"4":{"4":{"df":1,"docs":{"271":{"tf":1.0}}},"df":0,"docs":{}},"7":{"1":{"df":2,"docs":{"259":{"tf":1.0},"270":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"0":{"0":{"df":1,"docs":{"145":{"tf":1.0}}},"df":4,"docs":{"135":{"tf":1.0},"136":{"tf":1.0},"151":{"tf":1.0},"23":{"tf":1.0}}},"2":{".":{"0":{"3":{"6":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":13,"docs":{"135":{"tf":1.0},"136":{"tf":2.0},"14":{"tf":1.0},"145":{"tf":1.4142135623730951},"147":{"tf":1.0},"149":{"tf":1.4142135623730951},"151":{"tf":1.7320508075688772},"156":{"tf":1.0},"179":{"tf":1.4142135623730951},"274":{"tf":1.0},"42":{"tf":1.4142135623730951},"80":{"tf":1.4142135623730951},"83":{"tf":1.0}},"x":{"df":1,"docs":{"16":{"tf":1.0}}}},"1":{"7":{"df":1,"docs":{"251":{"tf":1.0}}},"8":{"df":1,"docs":{"251":{"tf":1.4142135623730951}}},"9":{"df":1,"docs":{"251":{"tf":1.0}}},"df":6,"docs":{"135":{"tf":1.0},"136":{"tf":1.0},"156":{"tf":1.4142135623730951},"179":{"tf":1.4142135623730951},"227":{"tf":2.23606797749979},"230":{"tf":1.0}}},"2":{"6":{"df":1,"docs":{"146":{"tf":1.0}}},"df":0,"docs":{}},"3":{"2":{"df":2,"docs":{"80":{"tf":1.0},"83":{"tf":1.0}}},"5":{"df":1,"docs":{"47":{"tf":1.0}}},"df":3,"docs":{"29":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"50":{"tf":1.7320508075688772}}},"4":{"1":{"df":1,"docs":{"47":{"tf":1.0}}},"df":2,"docs":{"136":{"tf":2.0},"42":{"tf":1.0}}},"5":{"df":4,"docs":{"29":{"tf":1.7320508075688772},"42":{"tf":1.0},"50":{"tf":1.7320508075688772},"80":{"tf":1.0}}},"6":{"df":1,"docs":{"262":{"tf":1.0}}},"7":{"0":{"df":1,"docs":{"147":{"tf":2.6457513110645907}}},"df":3,"docs":{"42":{"tf":1.4142135623730951},"87":{"tf":3.4641016151377544},"97":{"tf":3.3166247903554}}},"8":{"df":1,"docs":{"42":{"tf":1.0}}},"9":{"7":{"8":{"df":2,"docs":{"43":{"tf":1.0},"47":{"tf":1.0}}},"df":0,"docs":{}},"9":{"6":{"df":2,"docs":{"46":{"tf":1.0},"47":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":2,"docs":{"29":{"tf":1.0},"50":{"tf":1.7320508075688772}}},"]":{"[":{"df":0,"docs":{},"j":{"df":1,"docs":{"287":{"tf":2.0}}}},"df":0,"docs":{}},"^":{"2":{"df":1,"docs":{"230":{"tf":1.0}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"54":{"tf":1.0}}}}}}},"df":97,"docs":{"100":{"tf":1.0},"102":{"tf":2.23606797749979},"103":{"tf":1.4142135623730951},"105":{"tf":3.605551275463989},"107":{"tf":2.0},"108":{"tf":2.23606797749979},"111":{"tf":1.0},"112":{"tf":3.0},"114":{"tf":1.7320508075688772},"117":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"119":{"tf":2.23606797749979},"125":{"tf":5.0990195135927845},"127":{"tf":1.0},"131":{"tf":2.0},"132":{"tf":2.23606797749979},"135":{"tf":1.4142135623730951},"136":{"tf":2.0},"143":{"tf":1.0},"147":{"tf":1.4142135623730951},"15":{"tf":1.0},"151":{"tf":1.7320508075688772},"159":{"tf":1.0},"16":{"tf":1.0},"175":{"tf":3.0},"176":{"tf":2.8284271247461903},"179":{"tf":4.58257569495584},"180":{"tf":2.0},"181":{"tf":2.23606797749979},"182":{"tf":3.4641016151377544},"185":{"tf":2.0},"19":{"tf":1.0},"196":{"tf":1.0},"197":{"tf":1.0},"198":{"tf":1.7320508075688772},"200":{"tf":1.0},"203":{"tf":1.0},"206":{"tf":1.7320508075688772},"207":{"tf":2.0},"208":{"tf":1.4142135623730951},"210":{"tf":1.0},"211":{"tf":1.7320508075688772},"227":{"tf":2.6457513110645907},"228":{"tf":1.4142135623730951},"230":{"tf":1.4142135623730951},"233":{"tf":1.0},"234":{"tf":1.0},"236":{"tf":1.0},"238":{"tf":2.0},"239":{"tf":1.4142135623730951},"24":{"tf":1.0},"242":{"tf":1.0},"249":{"tf":1.0},"256":{"tf":1.4142135623730951},"260":{"tf":1.7320508075688772},"267":{"tf":1.4142135623730951},"268":{"tf":2.0},"269":{"tf":2.0},"272":{"tf":1.0},"278":{"tf":2.449489742783178},"279":{"tf":1.4142135623730951},"284":{"tf":3.7416573867739413},"285":{"tf":3.872983346207417},"287":{"tf":4.58257569495584},"288":{"tf":2.449489742783178},"289":{"tf":4.0},"29":{"tf":1.4142135623730951},"30":{"tf":2.23606797749979},"33":{"tf":2.23606797749979},"42":{"tf":2.23606797749979},"44":{"tf":3.1622776601683795},"46":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"53":{"tf":2.0},"54":{"tf":2.23606797749979},"58":{"tf":1.7320508075688772},"59":{"tf":2.0},"61":{"tf":1.7320508075688772},"65":{"tf":2.449489742783178},"66":{"tf":2.0},"67":{"tf":1.0},"72":{"tf":1.0},"75":{"tf":2.0},"76":{"tf":2.449489742783178},"78":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":2.23606797749979},"81":{"tf":1.0},"83":{"tf":1.7320508075688772},"86":{"tf":1.0},"87":{"tf":3.4641016151377544},"92":{"tf":2.8284271247461903},"95":{"tf":1.0},"96":{"tf":2.0},"97":{"tf":3.3166247903554},"99":{"tf":1.7320508075688772}},"f":{"6":{"4":{"df":2,"docs":{"267":{"tf":1.4142135623730951},"269":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"179":{"tf":1.0}}}}}},"}":{"df":0,"docs":{},"i":{"df":1,"docs":{"75":{"tf":1.0}}}},",":{"df":0,"docs":{},"所":{"df":0,"docs":{},"以":{"df":0,"docs":{},"我":{"df":0,"docs":{},"們":{"df":0,"docs":{},"採":{"df":0,"docs":{},"取":{"df":0,"docs":{},"類":{"df":0,"docs":{},"似":{"df":0,"docs":{},"環":{"df":0,"docs":{},"繞":{"df":0,"docs":{},"算":{"df":0,"docs":{},"術":{"df":0,"docs":{},"運":{"df":0,"docs":{},"算":{"df":0,"docs":{},"(":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"175":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}},"2":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"92":{"tf":1.0}}}}}},"^":{"2":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"1":{"df":2,"docs":{"143":{"tf":1.0},"33":{"tf":1.0}}},"2":{"3":{"6":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"143":{"tf":1.4142135623730951},"33":{"tf":1.0}}},"3":{"df":1,"docs":{"33":{"tf":1.0}}},"5":{"df":1,"docs":{"122":{"tf":1.0}}},"df":0,"docs":{}},"0":{"0":{"1":{"df":1,"docs":{"84":{"tf":1.0}}},"df":0,"docs":{}},"1":{"1":{"df":3,"docs":{"122":{"tf":1.0},"244":{"tf":1.0},"93":{"tf":1.0}}},"2":{"df":1,"docs":{"274":{"tf":1.0}}},"4":{"df":1,"docs":{"275":{"tf":1.0}}},"7":{"df":1,"docs":{"13":{"tf":1.0}}},"8":{".":{"2":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"1":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{}},"df":8,"docs":{"106":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"256":{"tf":1.0},"29":{"tf":1.0},"50":{"tf":1.7320508075688772},"87":{"tf":3.4641016151377544},"97":{"tf":3.3166247903554}}},"1":{"(":{"7":{"df":1,"docs":{"47":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"87":{"tf":3.4641016151377544},"97":{"tf":3.3166247903554}}},"2":{"df":2,"docs":{"29":{"tf":1.0},"50":{"tf":3.1622776601683795}},"。":{"3":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{},"哎":{"df":0,"docs":{},"呀":{"df":0,"docs":{},",":{"$":{"2":{"^":{"4":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"3":{"df":5,"docs":{"29":{"tf":1.0},"42":{"tf":1.0},"50":{"tf":1.7320508075688772},"80":{"tf":1.4142135623730951},"83":{"tf":1.0}}},"4":{"df":5,"docs":{"147":{"tf":2.6457513110645907},"262":{"tf":1.0},"288":{"tf":1.0},"29":{"tf":1.0},"50":{"tf":1.7320508075688772}}},"5":{"3":{"df":1,"docs":{"240":{"tf":1.0}}},"4":{":":{"2":{"8":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"240":{"tf":1.0}}},"5":{":":{"3":{"3":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"240":{"tf":1.0}}},"df":3,"docs":{"274":{"tf":1.0},"29":{"tf":1.0},"50":{"tf":1.7320508075688772}}},"6":{"df":1,"docs":{"151":{"tf":1.0}}},"7":{"df":1,"docs":{"42":{"tf":3.4641016151377544}}},"8":{"df":2,"docs":{"136":{"tf":2.0},"42":{"tf":2.23606797749979}}},"9":{"df":2,"docs":{"16":{"tf":1.0},"42":{"tf":2.0}}},"^":{"0":{"$":{"df":0,"docs":{},",":{"$":{"2":{"^":{"1":{"df":1,"docs":{"37":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":2,"docs":{"48":{"tf":1.0},"50":{"tf":1.0}}},"1":{"$":{"df":0,"docs":{},"、":{"$":{"2":{"^":{"2":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},":":{"3":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}}},"df":1,"docs":{"81":{"tf":1.0}}},"2":{"$":{"df":0,"docs":{},":":{"6":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}}},"df":2,"docs":{"230":{"tf":1.0},"81":{"tf":1.0}}},"3":{"$":{"df":0,"docs":{},":":{"1":{"5":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":2,"docs":{"179":{"tf":1.0},"81":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":2,"docs":{"30":{"tf":1.7320508075688772},"48":{"tf":1.0}}},"n":{"df":3,"docs":{"179":{"tf":2.0},"181":{"tf":1.0},"37":{"tf":1.0}}},"x":{"df":1,"docs":{"43":{"tf":1.0}}},"{":{"4":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}},"\\":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"tf":1.0}},"{":{"df":0,"docs":{},"i":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{},"k":{"df":1,"docs":{"80":{"tf":1.0}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"{":{"df":0,"docs":{},"i":{"df":1,"docs":{"53":{"tf":1.0}}}}}}}}},"a":{"df":1,"docs":{"65":{"tf":2.6457513110645907}},"、":{"2":{"b":{"df":1,"docs":{"65":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"b":{"df":1,"docs":{"65":{"tf":2.449489742783178}}},"df":89,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"105":{"tf":1.0},"108":{"tf":1.0},"111":{"tf":1.4142135623730951},"112":{"tf":2.8284271247461903},"114":{"tf":1.0},"117":{"tf":1.4142135623730951},"118":{"tf":2.0},"119":{"tf":1.0},"125":{"tf":4.123105625617661},"131":{"tf":1.4142135623730951},"132":{"tf":1.4142135623730951},"136":{"tf":1.0},"143":{"tf":1.0},"147":{"tf":3.605551275463989},"151":{"tf":1.0},"153":{"tf":1.0},"16":{"tf":1.0},"175":{"tf":2.449489742783178},"176":{"tf":1.7320508075688772},"179":{"tf":3.1622776601683795},"18":{"tf":1.0},"180":{"tf":1.4142135623730951},"182":{"tf":2.0},"185":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"196":{"tf":1.0},"198":{"tf":1.4142135623730951},"200":{"tf":1.0},"203":{"tf":1.0},"206":{"tf":1.7320508075688772},"207":{"tf":1.4142135623730951},"208":{"tf":1.4142135623730951},"210":{"tf":1.0},"211":{"tf":1.4142135623730951},"227":{"tf":3.7416573867739413},"228":{"tf":1.4142135623730951},"230":{"tf":1.7320508075688772},"233":{"tf":1.0},"234":{"tf":1.0},"238":{"tf":1.4142135623730951},"239":{"tf":1.0},"249":{"tf":1.0},"256":{"tf":1.4142135623730951},"262":{"tf":1.0},"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.4142135623730951},"269":{"tf":1.0},"273":{"tf":1.0},"275":{"tf":1.0},"278":{"tf":1.0},"279":{"tf":1.0},"285":{"tf":2.449489742783178},"287":{"tf":2.0},"288":{"tf":1.0},"289":{"tf":1.0},"29":{"tf":3.0},"291":{"tf":1.0},"30":{"tf":1.7320508075688772},"33":{"tf":1.4142135623730951},"34":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.7320508075688772},"53":{"tf":1.0},"54":{"tf":1.7320508075688772},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"76":{"tf":1.4142135623730951},"81":{"tf":4.123105625617661},"83":{"tf":1.0},"87":{"tf":3.4641016151377544},"89":{"tf":1.0},"92":{"tf":2.0},"97":{"tf":3.3166247903554},"99":{"tf":1.7320508075688772}},"t":{"(":{"\\":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"2":{"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"x":{"^":{"2":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"3":{",":{"4":{"df":1,"docs":{"256":{"tf":1.0}}},"df":0,"docs":{}},".":{"0":{"df":12,"docs":{"190":{"tf":1.0},"225":{"tf":1.0},"244":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.4142135623730951},"62":{"tf":1.0},"64":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"77":{"tf":1.0},"93":{"tf":1.0}}},"1":{"df":3,"docs":{"143":{"tf":1.0},"238":{"tf":1.0},"44":{"tf":1.0}}},"2":{"df":3,"docs":{"143":{"tf":1.0},"238":{"tf":1.0},"44":{"tf":1.0}}},"3":{"df":1,"docs":{"44":{"tf":1.0}}},"4":{"df":1,"docs":{"244":{"tf":1.0}}},"df":0,"docs":{}},"/":{"4":{"df":1,"docs":{"231":{"tf":1.0}}},"df":0,"docs":{}},"0":{"1":{"df":2,"docs":{"80":{"tf":1.0},"83":{"tf":1.0}}},"df":2,"docs":{"15":{"tf":1.0},"42":{"tf":1.0}}},"1":{"df":2,"docs":{"42":{"tf":1.0},"80":{"tf":1.0}}},"2":{"df":2,"docs":{"14":{"tf":1.0},"236":{"tf":1.0}}},"3":{"3":{"df":2,"docs":{"227":{"tf":2.23606797749979},"230":{"tf":1.0}}},"df":0,"docs":{}},"4":{"4":{":":{"6":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"185":{"tf":1.0}}},"7":{":":{"5":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"185":{"tf":1.4142135623730951}}},"df":1,"docs":{"42":{"tf":1.7320508075688772}}},"5":{"1":{"df":2,"docs":{"122":{"tf":1.0},"93":{"tf":1.0}}},"3":{"df":1,"docs":{"185":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"6":{",":{"3":{"7":{"df":1,"docs":{"136":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"136":{"tf":1.4142135623730951}}},"7":{",":{"3":{"6":{"df":1,"docs":{"136":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"136":{"tf":1.4142135623730951}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"47":{"tf":1.0}}}}},"^":{"2":{"df":1,"docs":{"230":{"tf":1.0}}},"df":0,"docs":{}},"df":70,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"105":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.4142135623730951},"112":{"tf":2.8284271247461903},"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"125":{"tf":2.8284271247461903},"131":{"tf":1.4142135623730951},"132":{"tf":1.4142135623730951},"136":{"tf":1.0},"143":{"tf":1.0},"151":{"tf":1.0},"17":{"tf":1.0},"175":{"tf":2.23606797749979},"176":{"tf":1.4142135623730951},"179":{"tf":3.0},"180":{"tf":1.0},"182":{"tf":2.0},"185":{"tf":1.4142135623730951},"197":{"tf":1.0},"198":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.4142135623730951},"208":{"tf":2.449489742783178},"210":{"tf":1.0},"211":{"tf":1.4142135623730951},"227":{"tf":2.23606797749979},"230":{"tf":1.0},"233":{"tf":1.0},"234":{"tf":1.0},"236":{"tf":1.0},"238":{"tf":1.4142135623730951},"239":{"tf":1.0},"244":{"tf":1.0},"249":{"tf":1.0},"256":{"tf":1.0},"258":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.4142135623730951},"278":{"tf":1.0},"279":{"tf":1.0},"284":{"tf":1.7320508075688772},"285":{"tf":1.0},"287":{"tf":2.0},"288":{"tf":1.0},"289":{"tf":1.0},"29":{"tf":2.0},"30":{"tf":1.7320508075688772},"33":{"tf":1.0},"44":{"tf":1.4142135623730951},"50":{"tf":2.449489742783178},"54":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"61":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":2.449489742783178},"67":{"tf":1.0},"73":{"tf":5.830951894845301},"76":{"tf":1.4142135623730951},"80":{"tf":1.0},"81":{"tf":3.872983346207417},"83":{"tf":1.0},"87":{"tf":3.4641016151377544},"92":{"tf":1.7320508075688772},"97":{"tf":3.3166247903554}},"n":{"df":3,"docs":{"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"19":{"tf":1.7320508075688772}}},"、":{"4":{"df":0,"docs":{},"、":{"5":{"df":1,"docs":{"153":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"4":{".":{"0":{"df":1,"docs":{"13":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"5":{"df":1,"docs":{"147":{"tf":2.6457513110645907}}},"df":48,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"112":{"tf":2.8284271247461903},"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"125":{"tf":2.449489742783178},"132":{"tf":1.0},"136":{"tf":1.0},"143":{"tf":1.0},"147":{"tf":2.0},"151":{"tf":1.0},"17":{"tf":2.23606797749979},"175":{"tf":2.0},"176":{"tf":1.7320508075688772},"179":{"tf":2.449489742783178},"18":{"tf":1.0},"180":{"tf":1.7320508075688772},"185":{"tf":1.0},"19":{"tf":2.0},"207":{"tf":1.4142135623730951},"208":{"tf":1.4142135623730951},"210":{"tf":1.0},"211":{"tf":1.0},"236":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.0},"249":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"278":{"tf":1.0},"279":{"tf":1.0},"287":{"tf":1.4142135623730951},"289":{"tf":1.0},"29":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"44":{"tf":1.0},"52":{"tf":1.0},"57":{"tf":1.0},"65":{"tf":2.23606797749979},"73":{"tf":5.916079783099616},"76":{"tf":1.0},"80":{"tf":1.4142135623730951},"81":{"tf":4.123105625617661},"83":{"tf":1.4142135623730951},"92":{"tf":1.4142135623730951}},"n":{"^":{"2":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"109":{"tf":1.0},"244":{"tf":1.0}}}},",":{"df":0,"docs":{},"找":{"df":0,"docs":{},"尋":{"df":0,"docs":{},"第":{"df":0,"docs":{},"四":{"df":0,"docs":{},"個":{"df":0,"docs":{},"元":{"df":0,"docs":{},"素":{"df":0,"docs":{},"來":{"df":0,"docs":{},"比":{"df":0,"docs":{},"對":{"df":0,"docs":{},",":{"6":{"df":1,"docs":{"29":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}}}}},"看":{"df":0,"docs":{},"看":{"$":{"2":{"^":{"4":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"5":{".":{"4":{"7":{"7":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"0":{"df":1,"docs":{"47":{"tf":1.0}}},"3":{"df":1,"docs":{"47":{"tf":1.0}}},"df":0,"docs":{}},"7":{"df":2,"docs":{"80":{"tf":1.0},"83":{"tf":1.0}}},"df":22,"docs":{"112":{"tf":2.8284271247461903},"117":{"tf":1.0},"118":{"tf":1.0},"125":{"tf":3.4641016151377544},"147":{"tf":2.0},"15":{"tf":1.0},"151":{"tf":1.0},"17":{"tf":1.7320508075688772},"175":{"tf":1.7320508075688772},"179":{"tf":2.0},"180":{"tf":1.0},"19":{"tf":1.0},"207":{"tf":1.0},"211":{"tf":1.0},"239":{"tf":1.0},"262":{"tf":1.0},"279":{"tf":1.0},"287":{"tf":1.4142135623730951},"289":{"tf":1.0},"30":{"tf":1.4142135623730951},"73":{"tf":5.916079783099616},"81":{"tf":4.0}},"n":{"^":{"2":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"19":{"tf":1.0}}}},"6":{",":{"9":{"df":1,"docs":{"136":{"tf":1.4142135623730951}}},"df":0,"docs":{}},".":{"0":{"0":{"6":{"df":1,"docs":{"244":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"df":1,"docs":{"80":{"tf":1.0}}},"4":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"236":{"tf":1.0}}}}},"df":2,"docs":{"262":{"tf":1.0},"288":{"tf":1.0}}},"6":{"6":{"df":2,"docs":{"227":{"tf":2.449489742783178},"230":{"tf":1.0}}},"df":1,"docs":{"147":{"tf":2.6457513110645907}}},"df":15,"docs":{"112":{"tf":2.8284271247461903},"118":{"tf":1.0},"125":{"tf":1.4142135623730951},"136":{"tf":1.4142135623730951},"147":{"tf":2.0},"151":{"tf":1.0},"175":{"tf":1.4142135623730951},"179":{"tf":2.0},"239":{"tf":1.0},"279":{"tf":1.0},"289":{"tf":1.0},"29":{"tf":2.8284271247461903},"30":{"tf":1.4142135623730951},"50":{"tf":2.449489742783178},"81":{"tf":3.872983346207417}}},"7":{"0":{"1":{"df":2,"docs":{"80":{"tf":1.0},"83":{"tf":1.0}}},"df":0,"docs":{}},"1":{",":{"7":{"4":{"df":1,"docs":{"136":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"136":{"tf":1.4142135623730951}}},"4":{",":{"7":{"1":{"df":1,"docs":{"136":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"136":{"tf":1.4142135623730951}}},"5":{"%":{"$":{"df":0,"docs":{},"。":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":1,"docs":{"231":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":2,"docs":{"147":{"tf":2.6457513110645907},"231":{"tf":1.0}}},"df":16,"docs":{"112":{"tf":2.8284271247461903},"125":{"tf":1.4142135623730951},"147":{"tf":2.0},"175":{"tf":1.4142135623730951},"179":{"tf":1.7320508075688772},"227":{"tf":2.449489742783178},"230":{"tf":1.0},"262":{"tf":1.0},"270":{"tf":1.0},"289":{"tf":1.0},"29":{"tf":2.6457513110645907},"30":{"tf":1.7320508075688772},"50":{"tf":1.7320508075688772},"73":{"tf":5.916079783099616},"80":{"tf":1.0},"81":{"tf":3.872983346207417}}},"8":{".":{"0":{"4":{"6":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"2":{"df":1,"docs":{"147":{"tf":2.6457513110645907}}},"df":0,"docs":{}},"8":{"df":2,"docs":{"227":{"tf":2.449489742783178},"230":{"tf":1.0}}},"df":17,"docs":{"112":{"tf":2.8284271247461903},"125":{"tf":3.0},"146":{"tf":1.0},"147":{"tf":1.4142135623730951},"149":{"tf":1.0},"175":{"tf":1.4142135623730951},"179":{"tf":3.1622776601683795},"180":{"tf":1.0},"262":{"tf":1.4142135623730951},"287":{"tf":1.4142135623730951},"289":{"tf":1.0},"29":{"tf":1.4142135623730951},"42":{"tf":1.7320508075688772},"73":{"tf":5.830951894845301},"81":{"tf":4.358898943540674},"83":{"tf":1.0},"97":{"tf":4.795831523312719}},"、":{"9":{"df":0,"docs":{},"、":{"1":{"0":{"df":0,"docs":{},"、":{"1":{"1":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},",":{"8":{"df":1,"docs":{"73":{"tf":1.0}}},"df":0,"docs":{}}},"9":{"0":{"df":2,"docs":{"147":{"tf":2.6457513110645907},"231":{"tf":1.0}}},"1":{",":{"9":{"6":{"df":1,"docs":{"136":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"136":{"tf":1.4142135623730951}}},"5":{".":{"5":{"df":1,"docs":{"275":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"275":{"tf":1.0}}},"6":{",":{"9":{"1":{"df":1,"docs":{"136":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"136":{"tf":1.4142135623730951}}},"9":{"9":{"9":{"df":1,"docs":{"175":{"tf":1.0}}},"df":2,"docs":{"145":{"tf":1.0},"230":{"tf":1.0}}},"df":1,"docs":{"230":{"tf":1.0}}},"df":13,"docs":{"125":{"tf":2.449489742783178},"136":{"tf":1.4142135623730951},"145":{"tf":1.0},"147":{"tf":1.4142135623730951},"149":{"tf":1.0},"151":{"tf":1.4142135623730951},"179":{"tf":1.4142135623730951},"230":{"tf":1.0},"29":{"tf":3.0},"42":{"tf":2.0},"50":{"tf":1.7320508075688772},"52":{"tf":1.0},"81":{"tf":3.7416573867739413}}},"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"_":{"_":{"df":1,"docs":{"61":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"t":{"_":{"_":{"df":1,"docs":{"61":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":11,"docs":{"147":{"tf":5.830951894845301},"180":{"tf":3.605551275463989},"236":{"tf":1.0},"237":{"tf":1.4142135623730951},"238":{"tf":1.4142135623730951},"249":{"tf":1.0},"251":{"tf":1.0},"256":{"tf":1.0},"279":{"tf":1.0},"29":{"tf":5.656854249492381},"50":{"tf":1.4142135623730951}},"k":{"_":{"df":2,"docs":{"263":{"tf":1.0},"264":{"tf":1.0}}},"df":0,"docs":{}},"m":{"_":{"df":2,"docs":{"263":{"tf":1.0},"264":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":3,"docs":{"264":{"tf":1.0},"267":{"tf":1.0},"269":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"{":{"(":{"a":{"df":2,"docs":{"284":{"tf":1.4142135623730951},"287":{"tf":1.0}}},"df":0,"docs":{}},"a":{",":{"b":{"df":0,"docs":{},"}":{"(":{"df":0,"docs":{},"i":{",":{"df":0,"docs":{},"j":{"df":2,"docs":{"284":{"tf":1.7320508075688772},"287":{"tf":1.0}}}},"df":2,"docs":{"284":{"tf":2.0},"287":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":2,"docs":{"284":{"tf":1.4142135623730951},"287":{"tf":1.0}}},"j":{"df":2,"docs":{"284":{"tf":1.4142135623730951},"287":{"tf":1.0}}}}},"a":{"'":{"df":0,"docs":{},"、":{"b":{"df":1,"docs":{"41":{"tf":1.0}}},"df":0,"docs":{}}},"+":{"1":{"df":1,"docs":{"287":{"tf":1.0}}},"df":0,"docs":{}},".":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"210":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"k":{".":{"a":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},">":{"(":{"&":{"'":{"b":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"288":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"162":{"tf":1.0},"172":{"tf":1.0},"245":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"187":{"tf":1.0},"192":{"tf":1.0}},")":{"df":0,"docs":{},"的":{"df":0,"docs":{},"執":{"df":0,"docs":{},"行":{"df":0,"docs":{},"時":{"df":0,"docs":{},"間":{"df":0,"docs":{},",":{"$":{"\\":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"df":0,"docs":{},"k":{"df":1,"docs":{"242":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{},"m":{"df":1,"docs":{"47":{"tf":1.0}}},"t":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"176":{"tf":1.0},"179":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"d":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"266":{"tf":1.0}}}},"k":{"df":1,"docs":{"241":{"tf":1.0}}}},"df":2,"docs":{"175":{"tf":2.0},"188":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":4,"docs":{"230":{"tf":1.7320508075688772},"242":{"tf":1.0},"244":{"tf":1.0},"274":{"tf":1.4142135623730951}},"p":{"df":1,"docs":{"274":{"tf":1.0}}}}}}}},"df":1,"docs":{"180":{"tf":1.0}},"v":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"180":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":2,"docs":{"274":{"tf":1.0},"275":{"tf":1.0}},"g":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"250":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"df":8,"docs":{"0":{"tf":1.7320508075688772},"107":{"tf":1.0},"109":{"tf":1.4142135623730951},"122":{"tf":1.0},"162":{"tf":1.0},"244":{"tf":1.4142135623730951},"39":{"tf":1.0},"93":{"tf":1.0}}}}}}}}},"i":{"a":{"df":1,"docs":{"234":{"tf":1.0}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"o":{"c":{"(":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"176":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":1,"docs":{"176":{"tf":2.449489742783178}},"、":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"、":{"d":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"176":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"w":{"df":1,"docs":{"276":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"h":{"a":{"$":{"df":0,"docs":{},",":{"$":{"\\":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"a":{"df":1,"docs":{"275":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"103":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":4,"docs":{"144":{"tf":1.0},"189":{"tf":1.0},"241":{"tf":1.0},"257":{"tf":1.0}}}}},"q":{"df":1,"docs":{"275":{"tf":1.0}},",":{"df":0,"docs":{},"為":{"df":0,"docs":{},"了":{"df":0,"docs":{},"節":{"df":0,"docs":{},"省":{"df":0,"docs":{},"空":{"df":0,"docs":{},"間":{"df":0,"docs":{},"使":{"df":0,"docs":{},"用":{"df":0,"docs":{},"量":{"df":0,"docs":{},",":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"274":{"tf":1.0}}}}}}}}}}}}}}}}}}}},"n":{"^":{"2":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":3,"docs":{"140":{"tf":1.0},"144":{"tf":1.0},"22":{"tf":1.0}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"46":{"tf":1.0},"47":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"47":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":1,"docs":{"185":{"tf":1.7320508075688772}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"256":{"tf":1.0}}}}}}}}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"176":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"i":{"df":11,"docs":{"0":{"tf":1.0},"153":{"tf":1.0},"163":{"tf":1.0},"173":{"tf":1.0},"200":{"tf":1.0},"226":{"tf":1.0},"245":{"tf":1.0},"259":{"tf":1.0},"269":{"tf":1.0},"277":{"tf":1.0},"282":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"139":{"tf":1.0},"214":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"185":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"175":{"tf":1.0},"179":{"tf":1.4142135623730951},"268":{"tf":1.0}}}}}}}},"r":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"117":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"t":{"df":3,"docs":{"131":{"tf":1.0},"132":{"tf":1.0},"143":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"x":{"df":1,"docs":{"25":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":10,"docs":{"102":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"33":{"tf":1.0},"44":{"tf":1.4142135623730951},"54":{"tf":1.0},"67":{"tf":1.0},"76":{"tf":1.0},"83":{"tf":1.0},"92":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"92":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"df":5,"docs":{"103":{"tf":1.4142135623730951},"107":{"tf":1.0},"108":{"tf":1.0},"67":{"tf":1.0},"76":{"tf":1.4142135623730951}}},"j":{"df":3,"docs":{"59":{"tf":1.0},"61":{"tf":1.0},"83":{"tf":1.0}}},"k":{"df":1,"docs":{"107":{"tf":1.0}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"92":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"(":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"132":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"117":{"tf":1.0},"118":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"1":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"119":{"tf":1.4142135623730951}}}}}},"[":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"119":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"、":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"2":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"2":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"119":{"tf":1.4142135623730951}}}}}},"[":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"119":{"tf":1.4142135623730951}}}}}}}},"df":1,"docs":{"119":{"tf":1.0}}},"[":{".":{".":{"df":0,"docs":{},"i":{"]":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"(":{"&":{"df":0,"docs":{},"v":{"df":1,"docs":{"61":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"61":{"tf":1.0}}},"m":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"117":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"1":{"0":{"0":{"0":{"df":1,"docs":{"145":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"8":{"df":1,"docs":{"42":{"tf":1.0}}},"9":{"df":1,"docs":{"42":{"tf":1.0}}},"b":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"33":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"92":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":4,"docs":{"103":{"tf":1.0},"107":{"tf":1.0},"44":{"tf":2.0},"54":{"tf":1.4142135623730951}},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"96":{"tf":1.0}}}}}},"i":{"+":{"1":{".":{".":{".":{"df":0,"docs":{},"j":{"df":1,"docs":{"96":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},".":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"]":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"[":{"df":0,"docs":{},"i":{".":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":1,"docs":{"118":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":3,"docs":{"108":{"tf":1.0},"61":{"tf":1.0},"76":{"tf":2.0}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}}}}}}}},"j":{".":{".":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"96":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":6,"docs":{"103":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"59":{"tf":1.4142135623730951},"67":{"tf":1.0},"83":{"tf":1.4142135623730951}}},"l":{"df":0,"docs":{},"o":{"df":2,"docs":{"108":{"tf":1.0},"44":{"tf":2.0}},"w":{".":{".":{".":{"df":0,"docs":{},"i":{"df":1,"docs":{"96":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"m":{"df":0,"docs":{},"i":{"d":{".":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":1,"docs":{"118":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":2,"docs":{"117":{"tf":1.4142135623730951},"33":{"tf":1.0}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"132":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"92":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"67":{"tf":1.0}}}}}}},"a":{"df":1,"docs":{"132":{"tf":1.0}},"y":{"[":{"0":{"df":1,"docs":{"125":{"tf":1.0}}},"1":{"df":1,"docs":{"125":{"tf":1.0}}},"2":{"df":1,"docs":{"125":{"tf":1.0}}},"3":{"df":1,"docs":{"125":{"tf":1.0}}},"4":{"df":1,"docs":{"125":{"tf":1.0}}},"5":{"df":1,"docs":{"125":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"187":{"tf":1.0}}}}},"df":0,"docs":{}}}},"_":{"df":0,"docs":{},"s":{"df":1,"docs":{"228":{"tf":1.4142135623730951}}}},"df":31,"docs":{"112":{"tf":1.0},"117":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"119":{"tf":1.4142135623730951},"123":{"tf":1.4142135623730951},"125":{"tf":1.0},"127":{"tf":1.4142135623730951},"128":{"tf":1.4142135623730951},"131":{"tf":1.7320508075688772},"132":{"tf":1.0},"136":{"tf":2.23606797749979},"139":{"tf":1.0},"140":{"tf":1.4142135623730951},"143":{"tf":1.0},"145":{"tf":1.0},"147":{"tf":1.0},"153":{"tf":1.0},"163":{"tf":1.0},"20":{"tf":1.4142135623730951},"225":{"tf":1.0},"227":{"tf":1.0},"230":{"tf":1.7320508075688772},"231":{"tf":1.0},"234":{"tf":1.4142135623730951},"236":{"tf":1.0},"242":{"tf":1.0},"260":{"tf":1.0},"262":{"tf":2.449489742783178},"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0}},",":{"df":0,"docs":{},"而":{"df":0,"docs":{},"是":{"df":0,"docs":{},"在":{"df":0,"docs":{},"堆":{"df":0,"docs":{},"積":{"df":0,"docs":{},"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}}}},"df":8,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"130":{"tf":1.4142135623730951},"132":{"tf":1.4142135623730951},"143":{"tf":1.4142135623730951},"151":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"92":{"tf":1.0}}}},"s":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"i":{"df":10,"docs":{"112":{"tf":1.0},"136":{"tf":1.0},"175":{"tf":1.0},"196":{"tf":1.0},"230":{"tf":1.0},"279":{"tf":1.0},"73":{"tf":1.0},"81":{"tf":1.4142135623730951},"96":{"tf":1.0},"97":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"!":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"187":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"187":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":3,"docs":{"119":{"tf":1.0},"185":{"tf":1.0},"207":{"tf":1.4142135623730951}}}}},"o":{"c":{"df":0,"docs":{},"i":{"df":4,"docs":{"185":{"tf":1.0},"211":{"tf":1.0},"216":{"tf":1.0},"225":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"228":{"tf":1.0},"230":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":3,"docs":{"1":{"tf":1.0},"14":{"tf":1.0},"260":{"tf":1.0}}}}}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"262":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"210":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"188":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"185":{"tf":1.0}}}}}}},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":10,"docs":{"113":{"tf":1.0},"126":{"tf":1.0},"137":{"tf":1.0},"148":{"tf":1.0},"58":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":1.0},"88":{"tf":1.0},"98":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"g":{"df":15,"docs":{"113":{"tf":1.0},"126":{"tf":1.0},"137":{"tf":1.0},"148":{"tf":1.0},"24":{"tf":1.0},"30":{"tf":1.0},"43":{"tf":1.4142135623730951},"51":{"tf":1.0},"58":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":1.0},"84":{"tf":1.0},"88":{"tf":1.0},"98":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"i":{"df":2,"docs":{"43":{"tf":1.0},"47":{"tf":1.0}}}},"o":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"107":{"tf":1.0},"118":{"tf":1.0}}},"df":0,"docs":{}}}},"、":{"b":{"df":1,"docs":{"285":{"tf":1.0}}},"df":0,"docs":{}},",":{"a":{"df":1,"docs":{"208":{"tf":1.0}}},"df":0,"docs":{}}},"b":{"+":{"1":{"df":1,"docs":{"287":{"tf":1.0}}},"df":0,"docs":{}},".":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"210":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},">":{"(":{"&":{"'":{"a":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"k":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"181":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":7,"docs":{"117":{"tf":1.4142135623730951},"118":{"tf":1.0},"119":{"tf":1.0},"178":{"tf":1.0},"181":{"tf":1.0},"189":{"tf":1.0},"207":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{".":{".":{"df":0,"docs":{},"s":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}},"df":5,"docs":{"111":{"tf":1.0},"117":{"tf":1.0},"184":{"tf":1.0},"234":{"tf":1.0},"33":{"tf":2.449489742783178}}}}},"df":18,"docs":{"125":{"tf":2.6457513110645907},"139":{"tf":1.4142135623730951},"185":{"tf":1.7320508075688772},"207":{"tf":2.449489742783178},"208":{"tf":1.7320508075688772},"210":{"tf":1.0},"240":{"tf":1.7320508075688772},"250":{"tf":3.1622776601683795},"251":{"tf":2.0},"253":{"tf":1.7320508075688772},"255":{"tf":1.4142135623730951},"256":{"tf":3.4641016151377544},"284":{"tf":2.6457513110645907},"285":{"tf":1.4142135623730951},"287":{"tf":2.0},"289":{"tf":1.7320508075688772},"290":{"tf":1.0},"41":{"tf":2.0}},"e":{"df":1,"docs":{"210":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"176":{"tf":1.0},"180":{"tf":1.4142135623730951}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"{":{"c":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"114":{"tf":1.0},"284":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"274":{"tf":1.0}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"df":21,"docs":{"113":{"tf":1.0},"126":{"tf":1.0},"137":{"tf":1.0},"139":{"tf":1.0},"148":{"tf":1.0},"161":{"tf":1.0},"171":{"tf":1.0},"189":{"tf":1.0},"24":{"tf":1.0},"241":{"tf":1.0},"257":{"tf":1.0},"30":{"tf":1.0},"43":{"tf":1.0},"51":{"tf":1.0},"58":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":1.0},"84":{"tf":1.0},"88":{"tf":1.0},"98":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"260":{"tf":1.0},"275":{"tf":1.0},"276":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"44":{"tf":1.0}}}}}}}},"f":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"\"":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"264":{"tf":1.0}}}}}}},"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"264":{"tf":1.0}}}}}}}},"&":{"1":{"df":1,"docs":{"264":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"!":{"[":{"3":{".":{"1":{"4":{"1":{"5":{"9":{"df":1,"docs":{"264":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":1,"docs":{"264":{"tf":1.4142135623730951}}},"i":{"df":0,"docs":{},"g":{"df":7,"docs":{"10":{"tf":1.4142135623730951},"162":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"19":{"tf":1.7320508075688772},"20":{"tf":1.0},"22":{"tf":1.4142135623730951}}},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":12,"docs":{"117":{"tf":1.0},"20":{"tf":1.0},"27":{"tf":1.4142135623730951},"3":{"tf":1.0},"38":{"tf":1.4142135623730951},"39":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":2.23606797749979},"85":{"tf":1.0},"87":{"tf":1.0},"89":{"tf":1.0},"92":{"tf":1.0}}},"y":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}}},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"(":{"&":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"[":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{".":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"54":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{">":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":2,"docs":{"32":{"tf":1.0},"33":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"_":{"b":{"df":0,"docs":{},"i":{"df":1,"docs":{"143":{"tf":1.0}}}},"df":0,"docs":{}},"df":2,"docs":{"32":{"tf":1.0},"61":{"tf":2.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"d":{"df":1,"docs":{"217":{"tf":1.0}}},"df":1,"docs":{"134":{"tf":1.0}}},"t":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"/":{"c":{"a":{"a":{"b":{"7":{"df":0,"docs":{},"f":{"b":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":9,"docs":{"255":{"tf":1.0},"260":{"tf":1.0},"262":{"tf":3.3166247903554},"263":{"tf":1.7320508075688772},"264":{"tf":1.7320508075688772},"267":{"tf":1.7320508075688772},"269":{"tf":1.4142135623730951},"271":{"tf":1.0},"275":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"255":{"tf":1.0}}}}}}},"<":{"&":{"'":{"b":{"df":1,"docs":{"255":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"255":{"tf":1.7320508075688772}}}},"s":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"267":{"tf":1.7320508075688772},"269":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":2,"docs":{"179":{"tf":1.0},"255":{"tf":1.0}}}}}}},"l":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"227":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"176":{"tf":1.0},"185":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"\"":{"1":{"2":{"3":{"4":{"df":1,"docs":{"265":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}}}},"df":18,"docs":{"224":{"tf":1.0},"259":{"tf":3.1622776601683795},"260":{"tf":2.0},"262":{"tf":1.0},"264":{"tf":1.4142135623730951},"265":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.0},"269":{"tf":1.0},"270":{"tf":1.0},"271":{"tf":2.6457513110645907},"272":{"tf":3.0},"273":{"tf":2.449489742783178},"274":{"tf":1.0},"275":{"tf":1.4142135623730951},"276":{"tf":2.23606797749979},"8":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":6,"docs":{"262":{"tf":2.6457513110645907},"263":{"tf":2.0},"264":{"tf":1.7320508075688772},"265":{"tf":1.0},"266":{"tf":1.0},"276":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"263":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"263":{"tf":1.0}}}}},"df":0,"docs":{}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":2,"docs":{"264":{"tf":1.4142135623730951},"267":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{"df":3,"docs":{"264":{"tf":1.7320508075688772},"265":{"tf":1.4142135623730951},"269":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}}}}}},"n":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"o":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"185":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"227":{"tf":1.0}}},"l":{"df":10,"docs":{"157":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.0},"212":{"tf":1.0},"249":{"tf":2.0},"253":{"tf":1.7320508075688772},"256":{"tf":1.7320508075688772},"262":{"tf":1.7320508075688772},"269":{"tf":1.7320508075688772},"33":{"tf":1.0}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"<":{"df":0,"docs":{},"q":{"df":3,"docs":{"237":{"tf":1.0},"238":{"tf":1.0},"249":{"tf":1.4142135623730951}}}},"df":5,"docs":{"185":{"tf":1.4142135623730951},"211":{"tf":1.4142135623730951},"237":{"tf":2.0},"251":{"tf":2.6457513110645907},"252":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"54":{"tf":1.0}}}}},"df":6,"docs":{"118":{"tf":1.4142135623730951},"185":{"tf":1.4142135623730951},"187":{"tf":1.7320508075688772},"265":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"67":{"tf":1.0}},"?":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"67":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"x":{":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"211":{"tf":1.0}}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"207":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"202":{"tf":1.0},"211":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"202":{"tf":1.0}}}},"df":3,"docs":{"195":{"tf":1.0},"202":{"tf":1.0},"210":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"233":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":4,"docs":{"279":{"tf":1.0},"44":{"tf":2.0},"76":{"tf":1.0},"92":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"u":{"b":{"b":{"df":0,"docs":{},"l":{"df":8,"docs":{"20":{"tf":1.0},"4":{"tf":1.0},"71":{"tf":1.7320508075688772},"73":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"77":{"tf":1.0},"94":{"tf":1.0}},"e":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"76":{"tf":1.0}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"d":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"76":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{".":{"c":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"(":{"&":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"143":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"237":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"(":{"df":0,"docs":{},"|":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"238":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"238":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"(":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"238":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{")":{".":{"1":{"df":1,"docs":{"238":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"143":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"143":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"h":{"df":1,"docs":{"142":{"tf":1.7320508075688772}}},"k":{"df":1,"docs":{"234":{"tf":1.0}}}},"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"239":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"235":{"tf":1.0}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"h":{"df":1,"docs":{"143":{"tf":1.0}}}},"df":2,"docs":{"142":{"tf":1.0},"143":{"tf":1.4142135623730951}}}}}}},"df":28,"docs":{"123":{"tf":1.0},"134":{"tf":2.0},"135":{"tf":1.4142135623730951},"136":{"tf":2.0},"137":{"tf":1.0},"138":{"tf":2.0},"139":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"142":{"tf":2.6457513110645907},"143":{"tf":3.0},"144":{"tf":2.0},"145":{"tf":1.4142135623730951},"147":{"tf":1.7320508075688772},"149":{"tf":1.4142135623730951},"150":{"tf":1.0},"227":{"tf":1.7320508075688772},"230":{"tf":1.4142135623730951},"231":{"tf":1.4142135623730951},"234":{"tf":3.4641016151377544},"235":{"tf":2.0},"236":{"tf":2.6457513110645907},"237":{"tf":1.7320508075688772},"238":{"tf":2.23606797749979},"239":{"tf":1.7320508075688772},"240":{"tf":1.0},"242":{"tf":2.0},"274":{"tf":1.0},"4":{"tf":1.0}},"s":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"_":{"b":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"|":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"143":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"236":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"]":{".":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"143":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"、":{"df":0,"docs":{},"s":{"c":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"、":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":1,"docs":{"143":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},",":{"df":0,"docs":{},"並":{"df":0,"docs":{},"考":{"df":0,"docs":{},"慮":{"df":0,"docs":{},"平":{"df":0,"docs":{},"攤":{"df":0,"docs":{},"分":{"df":0,"docs":{},"析":{"df":0,"docs":{},"(":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"140":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"174":{"tf":1.0},"175":{"tf":1.4142135623730951},"180":{"tf":1.4142135623730951},"190":{"tf":1.4142135623730951}}}}}},"g":{"df":1,"docs":{"15":{"tf":1.7320508075688772}}},"i":{"df":0,"docs":{},"l":{"d":{"df":4,"docs":{"0":{"tf":1.0},"267":{"tf":1.0},"89":{"tf":1.4142135623730951},"92":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"276":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":3,"docs":{"116":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0}}}}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":4,"docs":{"147":{"tf":1.0},"149":{"tf":1.0},"236":{"tf":1.0},"287":{"tf":1.0}}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"152":{"tf":1.0}}},"df":0,"docs":{}}}}},",":{"b":{"df":1,"docs":{"208":{"tf":1.0}}},"df":0,"docs":{}},":":{"a":{"df":1,"docs":{"256":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"c":{".":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"210":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"1":{"df":1,"docs":{"279":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"279":{"tf":1.4142135623730951}}},"_":{"0":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"139":{"tf":1.0}}}},"df":1,"docs":{"139":{"tf":1.4142135623730951}},"n":{"df":1,"docs":{"139":{"tf":1.0}}}},"1":{"df":1,"docs":{"139":{"tf":1.7320508075688772}},"k":{"df":1,"docs":{"139":{"tf":1.0}}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"h":{"df":6,"docs":{"21":{"tf":1.0},"218":{"tf":1.0},"230":{"tf":1.7320508075688772},"259":{"tf":1.0},"271":{"tf":1.0},"274":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":5,"docs":{"131":{"tf":1.0},"132":{"tf":1.0},"176":{"tf":1.0},"276":{"tf":1.0},"44":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":7,"docs":{"100":{"tf":1.7320508075688772},"105":{"tf":2.23606797749979},"115":{"tf":1.0},"180":{"tf":1.0},"210":{"tf":2.23606797749979},"211":{"tf":1.0},"99":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"176":{"tf":1.0}}}}}},"p":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"179":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"a":{"c":{"df":5,"docs":{"176":{"tf":1.0},"239":{"tf":1.7320508075688772},"262":{"tf":1.0},"267":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"159":{"tf":1.0}}}}}},"df":3,"docs":{"176":{"tf":2.23606797749979},"180":{"tf":1.0},"188":{"tf":1.0}}},"r":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"256":{"tf":1.4142135623730951}}}}},"df":1,"docs":{"233":{"tf":1.4142135623730951}},"e":{"df":1,"docs":{"176":{"tf":1.0}}},"g":{"df":0,"docs":{},"o":{"df":2,"docs":{"291":{"tf":1.0},"294":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":7,"docs":{"111":{"tf":1.0},"138":{"tf":1.0},"139":{"tf":1.0},"189":{"tf":1.4142135623730951},"241":{"tf":1.4142135623730951},"257":{"tf":1.4142135623730951},"84":{"tf":1.0}},")":{"df":0,"docs":{},",":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"d":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"117":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":1,"docs":{"190":{"tf":1.0}}}}}}}}},"c":{"df":14,"docs":{"122":{"tf":1.0},"13":{"tf":1.0},"190":{"tf":1.0},"225":{"tf":1.0},"244":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.4142135623730951},"62":{"tf":1.0},"64":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"77":{"tf":1.0},"93":{"tf":1.0}}},"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":16,"docs":{"139":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"149":{"tf":1.0},"150":{"tf":1.4142135623730951},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.4142135623730951},"230":{"tf":1.0},"273":{"tf":1.0},"290":{"tf":1.0},"30":{"tf":1.0},"42":{"tf":1.7320508075688772},"58":{"tf":2.23606797749979},"66":{"tf":1.0},"89":{"tf":1.0},"99":{"tf":1.0}}}}},"df":8,"docs":{"119":{"tf":1.0},"125":{"tf":2.449489742783178},"16":{"tf":1.4142135623730951},"180":{"tf":1.0},"205":{"tf":1.0},"210":{"tf":1.0},"256":{"tf":1.0},"58":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"114":{"tf":1.0}}}}},"h":{"1":{"df":2,"docs":{"287":{"tf":2.0},"289":{"tf":1.4142135623730951}}},"2":{"df":2,"docs":{"287":{"tf":2.0},"289":{"tf":1.4142135623730951}}},"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"230":{"tf":2.0},"234":{"tf":1.4142135623730951},"242":{"tf":1.0},"243":{"tf":1.0},"251":{"tf":1.0},"274":{"tf":1.4142135623730951}}}},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"185":{"tf":1.0},"288":{"tf":1.0}}}},"r":{"df":2,"docs":{"287":{"tf":1.0},"289":{"tf":1.0}},"t":{"df":1,"docs":{"175":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"162":{"tf":1.0},"20":{"tf":1.0}},"s":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"118":{"tf":1.0},"96":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"251":{"tf":1.0},"252":{"tf":1.0}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"89":{"tf":1.7320508075688772},"92":{"tf":3.4641016151377544}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"89":{"tf":1.0}}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"103":{"tf":1.0}}}}},"z":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"12":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"259":{"tf":1.0}}}}}}}}},"i":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"190":{"tf":1.4142135623730951},"198":{"tf":1.0},"7":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"r":{"a":{"'":{"df":1,"docs":{"83":{"tf":1.0}}},"df":2,"docs":{"80":{"tf":1.0},"84":{"tf":1.0}}},"df":0,"docs":{}}}},"j":{"df":0,"docs":{},"k":{"df":1,"docs":{"287":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"204":{"tf":1.0},"235":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"294":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":7,"docs":{"130":{"tf":1.4142135623730951},"132":{"tf":1.0},"143":{"tf":1.4142135623730951},"151":{"tf":1.0},"251":{"tf":1.4142135623730951},"255":{"tf":1.7320508075688772},"268":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"251":{"tf":3.7416573867739413},"288":{"tf":1.0}},"e":{"@":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"/":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"2":{"5":{"4":{":":{"2":{"3":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{":":{"1":{"8":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"u":{"d":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"271":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"251":{"tf":1.0}}}}}}},"u":{"b":{"df":2,"docs":{"0":{"tf":1.7320508075688772},"109":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"230":{"tf":1.0}}}}}}}},"m":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":2,"docs":{"42":{"tf":1.0},"47":{"tf":1.0}}}}}},"p":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"c":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"289":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"c":{"df":2,"docs":{"122":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"b":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"122":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"e":{"df":5,"docs":{"10":{"tf":1.0},"139":{"tf":1.0},"276":{"tf":1.0},"277":{"tf":1.0},"291":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{":":{":":{"<":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"131":{"tf":1.0},"132":{"tf":1.0},"143":{"tf":1.0},"255":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"d":{"df":1,"docs":{"230":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":2,"docs":{"229":{"tf":1.0},"274":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0}}}}},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"111":{"tf":1.0},"116":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":12,"docs":{"122":{"tf":1.0},"13":{"tf":1.0},"190":{"tf":1.0},"199":{"tf":1.0},"225":{"tf":1.0},"244":{"tf":1.0},"47":{"tf":1.4142135623730951},"62":{"tf":1.0},"70":{"tf":1.0},"77":{"tf":1.0},"9":{"tf":1.0},"93":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"47":{"tf":1.0}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"119":{"tf":1.0}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"256":{"tf":1.0},"44":{"tf":1.0}}}}}}},"t":{"df":1,"docs":{"264":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"l":{"df":5,"docs":{"100":{"tf":1.0},"202":{"tf":1.0},"251":{"tf":1.4142135623730951},"262":{"tf":1.4142135623730951},"264":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":32,"docs":{"100":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"137":{"tf":1.0},"140":{"tf":1.0},"144":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.0},"161":{"tf":1.4142135623730951},"162":{"tf":1.0},"171":{"tf":1.4142135623730951},"214":{"tf":1.0},"22":{"tf":1.4142135623730951},"24":{"tf":1.0},"270":{"tf":1.0},"290":{"tf":1.0},"30":{"tf":1.0},"43":{"tf":1.0},"51":{"tf":1.0},"58":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"82":{"tf":1.0},"88":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"47":{"tf":1.0},"84":{"tf":1.0}}}}}},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"256":{"tf":1.7320508075688772}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"111":{"tf":1.4142135623730951},"116":{"tf":1.4142135623730951},"95":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"264":{"tf":1.0}}},"df":0,"docs":{}},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"262":{"tf":1.7320508075688772}}}}},"df":2,"docs":{"239":{"tf":1.0},"83":{"tf":1.0}}},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"211":{"tf":1.0},"255":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"216":{"tf":1.0},"225":{"tf":1.0},"249":{"tf":1.4142135623730951},"266":{"tf":1.0}},"s":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"269":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"v":{"df":2,"docs":{"257":{"tf":1.0},"270":{"tf":1.0}}}},"<":{"df":0,"docs":{},"q":{">":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"249":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"176":{"tf":1.4142135623730951},"180":{"tf":1.0},"185":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":1,"docs":{"279":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"]":{"[":{"1":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"i":{"df":8,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"143":{"tf":1.0},"180":{"tf":1.0},"185":{"tf":1.4142135623730951}}},"y":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"180":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"13":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"288":{"tf":1.0}}}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"289":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":2,"docs":{"105":{"tf":1.0},"210":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},")":{"df":0,"docs":{},",":{"df":0,"docs":{},"漢":{"df":0,"docs":{},"明":{"df":0,"docs":{},"碼":{"df":0,"docs":{},"(":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":1,"docs":{"277":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"df":0,"docs":{},"s":{"c":{"a":{"df":0,"docs":{},"n":{"(":{"0":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}},"[":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}}},"df":0,"docs":{}},"df":22,"docs":{"123":{"tf":2.0},"124":{"tf":1.0},"125":{"tf":2.0},"127":{"tf":2.0},"128":{"tf":1.4142135623730951},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.7320508075688772},"132":{"tf":1.4142135623730951},"133":{"tf":1.4142135623730951},"145":{"tf":2.23606797749979},"147":{"tf":1.7320508075688772},"149":{"tf":1.4142135623730951},"150":{"tf":1.0},"151":{"tf":1.7320508075688772},"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.4142135623730951},"272":{"tf":2.23606797749979},"278":{"tf":1.7320508075688772},"279":{"tf":1.7320508075688772},"4":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"151":{"tf":1.0}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"f":{"df":2,"docs":{"130":{"tf":1.0},"132":{"tf":1.0}}}},"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"152":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"225":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"u":{"df":6,"docs":{"192":{"tf":1.4142135623730951},"21":{"tf":1.0},"230":{"tf":1.4142135623730951},"259":{"tf":1.0},"271":{"tf":1.0},"85":{"tf":1.4142135623730951}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"62":{"tf":1.0}}}}}}}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"44":{"tf":1.0}},"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":11,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"122":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"142":{"tf":1.0},"143":{"tf":1.7320508075688772},"207":{"tf":1.0},"211":{"tf":1.0},"227":{"tf":1.0},"77":{"tf":1.0}},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"13":{"tf":1.0}}}}}},"df":0,"docs":{}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"229":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":1,"docs":{"275":{"tf":3.1622776601683795}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{"?":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"207":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"207":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"207":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":2,"docs":{"207":{"tf":2.8284271247461903},"208":{"tf":2.449489742783178}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"207":{"tf":1.7320508075688772},"208":{"tf":1.0},"251":{"tf":1.4142135623730951}}}}}}}}},"d":{".":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{")":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"(":{"1":{"df":1,"docs":{"186":{"tf":1.0}}},"2":{"df":1,"docs":{"186":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"3":{"df":1,"docs":{"186":{"tf":1.0}}},"4":{"df":1,"docs":{"186":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"251":{"tf":1.0}}}}},"t":{"a":{"df":11,"docs":{"162":{"tf":1.0},"172":{"tf":1.0},"175":{"tf":2.449489742783178},"200":{"tf":1.0},"245":{"tf":1.0},"251":{"tf":1.0},"259":{"tf":1.0},"271":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0},"43":{"tf":1.0}}},"df":0,"docs":{}}},"df":5,"docs":{"125":{"tf":2.449489742783178},"148":{"tf":1.0},"149":{"tf":1.4142135623730951},"150":{"tf":1.0},"186":{"tf":1.7320508075688772}},"e":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{".":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"176":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"_":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"!":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":1,"docs":{"179":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"188":{"tf":1.0}}}}}}},"df":2,"docs":{"188":{"tf":2.0},"213":{"tf":1.7320508075688772}}}}},"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"185":{"tf":1.0},"251":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"238":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"236":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"131":{"tf":1.0},"132":{"tf":1.0},"236":{"tf":1.7320508075688772}},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":4,"docs":{"233":{"tf":1.0},"263":{"tf":1.4142135623730951},"264":{"tf":1.0},"269":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"233":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}}}},"l":{"df":1,"docs":{"287":{"tf":2.0}},"e":{"df":0,"docs":{},"t":{"df":4,"docs":{"161":{"tf":1.0},"171":{"tf":1.0},"282":{"tf":1.0},"289":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":2,"docs":{"263":{"tf":1.0},"264":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"47":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"q":{"df":0,"docs":{},"u":{"df":9,"docs":{"171":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":1.0},"177":{"tf":1.4142135623730951},"182":{"tf":1.0},"184":{"tf":1.7320508075688772},"185":{"tf":1.7320508075688772},"186":{"tf":1.7320508075688772},"6":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"f":{"df":1,"docs":{"184":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},":":{":":{"c":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"179":{"tf":1.0}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"184":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"186":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"186":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"186":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{"df":6,"docs":{"177":{"tf":1.4142135623730951},"179":{"tf":1.0},"184":{"tf":1.0},"186":{"tf":2.6457513110645907},"187":{"tf":1.4142135623730951},"188":{"tf":1.0}}}},"df":0,"docs":{},"u":{"df":2,"docs":{"165":{"tf":1.0},"171":{"tf":1.4142135623730951}},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"168":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},")":{"df":0,"docs":{},"是":{"df":0,"docs":{},"一":{"df":0,"docs":{},"般":{"df":0,"docs":{},"化":{"df":0,"docs":{},"(":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"173":{"tf":1.0}}}}}}}}}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{":":{":":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"211":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"176":{"tf":1.0},"83":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"188":{"tf":1.4142135623730951}},"e":{"(":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"188":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"92":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"270":{"tf":1.0}}}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"103":{"tf":1.0},"44":{"tf":1.0},"54":{"tf":1.0}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":1.0},"47":{"tf":1.0}}}}}}}}}}}},"i":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":6,"docs":{"112":{"tf":1.0},"136":{"tf":1.0},"258":{"tf":1.0},"73":{"tf":1.0},"81":{"tf":1.4142135623730951},"97":{"tf":1.0}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},",":{"df":0,"docs":{},"j":{"a":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"216":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"251":{"tf":1.0},"255":{"tf":1.0},"257":{"tf":1.4142135623730951},"267":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"<":{"'":{"a":{">":{"(":{"&":{"'":{"a":{"df":1,"docs":{"252":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},":":{"df":0,"docs":{},"差":{"df":0,"docs":{},"集":{"df":0,"docs":{},",":{"a":{"df":1,"docs":{"250":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":5,"docs":{"146":{"tf":1.4142135623730951},"147":{"tf":1.7320508075688772},"148":{"tf":1.0},"151":{"tf":2.0},"278":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"250":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"256":{"tf":1.0}}}}}}},"k":{"df":1,"docs":{"259":{"tf":1.0}}},"p":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"240":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"84":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":9,"docs":{"230":{"tf":1.0},"277":{"tf":1.0},"281":{"tf":1.0},"282":{"tf":1.4142135623730951},"287":{"tf":1.4142135623730951},"288":{"tf":1.4142135623730951},"289":{"tf":1.0},"291":{"tf":2.0},"9":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{")":{".":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"|":{"d":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"289":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"[":{"0":{"]":{"[":{"df":0,"docs":{},"j":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":1,"docs":{"289":{"tf":1.0}}},"df":0,"docs":{},"i":{"]":{"[":{"0":{"df":2,"docs":{"287":{"tf":1.4142135623730951},"288":{"tf":1.0}}},"df":0,"docs":{},"j":{"df":1,"docs":{"287":{"tf":2.0}}}},"df":0,"docs":{}},"df":1,"docs":{"287":{"tf":2.0}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"j":{"df":1,"docs":{"289":{"tf":2.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":1,"docs":{"289":{"tf":1.4142135623730951}},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":4,"docs":{"129":{"tf":1.0},"229":{"tf":1.0},"43":{"tf":1.7320508075688772},"47":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"i":{"d":{"df":5,"docs":{"110":{"tf":1.0},"111":{"tf":1.0},"116":{"tf":1.4142135623730951},"30":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":6,"docs":{"0":{"tf":1.0},"190":{"tf":1.0},"215":{"tf":1.0},"225":{"tf":1.0},"244":{"tf":1.0},"258":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"262":{"tf":1.0}}}},"df":0,"docs":{}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"199":{"tf":1.0},"258":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"271":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"87":{"tf":1.0}}},"’":{"df":0,"docs":{},"t":{"df":1,"docs":{"274":{"tf":1.0}}}}},"u":{"b":{"df":0,"docs":{},"l":{"df":5,"docs":{"173":{"tf":1.0},"180":{"tf":1.0},"230":{"tf":1.0},"271":{"tf":1.0},"275":{"tf":1.0}},"i":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"n":{"df":7,"docs":{"116":{"tf":1.0},"117":{"tf":1.0},"119":{"tf":1.0},"87":{"tf":1.7320508075688772},"89":{"tf":1.7320508075688772},"90":{"tf":1.7320508075688772},"92":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"176":{"tf":1.0},"184":{"tf":1.0},"210":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}},"df":7,"docs":{"176":{"tf":2.8284271247461903},"182":{"tf":1.0},"184":{"tf":2.6457513110645907},"185":{"tf":1.0},"205":{"tf":1.7320508075688772},"210":{"tf":3.1622776601683795},"251":{"tf":1.0}}}}},"s":{"a":{"df":1,"docs":{"152":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":3,"docs":{"180":{"tf":1.4142135623730951},"233":{"tf":1.4142135623730951},"265":{"tf":1.4142135623730951}}}},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"185":{"tf":1.0}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"107":{"tf":1.0}}},"df":0,"docs":{}}}},"s":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"215":{"tf":1.0}}}}}},"df":0,"docs":{}},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"107":{"tf":1.0}}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":6,"docs":{"140":{"tf":1.0},"230":{"tf":1.0},"233":{"tf":1.4142135623730951},"240":{"tf":1.0},"262":{"tf":1.0},"285":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"0":{"3":{"7":{"3":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"2":{"3":{"df":1,"docs":{"251":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"^":{"df":0,"docs":{},"{":{"7":{"7":{"7":{"^":{"df":0,"docs":{},"{":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"_":{"2":{"^":{"9":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"139":{"tf":1.4142135623730951},"146":{"tf":1.4142135623730951},"211":{"tf":1.0}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"0":{"tf":1.0},"109":{"tf":1.0},"244":{"tf":1.0},"282":{"tf":1.0}}}}},"df":2,"docs":{"125":{"tf":2.23606797749979},"284":{"tf":1.0}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{".":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"1":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}},"2":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":7,"docs":{"182":{"tf":1.4142135623730951},"186":{"tf":2.23606797749979},"202":{"tf":1.7320508075688772},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"268":{"tf":1.7320508075688772},"269":{"tf":2.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":11,"docs":{"103":{"tf":1.4142135623730951},"107":{"tf":1.0},"108":{"tf":2.23606797749979},"119":{"tf":1.4142135623730951},"131":{"tf":1.0},"132":{"tf":1.7320508075688772},"139":{"tf":1.0},"142":{"tf":1.0},"176":{"tf":1.0},"179":{"tf":1.0},"185":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"105":{"tf":1.0}}}}},"s":{"df":1,"docs":{"251":{"tf":1.7320508075688772}}}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":5,"docs":{"140":{"tf":1.0},"175":{"tf":1.0},"227":{"tf":1.0},"44":{"tf":1.0},"54":{"tf":1.0}}}}}},"n":{"d":{"df":4,"docs":{"173":{"tf":1.0},"211":{"tf":1.0},"34":{"tf":1.4142135623730951},"92":{"tf":3.3166247903554}},"{":{"c":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"114":{"tf":1.0},"284":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":3,"docs":{"165":{"tf":1.0},"167":{"tf":1.0},"171":{"tf":1.0}},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"167":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":2,"docs":{"210":{"tf":1.0},"215":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"271":{"tf":1.0}}},"y":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"239":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"266":{"tf":1.0},"267":{"tf":1.0},"270":{"tf":1.4142135623730951}}}}}}}},"q":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"212":{"tf":1.0},"256":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":9,"docs":{"233":{"tf":1.4142135623730951},"234":{"tf":1.4142135623730951},"236":{"tf":1.4142135623730951},"237":{"tf":1.0},"238":{"tf":1.0},"247":{"tf":1.0},"249":{"tf":1.7320508075688772},"255":{"tf":1.0},"256":{"tf":2.8284271247461903}},"u":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"107":{"tf":1.0},"256":{"tf":1.0},"44":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},")":{"df":0,"docs":{},"定":{"df":0,"docs":{},"義":{"df":0,"docs":{},"為":{"df":0,"docs":{},":":{"df":0,"docs":{},"x":{"df":1,"docs":{"256":{"tf":1.0}}}}}}}}}}}}},"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"(":{"df":0,"docs":{},"s":{"a":{"df":1,"docs":{"212":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"256":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},",":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"233":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"r":{"(":{"0":{"df":3,"docs":{"33":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951}}},"b":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"143":{"tf":1.0}}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}},"p":{"df":0,"docs":{},"o":{"df":2,"docs":{"207":{"tf":1.4142135623730951},"61":{"tf":1.0}}}},"目":{"df":0,"docs":{},"標":{"df":0,"docs":{},"值":{"df":0,"docs":{},"若":{"df":0,"docs":{},"插":{"df":0,"docs":{},"入":{"df":0,"docs":{},"後":{"df":0,"docs":{},",":{"df":0,"docs":{},"不":{"df":0,"docs":{},"會":{"df":0,"docs":{},"影":{"df":0,"docs":{},"響":{"df":0,"docs":{},"序":{"df":0,"docs":{},"列":{"df":0,"docs":{},"排":{"df":0,"docs":{},"序":{"df":0,"docs":{},"的":{"df":0,"docs":{},"位":{"df":0,"docs":{},"置":{")":{"df":0,"docs":{},"。":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"32":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}}},"_":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"267":{"tf":2.449489742783178},"269":{"tf":1.7320508075688772}},"e":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}},"o":{"df":0,"docs":{},"g":{"2":{"(":{")":{")":{".":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":2,"docs":{"44":{"tf":1.0},"61":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"r":{"[":{"df":0,"docs":{},"e":{"0":{"1":{"9":{"5":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"7":{"7":{"df":1,"docs":{"262":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"0":{"8":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"7":{"3":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"9":{"2":{"df":1,"docs":{"264":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"3":{"5":{"df":1,"docs":{"262":{"tf":1.0}}},"df":0,"docs":{}},"9":{"5":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"2":{"3":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":4,"docs":{"251":{"tf":1.4142135623730951},"264":{"tf":1.0},"276":{"tf":1.0},"277":{"tf":1.0}}}}}},"t":{"df":2,"docs":{"274":{"tf":1.0},"275":{"tf":1.0}}},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":5,"docs":{"143":{"tf":1.0},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"19":{"tf":1.7320508075688772},"92":{"tf":1.0}}}},"t":{"df":1,"docs":{"44":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"(":{"\"":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"238":{"tf":1.0}}}}},"df":0,"docs":{}}},"&":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"!":{"(":{"\"":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"238":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":3,"docs":{"185":{"tf":1.0},"238":{"tf":1.0},"240":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"<":{"df":0,"docs":{},"t":{">":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"54":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":4,"docs":{"3":{"tf":1.0},"37":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"55":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"185":{"tf":1.0}}}}}}},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"130":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"f":{"(":{"df":0,"docs":{},"n":{"df":3,"docs":{"17":{"tf":3.3166247903554},"18":{"tf":1.7320508075688772},"19":{"tf":2.23606797749979}}},"x":{")":{"=":{"\\":{"df":0,"docs":{},"s":{"df":0,"docs":{},"q":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"{":{"\\":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"{":{"1":{"8":{"2":{"7":{"7":{"7":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"2":{"8":{"6":{"df":0,"docs":{},"}":{"df":0,"docs":{},"}":{"\\":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"16":{"tf":1.7320508075688772}}}},".":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{")":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"188":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"6":{"4":{"df":3,"docs":{"239":{"tf":1.4142135623730951},"267":{"tf":2.449489742783178},"269":{"tf":2.0}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"q":{"df":1,"docs":{"274":{"tf":1.0}}}},"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"176":{"tf":1.0}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":8,"docs":{"231":{"tf":2.8284271247461903},"235":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.4142135623730951},"242":{"tf":1.4142135623730951},"243":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.0}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":3,"docs":{"122":{"tf":1.0},"244":{"tf":1.0},"93":{"tf":1.0}}},"s":{"df":7,"docs":{"157":{"tf":1.0},"168":{"tf":1.0},"212":{"tf":1.0},"253":{"tf":1.4142135623730951},"256":{"tf":2.0},"260":{"tf":1.0},"76":{"tf":1.0}}}},"n":{"df":1,"docs":{"275":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"291":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"46":{"tf":1.0},"47":{"tf":1.0}}}}}}},"df":7,"docs":{"125":{"tf":1.7320508075688772},"130":{"tf":1.4142135623730951},"132":{"tf":1.4142135623730951},"143":{"tf":1.7320508075688772},"188":{"tf":1.0},"213":{"tf":1.0},"274":{"tf":1.0}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"142":{"tf":1.0},"264":{"tf":1.0}}},"df":0,"docs":{}}},"f":{"df":0,"docs":{},"o":{"df":2,"docs":{"163":{"tf":1.0},"173":{"tf":1.0}}}},"g":{"df":4,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"19":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"185":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"273":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":17,"docs":{"224":{"tf":1.0},"259":{"tf":2.8284271247461903},"260":{"tf":2.0},"262":{"tf":1.0},"264":{"tf":1.4142135623730951},"266":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.0},"269":{"tf":1.0},"270":{"tf":1.0},"271":{"tf":2.6457513110645907},"272":{"tf":3.1622776601683795},"273":{"tf":3.872983346207417},"274":{"tf":2.8284271247461903},"275":{"tf":3.4641016151377544},"276":{"tf":2.0},"8":{"tf":1.0}},"f":{"df":1,"docs":{"274":{"tf":1.0}}}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"103":{"tf":1.0}}}},"d":{"(":{"df":0,"docs":{},"|":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"237":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":2,"docs":{"108":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"142":{"tf":1.0},"185":{"tf":1.0},"214":{"tf":1.0}}}}},"x":{"df":2,"docs":{"259":{"tf":1.0},"262":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"107":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"274":{"tf":1.0}}}},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"b":{"df":1,"docs":{"240":{"tf":1.7320508075688772}},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"239":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":3,"docs":{"143":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":1,"docs":{"143":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"265":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"188":{"tf":1.0},"213":{"tf":1.0}}}}}}},"df":0,"docs":{}},":":{":":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"188":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":1,"docs":{"188":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"188":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"n":{"(":{"&":{"df":0,"docs":{},"t":{"df":3,"docs":{"130":{"tf":1.0},"132":{"tf":1.0},"143":{"tf":1.0}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"i":{"df":2,"docs":{"268":{"tf":1.7320508075688772},"269":{"tf":2.23606797749979}}}},"df":75,"docs":{"102":{"tf":1.4142135623730951},"103":{"tf":1.0},"105":{"tf":2.0},"107":{"tf":1.0},"108":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"142":{"tf":1.0},"143":{"tf":1.4142135623730951},"151":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.0},"166":{"tf":1.0},"167":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":1.0},"176":{"tf":1.7320508075688772},"177":{"tf":1.0},"179":{"tf":2.23606797749979},"180":{"tf":1.4142135623730951},"181":{"tf":2.0},"182":{"tf":2.0},"184":{"tf":1.0},"185":{"tf":2.6457513110645907},"186":{"tf":2.0},"187":{"tf":1.4142135623730951},"188":{"tf":1.0},"205":{"tf":1.0},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"208":{"tf":1.0},"210":{"tf":1.4142135623730951},"211":{"tf":2.6457513110645907},"212":{"tf":1.0},"213":{"tf":1.0},"233":{"tf":1.7320508075688772},"236":{"tf":1.7320508075688772},"237":{"tf":2.0},"238":{"tf":1.4142135623730951},"239":{"tf":1.7320508075688772},"240":{"tf":1.4142135623730951},"249":{"tf":2.449489742783178},"25":{"tf":1.4142135623730951},"251":{"tf":2.449489742783178},"252":{"tf":2.0},"253":{"tf":1.7320508075688772},"255":{"tf":1.0},"256":{"tf":1.4142135623730951},"262":{"tf":1.0},"267":{"tf":2.23606797749979},"268":{"tf":1.7320508075688772},"269":{"tf":2.8284271247461903},"278":{"tf":1.4142135623730951},"279":{"tf":1.0},"286":{"tf":1.4142135623730951},"287":{"tf":1.0},"289":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"44":{"tf":1.4142135623730951},"54":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0},"76":{"tf":1.4142135623730951},"83":{"tf":1.0},"92":{"tf":1.4142135623730951}}},"o":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"|":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"239":{"tf":1.0}}}},"df":0,"docs":{}}},"df":1,"docs":{"239":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"17":{"tf":1.7320508075688772},"18":{"tf":1.0},"19":{"tf":1.4142135623730951}}}},"c":{"df":1,"docs":{"251":{"tf":1.0}}},"d":{"df":0,"docs":{},"o":{"df":1,"docs":{"227":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":1,"docs":{"272":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"47":{"tf":1.0}}}},"df":2,"docs":{"185":{"tf":1.0},"240":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"r":{"a":{"c":{"df":2,"docs":{"80":{"tf":1.7320508075688772},"81":{"tf":1.0}},"{":{"\\":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"df":0,"docs":{},"{":{"\\":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"}":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"\\":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"df":0,"docs":{},"{":{"2":{"df":1,"docs":{"260":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}}}}},"c":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{},"n":{"^":{"2":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"2":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"2":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"i":{"df":1,"docs":{"42":{"tf":1.0}}},"n":{"(":{"df":0,"docs":{},"n":{"df":3,"docs":{"66":{"tf":1.0},"75":{"tf":1.0},"99":{"tf":1.0}}}},"^":{"2":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"2":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"260":{"tf":1.0}},"}":{"df":0,"docs":{},"{":{"2":{"^":{"df":0,"docs":{},"k":{"df":1,"docs":{"30":{"tf":1.4142135623730951}}}},"df":2,"docs":{"114":{"tf":2.0},"75":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":2,"docs":{"231":{"tf":1.0},"242":{"tf":1.4142135623730951}}}}}},"y":{"_":{"1":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"100":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"274":{"tf":1.0}}}}},"df":0,"docs":{}}}},"o":{"d":{"df":0,"docs":{},"o":{"df":2,"docs":{"227":{"tf":1.7320508075688772},"230":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"255":{"tf":1.4142135623730951}}}}}}},"n":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"181":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":4,"docs":{"164":{"tf":1.0},"178":{"tf":1.0},"181":{"tf":1.0},"189":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"175":{"tf":1.0}}}},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":10,"docs":{"130":{"tf":1.7320508075688772},"131":{"tf":1.0},"229":{"tf":1.0},"251":{"tf":1.4142135623730951},"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0},"284":{"tf":1.0},"32":{"tf":1.0},"47":{"tf":1.0}}}}}}},"df":0,"docs":{}}},":":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"143":{"tf":1.0}}}}}}},"df":0,"docs":{}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"130":{"tf":1.0}}}}}}},"g":{"(":{"df":0,"docs":{},"n":{"df":3,"docs":{"17":{"tf":2.23606797749979},"18":{"tf":1.7320508075688772},"19":{"tf":2.0}}},"x":{")":{"=":{"3":{"df":0,"docs":{},"x":{"^":{"6":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"16":{"tf":1.7320508075688772}}}},"_":{"df":0,"docs":{},"i":{"(":{"df":0,"docs":{},"x":{"df":4,"docs":{"260":{"tf":1.0},"266":{"tf":1.0},"268":{"tf":1.7320508075688772},"269":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"48":{"tf":1.0}}}}}},"p":{"df":6,"docs":{"78":{"tf":1.7320508075688772},"79":{"tf":2.0},"80":{"tf":2.0},"81":{"tf":2.23606797749979},"82":{"tf":2.449489742783178},"83":{"tf":3.4641016151377544}}},"t":{"df":1,"docs":{"185":{"tf":1.7320508075688772}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"135":{"tf":1.0},"136":{"tf":1.0},"143":{"tf":1.4142135623730951}}}}}}},"b":{"df":1,"docs":{"14":{"tf":1.0}}},"df":1,"docs":{"284":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"k":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"k":{"df":1,"docs":{"109":{"tf":1.0}}}}}}}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":4,"docs":{"142":{"tf":1.0},"185":{"tf":1.0},"264":{"tf":1.0},"272":{"tf":1.0}}}}},"q":{"df":2,"docs":{"18":{"tf":1.0},"19":{"tf":1.0}}},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"237":{"tf":1.0}}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"q":{">":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"237":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"266":{"tf":1.0}}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"238":{"tf":1.0}}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"185":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":2,"docs":{"185":{"tf":1.4142135623730951},"237":{"tf":1.0}},":":{"df":0,"docs":{},"取":{"df":0,"docs":{},"得":{"df":0,"docs":{},"指":{"df":0,"docs":{},"定":{"df":0,"docs":{},"鍵":{"df":0,"docs":{},"對":{"df":0,"docs":{},"應":{"df":0,"docs":{},"的":{"df":0,"docs":{},"資":{"df":0,"docs":{},"料":{"df":0,"docs":{},",":{"df":0,"docs":{},"並":{"df":0,"docs":{},"可":{"df":0,"docs":{},"寫":{"df":0,"docs":{},"入":{"df":0,"docs":{},"修":{"df":0,"docs":{},"改":{"df":0,"docs":{},"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"235":{"tf":1.0}}}}}}}}}}}}}}}}}}}}}}}}}}}},"df":1,"docs":{"210":{"tf":1.0}}}},"i":{"df":0,"docs":{},"f":{"df":6,"docs":{"122":{"tf":1.0},"62":{"tf":1.0},"70":{"tf":1.0},"77":{"tf":1.0},"86":{"tf":1.0},"93":{"tf":1.0}}},"m":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"230":{"tf":1.7320508075688772}}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"b":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"o":{"b":{"a":{"df":0,"docs":{},"l":{"_":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"176":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"176":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"df":1,"docs":{"291":{"tf":1.0}},"e":{"df":1,"docs":{"210":{"tf":1.0}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"227":{"tf":1.7320508075688772},"230":{"tf":1.7320508075688772}},"n":{"df":1,"docs":{"227":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"276":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":2,"docs":{"225":{"tf":1.0},"244":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"92":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"133":{"tf":1.0}}}}},"t":{"df":1,"docs":{"270":{"tf":1.0}}},"u":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"279":{"tf":1.0}}},"df":0,"docs":{}},"v":{"a":{"df":1,"docs":{"276":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"h":{"1":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"269":{"tf":1.0}}}},".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"i":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"h":{"2":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}},"2":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"269":{"tf":1.0}}}},"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}},"_":{"1":{"(":{"df":0,"docs":{},"x":{"df":5,"docs":{"260":{"tf":1.4142135623730951},"266":{"tf":1.0},"268":{"tf":2.23606797749979},"269":{"tf":1.4142135623730951},"275":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"2":{"(":{"df":0,"docs":{},"x":{"df":4,"docs":{"260":{"tf":1.0},"268":{"tf":1.4142135623730951},"269":{"tf":1.0},"275":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"33":{"tf":1.7320508075688772}}}},"m":{"df":3,"docs":{"277":{"tf":1.4142135623730951},"281":{"tf":1.0},"9":{"tf":1.0}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"278":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"279":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"n":{"d":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"10":{"tf":1.0}}}}}},"df":0,"docs":{},"l":{"df":2,"docs":{"44":{"tf":1.0},"54":{"tf":1.0}},"e":{"_":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"d":{"_":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"176":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"275":{"tf":1.0}}},"h":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"275":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"1":{"df":1,"docs":{"228":{"tf":1.0}}},"2":{"df":1,"docs":{"228":{"tf":1.0}}},"df":0,"docs":{}}}},"x":{"df":1,"docs":{"275":{"tf":1.0}}}},"<":{"df":0,"docs":{},"h":{"df":1,"docs":{"233":{"tf":1.0}}}},"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.7320508075688772},"269":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"o":{"df":1,"docs":{"227":{"tf":1.0}}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"227":{"tf":1.0}}}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"228":{"tf":1.0}}}}},"s":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"227":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"247":{"tf":1.0}}}},"df":0,"docs":{}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"228":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":28,"docs":{"142":{"tf":2.23606797749979},"143":{"tf":1.0},"220":{"tf":1.0},"226":{"tf":1.0},"229":{"tf":1.4142135623730951},"230":{"tf":1.4142135623730951},"231":{"tf":1.0},"233":{"tf":3.605551275463989},"234":{"tf":1.4142135623730951},"236":{"tf":1.4142135623730951},"237":{"tf":1.0},"238":{"tf":1.4142135623730951},"244":{"tf":1.7320508075688772},"247":{"tf":1.0},"249":{"tf":1.7320508075688772},"255":{"tf":1.0},"256":{"tf":1.7320508075688772},"260":{"tf":1.0},"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.7320508075688772},"269":{"tf":2.6457513110645907},"271":{"tf":1.0},"274":{"tf":1.4142135623730951},"275":{"tf":2.0},"276":{"tf":1.4142135623730951},"8":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"(":{"&":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"143":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"233":{"tf":1.0}}}}}}}}},"1":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}}}}},"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}},"2":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}}}}},"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}},":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"268":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},">":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"233":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":8,"docs":{"142":{"tf":1.4142135623730951},"143":{"tf":1.4142135623730951},"233":{"tf":2.23606797749979},"263":{"tf":2.0},"264":{"tf":1.4142135623730951},"267":{"tf":1.7320508075688772},"268":{"tf":2.23606797749979},"269":{"tf":1.7320508075688772}}}},"m":{"a":{"df":0,"docs":{},"p":{".":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"234":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"238":{"tf":1.0}}}}}},":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"249":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"249":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"249":{"tf":1.0}}}}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"239":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"<":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"237":{"tf":1.0}}}}}},"df":0,"docs":{},"k":{"df":3,"docs":{"234":{"tf":1.4142135623730951},"236":{"tf":1.4142135623730951},"264":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"264":{"tf":1.0}}}}},"t":{"df":2,"docs":{"247":{"tf":1.0},"248":{"tf":1.0}}}},"df":11,"docs":{"143":{"tf":1.0},"216":{"tf":1.0},"230":{"tf":1.0},"231":{"tf":1.0},"233":{"tf":1.0},"234":{"tf":1.0},"236":{"tf":1.4142135623730951},"244":{"tf":1.0},"247":{"tf":1.0},"249":{"tf":1.0},"257":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"237":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{"df":7,"docs":{"247":{"tf":1.0},"249":{"tf":1.0},"251":{"tf":3.4641016151377544},"252":{"tf":2.0},"253":{"tf":1.7320508075688772},"255":{"tf":2.23606797749979},"256":{"tf":2.23606797749979}}}},"df":2,"docs":{"251":{"tf":1.4142135623730951},"258":{"tf":1.0}}}}},":":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"142":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":9,"docs":{"142":{"tf":1.4142135623730951},"143":{"tf":1.7320508075688772},"175":{"tf":3.0},"179":{"tf":1.4142135623730951},"180":{"tf":2.449489742783178},"233":{"tf":1.0},"276":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.0}},"e":{"a":{"d":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"206":{"tf":1.0}}}}}}},"df":21,"docs":{"119":{"tf":1.4142135623730951},"171":{"tf":1.0},"174":{"tf":1.0},"175":{"tf":3.3166247903554},"177":{"tf":1.4142135623730951},"179":{"tf":1.0},"180":{"tf":2.6457513110645907},"181":{"tf":1.4142135623730951},"182":{"tf":1.7320508075688772},"185":{"tf":2.0},"189":{"tf":1.0},"196":{"tf":1.7320508075688772},"200":{"tf":1.0},"203":{"tf":1.4142135623730951},"205":{"tf":1.0},"206":{"tf":2.23606797749979},"207":{"tf":1.0},"208":{"tf":1.4142135623730951},"210":{"tf":1.0},"214":{"tf":1.0},"230":{"tf":1.0}}},"df":0,"docs":{},"p":{"df":10,"docs":{"202":{"tf":1.0},"236":{"tf":1.0},"69":{"tf":1.0},"85":{"tf":2.0},"86":{"tf":3.0},"87":{"tf":4.242640687119285},"89":{"tf":3.4641016151377544},"90":{"tf":1.4142135623730951},"92":{"tf":4.358898943540674},"93":{"tf":1.0}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":4,"docs":{"87":{"tf":1.7320508075688772},"89":{"tf":2.0},"90":{"tf":1.0},"92":{"tf":1.7320508075688772}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"92":{"tf":1.0}}}}},"df":0,"docs":{}},"df":9,"docs":{"4":{"tf":1.0},"69":{"tf":1.4142135623730951},"85":{"tf":2.0},"86":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"88":{"tf":1.0},"89":{"tf":1.0},"92":{"tf":1.7320508075688772},"93":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"i":{"df":1,"docs":{"291":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"p":{"df":2,"docs":{"251":{"tf":1.0},"264":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"102":{"tf":1.0}}}}}},"n":{"c":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"4":{"0":{"4":{"0":{"8":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"df":3,"docs":{"176":{"tf":1.0},"210":{"tf":1.4142135623730951},"251":{"tf":1.7320508075688772}}}}},"i":{"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"44":{"tf":2.449489742783178}}}},"df":0,"docs":{}}},"df":8,"docs":{"102":{"tf":3.0},"103":{"tf":1.4142135623730951},"105":{"tf":4.242640687119285},"107":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"41":{"tf":1.4142135623730951},"44":{"tf":2.8284271247461903},"54":{"tf":2.23606797749979}},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"96":{"tf":1.4142135623730951}}}},"、":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}}}},"o":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"108":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"136":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"o":{"d":{"df":1,"docs":{"231":{"tf":1.0}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"{":{"1":{"0":{"df":2,"docs":{"284":{"tf":1.0},"286":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{"/":{"/":{"d":{"df":0,"docs":{},"o":{"c":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},":":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"143":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"i":{"$":{"df":0,"docs":{},"、":{"$":{"df":0,"docs":{},"j":{"df":1,"docs":{"284":{"tf":1.0}}}},"df":0,"docs":{}}},"+":{"1":{"df":1,"docs":{"96":{"tf":1.0}}},"df":0,"docs":{}},"/":{"df":1,"docs":{"284":{"tf":1.0}},"o":{"df":1,"docs":{"274":{"tf":1.0}}}},"3":{"2":{"df":17,"docs":{"102":{"tf":1.4142135623730951},"103":{"tf":1.0},"105":{"tf":2.0},"107":{"tf":1.0},"108":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.7320508075688772},"151":{"tf":1.0},"264":{"tf":1.4142135623730951},"44":{"tf":2.6457513110645907},"59":{"tf":1.0},"61":{"tf":1.4142135623730951},"67":{"tf":1.0},"76":{"tf":1.4142135623730951},"83":{"tf":1.0},"92":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"275":{"tf":1.0}},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"107":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"7":{"5":{"4":{"df":1,"docs":{"256":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"47":{"tf":1.0}}}}},"h":{"_":{"2":{"(":{"df":0,"docs":{},"x":{"df":4,"docs":{"260":{"tf":1.0},"266":{"tf":1.0},"268":{"tf":1.7320508075688772},"269":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"k":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"n":{"df":2,"docs":{"43":{"tf":1.0},"47":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"a":{"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}}},"m":{"a":{"df":0,"docs":{},"g":{"df":3,"docs":{"190":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"200":{"tf":1.4142135623730951},"211":{"tf":1.4142135623730951},"251":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"l":{"<":{"'":{"a":{"df":4,"docs":{"185":{"tf":2.23606797749979},"186":{"tf":2.0},"211":{"tf":1.0},"255":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"df":1,"docs":{"142":{"tf":1.0}}},"k":{"df":1,"docs":{"236":{"tf":1.4142135623730951}}},"t":{"df":15,"docs":{"176":{"tf":1.7320508075688772},"177":{"tf":1.0},"179":{"tf":1.4142135623730951},"184":{"tf":1.0},"186":{"tf":2.0},"187":{"tf":1.4142135623730951},"188":{"tf":1.0},"205":{"tf":1.0},"210":{"tf":1.4142135623730951},"211":{"tf":1.7320508075688772},"212":{"tf":1.0},"213":{"tf":1.0},"249":{"tf":1.0},"256":{"tf":1.7320508075688772},"269":{"tf":1.0}}}},"df":7,"docs":{"185":{"tf":1.0},"233":{"tf":1.0},"240":{"tf":3.0},"249":{"tf":1.0},"251":{"tf":2.449489742783178},"252":{"tf":2.0},"255":{"tf":1.0}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"144":{"tf":1.0},"190":{"tf":1.0},"276":{"tf":1.0}}}}}}}}}},"n":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":1,"docs":{"151":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"118":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"84":{"tf":1.0}}}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"187":{"tf":1.0}}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"187":{"tf":1.0}}}}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"187":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":24,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"119":{"tf":1.7320508075688772},"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"125":{"tf":2.23606797749979},"132":{"tf":2.0},"168":{"tf":1.0},"179":{"tf":2.0},"187":{"tf":2.8284271247461903},"228":{"tf":1.0},"237":{"tf":1.4142135623730951},"238":{"tf":1.7320508075688772},"25":{"tf":1.0},"268":{"tf":1.0},"269":{"tf":1.7320508075688772},"288":{"tf":1.4142135623730951},"33":{"tf":1.0},"54":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"67":{"tf":1.0},"92":{"tf":2.0}},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"143":{"tf":1.0}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"187":{"tf":1.0}}}}},"df":1,"docs":{"187":{"tf":1.4142135623730951}}}}},"(":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"125":{"tf":1.0}}}}}}}}}}}},"df":1,"docs":{"287":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"185":{"tf":1.0},"264":{"tf":1.0}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"44":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":4,"docs":{"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"239":{"tf":1.0},"267":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"210":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"135":{"tf":1.0},"136":{"tf":1.0},"138":{"tf":1.0},"143":{"tf":1.4142135623730951}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"262":{"tf":1.7320508075688772}}}}}},"df":1,"docs":{"125":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":4,"docs":{"238":{"tf":1.0},"249":{"tf":1.0},"268":{"tf":1.0},"269":{"tf":1.0}}}}}},"df":0,"docs":{},"v":{"df":2,"docs":{"257":{"tf":1.0},"270":{"tf":1.0}}}},"_":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":2,"docs":{"204":{"tf":1.0},"207":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"207":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":29,"docs":{"119":{"tf":1.0},"138":{"tf":1.0},"142":{"tf":1.0},"143":{"tf":1.0},"161":{"tf":1.0},"171":{"tf":1.0},"214":{"tf":1.0},"235":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.0},"249":{"tf":1.4142135623730951},"251":{"tf":1.0},"266":{"tf":1.0},"268":{"tf":1.0},"282":{"tf":1.0},"289":{"tf":1.0},"38":{"tf":1.7320508075688772},"4":{"tf":1.0},"56":{"tf":1.7320508075688772},"57":{"tf":1.0},"58":{"tf":1.4142135623730951},"61":{"tf":2.449489742783178},"62":{"tf":1.0},"65":{"tf":1.0},"71":{"tf":1.0},"78":{"tf":2.0},"79":{"tf":1.4142135623730951},"81":{"tf":2.6457513110645907},"82":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"59":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"t":{"df":1,"docs":{"238":{"tf":1.0}}}},"i":{"d":{"df":3,"docs":{"181":{"tf":1.4142135623730951},"182":{"tf":2.0},"187":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"145":{"tf":1.0}},"e":{"df":0,"docs":{},"g":{"df":1,"docs":{"34":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"}":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"278":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"r":{"df":1,"docs":{"186":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":2,"docs":{"117":{"tf":1.0},"118":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":7,"docs":{"3":{"tf":1.0},"36":{"tf":2.0},"40":{"tf":2.0},"43":{"tf":1.0},"44":{"tf":3.7416573867739413},"46":{"tf":1.4142135623730951},"47":{"tf":1.7320508075688772}}}}},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"253":{"tf":1.0},"255":{"tf":1.0},"257":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"<":{"'":{"a":{">":{"(":{"&":{"'":{"a":{"df":1,"docs":{"252":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},":":{"df":0,"docs":{},"交":{"df":0,"docs":{},"集":{"df":0,"docs":{},",":{"a":{"df":1,"docs":{"250":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}},"o":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"185":{"tf":1.0},"186":{"tf":1.0},"211":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"186":{"tf":1.7320508075688772},"211":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"211":{"tf":1.0}}}}}},"t":{"df":2,"docs":{"186":{"tf":1.7320508075688772},"211":{"tf":2.6457513110645907}},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"186":{"tf":1.0},"211":{"tf":1.0}}}}}}},"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"186":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}}}}}},"df":0,"docs":{}},"df":2,"docs":{"186":{"tf":1.4142135623730951},"211":{"tf":1.7320508075688772}}}},"df":3,"docs":{"185":{"tf":1.0},"186":{"tf":3.1622776601683795},"211":{"tf":2.23606797749979}}}}}}},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"244":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}}}}}}}}}},"o":{"df":1,"docs":{"259":{"tf":1.0}}},"s":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"253":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"250":{"tf":1.0}}}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":5,"docs":{"178":{"tf":1.0},"181":{"tf":1.0},"204":{"tf":1.0},"235":{"tf":1.0},"249":{"tf":1.0}}},"y":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"181":{"tf":1.0},"249":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"178":{"tf":1.0}},"l":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"180":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"249":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"210":{"tf":1.4142135623730951}}}},"u":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"253":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":3,"docs":{"250":{"tf":1.0},"253":{"tf":1.4142135623730951},"256":{"tf":1.4142135623730951}},",":{"a":{"df":1,"docs":{"256":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"253":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":2,"docs":{"250":{"tf":1.0},"253":{"tf":1.0}},",":{"a":{"df":1,"docs":{"256":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":4,"docs":{"102":{"tf":2.0},"103":{"tf":1.7320508075688772},"105":{"tf":2.8284271247461903},"107":{"tf":2.0}}}},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"293":{"tf":1.7320508075688772}}}},"t":{"df":1,"docs":{"46":{"tf":1.0}}}},"t":{"'":{"df":1,"docs":{"180":{"tf":1.4142135623730951}}},"a":{"df":0,"docs":{},"i":{"df":2,"docs":{"43":{"tf":1.0},"47":{"tf":1.0}}}},"df":1,"docs":{"284":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"m":{"df":15,"docs":{"154":{"tf":1.4142135623730951},"156":{"tf":1.0},"157":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"166":{"tf":1.0},"167":{"tf":1.7320508075688772},"168":{"tf":1.0},"169":{"tf":1.0},"185":{"tf":2.0},"186":{"tf":2.0},"211":{"tf":1.7320508075688772},"25":{"tf":1.4142135623730951},"251":{"tf":2.449489742783178},"252":{"tf":1.4142135623730951},"275":{"tf":1.0}}},"r":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":3,"docs":{"211":{"tf":1.4142135623730951},"240":{"tf":1.0},"249":{"tf":1.0}}}}}}},"df":0,"docs":{}},".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"<":{"'":{"a":{"df":3,"docs":{"185":{"tf":1.4142135623730951},"186":{"tf":1.0},"211":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.4142135623730951}}}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":2,"docs":{"185":{"tf":1.0},"186":{"tf":1.0}}}}}},"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"25":{"tf":1.0}}}}}}}},":":{":":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"256":{"tf":1.0},"269":{"tf":1.0}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"251":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":2,"docs":{"185":{"tf":1.0},"279":{"tf":1.0}}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":4,"docs":{"240":{"tf":1.0},"249":{"tf":1.0},"251":{"tf":2.449489742783178},"252":{"tf":2.0}}}}}}},"df":0,"docs":{}}}}},"df":20,"docs":{"105":{"tf":1.0},"107":{"tf":1.0},"131":{"tf":1.0},"143":{"tf":1.4142135623730951},"151":{"tf":1.0},"185":{"tf":4.69041575982343},"186":{"tf":2.0},"208":{"tf":1.0},"211":{"tf":4.242640687119285},"212":{"tf":1.0},"213":{"tf":1.0},"240":{"tf":1.4142135623730951},"249":{"tf":1.4142135623730951},"251":{"tf":2.0},"269":{"tf":1.0},"279":{"tf":1.0},"44":{"tf":1.0},"67":{"tf":1.0},"83":{"tf":1.0},"92":{"tf":1.0}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}}}},"df":0,"docs":{}},"<":{"'":{"a":{"df":3,"docs":{"185":{"tf":2.23606797749979},"186":{"tf":1.0},"211":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.0}}}},"df":2,"docs":{"185":{"tf":1.0},"211":{"tf":1.4142135623730951}}}}},"、":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.0}}}}}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"176":{"tf":1.0},"185":{"tf":1.0}}}}}}},"、":{"df":0,"docs":{},"j":{"df":1,"docs":{"103":{"tf":1.0}}}},",":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"j":{"a":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},",":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":14,"docs":{"103":{"tf":1.7320508075688772},"107":{"tf":2.449489742783178},"108":{"tf":2.449489742783178},"275":{"tf":1.4142135623730951},"284":{"tf":1.4142135623730951},"287":{"tf":2.449489742783178},"288":{"tf":1.4142135623730951},"289":{"tf":2.449489742783178},"59":{"tf":2.23606797749979},"61":{"tf":2.0},"67":{"tf":1.4142135623730951},"83":{"tf":2.0},"96":{"tf":2.23606797749979},"97":{"tf":4.123105625617661}},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"8":{"9":{"df":2,"docs":{"64":{"tf":1.0},"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"g":{"df":2,"docs":{"225":{"tf":1.0},"244":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"、":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"218":{"tf":1.4142135623730951}}}}}}}}}},"。":{"df":0,"docs":{},"i":{"df":1,"docs":{"97":{"tf":1.7320508075688772}}}}},"k":{"$":{"df":0,"docs":{},"(":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"b":{"df":0,"docs":{},"e":{"df":1,"docs":{"230":{"tf":1.0}}}},"df":0,"docs":{}}}}},":":{"df":0,"docs":{},"雜":{"df":0,"docs":{},"湊":{"df":0,"docs":{},"表":{"df":0,"docs":{},"配":{"df":0,"docs":{},"置":{"df":0,"docs":{},"的":{"df":0,"docs":{},"儲":{"df":0,"docs":{},"存":{"df":0,"docs":{},"空":{"df":0,"docs":{},"間":{"df":0,"docs":{},"(":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"231":{"tf":1.0},"242":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}}}}},")":{".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"238":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"237":{"tf":1.0}}}}}}}},"df":0,"docs":{}},">":{"0":{"df":2,"docs":{"17":{"tf":1.0},"18":{"tf":1.0}}},"df":0,"docs":{}},"^":{"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.4142135623730951}}},"{":{"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.4142135623730951}}}}},"_":{"1":{">":{"0":{"df":1,"docs":{"19":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"19":{"tf":1.4142135623730951}}},"2":{">":{"0":{"df":1,"docs":{"19":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"19":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":38,"docs":{"107":{"tf":2.0},"109":{"tf":1.0},"123":{"tf":1.0},"126":{"tf":2.23606797749979},"127":{"tf":1.7320508075688772},"128":{"tf":1.4142135623730951},"135":{"tf":1.0},"137":{"tf":2.0},"139":{"tf":4.0},"140":{"tf":2.0},"148":{"tf":1.0},"149":{"tf":3.3166247903554},"150":{"tf":1.4142135623730951},"17":{"tf":1.7320508075688772},"173":{"tf":1.0},"18":{"tf":1.4142135623730951},"230":{"tf":1.4142135623730951},"233":{"tf":1.0},"234":{"tf":2.0},"236":{"tf":1.4142135623730951},"237":{"tf":2.0},"238":{"tf":1.7320508075688772},"240":{"tf":2.23606797749979},"241":{"tf":1.0},"244":{"tf":1.0},"249":{"tf":1.0},"260":{"tf":2.8284271247461903},"263":{"tf":1.7320508075688772},"266":{"tf":1.0},"267":{"tf":1.4142135623730951},"268":{"tf":2.0},"269":{"tf":2.0},"270":{"tf":2.23606797749979},"271":{"tf":1.0},"284":{"tf":1.4142135623730951},"285":{"tf":2.449489742783178},"30":{"tf":2.0},"49":{"tf":1.0}},"e":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"132":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"1":{"df":1,"docs":{"228":{"tf":1.0}}},"2":{"df":1,"docs":{"228":{"tf":1.0}}},"df":17,"docs":{"124":{"tf":1.0},"125":{"tf":3.1622776601683795},"128":{"tf":1.0},"130":{"tf":1.4142135623730951},"131":{"tf":2.0},"132":{"tf":1.4142135623730951},"146":{"tf":1.4142135623730951},"149":{"tf":1.0},"151":{"tf":1.0},"216":{"tf":1.0},"228":{"tf":1.0},"233":{"tf":1.0},"234":{"tf":1.4142135623730951},"237":{"tf":2.0},"238":{"tf":1.4142135623730951},"249":{"tf":1.0},"275":{"tf":1.0}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":1,"docs":{"284":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"284":{"tf":2.0},"285":{"tf":1.4142135623730951}}}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"262":{"tf":1.4142135623730951}}}}}},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}},"l":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"/":{"1":{".":{"4":{"9":{".":{"0":{"/":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"/":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"b":{"a":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"#":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"215":{"tf":1.0},"240":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"107":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"107":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"199":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"214":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"103":{"tf":1.0}}}}}},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"s":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}}},":":{":":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"y":{":":{":":{"<":{"df":0,"docs":{},"t":{">":{"(":{"c":{"a":{"df":0,"docs":{},"p":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"176":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"c":{"a":{"df":0,"docs":{},"p":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"176":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"176":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"176":{"tf":2.23606797749979}}}}}},"z":{"df":0,"docs":{},"i":{"df":2,"docs":{"143":{"tf":1.0},"251":{"tf":1.4142135623730951}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"114":{"tf":1.0},"52":{"tf":1.4142135623730951}}}}}},"df":2,"docs":{"273":{"tf":1.4142135623730951},"33":{"tf":1.0}},"e":{"a":{"d":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":2,"docs":{"89":{"tf":1.7320508075688772},"92":{"tf":1.0}}},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"210":{"tf":1.0},"215":{"tf":1.0}}}}},"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"w":{"df":1,"docs":{"12":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"89":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":3,"docs":{"119":{"tf":2.23606797749979},"54":{"tf":1.0},"92":{"tf":1.4142135623730951}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"108":{"tf":1.0},"147":{"tf":1.0}}}}}}}},"n":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":3,"docs":{"181":{"tf":1.0},"239":{"tf":1.0},"249":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":16,"docs":{"118":{"tf":2.23606797749979},"131":{"tf":1.0},"132":{"tf":1.0},"178":{"tf":1.0},"181":{"tf":1.4142135623730951},"189":{"tf":1.0},"233":{"tf":1.7320508075688772},"234":{"tf":1.7320508075688772},"235":{"tf":1.0},"236":{"tf":2.0},"238":{"tf":1.0},"249":{"tf":1.0},"262":{"tf":1.0},"67":{"tf":1.7320508075688772},"76":{"tf":2.0},"83":{"tf":1.4142135623730951}},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":3,"docs":{"112":{"tf":1.0},"238":{"tf":1.0},"279":{"tf":1.0}}}}}},"q":{"df":2,"docs":{"17":{"tf":2.23606797749979},"19":{"tf":2.0}}},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"260":{"tf":1.0},"276":{"tf":1.0}}}},"t":{"'":{"df":1,"docs":{"276":{"tf":1.0}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"89":{"tf":1.0}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":2,"docs":{"286":{"tf":1.4142135623730951},"289":{"tf":1.0}}},"df":0,"docs":{}}}}}},"_":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"287":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":3,"docs":{"282":{"tf":1.4142135623730951},"291":{"tf":2.0},"9":{"tf":1.0}}}}}}}}}}},"x":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"146":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":5,"docs":{"114":{"tf":1.0},"42":{"tf":1.7320508075688772},"80":{"tf":1.7320508075688772},"81":{"tf":1.0},"89":{"tf":1.0}},"{":{"\\":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"_":{"2":{"df":1,"docs":{"30":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"i":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"13":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"185":{"tf":2.8284271247461903},"251":{"tf":2.23606797749979}}}}}},"o":{"df":1,"docs":{"153":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"<":{"df":0,"docs":{},"t":{">":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":9,"docs":{"23":{"tf":1.0},"230":{"tf":2.0},"26":{"tf":1.0},"274":{"tf":1.7320508075688772},"3":{"tf":1.0},"40":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"47":{"tf":1.4142135623730951}}}},"df":2,"docs":{"188":{"tf":1.0},"271":{"tf":1.0}}},"k":{"df":14,"docs":{"144":{"tf":1.0},"153":{"tf":1.0},"163":{"tf":1.0},"171":{"tf":1.0},"191":{"tf":1.0},"198":{"tf":1.0},"199":{"tf":1.4142135623730951},"200":{"tf":1.0},"207":{"tf":1.0},"210":{"tf":2.6457513110645907},"215":{"tf":1.4142135623730951},"230":{"tf":1.4142135623730951},"65":{"tf":1.0},"7":{"tf":1.7320508075688772}},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"193":{"tf":1.0},"215":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":15,"docs":{"144":{"tf":1.0},"153":{"tf":1.0},"163":{"tf":1.0},"171":{"tf":1.0},"191":{"tf":1.0},"198":{"tf":1.0},"199":{"tf":1.4142135623730951},"200":{"tf":1.0},"207":{"tf":1.0},"210":{"tf":1.4142135623730951},"211":{"tf":1.4142135623730951},"215":{"tf":1.4142135623730951},"230":{"tf":1.4142135623730951},"65":{"tf":1.0},"7":{"tf":1.7320508075688772}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"265":{"tf":1.0}}}},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"20":{"tf":1.0}}}}}},"n":{"_":{"2":{"_":{"2":{")":{".":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"267":{"tf":1.4142135623730951},"269":{"tf":1.4142135623730951}},"{":{"\\":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"}":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"(":{"\\":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"df":0,"docs":{},"{":{"2":{"df":0,"docs":{},"}":{")":{"^":{"2":{"df":1,"docs":{"260":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}}},"o":{".":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"103":{"tf":1.0}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"44":{"tf":2.8284271247461903}}}},"df":0,"docs":{}}},"a":{"d":{"_":{"df":0,"docs":{},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"239":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":8,"docs":{"231":{"tf":2.449489742783178},"235":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.4142135623730951},"242":{"tf":1.0},"243":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.0}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"271":{"tf":1.0},"274":{"tf":1.0}}}},"df":0,"docs":{}},"df":9,"docs":{"102":{"tf":2.6457513110645907},"103":{"tf":1.4142135623730951},"105":{"tf":4.58257569495584},"107":{"tf":1.7320508075688772},"108":{"tf":1.4142135623730951},"13":{"tf":1.0},"41":{"tf":1.4142135623730951},"44":{"tf":3.1622776601683795},"54":{"tf":2.0}},"g":{"(":{"9":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.0}}}},"^":{"2":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"_":{"2":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"89":{"tf":1.0}}}},"df":3,"docs":{"267":{"tf":1.0},"269":{"tf":1.0},"30":{"tf":2.23606797749979}},"n":{"df":1,"docs":{"61":{"tf":1.0}}},"{":{"\\":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"260":{"tf":1.0}}}}}}}}},"f":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"{":{"1":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"\\":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"271":{"tf":1.0},"275":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"n":{"df":1,"docs":{"99":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":21,"docs":{"105":{"tf":1.4142135623730951},"110":{"tf":1.4142135623730951},"113":{"tf":1.7320508075688772},"114":{"tf":1.0},"145":{"tf":1.0},"15":{"tf":1.4142135623730951},"20":{"tf":1.0},"21":{"tf":1.0},"43":{"tf":2.0},"46":{"tf":2.0},"47":{"tf":1.4142135623730951},"53":{"tf":1.0},"69":{"tf":1.0},"82":{"tf":1.0},"88":{"tf":2.0},"89":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"94":{"tf":1.0},"98":{"tf":1.4142135623730951},"99":{"tf":1.0}},"i":{"c":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}},"{":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":7,"docs":{"100":{"tf":1.0},"103":{"tf":1.7320508075688772},"105":{"tf":1.0},"107":{"tf":1.4142135623730951},"96":{"tf":1.4142135623730951},"97":{"tf":1.0},"99":{"tf":1.4142135623730951}}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"p":{"df":11,"docs":{"105":{"tf":1.0},"108":{"tf":1.0},"119":{"tf":1.4142135623730951},"211":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.0},"279":{"tf":1.0},"291":{"tf":1.0},"44":{"tf":2.0},"76":{"tf":1.0},"92":{"tf":1.4142135623730951}}}},"w":{"df":1,"docs":{"96":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"54":{"tf":1.0}}}}}},"s":{"d":{"df":3,"docs":{"145":{"tf":1.0},"146":{"tf":2.0},"147":{"tf":1.0}}},"df":0,"docs":{},"m":{"df":1,"docs":{"274":{"tf":1.0}}}},"t":{"df":0,"docs":{},"、":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":1,"docs":{"256":{"tf":1.0}}}}}}},"m":{"$":{"df":0,"docs":{},"、":{"$":{"df":0,"docs":{},"n":{"$":{"df":0,"docs":{},"、":{"$":{"df":0,"docs":{},"k":{"$":{"df":0,"docs":{},"、":{"$":{"\\":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"267":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"236":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"262":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"230":{"tf":1.0},"262":{"tf":1.0},"44":{"tf":1.0}}}},"k":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"&":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"238":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"x":{">":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"233":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":4,"docs":{"235":{"tf":1.0},"237":{"tf":1.0},"266":{"tf":1.0},"268":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":1,"docs":{"238":{"tf":1.0}}}},"n":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"184":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":2,"docs":{"210":{"tf":1.0},"215":{"tf":1.0}}}},"p":{"(":{"df":0,"docs":{},"|":{"(":{"_":{"df":1,"docs":{"237":{"tf":1.4142135623730951}}},"df":0,"docs":{},"k":{"df":1,"docs":{"240":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":2,"docs":{"238":{"tf":1.0},"54":{"tf":1.0}}}}},"df":0,"docs":{}}},"v":{"df":1,"docs":{"238":{"tf":1.0}}}}},"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"54":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":8,"docs":{"216":{"tf":1.0},"220":{"tf":1.0},"221":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.0},"244":{"tf":1.0},"274":{"tf":1.0},"8":{"tf":1.4142135623730951}}},"r":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"83":{"tf":1.0}},"s":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"83":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":2,"docs":{"80":{"tf":1.0},"83":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"264":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"122":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":9,"docs":{"143":{"tf":1.0},"168":{"tf":1.0},"185":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"210":{"tf":1.0},"238":{"tf":1.0},"256":{"tf":1.4142135623730951},"279":{"tf":1.4142135623730951},"61":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"289":{"tf":1.7320508075688772}}}},"df":1,"docs":{"288":{"tf":1.0}}}}}},"x":{"(":{"df":0,"docs":{},"i":{",":{"df":0,"docs":{},"j":{"df":2,"docs":{"284":{"tf":1.4142135623730951},"286":{"tf":1.0}}}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"151":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":8,"docs":{"130":{"tf":1.4142135623730951},"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"151":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":2.0},"90":{"tf":1.0},"92":{"tf":2.0}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":3,"docs":{"154":{"tf":1.4142135623730951},"156":{"tf":1.0},"159":{"tf":1.0}},"e":{"df":0,"docs":{},"、":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"154":{"tf":1.0}}}}}}}}}}}}},"df":10,"docs":{"260":{"tf":2.0},"262":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.0},"269":{"tf":1.0},"270":{"tf":2.6457513110645907},"284":{"tf":1.0},"290":{"tf":1.7320508075688772},"84":{"tf":1.0}},"e":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"259":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{":":{":":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"184":{"tf":1.0}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"c":{"df":1,"docs":{"238":{"tf":1.4142135623730951}},"e":{"(":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"239":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{":":{":":{"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"176":{"tf":1.0},"179":{"tf":1.0}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"179":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"154":{"tf":1.0}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"266":{"tf":1.0}}}}}}}}},"c":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":2,"docs":{"119":{"tf":1.4142135623730951},"180":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":6,"docs":{"176":{"tf":1.4142135623730951},"181":{"tf":1.4142135623730951},"182":{"tf":2.0},"184":{"tf":1.0},"187":{"tf":1.4142135623730951},"215":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"g":{"df":7,"docs":{"112":{"tf":1.4142135623730951},"116":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"119":{"tf":1.4142135623730951},"122":{"tf":1.0},"193":{"tf":1.0}},"e":{"(":{"&":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"[":{".":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"117":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{".":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"118":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"1":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"117":{"tf":1.4142135623730951}}}}}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"117":{"tf":1.0}}}}},"df":0,"docs":{}},"_":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"118":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":9,"docs":{"110":{"tf":1.7320508075688772},"111":{"tf":1.7320508075688772},"112":{"tf":1.0},"114":{"tf":1.7320508075688772},"115":{"tf":1.4142135623730951},"116":{"tf":1.4142135623730951},"20":{"tf":1.0},"4":{"tf":1.0},"94":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}}}},"t":{"a":{"df":1,"docs":{"293":{"tf":1.0}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"d":{"df":5,"docs":{"131":{"tf":1.0},"185":{"tf":1.7320508075688772},"211":{"tf":1.4142135623730951},"255":{"tf":1.0},"256":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"i":{"b":{"df":2,"docs":{"259":{"tf":1.0},"270":{"tf":1.0}}},"d":{"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"44":{"tf":2.449489742783178}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"l":{"df":2,"docs":{"103":{"tf":1.0},"118":{"tf":1.0}}}},"df":4,"docs":{"117":{"tf":1.4142135623730951},"118":{"tf":1.0},"33":{"tf":1.7320508075688772},"34":{"tf":1.4142135623730951}}},"df":0,"docs":{},"n":{"(":{"2":{",":{"2":{",":{"1":{"df":1,"docs":{"285":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{",":{"2":{",":{"2":{"df":1,"docs":{"285":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{",":{"df":0,"docs":{},"j":{"df":2,"docs":{"284":{"tf":1.4142135623730951},"286":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":8,"docs":{"130":{"tf":1.4142135623730951},"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"284":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.0}},"、":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"x":{"df":1,"docs":{"130":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"240":{"tf":1.0},"251":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"l":{"a":{"c":{"df":1,"docs":{"108":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"244":{"tf":1.0}}}},"o":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"215":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"268":{"tf":1.0}}}},"df":1,"docs":{"256":{"tf":1.0}},"o":{"df":2,"docs":{"233":{"tf":1.0},"268":{"tf":1.0}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"119":{"tf":1.0},"175":{"tf":1.4142135623730951}}}},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"211":{"tf":1.0},"251":{"tf":2.8284271247461903}}}}},"s":{"d":{"df":2,"docs":{"145":{"tf":1.0},"146":{"tf":2.449489742783178}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"222":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":5,"docs":{"157":{"tf":1.0},"167":{"tf":1.0},"211":{"tf":1.4142135623730951},"237":{"tf":1.0},"238":{"tf":1.0}}}},"df":0,"docs":{}},"df":43,"docs":{"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"105":{"tf":2.8284271247461903},"107":{"tf":2.0},"108":{"tf":1.7320508075688772},"117":{"tf":1.7320508075688772},"118":{"tf":2.23606797749979},"119":{"tf":2.0},"130":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":1.7320508075688772},"143":{"tf":1.4142135623730951},"151":{"tf":1.4142135623730951},"176":{"tf":1.4142135623730951},"185":{"tf":4.898979485566356},"186":{"tf":2.23606797749979},"187":{"tf":1.4142135623730951},"188":{"tf":1.4142135623730951},"207":{"tf":2.8284271247461903},"208":{"tf":1.4142135623730951},"210":{"tf":1.0},"211":{"tf":1.7320508075688772},"213":{"tf":1.0},"233":{"tf":1.4142135623730951},"236":{"tf":1.0},"239":{"tf":1.0},"251":{"tf":2.23606797749979},"268":{"tf":1.4142135623730951},"269":{"tf":1.4142135623730951},"278":{"tf":1.4142135623730951},"279":{"tf":1.7320508075688772},"287":{"tf":1.4142135623730951},"288":{"tf":1.4142135623730951},"289":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951},"44":{"tf":2.449489742783178},"54":{"tf":1.0},"59":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"76":{"tf":2.23606797749979},"83":{"tf":1.7320508075688772},"92":{"tf":2.0}}}}},"n":{")":{"$":{"df":0,"docs":{},",":{"$":{"df":0,"docs":{},"n":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}},"^":{"2":{"df":1,"docs":{"46":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"=":{"3":{"0":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},"5":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},">":{"df":0,"docs":{},"n":{"_":{"0":{"df":3,"docs":{"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"^":{"2":{"df":4,"docs":{"17":{"tf":1.0},"66":{"tf":1.0},"75":{"tf":1.4142135623730951},"99":{"tf":1.0}}},"df":0,"docs":{}},"_":{"0":{"df":3,"docs":{"17":{"tf":1.7320508075688772},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":3,"docs":{"151":{"tf":1.0},"289":{"tf":1.4142135623730951},"290":{"tf":1.0}}}},"n":{"df":1,"docs":{"256":{"tf":1.4142135623730951}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"107":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"121":{"tf":1.0}}}}},"ï":{"df":0,"docs":{},"v":{"df":7,"docs":{"100":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0},"48":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.4142135623730951},"73":{"tf":1.0}}}}},"c":{"df":1,"docs":{"13":{"tf":1.0}}},"df":62,"docs":{"100":{"tf":1.4142135623730951},"105":{"tf":2.0},"110":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"113":{"tf":1.7320508075688772},"114":{"tf":2.449489742783178},"115":{"tf":1.0},"123":{"tf":1.0},"127":{"tf":1.4142135623730951},"135":{"tf":1.0},"136":{"tf":1.7320508075688772},"137":{"tf":1.0},"139":{"tf":2.0},"140":{"tf":1.4142135623730951},"143":{"tf":1.0},"145":{"tf":1.0},"148":{"tf":1.4142135623730951},"149":{"tf":1.7320508075688772},"15":{"tf":2.0},"150":{"tf":1.0},"16":{"tf":2.0},"17":{"tf":2.23606797749979},"179":{"tf":1.4142135623730951},"18":{"tf":1.0},"189":{"tf":1.0},"19":{"tf":2.0},"20":{"tf":1.4142135623730951},"214":{"tf":1.4142135623730951},"221":{"tf":1.0},"228":{"tf":1.4142135623730951},"231":{"tf":1.0},"24":{"tf":1.4142135623730951},"241":{"tf":1.0},"242":{"tf":1.7320508075688772},"257":{"tf":1.0},"260":{"tf":1.0},"262":{"tf":2.23606797749979},"266":{"tf":1.0},"267":{"tf":1.4142135623730951},"269":{"tf":1.0},"27":{"tf":1.0},"270":{"tf":2.449489742783178},"272":{"tf":1.7320508075688772},"280":{"tf":1.0},"284":{"tf":1.4142135623730951},"290":{"tf":1.7320508075688772},"30":{"tf":3.1622776601683795},"43":{"tf":2.0},"46":{"tf":2.0},"47":{"tf":1.0},"58":{"tf":1.4142135623730951},"66":{"tf":2.0},"69":{"tf":1.0},"75":{"tf":2.23606797749979},"82":{"tf":1.7320508075688772},"88":{"tf":2.0},"89":{"tf":2.449489742783178},"90":{"tf":1.4142135623730951},"91":{"tf":1.0},"94":{"tf":1.4142135623730951},"98":{"tf":1.7320508075688772},"99":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"e":{"d":{"df":2,"docs":{"176":{"tf":1.0},"185":{"tf":1.0}}},"df":0,"docs":{}},"g":{"df":1,"docs":{"259":{"tf":1.0}}},"q":{"df":2,"docs":{"284":{"tf":1.4142135623730951},"287":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"234":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"99":{"tf":1.0}}}},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"84":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"264":{"tf":1.0}}}}},"w":{"(":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":2,"docs":{"267":{"tf":1.7320508075688772},"269":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"142":{"tf":1.0}}}}},"df":0,"docs":{}}},"_":{"c":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"76":{"tf":2.8284271247461903}}}}},"m":{"a":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"239":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":1,"docs":{"239":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"207":{"tf":1.0}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"k":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"251":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":1,"docs":{"251":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"176":{"tf":1.4142135623730951}}}}}},"df":13,"docs":{"142":{"tf":1.0},"143":{"tf":1.0},"166":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.0},"204":{"tf":1.0},"205":{"tf":1.0},"207":{"tf":1.4142135623730951},"235":{"tf":1.0},"236":{"tf":1.4142135623730951},"249":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"180":{"tf":1.0}}}}},"x":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"185":{"tf":2.0},"186":{"tf":1.0},"211":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"<":{"'":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{">":{"(":{"&":{"'":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":1,"docs":{"185":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"b":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":9,"docs":{"118":{"tf":1.0},"147":{"tf":1.0},"185":{"tf":1.7320508075688772},"202":{"tf":2.0},"206":{"tf":1.7320508075688772},"207":{"tf":2.0},"208":{"tf":2.8284271247461903},"210":{"tf":1.0},"211":{"tf":2.449489742783178}}}}},"g":{"df":1,"docs":{"284":{"tf":1.4142135623730951}}},"o":{"d":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"202":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{".":{"a":{"df":0,"docs":{},"s":{"_":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"211":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"210":{"tf":1.0}}}},"df":0,"docs":{}}},"df":4,"docs":{"202":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":2.449489742783178},"208":{"tf":1.4142135623730951}}}}}}},"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"202":{"tf":2.0},"211":{"tf":2.0}}}},"df":17,"docs":{"195":{"tf":1.4142135623730951},"196":{"tf":1.7320508075688772},"197":{"tf":3.1622776601683795},"198":{"tf":3.0},"200":{"tf":1.7320508075688772},"202":{"tf":2.449489742783178},"203":{"tf":1.7320508075688772},"207":{"tf":3.7416573867739413},"208":{"tf":2.8284271247461903},"210":{"tf":2.23606797749979},"211":{"tf":1.7320508075688772},"213":{"tf":1.4142135623730951},"215":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.4142135623730951},"89":{"tf":2.449489742783178},"92":{"tf":2.23606797749979}},"。":{"df":0,"docs":{},"但":{"df":0,"docs":{},"這":{"df":0,"docs":{},"樣":{"df":0,"docs":{},"編":{"df":0,"docs":{},"譯":{"df":0,"docs":{},"不":{"df":0,"docs":{},"會":{"df":0,"docs":{},"成":{"df":0,"docs":{},"功":{"df":0,"docs":{},",":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"202":{"tf":1.0}}}}}}}}}}}}}}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"251":{"tf":1.0}}}}},"df":0,"docs":{}}},"n":{"df":2,"docs":{"262":{"tf":1.4142135623730951},"92":{"tf":1.0}},"e":{"df":17,"docs":{"143":{"tf":1.0},"158":{"tf":1.0},"160":{"tf":1.0},"168":{"tf":1.0},"181":{"tf":1.4142135623730951},"182":{"tf":1.4142135623730951},"185":{"tf":2.0},"205":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.7320508075688772},"208":{"tf":1.0},"233":{"tf":1.0},"237":{"tf":1.0},"238":{"tf":1.7320508075688772},"25":{"tf":1.0},"256":{"tf":1.4142135623730951},"279":{"tf":2.23606797749979}}},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}}}}},"t":{"a":{"df":0,"docs":{},"t":{"df":5,"docs":{"1":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0},"22":{"tf":1.4142135623730951},"270":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":5,"docs":{"185":{"tf":2.23606797749979},"240":{"tf":1.0},"251":{"tf":1.0},"62":{"tf":1.0},"89":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":7,"docs":{"195":{"tf":1.4142135623730951},"196":{"tf":1.0},"197":{"tf":1.7320508075688772},"198":{"tf":1.7320508075688772},"200":{"tf":1.0},"202":{"tf":1.7320508075688772},"230":{"tf":1.0}}}},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"137":{"tf":1.0},"148":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.0},"227":{"tf":1.0}}}}},"df":1,"docs":{"44":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}}}},"}":{"df":0,"docs":{},"{":{"2":{"^":{"df":0,"docs":{},"k":{"df":2,"docs":{"80":{"tf":1.0},"81":{"tf":1.0}}}},"df":1,"docs":{"80":{"tf":1.0}}},"4":{"df":1,"docs":{"80":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"$":{"df":0,"docs":{},":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"17":{"tf":1.0}}}}},"df":0,"docs":{}}},"(":{"(":{"\\":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"46":{"tf":1.0}}}}}},"df":0,"docs":{}},"1":{"df":24,"docs":{"100":{"tf":1.0},"161":{"tf":2.0},"171":{"tf":2.0},"189":{"tf":3.872983346207417},"207":{"tf":1.0},"214":{"tf":2.0},"217":{"tf":1.0},"234":{"tf":1.0},"24":{"tf":1.4142135623730951},"241":{"tf":2.0},"242":{"tf":1.4142135623730951},"257":{"tf":1.7320508075688772},"259":{"tf":1.0},"270":{"tf":1.0},"280":{"tf":1.0},"30":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"58":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":1.0},"88":{"tf":1.0}}},"3":{"^":{"df":0,"docs":{},"{":{"df":0,"docs":{},"m":{"df":1,"docs":{"284":{"tf":1.0}}}}},"df":0,"docs":{}},"\\":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"89":{"tf":1.0}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"_":{"2":{"df":1,"docs":{"30":{"tf":1.0}}},"df":0,"docs":{}},"df":15,"docs":{"100":{"tf":1.0},"105":{"tf":1.4142135623730951},"115":{"tf":1.0},"143":{"tf":1.0},"20":{"tf":1.0},"221":{"tf":1.0},"27":{"tf":1.0},"30":{"tf":1.7320508075688772},"43":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"51":{"tf":1.4142135623730951},"53":{"tf":2.23606797749979},"89":{"tf":1.4142135623730951},"94":{"tf":1.0},"98":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"m":{",":{"df":0,"docs":{},"n":{"df":1,"docs":{"290":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"c":{"^":{"df":0,"docs":{},"n":{"df":1,"docs":{"20":{"tf":1.0}}}},"df":0,"docs":{}},"d":{"df":3,"docs":{"148":{"tf":1.0},"149":{"tf":1.4142135623730951},"150":{"tf":1.0}},"n":{"df":1,"docs":{"148":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":2.0}}}},"df":0,"docs":{}},"k":{"df":7,"docs":{"127":{"tf":1.0},"128":{"tf":1.4142135623730951},"139":{"tf":1.4142135623730951},"173":{"tf":1.0},"270":{"tf":1.7320508075688772},"273":{"tf":1.4142135623730951},"30":{"tf":1.0}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":2,"docs":{"52":{"tf":1.0},"53":{"tf":1.0}}}}},"m":{"df":1,"docs":{"270":{"tf":1.4142135623730951}},"n":{"df":1,"docs":{"290":{"tf":1.4142135623730951}}}},"n":{"+":{"df":0,"docs":{},"k":{"df":1,"docs":{"144":{"tf":1.0}}}},"^":{"2":{"df":16,"docs":{"106":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.4142135623730951},"17":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.7320508075688772},"61":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":2.0},"74":{"tf":1.4142135623730951},"75":{"tf":1.0},"76":{"tf":1.0},"82":{"tf":1.0},"94":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}},"3":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"df":42,"docs":{"100":{"tf":1.0},"110":{"tf":1.4142135623730951},"113":{"tf":2.0},"114":{"tf":1.0},"115":{"tf":1.4142135623730951},"123":{"tf":1.0},"126":{"tf":2.0},"127":{"tf":1.4142135623730951},"128":{"tf":1.4142135623730951},"137":{"tf":1.7320508075688772},"139":{"tf":2.8284271247461903},"140":{"tf":1.4142135623730951},"145":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.0},"151":{"tf":1.0},"17":{"tf":1.0},"171":{"tf":1.7320508075688772},"20":{"tf":1.4142135623730951},"207":{"tf":1.0},"21":{"tf":1.0},"214":{"tf":2.449489742783178},"24":{"tf":1.7320508075688772},"241":{"tf":2.0},"242":{"tf":1.4142135623730951},"243":{"tf":1.0},"257":{"tf":3.3166247903554},"280":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.4142135623730951},"46":{"tf":1.0},"58":{"tf":1.0},"69":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":1.7320508075688772},"88":{"tf":2.0},"89":{"tf":1.4142135623730951},"90":{"tf":1.0},"91":{"tf":1.0},"94":{"tf":1.0},"98":{"tf":1.7320508075688772},"99":{"tf":2.0}}}},"b":{"df":0,"docs":{},"j":{"df":1,"docs":{"25":{"tf":1.4142135623730951}},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"233":{"tf":1.0},"240":{"tf":1.7320508075688772},"265":{"tf":1.0}}}},"df":0,"docs":{}}}},"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"y":{"df":0,"docs":{},")":{"df":0,"docs":{},"。":{"c":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":1,"docs":{"275":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"r":{"df":2,"docs":{"124":{"tf":1.0},"125":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"b":{"df":2,"docs":{"46":{"tf":1.0},"47":{"tf":1.0}}},"df":0,"docs":{}}}},"df":9,"docs":{"10":{"tf":1.4142135623730951},"162":{"tf":1.0},"17":{"tf":1.7320508075688772},"18":{"tf":1.0},"180":{"tf":6.0},"19":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.4142135623730951},"46":{"tf":1.0}},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"276":{"tf":1.0}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":5,"docs":{"125":{"tf":1.0},"181":{"tf":1.4142135623730951},"182":{"tf":2.0},"187":{"tf":1.4142135623730951},"44":{"tf":2.0}}}}}}},"k":{"(":{"b":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":2,"docs":{"143":{"tf":1.0},"61":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}}}}}}}},"p":{"df":0,"docs":{},"o":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":4,"docs":{"207":{"tf":1.0},"213":{"tf":1.0},"32":{"tf":1.0},"44":{"tf":1.0}}},"l":{"d":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"180":{"tf":2.23606797749979}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"s":{"df":1,"docs":{"176":{"tf":1.0}}}},"df":1,"docs":{"176":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"df":1,"docs":{"176":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"a":{"$":{"df":0,"docs":{},":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"18":{"tf":1.0}}}}},"df":0,"docs":{}}},"(":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":0,"docs":{}},"n":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":3,"docs":{"18":{"tf":1.4142135623730951},"19":{"tf":1.0},"20":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}},"n":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"276":{"tf":1.0}}}},"df":4,"docs":{"175":{"tf":1.0},"211":{"tf":1.0},"238":{"tf":1.0},"81":{"tf":1.0}},"t":{"df":0,"docs":{},"o":{"df":1,"docs":{"175":{"tf":2.0}}}}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"296":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":4,"docs":{"230":{"tf":1.7320508075688772},"242":{"tf":1.0},"244":{"tf":1.0},"274":{"tf":1.7320508075688772}}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"{":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":2,"docs":{"284":{"tf":2.6457513110645907},"287":{"tf":1.7320508075688772}},"}":{"_":{"df":0,"docs":{},"{":{"a":{",":{"b":{"df":0,"docs":{},"}":{"(":{"df":0,"docs":{},"i":{",":{"df":0,"docs":{},"j":{"df":1,"docs":{"284":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"67":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":14,"docs":{"117":{"tf":1.0},"161":{"tf":1.0},"171":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.0},"179":{"tf":1.0},"189":{"tf":1.0},"214":{"tf":1.0},"241":{"tf":1.0},"254":{"tf":1.0},"255":{"tf":1.0},"257":{"tf":1.0},"268":{"tf":1.0},"270":{"tf":1.0}}}},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"275":{"tf":1.7320508075688772}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"266":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"r":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":3,"docs":{"210":{"tf":1.0},"267":{"tf":1.4142135623730951},"291":{"tf":1.0}},"i":{"df":0,"docs":{},"z":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},",":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},")":{"df":0,"docs":{},",":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"100":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{":":{":":{"a":{"df":0,"docs":{},"s":{"_":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.0}}}}}},"df":1,"docs":{"211":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"256":{"tf":1.0}}}}}}},"df":0,"docs":{}},"<":{"&":{"'":{"a":{"df":2,"docs":{"185":{"tf":1.7320508075688772},"211":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"t":{"df":4,"docs":{"160":{"tf":1.0},"170":{"tf":1.0},"181":{"tf":1.4142135623730951},"211":{"tf":1.0}}},"v":{"df":1,"docs":{"237":{"tf":1.4142135623730951}}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"202":{"tf":1.0},"203":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"256":{"tf":1.0}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":3,"docs":{"185":{"tf":2.23606797749979},"186":{"tf":1.0},"211":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"df":8,"docs":{"158":{"tf":1.0},"168":{"tf":1.0},"170":{"tf":1.0},"182":{"tf":1.4142135623730951},"202":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"211":{"tf":1.0}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"233":{"tf":1.0},"25":{"tf":1.4142135623730951}}}},"v":{"df":1,"docs":{"238":{"tf":1.4142135623730951}}}},"df":3,"docs":{"158":{"tf":1.0},"249":{"tf":1.4142135623730951},"256":{"tf":1.0}}}}}}},"r":{"d":{"df":2,"docs":{"143":{"tf":1.4142135623730951},"256":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":10,"docs":{"112":{"tf":1.0},"146":{"tf":1.0},"221":{"tf":1.0},"256":{"tf":2.0},"8":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.7320508075688772},"89":{"tf":2.449489742783178},"90":{"tf":1.0},"92":{"tf":2.0}},",":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"256":{"tf":1.0}}}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"136":{"tf":1.4142135623730951},"143":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"251":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"(":{"&":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"253":{"tf":1.0},"256":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"252":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"253":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"251":{"tf":1.4142135623730951}}}}},"|":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"251":{"tf":1.7320508075688772}}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"212":{"tf":1.0},"253":{"tf":1.0},"256":{"tf":1.4142135623730951}}}}}},"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"251":{"tf":2.23606797749979}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"255":{"tf":1.7320508075688772}}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"255":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}},"u":{"df":0,"docs":{},"t":{"df":7,"docs":{"118":{"tf":1.0},"185":{"tf":1.0},"187":{"tf":1.4142135623730951},"205":{"tf":1.0},"210":{"tf":1.0},"211":{"tf":1.0},"67":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":2,"docs":{"185":{"tf":1.7320508075688772},"251":{"tf":1.4142135623730951}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":6,"docs":{"124":{"tf":1.0},"125":{"tf":1.0},"130":{"tf":1.0},"132":{"tf":1.0},"187":{"tf":1.0},"255":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"84":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"210":{"tf":1.0},"34":{"tf":1.4142135623730951}}}}}},"l":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"180":{"tf":1.0}}}},"df":0,"docs":{},"o":{"a":{"d":{"df":2,"docs":{"254":{"tf":1.0},"255":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"180":{"tf":1.0}}}}}}}}}}}},"w":{"df":0,"docs":{},"n":{"df":2,"docs":{"237":{"tf":1.7320508075688772},"251":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":5,"docs":{"206":{"tf":1.0},"207":{"tf":1.0},"208":{"tf":1.4142135623730951},"210":{"tf":1.0},"251":{"tf":1.0}}}}}}}}}},"、":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"20":{"tf":1.0}}}}}}}}},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{".":{"0":{"df":1,"docs":{"212":{"tf":1.0}}},"1":{"df":1,"docs":{"212":{"tf":1.0}}},"df":0,"docs":{}},"df":3,"docs":{"234":{"tf":1.4142135623730951},"256":{"tf":1.0},"71":{"tf":1.0}}}},"n":{"df":0,"docs":{},"i":{"c":{"!":{"(":{"\"":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"279":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"238":{"tf":1.0}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"83":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"142":{"tf":1.0}},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"185":{"tf":1.0},"251":{"tf":1.0},"264":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":1,"docs":{"256":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"256":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":2,"docs":{"103":{"tf":1.0},"256":{"tf":1.0}}}},"t":{"df":5,"docs":{"119":{"tf":1.0},"291":{"tf":1.0},"44":{"tf":1.4142135623730951},"91":{"tf":1.0},"92":{"tf":1.7320508075688772}},"i":{"a":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":1,"docs":{"256":{"tf":1.0}}}}},"df":0,"docs":{}},"_":{"c":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"256":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"256":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":5,"docs":{"212":{"tf":1.0},"256":{"tf":2.0},"274":{"tf":1.0},"275":{"tf":1.0},"85":{"tf":1.0}},"e":{"df":0,"docs":{},"q":{"df":3,"docs":{"212":{"tf":2.23606797749979},"25":{"tf":1.7320508075688772},"256":{"tf":1.4142135623730951}},",":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":1,"docs":{"256":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"r":{"d":{":":{":":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"_":{"c":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"256":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":4,"docs":{"256":{"tf":1.7320508075688772},"32":{"tf":1.4142135623730951},"33":{"tf":1.0},"54":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"t":{"df":9,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"103":{"tf":1.4142135623730951},"105":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"96":{"tf":1.7320508075688772},"97":{"tf":1.4142135623730951},"99":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":5,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"105":{"tf":1.7320508075688772},"107":{"tf":1.0},"108":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"81":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"210":{"tf":1.0},"256":{"tf":1.0}}}}}}}},"d":{"df":0,"docs":{},"f":{"df":1,"docs":{"43":{"tf":1.0}}},"q":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}}}}}}}},"df":1,"docs":{"208":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"k":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"160":{"tf":1.0},"170":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"165":{"tf":1.0}}}},"r":{"df":2,"docs":{"271":{"tf":1.0},"275":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{":":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"260":{"tf":1.0},"276":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":1,"docs":{"119":{"tf":1.0}}}}}},"l":{"df":2,"docs":{"43":{"tf":1.0},"47":{"tf":1.0}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"200":{"tf":1.4142135623730951}}}}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"264":{"tf":1.0},"269":{"tf":1.0}}}},"df":3,"docs":{"264":{"tf":1.4142135623730951},"267":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"227":{"tf":1.4142135623730951}}}}}},"i":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"284":{"tf":1.0}}}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"e":{"df":9,"docs":{"103":{"tf":1.0},"117":{"tf":1.0},"119":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951},"63":{"tf":2.0},"64":{"tf":2.0},"67":{"tf":1.0},"85":{"tf":2.0},"92":{"tf":1.0}}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":11,"docs":{"102":{"tf":3.0},"103":{"tf":3.3166247903554},"104":{"tf":1.0},"105":{"tf":4.47213595499958},"106":{"tf":1.7320508075688772},"107":{"tf":2.8284271247461903},"108":{"tf":3.0},"95":{"tf":3.0},"96":{"tf":3.4641016151377544},"97":{"tf":4.123105625617661},"99":{"tf":2.23606797749979}},"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"106":{"tf":1.0}}}}}}}},")":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"106":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}},",":{"df":0,"docs":{},"i":{"df":1,"docs":{"97":{"tf":1.0}}}}}}}},"l":{"a":{"c":{"df":0,"docs":{},"e":{"df":2,"docs":{"128":{"tf":1.0},"143":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"o":{"df":2,"docs":{"207":{"tf":3.0},"61":{"tf":2.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":10,"docs":{"107":{"tf":1.0},"176":{"tf":1.0},"180":{"tf":1.0},"185":{"tf":1.0},"195":{"tf":1.0},"202":{"tf":1.0},"207":{"tf":1.0},"236":{"tf":1.0},"251":{"tf":1.0},"262":{"tf":1.0}},",":{"df":0,"docs":{},"但":{"df":0,"docs":{},"照":{"df":0,"docs":{},"鏈":{"df":0,"docs":{},"結":{"df":0,"docs":{},"串":{"df":0,"docs":{},"列":{"df":0,"docs":{},"的":{"df":0,"docs":{},"定":{"df":0,"docs":{},"義":{"df":0,"docs":{},",":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"202":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}},"p":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"158":{"tf":1.0}}}}}},"df":0,"docs":{}},"_":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"182":{"tf":1.0}}}}}},"df":0,"docs":{},"v":{"df":1,"docs":{"189":{"tf":1.0}}}},"df":3,"docs":{"178":{"tf":1.0},"182":{"tf":1.0},"184":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"182":{"tf":1.0},"206":{"tf":1.0}}}}}},"df":0,"docs":{},"v":{"df":1,"docs":{"189":{"tf":1.0}}}},"df":6,"docs":{"178":{"tf":1.0},"182":{"tf":1.0},"204":{"tf":1.0},"206":{"tf":1.0},"210":{"tf":1.4142135623730951},"211":{"tf":1.4142135623730951}}}}}}}},"df":7,"docs":{"155":{"tf":1.0},"158":{"tf":1.0},"160":{"tf":1.0},"161":{"tf":1.4142135623730951},"186":{"tf":1.0},"211":{"tf":1.0},"214":{"tf":1.4142135623730951}}},"s":{"_":{"df":1,"docs":{"207":{"tf":2.23606797749979}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"238":{"tf":1.0}}}}},"t":{"df":2,"docs":{"132":{"tf":1.0},"260":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"|":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"238":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},")":{"df":0,"docs":{},",":{"df":0,"docs":{},"但":{"df":0,"docs":{},"絕":{"df":0,"docs":{},"不":{"df":0,"docs":{},"會":{"df":0,"docs":{},"有":{"df":0,"docs":{},"假":{"df":0,"docs":{},"陰":{"df":0,"docs":{},"性":{"df":0,"docs":{},"(":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":1,"docs":{"259":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}},"p":{"df":1,"docs":{"47":{"tf":1.0}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"275":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}},"s":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"132":{"tf":2.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":5,"docs":{"124":{"tf":1.4142135623730951},"125":{"tf":4.242640687119285},"127":{"tf":1.0},"131":{"tf":2.23606797749979},"132":{"tf":2.0}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"214":{"tf":1.0}}},"df":0,"docs":{}}}},"v":{".":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"208":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":1,"docs":{"208":{"tf":2.8284271247461903}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":3,"docs":{"207":{"tf":1.0},"208":{"tf":1.4142135623730951},"210":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"287":{"tf":1.0}}}}},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"152":{"tf":1.0}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"df":1,"docs":{"186":{"tf":1.0}}}}}},"v":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"154":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"b":{"a":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"259":{"tf":1.0}}}}}}},"l":{"df":3,"docs":{"260":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":2,"docs":{"230":{"tf":2.449489742783178},"274":{"tf":1.7320508075688772}}}},"c":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"92":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"47":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"215":{"tf":1.0},"240":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"293":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"86":{"tf":1.0},"87":{"tf":1.7320508075688772},"89":{"tf":1.0}}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"d":{"df":0,"docs":{},"o":{"df":1,"docs":{"139":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"df":2,"docs":{"284":{"tf":1.0},"286":{"tf":1.0}},"r":{".":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"176":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}},":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"180":{"tf":1.0}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"180":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{":":{":":{"d":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{")":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"176":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"182":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"182":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":4,"docs":{"176":{"tf":2.449489742783178},"185":{"tf":1.7320508075688772},"188":{"tf":1.0},"230":{"tf":1.7320508075688772}}}},"u":{"b":{"df":66,"docs":{"102":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"130":{"tf":1.0},"132":{"tf":1.0},"142":{"tf":1.0},"143":{"tf":1.4142135623730951},"151":{"tf":1.0},"154":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.0},"164":{"tf":1.0},"166":{"tf":1.0},"167":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":1.0},"176":{"tf":1.4142135623730951},"177":{"tf":1.4142135623730951},"179":{"tf":1.0},"181":{"tf":2.0},"182":{"tf":2.0},"185":{"tf":1.4142135623730951},"186":{"tf":1.0},"203":{"tf":1.0},"205":{"tf":1.0},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"208":{"tf":1.0},"211":{"tf":2.449489742783178},"234":{"tf":1.4142135623730951},"236":{"tf":1.4142135623730951},"237":{"tf":1.4142135623730951},"238":{"tf":1.4142135623730951},"240":{"tf":1.0},"247":{"tf":1.0},"249":{"tf":2.449489742783178},"25":{"tf":1.4142135623730951},"251":{"tf":2.449489742783178},"252":{"tf":2.0},"253":{"tf":1.7320508075688772},"262":{"tf":1.7320508075688772},"263":{"tf":1.0},"264":{"tf":2.0},"265":{"tf":1.4142135623730951},"267":{"tf":1.7320508075688772},"268":{"tf":1.0},"269":{"tf":2.23606797749979},"278":{"tf":1.4142135623730951},"279":{"tf":1.0},"286":{"tf":1.4142135623730951},"287":{"tf":1.0},"289":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"44":{"tf":1.4142135623730951},"54":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0},"76":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"92":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"199":{"tf":1.0},"258":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"293":{"tf":1.0},"294":{"tf":1.0}}}},"s":{"df":0,"docs":{},"h":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"157":{"tf":1.0}}}}}},"df":0,"docs":{}},"_":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"182":{"tf":1.0}}}}}},"df":0,"docs":{},"v":{"df":1,"docs":{"189":{"tf":1.0}}}},"df":4,"docs":{"178":{"tf":1.0},"179":{"tf":2.0},"180":{"tf":1.4142135623730951},"182":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"182":{"tf":1.0},"206":{"tf":1.0}}}}}},"df":0,"docs":{},"v":{"df":1,"docs":{"189":{"tf":1.0}}}},"df":5,"docs":{"178":{"tf":1.0},"179":{"tf":1.4142135623730951},"182":{"tf":1.0},"204":{"tf":1.0},"206":{"tf":1.0}}}}}}}},"df":7,"docs":{"143":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"159":{"tf":1.0},"161":{"tf":1.4142135623730951},"239":{"tf":1.0}}}},"t":{"df":1,"docs":{"142":{"tf":1.0}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"216":{"tf":1.0},"254":{"tf":1.4142135623730951},"256":{"tf":1.0},"258":{"tf":1.0},"61":{"tf":1.7320508075688772}}}}}}}},"q":{"df":3,"docs":{"237":{"tf":2.0},"238":{"tf":2.0},"249":{"tf":2.0}},"u":{"a":{"d":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"230":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"71":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"266":{"tf":1.0}}}}},"df":0,"docs":{},"(":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"q":{"df":1,"docs":{"266":{"tf":1.0}}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"164":{"tf":1.0}}}},"df":4,"docs":{"163":{"tf":1.4142135623730951},"172":{"tf":1.0},"173":{"tf":1.0},"6":{"tf":1.0}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"p":{"df":1,"docs":{"102":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":2,"docs":{"102":{"tf":2.0},"105":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"o":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"105":{"tf":2.23606797749979}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"d":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"105":{"tf":2.23606797749979}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"102":{"tf":1.0}}}}},"df":0,"docs":{}},"df":1,"docs":{"102":{"tf":1.0}}}}}}}}},"df":15,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"104":{"tf":1.0},"105":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.7320508075688772},"21":{"tf":1.0},"4":{"tf":1.0},"56":{"tf":1.0},"94":{"tf":2.0},"95":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.7320508075688772},"99":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"274":{"tf":2.449489742783178},"275":{"tf":1.4142135623730951}}}}}}}}}},"r":{"a":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"151":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":8,"docs":{"145":{"tf":2.6457513110645907},"146":{"tf":2.23606797749979},"147":{"tf":1.4142135623730951},"149":{"tf":2.23606797749979},"150":{"tf":1.4142135623730951},"151":{"tf":2.8284271247461903},"152":{"tf":1.4142135623730951},"4":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"i":{"df":1,"docs":{"205":{"tf":1.0}}}},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"192":{"tf":1.0},"242":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{")":{".":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":2,"docs":{"267":{"tf":1.4142135623730951},"269":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"267":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"g":{"df":3,"docs":{"117":{"tf":1.0},"136":{"tf":1.4142135623730951},"67":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"67":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":1,"docs":{"273":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{":":{":":{"c":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"179":{"tf":1.0}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"176":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"180":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"177":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{"df":4,"docs":{"176":{"tf":2.0},"177":{"tf":1.0},"179":{"tf":1.0},"188":{"tf":1.0}}}},"df":6,"docs":{"176":{"tf":2.8284271247461903},"177":{"tf":1.0},"180":{"tf":1.0},"184":{"tf":1.4142135623730951},"188":{"tf":1.0},"190":{"tf":1.0}}},"df":0,"docs":{}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"114":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"89":{"tf":1.0}}}}}},"df":4,"docs":{"109":{"tf":1.0},"244":{"tf":1.0},"273":{"tf":1.0},"33":{"tf":1.0}},"e":{"a":{"d":{"/":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":2,"docs":{"263":{"tf":1.0},"264":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"c":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{".":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":2,"docs":{"176":{"tf":1.7320508075688772},"239":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":1,"docs":{"164":{"tf":1.0}}}},"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":5,"docs":{"102":{"tf":1.4142135623730951},"112":{"tf":1.0},"202":{"tf":1.0},"210":{"tf":1.0},"273":{"tf":1.0}}}}}},"df":1,"docs":{"207":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":9,"docs":{"157":{"tf":1.0},"167":{"tf":1.0},"185":{"tf":1.0},"208":{"tf":1.0},"211":{"tf":1.4142135623730951},"237":{"tf":1.0},"240":{"tf":1.0},"264":{"tf":1.0},"278":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"256":{"tf":1.0}}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"176":{"tf":1.0},"181":{"tf":1.4142135623730951},"182":{"tf":2.0},"184":{"tf":1.0},"187":{"tf":1.4142135623730951}}}}}},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":2,"docs":{"239":{"tf":1.0},"274":{"tf":1.0}}}}},"df":0,"docs":{}},"l":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"256":{"tf":2.0}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"176":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":6,"docs":{"204":{"tf":1.0},"207":{"tf":1.0},"214":{"tf":1.0},"235":{"tf":1.0},"249":{"tf":1.4142135623730951},"264":{"tf":1.0}},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"207":{"tf":1.0}}}}}},"df":0,"docs":{},"k":{"df":1,"docs":{"241":{"tf":1.0}}},"v":{"df":1,"docs":{"257":{"tf":1.0}}}},"<":{"df":0,"docs":{},"q":{">":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"238":{"tf":1.0},"249":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"146":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"l":{"a":{"c":{"df":1,"docs":{"176":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"215":{"tf":1.0}}}}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"293":{"tf":1.0},"294":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"r":{"df":4,"docs":{"185":{"tf":1.4142135623730951},"211":{"tf":1.4142135623730951},"255":{"tf":1.0},"256":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"119":{"tf":1.0}}}},"i":{"df":0,"docs":{},"z":{"df":4,"docs":{"180":{"tf":1.4142135623730951},"236":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"112":{"tf":1.0}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":5,"docs":{"32":{"tf":1.0},"33":{"tf":1.0},"44":{"tf":1.4142135623730951},"54":{"tf":1.0},"61":{"tf":1.0}}}}},"df":5,"docs":{"117":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"119":{"tf":1.0},"207":{"tf":1.0},"44":{"tf":1.7320508075688772}}}}}},"t":{"[":{"df":0,"docs":{},"i":{".":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":1,"docs":{"118":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{".":{".":{"]":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"(":{"&":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"1":{"[":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"119":{"tf":1.0}}}}}}},"df":0,"docs":{}},"2":{"[":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"119":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"119":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"df":4,"docs":{"117":{"tf":2.0},"118":{"tf":1.4142135623730951},"119":{"tf":2.449489742783178},"143":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":25,"docs":{"103":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"117":{"tf":1.0},"119":{"tf":1.0},"157":{"tf":1.4142135623730951},"176":{"tf":1.4142135623730951},"181":{"tf":1.4142135623730951},"182":{"tf":1.4142135623730951},"185":{"tf":2.0},"207":{"tf":1.4142135623730951},"212":{"tf":1.0},"233":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.0},"25":{"tf":1.0},"251":{"tf":1.7320508075688772},"253":{"tf":1.0},"256":{"tf":1.0},"286":{"tf":1.4142135623730951},"287":{"tf":1.4142135623730951},"289":{"tf":1.4142135623730951},"33":{"tf":1.0},"44":{"tf":1.7320508075688772},"54":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"215":{"tf":1.0}},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"208":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{},":":{"df":0,"docs":{},"反":{"df":0,"docs":{},"轉":{"df":0,"docs":{},"整":{"df":0,"docs":{},"個":{"df":0,"docs":{},"串":{"df":0,"docs":{},"列":{"df":0,"docs":{},"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"204":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}}}}}},"f":{"c":{"df":2,"docs":{"240":{"tf":1.0},"251":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":6,"docs":{"114":{"tf":1.4142135623730951},"30":{"tf":1.0},"42":{"tf":1.7320508075688772},"80":{"tf":1.7320508075688772},"81":{"tf":1.0},"89":{"tf":1.0}}}}}}},"h":{"df":1,"docs":{"255":{"tf":1.0}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"30":{"tf":1.7320508075688772}}}}}}},"df":3,"docs":{"119":{"tf":2.23606797749979},"278":{"tf":1.4142135623730951},"92":{"tf":1.0}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"108":{"tf":1.0},"147":{"tf":1.0},"34":{"tf":1.0}}}}}}}}},"n":{"df":0,"docs":{},"g":{"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"f":{"df":3,"docs":{"177":{"tf":1.4142135623730951},"180":{"tf":1.0},"185":{"tf":2.449489742783178}}}}},"df":0,"docs":{}},"df":2,"docs":{"175":{"tf":1.0},"180":{"tf":1.0}}}}},"o":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"231":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"h":{"df":1,"docs":{"93":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"t":{"df":3,"docs":{"86":{"tf":1.0},"87":{"tf":2.6457513110645907},"92":{"tf":3.3166247903554}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"b":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{":":{":":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"259":{"tf":1.0}}}}}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"173":{"tf":1.0}}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"226":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"245":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":1,"docs":{"163":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"200":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}}}},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"153":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"277":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":1,"docs":{"277":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"n":{"a":{"df":1,"docs":{"282":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":1,"docs":{"282":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"256":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"c":{"df":1,"docs":{"185":{"tf":1.0}}},"df":55,"docs":{"0":{"tf":2.23606797749979},"105":{"tf":1.4142135623730951},"108":{"tf":1.0},"117":{"tf":1.0},"131":{"tf":1.0},"143":{"tf":1.4142135623730951},"144":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"164":{"tf":1.0},"167":{"tf":1.0},"176":{"tf":2.0},"181":{"tf":1.4142135623730951},"183":{"tf":1.4142135623730951},"185":{"tf":2.0},"186":{"tf":1.0},"187":{"tf":1.4142135623730951},"190":{"tf":1.4142135623730951},"193":{"tf":1.0},"202":{"tf":1.0},"205":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":1.4142135623730951},"211":{"tf":1.0},"212":{"tf":1.0},"215":{"tf":2.0},"216":{"tf":1.0},"225":{"tf":1.0},"231":{"tf":1.0},"232":{"tf":1.0},"233":{"tf":2.0},"236":{"tf":1.0},"237":{"tf":1.0},"240":{"tf":2.449489742783178},"244":{"tf":1.0},"248":{"tf":1.7320508075688772},"25":{"tf":1.0},"251":{"tf":2.23606797749979},"253":{"tf":1.0},"254":{"tf":1.0},"255":{"tf":1.0},"256":{"tf":1.7320508075688772},"258":{"tf":1.0},"262":{"tf":1.0},"264":{"tf":1.4142135623730951},"267":{"tf":1.0},"278":{"tf":1.7320508075688772},"287":{"tf":1.0},"288":{"tf":1.0},"291":{"tf":1.4142135623730951},"292":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"32":{"tf":1.0},"44":{"tf":1.7320508075688772}},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{"df":1,"docs":{"294":{"tf":1.0}}}}}}}}},"s":{"a":{"df":15,"docs":{"122":{"tf":1.0},"13":{"tf":1.0},"190":{"tf":1.0},"212":{"tf":1.7320508075688772},"225":{"tf":1.0},"244":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.4142135623730951},"62":{"tf":1.0},"64":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"77":{"tf":1.0},"93":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"df":5,"docs":{"176":{"tf":2.0},"180":{"tf":1.4142135623730951},"181":{"tf":1.4142135623730951},"182":{"tf":2.0},"187":{"tf":1.4142135623730951}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}}}}},"m":{"'":{"df":1,"docs":{"227":{"tf":1.0}}},"df":2,"docs":{"227":{"tf":3.0},"230":{"tf":1.4142135623730951}},"e":{"_":{"df":0,"docs":{},"s":{"df":1,"docs":{"256":{"tf":1.4142135623730951}}}},"df":3,"docs":{"260":{"tf":1.0},"276":{"tf":1.0},"279":{"tf":1.0}}}},"、":{"df":0,"docs":{},"s":{"b":{"df":0,"docs":{},",":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"、":{"df":0,"docs":{},"s":{"b":{"df":1,"docs":{"212":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"b":{"df":1,"docs":{"212":{"tf":2.0}}},"c":{"a":{"df":0,"docs":{},"l":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"273":{"tf":2.23606797749979}}}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":2,"docs":{"131":{"tf":1.4142135623730951},"132":{"tf":1.0}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"135":{"tf":1.0},"136":{"tf":1.0},"143":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":2,"docs":{"175":{"tf":2.23606797749979},"54":{"tf":1.0}}}}}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"291":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"e":{"df":5,"docs":{"103":{"tf":1.7320508075688772},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"96":{"tf":1.4142135623730951},"97":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":2,"docs":{"47":{"tf":1.0},"84":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":2,"docs":{"205":{"tf":1.0},"210":{"tf":1.0}},",":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"210":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"258":{"tf":1.0}}}}}}}}}}}},"df":3,"docs":{"273":{"tf":1.7320508075688772},"284":{"tf":1.0},"285":{"tf":1.7320508075688772}},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"241":{"tf":1.0}}}},"df":17,"docs":{"117":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"3":{"tf":2.0},"36":{"tf":2.0},"37":{"tf":1.7320508075688772},"39":{"tf":1.0},"40":{"tf":1.4142135623730951},"43":{"tf":1.0},"46":{"tf":1.7320508075688772},"47":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"61":{"tf":1.0}},"—":{"a":{"df":2,"docs":{"43":{"tf":1.0},"47":{"tf":1.0}}},"df":0,"docs":{}},",":{"df":0,"docs":{},"又":{"df":0,"docs":{},"稱":{"df":0,"docs":{},"對":{"df":0,"docs":{},"數":{"df":0,"docs":{},"搜":{"df":0,"docs":{},"尋":{"df":0,"docs":{},"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"df":1,"docs":{"27":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}}}}}}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"109":{"tf":1.0},"244":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":10,"docs":{"4":{"tf":1.0},"56":{"tf":1.0},"63":{"tf":1.7320508075688772},"64":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951},"87":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"67":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"66":{"tf":1.0}}}}}},"df":0,"docs":{}},"f":{".":{"0":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"186":{"tf":1.0},"211":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}},"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"n":{"d":{".":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"233":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"237":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"239":{"tf":1.0}}}}}},"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"239":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"238":{"tf":1.0}},"s":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{")":{".":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"|":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"237":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{")":{".":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"|":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"238":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"240":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"239":{"tf":1.0},"240":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"239":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"c":{"a":{"df":0,"docs":{},"p":{"df":4,"docs":{"176":{"tf":1.7320508075688772},"179":{"tf":1.7320508075688772},"180":{"tf":1.4142135623730951},"181":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"251":{"tf":2.23606797749979}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{")":{".":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"252":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"249":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"249":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"249":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"|":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"251":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"249":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"249":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"249":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"[":{"0":{"]":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"]":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"e":{"a":{"d":{".":{"a":{"df":0,"docs":{},"s":{"_":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"211":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"k":{"df":3,"docs":{"206":{"tf":1.4142135623730951},"208":{"tf":1.0},"210":{"tf":1.0}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"181":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":6,"docs":{"180":{"tf":1.7320508075688772},"182":{"tf":1.7320508075688772},"185":{"tf":1.7320508075688772},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"208":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"253":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"181":{"tf":1.4142135623730951},"182":{"tf":1.4142135623730951}}}}}}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"180":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"256":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"256":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"t":{"df":2,"docs":{"186":{"tf":1.0},"213":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"170":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"168":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"160":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"157":{"tf":1.0},"159":{"tf":1.0},"169":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"158":{"tf":1.0}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"157":{"tf":1.0},"167":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"r":{"(":{")":{".":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"253":{"tf":1.0},"256":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"252":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"251":{"tf":2.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"252":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}}}},"z":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{")":{".":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"212":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"186":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":8,"docs":{"180":{"tf":1.0},"181":{"tf":1.0},"187":{"tf":1.4142135623730951},"212":{"tf":1.0},"238":{"tf":1.7320508075688772},"239":{"tf":1.7320508075688772},"253":{"tf":1.0},"256":{"tf":1.4142135623730951}}}}},"m":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.7320508075688772}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"237":{"tf":1.0}}}}},"q":{"df":2,"docs":{"237":{"tf":1.0},"238":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"x":{"df":0,"docs":{},"s":{"df":1,"docs":{"157":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.4142135623730951}}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"_":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"184":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"210":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"r":{"(":{")":{".":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{")":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"182":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"187":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"l":{"d":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"180":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{")":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"182":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"176":{"tf":1.0},"180":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"f":{".":{"c":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"179":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"185":{"tf":2.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"185":{"tf":1.7320508075688772}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"180":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"185":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"180":{"tf":1.0},"182":{"tf":1.7320508075688772},"185":{"tf":3.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"182":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":1,"docs":{"238":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"&":{"df":0,"docs":{},"r":{"df":0,"docs":{},"h":{"df":0,"docs":{},"s":{")":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"d":{"(":{")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"255":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"182":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"182":{"tf":1.0},"187":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":2,"docs":{"181":{"tf":1.0},"182":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"182":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"186":{"tf":1.7320508075688772},"211":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":2,"docs":{"267":{"tf":1.4142135623730951},"269":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"r":{"df":2,"docs":{"267":{"tf":1.4142135623730951},"269":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"187":{"tf":1.0},"255":{"tf":1.0}}}}}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"(":{"1":{"df":1,"docs":{"176":{"tf":1.0}}},"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"239":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":33,"docs":{"156":{"tf":1.4142135623730951},"157":{"tf":1.0},"158":{"tf":1.0},"166":{"tf":1.4142135623730951},"167":{"tf":1.0},"168":{"tf":1.0},"176":{"tf":2.449489742783178},"177":{"tf":1.4142135623730951},"180":{"tf":1.0},"182":{"tf":2.0},"184":{"tf":1.0},"185":{"tf":3.4641016151377544},"186":{"tf":1.0},"187":{"tf":1.0},"205":{"tf":1.7320508075688772},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"208":{"tf":1.0},"210":{"tf":1.4142135623730951},"211":{"tf":2.0},"212":{"tf":1.0},"236":{"tf":2.23606797749979},"238":{"tf":1.7320508075688772},"239":{"tf":1.7320508075688772},"249":{"tf":1.4142135623730951},"251":{"tf":4.795831523312719},"252":{"tf":3.1622776601683795},"253":{"tf":2.6457513110645907},"255":{"tf":1.0},"256":{"tf":1.4142135623730951},"267":{"tf":2.0},"268":{"tf":1.0},"269":{"tf":1.7320508075688772}},"、":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"251":{"tf":1.0}}}}}},"(":{"&":{"'":{"a":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"197":{"tf":1.0}},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"197":{"tf":2.449489742783178}}}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":5,"docs":{"230":{"tf":2.0},"234":{"tf":1.4142135623730951},"242":{"tf":1.0},"243":{"tf":1.0},"274":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":8,"docs":{"230":{"tf":1.0},"44":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.4142135623730951},"80":{"tf":2.0},"81":{"tf":1.0},"82":{"tf":2.0},"83":{"tf":2.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"23":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"80":{"tf":1.0}}},"df":0,"docs":{}}}}},"t":{"df":9,"docs":{"223":{"tf":1.4142135623730951},"245":{"tf":1.0},"248":{"tf":1.0},"250":{"tf":1.0},"251":{"tf":1.4142135623730951},"255":{"tf":2.8284271247461903},"256":{"tf":1.0},"258":{"tf":1.4142135623730951},"8":{"tf":1.0}},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"44":{"tf":1.0}}}}}},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"200":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"162":{"tf":1.0},"20":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"83":{"tf":1.0}}}}},"df":0,"docs":{}},"df":8,"docs":{"4":{"tf":1.0},"78":{"tf":1.7320508075688772},"79":{"tf":1.0},"80":{"tf":1.4142135623730951},"81":{"tf":1.4142135623730951},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.7320508075688772}}}}}}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":2,"docs":{"278":{"tf":1.4142135623730951},"54":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"231":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"i":{"df":1,"docs":{"285":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"t":{"_":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"92":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"df":2,"docs":{"89":{"tf":1.4142135623730951},"92":{"tf":2.8284271247461903}}}}}},"df":0,"docs":{}},"df":4,"docs":{"87":{"tf":1.7320508075688772},"89":{"tf":1.7320508075688772},"90":{"tf":1.7320508075688772},"92":{"tf":1.0}}}},"g":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"130":{"tf":1.4142135623730951},"143":{"tf":1.0},"32":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},")":{"df":0,"docs":{},"則":{"df":0,"docs":{},"是":{"df":0,"docs":{},"算":{"df":0,"docs":{},"術":{"df":0,"docs":{},"右":{"df":0,"docs":{},"移":{"df":0,"docs":{},"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"278":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"146":{"tf":1.4142135623730951},"278":{"tf":1.0}}},"df":0,"docs":{}}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":6,"docs":{"171":{"tf":1.0},"198":{"tf":1.0},"199":{"tf":1.0},"200":{"tf":1.0},"215":{"tf":1.0},"7":{"tf":1.0}}},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{"df":6,"docs":{"203":{"tf":1.0},"205":{"tf":1.0},"210":{"tf":1.4142135623730951},"211":{"tf":1.4142135623730951},"212":{"tf":1.0},"213":{"tf":1.0}}}},"df":5,"docs":{"203":{"tf":1.0},"206":{"tf":1.0},"209":{"tf":1.0},"211":{"tf":2.0},"212":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}},"k":{"df":1,"docs":{"71":{"tf":1.0}}}},"t":{"df":2,"docs":{"284":{"tf":1.4142135623730951},"285":{"tf":1.4142135623730951}}},"z":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"159":{"tf":1.0},"169":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":17,"docs":{"155":{"tf":1.0},"159":{"tf":1.0},"165":{"tf":1.0},"176":{"tf":1.4142135623730951},"179":{"tf":1.4142135623730951},"233":{"tf":2.449489742783178},"237":{"tf":1.0},"238":{"tf":1.0},"248":{"tf":1.0},"249":{"tf":1.4142135623730951},"259":{"tf":1.0},"262":{"tf":2.0},"264":{"tf":1.0},"265":{"tf":2.0},"269":{"tf":1.4142135623730951},"33":{"tf":3.0},"54":{"tf":2.0}}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"81":{"tf":1.7320508075688772}}}}},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"185":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"170":{"tf":1.0}}}}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}}},"df":1,"docs":{"185":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":8,"docs":{"117":{"tf":1.4142135623730951},"185":{"tf":1.0},"233":{"tf":1.0},"262":{"tf":1.4142135623730951},"265":{"tf":1.0},"32":{"tf":1.0},"54":{"tf":2.0},"61":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"t":{"df":3,"docs":{"227":{"tf":1.4142135623730951},"230":{"tf":2.449489742783178},"274":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"107":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":5,"docs":{"264":{"tf":1.0},"265":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.4142135623730951},"288":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"185":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"(":{"&":{"'":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":1,"docs":{"185":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"*":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"(":{")":{".":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"181":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"181":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"211":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"(":{"_":{"df":1,"docs":{"238":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":1,"docs":{"238":{"tf":1.0}}}},"*":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}}},"_":{"df":2,"docs":{"184":{"tf":1.0},"279":{"tf":1.4142135623730951}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"206":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"c":{"1":{"df":1,"docs":{"279":{"tf":1.0}}},"2":{"df":1,"docs":{"279":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"233":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"a":{"d":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"206":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"25":{"tf":1.0}}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"v":{"df":1,"docs":{"238":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"207":{"tf":1.0},"208":{"tf":1.0},"210":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"207":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"o":{"d":{"df":2,"docs":{"207":{"tf":1.4142135623730951},"208":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"207":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"256":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"256":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{")":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"|":{"_":{"df":1,"docs":{"256":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"256":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"0":{"df":1,"docs":{"168":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"(":{")":{".":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"182":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"182":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":2,"docs":{"174":{"tf":1.0},"177":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"296":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"t":{"/":{"b":{"df":0,"docs":{},"u":{"b":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"56":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":56,"docs":{"122":{"tf":1.4142135623730951},"123":{"tf":2.0},"125":{"tf":1.0},"127":{"tf":1.4142135623730951},"128":{"tf":1.4142135623730951},"129":{"tf":1.4142135623730951},"130":{"tf":1.0},"133":{"tf":1.4142135623730951},"134":{"tf":2.23606797749979},"135":{"tf":1.0},"136":{"tf":2.8284271247461903},"138":{"tf":2.0},"140":{"tf":1.0},"142":{"tf":1.4142135623730951},"143":{"tf":2.23606797749979},"144":{"tf":1.7320508075688772},"145":{"tf":3.7416573867739413},"146":{"tf":2.6457513110645907},"147":{"tf":3.0},"149":{"tf":3.0},"150":{"tf":2.0},"151":{"tf":2.8284271247461903},"152":{"tf":1.4142135623730951},"20":{"tf":1.0},"38":{"tf":1.7320508075688772},"4":{"tf":2.449489742783178},"46":{"tf":1.0},"47":{"tf":1.0},"56":{"tf":2.0},"57":{"tf":1.0},"58":{"tf":1.4142135623730951},"61":{"tf":2.8284271247461903},"62":{"tf":1.4142135623730951},"63":{"tf":2.23606797749979},"64":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"69":{"tf":1.0},"70":{"tf":1.7320508075688772},"71":{"tf":2.23606797749979},"73":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"77":{"tf":1.4142135623730951},"78":{"tf":1.7320508075688772},"79":{"tf":1.4142135623730951},"81":{"tf":3.7416573867739413},"82":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":2.23606797749979},"87":{"tf":1.7320508075688772},"90":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.4142135623730951},"93":{"tf":1.0},"94":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"151":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"。":{"b":{"df":0,"docs":{},"u":{"b":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"71":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}}}}}}},",":{"df":0,"docs":{},"但":{"df":0,"docs":{},"前":{"df":0,"docs":{},"一":{"df":0,"docs":{},"次":{"df":0,"docs":{},"結":{"df":0,"docs":{},"果":{"df":0,"docs":{},"已":{"df":0,"docs":{},"經":{"df":0,"docs":{},"很":{"df":0,"docs":{},"接":{"df":0,"docs":{},"近":{"df":0,"docs":{},"排":{"df":0,"docs":{},"序":{"df":0,"docs":{},"完":{"df":0,"docs":{},"成":{"df":0,"docs":{},",":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"81":{"tf":1.0}}}}}}}}}}}}}}}}}}}}}}}},"此":{"df":0,"docs":{},"時":{"df":0,"docs":{},"大":{"df":0,"docs":{},"部":{"df":0,"docs":{},"分":{"df":0,"docs":{},"元":{"df":0,"docs":{},"素":{"df":0,"docs":{},"皆":{"df":0,"docs":{},"排":{"df":0,"docs":{},"序":{"df":0,"docs":{},"完":{"df":0,"docs":{},"成":{"df":0,"docs":{},",":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}}}}}}}}}}}}}}}}}}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":4,"docs":{"274":{"tf":1.0},"275":{"tf":1.0},"278":{"tf":1.4142135623730951},"279":{"tf":1.7320508075688772}},"e":{".":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"279":{"tf":1.0}},"s":{"(":{")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"287":{"tf":1.4142135623730951},"289":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"286":{"tf":1.0},"287":{"tf":1.0},"289":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"286":{"tf":1.0},"287":{"tf":1.0},"289":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"279":{"tf":1.0}}}}}}},"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"287":{"tf":2.0},"288":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"p":{"a":{"c":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"276":{"tf":1.0}}}}}},"df":23,"docs":{"100":{"tf":1.0},"113":{"tf":1.0},"115":{"tf":1.0},"126":{"tf":1.0},"128":{"tf":1.0},"137":{"tf":1.0},"140":{"tf":1.0},"148":{"tf":1.0},"150":{"tf":1.0},"214":{"tf":1.0},"24":{"tf":1.0},"290":{"tf":1.4142135623730951},"30":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"51":{"tf":1.0},"58":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":1.0},"88":{"tf":1.0},"98":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"112":{"tf":1.4142135623730951},"117":{"tf":1.0},"118":{"tf":1.0},"193":{"tf":1.0}}}}}},"r":{"c":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"/":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"3":{"4":{"4":{":":{"6":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{":":{"1":{"2":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"5":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"3":{":":{"2":{"3":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"9":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"/":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"2":{"5":{"3":{":":{"9":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"1":{"7":{":":{"4":{"8":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{":":{"5":{"3":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{":":{"9":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"3":{":":{"2":{"4":{"df":1,"docs":{"264":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"7":{":":{"2":{"3":{"df":1,"docs":{"262":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{":":{"5":{"df":1,"docs":{"262":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":2,"docs":{"180":{"tf":1.0},"182":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"s":{"d":{"df":1,"docs":{"274":{"tf":1.0}}},"df":0,"docs":{}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"145":{"tf":1.0},"70":{"tf":1.0}}}},"c":{"df":0,"docs":{},"k":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"154":{"tf":1.0}}}},"df":9,"docs":{"100":{"tf":1.7320508075688772},"105":{"tf":1.7320508075688772},"115":{"tf":1.0},"153":{"tf":1.7320508075688772},"162":{"tf":1.0},"200":{"tf":1.0},"210":{"tf":2.23606797749979},"6":{"tf":1.0},"99":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"x":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"215":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"215":{"tf":1.0}}}}}}}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":7,"docs":{"118":{"tf":1.0},"124":{"tf":1.4142135623730951},"125":{"tf":1.4142135623730951},"132":{"tf":1.0},"211":{"tf":1.0},"34":{"tf":1.7320508075688772},"92":{"tf":3.0}}}},"t":{"df":0,"docs":{},"e":{"df":3,"docs":{"131":{"tf":1.4142135623730951},"132":{"tf":1.4142135623730951},"233":{"tf":1.0}}},"i":{"c":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":1,"docs":{"0":{"tf":1.0}}}}},"d":{":":{":":{"c":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"118":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"256":{"tf":1.0}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"264":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":3,"docs":{"263":{"tf":1.0},"264":{"tf":1.4142135623730951},"265":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"d":{"df":0,"docs":{},"t":{"df":1,"docs":{"225":{"tf":1.0}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{":":{":":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"184":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{},"f":{"3":{"2":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"267":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"4":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"267":{"tf":1.0}},"s":{":":{":":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"_":{"2":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"f":{"(":{"2":{"df":0,"docs":{},"f":{"6":{"4":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{":":{":":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"213":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":1,"docs":{"213":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"213":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{":":{":":{"df":0,"docs":{},"{":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"233":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"<":{"'":{"_":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"240":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"225":{"tf":1.0}}},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":2,"docs":{"264":{"tf":1.7320508075688772},"265":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"256":{"tf":1.0}}}},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"240":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"<":{"'":{"_":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"(":{"&":{"df":0,"docs":{},"k":{"df":1,"docs":{"240":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"c":{":":{":":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"240":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":1,"docs":{"164":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":2,"docs":{"267":{"tf":1.0},"291":{"tf":1.0}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":2,"docs":{"225":{"tf":1.0},"244":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"174":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":4,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"142":{"tf":1.0},"44":{"tf":1.0}}}}},"r":{":":{":":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"279":{"tf":1.4142135623730951},"287":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"287":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":6,"docs":{"237":{"tf":1.0},"264":{"tf":1.0},"279":{"tf":1.4142135623730951},"286":{"tf":2.0},"287":{"tf":1.4142135623730951},"289":{"tf":1.4142135623730951}},"e":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":5,"docs":{"233":{"tf":1.0},"237":{"tf":1.0},"264":{"tf":1.0},"265":{"tf":1.0},"286":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":22,"docs":{"142":{"tf":1.4142135623730951},"154":{"tf":1.0},"164":{"tf":1.0},"174":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.0},"185":{"tf":1.4142135623730951},"186":{"tf":1.0},"188":{"tf":1.0},"202":{"tf":1.7320508075688772},"203":{"tf":2.23606797749979},"210":{"tf":1.4142135623730951},"211":{"tf":3.1622776601683795},"233":{"tf":1.0},"234":{"tf":1.4142135623730951},"240":{"tf":1.4142135623730951},"247":{"tf":1.0},"262":{"tf":2.449489742783178},"263":{"tf":1.0},"264":{"tf":3.3166247903554},"265":{"tf":1.4142135623730951},"269":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"200":{"tf":1.0},"259":{"tf":1.0},"273":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"u":{"b":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"112":{"tf":1.4142135623730951},"97":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":3,"docs":{"287":{"tf":2.0},"289":{"tf":2.6457513110645907},"54":{"tf":1.7320508075688772}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"200":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"145":{"tf":1.0},"146":{"tf":1.4142135623730951},"149":{"tf":1.4142135623730951}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":2,"docs":{"118":{"tf":1.0},"81":{"tf":2.6457513110645907}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"282":{"tf":1.0},"289":{"tf":1.0}}}}}},"r":{"df":1,"docs":{"9":{"tf":1.0}},"e":{"df":1,"docs":{"92":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"179":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"89":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"176":{"tf":1.0},"264":{"tf":1.0}}}},"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"{":{"df":0,"docs":{},"i":{"=":{"0":{"df":0,"docs":{},"}":{"^":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"df":1,"docs":{"75":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"1":{"df":0,"docs":{},"}":{"^":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"df":1,"docs":{"66":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"99":{"tf":1.0}}}}},"df":6,"docs":{"124":{"tf":1.4142135623730951},"125":{"tf":4.358898943540674},"127":{"tf":1.0},"131":{"tf":2.23606797749979},"132":{"tf":2.0},"91":{"tf":1.0}}}},"v":{"df":0,"docs":{},"g":{"df":3,"docs":{"199":{"tf":1.0},"215":{"tf":1.0},"47":{"tf":1.4142135623730951}}}},"w":{"a":{"df":0,"docs":{},"p":{"'":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"92":{"tf":1.0}}}}},"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"238":{"tf":1.0}}}}}}}},"df":6,"docs":{"103":{"tf":1.4142135623730951},"107":{"tf":1.0},"108":{"tf":1.0},"76":{"tf":2.0},"87":{"tf":2.0},"97":{"tf":2.6457513110645907}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"8":{"df":3,"docs":{"62":{"tf":1.0},"72":{"tf":1.0},"77":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":2,"docs":{"0":{"tf":1.0},"109":{"tf":1.0}}}}}},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"256":{"tf":1.0},"257":{"tf":1.0}},"i":{"c":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"250":{"tf":1.0},"255":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"<":{"'":{"a":{">":{"(":{"&":{"'":{"a":{"df":1,"docs":{"252":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"47":{"tf":1.0}}}}}}}}}}},"t":{"(":{"\\":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"114":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"n":{"df":1,"docs":{"114":{"tf":1.7320508075688772}}}},">":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":3,"docs":{"130":{"tf":1.0},"132":{"tf":1.0},"143":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"]":{"df":0,"docs":{},"。":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}}}},"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"244":{"tf":1.4142135623730951}},"e":{"[":{"0":{"df":1,"docs":{"227":{"tf":1.0}}},"1":{"df":1,"docs":{"227":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"227":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":15,"docs":{"100":{"tf":1.0},"105":{"tf":1.0},"174":{"tf":1.0},"175":{"tf":3.3166247903554},"177":{"tf":1.4142135623730951},"179":{"tf":1.4142135623730951},"180":{"tf":2.0},"181":{"tf":1.4142135623730951},"182":{"tf":1.7320508075688772},"185":{"tf":3.1622776601683795},"189":{"tf":1.0},"196":{"tf":1.7320508075688772},"200":{"tf":1.0},"204":{"tf":1.0},"210":{"tf":1.4142135623730951}},"、":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"189":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"k":{"df":0,"docs":{},"e":{"df":5,"docs":{"206":{"tf":1.0},"207":{"tf":1.0},"208":{"tf":1.0},"210":{"tf":1.0},"251":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"105":{"tf":1.0}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}},"t":{")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"278":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"279":{"tf":1.0}},"s":{"(":{")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"287":{"tf":1.4142135623730951},"289":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"286":{"tf":1.0},"287":{"tf":1.0},"289":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"286":{"tf":1.0},"287":{"tf":1.0},"289":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"279":{"tf":1.0}}}}}}},"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"287":{"tf":2.0},"288":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"df":10,"docs":{"25":{"tf":1.4142135623730951},"278":{"tf":1.7320508075688772},"279":{"tf":2.0},"286":{"tf":1.4142135623730951},"287":{"tf":1.0},"289":{"tf":1.4142135623730951},"32":{"tf":1.0},"33":{"tf":2.0},"44":{"tf":4.123105625617661},"54":{"tf":1.7320508075688772}}}}}}},"c":{"df":0,"docs":{},"o":{"df":1,"docs":{"105":{"tf":2.0}}}},"df":33,"docs":{"130":{"tf":1.7320508075688772},"132":{"tf":1.4142135623730951},"142":{"tf":2.23606797749979},"143":{"tf":2.449489742783178},"151":{"tf":1.4142135623730951},"157":{"tf":1.0},"167":{"tf":1.0},"175":{"tf":3.0},"176":{"tf":1.7320508075688772},"179":{"tf":1.4142135623730951},"180":{"tf":2.449489742783178},"182":{"tf":1.4142135623730951},"185":{"tf":5.744562646538029},"186":{"tf":3.1622776601683795},"187":{"tf":1.4142135623730951},"188":{"tf":1.0},"202":{"tf":1.7320508075688772},"206":{"tf":1.0},"207":{"tf":1.0},"211":{"tf":3.872983346207417},"247":{"tf":1.0},"249":{"tf":2.23606797749979},"25":{"tf":2.6457513110645907},"251":{"tf":3.605551275463989},"252":{"tf":2.0},"255":{"tf":1.7320508075688772},"256":{"tf":1.7320508075688772},"264":{"tf":2.449489742783178},"268":{"tf":2.0},"269":{"tf":2.8284271247461903},"32":{"tf":2.0},"33":{"tf":1.7320508075688772},"54":{"tf":1.7320508075688772}},"e":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"105":{"tf":1.0},"210":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"67":{"tf":1.7320508075688772}}}},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"16":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"294":{"tf":1.0}}}},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"242":{"tf":1.0}},"{":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"y":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"50":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":3,"docs":{"114":{"tf":1.0},"284":{"tf":1.4142135623730951},"286":{"tf":1.0}}}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":2,"docs":{"231":{"tf":1.0},"242":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":2,"docs":{"114":{"tf":1.0},"284":{"tf":1.0}}}}}}}}}}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"176":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"114":{"tf":1.0}}}},"i":{"df":2,"docs":{"223":{"tf":1.0},"258":{"tf":1.0}}}}},"t":{"a":{"$":{"df":0,"docs":{},":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"19":{"tf":1.0}}}}},"df":0,"docs":{}}},"(":{"1":{"+":{"\\":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"df":0,"docs":{},"k":{"df":1,"docs":{"242":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"19":{"tf":1.0}}}},"df":0,"docs":{}},"n":{"df":1,"docs":{"19":{"tf":1.0}}}},"df":1,"docs":{"19":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"274":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":2,"docs":{"256":{"tf":1.0},"44":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"274":{"tf":1.0}}}}}}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":9,"docs":{"114":{"tf":1.0},"127":{"tf":1.0},"149":{"tf":1.0},"22":{"tf":1.0},"262":{"tf":1.4142135623730951},"270":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.0},"99":{"tf":1.0}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"121":{"tf":1.4142135623730951},"4":{"tf":1.0}}}}}}}},"o":{"_":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"132":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"p":{"df":3,"docs":{"116":{"tf":1.0},"117":{"tf":1.0},"119":{"tf":1.0}}},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"256":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"r":{"a":{"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"276":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":22,"docs":{"143":{"tf":1.0},"185":{"tf":1.7320508075688772},"188":{"tf":1.0},"205":{"tf":1.0},"209":{"tf":1.4142135623730951},"210":{"tf":1.4142135623730951},"211":{"tf":2.449489742783178},"212":{"tf":1.7320508075688772},"213":{"tf":1.4142135623730951},"232":{"tf":1.0},"233":{"tf":2.23606797749979},"236":{"tf":1.0},"237":{"tf":1.0},"240":{"tf":3.3166247903554},"251":{"tf":1.4142135623730951},"255":{"tf":1.7320508075688772},"256":{"tf":2.0},"265":{"tf":1.7320508075688772},"288":{"tf":1.0},"44":{"tf":1.4142135623730951},"67":{"tf":1.0},"83":{"tf":1.0}},",":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":1,"docs":{"233":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"208":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"256":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"211":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":3,"docs":{"274":{"tf":1.0},"46":{"tf":1.0},"87":{"tf":1.0}}}},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"251":{"tf":1.0}}}},"u":{"df":0,"docs":{},"e":{"df":7,"docs":{"157":{"tf":1.0},"168":{"tf":1.0},"256":{"tf":2.0},"262":{"tf":1.4142135623730951},"268":{"tf":1.0},"269":{"tf":1.0},"76":{"tf":1.7320508075688772}}}},"y":{"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"176":{"tf":1.0},"180":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":3,"docs":{"176":{"tf":1.0},"178":{"tf":1.0},"180":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":1,"docs":{"235":{"tf":1.0}},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"239":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"211":{"tf":1.0},"247":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"j":{"df":1,"docs":{"291":{"tf":1.0}}}}}}}},"w":{"df":0,"docs":{},"o":{"df":4,"docs":{"103":{"tf":1.0},"108":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":18,"docs":{"162":{"tf":1.0},"172":{"tf":1.0},"176":{"tf":1.4142135623730951},"185":{"tf":2.23606797749979},"186":{"tf":2.6457513110645907},"187":{"tf":1.0},"211":{"tf":2.23606797749979},"233":{"tf":1.0},"234":{"tf":1.4142135623730951},"240":{"tf":1.7320508075688772},"245":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.7320508075688772},"251":{"tf":1.4142135623730951},"255":{"tf":1.0},"262":{"tf":1.0},"264":{"tf":2.23606797749979},"287":{"tf":1.0}},"s":{"df":0,"docs":{},"(":{"d":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"233":{"tf":1.0},"262":{"tf":1.0}}}}},"df":0,"docs":{},"z":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}}}}}}},"、":{"df":0,"docs":{},"k":{"df":0,"docs":{},"、":{"df":0,"docs":{},"v":{"df":1,"docs":{"264":{"tf":1.0}}}}}}},"u":{"3":{"2":{">":{"df":0,"docs":{},",":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"264":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":2,"docs":{"264":{"tf":1.0},"278":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"6":{"4":{"df":3,"docs":{"268":{"tf":2.6457513110645907},"269":{"tf":3.0},"278":{"tf":2.0}}},"df":0,"docs":{}},"8":{"df":1,"docs":{"237":{"tf":1.0}}},"df":0,"docs":{},"m":{"d":{"df":1,"docs":{"89":{"tf":1.0}}},"df":0,"docs":{}},"n":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"217":{"tf":1.0}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"176":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"279":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":3,"docs":{"229":{"tf":1.0},"43":{"tf":1.7320508075688772},"47":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"n":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"251":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"<":{"'":{"a":{">":{"(":{"&":{"'":{"a":{"df":2,"docs":{"251":{"tf":1.4142135623730951},"252":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"251":{"tf":1.4142135623730951},"252":{"tf":1.4142135623730951},"255":{"tf":1.0},"257":{"tf":1.0}},":":{"df":0,"docs":{},"聯":{"df":0,"docs":{},"集":{"df":0,"docs":{},",":{"a":{"df":1,"docs":{"250":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"t":{"df":3,"docs":{"244":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.4142135623730951}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":3,"docs":{"122":{"tf":1.0},"152":{"tf":1.0},"93":{"tf":1.0}}}}}}},"s":{"a":{"df":0,"docs":{},"f":{"df":6,"docs":{"176":{"tf":2.23606797749979},"180":{"tf":1.0},"181":{"tf":1.7320508075688772},"182":{"tf":2.0},"185":{"tf":1.7320508075688772},"187":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},")":{"df":0,"docs":{},"是":{"df":0,"docs":{},"邏":{"df":0,"docs":{},"輯":{"df":0,"docs":{},"右":{"df":0,"docs":{},"移":{"df":0,"docs":{},"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"278":{"tf":1.0}}}}}}}}}}}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":6,"docs":{"63":{"tf":1.4142135623730951},"64":{"tf":1.7320508075688772},"67":{"tf":1.0},"85":{"tf":1.4142135623730951},"87":{"tf":1.0},"92":{"tf":1.4142135623730951}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"70":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"176":{"tf":1.0},"264":{"tf":1.0}}}},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"&":{"0":{"df":1,"docs":{"151":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"287":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"241":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":4,"docs":{"118":{"tf":1.0},"119":{"tf":1.0},"285":{"tf":1.0},"91":{"tf":1.0}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"118":{"tf":1.4142135623730951},"54":{"tf":1.0},"67":{"tf":1.0}}}}}},"s":{"df":12,"docs":{"132":{"tf":1.0},"144":{"tf":1.0},"151":{"tf":1.0},"211":{"tf":1.0},"233":{"tf":1.0},"251":{"tf":1.0},"262":{"tf":1.0},"263":{"tf":1.0},"264":{"tf":2.23606797749979},"265":{"tf":1.4142135623730951},"267":{"tf":1.0},"54":{"tf":1.0}},"e":{"_":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"(":{"a":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"z":{"df":42,"docs":{"103":{"tf":2.449489742783178},"107":{"tf":2.6457513110645907},"108":{"tf":1.7320508075688772},"130":{"tf":2.0},"132":{"tf":1.7320508075688772},"151":{"tf":1.0},"154":{"tf":1.0},"156":{"tf":1.0},"159":{"tf":1.0},"169":{"tf":1.0},"174":{"tf":1.4142135623730951},"176":{"tf":1.4142135623730951},"177":{"tf":1.4142135623730951},"179":{"tf":3.4641016151377544},"181":{"tf":1.0},"185":{"tf":2.0},"187":{"tf":1.4142135623730951},"188":{"tf":1.0},"207":{"tf":1.7320508075688772},"233":{"tf":1.4142135623730951},"234":{"tf":1.0},"236":{"tf":2.23606797749979},"249":{"tf":1.0},"262":{"tf":1.4142135623730951},"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":2.8284271247461903},"268":{"tf":1.4142135623730951},"269":{"tf":3.0},"279":{"tf":1.0},"286":{"tf":1.4142135623730951},"287":{"tf":1.7320508075688772},"288":{"tf":1.0},"289":{"tf":1.4142135623730951},"32":{"tf":1.0},"33":{"tf":1.7320508075688772},"44":{"tf":2.23606797749979},"54":{"tf":1.0},"61":{"tf":1.0},"76":{"tf":1.0},"83":{"tf":1.7320508075688772},"92":{"tf":1.4142135623730951}},"e":{":":{":":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"x":{"df":1,"docs":{"179":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"f":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}}}},"v":{">":{">":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"236":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"61":{"tf":1.0}},"i":{"d":{"df":5,"docs":{"181":{"tf":1.4142135623730951},"182":{"tf":2.0},"185":{"tf":1.0},"187":{"tf":1.4142135623730951},"92":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":18,"docs":{"107":{"tf":1.7320508075688772},"125":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":2.0},"136":{"tf":1.4142135623730951},"142":{"tf":2.8284271247461903},"143":{"tf":2.449489742783178},"211":{"tf":1.0},"216":{"tf":1.0},"230":{"tf":1.0},"234":{"tf":1.4142135623730951},"237":{"tf":1.4142135623730951},"238":{"tf":2.0},"249":{"tf":2.23606797749979},"251":{"tf":1.0},"262":{"tf":1.7320508075688772},"44":{"tf":1.4142135623730951},"96":{"tf":1.4142135623730951}},"e":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"132":{"tf":1.4142135623730951},"143":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"251":{"tf":1.0},"44":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":16,"docs":{"112":{"tf":1.4142135623730951},"136":{"tf":3.4641016151377544},"189":{"tf":1.0},"196":{"tf":1.4142135623730951},"197":{"tf":1.0},"200":{"tf":1.0},"230":{"tf":1.0},"234":{"tf":2.8284271247461903},"236":{"tf":2.23606797749979},"237":{"tf":2.0},"238":{"tf":2.0},"239":{"tf":1.4142135623730951},"240":{"tf":3.3166247903554},"241":{"tf":1.7320508075688772},"257":{"tf":1.0},"264":{"tf":1.0}},"e":{"c":{"!":{"[":{"0":{"df":1,"docs":{"288":{"tf":1.0}}},"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}}}},"df":0,"docs":{}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"142":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"!":{"[":{"0":{"df":2,"docs":{"287":{"tf":1.4142135623730951},"288":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":1,"docs":{"131":{"tf":1.0}}}}}},":":{":":{"<":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{"df":1,"docs":{"236":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"237":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":3,"docs":{"143":{"tf":1.0},"166":{"tf":1.0},"236":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"171":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"238":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"x":{"df":0,"docs":{},"s":{"df":1,"docs":{"156":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"<":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"234":{"tf":1.4142135623730951}}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":4,"docs":{"262":{"tf":1.0},"263":{"tf":1.0},"264":{"tf":1.4142135623730951},"269":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"h":{"df":1,"docs":{"143":{"tf":1.0}}},"k":{"df":2,"docs":{"234":{"tf":1.0},"236":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"df":4,"docs":{"142":{"tf":1.0},"154":{"tf":1.0},"164":{"tf":1.0},"171":{"tf":1.0}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"288":{"tf":1.0},"289":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"u":{"8":{"df":1,"docs":{"264":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":1,"docs":{"288":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":2,"docs":{"190":{"tf":1.0},"193":{"tf":1.0}},"e":{":":{":":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"180":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":14,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"131":{"tf":1.0},"142":{"tf":1.0},"166":{"tf":1.0},"167":{"tf":1.0},"170":{"tf":1.4142135623730951},"176":{"tf":1.4142135623730951},"234":{"tf":1.4142135623730951},"236":{"tf":1.0},"239":{"tf":1.0},"262":{"tf":2.23606797749979},"287":{"tf":1.0},"288":{"tf":2.0}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":9,"docs":{"117":{"tf":1.0},"153":{"tf":1.0},"156":{"tf":2.23606797749979},"157":{"tf":1.0},"163":{"tf":1.0},"234":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"287":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":2,"docs":{"250":{"tf":1.0},"258":{"tf":1.0}}}}},"i":{"a":{"df":11,"docs":{"122":{"tf":1.0},"190":{"tf":1.0},"199":{"tf":1.0},"225":{"tf":1.0},"244":{"tf":1.0},"258":{"tf":1.0},"47":{"tf":1.4142135623730951},"62":{"tf":1.0},"70":{"tf":1.0},"77":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"179":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":1,"docs":{"10":{"tf":1.0}}}},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"47":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":3,"docs":{"107":{"tf":1.0},"108":{"tf":1.0},"256":{"tf":1.0}},"n":{"df":2,"docs":{"109":{"tf":1.0},"244":{"tf":1.0}}}}},"df":1,"docs":{"260":{"tf":1.4142135623730951}},"e":{"b":{"df":1,"docs":{"133":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"13":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"12":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"296":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"185":{"tf":1.0},"44":{"tf":1.0}}}}}}}},"i":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"w":{"7":{"7":{"2":{"1":{"0":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"d":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"118":{"tf":2.6457513110645907}}}}},"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":25,"docs":{"109":{"tf":1.0},"122":{"tf":1.0},"133":{"tf":1.0},"144":{"tf":1.4142135623730951},"152":{"tf":1.0},"163":{"tf":1.0},"190":{"tf":1.0},"199":{"tf":1.0},"22":{"tf":1.4142135623730951},"225":{"tf":1.4142135623730951},"244":{"tf":1.4142135623730951},"258":{"tf":1.0},"26":{"tf":1.0},"276":{"tf":1.0},"281":{"tf":1.0},"291":{"tf":1.0},"39":{"tf":1.0},"47":{"tf":1.0},"55":{"tf":1.0},"62":{"tf":1.0},"70":{"tf":1.0},"77":{"tf":1.0},"84":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.4142135623730951}},"m":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"a":{"df":10,"docs":{"122":{"tf":1.0},"190":{"tf":1.0},"199":{"tf":1.0},"225":{"tf":1.0},"244":{"tf":1.0},"47":{"tf":1.4142135623730951},"62":{"tf":1.0},"70":{"tf":1.0},"77":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"a":{"df":4,"docs":{"153":{"tf":1.4142135623730951},"163":{"tf":1.0},"258":{"tf":1.0},"271":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"h":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":3,"docs":{"155":{"tf":1.0},"176":{"tf":1.4142135623730951},"235":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"(":{"c":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"176":{"tf":1.0},"236":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"x":{"df":0,"docs":{},"s":{"df":1,"docs":{"156":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"180":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"d":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":5,"docs":{"263":{"tf":1.0},"264":{"tf":1.7320508075688772},"293":{"tf":1.0},"62":{"tf":1.0},"77":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":21,"docs":{"113":{"tf":1.4142135623730951},"126":{"tf":1.4142135623730951},"137":{"tf":1.4142135623730951},"138":{"tf":1.0},"148":{"tf":1.4142135623730951},"161":{"tf":1.0},"171":{"tf":1.0},"189":{"tf":1.0},"24":{"tf":1.4142135623730951},"241":{"tf":1.0},"257":{"tf":1.0},"290":{"tf":1.7320508075688772},"30":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951},"88":{"tf":1.4142135623730951},"98":{"tf":1.4142135623730951}}}}}},"r":{"a":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"a":{"d":{"d":{"(":{"a":{"d":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"179":{"tf":1.0}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"a":{"d":{"d":{"(":{"1":{"df":1,"docs":{"185":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"187":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":4,"docs":{"179":{"tf":1.0},"181":{"tf":1.4142135623730951},"182":{"tf":2.0},"187":{"tf":1.4142135623730951}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"a":{"d":{"d":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"179":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"268":{"tf":1.0}}}},"s":{"df":0,"docs":{},"u":{"b":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"179":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"!":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"213":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"296":{"tf":1.0},"34":{"tf":1.0}}}}}}},"x":{",":{"df":0,"docs":{},"y":{",":{"df":0,"docs":{},"z":{"df":1,"docs":{"260":{"tf":1.0}}}},"df":0,"docs":{}}},".":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"210":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"233":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"^":{"2":{"df":1,"docs":{"16":{"tf":1.0}}},"4":{"+":{"5":{"\\":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"{":{"3":{"df":0,"docs":{},"}":{"^":{"df":0,"docs":{},"{":{"2":{"6":{"df":0,"docs":{},"}":{"8":{"8":{"df":0,"docs":{},"x":{"^":{"3":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"0":{",":{"df":0,"docs":{},"x":{"_":{"1":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"y":{"_":{"0":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"42":{"tf":1.4142135623730951}}},"1":{",":{"df":0,"docs":{},"y":{"_":{"1":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":17,"docs":{"131":{"tf":1.7320508075688772},"132":{"tf":1.7320508075688772},"139":{"tf":1.4142135623730951},"151":{"tf":1.0},"175":{"tf":6.082762530298219},"179":{"tf":2.0},"180":{"tf":6.48074069840786},"210":{"tf":1.0},"233":{"tf":1.7320508075688772},"25":{"tf":1.0},"256":{"tf":5.916079783099616},"272":{"tf":1.0},"275":{"tf":1.4142135623730951},"287":{"tf":1.0},"289":{"tf":1.4142135623730951},"42":{"tf":2.449489742783178},"50":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"255":{"tf":1.0},"275":{"tf":1.4142135623730951},"278":{"tf":2.8284271247461903}}}},"」":{"df":0,"docs":{},"或":{"df":0,"docs":{},"是":{"df":0,"docs":{},"「":{"df":0,"docs":{},"x":{"df":1,"docs":{"272":{"tf":1.0}}}}}}}},"y":{".":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"210":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"_":{"0":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"df":0,"docs":{},"x":{"_":{"1":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"42":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":5,"docs":{"210":{"tf":1.0},"256":{"tf":5.477225575051661},"42":{"tf":1.7320508075688772},"43":{"tf":1.4142135623730951},"47":{"tf":1.0}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}}}}},"z":{".":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"210":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":2,"docs":{"210":{"tf":1.0},"256":{"tf":2.8284271247461903}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":4,"docs":{"176":{"tf":1.7320508075688772},"248":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"212":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"176":{"tf":2.23606797749979},"179":{"tf":1.0},"248":{"tf":1.7320508075688772}}}}}}},"breadcrumbs":{"root":{"0":{".":{".":{"=":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"289":{"tf":1.0}}}}}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"(":{")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{")":{")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{":":{":":{"<":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"_":{"df":1,"docs":{"289":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"c":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"236":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"92":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"67":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{")":{".":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"i":{"df":1,"docs":{"269":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"1":{"df":3,"docs":{"259":{"tf":1.0},"267":{"tf":1.0},"270":{"tf":1.0}}},"7":{"5":{"df":1,"docs":{"239":{"tf":1.0}}},"df":0,"docs":{}},"8":{"df":1,"docs":{"273":{"tf":1.0}}},"9":{"df":1,"docs":{"273":{"tf":1.0}}},"df":0,"docs":{}},"0":{"0":{"df":2,"docs":{"227":{"tf":2.0},"230":{"tf":1.0}}},"df":2,"docs":{"227":{"tf":2.0},"230":{"tf":1.0}}},"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":2,"docs":{"33":{"tf":1.4142135623730951},"44":{"tf":2.0}}}}}}},"b":{"0":{"0":{"0":{"0":{"df":1,"docs":{"179":{"tf":1.0}}},"1":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{},"(":{"0":{"df":1,"docs":{"175":{"tf":1.0}}},"df":0,"docs":{}}},"1":{"0":{"df":1,"docs":{"179":{"tf":1.0}}},"1":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"1":{"1":{"df":1,"docs":{"179":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"0":{"0":{"0":{"df":1,"docs":{"179":{"tf":1.0}}},"1":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}},"1":{"0":{"df":1,"docs":{"179":{"tf":1.0}}},"1":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"1":{"df":0,"docs":{},"(":{"7":{"df":1,"docs":{"175":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":49,"docs":{"102":{"tf":1.4142135623730951},"117":{"tf":1.4142135623730951},"118":{"tf":1.0},"119":{"tf":1.7320508075688772},"123":{"tf":1.0},"125":{"tf":3.3166247903554},"131":{"tf":1.7320508075688772},"132":{"tf":1.4142135623730951},"145":{"tf":1.4142135623730951},"147":{"tf":4.58257569495584},"149":{"tf":1.0},"151":{"tf":2.0},"159":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.4142135623730951},"175":{"tf":1.4142135623730951},"176":{"tf":2.449489742783178},"177":{"tf":1.4142135623730951},"179":{"tf":2.449489742783178},"18":{"tf":1.0},"181":{"tf":1.0},"196":{"tf":1.0},"197":{"tf":1.0},"198":{"tf":1.7320508075688772},"200":{"tf":1.0},"207":{"tf":1.4142135623730951},"227":{"tf":3.3166247903554},"230":{"tf":1.4142135623730951},"233":{"tf":1.7320508075688772},"236":{"tf":1.7320508075688772},"239":{"tf":1.4142135623730951},"253":{"tf":1.4142135623730951},"260":{"tf":1.0},"272":{"tf":1.0},"275":{"tf":1.0},"278":{"tf":2.0},"279":{"tf":1.0},"284":{"tf":1.4142135623730951},"285":{"tf":1.0},"286":{"tf":1.4142135623730951},"288":{"tf":1.0},"289":{"tf":1.0},"33":{"tf":1.4142135623730951},"42":{"tf":2.449489742783178},"48":{"tf":1.0},"54":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"76":{"tf":1.4142135623730951},"92":{"tf":1.4142135623730951}},"}":{"^":{"df":0,"docs":{},"n":{"df":1,"docs":{"99":{"tf":1.0}}}},"df":0,"docs":{}}},"1":{")":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"58":{"tf":1.0}}}},".":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"67":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"2":{"df":4,"docs":{"58":{"tf":1.0},"66":{"tf":1.0},"75":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}}}},",":{"2":{"df":1,"docs":{"256":{"tf":1.0}}},"df":0,"docs":{},"j":{"df":2,"docs":{"284":{"tf":2.0},"287":{"tf":1.4142135623730951}}}},".":{".":{"=":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"e":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"287":{"tf":1.4142135623730951},"288":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{")":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"92":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"59":{"tf":1.0},"61":{"tf":1.0},"76":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"76":{"tf":1.0}}}}}},"0":{".":{"0":{"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"6":{"df":1,"docs":{"240":{"tf":1.4142135623730951}}},"8":{"df":1,"docs":{"176":{"tf":1.0}}},"df":0,"docs":{}},"4":{"4":{"df":1,"docs":{"271":{"tf":1.0}}},"df":0,"docs":{}},"7":{"1":{"df":2,"docs":{"259":{"tf":1.0},"270":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"0":{"0":{"df":1,"docs":{"145":{"tf":1.0}}},"df":4,"docs":{"135":{"tf":1.0},"136":{"tf":1.0},"151":{"tf":1.0},"23":{"tf":1.0}}},"2":{".":{"0":{"3":{"6":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":13,"docs":{"135":{"tf":1.0},"136":{"tf":2.0},"14":{"tf":1.0},"145":{"tf":1.4142135623730951},"147":{"tf":1.0},"149":{"tf":1.4142135623730951},"151":{"tf":1.7320508075688772},"156":{"tf":1.0},"179":{"tf":1.4142135623730951},"274":{"tf":1.0},"42":{"tf":1.4142135623730951},"80":{"tf":1.4142135623730951},"83":{"tf":1.0}},"x":{"df":1,"docs":{"16":{"tf":1.0}}}},"1":{"7":{"df":1,"docs":{"251":{"tf":1.0}}},"8":{"df":1,"docs":{"251":{"tf":1.4142135623730951}}},"9":{"df":1,"docs":{"251":{"tf":1.0}}},"df":6,"docs":{"135":{"tf":1.0},"136":{"tf":1.0},"156":{"tf":1.4142135623730951},"179":{"tf":1.4142135623730951},"227":{"tf":2.23606797749979},"230":{"tf":1.0}}},"2":{"6":{"df":1,"docs":{"146":{"tf":1.0}}},"df":0,"docs":{}},"3":{"2":{"df":2,"docs":{"80":{"tf":1.0},"83":{"tf":1.0}}},"5":{"df":1,"docs":{"47":{"tf":1.0}}},"df":3,"docs":{"29":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"50":{"tf":1.7320508075688772}}},"4":{"1":{"df":1,"docs":{"47":{"tf":1.0}}},"df":2,"docs":{"136":{"tf":2.0},"42":{"tf":1.0}}},"5":{"df":4,"docs":{"29":{"tf":1.7320508075688772},"42":{"tf":1.0},"50":{"tf":1.7320508075688772},"80":{"tf":1.0}}},"6":{"df":1,"docs":{"262":{"tf":1.0}}},"7":{"0":{"df":1,"docs":{"147":{"tf":2.6457513110645907}}},"df":3,"docs":{"42":{"tf":1.4142135623730951},"87":{"tf":3.4641016151377544},"97":{"tf":3.3166247903554}}},"8":{"df":1,"docs":{"42":{"tf":1.0}}},"9":{"7":{"8":{"df":2,"docs":{"43":{"tf":1.0},"47":{"tf":1.0}}},"df":0,"docs":{}},"9":{"6":{"df":2,"docs":{"46":{"tf":1.0},"47":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":2,"docs":{"29":{"tf":1.0},"50":{"tf":1.7320508075688772}}},"]":{"[":{"df":0,"docs":{},"j":{"df":1,"docs":{"287":{"tf":2.0}}}},"df":0,"docs":{}},"^":{"2":{"df":1,"docs":{"230":{"tf":1.0}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"54":{"tf":1.0}}}}}}},"df":97,"docs":{"100":{"tf":1.0},"102":{"tf":2.23606797749979},"103":{"tf":1.4142135623730951},"105":{"tf":3.605551275463989},"107":{"tf":2.0},"108":{"tf":2.23606797749979},"111":{"tf":1.0},"112":{"tf":3.0},"114":{"tf":1.7320508075688772},"117":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"119":{"tf":2.23606797749979},"125":{"tf":5.0990195135927845},"127":{"tf":1.0},"131":{"tf":2.0},"132":{"tf":2.23606797749979},"135":{"tf":1.4142135623730951},"136":{"tf":2.0},"143":{"tf":1.0},"147":{"tf":1.4142135623730951},"15":{"tf":1.0},"151":{"tf":1.7320508075688772},"159":{"tf":1.0},"16":{"tf":1.0},"175":{"tf":3.0},"176":{"tf":2.8284271247461903},"179":{"tf":4.58257569495584},"180":{"tf":2.0},"181":{"tf":2.23606797749979},"182":{"tf":3.4641016151377544},"185":{"tf":2.0},"19":{"tf":1.0},"196":{"tf":1.0},"197":{"tf":1.0},"198":{"tf":1.7320508075688772},"200":{"tf":1.0},"203":{"tf":1.0},"206":{"tf":1.7320508075688772},"207":{"tf":2.0},"208":{"tf":1.4142135623730951},"210":{"tf":1.0},"211":{"tf":1.7320508075688772},"227":{"tf":2.6457513110645907},"228":{"tf":1.4142135623730951},"230":{"tf":1.4142135623730951},"233":{"tf":1.0},"234":{"tf":1.0},"236":{"tf":1.0},"238":{"tf":2.0},"239":{"tf":1.4142135623730951},"24":{"tf":1.0},"242":{"tf":1.0},"249":{"tf":1.0},"256":{"tf":1.4142135623730951},"260":{"tf":1.7320508075688772},"267":{"tf":1.4142135623730951},"268":{"tf":2.0},"269":{"tf":2.0},"272":{"tf":1.0},"278":{"tf":2.449489742783178},"279":{"tf":1.4142135623730951},"284":{"tf":3.7416573867739413},"285":{"tf":3.872983346207417},"287":{"tf":4.58257569495584},"288":{"tf":2.449489742783178},"289":{"tf":4.0},"29":{"tf":1.4142135623730951},"30":{"tf":2.23606797749979},"33":{"tf":2.23606797749979},"42":{"tf":2.23606797749979},"44":{"tf":3.1622776601683795},"46":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"53":{"tf":2.0},"54":{"tf":2.23606797749979},"58":{"tf":1.7320508075688772},"59":{"tf":2.0},"61":{"tf":1.7320508075688772},"65":{"tf":2.449489742783178},"66":{"tf":2.0},"67":{"tf":1.0},"72":{"tf":1.0},"75":{"tf":2.0},"76":{"tf":2.449489742783178},"78":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":2.23606797749979},"81":{"tf":1.0},"83":{"tf":1.7320508075688772},"86":{"tf":1.0},"87":{"tf":3.4641016151377544},"92":{"tf":2.8284271247461903},"95":{"tf":1.0},"96":{"tf":2.0},"97":{"tf":3.3166247903554},"99":{"tf":1.7320508075688772}},"f":{"6":{"4":{"df":2,"docs":{"267":{"tf":1.4142135623730951},"269":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"179":{"tf":1.0}}}}}},"}":{"df":0,"docs":{},"i":{"df":1,"docs":{"75":{"tf":1.0}}}},",":{"df":0,"docs":{},"所":{"df":0,"docs":{},"以":{"df":0,"docs":{},"我":{"df":0,"docs":{},"們":{"df":0,"docs":{},"採":{"df":0,"docs":{},"取":{"df":0,"docs":{},"類":{"df":0,"docs":{},"似":{"df":0,"docs":{},"環":{"df":0,"docs":{},"繞":{"df":0,"docs":{},"算":{"df":0,"docs":{},"術":{"df":0,"docs":{},"運":{"df":0,"docs":{},"算":{"df":0,"docs":{},"(":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"175":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}},"2":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"92":{"tf":1.0}}}}}},"^":{"2":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"1":{"df":2,"docs":{"143":{"tf":1.0},"33":{"tf":1.0}}},"2":{"3":{"6":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"143":{"tf":1.4142135623730951},"33":{"tf":1.0}}},"3":{"df":1,"docs":{"33":{"tf":1.0}}},"5":{"df":1,"docs":{"122":{"tf":1.0}}},"df":0,"docs":{}},"0":{"0":{"1":{"df":1,"docs":{"84":{"tf":1.0}}},"df":0,"docs":{}},"1":{"1":{"df":3,"docs":{"122":{"tf":1.0},"244":{"tf":1.0},"93":{"tf":1.0}}},"2":{"df":1,"docs":{"274":{"tf":1.0}}},"4":{"df":1,"docs":{"275":{"tf":1.0}}},"7":{"df":1,"docs":{"13":{"tf":1.0}}},"8":{".":{"2":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"1":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{}},"df":8,"docs":{"106":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"256":{"tf":1.0},"29":{"tf":1.0},"50":{"tf":1.7320508075688772},"87":{"tf":3.4641016151377544},"97":{"tf":3.3166247903554}}},"1":{"(":{"7":{"df":1,"docs":{"47":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"87":{"tf":3.4641016151377544},"97":{"tf":3.3166247903554}}},"2":{"df":2,"docs":{"29":{"tf":1.0},"50":{"tf":3.1622776601683795}},"。":{"3":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{},"哎":{"df":0,"docs":{},"呀":{"df":0,"docs":{},",":{"$":{"2":{"^":{"4":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"3":{"df":5,"docs":{"29":{"tf":1.0},"42":{"tf":1.0},"50":{"tf":1.7320508075688772},"80":{"tf":1.4142135623730951},"83":{"tf":1.0}}},"4":{"df":5,"docs":{"147":{"tf":2.6457513110645907},"262":{"tf":1.0},"288":{"tf":1.0},"29":{"tf":1.0},"50":{"tf":1.7320508075688772}}},"5":{"3":{"df":1,"docs":{"240":{"tf":1.0}}},"4":{":":{"2":{"8":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"240":{"tf":1.0}}},"5":{":":{"3":{"3":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"240":{"tf":1.0}}},"df":3,"docs":{"274":{"tf":1.0},"29":{"tf":1.0},"50":{"tf":1.7320508075688772}}},"6":{"df":1,"docs":{"151":{"tf":1.0}}},"7":{"df":1,"docs":{"42":{"tf":3.4641016151377544}}},"8":{"df":2,"docs":{"136":{"tf":2.0},"42":{"tf":2.23606797749979}}},"9":{"df":2,"docs":{"16":{"tf":1.0},"42":{"tf":2.0}}},"^":{"0":{"$":{"df":0,"docs":{},",":{"$":{"2":{"^":{"1":{"df":1,"docs":{"37":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":2,"docs":{"48":{"tf":1.0},"50":{"tf":1.0}}},"1":{"$":{"df":0,"docs":{},"、":{"$":{"2":{"^":{"2":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},":":{"3":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}}},"df":1,"docs":{"81":{"tf":1.0}}},"2":{"$":{"df":0,"docs":{},":":{"6":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}}},"df":2,"docs":{"230":{"tf":1.0},"81":{"tf":1.0}}},"3":{"$":{"df":0,"docs":{},":":{"1":{"5":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":2,"docs":{"179":{"tf":1.0},"81":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":2,"docs":{"30":{"tf":1.7320508075688772},"48":{"tf":1.0}}},"n":{"df":3,"docs":{"179":{"tf":2.0},"181":{"tf":1.0},"37":{"tf":1.0}}},"x":{"df":1,"docs":{"43":{"tf":1.0}}},"{":{"4":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}},"\\":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"tf":1.0}},"{":{"df":0,"docs":{},"i":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{},"k":{"df":1,"docs":{"80":{"tf":1.0}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"{":{"df":0,"docs":{},"i":{"df":1,"docs":{"53":{"tf":1.0}}}}}}}}},"a":{"df":1,"docs":{"65":{"tf":2.6457513110645907}},"、":{"2":{"b":{"df":1,"docs":{"65":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"b":{"df":1,"docs":{"65":{"tf":2.449489742783178}}},"df":89,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"105":{"tf":1.0},"108":{"tf":1.0},"111":{"tf":1.4142135623730951},"112":{"tf":2.8284271247461903},"114":{"tf":1.0},"117":{"tf":1.4142135623730951},"118":{"tf":2.0},"119":{"tf":1.0},"125":{"tf":4.123105625617661},"131":{"tf":1.4142135623730951},"132":{"tf":1.4142135623730951},"136":{"tf":1.0},"143":{"tf":1.0},"147":{"tf":3.605551275463989},"151":{"tf":1.0},"153":{"tf":1.0},"16":{"tf":1.0},"175":{"tf":2.449489742783178},"176":{"tf":1.7320508075688772},"179":{"tf":3.1622776601683795},"18":{"tf":1.0},"180":{"tf":1.4142135623730951},"182":{"tf":2.0},"185":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"196":{"tf":1.0},"198":{"tf":1.4142135623730951},"200":{"tf":1.0},"203":{"tf":1.0},"206":{"tf":1.7320508075688772},"207":{"tf":1.4142135623730951},"208":{"tf":1.4142135623730951},"210":{"tf":1.0},"211":{"tf":1.4142135623730951},"227":{"tf":3.7416573867739413},"228":{"tf":1.4142135623730951},"230":{"tf":1.7320508075688772},"233":{"tf":1.0},"234":{"tf":1.0},"238":{"tf":1.4142135623730951},"239":{"tf":1.0},"249":{"tf":1.0},"256":{"tf":1.4142135623730951},"262":{"tf":1.0},"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.4142135623730951},"269":{"tf":1.0},"273":{"tf":1.0},"275":{"tf":1.0},"278":{"tf":1.0},"279":{"tf":1.0},"285":{"tf":2.449489742783178},"287":{"tf":2.0},"288":{"tf":1.0},"289":{"tf":1.0},"29":{"tf":3.0},"291":{"tf":1.0},"30":{"tf":1.7320508075688772},"33":{"tf":1.4142135623730951},"34":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.7320508075688772},"53":{"tf":1.0},"54":{"tf":1.7320508075688772},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"76":{"tf":1.4142135623730951},"81":{"tf":4.123105625617661},"83":{"tf":1.0},"87":{"tf":3.4641016151377544},"89":{"tf":1.0},"92":{"tf":2.0},"97":{"tf":3.3166247903554},"99":{"tf":1.7320508075688772}},"t":{"(":{"\\":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"2":{"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"x":{"^":{"2":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"3":{",":{"4":{"df":1,"docs":{"256":{"tf":1.0}}},"df":0,"docs":{}},".":{"0":{"df":12,"docs":{"190":{"tf":1.0},"225":{"tf":1.0},"244":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.4142135623730951},"62":{"tf":1.0},"64":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"77":{"tf":1.0},"93":{"tf":1.0}}},"1":{"df":3,"docs":{"143":{"tf":1.0},"238":{"tf":1.0},"44":{"tf":1.0}}},"2":{"df":3,"docs":{"143":{"tf":1.0},"238":{"tf":1.0},"44":{"tf":1.0}}},"3":{"df":1,"docs":{"44":{"tf":1.0}}},"4":{"df":1,"docs":{"244":{"tf":1.0}}},"df":0,"docs":{}},"/":{"4":{"df":1,"docs":{"231":{"tf":1.0}}},"df":0,"docs":{}},"0":{"1":{"df":2,"docs":{"80":{"tf":1.0},"83":{"tf":1.0}}},"df":2,"docs":{"15":{"tf":1.0},"42":{"tf":1.0}}},"1":{"df":2,"docs":{"42":{"tf":1.0},"80":{"tf":1.0}}},"2":{"df":2,"docs":{"14":{"tf":1.0},"236":{"tf":1.0}}},"3":{"3":{"df":2,"docs":{"227":{"tf":2.23606797749979},"230":{"tf":1.0}}},"df":0,"docs":{}},"4":{"4":{":":{"6":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"185":{"tf":1.0}}},"7":{":":{"5":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"185":{"tf":1.4142135623730951}}},"df":1,"docs":{"42":{"tf":1.7320508075688772}}},"5":{"1":{"df":2,"docs":{"122":{"tf":1.0},"93":{"tf":1.0}}},"3":{"df":1,"docs":{"185":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"6":{",":{"3":{"7":{"df":1,"docs":{"136":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"136":{"tf":1.4142135623730951}}},"7":{",":{"3":{"6":{"df":1,"docs":{"136":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"136":{"tf":1.4142135623730951}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"47":{"tf":1.0}}}}},"^":{"2":{"df":1,"docs":{"230":{"tf":1.0}}},"df":0,"docs":{}},"df":70,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"105":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.4142135623730951},"112":{"tf":2.8284271247461903},"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"125":{"tf":2.8284271247461903},"131":{"tf":1.4142135623730951},"132":{"tf":1.4142135623730951},"136":{"tf":1.0},"143":{"tf":1.0},"151":{"tf":1.0},"17":{"tf":1.0},"175":{"tf":2.23606797749979},"176":{"tf":1.4142135623730951},"179":{"tf":3.0},"180":{"tf":1.0},"182":{"tf":2.0},"185":{"tf":1.4142135623730951},"197":{"tf":1.0},"198":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.4142135623730951},"208":{"tf":2.449489742783178},"210":{"tf":1.0},"211":{"tf":1.4142135623730951},"227":{"tf":2.23606797749979},"230":{"tf":1.0},"233":{"tf":1.0},"234":{"tf":1.0},"236":{"tf":1.0},"238":{"tf":1.4142135623730951},"239":{"tf":1.0},"244":{"tf":1.0},"249":{"tf":1.0},"256":{"tf":1.0},"258":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.4142135623730951},"278":{"tf":1.0},"279":{"tf":1.0},"284":{"tf":1.7320508075688772},"285":{"tf":1.0},"287":{"tf":2.0},"288":{"tf":1.0},"289":{"tf":1.0},"29":{"tf":2.0},"30":{"tf":1.7320508075688772},"33":{"tf":1.0},"44":{"tf":1.4142135623730951},"50":{"tf":2.449489742783178},"54":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"61":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":2.449489742783178},"67":{"tf":1.0},"73":{"tf":5.830951894845301},"76":{"tf":1.4142135623730951},"80":{"tf":1.0},"81":{"tf":3.872983346207417},"83":{"tf":1.0},"87":{"tf":3.4641016151377544},"92":{"tf":1.7320508075688772},"97":{"tf":3.3166247903554}},"n":{"df":3,"docs":{"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"19":{"tf":1.7320508075688772}}},"、":{"4":{"df":0,"docs":{},"、":{"5":{"df":1,"docs":{"153":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"4":{".":{"0":{"df":1,"docs":{"13":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"0":{"4":{"df":1,"docs":{"296":{"tf":1.0}}},"df":0,"docs":{}},"5":{"df":1,"docs":{"147":{"tf":2.6457513110645907}}},"df":48,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"112":{"tf":2.8284271247461903},"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"125":{"tf":2.449489742783178},"132":{"tf":1.0},"136":{"tf":1.0},"143":{"tf":1.0},"147":{"tf":2.0},"151":{"tf":1.0},"17":{"tf":2.23606797749979},"175":{"tf":2.0},"176":{"tf":1.7320508075688772},"179":{"tf":2.449489742783178},"18":{"tf":1.0},"180":{"tf":1.7320508075688772},"185":{"tf":1.0},"19":{"tf":2.0},"207":{"tf":1.4142135623730951},"208":{"tf":1.4142135623730951},"210":{"tf":1.0},"211":{"tf":1.0},"236":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.0},"249":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"278":{"tf":1.0},"279":{"tf":1.0},"287":{"tf":1.4142135623730951},"289":{"tf":1.0},"29":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"44":{"tf":1.0},"52":{"tf":1.0},"57":{"tf":1.0},"65":{"tf":2.23606797749979},"73":{"tf":5.916079783099616},"76":{"tf":1.0},"80":{"tf":1.4142135623730951},"81":{"tf":4.123105625617661},"83":{"tf":1.4142135623730951},"92":{"tf":1.4142135623730951}},"n":{"^":{"2":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"109":{"tf":1.0},"244":{"tf":1.0}}}},",":{"df":0,"docs":{},"找":{"df":0,"docs":{},"尋":{"df":0,"docs":{},"第":{"df":0,"docs":{},"四":{"df":0,"docs":{},"個":{"df":0,"docs":{},"元":{"df":0,"docs":{},"素":{"df":0,"docs":{},"來":{"df":0,"docs":{},"比":{"df":0,"docs":{},"對":{"df":0,"docs":{},",":{"6":{"df":1,"docs":{"29":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}}}}},"看":{"df":0,"docs":{},"看":{"$":{"2":{"^":{"4":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"5":{".":{"4":{"7":{"7":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"0":{"df":1,"docs":{"47":{"tf":1.0}}},"3":{"df":1,"docs":{"47":{"tf":1.0}}},"df":0,"docs":{}},"7":{"df":2,"docs":{"80":{"tf":1.0},"83":{"tf":1.0}}},"df":22,"docs":{"112":{"tf":2.8284271247461903},"117":{"tf":1.0},"118":{"tf":1.0},"125":{"tf":3.4641016151377544},"147":{"tf":2.0},"15":{"tf":1.0},"151":{"tf":1.0},"17":{"tf":1.7320508075688772},"175":{"tf":1.7320508075688772},"179":{"tf":2.0},"180":{"tf":1.0},"19":{"tf":1.0},"207":{"tf":1.0},"211":{"tf":1.0},"239":{"tf":1.0},"262":{"tf":1.0},"279":{"tf":1.0},"287":{"tf":1.4142135623730951},"289":{"tf":1.0},"30":{"tf":1.4142135623730951},"73":{"tf":5.916079783099616},"81":{"tf":4.0}},"n":{"^":{"2":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"19":{"tf":1.0}}}},"6":{",":{"9":{"df":1,"docs":{"136":{"tf":1.4142135623730951}}},"df":0,"docs":{}},".":{"0":{"0":{"6":{"df":1,"docs":{"244":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"df":1,"docs":{"80":{"tf":1.0}}},"4":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"236":{"tf":1.0}}}}},"df":2,"docs":{"262":{"tf":1.0},"288":{"tf":1.0}}},"6":{"6":{"df":2,"docs":{"227":{"tf":2.449489742783178},"230":{"tf":1.0}}},"df":1,"docs":{"147":{"tf":2.6457513110645907}}},"df":15,"docs":{"112":{"tf":2.8284271247461903},"118":{"tf":1.0},"125":{"tf":1.4142135623730951},"136":{"tf":1.4142135623730951},"147":{"tf":2.0},"151":{"tf":1.0},"175":{"tf":1.4142135623730951},"179":{"tf":2.0},"239":{"tf":1.0},"279":{"tf":1.0},"289":{"tf":1.0},"29":{"tf":2.8284271247461903},"30":{"tf":1.4142135623730951},"50":{"tf":2.449489742783178},"81":{"tf":3.872983346207417}}},"7":{"0":{"1":{"df":2,"docs":{"80":{"tf":1.0},"83":{"tf":1.0}}},"df":0,"docs":{}},"1":{",":{"7":{"4":{"df":1,"docs":{"136":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"136":{"tf":1.4142135623730951}}},"4":{",":{"7":{"1":{"df":1,"docs":{"136":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"136":{"tf":1.4142135623730951}}},"5":{"%":{"$":{"df":0,"docs":{},"。":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":1,"docs":{"231":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":2,"docs":{"147":{"tf":2.6457513110645907},"231":{"tf":1.0}}},"df":16,"docs":{"112":{"tf":2.8284271247461903},"125":{"tf":1.4142135623730951},"147":{"tf":2.0},"175":{"tf":1.4142135623730951},"179":{"tf":1.7320508075688772},"227":{"tf":2.449489742783178},"230":{"tf":1.0},"262":{"tf":1.0},"270":{"tf":1.0},"289":{"tf":1.0},"29":{"tf":2.6457513110645907},"30":{"tf":1.7320508075688772},"50":{"tf":1.7320508075688772},"73":{"tf":5.916079783099616},"80":{"tf":1.0},"81":{"tf":3.872983346207417}}},"8":{".":{"0":{"4":{"6":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"2":{"df":1,"docs":{"147":{"tf":2.6457513110645907}}},"df":0,"docs":{}},"8":{"df":2,"docs":{"227":{"tf":2.449489742783178},"230":{"tf":1.0}}},"df":17,"docs":{"112":{"tf":2.8284271247461903},"125":{"tf":3.0},"146":{"tf":1.0},"147":{"tf":1.4142135623730951},"149":{"tf":1.0},"175":{"tf":1.4142135623730951},"179":{"tf":3.1622776601683795},"180":{"tf":1.0},"262":{"tf":1.4142135623730951},"287":{"tf":1.4142135623730951},"289":{"tf":1.0},"29":{"tf":1.4142135623730951},"42":{"tf":1.7320508075688772},"73":{"tf":5.830951894845301},"81":{"tf":4.358898943540674},"83":{"tf":1.0},"97":{"tf":4.795831523312719}},"、":{"9":{"df":0,"docs":{},"、":{"1":{"0":{"df":0,"docs":{},"、":{"1":{"1":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},",":{"8":{"df":1,"docs":{"73":{"tf":1.0}}},"df":0,"docs":{}}},"9":{"0":{"df":2,"docs":{"147":{"tf":2.6457513110645907},"231":{"tf":1.0}}},"1":{",":{"9":{"6":{"df":1,"docs":{"136":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"136":{"tf":1.4142135623730951}}},"5":{".":{"5":{"df":1,"docs":{"275":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"275":{"tf":1.0}}},"6":{",":{"9":{"1":{"df":1,"docs":{"136":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"136":{"tf":1.4142135623730951}}},"9":{"9":{"9":{"df":1,"docs":{"175":{"tf":1.0}}},"df":2,"docs":{"145":{"tf":1.0},"230":{"tf":1.0}}},"df":1,"docs":{"230":{"tf":1.0}}},"df":13,"docs":{"125":{"tf":2.449489742783178},"136":{"tf":1.4142135623730951},"145":{"tf":1.0},"147":{"tf":1.4142135623730951},"149":{"tf":1.0},"151":{"tf":1.4142135623730951},"179":{"tf":1.4142135623730951},"230":{"tf":1.0},"29":{"tf":3.0},"42":{"tf":2.0},"50":{"tf":1.7320508075688772},"52":{"tf":1.0},"81":{"tf":3.7416573867739413}}},"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"_":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"_":{"_":{"df":1,"docs":{"61":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"t":{"_":{"_":{"df":1,"docs":{"61":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":11,"docs":{"147":{"tf":5.830951894845301},"180":{"tf":3.605551275463989},"236":{"tf":1.0},"237":{"tf":1.4142135623730951},"238":{"tf":1.4142135623730951},"249":{"tf":1.0},"251":{"tf":1.0},"256":{"tf":1.0},"279":{"tf":1.0},"29":{"tf":5.656854249492381},"50":{"tf":1.4142135623730951}},"k":{"_":{"df":2,"docs":{"263":{"tf":1.0},"264":{"tf":1.0}}},"df":0,"docs":{}},"m":{"_":{"df":2,"docs":{"263":{"tf":1.0},"264":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":3,"docs":{"264":{"tf":1.0},"267":{"tf":1.0},"269":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"{":{"(":{"a":{"df":2,"docs":{"284":{"tf":1.4142135623730951},"287":{"tf":1.0}}},"df":0,"docs":{}},"a":{",":{"b":{"df":0,"docs":{},"}":{"(":{"df":0,"docs":{},"i":{",":{"df":0,"docs":{},"j":{"df":2,"docs":{"284":{"tf":1.7320508075688772},"287":{"tf":1.0}}}},"df":2,"docs":{"284":{"tf":2.0},"287":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":2,"docs":{"284":{"tf":1.4142135623730951},"287":{"tf":1.0}}},"j":{"df":2,"docs":{"284":{"tf":1.4142135623730951},"287":{"tf":1.0}}}}},"a":{"'":{"df":0,"docs":{},"、":{"b":{"df":1,"docs":{"41":{"tf":1.0}}},"df":0,"docs":{}}},"+":{"1":{"df":1,"docs":{"287":{"tf":1.0}}},"df":0,"docs":{}},".":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"210":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"k":{".":{"a":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},">":{"(":{"&":{"'":{"b":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"288":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"162":{"tf":1.0},"172":{"tf":1.0},"245":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"187":{"tf":1.0},"192":{"tf":1.0}},")":{"df":0,"docs":{},"的":{"df":0,"docs":{},"執":{"df":0,"docs":{},"行":{"df":0,"docs":{},"時":{"df":0,"docs":{},"間":{"df":0,"docs":{},",":{"$":{"\\":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"df":0,"docs":{},"k":{"df":1,"docs":{"242":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{},"m":{"df":1,"docs":{"47":{"tf":1.0}}},"t":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"176":{"tf":1.0},"179":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"d":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"266":{"tf":1.0}}}},"k":{"df":1,"docs":{"241":{"tf":1.0}}}},"df":2,"docs":{"175":{"tf":2.0},"188":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":4,"docs":{"230":{"tf":1.7320508075688772},"242":{"tf":1.0},"244":{"tf":1.0},"274":{"tf":1.4142135623730951}},"p":{"df":1,"docs":{"274":{"tf":1.0}}}}}}}},"df":1,"docs":{"180":{"tf":1.0}},"v":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"180":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":2,"docs":{"274":{"tf":1.0},"275":{"tf":1.0}},"g":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"250":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"df":21,"docs":{"0":{"tf":2.23606797749979},"1":{"tf":1.0},"10":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.4142135623730951},"11":{"tf":1.0},"12":{"tf":1.0},"122":{"tf":1.0},"13":{"tf":1.0},"162":{"tf":1.0},"2":{"tf":1.0},"244":{"tf":1.4142135623730951},"3":{"tf":1.0},"39":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0},"93":{"tf":1.0}}}}}}}}},"i":{"a":{"df":1,"docs":{"234":{"tf":1.0}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"o":{"c":{"(":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"176":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":1,"docs":{"176":{"tf":2.449489742783178}},"、":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"、":{"d":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"176":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"w":{"df":1,"docs":{"276":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"h":{"a":{"$":{"df":0,"docs":{},",":{"$":{"\\":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"a":{"df":1,"docs":{"275":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"103":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":4,"docs":{"144":{"tf":1.0},"189":{"tf":1.0},"241":{"tf":1.0},"257":{"tf":1.0}}}}},"q":{"df":1,"docs":{"275":{"tf":1.0}},",":{"df":0,"docs":{},"為":{"df":0,"docs":{},"了":{"df":0,"docs":{},"節":{"df":0,"docs":{},"省":{"df":0,"docs":{},"空":{"df":0,"docs":{},"間":{"df":0,"docs":{},"使":{"df":0,"docs":{},"用":{"df":0,"docs":{},"量":{"df":0,"docs":{},",":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"274":{"tf":1.0}}}}}}}}}}}}}}}}}}}},"n":{"^":{"2":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":3,"docs":{"140":{"tf":1.0},"144":{"tf":1.0},"22":{"tf":1.0}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"46":{"tf":1.0},"47":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"47":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":1,"docs":{"185":{"tf":1.7320508075688772}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"256":{"tf":1.0}}}}}}}}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"176":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"i":{"df":11,"docs":{"0":{"tf":1.0},"153":{"tf":1.0},"163":{"tf":1.0},"173":{"tf":1.0},"200":{"tf":1.0},"226":{"tf":1.0},"245":{"tf":1.0},"259":{"tf":1.0},"269":{"tf":1.0},"277":{"tf":1.0},"282":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"139":{"tf":1.0},"214":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"185":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"175":{"tf":1.0},"179":{"tf":1.4142135623730951},"268":{"tf":1.0}}}}}}}},"r":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"117":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"t":{"df":3,"docs":{"131":{"tf":1.0},"132":{"tf":1.0},"143":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"x":{"df":1,"docs":{"25":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":10,"docs":{"102":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"33":{"tf":1.0},"44":{"tf":1.4142135623730951},"54":{"tf":1.0},"67":{"tf":1.0},"76":{"tf":1.0},"83":{"tf":1.0},"92":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"92":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"df":5,"docs":{"103":{"tf":1.4142135623730951},"107":{"tf":1.0},"108":{"tf":1.0},"67":{"tf":1.0},"76":{"tf":1.4142135623730951}}},"j":{"df":3,"docs":{"59":{"tf":1.0},"61":{"tf":1.0},"83":{"tf":1.0}}},"k":{"df":1,"docs":{"107":{"tf":1.0}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"92":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"(":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"132":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"117":{"tf":1.0},"118":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"1":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"119":{"tf":1.4142135623730951}}}}}},"[":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"119":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"、":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"2":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"2":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"119":{"tf":1.4142135623730951}}}}}},"[":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"119":{"tf":1.4142135623730951}}}}}}}},"df":1,"docs":{"119":{"tf":1.0}}},"[":{".":{".":{"df":0,"docs":{},"i":{"]":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"(":{"&":{"df":0,"docs":{},"v":{"df":1,"docs":{"61":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"61":{"tf":1.0}}},"m":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"117":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"1":{"0":{"0":{"0":{"df":1,"docs":{"145":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"8":{"df":1,"docs":{"42":{"tf":1.0}}},"9":{"df":1,"docs":{"42":{"tf":1.0}}},"b":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"33":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"92":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":4,"docs":{"103":{"tf":1.0},"107":{"tf":1.0},"44":{"tf":2.0},"54":{"tf":1.4142135623730951}},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"96":{"tf":1.0}}}}}},"i":{"+":{"1":{".":{".":{".":{"df":0,"docs":{},"j":{"df":1,"docs":{"96":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},".":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"]":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"[":{"df":0,"docs":{},"i":{".":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":1,"docs":{"118":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":3,"docs":{"108":{"tf":1.0},"61":{"tf":1.0},"76":{"tf":2.0}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}}}}}}}},"j":{".":{".":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"96":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":6,"docs":{"103":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"59":{"tf":1.4142135623730951},"67":{"tf":1.0},"83":{"tf":1.4142135623730951}}},"l":{"df":0,"docs":{},"o":{"df":2,"docs":{"108":{"tf":1.0},"44":{"tf":2.0}},"w":{".":{".":{".":{"df":0,"docs":{},"i":{"df":1,"docs":{"96":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"m":{"df":0,"docs":{},"i":{"d":{".":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":1,"docs":{"118":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":2,"docs":{"117":{"tf":1.4142135623730951},"33":{"tf":1.0}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"132":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"92":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"67":{"tf":1.0}}}}}}},"a":{"df":1,"docs":{"132":{"tf":1.0}},"y":{"[":{"0":{"df":1,"docs":{"125":{"tf":1.0}}},"1":{"df":1,"docs":{"125":{"tf":1.0}}},"2":{"df":1,"docs":{"125":{"tf":1.0}}},"3":{"df":1,"docs":{"125":{"tf":1.0}}},"4":{"df":1,"docs":{"125":{"tf":1.0}}},"5":{"df":1,"docs":{"125":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"187":{"tf":1.0}}}}},"df":0,"docs":{}}}},"_":{"df":0,"docs":{},"s":{"df":1,"docs":{"228":{"tf":1.4142135623730951}}}},"df":31,"docs":{"112":{"tf":1.0},"117":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"119":{"tf":1.4142135623730951},"123":{"tf":1.4142135623730951},"125":{"tf":1.0},"127":{"tf":1.4142135623730951},"128":{"tf":1.4142135623730951},"131":{"tf":2.0},"132":{"tf":1.0},"136":{"tf":2.23606797749979},"139":{"tf":1.0},"140":{"tf":1.4142135623730951},"143":{"tf":1.0},"145":{"tf":1.0},"147":{"tf":1.0},"153":{"tf":1.0},"163":{"tf":1.0},"20":{"tf":1.4142135623730951},"225":{"tf":1.0},"227":{"tf":1.0},"230":{"tf":1.7320508075688772},"231":{"tf":1.0},"234":{"tf":1.4142135623730951},"236":{"tf":1.0},"242":{"tf":1.0},"260":{"tf":1.0},"262":{"tf":2.449489742783178},"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0}},",":{"df":0,"docs":{},"而":{"df":0,"docs":{},"是":{"df":0,"docs":{},"在":{"df":0,"docs":{},"堆":{"df":0,"docs":{},"積":{"df":0,"docs":{},"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}}}},"df":8,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"130":{"tf":1.4142135623730951},"132":{"tf":1.4142135623730951},"143":{"tf":1.4142135623730951},"151":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"92":{"tf":1.0}}}},"s":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"i":{"df":10,"docs":{"112":{"tf":1.0},"136":{"tf":1.0},"175":{"tf":1.0},"196":{"tf":1.0},"230":{"tf":1.0},"279":{"tf":1.0},"73":{"tf":1.0},"81":{"tf":1.4142135623730951},"96":{"tf":1.0},"97":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"!":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"187":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"187":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":3,"docs":{"119":{"tf":1.0},"185":{"tf":1.0},"207":{"tf":1.4142135623730951}}}}},"o":{"c":{"df":0,"docs":{},"i":{"df":4,"docs":{"185":{"tf":1.0},"211":{"tf":1.0},"216":{"tf":1.4142135623730951},"225":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"228":{"tf":1.0},"230":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":11,"docs":{"1":{"tf":1.0},"14":{"tf":1.7320508075688772},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"260":{"tf":1.0}}}}}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"262":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"210":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"188":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"185":{"tf":1.0}}}}}}},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":10,"docs":{"113":{"tf":1.0},"126":{"tf":1.0},"137":{"tf":1.0},"148":{"tf":1.0},"58":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":1.0},"88":{"tf":1.0},"98":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"g":{"df":15,"docs":{"113":{"tf":1.0},"126":{"tf":1.0},"137":{"tf":1.0},"148":{"tf":1.0},"24":{"tf":1.0},"30":{"tf":1.0},"43":{"tf":1.4142135623730951},"51":{"tf":1.0},"58":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":1.0},"84":{"tf":1.0},"88":{"tf":1.0},"98":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"i":{"df":2,"docs":{"43":{"tf":1.0},"47":{"tf":1.0}}}},"o":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"107":{"tf":1.0},"118":{"tf":1.0}}},"df":0,"docs":{}}}},"、":{"b":{"df":1,"docs":{"285":{"tf":1.0}}},"df":0,"docs":{}},",":{"a":{"df":1,"docs":{"208":{"tf":1.0}}},"df":0,"docs":{}}},"b":{"+":{"1":{"df":1,"docs":{"287":{"tf":1.0}}},"df":0,"docs":{}},".":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"210":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},">":{"(":{"&":{"'":{"a":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"k":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"181":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":7,"docs":{"117":{"tf":1.4142135623730951},"118":{"tf":1.0},"119":{"tf":1.0},"178":{"tf":1.0},"181":{"tf":1.0},"189":{"tf":1.0},"207":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{".":{".":{"df":0,"docs":{},"s":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}},"df":5,"docs":{"111":{"tf":1.0},"117":{"tf":1.0},"184":{"tf":1.0},"234":{"tf":1.0},"33":{"tf":2.449489742783178}}}}},"df":18,"docs":{"125":{"tf":2.6457513110645907},"139":{"tf":1.4142135623730951},"185":{"tf":1.7320508075688772},"207":{"tf":2.449489742783178},"208":{"tf":1.7320508075688772},"210":{"tf":1.0},"240":{"tf":1.7320508075688772},"250":{"tf":3.1622776601683795},"251":{"tf":2.0},"253":{"tf":1.7320508075688772},"255":{"tf":1.4142135623730951},"256":{"tf":3.4641016151377544},"284":{"tf":2.6457513110645907},"285":{"tf":1.4142135623730951},"287":{"tf":2.0},"289":{"tf":1.7320508075688772},"290":{"tf":1.0},"41":{"tf":2.0}},"e":{"df":1,"docs":{"210":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"176":{"tf":1.0},"180":{"tf":1.4142135623730951}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"{":{"c":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"114":{"tf":1.0},"284":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"274":{"tf":1.0}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"df":21,"docs":{"113":{"tf":1.0},"126":{"tf":1.0},"137":{"tf":1.0},"139":{"tf":1.4142135623730951},"148":{"tf":1.0},"161":{"tf":1.0},"171":{"tf":1.0},"189":{"tf":1.0},"24":{"tf":1.0},"241":{"tf":1.0},"257":{"tf":1.0},"30":{"tf":1.0},"43":{"tf":1.0},"51":{"tf":1.0},"58":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":1.0},"84":{"tf":1.0},"88":{"tf":1.0},"98":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"260":{"tf":1.0},"275":{"tf":1.0},"276":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"44":{"tf":1.0}}}}}}}},"f":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"\"":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"264":{"tf":1.0}}}}}}},"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"264":{"tf":1.0}}}}}}}},"&":{"1":{"df":1,"docs":{"264":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"!":{"[":{"3":{".":{"1":{"4":{"1":{"5":{"9":{"df":1,"docs":{"264":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":1,"docs":{"264":{"tf":1.4142135623730951}}},"i":{"df":0,"docs":{},"g":{"df":7,"docs":{"10":{"tf":1.4142135623730951},"162":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"19":{"tf":1.7320508075688772},"20":{"tf":1.0},"22":{"tf":1.4142135623730951}}},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":22,"docs":{"117":{"tf":1.0},"20":{"tf":1.0},"27":{"tf":2.0},"28":{"tf":1.0},"29":{"tf":1.0},"3":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":2.0},"39":{"tf":1.4142135623730951},"54":{"tf":1.0},"61":{"tf":2.449489742783178},"85":{"tf":1.0},"87":{"tf":1.0},"89":{"tf":1.0},"92":{"tf":1.0}}},"y":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}}},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"(":{"&":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"[":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{".":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"54":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{">":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":2,"docs":{"32":{"tf":1.0},"33":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"_":{"b":{"df":0,"docs":{},"i":{"df":1,"docs":{"143":{"tf":1.0}}}},"df":0,"docs":{}},"df":2,"docs":{"32":{"tf":1.0},"61":{"tf":2.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"d":{"df":1,"docs":{"217":{"tf":1.0}}},"df":1,"docs":{"134":{"tf":1.0}}},"t":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"/":{"c":{"a":{"a":{"b":{"7":{"df":0,"docs":{},"f":{"b":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":9,"docs":{"255":{"tf":1.0},"260":{"tf":1.0},"262":{"tf":3.3166247903554},"263":{"tf":1.7320508075688772},"264":{"tf":1.7320508075688772},"267":{"tf":1.7320508075688772},"269":{"tf":1.4142135623730951},"271":{"tf":1.0},"275":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"255":{"tf":1.0}}}}}}},"<":{"&":{"'":{"b":{"df":1,"docs":{"255":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"255":{"tf":1.7320508075688772}}}},"s":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"267":{"tf":1.7320508075688772},"269":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":2,"docs":{"179":{"tf":1.0},"255":{"tf":1.0}}}}}}},"l":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"227":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"176":{"tf":1.0},"185":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"\"":{"1":{"2":{"3":{"4":{"df":1,"docs":{"265":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}}}},"df":20,"docs":{"224":{"tf":1.4142135623730951},"259":{"tf":3.4641016151377544},"260":{"tf":2.23606797749979},"261":{"tf":1.0},"262":{"tf":1.4142135623730951},"263":{"tf":1.0},"264":{"tf":1.7320508075688772},"265":{"tf":1.4142135623730951},"266":{"tf":1.4142135623730951},"267":{"tf":1.4142135623730951},"268":{"tf":1.4142135623730951},"269":{"tf":1.4142135623730951},"270":{"tf":1.4142135623730951},"271":{"tf":2.8284271247461903},"272":{"tf":3.3166247903554},"273":{"tf":2.8284271247461903},"274":{"tf":1.4142135623730951},"275":{"tf":1.7320508075688772},"276":{"tf":2.449489742783178},"8":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":6,"docs":{"262":{"tf":2.6457513110645907},"263":{"tf":2.0},"264":{"tf":1.7320508075688772},"265":{"tf":1.0},"266":{"tf":1.0},"276":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"263":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"263":{"tf":1.0}}}}},"df":0,"docs":{}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":2,"docs":{"264":{"tf":1.4142135623730951},"267":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{"df":3,"docs":{"264":{"tf":1.7320508075688772},"265":{"tf":1.4142135623730951},"269":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}}}}}},"n":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"o":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"185":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"227":{"tf":1.0}}},"l":{"df":10,"docs":{"157":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.0},"212":{"tf":1.0},"249":{"tf":2.0},"253":{"tf":1.7320508075688772},"256":{"tf":1.7320508075688772},"262":{"tf":1.7320508075688772},"269":{"tf":1.7320508075688772},"33":{"tf":1.0}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"<":{"df":0,"docs":{},"q":{"df":3,"docs":{"237":{"tf":1.0},"238":{"tf":1.0},"249":{"tf":1.4142135623730951}}}},"df":5,"docs":{"185":{"tf":1.4142135623730951},"211":{"tf":1.4142135623730951},"237":{"tf":2.0},"251":{"tf":2.6457513110645907},"252":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"54":{"tf":1.0}}}}},"df":6,"docs":{"118":{"tf":1.4142135623730951},"185":{"tf":1.4142135623730951},"187":{"tf":1.7320508075688772},"265":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"67":{"tf":1.0}},"?":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"67":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"x":{":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"211":{"tf":1.0}}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"207":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"202":{"tf":1.0},"211":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"202":{"tf":1.0}}}},"df":3,"docs":{"195":{"tf":1.0},"202":{"tf":1.0},"210":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"233":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":4,"docs":{"279":{"tf":1.0},"44":{"tf":2.0},"76":{"tf":1.0},"92":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"u":{"b":{"b":{"df":0,"docs":{},"l":{"df":10,"docs":{"20":{"tf":1.0},"4":{"tf":1.0},"71":{"tf":2.23606797749979},"72":{"tf":1.0},"73":{"tf":1.7320508075688772},"74":{"tf":1.0},"75":{"tf":1.7320508075688772},"76":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951},"94":{"tf":1.0}},"e":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"76":{"tf":1.0}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"d":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"76":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{".":{"c":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"(":{"&":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"143":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"237":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"(":{"df":0,"docs":{},"|":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"238":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"238":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"(":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"238":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{")":{".":{"1":{"df":1,"docs":{"238":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"143":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"143":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"h":{"df":1,"docs":{"142":{"tf":1.7320508075688772}}},"k":{"df":1,"docs":{"234":{"tf":1.0}}}},"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"239":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"235":{"tf":1.0}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"h":{"df":1,"docs":{"143":{"tf":1.0}}}},"df":2,"docs":{"142":{"tf":1.0},"143":{"tf":1.4142135623730951}}}}}}},"df":29,"docs":{"123":{"tf":1.0},"134":{"tf":2.449489742783178},"135":{"tf":1.7320508075688772},"136":{"tf":2.23606797749979},"137":{"tf":1.4142135623730951},"138":{"tf":2.23606797749979},"139":{"tf":1.7320508075688772},"140":{"tf":1.7320508075688772},"141":{"tf":1.0},"142":{"tf":3.0},"143":{"tf":3.1622776601683795},"144":{"tf":2.23606797749979},"145":{"tf":1.4142135623730951},"147":{"tf":1.7320508075688772},"149":{"tf":1.4142135623730951},"150":{"tf":1.0},"227":{"tf":1.7320508075688772},"230":{"tf":1.4142135623730951},"231":{"tf":1.4142135623730951},"234":{"tf":3.4641016151377544},"235":{"tf":2.0},"236":{"tf":2.6457513110645907},"237":{"tf":1.7320508075688772},"238":{"tf":2.23606797749979},"239":{"tf":1.7320508075688772},"240":{"tf":1.0},"242":{"tf":2.0},"274":{"tf":1.0},"4":{"tf":1.0}},"s":{".":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"_":{"b":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"|":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"143":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"236":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"]":{".":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"143":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"、":{"df":0,"docs":{},"s":{"c":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"、":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":1,"docs":{"143":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},",":{"df":0,"docs":{},"並":{"df":0,"docs":{},"考":{"df":0,"docs":{},"慮":{"df":0,"docs":{},"平":{"df":0,"docs":{},"攤":{"df":0,"docs":{},"分":{"df":0,"docs":{},"析":{"df":0,"docs":{},"(":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"140":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"174":{"tf":1.0},"175":{"tf":1.4142135623730951},"180":{"tf":1.4142135623730951},"190":{"tf":1.4142135623730951}}}}}},"g":{"df":1,"docs":{"15":{"tf":1.7320508075688772}}},"i":{"df":0,"docs":{},"l":{"d":{"df":4,"docs":{"0":{"tf":1.0},"267":{"tf":1.0},"89":{"tf":1.7320508075688772},"92":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"276":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":3,"docs":{"116":{"tf":1.0},"118":{"tf":1.4142135623730951},"119":{"tf":1.0}}}}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":4,"docs":{"147":{"tf":1.0},"149":{"tf":1.0},"236":{"tf":1.0},"287":{"tf":1.0}}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"152":{"tf":1.0}}},"df":0,"docs":{}}}}},",":{"b":{"df":1,"docs":{"208":{"tf":1.0}}},"df":0,"docs":{}},":":{"a":{"df":1,"docs":{"256":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"c":{".":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"210":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"1":{"df":1,"docs":{"279":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"279":{"tf":1.4142135623730951}}},"_":{"0":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"139":{"tf":1.0}}}},"df":1,"docs":{"139":{"tf":1.4142135623730951}},"n":{"df":1,"docs":{"139":{"tf":1.0}}}},"1":{"df":1,"docs":{"139":{"tf":1.7320508075688772}},"k":{"df":1,"docs":{"139":{"tf":1.0}}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"h":{"df":6,"docs":{"21":{"tf":1.0},"218":{"tf":1.0},"230":{"tf":1.7320508075688772},"259":{"tf":1.0},"271":{"tf":1.0},"274":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":5,"docs":{"131":{"tf":1.0},"132":{"tf":1.0},"176":{"tf":1.0},"276":{"tf":1.0},"44":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":7,"docs":{"100":{"tf":1.7320508075688772},"105":{"tf":2.23606797749979},"115":{"tf":1.0},"180":{"tf":1.0},"210":{"tf":2.23606797749979},"211":{"tf":1.0},"99":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"176":{"tf":1.0}}}}}},"p":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"179":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"a":{"c":{"df":5,"docs":{"176":{"tf":1.0},"239":{"tf":1.7320508075688772},"262":{"tf":1.0},"267":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"159":{"tf":1.0}}}}}},"df":3,"docs":{"176":{"tf":2.23606797749979},"180":{"tf":1.0},"188":{"tf":1.0}}},"r":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"256":{"tf":1.4142135623730951}}}}},"df":1,"docs":{"233":{"tf":1.4142135623730951}},"e":{"df":1,"docs":{"176":{"tf":1.0}}},"g":{"df":0,"docs":{},"o":{"df":2,"docs":{"291":{"tf":1.0},"294":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":7,"docs":{"111":{"tf":1.0},"138":{"tf":1.4142135623730951},"139":{"tf":1.4142135623730951},"189":{"tf":1.4142135623730951},"241":{"tf":1.4142135623730951},"257":{"tf":1.4142135623730951},"84":{"tf":1.0}},")":{"df":0,"docs":{},",":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"d":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"117":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":1,"docs":{"190":{"tf":1.0}}}}}}}}},"c":{"df":14,"docs":{"122":{"tf":1.0},"13":{"tf":1.0},"190":{"tf":1.0},"225":{"tf":1.0},"244":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.4142135623730951},"62":{"tf":1.0},"64":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"77":{"tf":1.0},"93":{"tf":1.0}}},"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":16,"docs":{"139":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"149":{"tf":1.0},"150":{"tf":1.4142135623730951},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.4142135623730951},"230":{"tf":1.0},"273":{"tf":1.0},"290":{"tf":1.0},"30":{"tf":1.0},"42":{"tf":1.7320508075688772},"58":{"tf":2.23606797749979},"66":{"tf":1.0},"89":{"tf":1.0},"99":{"tf":1.0}}}}},"df":8,"docs":{"119":{"tf":1.0},"125":{"tf":2.449489742783178},"16":{"tf":1.4142135623730951},"180":{"tf":1.0},"205":{"tf":1.0},"210":{"tf":1.0},"256":{"tf":1.0},"58":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"114":{"tf":1.0}}}}},"h":{"1":{"df":2,"docs":{"287":{"tf":2.0},"289":{"tf":1.4142135623730951}}},"2":{"df":2,"docs":{"287":{"tf":2.0},"289":{"tf":1.4142135623730951}}},"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"230":{"tf":2.0},"234":{"tf":1.4142135623730951},"242":{"tf":1.0},"243":{"tf":1.0},"251":{"tf":1.0},"274":{"tf":1.4142135623730951}}}},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"185":{"tf":1.0},"288":{"tf":1.0}}}},"r":{"df":2,"docs":{"287":{"tf":1.0},"289":{"tf":1.0}},"t":{"df":1,"docs":{"175":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"162":{"tf":1.0},"20":{"tf":1.0}},"s":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"118":{"tf":1.0},"96":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"251":{"tf":1.0},"252":{"tf":1.0}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"89":{"tf":1.7320508075688772},"92":{"tf":3.4641016151377544}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"89":{"tf":1.0}}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"103":{"tf":1.0}}}}},"z":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"12":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"259":{"tf":1.0}}}}}}}}},"i":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"190":{"tf":1.4142135623730951},"198":{"tf":1.0},"7":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"r":{"a":{"'":{"df":1,"docs":{"83":{"tf":1.0}}},"df":2,"docs":{"80":{"tf":1.0},"84":{"tf":1.0}}},"df":0,"docs":{}}}},"j":{"df":0,"docs":{},"k":{"df":1,"docs":{"287":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"204":{"tf":1.0},"235":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"294":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":7,"docs":{"130":{"tf":1.4142135623730951},"132":{"tf":1.0},"143":{"tf":1.4142135623730951},"151":{"tf":1.0},"251":{"tf":1.4142135623730951},"255":{"tf":1.7320508075688772},"268":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"251":{"tf":3.7416573867739413},"288":{"tf":1.0}},"e":{"@":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"/":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"2":{"5":{"4":{":":{"2":{"3":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{":":{"1":{"8":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"u":{"d":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"271":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"251":{"tf":1.0}}}}}}},"u":{"b":{"df":15,"docs":{"0":{"tf":2.23606797749979},"1":{"tf":1.0},"10":{"tf":1.0},"109":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"230":{"tf":1.0}}}}}}}},"m":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":2,"docs":{"42":{"tf":1.0},"47":{"tf":1.0}}}}}},"p":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"c":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"289":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"c":{"df":2,"docs":{"122":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"b":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"122":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"e":{"df":5,"docs":{"10":{"tf":1.0},"139":{"tf":1.0},"276":{"tf":1.0},"277":{"tf":1.0},"291":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{":":{":":{"<":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"131":{"tf":1.0},"132":{"tf":1.0},"143":{"tf":1.0},"255":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"d":{"df":1,"docs":{"230":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":2,"docs":{"229":{"tf":1.0},"274":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0}}}}},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"111":{"tf":1.0},"116":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":12,"docs":{"122":{"tf":1.0},"13":{"tf":1.0},"190":{"tf":1.0},"199":{"tf":1.0},"225":{"tf":1.0},"244":{"tf":1.0},"47":{"tf":1.4142135623730951},"62":{"tf":1.0},"70":{"tf":1.0},"77":{"tf":1.0},"9":{"tf":1.0},"93":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"47":{"tf":1.0}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"119":{"tf":1.0}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"256":{"tf":1.0},"44":{"tf":1.0}}}}}}},"t":{"df":1,"docs":{"264":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"l":{"df":5,"docs":{"100":{"tf":1.0},"202":{"tf":1.0},"251":{"tf":1.4142135623730951},"262":{"tf":1.4142135623730951},"264":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":32,"docs":{"100":{"tf":1.4142135623730951},"113":{"tf":1.0},"114":{"tf":1.4142135623730951},"115":{"tf":1.4142135623730951},"126":{"tf":1.0},"127":{"tf":1.4142135623730951},"128":{"tf":1.4142135623730951},"137":{"tf":1.0},"140":{"tf":1.4142135623730951},"144":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.4142135623730951},"150":{"tf":1.4142135623730951},"161":{"tf":1.4142135623730951},"162":{"tf":1.0},"171":{"tf":1.4142135623730951},"214":{"tf":1.0},"22":{"tf":1.4142135623730951},"24":{"tf":1.0},"270":{"tf":1.0},"290":{"tf":1.0},"30":{"tf":1.0},"43":{"tf":1.0},"51":{"tf":1.0},"58":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.4142135623730951},"82":{"tf":1.0},"88":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.4142135623730951}}}}},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"47":{"tf":1.0},"84":{"tf":1.0}}}}}},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"256":{"tf":1.7320508075688772}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"111":{"tf":1.4142135623730951},"116":{"tf":1.4142135623730951},"95":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"264":{"tf":1.0}}},"df":0,"docs":{}},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"262":{"tf":1.7320508075688772}}}}},"df":2,"docs":{"239":{"tf":1.0},"83":{"tf":1.0}}},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"211":{"tf":1.0},"255":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"216":{"tf":1.4142135623730951},"225":{"tf":1.0},"249":{"tf":1.4142135623730951},"266":{"tf":1.0}},"s":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"269":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"v":{"df":2,"docs":{"257":{"tf":1.0},"270":{"tf":1.0}}}},"<":{"df":0,"docs":{},"q":{">":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"249":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"176":{"tf":1.4142135623730951},"180":{"tf":1.0},"185":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":1,"docs":{"279":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"]":{"[":{"1":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"i":{"df":8,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"143":{"tf":1.0},"180":{"tf":1.0},"185":{"tf":1.4142135623730951}}},"y":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"180":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"13":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"288":{"tf":1.0}}}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"289":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":2,"docs":{"105":{"tf":1.0},"210":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},")":{"df":0,"docs":{},",":{"df":0,"docs":{},"漢":{"df":0,"docs":{},"明":{"df":0,"docs":{},"碼":{"df":0,"docs":{},"(":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":1,"docs":{"277":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"df":0,"docs":{},"s":{"c":{"a":{"df":0,"docs":{},"n":{"(":{"0":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}},"[":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}}},"df":0,"docs":{}},"df":23,"docs":{"123":{"tf":2.449489742783178},"124":{"tf":1.4142135623730951},"125":{"tf":2.23606797749979},"126":{"tf":1.0},"127":{"tf":2.23606797749979},"128":{"tf":1.7320508075688772},"129":{"tf":1.4142135623730951},"130":{"tf":1.4142135623730951},"131":{"tf":2.0},"132":{"tf":1.7320508075688772},"133":{"tf":1.7320508075688772},"145":{"tf":2.23606797749979},"147":{"tf":1.7320508075688772},"149":{"tf":1.4142135623730951},"150":{"tf":1.0},"151":{"tf":1.7320508075688772},"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.4142135623730951},"272":{"tf":2.449489742783178},"278":{"tf":1.7320508075688772},"279":{"tf":1.7320508075688772},"4":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"151":{"tf":1.0}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"f":{"df":2,"docs":{"130":{"tf":1.0},"132":{"tf":1.0}}}},"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"152":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"225":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"u":{"df":6,"docs":{"192":{"tf":1.4142135623730951},"21":{"tf":1.0},"230":{"tf":1.4142135623730951},"259":{"tf":1.0},"271":{"tf":1.0},"85":{"tf":1.4142135623730951}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"62":{"tf":1.0}}}}}}}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"44":{"tf":1.0}},"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":11,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"122":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"142":{"tf":1.0},"143":{"tf":1.7320508075688772},"207":{"tf":1.0},"211":{"tf":1.0},"227":{"tf":1.0},"77":{"tf":1.0}},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"13":{"tf":1.0}}}}}},"df":0,"docs":{}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"229":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":1,"docs":{"275":{"tf":3.3166247903554}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{"?":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"207":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"207":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"207":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":2,"docs":{"207":{"tf":2.8284271247461903},"208":{"tf":2.449489742783178}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"207":{"tf":1.7320508075688772},"208":{"tf":1.0},"251":{"tf":1.4142135623730951}}}}}}}}},"d":{".":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{")":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"(":{"1":{"df":1,"docs":{"186":{"tf":1.0}}},"2":{"df":1,"docs":{"186":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"3":{"df":1,"docs":{"186":{"tf":1.0}}},"4":{"df":1,"docs":{"186":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"251":{"tf":1.0}}}}},"t":{"a":{"df":11,"docs":{"162":{"tf":1.0},"172":{"tf":1.0},"175":{"tf":2.449489742783178},"200":{"tf":1.0},"245":{"tf":1.0},"251":{"tf":1.0},"259":{"tf":1.0},"271":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0},"43":{"tf":1.0}}},"df":0,"docs":{}}},"df":5,"docs":{"125":{"tf":2.449489742783178},"148":{"tf":1.0},"149":{"tf":1.4142135623730951},"150":{"tf":1.0},"186":{"tf":1.7320508075688772}},"e":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{".":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"176":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"_":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"!":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":1,"docs":{"179":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"188":{"tf":1.0}}}}}}},"df":2,"docs":{"188":{"tf":2.23606797749979},"213":{"tf":2.0}}}}},"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"185":{"tf":1.0},"251":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"238":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"236":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"131":{"tf":1.0},"132":{"tf":1.0},"236":{"tf":1.7320508075688772}},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":4,"docs":{"233":{"tf":1.0},"263":{"tf":1.4142135623730951},"264":{"tf":1.0},"269":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"233":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}}}},"l":{"df":1,"docs":{"287":{"tf":2.0}},"e":{"df":0,"docs":{},"t":{"df":4,"docs":{"161":{"tf":1.0},"171":{"tf":1.0},"282":{"tf":1.0},"289":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":2,"docs":{"263":{"tf":1.0},"264":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"47":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"q":{"df":0,"docs":{},"u":{"df":20,"docs":{"171":{"tf":1.0},"173":{"tf":1.7320508075688772},"174":{"tf":1.4142135623730951},"175":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":2.0},"178":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.0},"182":{"tf":1.4142135623730951},"183":{"tf":1.0},"184":{"tf":2.0},"185":{"tf":2.0},"186":{"tf":2.0},"187":{"tf":1.0},"188":{"tf":1.0},"189":{"tf":1.0},"190":{"tf":1.0},"6":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"f":{"df":1,"docs":{"184":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},":":{":":{"c":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"179":{"tf":1.0}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"184":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"186":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"186":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"186":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{"df":6,"docs":{"177":{"tf":1.4142135623730951},"179":{"tf":1.0},"184":{"tf":1.0},"186":{"tf":2.6457513110645907},"187":{"tf":1.4142135623730951},"188":{"tf":1.0}}}},"df":0,"docs":{},"u":{"df":2,"docs":{"165":{"tf":1.0},"171":{"tf":1.4142135623730951}},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"168":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},")":{"df":0,"docs":{},"是":{"df":0,"docs":{},"一":{"df":0,"docs":{},"般":{"df":0,"docs":{},"化":{"df":0,"docs":{},"(":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"173":{"tf":1.0}}}}}}}}}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{":":{":":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"211":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"176":{"tf":1.0},"83":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"188":{"tf":1.4142135623730951}},"e":{"(":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"188":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"92":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"270":{"tf":1.0}}}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"103":{"tf":1.0},"44":{"tf":1.0},"54":{"tf":1.0}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":1.0},"47":{"tf":1.0}}}}}}}}}}}},"i":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":6,"docs":{"112":{"tf":1.0},"136":{"tf":1.0},"258":{"tf":1.0},"73":{"tf":1.0},"81":{"tf":1.4142135623730951},"97":{"tf":1.0}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},",":{"df":0,"docs":{},"j":{"a":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"216":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"251":{"tf":1.0},"255":{"tf":1.0},"257":{"tf":1.4142135623730951},"267":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"<":{"'":{"a":{">":{"(":{"&":{"'":{"a":{"df":1,"docs":{"252":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},":":{"df":0,"docs":{},"差":{"df":0,"docs":{},"集":{"df":0,"docs":{},",":{"a":{"df":1,"docs":{"250":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":5,"docs":{"146":{"tf":1.4142135623730951},"147":{"tf":1.7320508075688772},"148":{"tf":1.0},"151":{"tf":2.0},"278":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"250":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"256":{"tf":1.0}}}}}}},"k":{"df":1,"docs":{"259":{"tf":1.0}}},"p":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"240":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"84":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":17,"docs":{"230":{"tf":1.0},"277":{"tf":1.7320508075688772},"278":{"tf":1.0},"279":{"tf":1.0},"280":{"tf":1.0},"281":{"tf":1.4142135623730951},"282":{"tf":2.0},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.7320508075688772},"288":{"tf":1.7320508075688772},"289":{"tf":1.4142135623730951},"290":{"tf":1.0},"291":{"tf":2.23606797749979},"9":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{")":{".":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"|":{"d":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"289":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"[":{"0":{"]":{"[":{"df":0,"docs":{},"j":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":1,"docs":{"289":{"tf":1.0}}},"df":0,"docs":{},"i":{"]":{"[":{"0":{"df":2,"docs":{"287":{"tf":1.4142135623730951},"288":{"tf":1.0}}},"df":0,"docs":{},"j":{"df":1,"docs":{"287":{"tf":2.0}}}},"df":0,"docs":{}},"df":1,"docs":{"287":{"tf":2.0}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"j":{"df":1,"docs":{"289":{"tf":2.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":1,"docs":{"289":{"tf":1.4142135623730951}},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":4,"docs":{"129":{"tf":1.0},"229":{"tf":1.0},"43":{"tf":1.7320508075688772},"47":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"i":{"d":{"df":5,"docs":{"110":{"tf":1.0},"111":{"tf":1.0},"116":{"tf":1.4142135623730951},"30":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":6,"docs":{"0":{"tf":1.0},"190":{"tf":1.0},"215":{"tf":1.0},"225":{"tf":1.0},"244":{"tf":1.0},"258":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"262":{"tf":1.0}}}},"df":0,"docs":{}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"199":{"tf":1.0},"258":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"271":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"87":{"tf":1.0}}},"’":{"df":0,"docs":{},"t":{"df":1,"docs":{"274":{"tf":1.0}}}}},"u":{"b":{"df":0,"docs":{},"l":{"df":5,"docs":{"173":{"tf":1.0},"180":{"tf":1.0},"230":{"tf":1.0},"271":{"tf":1.0},"275":{"tf":1.0}},"i":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"n":{"df":7,"docs":{"116":{"tf":1.0},"117":{"tf":1.4142135623730951},"119":{"tf":1.0},"87":{"tf":1.7320508075688772},"89":{"tf":1.7320508075688772},"90":{"tf":2.0},"92":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"176":{"tf":1.0},"184":{"tf":1.0},"210":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}},"df":7,"docs":{"176":{"tf":2.8284271247461903},"182":{"tf":1.0},"184":{"tf":2.8284271247461903},"185":{"tf":1.0},"205":{"tf":1.7320508075688772},"210":{"tf":3.3166247903554},"251":{"tf":1.0}}}}},"s":{"a":{"df":1,"docs":{"152":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":3,"docs":{"180":{"tf":1.4142135623730951},"233":{"tf":1.4142135623730951},"265":{"tf":1.7320508075688772}}}},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"185":{"tf":1.0}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"107":{"tf":1.0}}},"df":0,"docs":{}}}},"s":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"215":{"tf":1.0}}}}}},"df":0,"docs":{}},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"107":{"tf":1.0}}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":6,"docs":{"140":{"tf":1.0},"230":{"tf":1.0},"233":{"tf":1.4142135623730951},"240":{"tf":1.0},"262":{"tf":1.0},"285":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"0":{"3":{"7":{"3":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"2":{"3":{"df":1,"docs":{"251":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"^":{"df":0,"docs":{},"{":{"7":{"7":{"7":{"^":{"df":0,"docs":{},"{":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"_":{"2":{"^":{"9":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"139":{"tf":1.4142135623730951},"146":{"tf":1.4142135623730951},"211":{"tf":1.0}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"0":{"tf":1.0},"109":{"tf":1.0},"244":{"tf":1.0},"282":{"tf":1.0}}}}},"df":2,"docs":{"125":{"tf":2.23606797749979},"284":{"tf":1.0}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{".":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"1":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}},"2":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":7,"docs":{"182":{"tf":1.4142135623730951},"186":{"tf":2.23606797749979},"202":{"tf":1.7320508075688772},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"268":{"tf":1.7320508075688772},"269":{"tf":2.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":11,"docs":{"103":{"tf":1.4142135623730951},"107":{"tf":1.0},"108":{"tf":2.23606797749979},"119":{"tf":1.4142135623730951},"131":{"tf":1.0},"132":{"tf":1.7320508075688772},"139":{"tf":1.0},"142":{"tf":1.0},"176":{"tf":1.0},"179":{"tf":1.0},"185":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"105":{"tf":1.0}}}}},"s":{"df":1,"docs":{"251":{"tf":1.7320508075688772}}}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":5,"docs":{"140":{"tf":1.0},"175":{"tf":1.0},"227":{"tf":1.0},"44":{"tf":1.0},"54":{"tf":1.0}}}}}},"n":{"d":{"df":4,"docs":{"173":{"tf":1.0},"211":{"tf":1.0},"34":{"tf":1.4142135623730951},"92":{"tf":3.3166247903554}},"{":{"c":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"114":{"tf":1.0},"284":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":3,"docs":{"165":{"tf":1.0},"167":{"tf":1.0},"171":{"tf":1.0}},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"167":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":2,"docs":{"210":{"tf":1.0},"215":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"271":{"tf":1.0}}},"y":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"239":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"266":{"tf":1.0},"267":{"tf":1.0},"270":{"tf":1.4142135623730951}}}}}}}},"q":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"212":{"tf":1.0},"256":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":9,"docs":{"233":{"tf":1.7320508075688772},"234":{"tf":1.4142135623730951},"236":{"tf":1.4142135623730951},"237":{"tf":1.0},"238":{"tf":1.0},"247":{"tf":1.0},"249":{"tf":1.7320508075688772},"255":{"tf":1.0},"256":{"tf":2.8284271247461903}},"u":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"107":{"tf":1.0},"256":{"tf":1.0},"44":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},")":{"df":0,"docs":{},"定":{"df":0,"docs":{},"義":{"df":0,"docs":{},"為":{"df":0,"docs":{},":":{"df":0,"docs":{},"x":{"df":1,"docs":{"256":{"tf":1.0}}}}}}}}}}}}},"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"(":{"df":0,"docs":{},"s":{"a":{"df":1,"docs":{"212":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"256":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},",":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"233":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"r":{"(":{"0":{"df":3,"docs":{"33":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951}}},"b":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"143":{"tf":1.0}}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}},"p":{"df":0,"docs":{},"o":{"df":2,"docs":{"207":{"tf":1.4142135623730951},"61":{"tf":1.0}}}},"目":{"df":0,"docs":{},"標":{"df":0,"docs":{},"值":{"df":0,"docs":{},"若":{"df":0,"docs":{},"插":{"df":0,"docs":{},"入":{"df":0,"docs":{},"後":{"df":0,"docs":{},",":{"df":0,"docs":{},"不":{"df":0,"docs":{},"會":{"df":0,"docs":{},"影":{"df":0,"docs":{},"響":{"df":0,"docs":{},"序":{"df":0,"docs":{},"列":{"df":0,"docs":{},"排":{"df":0,"docs":{},"序":{"df":0,"docs":{},"的":{"df":0,"docs":{},"位":{"df":0,"docs":{},"置":{")":{"df":0,"docs":{},"。":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"32":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}}},"_":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"267":{"tf":2.449489742783178},"269":{"tf":1.7320508075688772}},"e":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}},"o":{"df":0,"docs":{},"g":{"2":{"(":{")":{")":{".":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":2,"docs":{"44":{"tf":1.0},"61":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"r":{"[":{"df":0,"docs":{},"e":{"0":{"1":{"9":{"5":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"7":{"7":{"df":1,"docs":{"262":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"0":{"8":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"7":{"3":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"9":{"2":{"df":1,"docs":{"264":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"3":{"5":{"df":1,"docs":{"262":{"tf":1.0}}},"df":0,"docs":{}},"9":{"5":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"2":{"3":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":4,"docs":{"251":{"tf":1.4142135623730951},"264":{"tf":1.0},"276":{"tf":1.0},"277":{"tf":1.0}}}}}},"t":{"df":2,"docs":{"274":{"tf":1.0},"275":{"tf":1.0}}},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":5,"docs":{"143":{"tf":1.0},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"19":{"tf":1.7320508075688772},"92":{"tf":1.0}}}},"t":{"df":1,"docs":{"44":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"(":{"\"":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"238":{"tf":1.0}}}}},"df":0,"docs":{}}},"&":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"!":{"(":{"\"":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"238":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":3,"docs":{"185":{"tf":1.0},"238":{"tf":1.0},"240":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"<":{"df":0,"docs":{},"t":{">":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"54":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":10,"docs":{"3":{"tf":1.0},"37":{"tf":2.0},"48":{"tf":2.0},"49":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.4142135623730951}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"185":{"tf":1.0}}}}}}},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"130":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"f":{"(":{"df":0,"docs":{},"n":{"df":3,"docs":{"17":{"tf":3.3166247903554},"18":{"tf":1.7320508075688772},"19":{"tf":2.23606797749979}}},"x":{")":{"=":{"\\":{"df":0,"docs":{},"s":{"df":0,"docs":{},"q":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"{":{"\\":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"{":{"1":{"8":{"2":{"7":{"7":{"7":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"2":{"8":{"6":{"df":0,"docs":{},"}":{"df":0,"docs":{},"}":{"\\":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"16":{"tf":1.7320508075688772}}}},".":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{")":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"188":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"6":{"4":{"df":3,"docs":{"239":{"tf":1.4142135623730951},"267":{"tf":2.449489742783178},"269":{"tf":2.0}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"q":{"df":1,"docs":{"274":{"tf":1.0}}}},"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"176":{"tf":1.0}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":8,"docs":{"231":{"tf":2.8284271247461903},"235":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.4142135623730951},"242":{"tf":1.4142135623730951},"243":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.0}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":3,"docs":{"122":{"tf":1.0},"244":{"tf":1.0},"93":{"tf":1.0}}},"s":{"df":7,"docs":{"157":{"tf":1.0},"168":{"tf":1.0},"212":{"tf":1.0},"253":{"tf":1.4142135623730951},"256":{"tf":2.0},"260":{"tf":1.0},"76":{"tf":1.0}}}},"n":{"df":1,"docs":{"275":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"291":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"46":{"tf":1.0},"47":{"tf":1.0}}}}}}},"df":7,"docs":{"125":{"tf":1.7320508075688772},"130":{"tf":1.4142135623730951},"132":{"tf":1.4142135623730951},"143":{"tf":1.7320508075688772},"188":{"tf":1.0},"213":{"tf":1.0},"274":{"tf":1.0}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"142":{"tf":1.0},"264":{"tf":1.0}}},"df":0,"docs":{}}},"f":{"df":0,"docs":{},"o":{"df":2,"docs":{"163":{"tf":1.0},"173":{"tf":1.0}}}},"g":{"df":4,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"19":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"185":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"273":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":20,"docs":{"224":{"tf":1.4142135623730951},"259":{"tf":3.1622776601683795},"260":{"tf":2.23606797749979},"261":{"tf":1.0},"262":{"tf":1.4142135623730951},"263":{"tf":1.0},"264":{"tf":1.7320508075688772},"265":{"tf":1.0},"266":{"tf":1.4142135623730951},"267":{"tf":1.4142135623730951},"268":{"tf":1.4142135623730951},"269":{"tf":1.4142135623730951},"270":{"tf":1.4142135623730951},"271":{"tf":2.8284271247461903},"272":{"tf":3.4641016151377544},"273":{"tf":4.123105625617661},"274":{"tf":3.1622776601683795},"275":{"tf":3.7416573867739413},"276":{"tf":2.23606797749979},"8":{"tf":1.0}},"f":{"df":1,"docs":{"274":{"tf":1.0}}}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"103":{"tf":1.0}}}},"d":{"(":{"df":0,"docs":{},"|":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"237":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":2,"docs":{"108":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"142":{"tf":1.0},"185":{"tf":1.0},"214":{"tf":1.0}}}}},"x":{"df":2,"docs":{"259":{"tf":1.0},"262":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"107":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"274":{"tf":1.0}}}},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"b":{"df":1,"docs":{"240":{"tf":1.7320508075688772}},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"239":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":3,"docs":{"143":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":1,"docs":{"143":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"265":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"188":{"tf":1.0},"213":{"tf":1.0}}}}}}},"df":0,"docs":{}},":":{":":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"188":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":1,"docs":{"188":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"188":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"n":{"(":{"&":{"df":0,"docs":{},"t":{"df":3,"docs":{"130":{"tf":1.0},"132":{"tf":1.0},"143":{"tf":1.0}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"i":{"df":2,"docs":{"268":{"tf":1.7320508075688772},"269":{"tf":2.23606797749979}}}},"df":75,"docs":{"102":{"tf":1.4142135623730951},"103":{"tf":1.0},"105":{"tf":2.0},"107":{"tf":1.0},"108":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"142":{"tf":1.0},"143":{"tf":1.4142135623730951},"151":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.0},"166":{"tf":1.0},"167":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":1.0},"176":{"tf":1.7320508075688772},"177":{"tf":1.0},"179":{"tf":2.23606797749979},"180":{"tf":1.4142135623730951},"181":{"tf":2.0},"182":{"tf":2.0},"184":{"tf":1.0},"185":{"tf":2.6457513110645907},"186":{"tf":2.0},"187":{"tf":1.4142135623730951},"188":{"tf":1.0},"205":{"tf":1.0},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"208":{"tf":1.0},"210":{"tf":1.4142135623730951},"211":{"tf":2.6457513110645907},"212":{"tf":1.0},"213":{"tf":1.0},"233":{"tf":1.7320508075688772},"236":{"tf":1.7320508075688772},"237":{"tf":2.0},"238":{"tf":1.4142135623730951},"239":{"tf":1.7320508075688772},"240":{"tf":1.4142135623730951},"249":{"tf":2.449489742783178},"25":{"tf":1.4142135623730951},"251":{"tf":2.449489742783178},"252":{"tf":2.0},"253":{"tf":1.7320508075688772},"255":{"tf":1.0},"256":{"tf":1.4142135623730951},"262":{"tf":1.0},"267":{"tf":2.23606797749979},"268":{"tf":1.7320508075688772},"269":{"tf":2.8284271247461903},"278":{"tf":1.4142135623730951},"279":{"tf":1.0},"286":{"tf":1.4142135623730951},"287":{"tf":1.0},"289":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"44":{"tf":1.4142135623730951},"54":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0},"76":{"tf":1.4142135623730951},"83":{"tf":1.0},"92":{"tf":1.4142135623730951}}},"o":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"|":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"239":{"tf":1.0}}}},"df":0,"docs":{}}},"df":1,"docs":{"239":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"17":{"tf":1.7320508075688772},"18":{"tf":1.0},"19":{"tf":1.4142135623730951}}}},"c":{"df":1,"docs":{"251":{"tf":1.0}}},"d":{"df":0,"docs":{},"o":{"df":1,"docs":{"227":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":1,"docs":{"272":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"47":{"tf":1.0}}}},"df":2,"docs":{"185":{"tf":1.0},"240":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"r":{"a":{"c":{"df":2,"docs":{"80":{"tf":1.7320508075688772},"81":{"tf":1.0}},"{":{"\\":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"df":0,"docs":{},"{":{"\\":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"}":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"\\":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"df":0,"docs":{},"{":{"2":{"df":1,"docs":{"260":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}}}}},"c":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{},"n":{"^":{"2":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"2":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"2":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"i":{"df":1,"docs":{"42":{"tf":1.0}}},"n":{"(":{"df":0,"docs":{},"n":{"df":3,"docs":{"66":{"tf":1.0},"75":{"tf":1.0},"99":{"tf":1.0}}}},"^":{"2":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"2":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"260":{"tf":1.0}},"}":{"df":0,"docs":{},"{":{"2":{"^":{"df":0,"docs":{},"k":{"df":1,"docs":{"30":{"tf":1.4142135623730951}}}},"df":2,"docs":{"114":{"tf":2.0},"75":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":2,"docs":{"231":{"tf":1.0},"242":{"tf":1.4142135623730951}}}}}},"y":{"_":{"1":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"100":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"274":{"tf":1.0}}}}},"df":0,"docs":{}}}},"o":{"d":{"df":0,"docs":{},"o":{"df":2,"docs":{"227":{"tf":1.7320508075688772},"230":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"255":{"tf":1.4142135623730951}}}}}}},"n":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"181":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":4,"docs":{"164":{"tf":1.0},"178":{"tf":1.0},"181":{"tf":1.0},"189":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"175":{"tf":1.0}}}},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":10,"docs":{"130":{"tf":2.0},"131":{"tf":1.0},"229":{"tf":1.0},"251":{"tf":1.4142135623730951},"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0},"284":{"tf":1.0},"32":{"tf":1.0},"47":{"tf":1.0}}}}}}},"df":0,"docs":{}}},":":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"143":{"tf":1.0}}}}}}},"df":0,"docs":{}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"130":{"tf":1.0}}}}}}},"g":{"(":{"df":0,"docs":{},"n":{"df":3,"docs":{"17":{"tf":2.23606797749979},"18":{"tf":1.7320508075688772},"19":{"tf":2.0}}},"x":{")":{"=":{"3":{"df":0,"docs":{},"x":{"^":{"6":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"16":{"tf":1.7320508075688772}}}},"_":{"df":0,"docs":{},"i":{"(":{"df":0,"docs":{},"x":{"df":4,"docs":{"260":{"tf":1.0},"266":{"tf":1.0},"268":{"tf":1.7320508075688772},"269":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"48":{"tf":1.0}}}}}},"p":{"df":6,"docs":{"78":{"tf":1.7320508075688772},"79":{"tf":2.0},"80":{"tf":2.23606797749979},"81":{"tf":2.23606797749979},"82":{"tf":2.449489742783178},"83":{"tf":3.4641016151377544}}},"t":{"df":1,"docs":{"185":{"tf":1.7320508075688772}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"135":{"tf":1.0},"136":{"tf":1.0},"143":{"tf":1.4142135623730951}}}}}}},"b":{"df":1,"docs":{"14":{"tf":1.0}}},"df":1,"docs":{"284":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"k":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"k":{"df":1,"docs":{"109":{"tf":1.0}}}}}}}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":4,"docs":{"142":{"tf":1.0},"185":{"tf":1.0},"264":{"tf":1.0},"272":{"tf":1.0}}}}},"q":{"df":2,"docs":{"18":{"tf":1.0},"19":{"tf":1.0}}},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"237":{"tf":1.0}}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"q":{">":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"237":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"266":{"tf":1.0}}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"238":{"tf":1.0}}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"185":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":2,"docs":{"185":{"tf":1.4142135623730951},"237":{"tf":1.0}},":":{"df":0,"docs":{},"取":{"df":0,"docs":{},"得":{"df":0,"docs":{},"指":{"df":0,"docs":{},"定":{"df":0,"docs":{},"鍵":{"df":0,"docs":{},"對":{"df":0,"docs":{},"應":{"df":0,"docs":{},"的":{"df":0,"docs":{},"資":{"df":0,"docs":{},"料":{"df":0,"docs":{},",":{"df":0,"docs":{},"並":{"df":0,"docs":{},"可":{"df":0,"docs":{},"寫":{"df":0,"docs":{},"入":{"df":0,"docs":{},"修":{"df":0,"docs":{},"改":{"df":0,"docs":{},"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"235":{"tf":1.0}}}}}}}}}}}}}}}}}}}}}}}}}}}},"df":1,"docs":{"210":{"tf":1.0}}}},"i":{"df":0,"docs":{},"f":{"df":6,"docs":{"122":{"tf":1.0},"62":{"tf":1.0},"70":{"tf":1.0},"77":{"tf":1.0},"86":{"tf":1.0},"93":{"tf":1.0}}},"m":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"230":{"tf":1.7320508075688772}}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"b":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"o":{"b":{"a":{"df":0,"docs":{},"l":{"_":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"176":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"176":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"df":1,"docs":{"291":{"tf":1.0}},"e":{"df":1,"docs":{"210":{"tf":1.0}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"227":{"tf":1.7320508075688772},"230":{"tf":1.7320508075688772}},"n":{"df":1,"docs":{"227":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"276":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":2,"docs":{"225":{"tf":1.0},"244":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"92":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"133":{"tf":1.0}}}}},"t":{"df":1,"docs":{"270":{"tf":1.0}}},"u":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"279":{"tf":1.0}}},"df":0,"docs":{}},"v":{"a":{"df":1,"docs":{"276":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"h":{"1":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"269":{"tf":1.0}}}},".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"i":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"h":{"2":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}},"2":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"269":{"tf":1.0}}}},"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}},"_":{"1":{"(":{"df":0,"docs":{},"x":{"df":5,"docs":{"260":{"tf":1.4142135623730951},"266":{"tf":1.0},"268":{"tf":2.23606797749979},"269":{"tf":1.4142135623730951},"275":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"2":{"(":{"df":0,"docs":{},"x":{"df":4,"docs":{"260":{"tf":1.0},"268":{"tf":1.4142135623730951},"269":{"tf":1.0},"275":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"33":{"tf":1.7320508075688772}}}},"m":{"df":6,"docs":{"277":{"tf":2.0},"278":{"tf":1.0},"279":{"tf":1.0},"280":{"tf":1.0},"281":{"tf":1.4142135623730951},"9":{"tf":1.0}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"278":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"279":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"n":{"d":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"10":{"tf":1.0}}}}}},"df":0,"docs":{},"l":{"df":2,"docs":{"44":{"tf":1.0},"54":{"tf":1.0}},"e":{"_":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"d":{"_":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"176":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"275":{"tf":1.0}}},"h":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"275":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"1":{"df":1,"docs":{"228":{"tf":1.0}}},"2":{"df":1,"docs":{"228":{"tf":1.0}}},"df":0,"docs":{}}}},"x":{"df":1,"docs":{"275":{"tf":1.0}}}},"<":{"df":0,"docs":{},"h":{"df":1,"docs":{"233":{"tf":1.0}}}},"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.7320508075688772},"269":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"o":{"df":1,"docs":{"227":{"tf":1.0}}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"227":{"tf":1.0}}}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"228":{"tf":1.0}}}}},"s":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"227":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"247":{"tf":1.0}}}},"df":0,"docs":{}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"228":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":37,"docs":{"142":{"tf":2.23606797749979},"143":{"tf":1.0},"220":{"tf":1.4142135623730951},"226":{"tf":1.7320508075688772},"227":{"tf":1.0},"228":{"tf":1.0},"229":{"tf":1.7320508075688772},"230":{"tf":1.7320508075688772},"231":{"tf":1.4142135623730951},"232":{"tf":1.0},"233":{"tf":3.872983346207417},"234":{"tf":1.7320508075688772},"235":{"tf":1.0},"236":{"tf":1.7320508075688772},"237":{"tf":1.4142135623730951},"238":{"tf":1.7320508075688772},"239":{"tf":1.0},"240":{"tf":1.0},"241":{"tf":1.0},"242":{"tf":1.0},"243":{"tf":1.0},"244":{"tf":2.0},"247":{"tf":1.0},"249":{"tf":1.7320508075688772},"255":{"tf":1.0},"256":{"tf":1.7320508075688772},"260":{"tf":1.0},"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.7320508075688772},"269":{"tf":2.6457513110645907},"271":{"tf":1.0},"274":{"tf":1.4142135623730951},"275":{"tf":2.0},"276":{"tf":1.4142135623730951},"8":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"(":{"&":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"143":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"233":{"tf":1.0}}}}}}}}},"1":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}}}}},"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}},"2":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}}}}},"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}},":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"268":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},">":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"233":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":8,"docs":{"142":{"tf":1.4142135623730951},"143":{"tf":1.4142135623730951},"233":{"tf":2.23606797749979},"263":{"tf":2.0},"264":{"tf":1.4142135623730951},"267":{"tf":1.7320508075688772},"268":{"tf":2.23606797749979},"269":{"tf":1.7320508075688772}}}},"m":{"a":{"df":0,"docs":{},"p":{".":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"234":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"238":{"tf":1.0}}}}}},":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"249":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"249":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"249":{"tf":1.0}}}}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"239":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"<":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"237":{"tf":1.0}}}}}},"df":0,"docs":{},"k":{"df":3,"docs":{"234":{"tf":1.4142135623730951},"236":{"tf":1.4142135623730951},"264":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"264":{"tf":1.0}}}}},"t":{"df":2,"docs":{"247":{"tf":1.0},"248":{"tf":1.0}}}},"df":11,"docs":{"143":{"tf":1.0},"216":{"tf":1.0},"230":{"tf":1.0},"231":{"tf":1.0},"233":{"tf":1.0},"234":{"tf":1.0},"236":{"tf":1.4142135623730951},"244":{"tf":1.0},"247":{"tf":1.0},"249":{"tf":1.0},"257":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"237":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{"df":7,"docs":{"247":{"tf":1.0},"249":{"tf":1.0},"251":{"tf":3.4641016151377544},"252":{"tf":2.0},"253":{"tf":1.7320508075688772},"255":{"tf":2.23606797749979},"256":{"tf":2.23606797749979}}}},"df":2,"docs":{"251":{"tf":1.4142135623730951},"258":{"tf":1.0}}}}},":":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"142":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":9,"docs":{"142":{"tf":1.4142135623730951},"143":{"tf":1.7320508075688772},"175":{"tf":3.0},"179":{"tf":1.4142135623730951},"180":{"tf":2.449489742783178},"233":{"tf":1.0},"276":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.0}},"e":{"a":{"d":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"206":{"tf":1.0}}}}}}},"df":21,"docs":{"119":{"tf":1.4142135623730951},"171":{"tf":1.0},"174":{"tf":1.0},"175":{"tf":3.3166247903554},"177":{"tf":1.4142135623730951},"179":{"tf":1.0},"180":{"tf":2.6457513110645907},"181":{"tf":1.4142135623730951},"182":{"tf":1.7320508075688772},"185":{"tf":2.0},"189":{"tf":1.0},"196":{"tf":2.0},"200":{"tf":1.0},"203":{"tf":1.4142135623730951},"205":{"tf":1.0},"206":{"tf":2.23606797749979},"207":{"tf":1.0},"208":{"tf":1.4142135623730951},"210":{"tf":1.0},"214":{"tf":1.0},"230":{"tf":1.0}}},"df":0,"docs":{},"p":{"df":10,"docs":{"202":{"tf":1.0},"236":{"tf":1.0},"69":{"tf":1.0},"85":{"tf":2.0},"86":{"tf":3.0},"87":{"tf":4.242640687119285},"89":{"tf":3.605551275463989},"90":{"tf":1.4142135623730951},"92":{"tf":4.358898943540674},"93":{"tf":1.0}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":4,"docs":{"87":{"tf":1.7320508075688772},"89":{"tf":2.23606797749979},"90":{"tf":1.0},"92":{"tf":1.7320508075688772}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"92":{"tf":1.0}}}}},"df":0,"docs":{}},"df":11,"docs":{"4":{"tf":1.0},"69":{"tf":1.7320508075688772},"85":{"tf":2.449489742783178},"86":{"tf":1.7320508075688772},"87":{"tf":1.7320508075688772},"88":{"tf":1.4142135623730951},"89":{"tf":1.4142135623730951},"90":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":2.0},"93":{"tf":1.4142135623730951}}}}}}},"v":{"df":0,"docs":{},"i":{"df":1,"docs":{"291":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"p":{"df":2,"docs":{"251":{"tf":1.0},"264":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"102":{"tf":1.0}}}}}},"n":{"c":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"4":{"0":{"4":{"0":{"8":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"df":3,"docs":{"176":{"tf":1.0},"210":{"tf":1.4142135623730951},"251":{"tf":1.7320508075688772}}}}},"i":{"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"44":{"tf":2.449489742783178}}}},"df":0,"docs":{}}},"df":8,"docs":{"102":{"tf":3.0},"103":{"tf":1.4142135623730951},"105":{"tf":4.242640687119285},"107":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"41":{"tf":1.4142135623730951},"44":{"tf":2.8284271247461903},"54":{"tf":2.23606797749979}},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"96":{"tf":1.4142135623730951}}}},"、":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}}}},"o":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"108":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"136":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"o":{"d":{"df":1,"docs":{"231":{"tf":1.0}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"{":{"1":{"0":{"df":2,"docs":{"284":{"tf":1.0},"286":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{"/":{"/":{"d":{"df":0,"docs":{},"o":{"c":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},":":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"143":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"i":{"$":{"df":0,"docs":{},"、":{"$":{"df":0,"docs":{},"j":{"df":1,"docs":{"284":{"tf":1.0}}}},"df":0,"docs":{}}},"+":{"1":{"df":1,"docs":{"96":{"tf":1.0}}},"df":0,"docs":{}},"/":{"df":1,"docs":{"284":{"tf":1.0}},"o":{"df":1,"docs":{"274":{"tf":1.0}}}},"3":{"2":{"df":17,"docs":{"102":{"tf":1.4142135623730951},"103":{"tf":1.0},"105":{"tf":2.0},"107":{"tf":1.0},"108":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.7320508075688772},"151":{"tf":1.0},"264":{"tf":1.4142135623730951},"44":{"tf":2.6457513110645907},"59":{"tf":1.0},"61":{"tf":1.4142135623730951},"67":{"tf":1.0},"76":{"tf":1.4142135623730951},"83":{"tf":1.0},"92":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"275":{"tf":1.0}},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"107":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"7":{"5":{"4":{"df":1,"docs":{"256":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"47":{"tf":1.0}}}}},"h":{"_":{"2":{"(":{"df":0,"docs":{},"x":{"df":4,"docs":{"260":{"tf":1.0},"266":{"tf":1.0},"268":{"tf":1.7320508075688772},"269":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"k":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"n":{"df":2,"docs":{"43":{"tf":1.0},"47":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"a":{"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}}},"m":{"a":{"df":0,"docs":{},"g":{"df":3,"docs":{"190":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"200":{"tf":1.4142135623730951},"211":{"tf":1.4142135623730951},"251":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"l":{"<":{"'":{"a":{"df":4,"docs":{"185":{"tf":2.23606797749979},"186":{"tf":2.0},"211":{"tf":1.0},"255":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"df":1,"docs":{"142":{"tf":1.0}}},"k":{"df":1,"docs":{"236":{"tf":1.4142135623730951}}},"t":{"df":15,"docs":{"176":{"tf":1.7320508075688772},"177":{"tf":1.0},"179":{"tf":1.4142135623730951},"184":{"tf":1.0},"186":{"tf":2.0},"187":{"tf":1.4142135623730951},"188":{"tf":1.0},"205":{"tf":1.0},"210":{"tf":1.4142135623730951},"211":{"tf":1.7320508075688772},"212":{"tf":1.0},"213":{"tf":1.0},"249":{"tf":1.0},"256":{"tf":1.7320508075688772},"269":{"tf":1.0}}}},"df":7,"docs":{"185":{"tf":1.0},"233":{"tf":1.0},"240":{"tf":3.0},"249":{"tf":1.0},"251":{"tf":2.449489742783178},"252":{"tf":2.0},"255":{"tf":1.0}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"144":{"tf":1.0},"190":{"tf":1.0},"276":{"tf":1.0}}}}}}}}}},"n":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":1,"docs":{"151":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"118":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"84":{"tf":1.0}}}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"187":{"tf":1.0}}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"187":{"tf":1.0}}}}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"187":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":24,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"119":{"tf":1.7320508075688772},"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"125":{"tf":2.23606797749979},"132":{"tf":2.23606797749979},"168":{"tf":1.0},"179":{"tf":2.0},"187":{"tf":3.0},"228":{"tf":1.0},"237":{"tf":1.4142135623730951},"238":{"tf":1.7320508075688772},"25":{"tf":1.0},"268":{"tf":1.0},"269":{"tf":1.7320508075688772},"288":{"tf":1.4142135623730951},"33":{"tf":1.0},"54":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"67":{"tf":1.0},"92":{"tf":2.0}},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"143":{"tf":1.0}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"187":{"tf":1.0}}}}},"df":1,"docs":{"187":{"tf":1.7320508075688772}}}}},"(":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"125":{"tf":1.0}}}}}}}}}}}},"df":1,"docs":{"287":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"185":{"tf":1.0},"264":{"tf":1.0}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"44":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":4,"docs":{"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"239":{"tf":1.0},"267":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"210":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"135":{"tf":1.0},"136":{"tf":1.0},"138":{"tf":1.0},"143":{"tf":1.4142135623730951}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"262":{"tf":1.7320508075688772}}}}}},"df":1,"docs":{"125":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":4,"docs":{"238":{"tf":1.0},"249":{"tf":1.0},"268":{"tf":1.0},"269":{"tf":1.0}}}}}},"df":0,"docs":{},"v":{"df":2,"docs":{"257":{"tf":1.0},"270":{"tf":1.0}}}},"_":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":2,"docs":{"204":{"tf":1.0},"207":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"207":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":31,"docs":{"119":{"tf":1.0},"138":{"tf":1.0},"142":{"tf":1.0},"143":{"tf":1.0},"161":{"tf":1.0},"171":{"tf":1.0},"214":{"tf":1.0},"235":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.0},"249":{"tf":1.4142135623730951},"251":{"tf":1.0},"266":{"tf":1.0},"268":{"tf":1.0},"282":{"tf":1.0},"289":{"tf":1.0},"38":{"tf":2.0},"4":{"tf":1.0},"56":{"tf":2.23606797749979},"57":{"tf":1.4142135623730951},"58":{"tf":1.7320508075688772},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":2.8284271247461903},"62":{"tf":1.4142135623730951},"65":{"tf":1.0},"71":{"tf":1.0},"78":{"tf":2.0},"79":{"tf":1.4142135623730951},"81":{"tf":2.6457513110645907},"82":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"59":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"t":{"df":1,"docs":{"238":{"tf":1.0}}}},"i":{"d":{"df":3,"docs":{"181":{"tf":1.4142135623730951},"182":{"tf":2.0},"187":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"145":{"tf":1.0}},"e":{"df":0,"docs":{},"g":{"df":1,"docs":{"34":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"}":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"278":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"r":{"df":1,"docs":{"186":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":2,"docs":{"117":{"tf":1.0},"118":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":10,"docs":{"3":{"tf":1.0},"36":{"tf":2.23606797749979},"40":{"tf":2.449489742783178},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":3.872983346207417},"45":{"tf":1.0},"46":{"tf":2.0},"47":{"tf":2.0}}}}},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"253":{"tf":1.0},"255":{"tf":1.0},"257":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"<":{"'":{"a":{">":{"(":{"&":{"'":{"a":{"df":1,"docs":{"252":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},":":{"df":0,"docs":{},"交":{"df":0,"docs":{},"集":{"df":0,"docs":{},",":{"a":{"df":1,"docs":{"250":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}},"o":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"185":{"tf":1.0},"186":{"tf":1.0},"211":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"186":{"tf":1.7320508075688772},"211":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"211":{"tf":1.0}}}}}},"t":{"df":2,"docs":{"186":{"tf":1.7320508075688772},"211":{"tf":2.6457513110645907}},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"186":{"tf":1.0},"211":{"tf":1.0}}}}}}},"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"186":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}}}}}},"df":0,"docs":{}},"df":2,"docs":{"186":{"tf":1.4142135623730951},"211":{"tf":1.7320508075688772}}}},"df":3,"docs":{"185":{"tf":1.0},"186":{"tf":3.3166247903554},"211":{"tf":2.449489742783178}}}}}}},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"244":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}}}}}}}}}},"o":{"df":1,"docs":{"259":{"tf":1.0}}},"s":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"253":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"250":{"tf":1.0}}}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":5,"docs":{"178":{"tf":1.0},"181":{"tf":1.0},"204":{"tf":1.0},"235":{"tf":1.0},"249":{"tf":1.0}}},"y":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"181":{"tf":1.0},"249":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"178":{"tf":1.0}},"l":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"180":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"249":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"210":{"tf":1.4142135623730951}}}},"u":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"253":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":3,"docs":{"250":{"tf":1.0},"253":{"tf":1.4142135623730951},"256":{"tf":1.4142135623730951}},",":{"a":{"df":1,"docs":{"256":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"253":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":2,"docs":{"250":{"tf":1.0},"253":{"tf":1.0}},",":{"a":{"df":1,"docs":{"256":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":4,"docs":{"102":{"tf":2.0},"103":{"tf":1.7320508075688772},"105":{"tf":2.8284271247461903},"107":{"tf":2.0}}}},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"293":{"tf":1.7320508075688772}}}},"t":{"df":1,"docs":{"46":{"tf":1.0}}}},"t":{"'":{"df":1,"docs":{"180":{"tf":1.4142135623730951}}},"a":{"df":0,"docs":{},"i":{"df":2,"docs":{"43":{"tf":1.0},"47":{"tf":1.0}}}},"df":1,"docs":{"284":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"m":{"df":15,"docs":{"154":{"tf":1.4142135623730951},"156":{"tf":1.0},"157":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"166":{"tf":1.0},"167":{"tf":1.7320508075688772},"168":{"tf":1.0},"169":{"tf":1.0},"185":{"tf":2.0},"186":{"tf":2.0},"211":{"tf":1.7320508075688772},"25":{"tf":1.4142135623730951},"251":{"tf":2.449489742783178},"252":{"tf":1.4142135623730951},"275":{"tf":1.0}}},"r":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":3,"docs":{"211":{"tf":1.4142135623730951},"240":{"tf":1.0},"249":{"tf":1.0}}}}}}},"df":0,"docs":{}},".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"<":{"'":{"a":{"df":3,"docs":{"185":{"tf":1.4142135623730951},"186":{"tf":1.0},"211":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.4142135623730951}}}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":2,"docs":{"185":{"tf":1.0},"186":{"tf":1.0}}}}}},"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"25":{"tf":1.0}}}}}}}},":":{":":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"256":{"tf":1.0},"269":{"tf":1.0}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"251":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":2,"docs":{"185":{"tf":1.0},"279":{"tf":1.0}}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":4,"docs":{"240":{"tf":1.0},"249":{"tf":1.0},"251":{"tf":2.449489742783178},"252":{"tf":2.0}}}}}}},"df":0,"docs":{}}}}},"df":20,"docs":{"105":{"tf":1.0},"107":{"tf":1.0},"131":{"tf":1.0},"143":{"tf":1.4142135623730951},"151":{"tf":1.0},"185":{"tf":4.795831523312719},"186":{"tf":2.0},"208":{"tf":1.0},"211":{"tf":4.358898943540674},"212":{"tf":1.0},"213":{"tf":1.0},"240":{"tf":1.4142135623730951},"249":{"tf":1.4142135623730951},"251":{"tf":2.0},"269":{"tf":1.0},"279":{"tf":1.0},"44":{"tf":1.0},"67":{"tf":1.0},"83":{"tf":1.0},"92":{"tf":1.0}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}}}},"df":0,"docs":{}},"<":{"'":{"a":{"df":3,"docs":{"185":{"tf":2.23606797749979},"186":{"tf":1.0},"211":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.0}}}},"df":2,"docs":{"185":{"tf":1.0},"211":{"tf":1.4142135623730951}}}}},"、":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.0}}}}}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"176":{"tf":1.0},"185":{"tf":1.0}}}}}}},"、":{"df":0,"docs":{},"j":{"df":1,"docs":{"103":{"tf":1.0}}}},",":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"j":{"a":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},",":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":14,"docs":{"103":{"tf":1.7320508075688772},"107":{"tf":2.449489742783178},"108":{"tf":2.449489742783178},"275":{"tf":1.4142135623730951},"284":{"tf":1.4142135623730951},"287":{"tf":2.449489742783178},"288":{"tf":1.4142135623730951},"289":{"tf":2.449489742783178},"59":{"tf":2.23606797749979},"61":{"tf":2.0},"67":{"tf":1.4142135623730951},"83":{"tf":2.0},"96":{"tf":2.23606797749979},"97":{"tf":4.123105625617661}},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"8":{"9":{"df":2,"docs":{"64":{"tf":1.0},"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"g":{"df":2,"docs":{"225":{"tf":1.0},"244":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"、":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"218":{"tf":1.4142135623730951}}}}}}}}}},"。":{"df":0,"docs":{},"i":{"df":1,"docs":{"97":{"tf":1.7320508075688772}}}}},"k":{"$":{"df":0,"docs":{},"(":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"b":{"df":0,"docs":{},"e":{"df":1,"docs":{"230":{"tf":1.0}}}},"df":0,"docs":{}}}}},":":{"df":0,"docs":{},"雜":{"df":0,"docs":{},"湊":{"df":0,"docs":{},"表":{"df":0,"docs":{},"配":{"df":0,"docs":{},"置":{"df":0,"docs":{},"的":{"df":0,"docs":{},"儲":{"df":0,"docs":{},"存":{"df":0,"docs":{},"空":{"df":0,"docs":{},"間":{"df":0,"docs":{},"(":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"231":{"tf":1.0},"242":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}}}}},")":{".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"238":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"237":{"tf":1.0}}}}}}}},"df":0,"docs":{}},">":{"0":{"df":2,"docs":{"17":{"tf":1.0},"18":{"tf":1.0}}},"df":0,"docs":{}},"^":{"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.4142135623730951}}},"{":{"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.4142135623730951}}}}},"_":{"1":{">":{"0":{"df":1,"docs":{"19":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"19":{"tf":1.4142135623730951}}},"2":{">":{"0":{"df":1,"docs":{"19":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"19":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":38,"docs":{"107":{"tf":2.0},"109":{"tf":1.0},"123":{"tf":1.0},"126":{"tf":2.23606797749979},"127":{"tf":1.7320508075688772},"128":{"tf":1.4142135623730951},"135":{"tf":1.0},"137":{"tf":2.0},"139":{"tf":4.0},"140":{"tf":2.0},"148":{"tf":1.0},"149":{"tf":3.3166247903554},"150":{"tf":1.4142135623730951},"17":{"tf":1.7320508075688772},"173":{"tf":1.0},"18":{"tf":1.4142135623730951},"230":{"tf":1.4142135623730951},"233":{"tf":1.0},"234":{"tf":2.0},"236":{"tf":1.4142135623730951},"237":{"tf":2.0},"238":{"tf":1.7320508075688772},"240":{"tf":2.23606797749979},"241":{"tf":1.0},"244":{"tf":1.0},"249":{"tf":1.0},"260":{"tf":2.8284271247461903},"263":{"tf":1.7320508075688772},"266":{"tf":1.0},"267":{"tf":1.4142135623730951},"268":{"tf":2.0},"269":{"tf":2.0},"270":{"tf":2.23606797749979},"271":{"tf":1.0},"284":{"tf":1.4142135623730951},"285":{"tf":2.449489742783178},"30":{"tf":2.0},"49":{"tf":1.0}},"e":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"132":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"1":{"df":1,"docs":{"228":{"tf":1.0}}},"2":{"df":1,"docs":{"228":{"tf":1.0}}},"df":17,"docs":{"124":{"tf":1.0},"125":{"tf":3.1622776601683795},"128":{"tf":1.0},"130":{"tf":1.4142135623730951},"131":{"tf":2.0},"132":{"tf":1.4142135623730951},"146":{"tf":1.4142135623730951},"149":{"tf":1.0},"151":{"tf":1.0},"216":{"tf":1.0},"228":{"tf":1.0},"233":{"tf":1.0},"234":{"tf":1.4142135623730951},"237":{"tf":2.0},"238":{"tf":1.4142135623730951},"249":{"tf":1.0},"275":{"tf":1.0}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":1,"docs":{"284":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"284":{"tf":2.0},"285":{"tf":1.4142135623730951}}}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"262":{"tf":1.4142135623730951}}}}}},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}},"l":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"/":{"1":{".":{"4":{"9":{".":{"0":{"/":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"/":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"b":{"a":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"#":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"215":{"tf":1.0},"240":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"107":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"107":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"199":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"214":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"103":{"tf":1.0}}}}}},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"s":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}}},":":{":":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"y":{":":{":":{"<":{"df":0,"docs":{},"t":{">":{"(":{"c":{"a":{"df":0,"docs":{},"p":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"176":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"c":{"a":{"df":0,"docs":{},"p":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"176":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"176":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"176":{"tf":2.23606797749979}}}}}},"z":{"df":0,"docs":{},"i":{"df":2,"docs":{"143":{"tf":1.0},"251":{"tf":1.4142135623730951}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"114":{"tf":1.0},"52":{"tf":1.4142135623730951}}}}}},"df":2,"docs":{"273":{"tf":1.4142135623730951},"33":{"tf":1.0}},"e":{"a":{"d":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":2,"docs":{"89":{"tf":1.7320508075688772},"92":{"tf":1.0}}},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"210":{"tf":1.0},"215":{"tf":1.0}}}}},"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"w":{"df":1,"docs":{"12":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"89":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":3,"docs":{"119":{"tf":2.23606797749979},"54":{"tf":1.0},"92":{"tf":1.4142135623730951}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"108":{"tf":1.0},"147":{"tf":1.0}}}}}}}},"n":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":3,"docs":{"181":{"tf":1.0},"239":{"tf":1.0},"249":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":16,"docs":{"118":{"tf":2.23606797749979},"131":{"tf":1.0},"132":{"tf":1.0},"178":{"tf":1.0},"181":{"tf":1.4142135623730951},"189":{"tf":1.0},"233":{"tf":1.7320508075688772},"234":{"tf":1.7320508075688772},"235":{"tf":1.0},"236":{"tf":2.0},"238":{"tf":1.0},"249":{"tf":1.0},"262":{"tf":1.0},"67":{"tf":1.7320508075688772},"76":{"tf":2.0},"83":{"tf":1.4142135623730951}},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":3,"docs":{"112":{"tf":1.0},"238":{"tf":1.0},"279":{"tf":1.0}}}}}},"q":{"df":2,"docs":{"17":{"tf":2.23606797749979},"19":{"tf":2.0}}},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"260":{"tf":1.0},"276":{"tf":1.0}}}},"t":{"'":{"df":1,"docs":{"276":{"tf":1.0}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"89":{"tf":1.0}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":2,"docs":{"286":{"tf":1.4142135623730951},"289":{"tf":1.0}}},"df":0,"docs":{}}}}}},"_":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"287":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":11,"docs":{"282":{"tf":2.0},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":2.23606797749979},"9":{"tf":1.0}}}}}}}}}}},"x":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"146":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":5,"docs":{"114":{"tf":1.0},"42":{"tf":1.7320508075688772},"80":{"tf":1.7320508075688772},"81":{"tf":1.0},"89":{"tf":1.0}},"{":{"\\":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"_":{"2":{"df":1,"docs":{"30":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"i":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"13":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"185":{"tf":2.8284271247461903},"251":{"tf":2.23606797749979}}}}}},"o":{"df":1,"docs":{"153":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"<":{"df":0,"docs":{},"t":{">":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":11,"docs":{"23":{"tf":1.7320508075688772},"230":{"tf":2.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.4142135623730951},"274":{"tf":1.7320508075688772},"3":{"tf":1.0},"40":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"47":{"tf":1.4142135623730951}}}},"df":2,"docs":{"188":{"tf":1.0},"271":{"tf":1.0}}},"k":{"df":26,"docs":{"144":{"tf":1.0},"153":{"tf":1.0},"163":{"tf":1.0},"171":{"tf":1.0},"191":{"tf":1.4142135623730951},"198":{"tf":1.0},"199":{"tf":1.4142135623730951},"200":{"tf":1.7320508075688772},"201":{"tf":1.0},"202":{"tf":1.0},"203":{"tf":1.0},"204":{"tf":1.0},"205":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.4142135623730951},"208":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":2.8284271247461903},"211":{"tf":1.0},"212":{"tf":1.0},"213":{"tf":1.0},"214":{"tf":1.0},"215":{"tf":1.7320508075688772},"230":{"tf":1.4142135623730951},"65":{"tf":1.0},"7":{"tf":1.7320508075688772}},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"193":{"tf":1.0},"215":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":26,"docs":{"144":{"tf":1.0},"153":{"tf":1.0},"163":{"tf":1.0},"171":{"tf":1.0},"191":{"tf":1.4142135623730951},"198":{"tf":1.0},"199":{"tf":1.4142135623730951},"200":{"tf":1.7320508075688772},"201":{"tf":1.0},"202":{"tf":1.0},"203":{"tf":1.0},"204":{"tf":1.0},"205":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.4142135623730951},"208":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":1.7320508075688772},"211":{"tf":1.7320508075688772},"212":{"tf":1.0},"213":{"tf":1.0},"214":{"tf":1.0},"215":{"tf":1.7320508075688772},"230":{"tf":1.4142135623730951},"65":{"tf":1.0},"7":{"tf":1.7320508075688772}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"265":{"tf":1.0}}}},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"20":{"tf":1.0}}}}}},"n":{"_":{"2":{"_":{"2":{")":{".":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"267":{"tf":1.4142135623730951},"269":{"tf":1.4142135623730951}},"{":{"\\":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"}":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"(":{"\\":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"df":0,"docs":{},"{":{"2":{"df":0,"docs":{},"}":{")":{"^":{"2":{"df":1,"docs":{"260":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}}},"o":{".":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"103":{"tf":1.0}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"44":{"tf":2.8284271247461903}}}},"df":0,"docs":{}}},"a":{"d":{"_":{"df":0,"docs":{},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"239":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":8,"docs":{"231":{"tf":2.449489742783178},"235":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.4142135623730951},"242":{"tf":1.0},"243":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.0}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"271":{"tf":1.0},"274":{"tf":1.0}}}},"df":0,"docs":{}},"df":9,"docs":{"102":{"tf":2.6457513110645907},"103":{"tf":1.4142135623730951},"105":{"tf":4.58257569495584},"107":{"tf":1.7320508075688772},"108":{"tf":1.4142135623730951},"13":{"tf":1.0},"41":{"tf":1.4142135623730951},"44":{"tf":3.1622776601683795},"54":{"tf":2.0}},"g":{"(":{"9":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.0}}}},"^":{"2":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"_":{"2":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"89":{"tf":1.0}}}},"df":3,"docs":{"267":{"tf":1.0},"269":{"tf":1.0},"30":{"tf":2.23606797749979}},"n":{"df":1,"docs":{"61":{"tf":1.0}}},"{":{"\\":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"260":{"tf":1.0}}}}}}}}},"f":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"{":{"1":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"\\":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"271":{"tf":1.0},"275":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"n":{"df":1,"docs":{"99":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":21,"docs":{"105":{"tf":1.4142135623730951},"110":{"tf":1.4142135623730951},"113":{"tf":1.7320508075688772},"114":{"tf":1.0},"145":{"tf":1.0},"15":{"tf":1.4142135623730951},"20":{"tf":1.0},"21":{"tf":1.0},"43":{"tf":2.0},"46":{"tf":2.0},"47":{"tf":1.4142135623730951},"53":{"tf":1.0},"69":{"tf":1.0},"82":{"tf":1.0},"88":{"tf":2.0},"89":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"94":{"tf":1.0},"98":{"tf":1.4142135623730951},"99":{"tf":1.0}},"i":{"c":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}},"{":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":7,"docs":{"100":{"tf":1.0},"103":{"tf":1.7320508075688772},"105":{"tf":1.0},"107":{"tf":1.4142135623730951},"96":{"tf":1.7320508075688772},"97":{"tf":1.0},"99":{"tf":1.4142135623730951}}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"p":{"df":11,"docs":{"105":{"tf":1.0},"108":{"tf":1.0},"119":{"tf":1.4142135623730951},"211":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.0},"279":{"tf":1.0},"291":{"tf":1.0},"44":{"tf":2.0},"76":{"tf":1.0},"92":{"tf":1.4142135623730951}}}},"w":{"df":1,"docs":{"96":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"54":{"tf":1.0}}}}}},"s":{"d":{"df":3,"docs":{"145":{"tf":1.0},"146":{"tf":2.0},"147":{"tf":1.0}}},"df":0,"docs":{},"m":{"df":1,"docs":{"274":{"tf":1.0}}}},"t":{"df":0,"docs":{},"、":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":1,"docs":{"256":{"tf":1.0}}}}}}},"m":{"$":{"df":0,"docs":{},"、":{"$":{"df":0,"docs":{},"n":{"$":{"df":0,"docs":{},"、":{"$":{"df":0,"docs":{},"k":{"$":{"df":0,"docs":{},"、":{"$":{"\\":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"267":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"236":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"262":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"230":{"tf":1.0},"262":{"tf":1.0},"44":{"tf":1.0}}}},"k":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"&":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"238":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"x":{">":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"233":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":4,"docs":{"235":{"tf":1.0},"237":{"tf":1.0},"266":{"tf":1.0},"268":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":1,"docs":{"238":{"tf":1.0}}}},"n":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"184":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":2,"docs":{"210":{"tf":1.0},"215":{"tf":1.0}}}},"p":{"(":{"df":0,"docs":{},"|":{"(":{"_":{"df":1,"docs":{"237":{"tf":1.4142135623730951}}},"df":0,"docs":{},"k":{"df":1,"docs":{"240":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":2,"docs":{"238":{"tf":1.0},"54":{"tf":1.0}}}}},"df":0,"docs":{}}},"v":{"df":1,"docs":{"238":{"tf":1.0}}}}},"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"54":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":25,"docs":{"216":{"tf":1.0},"220":{"tf":1.4142135623730951},"221":{"tf":1.4142135623730951},"225":{"tf":1.0},"226":{"tf":1.7320508075688772},"227":{"tf":1.0},"228":{"tf":1.0},"229":{"tf":1.0},"230":{"tf":1.0},"231":{"tf":1.0},"232":{"tf":1.0},"233":{"tf":1.0},"234":{"tf":1.0},"235":{"tf":1.0},"236":{"tf":1.0},"237":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"241":{"tf":1.0},"242":{"tf":1.0},"243":{"tf":1.0},"244":{"tf":1.4142135623730951},"274":{"tf":1.0},"8":{"tf":1.4142135623730951}}},"r":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"83":{"tf":1.0}},"s":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"83":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":2,"docs":{"80":{"tf":1.0},"83":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"264":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"122":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":9,"docs":{"143":{"tf":1.0},"168":{"tf":1.0},"185":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"210":{"tf":1.0},"238":{"tf":1.0},"256":{"tf":1.4142135623730951},"279":{"tf":1.4142135623730951},"61":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"289":{"tf":1.7320508075688772}}}},"df":1,"docs":{"288":{"tf":1.0}}}}}},"x":{"(":{"df":0,"docs":{},"i":{",":{"df":0,"docs":{},"j":{"df":2,"docs":{"284":{"tf":1.4142135623730951},"286":{"tf":1.0}}}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"151":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":8,"docs":{"130":{"tf":1.4142135623730951},"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"151":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":2.0},"90":{"tf":1.0},"92":{"tf":2.0}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":3,"docs":{"154":{"tf":1.4142135623730951},"156":{"tf":1.0},"159":{"tf":1.0}},"e":{"df":0,"docs":{},"、":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"154":{"tf":1.0}}}}}}}}}}}}},"df":10,"docs":{"260":{"tf":2.0},"262":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.0},"269":{"tf":1.0},"270":{"tf":2.6457513110645907},"284":{"tf":1.0},"290":{"tf":1.7320508075688772},"84":{"tf":1.0}},"e":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"259":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{":":{":":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"184":{"tf":1.0}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"c":{"df":1,"docs":{"238":{"tf":1.4142135623730951}},"e":{"(":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"239":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{":":{":":{"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"176":{"tf":1.0},"179":{"tf":1.0}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"179":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"154":{"tf":1.0}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"266":{"tf":1.0}}}}}}}}},"c":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":2,"docs":{"119":{"tf":1.4142135623730951},"180":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":6,"docs":{"176":{"tf":1.4142135623730951},"181":{"tf":1.4142135623730951},"182":{"tf":2.0},"184":{"tf":1.0},"187":{"tf":1.4142135623730951},"215":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"g":{"df":7,"docs":{"112":{"tf":1.4142135623730951},"116":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"119":{"tf":1.7320508075688772},"122":{"tf":1.0},"193":{"tf":1.0}},"e":{"(":{"&":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"[":{".":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"117":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{".":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"118":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"1":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"117":{"tf":1.4142135623730951}}}}}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"117":{"tf":1.0}}}}},"df":0,"docs":{}},"_":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"118":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":16,"docs":{"110":{"tf":2.23606797749979},"111":{"tf":2.0},"112":{"tf":1.4142135623730951},"113":{"tf":1.0},"114":{"tf":2.0},"115":{"tf":1.7320508075688772},"116":{"tf":1.7320508075688772},"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"122":{"tf":1.0},"20":{"tf":1.0},"4":{"tf":1.0},"94":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}}}}},"t":{"a":{"df":1,"docs":{"293":{"tf":1.0}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"d":{"df":5,"docs":{"131":{"tf":1.0},"185":{"tf":1.7320508075688772},"211":{"tf":1.4142135623730951},"255":{"tf":1.0},"256":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"i":{"b":{"df":2,"docs":{"259":{"tf":1.0},"270":{"tf":1.0}}},"d":{"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"44":{"tf":2.449489742783178}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"l":{"df":2,"docs":{"103":{"tf":1.0},"118":{"tf":1.0}}}},"df":4,"docs":{"117":{"tf":1.4142135623730951},"118":{"tf":1.0},"33":{"tf":1.7320508075688772},"34":{"tf":1.4142135623730951}}},"df":0,"docs":{},"n":{"(":{"2":{",":{"2":{",":{"1":{"df":1,"docs":{"285":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{",":{"2":{",":{"2":{"df":1,"docs":{"285":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{",":{"df":0,"docs":{},"j":{"df":2,"docs":{"284":{"tf":1.4142135623730951},"286":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":8,"docs":{"130":{"tf":1.4142135623730951},"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"284":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.0}},"、":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"x":{"df":1,"docs":{"130":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"240":{"tf":1.0},"251":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"l":{"a":{"c":{"df":1,"docs":{"108":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"244":{"tf":1.0}}}},"o":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"215":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"268":{"tf":1.0}}}},"df":1,"docs":{"256":{"tf":1.0}},"o":{"df":2,"docs":{"233":{"tf":1.0},"268":{"tf":1.0}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"119":{"tf":1.0},"175":{"tf":1.4142135623730951}}}},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"211":{"tf":1.0},"251":{"tf":2.8284271247461903}}}}},"s":{"d":{"df":2,"docs":{"145":{"tf":1.0},"146":{"tf":2.449489742783178}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"222":{"tf":1.4142135623730951},"8":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":5,"docs":{"157":{"tf":1.0},"167":{"tf":1.0},"211":{"tf":1.4142135623730951},"237":{"tf":1.0},"238":{"tf":1.0}}}},"df":0,"docs":{}},"df":43,"docs":{"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"105":{"tf":2.8284271247461903},"107":{"tf":2.0},"108":{"tf":1.7320508075688772},"117":{"tf":1.7320508075688772},"118":{"tf":2.23606797749979},"119":{"tf":2.0},"130":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":1.7320508075688772},"143":{"tf":1.4142135623730951},"151":{"tf":1.4142135623730951},"176":{"tf":1.4142135623730951},"185":{"tf":4.898979485566356},"186":{"tf":2.23606797749979},"187":{"tf":1.4142135623730951},"188":{"tf":1.4142135623730951},"207":{"tf":2.8284271247461903},"208":{"tf":1.4142135623730951},"210":{"tf":1.0},"211":{"tf":1.7320508075688772},"213":{"tf":1.0},"233":{"tf":1.4142135623730951},"236":{"tf":1.0},"239":{"tf":1.0},"251":{"tf":2.23606797749979},"268":{"tf":1.4142135623730951},"269":{"tf":1.4142135623730951},"278":{"tf":1.4142135623730951},"279":{"tf":1.7320508075688772},"287":{"tf":1.4142135623730951},"288":{"tf":1.4142135623730951},"289":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951},"44":{"tf":2.449489742783178},"54":{"tf":1.0},"59":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"76":{"tf":2.23606797749979},"83":{"tf":1.7320508075688772},"92":{"tf":2.0}}}}},"n":{")":{"$":{"df":0,"docs":{},",":{"$":{"df":0,"docs":{},"n":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}},"^":{"2":{"df":1,"docs":{"46":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"=":{"3":{"0":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},"5":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},">":{"df":0,"docs":{},"n":{"_":{"0":{"df":3,"docs":{"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"^":{"2":{"df":4,"docs":{"17":{"tf":1.0},"66":{"tf":1.0},"75":{"tf":1.4142135623730951},"99":{"tf":1.0}}},"df":0,"docs":{}},"_":{"0":{"df":3,"docs":{"17":{"tf":1.7320508075688772},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":3,"docs":{"151":{"tf":1.0},"289":{"tf":1.4142135623730951},"290":{"tf":1.0}}}},"n":{"df":1,"docs":{"256":{"tf":1.4142135623730951}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"107":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"121":{"tf":1.0}}}}},"ï":{"df":0,"docs":{},"v":{"df":7,"docs":{"100":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0},"48":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.4142135623730951},"73":{"tf":1.0}}}}},"c":{"df":1,"docs":{"13":{"tf":1.0}}},"df":62,"docs":{"100":{"tf":1.4142135623730951},"105":{"tf":2.0},"110":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"113":{"tf":1.7320508075688772},"114":{"tf":2.449489742783178},"115":{"tf":1.0},"123":{"tf":1.0},"127":{"tf":1.4142135623730951},"135":{"tf":1.0},"136":{"tf":1.7320508075688772},"137":{"tf":1.0},"139":{"tf":2.0},"140":{"tf":1.4142135623730951},"143":{"tf":1.0},"145":{"tf":1.0},"148":{"tf":1.4142135623730951},"149":{"tf":1.7320508075688772},"15":{"tf":2.0},"150":{"tf":1.0},"16":{"tf":2.0},"17":{"tf":2.23606797749979},"179":{"tf":1.4142135623730951},"18":{"tf":1.0},"189":{"tf":1.0},"19":{"tf":2.0},"20":{"tf":1.4142135623730951},"214":{"tf":1.4142135623730951},"221":{"tf":1.0},"228":{"tf":1.4142135623730951},"231":{"tf":1.0},"24":{"tf":1.4142135623730951},"241":{"tf":1.0},"242":{"tf":1.7320508075688772},"257":{"tf":1.0},"260":{"tf":1.0},"262":{"tf":2.23606797749979},"266":{"tf":1.0},"267":{"tf":1.4142135623730951},"269":{"tf":1.0},"27":{"tf":1.0},"270":{"tf":2.449489742783178},"272":{"tf":1.7320508075688772},"280":{"tf":1.0},"284":{"tf":1.4142135623730951},"290":{"tf":1.7320508075688772},"30":{"tf":3.1622776601683795},"43":{"tf":2.0},"46":{"tf":2.0},"47":{"tf":1.0},"58":{"tf":1.4142135623730951},"66":{"tf":2.0},"69":{"tf":1.0},"75":{"tf":2.23606797749979},"82":{"tf":1.7320508075688772},"88":{"tf":2.0},"89":{"tf":2.449489742783178},"90":{"tf":1.4142135623730951},"91":{"tf":1.0},"94":{"tf":1.4142135623730951},"98":{"tf":1.7320508075688772},"99":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"e":{"d":{"df":2,"docs":{"176":{"tf":1.0},"185":{"tf":1.0}}},"df":0,"docs":{}},"g":{"df":1,"docs":{"259":{"tf":1.0}}},"q":{"df":2,"docs":{"284":{"tf":1.4142135623730951},"287":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"234":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"99":{"tf":1.0}}}},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"84":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"264":{"tf":1.0}}}}},"w":{"(":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":2,"docs":{"267":{"tf":1.7320508075688772},"269":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"142":{"tf":1.0}}}}},"df":0,"docs":{}}},"_":{"c":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"76":{"tf":2.8284271247461903}}}}},"m":{"a":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"239":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":1,"docs":{"239":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"207":{"tf":1.0}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"k":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"251":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":1,"docs":{"251":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"176":{"tf":1.4142135623730951}}}}}},"df":13,"docs":{"142":{"tf":1.0},"143":{"tf":1.0},"166":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.0},"204":{"tf":1.0},"205":{"tf":1.0},"207":{"tf":1.4142135623730951},"235":{"tf":1.0},"236":{"tf":1.4142135623730951},"249":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"180":{"tf":1.0}}}}},"x":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"185":{"tf":2.0},"186":{"tf":1.0},"211":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"<":{"'":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{">":{"(":{"&":{"'":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":1,"docs":{"185":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"b":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":9,"docs":{"118":{"tf":1.0},"147":{"tf":1.0},"185":{"tf":1.7320508075688772},"202":{"tf":2.0},"206":{"tf":1.7320508075688772},"207":{"tf":2.0},"208":{"tf":2.8284271247461903},"210":{"tf":1.0},"211":{"tf":2.449489742783178}}}}},"g":{"df":1,"docs":{"284":{"tf":1.4142135623730951}}},"o":{"d":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"202":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{".":{"a":{"df":0,"docs":{},"s":{"_":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"211":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"210":{"tf":1.0}}}},"df":0,"docs":{}}},"df":4,"docs":{"202":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":2.449489742783178},"208":{"tf":1.4142135623730951}}}}}}},"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"202":{"tf":2.0},"211":{"tf":2.0}}}},"df":17,"docs":{"195":{"tf":1.7320508075688772},"196":{"tf":1.7320508075688772},"197":{"tf":3.3166247903554},"198":{"tf":3.0},"200":{"tf":1.7320508075688772},"202":{"tf":2.6457513110645907},"203":{"tf":1.7320508075688772},"207":{"tf":3.7416573867739413},"208":{"tf":2.8284271247461903},"210":{"tf":2.23606797749979},"211":{"tf":1.7320508075688772},"213":{"tf":1.4142135623730951},"215":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.4142135623730951},"89":{"tf":2.449489742783178},"92":{"tf":2.23606797749979}},"。":{"df":0,"docs":{},"但":{"df":0,"docs":{},"這":{"df":0,"docs":{},"樣":{"df":0,"docs":{},"編":{"df":0,"docs":{},"譯":{"df":0,"docs":{},"不":{"df":0,"docs":{},"會":{"df":0,"docs":{},"成":{"df":0,"docs":{},"功":{"df":0,"docs":{},",":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"202":{"tf":1.0}}}}}}}}}}}}}}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"251":{"tf":1.0}}}}},"df":0,"docs":{}}},"n":{"df":2,"docs":{"262":{"tf":1.4142135623730951},"92":{"tf":1.0}},"e":{"df":17,"docs":{"143":{"tf":1.0},"158":{"tf":1.0},"160":{"tf":1.0},"168":{"tf":1.0},"181":{"tf":1.4142135623730951},"182":{"tf":1.4142135623730951},"185":{"tf":2.0},"205":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.7320508075688772},"208":{"tf":1.0},"233":{"tf":1.0},"237":{"tf":1.0},"238":{"tf":1.7320508075688772},"25":{"tf":1.0},"256":{"tf":1.4142135623730951},"279":{"tf":2.23606797749979}}},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}}}}},"t":{"a":{"df":0,"docs":{},"t":{"df":11,"docs":{"1":{"tf":1.0},"14":{"tf":1.7320508075688772},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.7320508075688772},"270":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":5,"docs":{"185":{"tf":2.23606797749979},"240":{"tf":1.0},"251":{"tf":1.0},"62":{"tf":1.0},"89":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":7,"docs":{"195":{"tf":1.4142135623730951},"196":{"tf":1.0},"197":{"tf":1.7320508075688772},"198":{"tf":1.7320508075688772},"200":{"tf":1.0},"202":{"tf":1.7320508075688772},"230":{"tf":1.0}}}},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"137":{"tf":1.0},"148":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.0},"227":{"tf":1.0}}}}},"df":1,"docs":{"44":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}}}},"}":{"df":0,"docs":{},"{":{"2":{"^":{"df":0,"docs":{},"k":{"df":2,"docs":{"80":{"tf":1.0},"81":{"tf":1.0}}}},"df":1,"docs":{"80":{"tf":1.0}}},"4":{"df":1,"docs":{"80":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"$":{"df":0,"docs":{},":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"(":{"(":{"\\":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"46":{"tf":1.0}}}}}},"df":0,"docs":{}},"1":{"df":24,"docs":{"100":{"tf":1.0},"161":{"tf":2.0},"171":{"tf":2.0},"189":{"tf":3.872983346207417},"207":{"tf":1.0},"214":{"tf":2.0},"217":{"tf":1.0},"234":{"tf":1.0},"24":{"tf":1.4142135623730951},"241":{"tf":2.0},"242":{"tf":1.4142135623730951},"257":{"tf":1.7320508075688772},"259":{"tf":1.0},"270":{"tf":1.0},"280":{"tf":1.0},"30":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"58":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":1.0},"88":{"tf":1.0}}},"3":{"^":{"df":0,"docs":{},"{":{"df":0,"docs":{},"m":{"df":1,"docs":{"284":{"tf":1.0}}}}},"df":0,"docs":{}},"\\":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"89":{"tf":1.0}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"_":{"2":{"df":1,"docs":{"30":{"tf":1.0}}},"df":0,"docs":{}},"df":15,"docs":{"100":{"tf":1.0},"105":{"tf":1.4142135623730951},"115":{"tf":1.0},"143":{"tf":1.0},"20":{"tf":1.0},"221":{"tf":1.0},"27":{"tf":1.0},"30":{"tf":1.7320508075688772},"43":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"51":{"tf":1.4142135623730951},"53":{"tf":2.23606797749979},"89":{"tf":1.4142135623730951},"94":{"tf":1.0},"98":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"m":{",":{"df":0,"docs":{},"n":{"df":1,"docs":{"290":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"c":{"^":{"df":0,"docs":{},"n":{"df":1,"docs":{"20":{"tf":1.0}}}},"df":0,"docs":{}},"d":{"df":3,"docs":{"148":{"tf":1.0},"149":{"tf":1.4142135623730951},"150":{"tf":1.0}},"n":{"df":1,"docs":{"148":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":2.0}}}},"df":0,"docs":{}},"k":{"df":7,"docs":{"127":{"tf":1.0},"128":{"tf":1.4142135623730951},"139":{"tf":1.4142135623730951},"173":{"tf":1.0},"270":{"tf":1.7320508075688772},"273":{"tf":1.4142135623730951},"30":{"tf":1.0}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":2,"docs":{"52":{"tf":1.0},"53":{"tf":1.0}}}}},"m":{"df":1,"docs":{"270":{"tf":1.4142135623730951}},"n":{"df":1,"docs":{"290":{"tf":1.4142135623730951}}}},"n":{"+":{"df":0,"docs":{},"k":{"df":1,"docs":{"144":{"tf":1.0}}}},"^":{"2":{"df":16,"docs":{"106":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.4142135623730951},"17":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.7320508075688772},"61":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":2.0},"74":{"tf":1.4142135623730951},"75":{"tf":1.0},"76":{"tf":1.0},"82":{"tf":1.0},"94":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}},"3":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"df":42,"docs":{"100":{"tf":1.0},"110":{"tf":1.4142135623730951},"113":{"tf":2.0},"114":{"tf":1.0},"115":{"tf":1.4142135623730951},"123":{"tf":1.0},"126":{"tf":2.0},"127":{"tf":1.4142135623730951},"128":{"tf":1.4142135623730951},"137":{"tf":1.7320508075688772},"139":{"tf":2.8284271247461903},"140":{"tf":1.4142135623730951},"145":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.0},"151":{"tf":1.0},"17":{"tf":1.0},"171":{"tf":1.7320508075688772},"20":{"tf":1.4142135623730951},"207":{"tf":1.0},"21":{"tf":1.0},"214":{"tf":2.449489742783178},"24":{"tf":1.7320508075688772},"241":{"tf":2.0},"242":{"tf":1.4142135623730951},"243":{"tf":1.0},"257":{"tf":3.3166247903554},"280":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.4142135623730951},"46":{"tf":1.0},"58":{"tf":1.0},"69":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":1.7320508075688772},"88":{"tf":2.0},"89":{"tf":1.4142135623730951},"90":{"tf":1.0},"91":{"tf":1.0},"94":{"tf":1.0},"98":{"tf":1.7320508075688772},"99":{"tf":2.0}}}},"b":{"df":0,"docs":{},"j":{"df":1,"docs":{"25":{"tf":1.4142135623730951}},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"233":{"tf":1.0},"240":{"tf":1.7320508075688772},"265":{"tf":1.0}}}},"df":0,"docs":{}}}},"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"y":{"df":0,"docs":{},")":{"df":0,"docs":{},"。":{"c":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":1,"docs":{"275":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"r":{"df":2,"docs":{"124":{"tf":1.0},"125":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"b":{"df":2,"docs":{"46":{"tf":1.0},"47":{"tf":1.0}}},"df":0,"docs":{}}}},"df":9,"docs":{"10":{"tf":1.4142135623730951},"162":{"tf":1.0},"17":{"tf":2.0},"18":{"tf":1.0},"180":{"tf":6.0},"19":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.4142135623730951},"46":{"tf":1.0}},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"276":{"tf":1.0}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":5,"docs":{"125":{"tf":1.0},"181":{"tf":1.4142135623730951},"182":{"tf":2.0},"187":{"tf":1.4142135623730951},"44":{"tf":2.0}}}}}}},"k":{"(":{"b":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":2,"docs":{"143":{"tf":1.0},"61":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}}}}}}}},"p":{"df":0,"docs":{},"o":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":4,"docs":{"207":{"tf":1.0},"213":{"tf":1.0},"32":{"tf":1.0},"44":{"tf":1.0}}},"l":{"d":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"180":{"tf":2.23606797749979}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"s":{"df":1,"docs":{"176":{"tf":1.0}}}},"df":1,"docs":{"176":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"df":1,"docs":{"176":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"a":{"$":{"df":0,"docs":{},":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"18":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"(":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":0,"docs":{}},"n":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":3,"docs":{"18":{"tf":1.7320508075688772},"19":{"tf":1.0},"20":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}},"n":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"276":{"tf":1.0}}}},"df":4,"docs":{"175":{"tf":1.0},"211":{"tf":1.0},"238":{"tf":1.0},"81":{"tf":1.0}},"t":{"df":0,"docs":{},"o":{"df":1,"docs":{"175":{"tf":2.0}}}}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"296":{"tf":1.4142135623730951}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":4,"docs":{"230":{"tf":1.7320508075688772},"242":{"tf":1.0},"244":{"tf":1.0},"274":{"tf":1.7320508075688772}}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"{":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":2,"docs":{"284":{"tf":2.6457513110645907},"287":{"tf":1.7320508075688772}},"}":{"_":{"df":0,"docs":{},"{":{"a":{",":{"b":{"df":0,"docs":{},"}":{"(":{"df":0,"docs":{},"i":{",":{"df":0,"docs":{},"j":{"df":1,"docs":{"284":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"67":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":14,"docs":{"117":{"tf":1.0},"161":{"tf":1.0},"171":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.0},"179":{"tf":1.0},"189":{"tf":1.0},"214":{"tf":1.0},"241":{"tf":1.0},"254":{"tf":1.0},"255":{"tf":1.0},"257":{"tf":1.0},"268":{"tf":1.0},"270":{"tf":1.0}}}},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"275":{"tf":1.7320508075688772}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"266":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"r":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":3,"docs":{"210":{"tf":1.0},"267":{"tf":1.4142135623730951},"291":{"tf":1.0}},"i":{"df":0,"docs":{},"z":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},",":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},")":{"df":0,"docs":{},",":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"100":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{":":{":":{"a":{"df":0,"docs":{},"s":{"_":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.0}}}}}},"df":1,"docs":{"211":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"256":{"tf":1.0}}}}}}},"df":0,"docs":{}},"<":{"&":{"'":{"a":{"df":2,"docs":{"185":{"tf":1.7320508075688772},"211":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"t":{"df":4,"docs":{"160":{"tf":1.0},"170":{"tf":1.0},"181":{"tf":1.4142135623730951},"211":{"tf":1.0}}},"v":{"df":1,"docs":{"237":{"tf":1.4142135623730951}}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"202":{"tf":1.0},"203":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"256":{"tf":1.0}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":3,"docs":{"185":{"tf":2.23606797749979},"186":{"tf":1.0},"211":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"df":8,"docs":{"158":{"tf":1.0},"168":{"tf":1.0},"170":{"tf":1.0},"182":{"tf":1.4142135623730951},"202":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"211":{"tf":1.0}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"233":{"tf":1.0},"25":{"tf":1.4142135623730951}}}},"v":{"df":1,"docs":{"238":{"tf":1.4142135623730951}}}},"df":3,"docs":{"158":{"tf":1.0},"249":{"tf":1.4142135623730951},"256":{"tf":1.0}}}}}}},"r":{"d":{"df":2,"docs":{"143":{"tf":1.4142135623730951},"256":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":10,"docs":{"112":{"tf":1.0},"146":{"tf":1.0},"221":{"tf":1.4142135623730951},"256":{"tf":2.0},"8":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.7320508075688772},"89":{"tf":2.449489742783178},"90":{"tf":1.0},"92":{"tf":2.0}},",":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"256":{"tf":1.0}}}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"136":{"tf":1.4142135623730951},"143":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"251":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"(":{"&":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"253":{"tf":1.0},"256":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"252":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"253":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"251":{"tf":1.4142135623730951}}}}},"|":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"251":{"tf":1.7320508075688772}}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"212":{"tf":1.0},"253":{"tf":1.0},"256":{"tf":1.4142135623730951}}}}}},"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"251":{"tf":2.23606797749979}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"255":{"tf":1.7320508075688772}}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"255":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}},"u":{"df":0,"docs":{},"t":{"df":7,"docs":{"118":{"tf":1.0},"185":{"tf":1.0},"187":{"tf":1.4142135623730951},"205":{"tf":1.0},"210":{"tf":1.0},"211":{"tf":1.0},"67":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":2,"docs":{"185":{"tf":1.7320508075688772},"251":{"tf":1.4142135623730951}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":6,"docs":{"124":{"tf":1.0},"125":{"tf":1.0},"130":{"tf":1.0},"132":{"tf":1.0},"187":{"tf":1.0},"255":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"84":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"210":{"tf":1.0},"34":{"tf":1.4142135623730951}}}}}},"l":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"180":{"tf":1.0}}}},"df":0,"docs":{},"o":{"a":{"d":{"df":2,"docs":{"254":{"tf":1.0},"255":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"180":{"tf":1.0}}}}}}}}}}}},"w":{"df":0,"docs":{},"n":{"df":2,"docs":{"237":{"tf":1.7320508075688772},"251":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":5,"docs":{"206":{"tf":1.0},"207":{"tf":1.0},"208":{"tf":1.4142135623730951},"210":{"tf":1.0},"251":{"tf":1.0}}}}}}}}}},"、":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"20":{"tf":1.0}}}}}}}}},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{".":{"0":{"df":1,"docs":{"212":{"tf":1.0}}},"1":{"df":1,"docs":{"212":{"tf":1.0}}},"df":0,"docs":{}},"df":3,"docs":{"234":{"tf":1.4142135623730951},"256":{"tf":1.0},"71":{"tf":1.0}}}},"n":{"df":0,"docs":{},"i":{"c":{"!":{"(":{"\"":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"279":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"238":{"tf":1.0}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"83":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"142":{"tf":1.0}},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"185":{"tf":1.0},"251":{"tf":1.0},"264":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":1,"docs":{"256":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"256":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":2,"docs":{"103":{"tf":1.0},"256":{"tf":1.0}}}},"t":{"df":5,"docs":{"119":{"tf":1.4142135623730951},"291":{"tf":1.0},"44":{"tf":1.4142135623730951},"91":{"tf":1.0},"92":{"tf":1.7320508075688772}},"i":{"a":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":1,"docs":{"256":{"tf":1.0}}}}},"df":0,"docs":{}},"_":{"c":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"256":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"256":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":5,"docs":{"212":{"tf":1.0},"256":{"tf":2.0},"274":{"tf":1.0},"275":{"tf":1.0},"85":{"tf":1.0}},"e":{"df":0,"docs":{},"q":{"df":3,"docs":{"212":{"tf":2.449489742783178},"25":{"tf":1.7320508075688772},"256":{"tf":1.4142135623730951}},",":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":1,"docs":{"256":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"r":{"d":{":":{":":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"_":{"c":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"256":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":4,"docs":{"256":{"tf":1.7320508075688772},"32":{"tf":1.4142135623730951},"33":{"tf":1.0},"54":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"t":{"df":9,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"103":{"tf":1.7320508075688772},"105":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"96":{"tf":2.0},"97":{"tf":1.4142135623730951},"99":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":5,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"105":{"tf":1.7320508075688772},"107":{"tf":1.0},"108":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"81":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"210":{"tf":1.0},"256":{"tf":1.0}}}}}}}},"d":{"df":0,"docs":{},"f":{"df":1,"docs":{"43":{"tf":1.0}}},"q":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}}}}}}}},"df":1,"docs":{"208":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"k":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"160":{"tf":1.0},"170":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"165":{"tf":1.0}}}},"r":{"df":2,"docs":{"271":{"tf":1.0},"275":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{":":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"260":{"tf":1.0},"276":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":1,"docs":{"119":{"tf":1.0}}}}}},"l":{"df":2,"docs":{"43":{"tf":1.0},"47":{"tf":1.0}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"200":{"tf":1.4142135623730951}}}}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"264":{"tf":1.0},"269":{"tf":1.0}}}},"df":3,"docs":{"264":{"tf":1.7320508075688772},"267":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"227":{"tf":1.4142135623730951}}}}}},"i":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"284":{"tf":1.0}}}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"e":{"df":9,"docs":{"103":{"tf":1.0},"117":{"tf":1.0},"119":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951},"63":{"tf":2.0},"64":{"tf":2.0},"67":{"tf":1.0},"85":{"tf":2.0},"92":{"tf":1.0}}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":11,"docs":{"102":{"tf":3.0},"103":{"tf":3.3166247903554},"104":{"tf":1.0},"105":{"tf":4.47213595499958},"106":{"tf":2.0},"107":{"tf":2.8284271247461903},"108":{"tf":3.0},"95":{"tf":3.0},"96":{"tf":3.4641016151377544},"97":{"tf":4.123105625617661},"99":{"tf":2.23606797749979}},"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"106":{"tf":1.0}}}}}}}},")":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"106":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}},",":{"df":0,"docs":{},"i":{"df":1,"docs":{"97":{"tf":1.0}}}}}}}},"l":{"a":{"c":{"df":0,"docs":{},"e":{"df":2,"docs":{"128":{"tf":1.0},"143":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"o":{"df":2,"docs":{"207":{"tf":3.0},"61":{"tf":2.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":10,"docs":{"107":{"tf":1.0},"176":{"tf":1.0},"180":{"tf":1.0},"185":{"tf":1.0},"195":{"tf":1.0},"202":{"tf":1.0},"207":{"tf":1.0},"236":{"tf":1.0},"251":{"tf":1.0},"262":{"tf":1.0}},",":{"df":0,"docs":{},"但":{"df":0,"docs":{},"照":{"df":0,"docs":{},"鏈":{"df":0,"docs":{},"結":{"df":0,"docs":{},"串":{"df":0,"docs":{},"列":{"df":0,"docs":{},"的":{"df":0,"docs":{},"定":{"df":0,"docs":{},"義":{"df":0,"docs":{},",":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"202":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}},"p":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"158":{"tf":1.0}}}}}},"df":0,"docs":{}},"_":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"182":{"tf":1.0}}}}}},"df":0,"docs":{},"v":{"df":1,"docs":{"189":{"tf":1.0}}}},"df":3,"docs":{"178":{"tf":1.0},"182":{"tf":1.0},"184":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"182":{"tf":1.0},"206":{"tf":1.0}}}}}},"df":0,"docs":{},"v":{"df":1,"docs":{"189":{"tf":1.0}}}},"df":6,"docs":{"178":{"tf":1.0},"182":{"tf":1.0},"204":{"tf":1.0},"206":{"tf":1.0},"210":{"tf":1.4142135623730951},"211":{"tf":1.4142135623730951}}}}}}}},"df":7,"docs":{"155":{"tf":1.0},"158":{"tf":1.0},"160":{"tf":1.0},"161":{"tf":1.4142135623730951},"186":{"tf":1.0},"211":{"tf":1.0},"214":{"tf":1.4142135623730951}}},"s":{"_":{"df":1,"docs":{"207":{"tf":2.23606797749979}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"238":{"tf":1.0}}}}},"t":{"df":2,"docs":{"132":{"tf":1.0},"260":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"|":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"238":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},")":{"df":0,"docs":{},",":{"df":0,"docs":{},"但":{"df":0,"docs":{},"絕":{"df":0,"docs":{},"不":{"df":0,"docs":{},"會":{"df":0,"docs":{},"有":{"df":0,"docs":{},"假":{"df":0,"docs":{},"陰":{"df":0,"docs":{},"性":{"df":0,"docs":{},"(":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":1,"docs":{"259":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}},"p":{"df":1,"docs":{"47":{"tf":1.0}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"275":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}},"s":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"132":{"tf":2.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":5,"docs":{"124":{"tf":1.4142135623730951},"125":{"tf":4.242640687119285},"127":{"tf":1.0},"131":{"tf":2.449489742783178},"132":{"tf":2.23606797749979}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"214":{"tf":1.0}}},"df":0,"docs":{}}}},"v":{".":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"208":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":1,"docs":{"208":{"tf":2.8284271247461903}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":3,"docs":{"207":{"tf":1.0},"208":{"tf":1.4142135623730951},"210":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"287":{"tf":1.0}}}}},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"152":{"tf":1.0}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"df":1,"docs":{"186":{"tf":1.0}}}}}},"v":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"154":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"b":{"a":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"259":{"tf":1.0}}}}}}},"l":{"df":3,"docs":{"260":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":2,"docs":{"230":{"tf":2.449489742783178},"274":{"tf":1.7320508075688772}}}},"c":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"92":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"47":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"215":{"tf":1.0},"240":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"293":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"86":{"tf":1.0},"87":{"tf":1.7320508075688772},"89":{"tf":1.0}}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"d":{"df":0,"docs":{},"o":{"df":1,"docs":{"139":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"df":2,"docs":{"284":{"tf":1.0},"286":{"tf":1.0}},"r":{".":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"176":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}},":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"180":{"tf":1.0}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"180":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{":":{":":{"d":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{")":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"176":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"182":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"182":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":4,"docs":{"176":{"tf":2.449489742783178},"185":{"tf":1.7320508075688772},"188":{"tf":1.0},"230":{"tf":1.7320508075688772}}}},"u":{"b":{"df":66,"docs":{"102":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"130":{"tf":1.0},"132":{"tf":1.0},"142":{"tf":1.0},"143":{"tf":1.4142135623730951},"151":{"tf":1.0},"154":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.0},"164":{"tf":1.0},"166":{"tf":1.0},"167":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":1.0},"176":{"tf":1.4142135623730951},"177":{"tf":1.4142135623730951},"179":{"tf":1.0},"181":{"tf":2.0},"182":{"tf":2.0},"185":{"tf":1.4142135623730951},"186":{"tf":1.0},"203":{"tf":1.0},"205":{"tf":1.0},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"208":{"tf":1.0},"211":{"tf":2.449489742783178},"234":{"tf":1.4142135623730951},"236":{"tf":1.4142135623730951},"237":{"tf":1.4142135623730951},"238":{"tf":1.4142135623730951},"240":{"tf":1.0},"247":{"tf":1.0},"249":{"tf":2.449489742783178},"25":{"tf":1.4142135623730951},"251":{"tf":2.449489742783178},"252":{"tf":2.0},"253":{"tf":1.7320508075688772},"262":{"tf":1.7320508075688772},"263":{"tf":1.0},"264":{"tf":2.0},"265":{"tf":1.4142135623730951},"267":{"tf":1.7320508075688772},"268":{"tf":1.0},"269":{"tf":2.23606797749979},"278":{"tf":1.4142135623730951},"279":{"tf":1.0},"286":{"tf":1.4142135623730951},"287":{"tf":1.0},"289":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"44":{"tf":1.4142135623730951},"54":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0},"76":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"92":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"199":{"tf":1.0},"258":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"293":{"tf":1.0},"294":{"tf":1.0}}}},"s":{"df":0,"docs":{},"h":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"157":{"tf":1.0}}}}}},"df":0,"docs":{}},"_":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"182":{"tf":1.0}}}}}},"df":0,"docs":{},"v":{"df":1,"docs":{"189":{"tf":1.0}}}},"df":4,"docs":{"178":{"tf":1.0},"179":{"tf":2.0},"180":{"tf":1.4142135623730951},"182":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"182":{"tf":1.0},"206":{"tf":1.0}}}}}},"df":0,"docs":{},"v":{"df":1,"docs":{"189":{"tf":1.0}}}},"df":5,"docs":{"178":{"tf":1.0},"179":{"tf":1.4142135623730951},"182":{"tf":1.0},"204":{"tf":1.0},"206":{"tf":1.0}}}}}}}},"df":7,"docs":{"143":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"159":{"tf":1.0},"161":{"tf":1.4142135623730951},"239":{"tf":1.0}}}},"t":{"df":1,"docs":{"142":{"tf":1.0}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"216":{"tf":1.0},"254":{"tf":1.4142135623730951},"256":{"tf":1.0},"258":{"tf":1.0},"61":{"tf":1.7320508075688772}}}}}}}},"q":{"df":3,"docs":{"237":{"tf":2.0},"238":{"tf":2.0},"249":{"tf":2.0}},"u":{"a":{"d":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"230":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"71":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"266":{"tf":1.0}}}}},"df":0,"docs":{},"(":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"q":{"df":1,"docs":{"266":{"tf":1.0}}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"164":{"tf":1.0}}}},"df":12,"docs":{"163":{"tf":2.0},"164":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"167":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.4142135623730951},"173":{"tf":1.0},"6":{"tf":1.0}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"p":{"df":1,"docs":{"102":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":2,"docs":{"102":{"tf":2.0},"105":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"o":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"105":{"tf":2.23606797749979}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"d":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"105":{"tf":2.23606797749979}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"102":{"tf":1.0}}}}},"df":0,"docs":{}},"df":1,"docs":{"102":{"tf":1.0}}}}}}}}},"df":19,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.4142135623730951},"105":{"tf":1.4142135623730951},"106":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"109":{"tf":2.0},"21":{"tf":1.0},"4":{"tf":1.0},"56":{"tf":1.0},"94":{"tf":2.449489742783178},"95":{"tf":1.4142135623730951},"96":{"tf":1.4142135623730951},"97":{"tf":2.0},"98":{"tf":1.0},"99":{"tf":1.7320508075688772}}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"274":{"tf":2.6457513110645907},"275":{"tf":1.4142135623730951}}}}}}}}}},"r":{"a":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"151":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":9,"docs":{"145":{"tf":3.0},"146":{"tf":2.449489742783178},"147":{"tf":1.7320508075688772},"148":{"tf":1.0},"149":{"tf":2.449489742783178},"150":{"tf":1.7320508075688772},"151":{"tf":3.0},"152":{"tf":1.7320508075688772},"4":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"i":{"df":1,"docs":{"205":{"tf":1.0}}}},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"192":{"tf":1.0},"242":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{")":{".":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":2,"docs":{"267":{"tf":1.4142135623730951},"269":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"267":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"g":{"df":3,"docs":{"117":{"tf":1.0},"136":{"tf":1.4142135623730951},"67":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"67":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":1,"docs":{"273":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{":":{":":{"c":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"179":{"tf":1.0}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"176":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"180":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"177":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{"df":4,"docs":{"176":{"tf":2.0},"177":{"tf":1.0},"179":{"tf":1.0},"188":{"tf":1.0}}}},"df":6,"docs":{"176":{"tf":2.8284271247461903},"177":{"tf":1.0},"180":{"tf":1.0},"184":{"tf":1.4142135623730951},"188":{"tf":1.0},"190":{"tf":1.0}}},"df":0,"docs":{}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"114":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"89":{"tf":1.0}}}}}},"df":4,"docs":{"109":{"tf":1.0},"244":{"tf":1.0},"273":{"tf":1.0},"33":{"tf":1.0}},"e":{"a":{"d":{"/":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":2,"docs":{"263":{"tf":1.0},"264":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"c":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{".":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":2,"docs":{"176":{"tf":1.7320508075688772},"239":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":1,"docs":{"164":{"tf":1.0}}}},"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":5,"docs":{"102":{"tf":1.7320508075688772},"112":{"tf":1.0},"202":{"tf":1.0},"210":{"tf":1.0},"273":{"tf":1.0}}}}}},"df":1,"docs":{"207":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":9,"docs":{"157":{"tf":1.0},"167":{"tf":1.0},"185":{"tf":1.0},"208":{"tf":1.0},"211":{"tf":1.4142135623730951},"237":{"tf":1.0},"240":{"tf":1.0},"264":{"tf":1.0},"278":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"256":{"tf":1.0}}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"176":{"tf":1.0},"181":{"tf":1.4142135623730951},"182":{"tf":2.0},"184":{"tf":1.0},"187":{"tf":1.4142135623730951}}}}}},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":2,"docs":{"239":{"tf":1.0},"274":{"tf":1.0}}}}},"df":0,"docs":{}},"l":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"256":{"tf":2.0}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"176":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":6,"docs":{"204":{"tf":1.0},"207":{"tf":1.0},"214":{"tf":1.0},"235":{"tf":1.0},"249":{"tf":1.4142135623730951},"264":{"tf":1.0}},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"207":{"tf":1.0}}}}}},"df":0,"docs":{},"k":{"df":1,"docs":{"241":{"tf":1.0}}},"v":{"df":1,"docs":{"257":{"tf":1.0}}}},"<":{"df":0,"docs":{},"q":{">":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"238":{"tf":1.0},"249":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"146":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"l":{"a":{"c":{"df":1,"docs":{"176":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"215":{"tf":1.0}}}}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"293":{"tf":1.0},"294":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"r":{"df":4,"docs":{"185":{"tf":1.4142135623730951},"211":{"tf":1.4142135623730951},"255":{"tf":1.0},"256":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"119":{"tf":1.0}}}},"i":{"df":0,"docs":{},"z":{"df":4,"docs":{"180":{"tf":1.4142135623730951},"236":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"112":{"tf":1.0}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":5,"docs":{"32":{"tf":1.0},"33":{"tf":1.0},"44":{"tf":1.4142135623730951},"54":{"tf":1.0},"61":{"tf":1.0}}}}},"df":5,"docs":{"117":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"119":{"tf":1.0},"207":{"tf":1.0},"44":{"tf":1.7320508075688772}}}}}},"t":{"[":{"df":0,"docs":{},"i":{".":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":1,"docs":{"118":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{".":{".":{"]":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"(":{"&":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"1":{"[":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"119":{"tf":1.0}}}}}}},"df":0,"docs":{}},"2":{"[":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"119":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"119":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"df":4,"docs":{"117":{"tf":2.0},"118":{"tf":1.4142135623730951},"119":{"tf":2.449489742783178},"143":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":25,"docs":{"103":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"117":{"tf":1.0},"119":{"tf":1.0},"157":{"tf":1.4142135623730951},"176":{"tf":1.4142135623730951},"181":{"tf":1.4142135623730951},"182":{"tf":1.4142135623730951},"185":{"tf":2.0},"207":{"tf":1.4142135623730951},"212":{"tf":1.0},"233":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.0},"25":{"tf":1.0},"251":{"tf":1.7320508075688772},"253":{"tf":1.0},"256":{"tf":1.0},"286":{"tf":1.4142135623730951},"287":{"tf":1.4142135623730951},"289":{"tf":1.4142135623730951},"33":{"tf":1.0},"44":{"tf":1.7320508075688772},"54":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"215":{"tf":1.0}},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"208":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{},":":{"df":0,"docs":{},"反":{"df":0,"docs":{},"轉":{"df":0,"docs":{},"整":{"df":0,"docs":{},"個":{"df":0,"docs":{},"串":{"df":0,"docs":{},"列":{"df":0,"docs":{},"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"204":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}}}}}},"f":{"c":{"df":2,"docs":{"240":{"tf":1.0},"251":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":6,"docs":{"114":{"tf":1.4142135623730951},"30":{"tf":1.0},"42":{"tf":1.7320508075688772},"80":{"tf":1.7320508075688772},"81":{"tf":1.0},"89":{"tf":1.0}}}}}}},"h":{"df":1,"docs":{"255":{"tf":1.0}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"30":{"tf":1.7320508075688772}}}}}}},"df":3,"docs":{"119":{"tf":2.23606797749979},"278":{"tf":1.4142135623730951},"92":{"tf":1.0}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"108":{"tf":1.0},"147":{"tf":1.0},"34":{"tf":1.0}}}}}}}}},"n":{"df":0,"docs":{},"g":{"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"f":{"df":3,"docs":{"177":{"tf":1.4142135623730951},"180":{"tf":1.0},"185":{"tf":2.449489742783178}}}}},"df":0,"docs":{}},"df":2,"docs":{"175":{"tf":1.0},"180":{"tf":1.0}}}}},"o":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"231":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"h":{"df":1,"docs":{"93":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"t":{"df":3,"docs":{"86":{"tf":1.0},"87":{"tf":2.6457513110645907},"92":{"tf":3.3166247903554}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"b":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{":":{":":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"259":{"tf":1.0}}}}}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"173":{"tf":1.0}}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"226":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"245":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":1,"docs":{"163":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"200":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}}}},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"153":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"277":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":1,"docs":{"277":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"n":{"a":{"df":1,"docs":{"282":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":1,"docs":{"282":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"256":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"c":{"df":1,"docs":{"185":{"tf":1.0}}},"df":68,"docs":{"0":{"tf":2.6457513110645907},"1":{"tf":1.0},"10":{"tf":1.0},"105":{"tf":1.4142135623730951},"108":{"tf":1.0},"11":{"tf":1.0},"117":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"131":{"tf":1.0},"143":{"tf":1.4142135623730951},"144":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"164":{"tf":1.0},"167":{"tf":1.0},"176":{"tf":2.0},"181":{"tf":1.4142135623730951},"183":{"tf":1.4142135623730951},"185":{"tf":2.0},"186":{"tf":1.0},"187":{"tf":1.4142135623730951},"190":{"tf":1.4142135623730951},"193":{"tf":1.0},"2":{"tf":1.0},"202":{"tf":1.0},"205":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":1.4142135623730951},"211":{"tf":1.0},"212":{"tf":1.0},"215":{"tf":2.0},"216":{"tf":1.0},"225":{"tf":1.0},"231":{"tf":1.0},"232":{"tf":1.0},"233":{"tf":2.0},"236":{"tf":1.0},"237":{"tf":1.0},"240":{"tf":2.449489742783178},"244":{"tf":1.0},"248":{"tf":1.7320508075688772},"25":{"tf":1.0},"251":{"tf":2.23606797749979},"253":{"tf":1.0},"254":{"tf":1.0},"255":{"tf":1.0},"256":{"tf":1.7320508075688772},"258":{"tf":1.0},"262":{"tf":1.0},"264":{"tf":1.4142135623730951},"267":{"tf":1.0},"278":{"tf":1.7320508075688772},"287":{"tf":1.0},"288":{"tf":1.0},"291":{"tf":1.4142135623730951},"292":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.4142135623730951},"3":{"tf":1.0},"32":{"tf":1.0},"4":{"tf":1.0},"44":{"tf":1.7320508075688772},"5":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{"df":1,"docs":{"294":{"tf":1.0}}}}}}}}},"s":{"a":{"df":15,"docs":{"122":{"tf":1.0},"13":{"tf":1.0},"190":{"tf":1.0},"212":{"tf":1.7320508075688772},"225":{"tf":1.0},"244":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.4142135623730951},"62":{"tf":1.0},"64":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"77":{"tf":1.0},"93":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"df":5,"docs":{"176":{"tf":2.0},"180":{"tf":1.4142135623730951},"181":{"tf":1.4142135623730951},"182":{"tf":2.0},"187":{"tf":1.4142135623730951}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"176":{"tf":1.7320508075688772}}}}}},"m":{"'":{"df":1,"docs":{"227":{"tf":1.0}}},"df":2,"docs":{"227":{"tf":3.0},"230":{"tf":1.4142135623730951}},"e":{"_":{"df":0,"docs":{},"s":{"df":1,"docs":{"256":{"tf":1.4142135623730951}}}},"df":3,"docs":{"260":{"tf":1.0},"276":{"tf":1.0},"279":{"tf":1.0}}}},"、":{"df":0,"docs":{},"s":{"b":{"df":0,"docs":{},",":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"、":{"df":0,"docs":{},"s":{"b":{"df":1,"docs":{"212":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"b":{"df":1,"docs":{"212":{"tf":2.0}}},"c":{"a":{"df":0,"docs":{},"l":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"273":{"tf":2.449489742783178}}}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":2,"docs":{"131":{"tf":1.4142135623730951},"132":{"tf":1.0}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"135":{"tf":1.0},"136":{"tf":1.0},"143":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":2,"docs":{"175":{"tf":2.23606797749979},"54":{"tf":1.0}}}}}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"291":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"e":{"df":5,"docs":{"103":{"tf":1.7320508075688772},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"96":{"tf":1.7320508075688772},"97":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":2,"docs":{"47":{"tf":1.0},"84":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":2,"docs":{"205":{"tf":1.0},"210":{"tf":1.0}},",":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"210":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"258":{"tf":1.0}}}}}}}}}}}},"df":3,"docs":{"273":{"tf":1.7320508075688772},"284":{"tf":1.0},"285":{"tf":1.7320508075688772}},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"241":{"tf":1.0}}}},"df":37,"docs":{"117":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.7320508075688772},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.4142135623730951},"27":{"tf":1.7320508075688772},"28":{"tf":1.0},"29":{"tf":1.0},"3":{"tf":2.0},"30":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":2.449489742783178},"37":{"tf":2.23606797749979},"38":{"tf":1.0},"39":{"tf":1.4142135623730951},"40":{"tf":2.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":2.23606797749979},"47":{"tf":2.0},"48":{"tf":2.0},"49":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.7320508075688772},"55":{"tf":1.4142135623730951},"61":{"tf":1.0}},"—":{"a":{"df":2,"docs":{"43":{"tf":1.0},"47":{"tf":1.0}}},"df":0,"docs":{}},",":{"df":0,"docs":{},"又":{"df":0,"docs":{},"稱":{"df":0,"docs":{},"對":{"df":0,"docs":{},"數":{"df":0,"docs":{},"搜":{"df":0,"docs":{},"尋":{"df":0,"docs":{},"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"df":1,"docs":{"27":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}}}}}}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"109":{"tf":1.0},"244":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":12,"docs":{"4":{"tf":1.0},"56":{"tf":1.0},"63":{"tf":2.23606797749979},"64":{"tf":1.4142135623730951},"65":{"tf":2.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.4142135623730951},"70":{"tf":1.7320508075688772},"85":{"tf":1.4142135623730951},"87":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"67":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"66":{"tf":1.0}}}}}},"df":0,"docs":{}},"f":{".":{"0":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"186":{"tf":1.0},"211":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}},"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"n":{"d":{".":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"233":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"237":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"239":{"tf":1.0}}}}}},"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"239":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"238":{"tf":1.0}},"s":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{")":{".":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"|":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"237":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{")":{".":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"|":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"238":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"240":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"239":{"tf":1.0},"240":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"239":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"c":{"a":{"df":0,"docs":{},"p":{"df":4,"docs":{"176":{"tf":1.7320508075688772},"179":{"tf":1.7320508075688772},"180":{"tf":1.4142135623730951},"181":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"251":{"tf":2.23606797749979}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{")":{".":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"252":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"249":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"249":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"249":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"|":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"251":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"249":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"249":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"249":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"[":{"0":{"]":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"]":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"e":{"a":{"d":{".":{"a":{"df":0,"docs":{},"s":{"_":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"211":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"k":{"df":3,"docs":{"206":{"tf":1.4142135623730951},"208":{"tf":1.0},"210":{"tf":1.0}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"181":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":6,"docs":{"180":{"tf":1.7320508075688772},"182":{"tf":1.7320508075688772},"185":{"tf":1.7320508075688772},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"208":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"253":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"181":{"tf":1.4142135623730951},"182":{"tf":1.4142135623730951}}}}}}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"180":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"256":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"256":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"t":{"df":2,"docs":{"186":{"tf":1.0},"213":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"170":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"168":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"160":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"157":{"tf":1.0},"159":{"tf":1.0},"169":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"158":{"tf":1.0}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"157":{"tf":1.0},"167":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"r":{"(":{")":{".":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"253":{"tf":1.0},"256":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"252":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"251":{"tf":2.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"252":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}}}},"z":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{")":{".":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"212":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"186":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":8,"docs":{"180":{"tf":1.0},"181":{"tf":1.0},"187":{"tf":1.4142135623730951},"212":{"tf":1.0},"238":{"tf":1.7320508075688772},"239":{"tf":1.7320508075688772},"253":{"tf":1.0},"256":{"tf":1.4142135623730951}}}}},"m":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"268":{"tf":1.0},"269":{"tf":1.7320508075688772}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"237":{"tf":1.0}}}}},"q":{"df":2,"docs":{"237":{"tf":1.0},"238":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"x":{"df":0,"docs":{},"s":{"df":1,"docs":{"157":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"211":{"tf":1.4142135623730951}}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"_":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"184":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"210":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"r":{"(":{")":{".":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{")":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"182":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"187":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"l":{"d":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"180":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{")":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"182":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"176":{"tf":1.0},"180":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"f":{".":{"c":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"179":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"185":{"tf":2.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"185":{"tf":1.7320508075688772}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"180":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"185":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"180":{"tf":1.0},"182":{"tf":1.7320508075688772},"185":{"tf":3.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"182":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":1,"docs":{"238":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"&":{"df":0,"docs":{},"r":{"df":0,"docs":{},"h":{"df":0,"docs":{},"s":{")":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"d":{"(":{")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"255":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"182":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"182":{"tf":1.0},"187":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":2,"docs":{"181":{"tf":1.0},"182":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"182":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"186":{"tf":1.7320508075688772},"211":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":2,"docs":{"267":{"tf":1.4142135623730951},"269":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"r":{"df":2,"docs":{"267":{"tf":1.4142135623730951},"269":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"187":{"tf":1.0},"255":{"tf":1.0}}}}}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"(":{"1":{"df":1,"docs":{"176":{"tf":1.0}}},"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"239":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":33,"docs":{"156":{"tf":1.4142135623730951},"157":{"tf":1.0},"158":{"tf":1.0},"166":{"tf":1.4142135623730951},"167":{"tf":1.0},"168":{"tf":1.0},"176":{"tf":2.449489742783178},"177":{"tf":1.4142135623730951},"180":{"tf":1.0},"182":{"tf":2.0},"184":{"tf":1.0},"185":{"tf":3.4641016151377544},"186":{"tf":1.0},"187":{"tf":1.0},"205":{"tf":1.7320508075688772},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"208":{"tf":1.0},"210":{"tf":1.4142135623730951},"211":{"tf":2.0},"212":{"tf":1.0},"236":{"tf":2.23606797749979},"238":{"tf":1.7320508075688772},"239":{"tf":1.7320508075688772},"249":{"tf":1.4142135623730951},"251":{"tf":4.795831523312719},"252":{"tf":3.1622776601683795},"253":{"tf":2.6457513110645907},"255":{"tf":1.0},"256":{"tf":1.4142135623730951},"267":{"tf":2.0},"268":{"tf":1.0},"269":{"tf":1.7320508075688772}},"、":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"251":{"tf":1.0}}}}}},"(":{"&":{"'":{"a":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"197":{"tf":1.0}},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"197":{"tf":2.6457513110645907}}}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":5,"docs":{"230":{"tf":2.0},"234":{"tf":1.4142135623730951},"242":{"tf":1.0},"243":{"tf":1.0},"274":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":8,"docs":{"230":{"tf":1.0},"44":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.4142135623730951},"80":{"tf":2.0},"81":{"tf":1.0},"82":{"tf":2.0},"83":{"tf":2.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"23":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"80":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"t":{"df":16,"docs":{"223":{"tf":1.7320508075688772},"245":{"tf":1.7320508075688772},"246":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.4142135623730951},"249":{"tf":1.0},"250":{"tf":1.4142135623730951},"251":{"tf":1.7320508075688772},"252":{"tf":1.0},"253":{"tf":1.0},"254":{"tf":1.0},"255":{"tf":3.0},"256":{"tf":1.4142135623730951},"257":{"tf":1.0},"258":{"tf":1.7320508075688772},"8":{"tf":1.0}},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"44":{"tf":1.0}}}}}},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"200":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"162":{"tf":1.0},"20":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"83":{"tf":1.0}}}}},"df":0,"docs":{}},"df":8,"docs":{"4":{"tf":1.0},"78":{"tf":2.23606797749979},"79":{"tf":1.4142135623730951},"80":{"tf":1.7320508075688772},"81":{"tf":1.7320508075688772},"82":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"84":{"tf":2.0}}}}}}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":2,"docs":{"278":{"tf":1.4142135623730951},"54":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"231":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"i":{"df":1,"docs":{"285":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"t":{"_":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"92":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"df":2,"docs":{"89":{"tf":1.4142135623730951},"92":{"tf":2.8284271247461903}}}}}},"df":0,"docs":{}},"df":4,"docs":{"87":{"tf":1.7320508075688772},"89":{"tf":1.7320508075688772},"90":{"tf":2.0},"92":{"tf":1.0}}}},"g":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"130":{"tf":1.7320508075688772},"143":{"tf":1.0},"32":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},")":{"df":0,"docs":{},"則":{"df":0,"docs":{},"是":{"df":0,"docs":{},"算":{"df":0,"docs":{},"術":{"df":0,"docs":{},"右":{"df":0,"docs":{},"移":{"df":0,"docs":{},"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"278":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"146":{"tf":1.4142135623730951},"278":{"tf":1.0}}},"df":0,"docs":{}}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":20,"docs":{"171":{"tf":1.0},"198":{"tf":1.0},"199":{"tf":1.0},"200":{"tf":1.7320508075688772},"201":{"tf":1.0},"202":{"tf":1.0},"203":{"tf":1.0},"204":{"tf":1.0},"205":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"208":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":1.0},"211":{"tf":1.0},"212":{"tf":1.0},"213":{"tf":1.0},"214":{"tf":1.0},"215":{"tf":1.4142135623730951},"7":{"tf":1.0}}},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{"df":6,"docs":{"203":{"tf":1.0},"205":{"tf":1.0},"210":{"tf":1.4142135623730951},"211":{"tf":1.4142135623730951},"212":{"tf":1.0},"213":{"tf":1.0}}}},"df":5,"docs":{"203":{"tf":1.4142135623730951},"206":{"tf":1.0},"209":{"tf":1.0},"211":{"tf":2.0},"212":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}},"k":{"df":1,"docs":{"71":{"tf":1.0}}}},"t":{"df":2,"docs":{"284":{"tf":1.4142135623730951},"285":{"tf":1.4142135623730951}}},"z":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"159":{"tf":1.0},"169":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":17,"docs":{"155":{"tf":1.0},"159":{"tf":1.0},"165":{"tf":1.0},"176":{"tf":1.4142135623730951},"179":{"tf":1.4142135623730951},"233":{"tf":2.449489742783178},"237":{"tf":1.0},"238":{"tf":1.0},"248":{"tf":1.0},"249":{"tf":1.4142135623730951},"259":{"tf":1.0},"262":{"tf":2.0},"264":{"tf":1.0},"265":{"tf":2.23606797749979},"269":{"tf":1.4142135623730951},"33":{"tf":3.0},"54":{"tf":2.0}}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"81":{"tf":1.7320508075688772}}}}},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"185":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"170":{"tf":1.0}}}}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}}},"df":1,"docs":{"185":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":8,"docs":{"117":{"tf":1.4142135623730951},"185":{"tf":1.0},"233":{"tf":1.0},"262":{"tf":1.4142135623730951},"265":{"tf":1.0},"32":{"tf":1.0},"54":{"tf":2.0},"61":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"t":{"df":3,"docs":{"227":{"tf":1.4142135623730951},"230":{"tf":2.449489742783178},"274":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"107":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":5,"docs":{"264":{"tf":1.0},"265":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.4142135623730951},"288":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"185":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"(":{"&":{"'":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":1,"docs":{"185":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"*":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"(":{")":{".":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"181":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"181":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"211":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"(":{"_":{"df":1,"docs":{"238":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":1,"docs":{"238":{"tf":1.0}}}},"*":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}}},"_":{"df":2,"docs":{"184":{"tf":1.0},"279":{"tf":1.4142135623730951}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"206":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"c":{"1":{"df":1,"docs":{"279":{"tf":1.0}}},"2":{"df":1,"docs":{"279":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"233":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"a":{"d":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"206":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"25":{"tf":1.0}}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"v":{"df":1,"docs":{"238":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"207":{"tf":1.0},"208":{"tf":1.0},"210":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"207":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"o":{"d":{"df":2,"docs":{"207":{"tf":1.4142135623730951},"208":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"207":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"256":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"256":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{")":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"|":{"_":{"df":1,"docs":{"256":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"256":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"0":{"df":1,"docs":{"168":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"(":{")":{".":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"182":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"182":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":2,"docs":{"174":{"tf":1.0},"177":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"296":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"t":{"/":{"b":{"df":0,"docs":{},"u":{"b":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"56":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":70,"docs":{"122":{"tf":1.4142135623730951},"123":{"tf":2.449489742783178},"124":{"tf":1.0},"125":{"tf":1.4142135623730951},"126":{"tf":1.0},"127":{"tf":1.7320508075688772},"128":{"tf":1.7320508075688772},"129":{"tf":1.7320508075688772},"130":{"tf":1.4142135623730951},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.7320508075688772},"134":{"tf":2.6457513110645907},"135":{"tf":1.4142135623730951},"136":{"tf":3.0},"137":{"tf":1.0},"138":{"tf":2.23606797749979},"139":{"tf":1.0},"140":{"tf":1.4142135623730951},"141":{"tf":1.0},"142":{"tf":1.7320508075688772},"143":{"tf":2.6457513110645907},"144":{"tf":2.0},"145":{"tf":4.0},"146":{"tf":2.8284271247461903},"147":{"tf":3.1622776601683795},"148":{"tf":1.0},"149":{"tf":3.1622776601683795},"150":{"tf":2.23606797749979},"151":{"tf":3.0},"152":{"tf":1.7320508075688772},"20":{"tf":1.0},"38":{"tf":2.0},"4":{"tf":2.449489742783178},"46":{"tf":1.0},"47":{"tf":1.0},"56":{"tf":2.449489742783178},"57":{"tf":1.4142135623730951},"58":{"tf":1.7320508075688772},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":3.1622776601683795},"62":{"tf":1.7320508075688772},"63":{"tf":2.6457513110645907},"64":{"tf":1.7320508075688772},"65":{"tf":2.0},"66":{"tf":1.7320508075688772},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.4142135623730951},"70":{"tf":2.0},"71":{"tf":2.6457513110645907},"72":{"tf":1.0},"73":{"tf":1.7320508075688772},"74":{"tf":1.0},"75":{"tf":1.7320508075688772},"76":{"tf":1.4142135623730951},"77":{"tf":1.7320508075688772},"78":{"tf":1.7320508075688772},"79":{"tf":1.4142135623730951},"81":{"tf":3.7416573867739413},"82":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":2.23606797749979},"87":{"tf":1.7320508075688772},"90":{"tf":1.4142135623730951},"91":{"tf":1.0},"92":{"tf":1.4142135623730951},"93":{"tf":1.0},"94":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"151":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"。":{"b":{"df":0,"docs":{},"u":{"b":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"71":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}}}}}}},",":{"df":0,"docs":{},"但":{"df":0,"docs":{},"前":{"df":0,"docs":{},"一":{"df":0,"docs":{},"次":{"df":0,"docs":{},"結":{"df":0,"docs":{},"果":{"df":0,"docs":{},"已":{"df":0,"docs":{},"經":{"df":0,"docs":{},"很":{"df":0,"docs":{},"接":{"df":0,"docs":{},"近":{"df":0,"docs":{},"排":{"df":0,"docs":{},"序":{"df":0,"docs":{},"完":{"df":0,"docs":{},"成":{"df":0,"docs":{},",":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"81":{"tf":1.0}}}}}}}}}}}}}}}}}}}}}}}},"此":{"df":0,"docs":{},"時":{"df":0,"docs":{},"大":{"df":0,"docs":{},"部":{"df":0,"docs":{},"分":{"df":0,"docs":{},"元":{"df":0,"docs":{},"素":{"df":0,"docs":{},"皆":{"df":0,"docs":{},"排":{"df":0,"docs":{},"序":{"df":0,"docs":{},"完":{"df":0,"docs":{},"成":{"df":0,"docs":{},",":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}}}}}}}}}}}}}}}}}}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":4,"docs":{"274":{"tf":1.0},"275":{"tf":1.0},"278":{"tf":1.4142135623730951},"279":{"tf":1.7320508075688772}},"e":{".":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"279":{"tf":1.0}},"s":{"(":{")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"287":{"tf":1.4142135623730951},"289":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"286":{"tf":1.0},"287":{"tf":1.0},"289":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"286":{"tf":1.0},"287":{"tf":1.0},"289":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"279":{"tf":1.0}}}}}}},"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"287":{"tf":2.0},"288":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"p":{"a":{"c":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"276":{"tf":1.0}}}}}},"df":23,"docs":{"100":{"tf":1.4142135623730951},"113":{"tf":1.0},"115":{"tf":1.4142135623730951},"126":{"tf":1.0},"128":{"tf":1.4142135623730951},"137":{"tf":1.0},"140":{"tf":1.4142135623730951},"148":{"tf":1.0},"150":{"tf":1.4142135623730951},"214":{"tf":1.0},"24":{"tf":1.0},"290":{"tf":1.4142135623730951},"30":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"51":{"tf":1.0},"58":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":1.0},"88":{"tf":1.0},"98":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"112":{"tf":1.4142135623730951},"117":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"193":{"tf":1.0}}}}}},"r":{"c":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"/":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"3":{"4":{"4":{":":{"6":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{":":{"1":{"2":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"5":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"3":{":":{"2":{"3":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"9":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"/":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"2":{"5":{"3":{":":{"9":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"1":{"7":{":":{"4":{"8":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{":":{"5":{"3":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{":":{"9":{"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"3":{":":{"2":{"4":{"df":1,"docs":{"264":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"7":{":":{"2":{"3":{"df":1,"docs":{"262":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{":":{"5":{"df":1,"docs":{"262":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":2,"docs":{"180":{"tf":1.0},"182":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"s":{"d":{"df":1,"docs":{"274":{"tf":1.0}}},"df":0,"docs":{}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"145":{"tf":1.0},"70":{"tf":1.0}}}},"c":{"df":0,"docs":{},"k":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"154":{"tf":1.0}}}},"df":17,"docs":{"100":{"tf":1.7320508075688772},"105":{"tf":1.7320508075688772},"115":{"tf":1.0},"153":{"tf":2.23606797749979},"154":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.0},"161":{"tf":1.0},"162":{"tf":1.4142135623730951},"200":{"tf":1.0},"210":{"tf":2.23606797749979},"6":{"tf":1.0},"99":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"x":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"215":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"215":{"tf":1.0}}}}}}}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":7,"docs":{"118":{"tf":1.0},"124":{"tf":1.4142135623730951},"125":{"tf":1.4142135623730951},"132":{"tf":1.4142135623730951},"211":{"tf":1.0},"34":{"tf":1.7320508075688772},"92":{"tf":3.0}}}},"t":{"df":0,"docs":{},"e":{"df":3,"docs":{"131":{"tf":1.4142135623730951},"132":{"tf":1.4142135623730951},"233":{"tf":1.0}}},"i":{"c":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":1,"docs":{"0":{"tf":1.0}}}}},"d":{":":{":":{"c":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"118":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"256":{"tf":1.0}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"264":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":3,"docs":{"263":{"tf":1.0},"264":{"tf":1.4142135623730951},"265":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"d":{"df":0,"docs":{},"t":{"df":1,"docs":{"225":{"tf":1.0}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{":":{":":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"184":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{},"f":{"3":{"2":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"267":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"4":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"267":{"tf":1.0}},"s":{":":{":":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"_":{"2":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"f":{"(":{"2":{"df":0,"docs":{},"f":{"6":{"4":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{":":{":":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"213":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":1,"docs":{"213":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"213":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{":":{":":{"df":0,"docs":{},"{":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"233":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"<":{"'":{"_":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"240":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"225":{"tf":1.0}}},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":2,"docs":{"264":{"tf":1.7320508075688772},"265":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"256":{"tf":1.0}}}},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"240":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"<":{"'":{"_":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}},"(":{"&":{"df":0,"docs":{},"k":{"df":1,"docs":{"240":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"c":{":":{":":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"240":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":1,"docs":{"164":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":2,"docs":{"267":{"tf":1.0},"291":{"tf":1.0}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":2,"docs":{"225":{"tf":1.0},"244":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"174":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":4,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"142":{"tf":1.0},"44":{"tf":1.0}}}}},"r":{":":{":":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"279":{"tf":1.4142135623730951},"287":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"287":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":6,"docs":{"237":{"tf":1.0},"264":{"tf":1.0},"279":{"tf":1.4142135623730951},"286":{"tf":2.0},"287":{"tf":1.4142135623730951},"289":{"tf":1.4142135623730951}},"e":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":5,"docs":{"233":{"tf":1.0},"237":{"tf":1.0},"264":{"tf":1.0},"265":{"tf":1.0},"286":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":22,"docs":{"142":{"tf":1.4142135623730951},"154":{"tf":1.0},"164":{"tf":1.0},"174":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.0},"185":{"tf":1.4142135623730951},"186":{"tf":1.0},"188":{"tf":1.0},"202":{"tf":1.7320508075688772},"203":{"tf":2.23606797749979},"210":{"tf":1.4142135623730951},"211":{"tf":3.1622776601683795},"233":{"tf":1.0},"234":{"tf":1.4142135623730951},"240":{"tf":1.4142135623730951},"247":{"tf":1.0},"262":{"tf":2.449489742783178},"263":{"tf":1.0},"264":{"tf":3.3166247903554},"265":{"tf":1.4142135623730951},"269":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"200":{"tf":1.0},"259":{"tf":1.0},"273":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"u":{"b":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"112":{"tf":1.4142135623730951},"97":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":3,"docs":{"287":{"tf":2.0},"289":{"tf":2.6457513110645907},"54":{"tf":1.7320508075688772}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"200":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"145":{"tf":1.0},"146":{"tf":1.4142135623730951},"149":{"tf":1.4142135623730951}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":2,"docs":{"118":{"tf":1.0},"81":{"tf":2.6457513110645907}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"282":{"tf":1.0},"289":{"tf":1.0}}}}}},"r":{"df":1,"docs":{"9":{"tf":1.0}},"e":{"df":1,"docs":{"92":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"179":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"89":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"176":{"tf":1.0},"264":{"tf":1.0}}}},"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"{":{"df":0,"docs":{},"i":{"=":{"0":{"df":0,"docs":{},"}":{"^":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"df":1,"docs":{"75":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"1":{"df":0,"docs":{},"}":{"^":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"df":1,"docs":{"66":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"99":{"tf":1.0}}}}},"df":6,"docs":{"124":{"tf":1.4142135623730951},"125":{"tf":4.358898943540674},"127":{"tf":1.0},"131":{"tf":2.449489742783178},"132":{"tf":2.23606797749979},"91":{"tf":1.4142135623730951}}}},"v":{"df":0,"docs":{},"g":{"df":3,"docs":{"199":{"tf":1.0},"215":{"tf":1.0},"47":{"tf":1.4142135623730951}}}},"w":{"a":{"df":0,"docs":{},"p":{"'":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"92":{"tf":1.0}}}}},"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"238":{"tf":1.0}}}}}}}},"df":6,"docs":{"103":{"tf":1.4142135623730951},"107":{"tf":1.0},"108":{"tf":1.0},"76":{"tf":2.0},"87":{"tf":2.0},"97":{"tf":2.6457513110645907}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"8":{"df":3,"docs":{"62":{"tf":1.0},"72":{"tf":1.0},"77":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":2,"docs":{"0":{"tf":1.0},"109":{"tf":1.0}}}}}},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"256":{"tf":1.0},"257":{"tf":1.0}},"i":{"c":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"250":{"tf":1.0},"255":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"<":{"'":{"a":{">":{"(":{"&":{"'":{"a":{"df":1,"docs":{"252":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"47":{"tf":1.0}}}}}}}}}}},"t":{"(":{"\\":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"114":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"n":{"df":1,"docs":{"114":{"tf":1.7320508075688772}}}},">":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":3,"docs":{"130":{"tf":1.0},"132":{"tf":1.0},"143":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"]":{"df":0,"docs":{},"。":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}}}},"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"244":{"tf":1.4142135623730951}},"e":{"[":{"0":{"df":1,"docs":{"227":{"tf":1.0}}},"1":{"df":1,"docs":{"227":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"227":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":15,"docs":{"100":{"tf":1.0},"105":{"tf":1.0},"174":{"tf":1.0},"175":{"tf":3.3166247903554},"177":{"tf":1.4142135623730951},"179":{"tf":1.4142135623730951},"180":{"tf":2.0},"181":{"tf":1.4142135623730951},"182":{"tf":1.7320508075688772},"185":{"tf":3.1622776601683795},"189":{"tf":1.0},"196":{"tf":2.0},"200":{"tf":1.0},"204":{"tf":1.0},"210":{"tf":1.4142135623730951}},"、":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"189":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"k":{"df":0,"docs":{},"e":{"df":5,"docs":{"206":{"tf":1.0},"207":{"tf":1.0},"208":{"tf":1.0},"210":{"tf":1.0},"251":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"105":{"tf":1.0}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}},"t":{")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"278":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"279":{"tf":1.0}},"s":{"(":{")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"287":{"tf":1.4142135623730951},"289":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"286":{"tf":1.0},"287":{"tf":1.0},"289":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"286":{"tf":1.0},"287":{"tf":1.0},"289":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"279":{"tf":1.0}}}}}}},"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"287":{"tf":2.0},"288":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"df":10,"docs":{"25":{"tf":1.4142135623730951},"278":{"tf":1.7320508075688772},"279":{"tf":2.0},"286":{"tf":1.4142135623730951},"287":{"tf":1.0},"289":{"tf":1.4142135623730951},"32":{"tf":1.0},"33":{"tf":2.0},"44":{"tf":4.123105625617661},"54":{"tf":1.7320508075688772}}}}}}},"c":{"df":0,"docs":{},"o":{"df":1,"docs":{"105":{"tf":2.0}}}},"df":33,"docs":{"130":{"tf":1.7320508075688772},"132":{"tf":1.4142135623730951},"142":{"tf":2.23606797749979},"143":{"tf":2.449489742783178},"151":{"tf":1.4142135623730951},"157":{"tf":1.0},"167":{"tf":1.0},"175":{"tf":3.0},"176":{"tf":1.7320508075688772},"179":{"tf":1.4142135623730951},"180":{"tf":2.449489742783178},"182":{"tf":1.4142135623730951},"185":{"tf":5.744562646538029},"186":{"tf":3.1622776601683795},"187":{"tf":1.4142135623730951},"188":{"tf":1.0},"202":{"tf":1.7320508075688772},"206":{"tf":1.0},"207":{"tf":1.0},"211":{"tf":3.872983346207417},"247":{"tf":1.0},"249":{"tf":2.23606797749979},"25":{"tf":2.6457513110645907},"251":{"tf":3.605551275463989},"252":{"tf":2.0},"255":{"tf":1.7320508075688772},"256":{"tf":1.7320508075688772},"264":{"tf":2.449489742783178},"268":{"tf":2.0},"269":{"tf":2.8284271247461903},"32":{"tf":2.0},"33":{"tf":1.7320508075688772},"54":{"tf":1.7320508075688772}},"e":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"105":{"tf":1.0},"210":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"67":{"tf":1.7320508075688772}}}},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"16":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"294":{"tf":1.0}}}},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"242":{"tf":1.0}},"{":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"y":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"50":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":3,"docs":{"114":{"tf":1.0},"284":{"tf":1.4142135623730951},"286":{"tf":1.0}}}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":2,"docs":{"231":{"tf":1.0},"242":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":2,"docs":{"114":{"tf":1.0},"284":{"tf":1.0}}}}}}}}}}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"176":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"114":{"tf":1.0}}}},"i":{"df":2,"docs":{"223":{"tf":1.0},"258":{"tf":1.0}}}}},"t":{"a":{"$":{"df":0,"docs":{},":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"19":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"(":{"1":{"+":{"\\":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"df":0,"docs":{},"k":{"df":1,"docs":{"242":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"19":{"tf":1.0}}}},"df":0,"docs":{}},"n":{"df":1,"docs":{"19":{"tf":1.0}}}},"df":1,"docs":{"19":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"274":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":2,"docs":{"256":{"tf":1.0},"44":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"274":{"tf":1.0}}}}}}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":9,"docs":{"114":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951},"149":{"tf":1.4142135623730951},"22":{"tf":1.0},"262":{"tf":1.4142135623730951},"270":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.4142135623730951},"99":{"tf":1.4142135623730951}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"121":{"tf":1.7320508075688772},"4":{"tf":1.0}}}}}}}},"o":{"_":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"132":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"p":{"df":3,"docs":{"116":{"tf":1.0},"117":{"tf":1.4142135623730951},"119":{"tf":1.0}}},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"256":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"r":{"a":{"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"276":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":22,"docs":{"143":{"tf":1.0},"185":{"tf":1.7320508075688772},"188":{"tf":1.0},"205":{"tf":1.0},"209":{"tf":1.7320508075688772},"210":{"tf":1.7320508075688772},"211":{"tf":2.6457513110645907},"212":{"tf":2.0},"213":{"tf":1.7320508075688772},"232":{"tf":1.0},"233":{"tf":2.23606797749979},"236":{"tf":1.0},"237":{"tf":1.0},"240":{"tf":3.3166247903554},"251":{"tf":1.4142135623730951},"255":{"tf":1.7320508075688772},"256":{"tf":2.0},"265":{"tf":1.7320508075688772},"288":{"tf":1.0},"44":{"tf":1.4142135623730951},"67":{"tf":1.0},"83":{"tf":1.0}},",":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":1,"docs":{"233":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"208":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"256":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"211":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":3,"docs":{"274":{"tf":1.0},"46":{"tf":1.4142135623730951},"87":{"tf":1.0}}}},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"251":{"tf":1.0}}}},"u":{"df":0,"docs":{},"e":{"df":7,"docs":{"157":{"tf":1.0},"168":{"tf":1.0},"256":{"tf":2.0},"262":{"tf":1.4142135623730951},"268":{"tf":1.0},"269":{"tf":1.0},"76":{"tf":1.7320508075688772}}}},"y":{"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"176":{"tf":1.0},"180":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":3,"docs":{"176":{"tf":1.0},"178":{"tf":1.0},"180":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":1,"docs":{"235":{"tf":1.0}},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"239":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"211":{"tf":1.0},"247":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"j":{"df":1,"docs":{"291":{"tf":1.0}}}}}}}},"w":{"df":0,"docs":{},"o":{"df":4,"docs":{"103":{"tf":1.0},"108":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":18,"docs":{"162":{"tf":1.0},"172":{"tf":1.0},"176":{"tf":1.4142135623730951},"185":{"tf":2.23606797749979},"186":{"tf":2.6457513110645907},"187":{"tf":1.0},"211":{"tf":2.23606797749979},"233":{"tf":1.0},"234":{"tf":1.4142135623730951},"240":{"tf":1.7320508075688772},"245":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":2.0},"251":{"tf":1.4142135623730951},"255":{"tf":1.0},"262":{"tf":1.0},"264":{"tf":2.23606797749979},"287":{"tf":1.0}},"s":{"df":0,"docs":{},"(":{"d":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"233":{"tf":1.0},"262":{"tf":1.0}}}}},"df":0,"docs":{},"z":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}}}}}}},"、":{"df":0,"docs":{},"k":{"df":0,"docs":{},"、":{"df":0,"docs":{},"v":{"df":1,"docs":{"264":{"tf":1.0}}}}}}},"u":{"3":{"2":{">":{"df":0,"docs":{},",":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"264":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":2,"docs":{"264":{"tf":1.0},"278":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"6":{"4":{"df":3,"docs":{"268":{"tf":2.6457513110645907},"269":{"tf":3.0},"278":{"tf":2.0}}},"df":0,"docs":{}},"8":{"df":1,"docs":{"237":{"tf":1.0}}},"df":0,"docs":{},"m":{"d":{"df":1,"docs":{"89":{"tf":1.0}}},"df":0,"docs":{}},"n":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"217":{"tf":1.0}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"176":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"279":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":3,"docs":{"229":{"tf":1.0},"43":{"tf":1.7320508075688772},"47":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"n":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"251":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"<":{"'":{"a":{">":{"(":{"&":{"'":{"a":{"df":2,"docs":{"251":{"tf":1.4142135623730951},"252":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"251":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"251":{"tf":1.4142135623730951},"252":{"tf":1.4142135623730951},"255":{"tf":1.0},"257":{"tf":1.0}},":":{"df":0,"docs":{},"聯":{"df":0,"docs":{},"集":{"df":0,"docs":{},",":{"a":{"df":1,"docs":{"250":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"t":{"df":3,"docs":{"244":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.7320508075688772}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":3,"docs":{"122":{"tf":1.0},"152":{"tf":1.0},"93":{"tf":1.0}}}}}}},"s":{"a":{"df":0,"docs":{},"f":{"df":6,"docs":{"176":{"tf":2.23606797749979},"180":{"tf":1.0},"181":{"tf":1.7320508075688772},"182":{"tf":2.0},"185":{"tf":1.7320508075688772},"187":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},")":{"df":0,"docs":{},"是":{"df":0,"docs":{},"邏":{"df":0,"docs":{},"輯":{"df":0,"docs":{},"右":{"df":0,"docs":{},"移":{"df":0,"docs":{},"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"278":{"tf":1.0}}}}}}}}}}}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":6,"docs":{"63":{"tf":1.4142135623730951},"64":{"tf":1.7320508075688772},"67":{"tf":1.0},"85":{"tf":1.4142135623730951},"87":{"tf":1.0},"92":{"tf":1.4142135623730951}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"70":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"176":{"tf":1.0},"264":{"tf":1.0}}}},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"&":{"0":{"df":1,"docs":{"151":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"287":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"241":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":4,"docs":{"118":{"tf":1.4142135623730951},"119":{"tf":1.0},"285":{"tf":1.0},"91":{"tf":1.4142135623730951}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"118":{"tf":1.4142135623730951},"54":{"tf":1.0},"67":{"tf":1.0}}}}}},"s":{"df":12,"docs":{"132":{"tf":1.0},"144":{"tf":1.0},"151":{"tf":1.0},"211":{"tf":1.0},"233":{"tf":1.0},"251":{"tf":1.0},"262":{"tf":1.0},"263":{"tf":1.0},"264":{"tf":2.23606797749979},"265":{"tf":1.4142135623730951},"267":{"tf":1.0},"54":{"tf":1.0}},"e":{"_":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"(":{"a":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"z":{"df":42,"docs":{"103":{"tf":2.449489742783178},"107":{"tf":2.6457513110645907},"108":{"tf":1.7320508075688772},"130":{"tf":2.0},"132":{"tf":1.7320508075688772},"151":{"tf":1.0},"154":{"tf":1.0},"156":{"tf":1.0},"159":{"tf":1.0},"169":{"tf":1.0},"174":{"tf":1.4142135623730951},"176":{"tf":1.4142135623730951},"177":{"tf":1.4142135623730951},"179":{"tf":3.4641016151377544},"181":{"tf":1.0},"185":{"tf":2.0},"187":{"tf":1.4142135623730951},"188":{"tf":1.0},"207":{"tf":1.7320508075688772},"233":{"tf":1.4142135623730951},"234":{"tf":1.0},"236":{"tf":2.23606797749979},"249":{"tf":1.0},"262":{"tf":1.4142135623730951},"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":2.8284271247461903},"268":{"tf":1.4142135623730951},"269":{"tf":3.0},"279":{"tf":1.0},"286":{"tf":1.4142135623730951},"287":{"tf":1.7320508075688772},"288":{"tf":1.0},"289":{"tf":1.4142135623730951},"32":{"tf":1.0},"33":{"tf":1.7320508075688772},"44":{"tf":2.23606797749979},"54":{"tf":1.0},"61":{"tf":1.0},"76":{"tf":1.0},"83":{"tf":1.7320508075688772},"92":{"tf":1.4142135623730951}},"e":{":":{":":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"x":{"df":1,"docs":{"179":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"f":{"df":1,"docs":{"287":{"tf":1.4142135623730951}}}}},"v":{">":{">":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"236":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"61":{"tf":1.0}},"i":{"d":{"df":5,"docs":{"181":{"tf":1.4142135623730951},"182":{"tf":2.0},"185":{"tf":1.0},"187":{"tf":1.4142135623730951},"92":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":18,"docs":{"107":{"tf":1.7320508075688772},"125":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":2.0},"136":{"tf":1.4142135623730951},"142":{"tf":2.8284271247461903},"143":{"tf":2.449489742783178},"211":{"tf":1.0},"216":{"tf":1.0},"230":{"tf":1.0},"234":{"tf":1.4142135623730951},"237":{"tf":1.4142135623730951},"238":{"tf":2.0},"249":{"tf":2.23606797749979},"251":{"tf":1.0},"262":{"tf":1.7320508075688772},"44":{"tf":1.4142135623730951},"96":{"tf":1.4142135623730951}},"e":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"132":{"tf":1.4142135623730951},"143":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"251":{"tf":1.0},"44":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":16,"docs":{"112":{"tf":1.4142135623730951},"136":{"tf":3.4641016151377544},"189":{"tf":1.0},"196":{"tf":1.4142135623730951},"197":{"tf":1.0},"200":{"tf":1.0},"230":{"tf":1.0},"234":{"tf":2.8284271247461903},"236":{"tf":2.23606797749979},"237":{"tf":2.0},"238":{"tf":2.0},"239":{"tf":1.4142135623730951},"240":{"tf":3.3166247903554},"241":{"tf":1.7320508075688772},"257":{"tf":1.0},"264":{"tf":1.0}},"e":{"c":{"!":{"[":{"0":{"df":1,"docs":{"288":{"tf":1.0}}},"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":2,"docs":{"267":{"tf":1.0},"269":{"tf":1.0}}}}},"df":0,"docs":{}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"142":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"!":{"[":{"0":{"df":2,"docs":{"287":{"tf":1.4142135623730951},"288":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":1,"docs":{"131":{"tf":1.0}}}}}},":":{":":{"<":{"b":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{"df":1,"docs":{"236":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"237":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":3,"docs":{"143":{"tf":1.0},"166":{"tf":1.0},"236":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"171":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"238":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"x":{"df":0,"docs":{},"s":{"df":1,"docs":{"156":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"<":{"(":{"df":0,"docs":{},"k":{"df":1,"docs":{"234":{"tf":1.4142135623730951}}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":4,"docs":{"262":{"tf":1.0},"263":{"tf":1.0},"264":{"tf":1.4142135623730951},"269":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"h":{"df":1,"docs":{"143":{"tf":1.0}}},"k":{"df":2,"docs":{"234":{"tf":1.0},"236":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"df":4,"docs":{"142":{"tf":1.0},"154":{"tf":1.0},"164":{"tf":1.0},"171":{"tf":1.0}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"288":{"tf":1.0},"289":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"u":{"8":{"df":1,"docs":{"264":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":1,"docs":{"288":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":2,"docs":{"190":{"tf":1.0},"193":{"tf":1.0}},"e":{":":{":":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"180":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":14,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"131":{"tf":1.0},"142":{"tf":1.0},"166":{"tf":1.0},"167":{"tf":1.0},"170":{"tf":1.4142135623730951},"176":{"tf":1.4142135623730951},"234":{"tf":1.4142135623730951},"236":{"tf":1.0},"239":{"tf":1.0},"262":{"tf":2.449489742783178},"287":{"tf":1.0},"288":{"tf":2.0}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":9,"docs":{"117":{"tf":1.0},"153":{"tf":1.0},"156":{"tf":2.23606797749979},"157":{"tf":1.0},"163":{"tf":1.0},"234":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"287":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":2,"docs":{"250":{"tf":1.0},"258":{"tf":1.0}}}}},"i":{"a":{"df":11,"docs":{"122":{"tf":1.0},"190":{"tf":1.0},"199":{"tf":1.0},"225":{"tf":1.0},"244":{"tf":1.0},"258":{"tf":1.0},"47":{"tf":1.4142135623730951},"62":{"tf":1.0},"70":{"tf":1.0},"77":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"179":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":1,"docs":{"10":{"tf":1.0}}}},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"47":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":3,"docs":{"107":{"tf":1.0},"108":{"tf":1.0},"256":{"tf":1.0}},"n":{"df":2,"docs":{"109":{"tf":1.0},"244":{"tf":1.0}}}}},"df":1,"docs":{"260":{"tf":1.4142135623730951}},"e":{"b":{"df":1,"docs":{"133":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"13":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"12":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"296":{"tf":1.4142135623730951}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"185":{"tf":1.0},"44":{"tf":1.0}}}}}}}},"i":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"w":{"7":{"7":{"2":{"1":{"0":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"d":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"118":{"tf":2.6457513110645907}}}}},"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":25,"docs":{"109":{"tf":1.0},"122":{"tf":1.0},"133":{"tf":1.0},"144":{"tf":1.4142135623730951},"152":{"tf":1.0},"163":{"tf":1.0},"190":{"tf":1.0},"199":{"tf":1.0},"22":{"tf":1.4142135623730951},"225":{"tf":1.4142135623730951},"244":{"tf":1.4142135623730951},"258":{"tf":1.0},"26":{"tf":1.0},"276":{"tf":1.0},"281":{"tf":1.0},"291":{"tf":1.0},"39":{"tf":1.0},"47":{"tf":1.0},"55":{"tf":1.0},"62":{"tf":1.0},"70":{"tf":1.0},"77":{"tf":1.0},"84":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.4142135623730951}},"m":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"a":{"df":10,"docs":{"122":{"tf":1.0},"190":{"tf":1.0},"199":{"tf":1.0},"225":{"tf":1.0},"244":{"tf":1.0},"47":{"tf":1.4142135623730951},"62":{"tf":1.0},"70":{"tf":1.0},"77":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"a":{"df":4,"docs":{"153":{"tf":1.4142135623730951},"163":{"tf":1.0},"258":{"tf":1.0},"271":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"h":{"_":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":3,"docs":{"155":{"tf":1.0},"176":{"tf":1.4142135623730951},"235":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"(":{"c":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"176":{"tf":1.0},"236":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"x":{"df":0,"docs":{},"s":{"df":1,"docs":{"156":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"180":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"d":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":5,"docs":{"263":{"tf":1.0},"264":{"tf":1.7320508075688772},"293":{"tf":1.0},"62":{"tf":1.0},"77":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":21,"docs":{"113":{"tf":1.4142135623730951},"126":{"tf":1.4142135623730951},"137":{"tf":1.4142135623730951},"138":{"tf":1.4142135623730951},"148":{"tf":1.4142135623730951},"161":{"tf":1.0},"171":{"tf":1.0},"189":{"tf":1.0},"24":{"tf":1.4142135623730951},"241":{"tf":1.0},"257":{"tf":1.0},"290":{"tf":1.7320508075688772},"30":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951},"88":{"tf":1.4142135623730951},"98":{"tf":1.4142135623730951}}}}}},"r":{"a":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"a":{"d":{"d":{"(":{"a":{"d":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"179":{"tf":1.0}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"a":{"d":{"d":{"(":{"1":{"df":1,"docs":{"185":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"187":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":4,"docs":{"179":{"tf":1.0},"181":{"tf":1.4142135623730951},"182":{"tf":2.0},"187":{"tf":1.4142135623730951}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"a":{"d":{"d":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"179":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"268":{"tf":1.0}}}},"s":{"df":0,"docs":{},"u":{"b":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"179":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"!":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"213":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"296":{"tf":1.4142135623730951},"34":{"tf":1.0}}}}}}},"x":{",":{"df":0,"docs":{},"y":{",":{"df":0,"docs":{},"z":{"df":1,"docs":{"260":{"tf":1.0}}}},"df":0,"docs":{}}},".":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"210":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"233":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"^":{"2":{"df":1,"docs":{"16":{"tf":1.0}}},"4":{"+":{"5":{"\\":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"{":{"3":{"df":0,"docs":{},"}":{"^":{"df":0,"docs":{},"{":{"2":{"6":{"df":0,"docs":{},"}":{"8":{"8":{"df":0,"docs":{},"x":{"^":{"3":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"0":{",":{"df":0,"docs":{},"x":{"_":{"1":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"y":{"_":{"0":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"42":{"tf":1.4142135623730951}}},"1":{",":{"df":0,"docs":{},"y":{"_":{"1":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":17,"docs":{"131":{"tf":1.7320508075688772},"132":{"tf":1.7320508075688772},"139":{"tf":1.4142135623730951},"151":{"tf":1.0},"175":{"tf":6.082762530298219},"179":{"tf":2.0},"180":{"tf":6.48074069840786},"210":{"tf":1.0},"233":{"tf":1.7320508075688772},"25":{"tf":1.0},"256":{"tf":5.916079783099616},"272":{"tf":1.0},"275":{"tf":1.4142135623730951},"287":{"tf":1.0},"289":{"tf":1.4142135623730951},"42":{"tf":2.449489742783178},"50":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"255":{"tf":1.0},"275":{"tf":1.4142135623730951},"278":{"tf":2.8284271247461903}}}},"」":{"df":0,"docs":{},"或":{"df":0,"docs":{},"是":{"df":0,"docs":{},"「":{"df":0,"docs":{},"x":{"df":1,"docs":{"272":{"tf":1.0}}}}}}}},"y":{".":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"210":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"_":{"0":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"df":0,"docs":{},"x":{"_":{"1":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"42":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":5,"docs":{"210":{"tf":1.0},"256":{"tf":5.477225575051661},"42":{"tf":1.7320508075688772},"43":{"tf":1.4142135623730951},"47":{"tf":1.0}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}}}}},"z":{".":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"210":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":2,"docs":{"210":{"tf":1.0},"256":{"tf":2.8284271247461903}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":4,"docs":{"176":{"tf":1.7320508075688772},"248":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"212":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"176":{"tf":2.23606797749979},"179":{"tf":1.0},"248":{"tf":1.7320508075688772}}}}}}},"title":{"root":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}}}},"r":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"131":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"216":{"tf":1.0}}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}}}}}}}},"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"139":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"27":{"tf":1.0},"38":{"tf":1.0},"61":{"tf":1.0}}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":4,"docs":{"224":{"tf":1.0},"259":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0}}}}}},"u":{"b":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"71":{"tf":1.0}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"134":{"tf":1.0},"142":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"89":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"118":{"tf":1.0}}}}}}}},"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":2,"docs":{"138":{"tf":1.0},"139":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"b":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":10,"docs":{"100":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"140":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.0},"75":{"tf":1.0},"99":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"216":{"tf":1.0}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"123":{"tf":1.0},"272":{"tf":1.0}}}}}},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":1,"docs":{"275":{"tf":1.0}}}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":2,"docs":{"188":{"tf":1.0},"213":{"tf":1.0}}}}},"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":2,"docs":{"173":{"tf":1.0},"177":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":2,"docs":{"277":{"tf":1.0},"282":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":2,"docs":{"117":{"tf":1.0},"90":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":2,"docs":{"184":{"tf":1.0},"210":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"265":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":1,"docs":{"233":{"tf":1.0}}},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"37":{"tf":1.0},"48":{"tf":1.0}}}}}}}}}}},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"224":{"tf":1.0},"259":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"130":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"g":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"80":{"tf":1.0}}}},"df":0,"docs":{}},"h":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"277":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"df":3,"docs":{"220":{"tf":1.0},"226":{"tf":1.0},"233":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"196":{"tf":1.0}}},"df":0,"docs":{},"p":{"df":1,"docs":{"89":{"tf":1.0}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"89":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"69":{"tf":1.0},"85":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":2,"docs":{"132":{"tf":1.0},"187":{"tf":1.0}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"187":{"tf":1.0}}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":3,"docs":{"38":{"tf":1.0},"56":{"tf":1.0},"61":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":3,"docs":{"36":{"tf":1.0},"40":{"tf":1.0},"46":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"186":{"tf":1.0},"211":{"tf":1.0}}}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"185":{"tf":1.0},"211":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"282":{"tf":1.0}}}}}}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":0,"docs":{}},"k":{"df":2,"docs":{"191":{"tf":1.0},"200":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"191":{"tf":1.0},"200":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":1,"docs":{"96":{"tf":1.0}}}}}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":3,"docs":{"220":{"tf":1.0},"221":{"tf":1.0},"226":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"119":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"110":{"tf":1.0}}}}}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"222":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"df":3,"docs":{"195":{"tf":1.0},"197":{"tf":1.0},"202":{"tf":1.0}}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"$":{"df":0,"docs":{},":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"17":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":1,"docs":{"17":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"a":{"$":{"df":0,"docs":{},":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"18":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":1,"docs":{"18":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"296":{"tf":1.0}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"221":{"tf":1.0}}}}},"df":0,"docs":{}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"119":{"tf":1.0}},"i":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":1,"docs":{"212":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":2,"docs":{"103":{"tf":1.0},"96":{"tf":1.0}}}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"264":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"106":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":2,"docs":{"131":{"tf":1.0},"132":{"tf":1.0}}}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"163":{"tf":1.0}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"94":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"274":{"tf":1.0}}}}}}}}}},"r":{"a":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"145":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"102":{"tf":1.0}}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"0":{"tf":1.0},"295":{"tf":1.0}}}}}},"s":{"c":{"a":{"df":0,"docs":{},"l":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"273":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"96":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":7,"docs":{"23":{"tf":1.0},"27":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"40":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"197":{"tf":1.0}}}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"80":{"tf":1.0}}},"df":0,"docs":{}}}}},"t":{"df":2,"docs":{"223":{"tf":1.0},"245":{"tf":1.0}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}}}}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"90":{"tf":1.0}}}},"g":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"130":{"tf":1.0}}}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"200":{"tf":1.0}}},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"203":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}}},"z":{"df":0,"docs":{},"e":{"df":1,"docs":{"265":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"296":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"t":{"df":10,"docs":{"123":{"tf":1.0},"134":{"tf":1.0},"143":{"tf":1.0},"145":{"tf":1.0},"38":{"tf":1.0},"56":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0},"71":{"tf":1.0},"90":{"tf":1.0}}}}},"p":{"a":{"c":{"df":0,"docs":{},"e":{"df":5,"docs":{"100":{"tf":1.0},"115":{"tf":1.0},"128":{"tf":1.0},"140":{"tf":1.0},"150":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"117":{"tf":1.0},"118":{"tf":1.0}}}}}},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"153":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"132":{"tf":1.0}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":3,"docs":{"131":{"tf":1.0},"132":{"tf":1.0},"91":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"196":{"tf":1.0}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"a":{"$":{"df":0,"docs":{},":":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"19":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":1,"docs":{"19":{"tf":1.0}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":5,"docs":{"114":{"tf":1.0},"127":{"tf":1.0},"149":{"tf":1.0},"75":{"tf":1.0},"99":{"tf":1.0}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"121":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"117":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":5,"docs":{"209":{"tf":1.0},"210":{"tf":1.0},"211":{"tf":1.0},"212":{"tf":1.0},"213":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":1,"docs":{"46":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"248":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"248":{"tf":1.0}}}}},"p":{"df":2,"docs":{"118":{"tf":1.0},"91":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"262":{"tf":1.0}}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"296":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"138":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"296":{"tf":1.0}}}}}}}}}},"lang":"English","pipeline":["trimmer","stopWordFilter","stemmer"],"ref":"id","version":"0.9.5"},"results_options":{"limit_results":30,"teaser_word_count":30},"search_options":{"bool":"OR","expand":true,"fields":{"body":{"boost":1},"breadcrumbs":{"boost":1},"title":{"boost":2}}}} \ No newline at end of file diff --git a/searching/binary_search/index.html b/searching/binary_search/index.html index c8e6f24f..03b66e27 100644 --- a/searching/binary_search/index.html +++ b/searching/binary_search/index.html @@ -1,49 +1,50 @@ - + 二元搜尋 Binary search - Rust Algorithm Club - + - - - + - - - + + + - - + + - - + + - - - - - + + + + - - + + + + +
    - - + + -
    - - - - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - + + + +
    diff --git a/searching/exponential_search/index.html b/searching/exponential_search/index.html index 4aea4a23..061457aa 100644 --- a/searching/exponential_search/index.html +++ b/searching/exponential_search/index.html @@ -1,49 +1,50 @@ - + 指數搜尋 Exponential search - Rust Algorithm Club - + - - - + - - - + + + - - + + - - + + - - - - - + + + + - - + + + + +
    - - + + -
    - - - - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - + + + +
    diff --git a/searching/interpolation_search/index.html b/searching/interpolation_search/index.html index 4c9359b9..689ffb91 100644 --- a/searching/interpolation_search/index.html +++ b/searching/interpolation_search/index.html @@ -1,49 +1,50 @@ - + 內插搜尋 Interpolation search - Rust Algorithm Club - + - - - + - - - + + + - - + + - - + + - - - - - + + + + - - + + + + +
    - - + + -
    - - - - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - + + + +
    diff --git a/searching/linear_search/index.html b/searching/linear_search/index.html index a40a1855..d3745d1b 100644 --- a/searching/linear_search/index.html +++ b/searching/linear_search/index.html @@ -1,49 +1,50 @@ - + 線性搜尋 Linear search - Rust Algorithm Club - + - - - + - - - + + + - - + + - - + + - - - - - + + + + - - + + + + +
    - - + + -
    - - - - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - + + + +
    diff --git a/sorting/bubble_sort/index.html b/sorting/bubble_sort/index.html index 4cc9186b..85e225b1 100644 --- a/sorting/bubble_sort/index.html +++ b/sorting/bubble_sort/index.html @@ -1,49 +1,50 @@ - + 氣泡排序 Bubble sort - Rust Algorithm Club - + - - - + - - - + + + - - + + - - + + - - - - - + + + + - - + + + + +
    - - + + -
    - - - - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - + + + +
    diff --git a/sorting/bucket_sort/index.html b/sorting/bucket_sort/index.html index 0863cba2..7a1d7c5e 100644 --- a/sorting/bucket_sort/index.html +++ b/sorting/bucket_sort/index.html @@ -1,49 +1,50 @@ - + 桶排序 Bucket sort - Rust Algorithm Club - + - - - + - - - + + + - - + + - - + + - - - - - + + + + - - + + + + +
    - - + + -
    - - - - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - + + + +
    diff --git a/sorting/counting_sort/index.html b/sorting/counting_sort/index.html index 0fdf2d38..7f514105 100644 --- a/sorting/counting_sort/index.html +++ b/sorting/counting_sort/index.html @@ -1,49 +1,50 @@ - + 計數排序 Counting sort - Rust Algorithm Club - + - - - + - - - + + + - - + + - - + + - - - - - + + + + - - + + + + +
    - - + + -
    - - - - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - + + + +
    diff --git a/sorting/heapsort/index.html b/sorting/heapsort/index.html index 6a8663bf..447a6aa5 100644 --- a/sorting/heapsort/index.html +++ b/sorting/heapsort/index.html @@ -1,49 +1,50 @@ - + 堆積排序 Heapsort - Rust Algorithm Club - + - - - + - - - + + + - - + + - - + + - - - - - + + + + - - + + + + +
    - - + + -
    - - - - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - + + + +
    diff --git a/sorting/insertion_sort/index.html b/sorting/insertion_sort/index.html index 7a09df1f..463f3f6d 100644 --- a/sorting/insertion_sort/index.html +++ b/sorting/insertion_sort/index.html @@ -1,49 +1,50 @@ - + 插入排序 Insertion sort - Rust Algorithm Club - + - - - + - - - + + + - - + + - - + + - - - - - + + + + - - + + + + +
    - - + + -
    - - - - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - + + + +
    diff --git a/sorting/mergesort/index.html b/sorting/mergesort/index.html index 3fae8264..d73bf849 100644 --- a/sorting/mergesort/index.html +++ b/sorting/mergesort/index.html @@ -1,49 +1,50 @@ - + 合併排序 Mergesort - Rust Algorithm Club - + - - - + - - - + + + - - + + - - + + - - - - - + + + + - - + + + + +
    - - + + -
    - - - - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - + + + +
    diff --git a/sorting/quicksort/index.html b/sorting/quicksort/index.html index 64c6f625..6188b3fe 100644 --- a/sorting/quicksort/index.html +++ b/sorting/quicksort/index.html @@ -1,49 +1,50 @@ - + 快速排序 Quicksort - Rust Algorithm Club - + - - - + - - - + + + - - + + - - + + - - - - - + + + + - - + + + + +
    - - + + -
    - - - - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - + + + +
    diff --git a/sorting/radix_sort/index.html b/sorting/radix_sort/index.html index b5de032e..81f25a65 100644 --- a/sorting/radix_sort/index.html +++ b/sorting/radix_sort/index.html @@ -1,49 +1,50 @@ - + 基數排序 Radix sort - Rust Algorithm Club - + - - - + - - - + + + - - + + - - + + - - - - - + + + + - - + + + + +
    - - + + -
    - - - - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - + + + +
    diff --git a/sorting/selection_sort/index.html b/sorting/selection_sort/index.html index 809cb016..11746e87 100644 --- a/sorting/selection_sort/index.html +++ b/sorting/selection_sort/index.html @@ -1,49 +1,50 @@ - + 選擇排序 Selection sort - Rust Algorithm Club - + - - - + - - - + + + - - + + - - + + - - - - - + + + + - - + + + + +
    - - + + -
    - - - - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - + + + +
    diff --git a/sorting/shellsort/index.html b/sorting/shellsort/index.html index bdd98987..6ca2efca 100644 --- a/sorting/shellsort/index.html +++ b/sorting/shellsort/index.html @@ -1,49 +1,50 @@ - + 希爾排序 Shellsort - Rust Algorithm Club - + - - - + - - - + + + - - + + - - + + - - - - - + + + + - - + + + + +
    - - + + -
    - - - - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - + + + +
    diff --git a/toc.html b/toc.html new file mode 100644 index 00000000..1e9b6440 --- /dev/null +++ b/toc.html @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + +
    1. Rust Algorithm Club
    2. 💡 基礎概念
    3. 漸進符號 Asymptotic Notation
    4. 🔍 搜尋
    5. 線性搜尋 Linear search
    6. 二元搜尋 Binary search
    7. 內插搜尋 Interpolation search
    8. 指數搜尋 Exponential search
    9. 📚 排序
    10. 簡單排序
    11. 插入排序 Insertion sort
    12. 選擇排序 Selection sort
    13. 氣泡排序 Bubble sort
    14. 希爾排序 Shellsort
    15. 高效排序
    16. 堆積排序 Heapsort
    17. 快速排序 Quicksort
    18. 合併排序 Mergesort
    19. 混合排序
    20. 🚧 內省排序 Introsort
    21. 🚧 自適應合併排序 Timsort
    22. 🚧 模式消除快速排序 Pdqsort
    23. 特殊排序
    24. 計數排序 Counting sort
    25. 桶排序 Bucket sort
    26. 基數排序 Radix sort
    27. 🏠 資料結構
    28. 堆疊與佇列
    29. 堆疊 Stack
    30. 佇列 Queue
    31. 雙端佇列 Deque
    32. 鏈結串列
    33. 鏈結串列概述
    34. 單向鏈結串列 Singly linked list
    35. 🚧 雙向鏈結串列 Doubly linked list
    36. 🚧 循環鏈結串列 Circular linked list
    37. 關聯容器
    38. 關聯容器概述
    39. 雜湊表 Hash map
    40. 🚧 有序映射表 Ordered map
    41. 🚧 多重映射表 Multimap
    42. 集合 Set
    43. 布隆過濾器 Bloom filter
    44. 🧵 字串處理
    45. 漢明距離 Hamming distance
    46. 萊文斯坦距離 Levenshtein distance
    47. 🚧 最長共同子字串 Longest common substring
    48. 貢獻指南
    49. 404
    + + diff --git a/toc.js b/toc.js new file mode 100644 index 00000000..4004cdbf --- /dev/null +++ b/toc.js @@ -0,0 +1,70 @@ +// Populate the sidebar +// +// This is a script, and not included directly in the page, to control the total size of the book. +// The TOC contains an entry for each page, so if each page includes a copy of the TOC, +// the total size of the page becomes O(n**2). +class MDBookSidebarScrollbox extends HTMLElement { + constructor() { + super(); + } + connectedCallback() { + this.innerHTML = '
    1. Rust Algorithm Club
    2. 💡 基礎概念
    3. 漸進符號 Asymptotic Notation
    4. 🔍 搜尋
    5. 線性搜尋 Linear search
    6. 二元搜尋 Binary search
    7. 內插搜尋 Interpolation search
    8. 指數搜尋 Exponential search
    9. 📚 排序
    10. 簡單排序
    11. 插入排序 Insertion sort
    12. 選擇排序 Selection sort
    13. 氣泡排序 Bubble sort
    14. 希爾排序 Shellsort
    15. 高效排序
    16. 堆積排序 Heapsort
    17. 快速排序 Quicksort
    18. 合併排序 Mergesort
    19. 混合排序
    20. 🚧 內省排序 Introsort
    21. 🚧 自適應合併排序 Timsort
    22. 🚧 模式消除快速排序 Pdqsort
    23. 特殊排序
    24. 計數排序 Counting sort
    25. 桶排序 Bucket sort
    26. 基數排序 Radix sort
    27. 🏠 資料結構
    28. 堆疊與佇列
    29. 堆疊 Stack
    30. 佇列 Queue
    31. 雙端佇列 Deque
    32. 鏈結串列
    33. 鏈結串列概述
    34. 單向鏈結串列 Singly linked list
    35. 🚧 雙向鏈結串列 Doubly linked list
    36. 🚧 循環鏈結串列 Circular linked list
    37. 關聯容器
    38. 關聯容器概述
    39. 雜湊表 Hash map
    40. 🚧 有序映射表 Ordered map
    41. 🚧 多重映射表 Multimap
    42. 集合 Set
    43. 布隆過濾器 Bloom filter
    44. 🧵 字串處理
    45. 漢明距離 Hamming distance
    46. 萊文斯坦距離 Levenshtein distance
    47. 🚧 最長共同子字串 Longest common substring
    48. 貢獻指南
    49. 404
    '; + // Set the current, active page, and reveal it if it's hidden + let current_page = document.location.href.toString(); + if (current_page.endsWith("/")) { + current_page += "index.html"; + } + var links = Array.prototype.slice.call(this.querySelectorAll("a")); + var l = links.length; + for (var i = 0; i < l; ++i) { + var link = links[i]; + var href = link.getAttribute("href"); + if (href && !href.startsWith("#") && !/^(?:[a-z+]+:)?\/\//.test(href)) { + link.href = path_to_root + href; + } + // The "index" page is supposed to alias the first chapter in the book. + if (link.href === current_page || (i === 0 && path_to_root === "" && current_page.endsWith("/index.html"))) { + link.classList.add("active"); + var parent = link.parentElement; + if (parent && parent.classList.contains("chapter-item")) { + parent.classList.add("expanded"); + } + while (parent) { + if (parent.tagName === "LI" && parent.previousElementSibling) { + if (parent.previousElementSibling.classList.contains("chapter-item")) { + parent.previousElementSibling.classList.add("expanded"); + } + } + parent = parent.parentElement; + } + } + } + // Track and set sidebar scroll position + this.addEventListener('click', function(e) { + if (e.target.tagName === 'A') { + sessionStorage.setItem('sidebar-scroll', this.scrollTop); + } + }, { passive: true }); + var sidebarScrollTop = sessionStorage.getItem('sidebar-scroll'); + sessionStorage.removeItem('sidebar-scroll'); + if (sidebarScrollTop) { + // preserve sidebar scroll position when navigating via links within sidebar + this.scrollTop = sidebarScrollTop; + } else { + // scroll sidebar to current active section when navigating via "next/previous chapter" buttons + var activeSection = document.querySelector('#sidebar .active'); + if (activeSection) { + activeSection.scrollIntoView({ block: 'center' }); + } + } + // Toggle buttons + var sidebarAnchorToggles = document.querySelectorAll('#sidebar a.toggle'); + function toggleSection(ev) { + ev.currentTarget.parentElement.classList.toggle('expanded'); + } + Array.from(sidebarAnchorToggles).forEach(function (el) { + el.addEventListener('click', toggleSection); + }); + } +} +window.customElements.define("mdbook-sidebar-scrollbox", MDBookSidebarScrollbox); diff --git a/tomorrow-night.css b/tomorrow-night.css index f7197925..11752b8a 100644 --- a/tomorrow-night.css +++ b/tomorrow-night.css @@ -1,7 +1,7 @@ /* Tomorrow Night Theme */ -/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ +/* https://github.com/jmblog/color-themes-for-highlightjs */ /* Original theme - https://github.com/chriskempson/tomorrow-theme */ -/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ +/* https://github.com/jmblog/color-themes-for-highlightjs */ /* Tomorrow Comment */ .hljs-comment { @@ -11,6 +11,7 @@ /* Tomorrow Red */ .hljs-variable, .hljs-attribute, +.hljs-attr, .hljs-tag, .hljs-regexp, .ruby .hljs-constant, @@ -54,6 +55,7 @@ /* Tomorrow Aqua */ .hljs-title, +.hljs-section, .css .hljs-hexcolor { color: #8abeb7; } @@ -81,8 +83,6 @@ overflow-x: auto; background: #1d1f21; color: #c5c8c6; - padding: 0.5em; - -webkit-text-size-adjust: none; } .coffeescript .javascript,